# How to calculate one of the vectors that generate a given cross-product?

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?

• Thinking physically, given a lever, you can adjust the magnitude and direction of the force and still achieve the same moment. The solution is not unique. – JP McCarthy Jan 22 '16 at 14:06

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.

• Thank you for the answer! When I calculated $\vec b \times (\vec a \times \vec b)$ I got the values of $\vec a$ that I was looking for. So I guess, in this case, $u=1$ and the fit multiple of $\vec b$ would be $1$ as well,but I wasn't able to retrieve $u=1$ using the method you described, perhaps I didn't fully comprehend it. Could you please show me how to do it using the case I presented above? – Hugo Cavalini Agudelo Jan 22 '16 at 15:29

The fundamental problem is that there are an infinite number of solutions.

Using your simultaneous equation approach gives the misleading impression that we have three equations in three unknowns. This is not quite the case as the system is not fully determined.

The definition of the cross product tells us that :

$$\vec{c}=\vec{a}\times\vec{b}=\vec{n}\,|\vec{a}|\,|\vec{b}|sin\theta$$

Where $\vec{n}$ is the unit normal perpendicular to $\vec{a}$ and $\vec{b}$ constructed using the right hand rule and $\theta$ is the angle between $\vec{a}$ and $\vec{b}$.

All we can actually do in reverse is get :

$$|\vec{a}|sin\theta=\frac{|\vec{c}|}{|\vec{b}|}$$

But without knowing either $|\vec{a}|$ or $sin\theta$ we cannot find both values from just $\vec{b}$ and the cross product.

So of course the value of $\vec{a}$ you know is a valid solution, but there are an infinite number of these valid solutions.

Another way of thinking about this is to construct a vector $v$ such that :

$$\vec{v}:=\lambda \vec{a} + \mu \vec{b}$$

for some arbitrary scalars $\lambda$ and $\mu$.

Now consider $\vec{v}\times\vec{b}$ :

$$\vec{v}\times\vec{b}=\lambda(\vec{a}\times\vec{b})+\mu(\vec{b}\times\vec{b})$$

But $\vec{b}\times\vec{b}=0$ so :

$$\vec{v}\times\vec{b}=\lambda(\vec{a}\times\vec{b})$$

But this means that there are an infinite number of possible vectors $\vec{v}$ with arbitrary values of $\mu$ which give the same cross product with $\vec{b}$. And as we have no information on $\mu$ we cannot determine it.

So the cross product is not reversible uniquely.