# Solving equation set with vectors

I have six unit vectors in real $$3$$D space

v1,v2,v3,v4,v5,v6;


Represent the dot product between some of the vectors as the Cos of the angle between them

v1.v2=Cos[Subscript[\[Theta], 1, 2]];
v1.v3=Cos[Subscript[\[Theta], 1, 3]];
v3.v2=Cos[Subscript[\[Theta], 3, 2]];
v1.v4=Cos[Subscript[\[Theta], 1, 4]];
v2.v5=Cos[Subscript[\[Theta], 2, 5]];
v3.v6=Cos[Subscript[\[Theta], 3, 6]];


We also know the exact values of the following dot products;

v4.v5= -1/3;
v4.v6= -1/3;
v6.v5= -1/3;


Since we had six vectors there should be in total $$^6C_2=15$$ angles between them. Whereas we have only defined $$9$$ of them. I need to represent the remaining $$6$$ angles in terms of the \[Theta] parameters defined above.

One way to approach would be to represent the first three in terms of the last three,

v1= a v4 + b v5 + c v6;
v2= d v4 + e v5 + f v6;
v3= g v4 + h v5 + i v6;


Taking the dot product of these three vectors with every other vector would give us a system of equations which can be used to solve the remaining angles. But how do I do it?

EDIT After applying the substitution for the first three vectors mentioned above, we have the following set of equations,

a-b/3-c/3=t14;
-d/3+e-f/3=t25;
-g/3-h/3+i=t36;
a*d+b*e+c*f-a*e/3-a*f/3-b*d/3-b*f/3-c*d/3-c*e/3=t12;
a*g+b*h+c*i-a*h/3-a*i/3-b*g/3-b*i/3-c*g/3-c*h/3=t13;
g*d+h*e+i*f-g*e/3-g*f/3-h*d/3-h*f/3-i*d/3-i*e/3=t32;
a^2+b^2+c^2-2/3(a*b+a*c+b*c)=1;
d^2+e^2+f^2-2/3(d*e+d*f+e*f)=1;
g^2+h^2+i^2-2/3(g*h+g*i+h*i)=1;


Given these constraints, I need to represent the following quantitites,

-a/3+b-c/3;
-a/3-b/3+c;
d-e/3-f/3;
-d/3-e/3+f;
g-h/3-i/3;
-g/3+h-i/3;


How do I solve for linear combination for variables in mathematica?

• Hmmm same for me too. But I dont understand why solve returns no solutions. Any set of unit vectors would be a solution. Commented Mar 25, 2022 at 20:27
• Look at my edit Commented Mar 26, 2022 at 7:07

Edit

If we set v4=={1,0,0}, and only consider v4,v5,v6,then

Clear["Global*"];
v1 = {v1x, v1y, v1z};
v2 = {v2x, v2y, v2z};
v3 = {v3x, v3y, v3z};
v4 = {v4x, v4y, v4z};
v5 = {v5x, v5y, v5z};
v6 = {v6x, v6y, v6z};
sol=FindInstance[{v4 == {1, 0, 0}, v4 . v4 == 1, v5 . v5 == 1,
v6 . v6 == 1, v4 . v5 == -1/3, v4 . v6 == -1/3, v5 . v6 == -1/3},
Flatten[{v4, v5, v6}], Reals]
Graphics3D[{Arrow[{{0, 0, 0}, v4}], Arrow[{{0, 0, 0}, v5}],
Arrow[{{0, 0, 0}, v6}], Opacity[.2], Sphere[]} /. sol]


The equations seems too difficult to Solve or Reduce. Here we can find one solution.(still take long time).

v1 = {v1x, v1y, v1z};
v2 = {v2x, v2y, v2z};
v3 = {v3x, v3y, v3z};
v4 = {v4x, v4y, v4z};
v5 = {v5x, v5y, v5z};
v6 = {v6x, v6y, v6z};
eqns = {v1 . v1 == 1, v2 . v2 == 1, v3 . v3 == 1, v4 . v4 == 1,
v5 . v5 == 1, v6 . v6 == 1, v4 . v5 == -1/3, v4 . v6 == -1/3,
v5 . v6 == -1/3};
sol = FindInstance[eqns,
Flatten[{v1, v2, v3, v4, v5, v6}], Reals]
eqns /. sol


{{v1x -> -(10/Sqrt[521]), v1y -> -(15/Sqrt[521]), v1z -> -(14/Sqrt[521]), v2x -> -(10/Sqrt[521]), v2y -> -(15/Sqrt[521]), v2z -> -(14/Sqrt[521]), v3x -> -(10/Sqrt[521]), v3y -> -(15/Sqrt[521]), v3z -> -(14/Sqrt[521]), v4x -> Sqrt[2/3], v4y -> 0, v4z -> 1/Sqrt[3], v5x -> 0, v5y -> Sqrt[2/3], v5z -> -(1/Sqrt[3]), v6x -> 0, v6y -> -Sqrt[(2/3)], v6z -> -(1/Sqrt[3])}}

• I wish I could give you a second (+1) now that I saw the update. In the edit you might want to do sol=FindInstance[etc] :-)
– bmf
Commented Mar 26, 2022 at 1:15
• And an added comment. The form that you obtained for v5 is pretty much the expected intuition. So, if you use v4 == {1, 0, 0}, v5 == {-(1/3), 0, (2 Sqrt[2])/3} and all the other equations both Solve and Reduce work
– bmf
Commented Mar 26, 2022 at 1:20
• @bmf Thanks,I missing sol= Commented Mar 26, 2022 at 1:42
• To explain a bit better what I tried to say. This Reduce[{v4 == {1, 0, 0}, v5 == {-(1/3), 0, (2 Sqrt[2])/3}, v1 . v1 == 1, v2 . v2 == 1, v3 . v3 == 1, v6 . v6 == 1, v4 . v5 == -1/3, v4 . v6 == -1/3, v5 . v6 == -1/3}, Flatten[{v1, v2, v3, v6}], Reals] // LogicalExpand; gives back 128 solutions and sol2 = Reduce[{v4 == {1, 0, 0}, v5 == {-(1/3), 0, (2 Sqrt[2])/3}, v6 == {-(1/3), -Sqrt[2/3], -(Sqrt[2]/3)}, v1 . v1 == 1, v2 . v2 == 1, v3 . v3 == 1, v4 . v5 == -1/3, v4 . v6 == -1/3, v5 . v6 == -1/3}, Flatten[{v1, v2, v3}], Reals] // LogicalExpand; gives 64
– bmf
Commented Mar 26, 2022 at 1:58
• Finding the solutions for v1,v2,v3 is not an issue. As per my understanding, any unit vector will satisfy the given constraints. What I need to find is the value of v1.v5 and other similiar quantitites. How do I solve for v1.v5` by considering it as a variable? Commented Mar 26, 2022 at 5:34