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

4.2k Views Asked by At

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?

2

There are 2 best solutions below

1
On 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.

0
On

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.