I'm considering a case where I have an equation of the form $\mathbf{x}\times\mathbf{b}+\mathbf{c}=0$; I wish to solve for $\mathbf{x}$ given that $\mathbf{b}\perp \mathbf{c}$. It was in the context of studying guiding center drifts in plasmas.

An easy way to do this is to set up a coordinate system with $\mathbf{b}=b\hat{\mathbf{z}}$ and $\mathbf{c}=c\hat{\mathbf{y}}$. Then you can get three simultaneous equations to uniquely specify the individual components of $\mathbf{x}$. There's no loss of generality because we're given that $\mathbf{b}$ and $\mathbf{c}$ are orthogonal.

But this should be possible with Einstein notation without assuming a coordinate system, because the previously stated assumptions about the directions of $\mathbf{b}$ and $\mathbf{c}$ don't add any new information: they just serve as a way to express the orthogonality constraint. I tried this out; I got stuck when I reached this step: $$\epsilon_{ijk}x_jb_k=-c_i.$$ Ordinarily, I'd try to divide by $b_k$, because this is an equation with just scalars, but that doesn't work because we're taking a summation over the dummy index $k$. My next idea was to take a dot product of both sides and exploit orthogonality. I'd multiply both sides by $c_k$ or $b_i$, but I don't see how that would help (and multiplying by $c_k$ would be nonsensical on the RHS).

I think my problem can be generalized to this: "What do you do when you are trying to solve a series of equations in Einstein notation for a vector that is involved in a cross product?"

As a clarification in response to an answer posted, it seems I glossed over a component of the argument made through the method that assumes a cartesian coordinate system: we neglect the component of $x$ along $\mathbf{b}$ (which is trivial) and focus on the magnitude of $\mathbf{x}$ that is orthogonal to both $\mathbf{b}$ and $\mathbf{c}$. This is the value that I'm interested in computing through Einstein notation.

But I think the real conceptual question is about the approach to use when you're solving for the components of a vector that appears through a dummy summation index. In ordinary vector notation, I'd separate the equation into individual components. That doesn't scale well to higher dimensional vector spaces, and even in 3 dimensions, it doesn't work out in Einstein notation. What do we do?

  • 1
    $\begingroup$ $\epsilon_{ijk}b_k$ is the ${}_{ij}$ entry of a singular matrix. If $b\ne0$, the general solution in your coordinate system is $cb^{-1}\hat{x}+k\hat{z}$. $\endgroup$
    – J.G.
    Commented Feb 6, 2022 at 7:53

3 Answers 3


You painted yourself into an impossible notational corner, by using a terrible and misleading name for your unknown! Call, it, instead, v, so $$\mathbf{v}\times\mathbf{b}+\mathbf{c}=0 ; \qquad \epsilon_{ijk}v_jb_k=-c_i.$$ It is then evident, with your choice of coordinate system, that your unknown vector $$ \mathbf{v}= \mu\mathbf{x}+\rho\mathbf{y} + \lambda \mathbf{z}, $$ plugs into your equation to yield $$ 0= \rho b\mathbf{x}+(c-\mu b) \mathbf{y} ,\implies \rho=0, ~~ \mu=c/b. $$ $\lambda$ is arbitrary, since it was projected out.

The comment by @J.G. already has your answer, which I rewrite in abstract index notation, $$ v_i=\mu \epsilon_{ijk}\frac{c_jb_k}{bc}+\rho c_i/c +\lambda b_i/b ~, $$ as you have effectively defined an orthonormal basis.

Plugging into your equation, you have, by inspection, (4), $$ 0=\left (1-\frac{\mu b}{c}\right )c_i + \epsilon_{ijk} \frac{\rho}{c} c_j b_k. $$ But this is a vanishing combination of two orthogonal vectors, so their coefficients must vanish, hence $\rho=0$ and $\mu = c/b$.


If $\mathbf{\vec X}$ satisfies $\mathbf{\vec X}\times\mathbf{\vec b}+\mathbf{\vec c}=\vec 0$, then so does $(\mathbf{\vec X}+\lambda \mathbf{\vec b})$.

So, the solution is not unique.


Given $\mathbf{\vec V}\times\mathbf{\vec b}+\mathbf{\vec c}=\vec 0$, which I will write as $$-\mathbf{\vec c}=\mathbf{\vec V}\times\mathbf{\vec b}$$ $$-c_i =\epsilon_{ijk}V_j b_k ,$$ consider this operation "$\vec b \times \square$ "
and apply the BAC-CAB rule $\vec A\times(\vec B\times \vec C)= \vec B(\vec A\cdot \vec C)- \vec C(\vec A\cdot \vec B)$.

I'll leave a “trail of breadcrumbs”: $$\begin{align} \epsilon_{lmi} b_m \left[-c_i \right] &= \epsilon_{lmi} b_m \left[ \epsilon_{ijk}V_j b_k \right] \\ "\vec b\times (-\vec c)" &=(-1)^2\epsilon_{ilm} b_m \left[ \epsilon_{ijk}V_j b_k \right] \\ &= (-1)^2\epsilon_{ilm} \epsilon_{ijk}V_j b_k b_m \\ &= (-1)^2\left[ \delta_{lj}\delta_{mk}- \delta_{lk}\delta_{jm}\right] V_j b_k b_m \\ &= (-1)^2\left[ V_l b_m b_m - V_m b_l b_m \right] \\ &=" \vec V (b^2) - \vec b(\vec V\cdot \vec b) "\\ &=" b^2 \left( \vec V - \hat b(\vec V\cdot \hat b) \right) "\\ \end{align} $$

So, $$ \vec V_{\bot \vec b}\equiv \left(\vec V - \hat b(\vec V\cdot \hat b)\right)= \frac{\vec b\times(-\vec c)}{b^2},$$ which I think agrees with the result from @CosmasZachos .


your equation is

$$\vec x\times\vec b+\vec c=0\quad \text{or}\\ -\vec b\times \vec x=-\vec c$$

with the components of vector b

$$ -\underbrace{\left[ \begin {array}{ccc} 0&-b_{{z}}&b_{{y}}\\ b_{ {z}}&0&-b_{{x}}\\ -b_{{y}}&b_{{x}}&0\end {array} \right]}_{\mathbf B} \vec x=-\vec c$$

to solve this equation for $\vec x$ the determinate of the matrix $~\mathbf B~$ must be unequal zero, which is not ($\det(\mathbf B)=0~$) , thus you can't obtain the solution for $~\vec x$

  • 2
    $\begingroup$ +1: However, det(B)=0 means that we cannot invert the matrix and hence there is no unique solution. This does not mean it does not have solutions, it still can, but they will be non-unique. $\endgroup$ Commented Feb 6, 2022 at 17:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.