# Maths - Multivector Determinant

The determinant in 'n' dimentions is the exterior product of 'n' vectors, this gives the multipier of the pseudoscalar. For instance:

• In 2 dimensions the determinant of 2 vectors is A /\ B which has units of e12
• In 3 dimensions the determinant of 3 vectors is A /\ B /\ C which has units of e123
• In 'n' dimensions the determinant of n vectors is A1 /\ ... An which has units of e1...n

## Two dimensions

Imagine we want to find the directed area enclosed by the parallelogram between two vectors in a plane then we can take the '/\' product:

For example if the two vectors are:

2 e1 + 5 e2
3 e1 + 4 e2

then the directected area is the bivector part of:

(2 e1 + 5 e2) /\ (3 e1 + 4 e2)

Assuming we are working in euclidean space, that is e1 and e2 both square to +1, then we get:

2 e1 /\ 3 e1 + 5 e2 /\ 3 e1+ 2 e1 /\ 4 e2 + 5 e2 /\ 4 e2

but the exterior product of common terms is zero: e1 /\ e1= e2 /\ e2 = 0 so the result is:

(2*4 - 5*3) e12

So the bivector part is 2*4 - 5*3, in matrix notation this is:

 2 5 3 4
e12

In the more general case, if we have two vectors (Ax,Ay) and (Bx,By) then the directed area will be (in matrix notation):

 Ax Ay Bx By
= A /\ B

Note: we can put the e1 and e2 operators inside this notation:

 Ax e1 Ay e2 Bx e1 By e2

which expands to give:

(Ax e1)(By e2) - (Ay e1)(Bx e2) = (Ax*By - Ay*Bx)e12

Order is important here so the determinant is defined as top-left* bottom-right - bottom-left *top-right

## Can this be generalised to 'n' dimensions?

 Ax Ay Az Bx By Bz Cx Cy Cz
= Ax
 By Bz Cy Cz
- Ay
 Bx Bz Cx Cz
+ Az
 Bx By Cx Cy

and recursing down to the next level gives:

|M| = Ax By Cz + Ay Bz Cx + Az Bx Cy - Ax Bz Cy - Ay Bx Cz - Az By Cx

A /\ B /\ C = (Ax e1 + Ay e2+ Az e3) /\ (Bx e1 + By e2+ Bz e3) /\ (Cx e1 + Cy e2+ Cz e3)

= (Ax*By e12+ Ax*Bz e13
- Ay*Bx e12 + Ay*Bz e23
+ Az*Bx e31 - Az*By e23) /\ (Cx e1 + Cy e2+ Cz e3)

= ((Ax*By- Ay*Bx) e12+ (Az*Bx-Ax*Bz) e31
+ (Ay*Bz - Az*By) e23)) /\ (Cx e1 + Cy e2+ Cz e3)

= (Ax*By- Ay*Bx)e12 (Cx e1 + Cy e2+ Cz e3)
+ (Az*Bx-Ax*Bz)e31 (Cx e1 + Cy e2+ Cz e3)
+ (Ay*Bz - Az*By) e23)(Cx e1 + Cy e2+ Cz e3)

= (Ax*By- Ay*Bx)Cz e123 + (Az*Bx-Ax*Bz)Cy e312 + (Ay*Bz - Az*By)Cx e231

so the resulting pseudoscalar term is:

Ax*By*Cz- Ay*Bx*Cz + Az*Bx*Cy-Ax*Bz*Cy+ Ay*Bz*Cx - Az*By*Cx

which has the same form as |M| above with a few sign changes, I must have reversed the order somewhere.

Where I can, I have put links to Amazon for books that are relevant to the subject, click on the appropriate country flag to get more details of the book or to buy it from them.

 Clifford Algebra to Geometric Calculus: A Unified Language for Mathematics and Physics (Fundamental Theories of Physics). This book is intended for mathematicians and physicists rather than programmers, it is very theoretical. It covers the algebra and calculus of multivectors of any dimension and is not specific to 3D modelling.