[Math] How to calculate one of the vectors that generate a given cross-product

analytic geometrycross productlinear algebravectors

Given the vector: $$\vec b=(-0.361728, 0.116631, 0.924960)$$ and it's cross-product: $$\vec a \times \vec b=(-0.877913, 0.291252, -0.380054)$$ How do I calculate $\vec a$ ?

It's been a while since I've studied analytic geometry, so my interpretation of the problem can be completely wrong.

What I did:
$$\vec a \times \vec b= \begin{vmatrix}
\vec i & \vec j & \vec k \\
a_1 & a_2 & a_3 \\
b_1 & b_2 & b_3 \\
\end{vmatrix}$$
$$\vec a \times \vec b= \begin{vmatrix}
\vec i & \vec j & \vec k \\
a_1 & a_2 & a_3 \\
-0.361728 & 0.116631 & 0.924960 \\
\end{vmatrix}$$
$$\begin{vmatrix}
\vec i & \vec j & \vec k \\
a_1 & a_2 & a_3 \\
-0.361728 & 0.116631 & 0.924960 \\
\end{vmatrix}=-0.877913\vec i + 0.291252\vec j -0.380054\vec k$$
Using the Rule of Sarrus:
$$(0.924960a_2-0,116631a_3)\vec i+(-0.361728a_3 -0.924960a_1)\vec j+(0.116631a_1 +0.361728a_2)\vec k=-0.877913\vec i + 0.291252\vec j -0.380054\vec k$$
$$
\left\{
\begin{array}{c}
(0.924960a_2-0,116631a_3)\vec i=-0.877913\vec i \\
(-0.361728a_3 -0.924960a_1)\vec j=0.291252\vec j \\
(0.116631a_1 +0.361728a_2)\vec k=-0.380054\vec k
\end{array}
\right.
$$
Using the matrix solution to solve the system of linear equations:
$$
A=\begin{bmatrix}
0 & 0.924960 & -0.116631 \\
-0.924960 & 0 & -0.361728 \\
0.116631 & 0.361728 & 0 \\
\end{bmatrix}, x=
\begin{bmatrix}
a_1 \\
a_2 \\
a_3 \\
\end{bmatrix}, b=\begin{bmatrix}
-0.877913 \\
0.291252 \\
-0.380054 \\
\end{bmatrix}
$$
$$
x = A^{-1}b
$$
$|A|=0$ so $A^{-1}= \not \exists$ and the system has no solution.

But…
I KNOW this system has a solution and it is:
$$
\vec a=(-0.313722, -0.949510, -0.002962)
$$
So, what am I doing wrong?

Best Answer

It's not true that the system can't have a solution if $A$ is not invertible. For example, to pick a silly example, $$ \begin{bmatrix}1 & 0 \\ 0 & 0 \end{bmatrix} x = \begin{bmatrix}1\\0\end{bmatrix} $$ has solutions $x=(1,t)$ for every $t$. What a zero determinant means just that the solution, if it exists, will not be unique.


However, instead of doing all that generic linear algebra solving, here's what I would do, using known properties of the cross product:

First check that your values for $b$ and $a\times b$ are orthogonal -- otherwise your givens are not consistent.

Second, there will be an infinity of solutions for $a$, differing by multiples of $b$ (since $(a+tb)\times b = (a\times b)+t(b\times b)= a\times b$. Let's arbitrarily choose to find the one of the solutions that is orthogonal to $b$. This particular solution will be some multiple of $b\times(a\times b)$, so what you need to find is the $u$ such that $$ u(b\times (a\times b)) \times b = a\times b $$ It should be enough to make this hold for one of the three coordinates, so just choose the numerically largest component of $a\times b$ and divide it with the corresponding component of $b\times (a\times b)$, giving $u$.

Then afterwards you can add an arbitrary multiple of $b$ as you see fit.

Related Question