Suppose we have a vector $(a,b)$ in $2$-space. Then the vector $(-b,a)$ is orthogonal to the one we started with. Furthermore, the function $$(a,b) \mapsto (-b,a)$$ is linear.

Suppose instead we have two vectors $x$ and $y$ in $3$-space. Then the cross product gives us a new vector $x \times y$ that's orthogonal to the first two. Furthermore, cross products are bilinear.

Question. Can we do this in higher dimensions? For example, is there a way of turning three vectors in $4$-space into a fourth vector, orthogonal to the others, in a trilinear way?

  • $\begingroup$ You might want to look at the Gram Schmitt method here :en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process $\endgroup$ – Furrane Jul 25 '17 at 10:06
  • 2
    $\begingroup$ This construction has nothing to do with cross product, just happen to coincide in dimension 3. $\endgroup$ – Miguel Jul 25 '17 at 10:54
  • 1
    $\begingroup$ A search for "generalized cross product" turns up a number of questions likely to be of interest, including Is the vector cross product only defined for 3D? and Generalized Cross Product. ;) (Not marking as a duplicate because you're better able to judge which question, if any, most nearly matches yours.) $\endgroup$ – Andrew D. Hwang Jul 25 '17 at 17:38
  • 1
    $\begingroup$ You might be interested in the notion of the orthogonal complement. It can give you the vector orthogonal to a given set of $n-1$ independent vectors in $n$-space, like you're asking for $n=4$. But it can also give you $k$ independent vectors orthogonal to a given set of $n-k$ independent vectors in $n$-space. So you can take two vectors in 4-space and find two vectors perpendicular to them and to each other. $\endgroup$ – YawarRaza7349 Jul 25 '17 at 17:39
  • 1
    $\begingroup$ en.wikipedia.org/wiki/Seven-dimensional_cross_product ​ ​ $\endgroup$ – user57159 Jul 26 '17 at 3:18

Yes. It is just like in dimension $3$: if your vectors are $(t_1,t_2,t_3,t_4)$, $(u_1,u_2,u_3,u_4)$, and $(v_1,v_2,v_3,v_4)$, compute the formal determinant:$$\begin{vmatrix}t_1&t_2&t_3&t_4\\u_1&u_2&u_3&u_4\\v_1&v_2&v_3&v_4\\e_1&e_2&e_3&e_4\end{vmatrix}.$$ You then see $(e_1,e_2,e_3,e_4)$ as the canonical basis of $\mathbb{R}^4$. Then the previous determinant is $(\alpha_1,\alpha_2,\alpha_3,\alpha_4)$ with\begin{align*}\alpha_1&=t_4u_3v_2-t_3u_4v_2-t_4u_2v_3+t_2u_4v_3+t_3u_2v_4-t_2u_3v_4\\\alpha_2&=-t_4u_3v_1+t_3u_4v_1+t_4u_1v_3-t_1u_4v_3-t_3u_1v_4+t_1u_3v_4\\\alpha_3&=t_4u_2v_1-t_2u_4v_1-t_4u_1v_2+t_1u_4v_2+t_2u_1v_4-t_1u_2v_4\\\alpha_4&=-t_3u_2v_1+t_2u_3v_1+t_3u_1v_2-t_1u_3v_2-t_2u_1v_3+t_1u_2v_3\end{align*}It's a vector orthogonal to the other three.

I followed a suggestion taken from the comments on this answer: to put the entries $e_1$, $e_2$, $e_3$, and $e_4$ at the bottom. It makes no difference in odd dimension, but it produces the natural sign in even dimension.

Following another suggestion, I would like to add this remark:$$\alpha_1=-\begin{vmatrix}t_2&t_3&t_4\\u_2&u_3&u_4\\v_2&v_3&v_4\end{vmatrix}\text{, }\alpha_2=\begin{vmatrix}t_1&t_3&t_4\\u_1&u_3&u_4\\v_1&v_3&v_4\end{vmatrix}\text{, }\alpha_3=-\begin{vmatrix}t_1&t_2&t_4\\u_1&u_2&u_4\\v_1&v_2&v_4\end{vmatrix}\text{ and }\alpha_4=\begin{vmatrix}t_1&t_2&t_3\\u_1&u_2&u_3\\v_1&v_2&v_3\\\end{vmatrix}.$$

  • 1
    $\begingroup$ Very lucid and appreciable answer.thanks $\endgroup$ – Arpit Yadav Jul 25 '17 at 10:18
  • 2
    $\begingroup$ I'm pretty sure the row of basis vectors should be on the bottom to get the right-handedness correct; only in odd dimensions can this row be moved to the top without a change in sign whilst keeping the vectors in the same order. $\endgroup$ – user332714 Jul 25 '17 at 18:06
  • $\begingroup$ (+1) This is the method I've used in a few answers. The formula is easy to remember! $\endgroup$ – robjohn Jul 25 '17 at 22:50
  • $\begingroup$ @lastresort Nice remark. I shall edit my answer taking that into account. $\endgroup$ – José Carlos Santos Jul 25 '17 at 22:54
  • 2
    $\begingroup$ Is $$\alpha_1 ={\rm det} \left| \matrix{ t_2 & t_3 & t_4 \\ u_2 & u_3 & u_4 \\ v_2 & v_3 & v_4} \right| $$ and so on? $\endgroup$ – John Alexiou Jul 26 '17 at 14:19

My answer is in addition to José's and Antinous's answers but maybe somewhat more abstract. In principle, their answers are using coordinates, whereas I'm trying to do it coordinate-free.

What you are looking for is the wedge or exterior product. The exterior power $\bigwedge^k(V)$ of some vector space $V$ is the quotient of the tensor product $\bigotimes^k(V)$ by the relation $v\otimes v$. To be somewhat more concrete and less abstract, this just means that for any vector $v\in V$ the wedge product $v\wedge v=0\in\bigwedge^2(V)$. Whenever you wedge vectors together, the result equals zero if at least two of the factors are linearly dependent. Think of what happens to the cross product in $\mathbb{R}^3$.

In fact, let $e_1,e_2,\ldots,e_n$ be a basis of an inner product space $V$. Then $e_{i_1}\wedge e_{i_2}\wedge \ldots \wedge e_{i_k}$ is a basis for $\bigwedge^k(V)$ where $1\leq i_1 < i_2 < \ldots < i_k\leq n$.

If $V=\mathbb{R}^3$ then $v \wedge w$ equals $v \times w$ up to signs of the entries. This seems a bit obscure because technically $v\wedge w$ should be an element of $\bigwedge^2(\mathbb{R}^3)$. However, the latter vector space is isomorphic to $\mathbb{R}^3$. In fact, this relation is true for all exterior powers given an orientation on the vector space. The isomorphism is called the Hodge star operator. It says that there is an isomorphism $\star\colon\bigwedge^{n-k}(V)\to\bigwedge^{k}(V)$. This map operates on a $(n-k)$-wedge $\beta$ via the relation $$ \alpha \wedge \beta = \langle \alpha,\star\beta \rangle \,\omega $$ where $\alpha\in\bigwedge^{k}(V)$, $\omega\in\bigwedge^n(V)$ is an orientation form on $V$ and $\langle \cdot,\cdot \rangle$ is the induced inner product on $\bigwedge^{k}(V)$ (see wiki). Notice that the wiki-page defines the relation the other way around.

How does all this answer your question you ask? Well, let us take $k=1$ and $V=\mathbb{R}^n$. Then the Hodge star isomorphism identifies the spaces $\bigwedge^{n-1}(\mathbb{R}^n)$ and $\bigwedge^{1}(\mathbb{R}^n)=\mathbb{R}^n$. This is good because you originally wanted to say something about orthogonality between a set of $n-1$ linearly indepedent vectors $v_1,v_2,\ldots,v_{n-1}$ and their "cross product". Now let us exactly do that and set $\beta :=v_1 \wedge v_2 \wedge \ldots \wedge v_{n-1}\in\bigwedge^{n-1}(\mathbb{R}^n)$. Then the image $\star\beta = \star(v_1 \wedge v_2 \wedge \ldots \wedge v_{n-1})$ is a regular vector in $\mathbb{R}^n$ and the defining condition above implies for $\alpha=v_i\in\mathbb{R}^n=\bigwedge^{1}(\mathbb{R}^n)$ $$ v_i \wedge (v_1 \wedge v_2 \wedge \ldots \wedge v_{n-1}) = \alpha \wedge \beta = \langle \alpha,\star\beta \rangle \,\omega = \langle v_i,\star\beta \rangle \,\omega. $$ However, the left hand side equals zero for $i=1,2,\ldots,n-1$, so that the vector $\star\beta$ is orthogonal to all vectors $v_1,v_2,\ldots,v_{n-1}$ which is what you asked for. So you might want to define the cross product of $n-1$ vectors as $v_1 \times v_2 \times \ldots \times v_{n-1} := \star(v_1 \wedge v_2 \wedge \ldots \wedge v_{n-1})$.

Maybe keep in mind that the other two answers implicitly use the Hodge star operation (and also a basis) to compute the "cross product in higher dimension" through the formal determinant which is encoded in the use of the wedge product here.

  • 2
    $\begingroup$ So concretely, how do we actually know what the hodge star of a $k$-blade is? For example, work in $4$-space with the standard orientation. Suppose we want to know $\star(v_1 \wedge v_3).$ If I understand correctly, it's either $v_2 \wedge v_4$ or else $v_4 \wedge v_2$. How do we know which one? $\endgroup$ – goblin GONE Jul 25 '17 at 13:32
  • $\begingroup$ It depends on the orientation that you choose for your vector space. Let's say $v_1,v_2,v_3,v_4$ form an oriented basis for $V$ (that is, $\omega = v_1\wedge v_2\wedge v_3\wedge v_4$) then $\star(v_1\wedge v_3)=v_4\wedge v_2$. This can be seen using the defining relation for $\alpha=v_i\wedge v_j$ cycling through all possible combinations $(i,j)$. This is what they say on the wiki-page linked above in the section "Computation of the Hodge star" albeit expressed a little bit complicated in my opinion. $\endgroup$ – Sven Pistre Jul 25 '17 at 14:25
  • $\begingroup$ Of all combinations $(i,j)$ only $(2,4)$ and $(4,2)$ remain (because otherwise the left hand side equals zero). Then you assume $\star(v_1\wedge v_3)=v_k\wedge v_l$ and think about which combinations for $(k,l)$ remain on the right hand side of the def. relation. Then you will see that the only possible one is $(k,l)=(4,2)$. To see the last part, look at the definition of the induced scalar product on $\bigwedge^2(V)$. $\endgroup$ – Sven Pistre Jul 25 '17 at 14:28
  • $\begingroup$ And also, as I forgot to mention this, $v_2\wedge v_4=-v_4\wedge v_2$. Changing the position of two vectors in a $k$-wedge just changes the sign. So really it only depends on the chosen orientation (or "right-handedness") of your vector space. $\endgroup$ – Sven Pistre Jul 25 '17 at 14:49
  • 2
    $\begingroup$ @étale-cohomology The hodge star depends on a choice of inner product and orientation. So it is not canonical. I don't think that you can identify them canonically. $\endgroup$ – Sven Pistre Jul 25 '17 at 17:42

You can work out the cross product $p$ in $n$-dimensions using the following:

$$p=\det\left(\begin{array}{lllll}e_1&x_1&y_1&\cdots&z_1\\e_2&x_2&y_2&\cdots&z_2\\\vdots&\vdots&\vdots&\ddots&\vdots\\e_n&x_n&y_n&\cdots&z_n\end{array}\right),$$ where $\det$ is the formal determinant of the matrix, the $e_i$ are the base vectors (e.g. $\hat{i},\hat{j},\hat{k}$, etc), and $x,y,\ldots,z$ are the $n-1$ vectors you wish to "cross".

You will find that $x\cdot p=y\cdot p=\cdots=z\cdot p=0$.

It's wonderful the determinant produces a vector with this property.

  • $\begingroup$ Are there any requirements on the basis vectors $e_1, ..., e_n$? Like, do they need to form an orthonormal basis, or something? $\endgroup$ – étale-cohomology Jul 25 '17 at 17:01
  • 1
    $\begingroup$ Yeah but do they have to be? Can't we take any other basis? $\endgroup$ – étale-cohomology Jul 25 '17 at 20:35
  • $\begingroup$ By changing the basis to $\widetilde e_i$ you will have to change the vector entries to the coefficients $\widetilde x_i$ in the basis expansion for the new basis. Remember that the above is only a formal determinant as this is not actually a matrix (since the first column consists of entries that are vectors themselves). So it does not matter if the basis is orthonormal or not but you will have to adjust your formal determinant formula. $\endgroup$ – Sven Pistre Jul 25 '17 at 21:48
  • $\begingroup$ (+1) This is the logical extension of José Carlos Santos' answer to $\mathbb{R}^n$ (at first, this is what I thought he had given, but now I see his only covers $\mathbb{R}^4$). $\endgroup$ – robjohn Jul 25 '17 at 22:53
  • $\begingroup$ @robjohn I actually posted my answer 2 minutes before he did :-) $\endgroup$ – Pixel Jul 25 '17 at 23:00

Yes, and apart from other answers an interesting approach to think about it is using Clifford's algebra.

This can introduce you the basic concept in a nonrigorous but approachable manner.


  • 3
    $\begingroup$ Thank you for your answer, however that article is extremely long and it's difficult to find a Clifford-style answer to my question by reading through it. Can I ask you to write up some details on how to compute an actual cross product using Clifford approach's? $\endgroup$ – goblin GONE Jul 26 '17 at 8:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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