Wikipedia introduces the vector product for two vectors $\vec a$ and $\vec b$ as $$ \vec a \times\vec b=(\| \vec a\| \|\vec b\|\sin\Theta)\vec n $$ It then mentions that $\vec n$ is the vector normal to the plane made by $\vec a$ and $\vec b$, implying that $\vec a$ and $\vec b$ are 3D vectors. Wikipedia mentions something about a 7D cross product, but I'm not going to pretend I understand that.

My idea, which remains unconfirmed with any source, is that a cross product can be thought of a vector which is orthogonal to all vectors which you are crossing. If, and that's a big IF, this is right over all dimensions, we know that for a set of $n-1$ $n$-dimensional vectors, there exists a vector which is orthogonal to all of them. The magnitude would have something to do with the area/volume/hypervolume/etc. made by the vectors we are crossing.

Am I right to guess that this multidimensional aspect of cross vectors exists or is that last part utter rubbish?

Khaled Oqab
  • 101
  • 5
  • 1,791
  • 1
  • 14
  • 21
  • 6
    If you put your $n-1$ vectors as rows in a matrix, fill in with a random row $n$ to get a square matrix, then take the adjoint matrix, then column $n$ of the adjoint is what you are asking about. This follows from $$ A \cdot \; \mbox{adj} \; A = \det A \cdot I $$ where the value of $\det A$ is not relevant here. – Will Jagy Aug 23 '12 at 19:28
  • Yeah! The matrix determinant is something that I found was useful for calculating higher-dimensional cross products when I was fooling around on MMA. But I used a (-1)^n term, because there was an alternating negative sign that came out sometimes. Is that $I$? – VF1 Aug 23 '12 at 19:30
  • $I$ refers to the (square) identity matrix. Is MMA Mixed Martial Arts? – Will Jagy Aug 23 '12 at 19:43
  • 2
    I think MAMA is a more amusing acronym for Mathematica than MMA! – rschwieb Aug 23 '12 at 20:16
  • I feel like this question has been asked several times before, but I can't really back up my feeling with posts. – rschwieb Aug 23 '12 at 20:19
  • @rschwieb, yes, it has, so have a number of questions that caught my eye at some point. If I have answered the same thing several times before I just leave comments, it is too much work to locate the repeats. – Will Jagy Aug 23 '12 at 22:30
  • @Will Jagy Sorry about that if there were repeats. Perhaps I didn't search well enough before questioning. – VF1 Aug 23 '12 at 23:05
  • @rschwieb WRI guys, or at least the ones that I talked to, use the MMA abbreviation. However, I think I'll be using yours as much as possible from now on. – VF1 Aug 23 '12 at 23:12
  • @VF1 Yeah, my classmate who worked for them said "MMA" irritated Wolfram himself, so I recommended (my friend) to promote MAMA instead. – rschwieb Aug 23 '12 at 23:15
  • 1
    @rschwieb, since you brought up *Mathematica*, the docs say some of the things in Eric's fine answer: "`Cross[v1, v2, …]` gives the dual (Hodge star) of the wedge product of the $v_i$, viewed as one-forms in $n$ dimensions." – J. M. ain't a mathematician Aug 24 '12 at 01:16

7 Answers7


Yes, you are correct. You can generalize the cross product to $n$ dimensions by saying it is an operation which takes in $n-1$ vectors and produces a vector that is perpendicular to each one. This can be easily defined using the exterior algebra and Hodge star operator http://en.wikipedia.org/wiki/Hodge_dual: the cross product of $v_1,\ldots,v_{n-1}$ is then just $*(v_1 \wedge v_2 \cdots \wedge v_{n-1}$).

Then the magnitude of the cross product of n-1 vectors is the volume of the higher-dimensional parallelogram that they determine. Specifying the magnitude and being orthogonal to each of the vectors narrows the possiblity to two choices-- an orientation picks out one of these.

