# What's the opposite of a cross product?

For example, $a \times b = c$

If you only know $a$ and $c$, what method can you use to find $b$?

As Fabian wrote, $b$ is not uniquely determined by $a$ and $c$. Moreover, there is no solution unless $a$ and $c$ are orthogonal. If $a$ and $c$ are orthogonal, then the solutions are $(c \times a)/(a\, . a) + t a$ for arbitrary scalars $t$.

The name "product" for the cross product is unfortunate. It really should not be thought of as a product in the ordinary sense; for example, it is not even associative. Thus one should not expect it to have properties analogous to the properties of ordinary multiplication.

What the cross product really is is a Lie bracket.

Alright, let's look for an inverse here:

The cross product is restricted to $\mathbb{R}^3$ (assuming reals--but that isn't really a constraint here, I don't think). So we have:

$$\langle x_1, y_1, z_1\rangle\times\langle x_2, y_2, z_2\rangle = \langle y_1z_2 - z_1y_2, z_1x_2 - x_1z_2, x_1y_2 - y_1x_2\rangle$$

Then we have:

\begin{align} \langle x_3, y_3, z_3\rangle\times\left(\langle x_1, y_1, z_1\rangle\times\langle x_2, y_2, z_2\rangle\right) = & \langle y_3(x_1y_2 - y_1x_2) - z_3(z_1x_2 - x_1z_2),\\ &z_3(y_1z_2 - z_1y_2) - x_3(x_1y_2 - y_1x_2),\\ & x_3(z_1x_2 - x_1z_2) - y_3(y_1z_2 - z_1y_2)\rangle \end{align}

Now this looks very complicated (and it is--if you need to solve it "as is"). Instead we can imagine that we already know $\vec{n}' = \vec{v}_1\times\vec{v_2}$. Then this becomes:

\begin{align} \langle x_3, y_3, z_3\rangle\times\vec{n}' = & \langle y_3n'_z - z_3n'_y, z_3n'_x - x_3n'_z, x_3n'_y - y_3n'_x\rangle \end{align}

Now we are trying to find $\langle x_3, y_3, z_3\rangle$ which is the inverse. So we set this equal to the second argument of the original cross product, we have a set of linear equations for three unknowns ($x_3, y_3, z_3$):

$$x_2 = y_3n'_z - z_3n'_y \\ y_2 = z_3n'_x - x_3n'_z \\ z_2 = x_3n'_y - y_3n'_x$$

The matrix gives:

$$\begin{pmatrix} 0 & n_z' & -n_y' \\ -n_z' & 0 &n_x' \\ n_y' & -n_x' & 0 \end{pmatrix} \times \begin{pmatrix}x_3 \\ y_3 \\ z_3\end{pmatrix} = \begin{pmatrix}x_2 \\ y_2 \\ z_2\end{pmatrix}$$

There is no solution when the determinate of this matrix is zero--which is always the case: $n_z'x_x'n_y'- n_y'n_z'n_x' = 0$. This means that unless $\langle x_2, y_2, z_2\rangle$ is $\vec{0}$ there is no solution (since a matrix that has a determinant equal to zero only has a solution when the RHS is zero--in which case it has infinite solutions).

By the definition of AxB=C, the angle (A,C)=(B,C)=90 degrees. Assume that A and C are known. We know that B lies in the plane with normal vector C, which A also lies in. Now, due to this, and the fact that A,B and C is a right hand system; the conditions for B to satisfy AxB=C is: 1. The length of B, and the positive angle Y between A and B satisfy |B|*sin(Y)=|C|/|A|. 2. The angle Y is positive, and between 0 and Pi (radians). The condition for Y comes from how we define a right hand system. Thus, there are infinitely many solutions if nothing else is specified.

If however |b| is known, then there will be only two possibilities for Y: Y_1 and Y_2, where sin(Y_1)=sin(Y_2)=|c|/(|a|*|b|), and Y_2=Pi - Y_1. This comes from the fact that sin(v)=sin(Pi-v) for any v.

One can reason the same way to solve for A if only B and C are known.