Vector algebra correspond to the extension of a linear space, Rn, dimension n, to a linear space Cln, dimension 2^n (2 power n),  composed with multivectors.
 Multivectors are obtained by linear combination of exterior products of basis elements from vector space Rn.
 A multivector is an extension at superior dimensions of the notion we have about vectors.  
 EVA support Cl1 to Cl5 with arbitrary signature.
 
As exemple, Cl3 has a basis obtained by external products of canonical basis vectors (e1, e2, e3) from R3, and a unit scalar e0.
 
e1 . e1 = e2 . e2 = e3 . e3 = 1 and e1 . e2  = e1 . e3 = e2 . e3 = 0  (scalar products)
e1 ^ e2 = -e2 ^ e1, e2 ^ e3 = -e3 ^ e2, e1 ^ e3 = -e3 ^ e1, e1 ^ e2 ^ e3 = -e3 ^ e2 ^ e1  (exterior products)
e1 ^ e2  may be represented as an oriented square area with sides e1, e2 or by a disk, or any other shape with same area and orientation.  e2 ^ e1 is the same square (or disk ...) with reverse orientation.
e1 ^ e2 ^ e3  oriented volume (cube, or sphere ...).
 
 Cl3 basis vectors :
a scalar   (0-vector)                                 e0
vectors   (1-vector)                            e1, e2, e3
bivectors (2-vector)                        e12, e23, e13
trivector  (3-vector)                               e123      
 
 
e12 is short script for e1 ^ e2 etc ...  (eij with i<j),     e123 for e1 ^ e2 ^ e3.      
 
 An element of Cl3 is a linear combination of these basis elements :
A = a0*e0 + a1*e1 + a2*e2 + a3*e3 + a12*e12 + a23*e23 + a13*e13 + a123*e123  with  ai real numbers.
 
number of basis elements in CLn :
 
                                       n|_____   grade k  ___
                                       0|   1
                                       1|   1  1
                                       2|   1  2  1              
                                       3|   1  3  3  1
                                       4|   1  4  6  4  1
                                       5|   1  5  10 10 5  1
                                      ...|           ...
 
setting the basis :
 
Cl(p,q)  with p+q basis vectors, p positive squares, q negative squares.
ex : Cl(2)       -> p=2, q=0      oriented volume = e12          e1²=e2²=1                            signature = (1,1)  
      Cl(3,1)     -> p=3, q=1      oriented volume = e1234      e1²=e2²=e3²=1    e4²=-1       signature = (1,1,1,-1)
      Cl(2,2)     -> p=2, q=2      oriented volume = e1234      e1²=e2²=1   e3²=e4²=-1        signature = (1,1,-1,-1)
 

 Some usefull operators  :
 
 grade :
grade(A,k) = <A>k  give the k-vector part of A
as example, if A = 3e0 + 2e1 - e2 + 2e23,
grade(A,0) =                 3e0
grade(A,2) =                 2e23
grade(A,1) =                 2e1 - e2
grade(A,0)+grade(A,1) = 3e0 +2e1 -e2
 
reversion :
rev(A)   = <A>0 + <A>1 - <A>2 - <A>3
reversing basis element order :
e0 -> e0, e1 -> e1, ..., e12 -> e21 (= -e12), e23 -> e32 (= -e23) etc ...
ex : rev(A) = 3e0 +2e1 -e2 -2e23
 
 grade involution :
invol(A)  = <A>0 - <A>1 + <A>2 - <A>3
changing basis element direction :
e1 -> -e1, e2 -> -e2 ..., e12 -> -e1 ^ -e2 (=e12)  etc ...
ex : invol(A) = 3e0 -2e1 +e2 +2e23
 
 Clifford conjugation :
cj(A) = <A>0 - <A>1 - <A>2 + <A>3
cj(A) = invol(rev(A)) = rev(invol(A))
ex : cj(A) = 3e0 -2e1 + e2 - 2e23
 
 The products :
 
 exterior product "^" caracterize vector sub-spaces generated by a family of free k-vectors.
As example, mutiplying two independant vectors a1*e1 ^ a2*e2, we get a bivector a1a2*e12, and multiplying this bivector by an independant vector a3*e3 we get a trivector a1a2a3*e123.
 
inner product "." correspond to the generalisation to the multivector set of orthogonality notion, as we know with the scalar product of vectors.
So, if two k-vectors are orthogonal, their internal product is 0.
 
 geometric product " " for two vectors is the sum of their inner product and exterior product
u v = u.v + u^v      
   
 If two vectors are orthogonal, the scalar product is 0 and the geometric product is equal to the external product :              u v = u^v
 
If u and v are colinear, the externior product is 0 and the geometric product equal to the scalar product.                      u v = u.v
 
 Generaly, vectors are betwen these two cases, and the geometric product encode the notion of relative direction and magnitude betwen the vectors.
 
 The geometric product may be interpreted also as an operator : w = u v      v transform --> w
 
 inner and outer products may be expressed as functions of geometric product :
 
       u.v  = 1/2(u v + v u)
       u^v = 1/2(u v -  v u)
 
u v   ==>  u v = - v u               (u and v anticommute = orthogonal)
u // v  ==>   u v =    v u                (u and v commute = colinear)
 
 
    introduction