Eric O. Korman
  • 18,051
  • 3
  • 52
  • 82
  • 8
    One caution with this construction: as Eric somewhat notes in passing (and as is also true in three dimensions), what you get here isn't strictly a vector in many senses of the word, but a _covector_. In particular, the cross-product construction isn't invariant under arbitrary linear transformations; instead, it transforms by the adjoint transform of whatever linear transformation is applied to its inputs. (This is an old issue in computer graphics, where normal 'vectors' to surfaces don't transform with the points on the surface.) – Steven Stadnicki Aug 23 '12 at 20:52
  • 9
    @Steven: Eric's defining his operation in terms of the Hodge star, which gives a genuine vector (but requires a choice of inner product and then a choice of orientation). – Qiaochu Yuan Aug 23 '12 at 22:02
  • 1
    Thanks for the reply. That was what I was looking for. I was only familiar with the wedge product through Stroke's Theorem, and I have yet to find out what the "exterior algebra" is. That's why I couldn't make the connection on my own. – VF1 Aug 23 '12 at 23:09
  • 1
    @QiaochuYuan: this "choice of inner product"- is it the higher dimensional analogue of what we call "handedness" in three dimensions? – Arkya Aug 20 '16 at 10:38
  • 7
    @Arkya: no, it's the higher dimensional analogue of knowing what the lengths of vectors is. The choice of orientation is the higher dimensional analogue of handedness. – Qiaochu Yuan Aug 22 '16 at 22:33

The answer to this problem is sadly not very well-known, since it depends on what you really want as "cross product".

1st solution. r-ary operation in any dimension with certain axiomns. Suppose an r-ary operation on certain d-dimensional space V. Then, a r-fold d-dimensional "cross product" multilinear operation exists:

$$ (C_1\times C_2\times \ldots\times C_r): V^{dr}=\underbrace{V^d\times \cdots \times V^d}_{r}\longrightarrow V^d$$

such as $$\forall i=1,2,...,r$$ we have that

$$ (C_1\times C_2\times \ldots\times C_r)\cdot C_i=0$$

$$ (C_1\times C_2\times \ldots\times C_r)\cdot (C_1\times C_2\times \ldots\times C_r)=\det (C_i\cdot C_j)$$

Eckmann (1943) and Whitehead (1963) solved this problem in the continuous case over real euclidean spaces, while Brown and Gray (1967) solved the multilinear case. Moreover, the solution that I am going to provide is valid in any field with characteristic different of 2 and with $1\leq r\leq d$. The theorem (due to Eckmann, Whitehead, and Brown-Gray) says that the "generalized cross product" (including the 3d case) exists when:

A) $d$ is even, $r = 1$. A cross product exists in every even dimension with one single factor. This can be thought some kind of "Wick rotation" if you are aware of this concept in every even dimensions! This cross product with a single factor is a bit non-trivial but easy to understand.

B) $d$ is arbitrary, $r = d − 1$. A cross product exists in arbitrary dimension d and (d-1) factors. It is also said that an arbitrary (d-1)-fold cross product exists in any dimension. Just take the determinant of those (d-1) vectors with the versors $(e_1,...,e_r)$!

C) $d = 3, 7, r = 2$. A 2-fold cross vector exists in dimension 3 and 7. Therefore, the "bilinear" cross product can only exists with two factors in 3D and 7D. The 3D cross product is well known, the 7D cross product can be found (both in coordinate and free coordinate versions) in wikipedia.

D) $d = 8, r = 3$. A 3-fold cross product exists in eight dimensions. There, there is a non-trivial 3-fold cross in 8D, i.e., you can build a non-trivial cross product with 3 vectors in 8 dimensions. I haven't seen a coordinate expression for this but I believe someone did it (I could write a post about it, though, in my blog, in the near future).

This happens in euclidean signature, I suppose there are some variants in pseudo-euclidean metrics (and perhaps some non-trivial subcases; I have heard about a non-trivial 3-fold cross product in 4D but I can not find a reference). Moreover, you can find a similar conclusion in the book Clifford algebras and Spinors by P. Lounesto. Geometric algebra is very useful when handling with this vector stuff since vectors are just a particular grade of a polyvector/cliffor/blade...

2nd solution. Cross product can be seen as the dual of the exterior product via $ia\times b=a\wedge b$ or $\star (a\wedge b)=a\times b$. Therefore, the wedge product (exterior product, a bivector) is much more fundamental since it can be defined in ANY spacetime dimension. You can of course identify bivectors with antisymmetric matrices too, but that is only a realization of the bivector. Indeed, bivector defines rotations in a give plane and this is much more useful than thinking in terms of a vector. Bivectors are the generators of rotations in N-dimensional spaces (even if you consider multivectors or polyvectors fields). Thus, the second solution is to consider the exterior product as the true generalization (with two factors!) of the cross product in any spacetime dimension.

