There are several different ways to generalize the vector product to other dimensions.

The perpendicular productThe first kind of generalization is the

perpendicular product in n dimensions, which takes (n-1) vectors as arguments. In 2D, any vector is perpendicular to a unique line, which translates to a unique vector if you fix the sense in which the product assigns a direction to this line. So the 2D perpendicular product is a unary operator. It has characteristic 4, since taking the perpendicular product of a vector is equivalent to rotating it 90°, so applying this operator to the vector 4 times will recover the original vector again.

In 3D, we already know that the cross product takes two vectors as arguments, and produces a 3rd vector which is perpendicular to both of them.

In 4D, the perpendicular product takes

three arguments, and produces a 4th vector perpendicular to the 3D hyperplane spanned by the three argument vectors.

In n dimensions, in general, (n-1) arguments are needed, and the perpendicular product produces a vector perpendicular to the (n-1)-dimensional hyperplane spanned by the input vectors.

The n-dimensional perpendicular product of the vectors v1, v2, ... v{n-1} can be computed as a pseudo-determinant of a matrix of the form:

- Code: Select all
`|[ v1 ]|`

|[ v2 ]|

|[ ... ]|

|[ v{n-1} ]|

|[ B ]|

where B = the basis vectors of n-dimensional space (i.e., <1,0,0,0,...>, <0,1,0,0,...>, <0,0,1,0,...> etc.). Expanding the determinant of this matrix then produces a result of the form |...|*b1 + |...|*b2 + ... + |...|*bn where b1, b2, ... bn are the basis vectors in B, and the |...| are the determinants of the submatrices that define the components of the resulting vector.

The nice thing about the n-dimensional perpendicular product is that it serves as the n-dimensional analogue of the 3D cross product with respect to computing a perpendicular vector given a set of (n-1) vectors that span an (n-1)-dimensional hyperplane. However, the not-so-nice thing about it, is that it requires (n-1) arguments. So 3D equations involving the cross product has no easy generalization, because an expression like A x B may not have any obvious generalization to have additional arguments. In preserving the property of having a perpendicular vector result, we have sacrificed the binary nature of the cross product. So this leads us to the next kind of generalization:

The binary polyvector productAnother generalization is to preserve the

binary property of the cross product, but sacrifice the result being another vector. This generalization continues to take two vector arguments, but the result is only a vector in 3D. In 4D, the result is a bivector (basically an entity that represents an oriented, directed 2D plane). In 5D, the result is a trivector. In general, in n dimensions, the result is an (n-2) polyvector.

The nice thing about this generalization is that equations involving the cross product now have direct generalizations. Well... kind of... because the result is now a polyvector, so what used to have a vector result now has a polyvector result, and this causes other kinds of problems (e.g., you can no longer plug the result of the equation into another equation that expects a vector, not polyvector, argument). So in preserving the binary-ness of the product, we have sacrificed its vector result.

Can we have both? Well it turns out that the answer is yes... but only in a limited number of dimensions.

Complex / Quaternion / Octonion productsIn 2D, we can define a product that is commutative, associative, and distributes over +, etc.. This is the complex number product, which takes two 2D vectors (treated as complex numbers), and produces another 2D vector as a result. In 4D, we have the quaternion product, which takes two 4D vectors (treated as quaternions) and returns a 4D vector result. However, here the seams start to show: this product is no longer commutative. (But neither is the cross product commutative, so it's not

that big a deal. Right?) In 8D, we have the octonion product, which takes two 8D vectors (treated as octonions) and returns an 8D vector result. However, the octonion product is not only non-commutative, it is not even associative (so (a*b)*c is, in general, NOT equal to a*(b*c)).

And it turns out that these are the only dimensions that have a well-defined algebraic product. There are no analogous products in any other dimension. Also, these products diverge from the 3D cross product in that the vector result does NOT have the perpendicular property -- in general, multiplying two complex numbers will not produce a result that's perpendicular to both of them. Same goes with the quaternion and octonion products. So in preserving

both the binary property and the vector result, we have sacrificed the perpendicular property. (Not to mention that we have lost dimensional generality: these products only exist in 2D, 4D, and 8D, and no other dimension.)

It's only in 3D where the cross product has all 3 properties.