This is the first time I use Mathematica, and I wonder how to use Solve
and Reduce
. The following code is taken from a geometric problem; if you are interested in the setup, see below.
My problem is that the following code
a1 := 180 Degree - a;
x0 := {0, 0, 0};
d1 := {1, 0, 0};
x1 := x0 + d1;
d2 := {Cos[a1], Sin[a1], 0};
x2 := x1 + d2;
d3 := RotationMatrix[b,d2] . RotationMatrix[a1, Cross[d1, d2]] . d2
x3 := x2 + d3;
d4 := RotationMatrix[b,d3] . RotationMatrix[a1, Cross[d2, d3]] . d3
x4 := x3 + d4;
a := 90 Degree;
Reduce[x0==x4, b, Reals]
evaluates to False
; however, if I run
b := 0;
x0 == x4;
I obtain True
as expected.
Question: Why does Reduce
evaluate to False
although a solution b=0
exists?
Geometric meaning: consider 4 straight lines of length 1 in R^3 with an angle a
at each vertex. Denote by b
the angle enclosed by the two planes described by any edge and its two adjacent edges. For which choice of b
can we close the loop?