2
$\begingroup$

I am getting false for an equality that I know it is true(I proved it by hand and I used sagemath to see that it is true) however when using Mathematica it is giving false although I used TrueQ with Simplify. The equality that I want to check is the following: xi and H are vectors having 3 components

B = Cross[xi, H]
b = B.B, 
TrueQ[(H.xi)^2*(xi.xi) == (H.H)*(xi.xi)^2 - b*(xi.xi)//Simplify]

And the answer is False!

$\endgroup$
2
  • $\begingroup$ Your code maybe B = Cross[xi, H]; b = B . B; TrueQ[(H . xi)^2*(xi . xi) == (H . H)*(xi . xi)^2 - b*(xi . xi) // Simplify] $\endgroup$
    – cvgmt
    Jul 18 at 10:10
  • 7
    $\begingroup$ The TrueQ command is not an appropriate command to this end. The documentation clear says " TrueQ will return True only if the input is explicitly True" For example, TrueQ[(a + b)^2 == a^2 + 2*a*b + b^2] returns False. $\endgroup$
    – user64494
    Jul 18 at 10:18
4
$\begingroup$

An alternative answer using components for the vectors:

xi = {x1, x2, x3};
H = {H1, H2, H3};
B = Cross[xi, H]; b = B.B;
(H.xi)^2*(xi.xi) - ((H.H) (xi.xi)^2 - b (xi.xi)) // FullSimplify

returns

0

hence the identity is true. In principle the vectors could also be complex as the components are unspecified.

$\endgroup$
0
3
$\begingroup$
$Assumptions = 
 xi ∈ Vectors[3, Reals] && H ∈ Vectors[3, Reals]
B = Cross[xi, H];
 b = B . B;
(H . xi)^2*(xi . xi) == (H . H) (xi . xi)^2 - 
   b (xi . xi) // TensorReduce

True

$\endgroup$
1
  • $\begingroup$ +1 You can also do this with complex components as well as with symbolic dimensions, $Assumptions = xi \[Element] Vectors[dim] && H \[Element] Vectors[dim]; $\endgroup$
    – Bob Hanlon
    Jul 18 at 10:55

Not the answer you're looking for? Browse other questions tagged or ask your own question.