Let $ a_1, a_2, \epsilon_1,\epsilon_2 \in \mathbb{R}^3 $ be known vectors. It is known that $a_1, a_2 $ are linearly independent. Given following identies, $$ a_1 \times b = \epsilon_1 $$ $$ a_2 \times b = \epsilon_2 $$
I want to calculate the unknown vector $ b \in \mathbb{R}^3 $.
Ans (so far) I know that I can get following equalities.
$$ b = \epsilon_1 \times a_1 + (b\cdot a_1) a_1 $$ $$ b = \epsilon_2 \times a_2 + (b\cdot a_2) a_2 $$
How do I get a solution for $ b $ ?
Since $a_1×b=\epsilon_1$, $b$ is orthogonal to $\epsilon_1$, and likewise to $\epsilon_2$. Thus, the cross product $\epsilon_1×\epsilon_2$ produces a vector $c$ collinear with $b$. Let $\theta=\cos^{-1}\frac{a_1\cdot c}{|a_1||c|}$ be the angle between $a_1$ and $c$ and $k=\frac{|\epsilon_1|}{|a_1||c|\sin\theta}$. Then $b=\pm kc$, the sign being easily checkable by performing the original cross product equations involving $b$.
To avoid trigonometric functions the following alternate form can be used for $k$: $$k=\sqrt{\frac{\epsilon_1\cdot\epsilon_1}{(a_1\cdot a_1)(c\cdot c)-(a_1\cdot c)^2}}$$ The square root is always well-defined by the Cauchy–Schwarz inequality.