1
$\begingroup$

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?

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

1 Answer 1

3
$\begingroup$

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]

enter image description here

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])}}

$\endgroup$
9
  • $\begingroup$ 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] :-) $\endgroup$
    – bmf
    Commented Mar 26, 2022 at 1:15
  • $\begingroup$ 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 $\endgroup$
    – bmf
    Commented Mar 26, 2022 at 1:20
  • 1
    $\begingroup$ @bmf Thanks,I missing sol= $\endgroup$
    – cvgmt
    Commented Mar 26, 2022 at 1:42
  • $\begingroup$ 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 $\endgroup$
    – bmf
    Commented Mar 26, 2022 at 1:58
  • $\begingroup$ 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? $\endgroup$
    – Dotman
    Commented Mar 26, 2022 at 5:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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