3rd solution. Use k-forms (k-vectors) and give up the 2-ary condition., assuming a metric can be defined. If you keep wanting a VECTOR, or 1-blade, then using the Hodge star operator: $$V=\star(V_1\wedge\cdots \wedge V_{N-1})$$ This produces a 1-form (1-vector) from an N-1-form, N-1-vector. Indeed, if you have a non-factorizable nonsimple k-vector on N-dimensional space, the star operator, with a single term!, produces a (N-k)-form or (N-k)-vector in general, as said in the references of other users.

  • 901
  • 8
  • 21
  • 1
    I don't understand why we have to prove that a cross product exists for any given $d > r$ - for any set of vectors with size $r$, any matrix which has a column space defined by the basis of this set of vectors is guaranteed to have a rank of at most $r$, and so a null space of $d-r > 0$. Since this null space is always nontrivial, a vector satisfying the criteria for the cross product can always be found. – VF1 Aug 08 '13 at 22:42
  • Is there a version that generalizes the magnitude of the result? For example, the magnitude of the cross product in 3D, and the equation `a.x * b.y - a.y * b.x` for 2D generalizes this for 2D and 3D, but I don't know how to generalize this in 4D, 5D, etc. – Aaron Franke Apr 27 '22 at 01:28

Well, it depends on what you mean by "the vector cross product." There is a generalization to $n$ dimensions which takes $n-1$ vectors as input and returns what can be thought of as a vector orthogonal to all of them. It generalizes to an operation taking $k$ vectors as input where $k \le n$, but then the output is not something like a vector but something more complicated. See wedge product.

There is a more specific generalization to $7$ dimensions coming from multiplication in the octonions in the same way that the cross product can be thought of as coming from multiplication in the quaternions.

Qiaochu Yuan
  • 359,788
  • 42
  • 777
  • 1,145
  • The cross-product in euclidean space is not the same as the cross-product in pseudo-euclidean spaces, but they can also be defined with the aid of split-octornions and quaternions in 4D and 8D, such as we would obtain modified cross products in 3D and 7D. I wonder if we can do that in any spacetime signature (the map above). Wedge product is defined in any spacetime dimension, but it is not the same as cross-product since wedge product is associative... – riemannium Aug 10 '13 at 12:32

The cross product is very closely related to the concept of quaternions. The cross product "identities" that operate on the unit vectors $\rm \mathbf{\hat{i}}, \mathbf{\hat{j}}, \mathbf{\hat{k}}$ are essentially similar to the identities on the quaternion units (basis elements) $i,j,k$.

Notice that quaternions have four units: $1, i, j, k$, and the 3-D cross product works in vector spaces of dimension 4-1 = 3.

The seven-dimensional cross product is analogous to the octonions, and has a similar definition which I do not wish to enumerate here.

These are the only dimensions in which a "cross-product" of such a sort exists. The relation between the vector operation and multiplication of quaternions/octonions is the underlying reason why. Quaternions and Octonions compose what is known as a closed normed division algebra. And real closed division algebras can only have dimensions of 1,2,4,8.

As @QiaochuYuan mentions, the generalization to other dimensions yields something different than a vector -- such an operation exists and can be used in a similar way, but you do not have the niceness of retrieving a vector in the end.

  • 34,328
  • 6
  • 89
  • 135
  • Thanks. That explains why there is only a 3D and 7D cross product, and any other pattern I saw can be explained with the wedge product and exterior algebra of the system. – VF1 Aug 23 '12 at 23:08
  • 1
    Why don't you get a vector in the end? Using _Mathematica_'s Cross[] function is allowed over any number of vectors, so long as there's one more dimension than the number of vectors. Playing around with using matrices to find the cross product and using Cross[], I found the result only differed by factors of -1 occasionally. – VF1 Aug 24 '12 at 01:37
  • Because Mathematica implements the Hodge star, or at least something similar. Only for dimensions 3 and 7 do you have a "natural" cross product that yields a vector. – Emily Aug 24 '12 at 03:39
  • Do quaternions scale up beyond 8? Such as 16, 32, 64, 128...? – CoryG Sep 27 '16 at 20:12
  • @CoryG: You can create analogous structures with dimensions > 8, but it is shown that they are not closed normed division algebras, which means the "niceness" you get from that structure goes away. – Emily Oct 04 '16 at 14:35

See my answer here to see an example of a generalization of the cross product to 4 dimensions. Notice, this generalization works in $n$-dimensions and always return a vector orthogonal to all $n-1$ vectors you use. And, you calculate it almost exactly the same way you calculate the normal cross product, nothing complicated. To get the cross product of $n-1$ vectors of dimension $n$, you simply make a matrix which has top row with entries $i_1, i_2, \ldots, i_n$, which generalize the normal $i, j, k$ in 3 dimensions. Then, your next $n-1$ rows are the $n-1$ vectors of dimension $n$. Now, take the determinant and you get your $n$-dimensional result.

Reference: I learned about this when I took a 4th semester of calculus in college, where we used Vector Calculus by Susan Jane Colley. It is introduced in the exercises for Section 1.6. One of the exercises is to prove that the new vector is orthogonal to the previous ones.

  • 10,890
  • 2
  • 38
  • 75

Michael Hardy's conjecture is definitely not rubbish.

I know of at least two definitions that apply to more than three dimensions. For both definitions, however, the resulting cross product is a vector subspace rather than a vector. (See Notes 1 and 2)

As Mr Hardy notes, in three dimensions the conventional cross product of vectors a and b is a vector normal to a and b with length (ab)sin(Theta), where Theta is the angle between a and b. It has the property that its inner product (a x b)*c with any vector c is the volume of the parallelepiped having edges a, b and c. The vector c is uniquely defined and complements the {a, b} space(Note 3).

In more than three dimensions, however, the normal to two vectors is not unique. For dimensions n > 3, the cross product may be defined to be the n-2 dimensional subspace normal to the two vectors. Alternately, the cross product may be defined to be the n-m dimensional subspace normal to m vectors, m>2. This later possibility is pursued here.

Let the vectors w1, w2, w3, … , wm span an m-dimensional subspace Sm in the n-dimensional vector space V, where m = 2, 3, …, n-1. The cross product of the vectors w1, w2, w3, … , wm is then defined as cm:

        cm =  w1 x w2 x … x wm  

           =  |s1||s2| … |sm| Cn-m,     


       sm  =   wm  -  [Sm-1]*wm     

        Sm =  { s1, s2, … , sm}.        

Here Cn-m is the complementary space (Note 4)of Sm in V, defined as all vectors normal to Sm. The vector sm is normal to Sm-1 and [Sm-1]*wm is the projection(5) of wm onto Sm-1. The angle Thetam between wm and Sm-1*wm is given by Sm= |wm||sm|(Thetam), where |sm| and |wm| are the lengths of vectors sm and wm.

If m = n-1 then Cn-m = C1, a vector normal to the other n-1 vectors. If m = n, the product |s1||s2| … |sm|is the volume of the parallelepiped having edges w1, w2, w3, … , wm. This definition agrees with the conventional one for n = 2, 3 but, unlike the conventional definition, yields a null vector if any of the w1, w2, w3, … , wm are dependent.

In both definition, the cross product is a subspace rather than a vector. I have not yet explored the first definition or the relation of either to the Hodge star.

NOTES: (1) For reference, the subspace of m (non-parallel) vectors in a larger n-dimensional space is just the collection of points that may be reached by adding any combination of m vectors with multiplicative coefficients. Any m non-parallel vectors "span" an m-dimensional subspace, m<=n. (2) In the above, the suffixes m and n are integers, lower case characters are vectors, and upper case characters are subspaces; the notation {x, y} indicates the space spanned by the vectors x and y; [S] indicates a set of orthonormal vectors in the space S; the symbol * indicates inner product. (3) in the sense that any point in V may be reached by a linear combination of a, b and c. (4) Halmos, Paul R., Finite Dimensional Vector Spaces, Second Edition, 1958, D. Van Nostrand Company, Inc., Princeton, N. J., p29. (5) P is a projection if PPx = Px for any vector x. (ibid. p73.) It can be shown that (Px)*(x – Px) = 0, so that x – Px is perpendicular to Px.


You can define the ternary cross-product as the determinant $$ \vec v_1 \times \vec v_2 \times \vec v_3 = \left\vert\begin{matrix} \vec i & \vec j & \vec k & \vec l \\ v_{1x} & v_{1y} & v_{1z} & v_{1t} \\ v_{2x} & v_{2y} & v_{2z} & v_{2t} \\ v_{3x} & v_{3y} & v_{3z} & v_{3t} \end{matrix}\right\vert $$ that you have to develop along the first row.

If you have a parametric surface $s(u,v,w) \to \mathbb{R}^4$ then the ternary cross-product $\frac{\partial s}{\partial u}(u,v,w) \times \frac{\partial s}{\partial v}(u,v,w) \times \frac{\partial s}{\partial w}(u,v,w)$ gives the normal at $s(u,v,w)$.

Stéphane Laurent
  • 1,327
  • 7
  • 19