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?

  • 1
    $\begingroup$ You might want to look at the Gram Schmitt method here :en.wikipedia.org/wiki/Gram%E2%80%93Schmidt_process $\endgroup$
    – Furrane
    Commented Jul 25, 2017 at 10:06
  • 3
    $\begingroup$ This construction has nothing to do with cross product, just happen to coincide in dimension 3. $\endgroup$
    – Miguel
    Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 at 17:39
  • 1
    $\begingroup$ en.wikipedia.org/wiki/Seven-dimensional_cross_product ​ ​ $\endgroup$
    – user57159
    Commented Jul 26, 2017 at 3:18

4 Answers 4


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$ Commented Jul 25, 2017 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
    Commented Jul 25, 2017 at 18:06
  • 1
    $\begingroup$ (+1) This is the method I've used in a few answers. The formula is easy to remember! $\endgroup$
    – robjohn
    Commented Jul 25, 2017 at 22:50
  • $\begingroup$ @lastresort Nice remark. I shall edit my answer taking that into account. $\endgroup$ Commented Jul 25, 2017 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$ Commented Jul 26, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 at 17:01
  • 1
    $\begingroup$ Yeah but do they have to be? Can't we take any other basis? $\endgroup$ Commented Jul 25, 2017 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$ Commented Jul 25, 2017 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
    Commented Jul 25, 2017 at 22:53
  • $\begingroup$ @robjohn I actually posted my answer 2 minutes before he did :-) $\endgroup$
    – pshmath0
    Commented Jul 25, 2017 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$ Commented Jul 26, 2017 at 8:36

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .