<<

arXiv:1306.1660v1 [math.RA] 7 Jun 2013 h field the Cli uigwt pc n l t usae.Cli subspaces. its all and space a c with for puting methods algebraic free coordinate and abstract mann’s of gebra inventor the (1809-1877), Grassmann H.G. and isCli nius on paper long Extensive page Mathemat- Grassmann’s nine of a Journal Applied American and Pure the ics in 1878 L in of published College University don, the at applied of fessor h ok fHmlo n rsmn yfiaiigtefunda- the finalizing of by concept Grassmann mental and Hamilton of works the r:WR aitn(8516) h netrof inventor the (1805-1865), Hamilton W.R. bra: rmtevco space vector the from n eeaie nhsgoercagba ( geometric his in generalized and product nedhv the have indeed o ihisl qa oterinrproduct: inner their to equal itself with tor emti rdc setting product geometric IEJunlo oto,Maueet n ytmIntegrati System and Measurement, Control, of Journal SICE n Cli Any ..Cli W.K. ff ∗ 4 5 6 3 2 1 7 r algebra ord A n utlna rdc.A inner-product An product. multilinear and A products. inner the preserving mapping motn ed r real are fields Important ler qipdwt ninrpoutsrcuewe taken when structure K product inner an with equipped algebra opoutsg ilb nrdcd ipejxaoiinim 2 juxtaposition like simple just product introduced, geometric be the plies will sign relationship. generating product algebra No an . to and amounts length setting of measurement This the defines product inner The Fukui Fukui, [email protected] E-mail: of University Japan , 910-8507, Applied of Department hti a is That cs .. a i.e., ucts, h lerswe ae srns n h ne rdcso th of spaces. products vector inner inner-product the as taken and when rings, algebras as taken when algebras the Rvsdxx0,2011) 00, xxx (Revised 2011) 00, xxx (Received de h esrmn flnt n nl oGrass- to angle and length of measurement the added , vco space. -vector K K 1 ff 6 agbai a is -algebra ioer ewe w ne-rdc pcsi a is spaces inner-product two between -isometry etrsae( space vector r,sadn ntesoleso w inso alge- of giants two of shoulders the on standing ord, K rus.Goerc(ler ae)cluu los e.g., allows, based) (algebra Geometric groups). e od : Words Key da orpeetgoerctasomtosi h genera the in transformations geometric spacetim of represent space, to 3D ideal of , the of compu examples concrete neural with and systems information geographic ra processing, tracking, signal robotics, in applications rich found Abstract ff ff a euiul xeddt nisometry an to extended uniquely be can r algebra ord r 14-89,ayugEgihGlsi pro- Goldsmid English young a (1845-1879), ord K lna ooopimpeevn h ne prod- inner the preserving homomorphism -linear K nvra property universal Cl lna apn rsrigbt h rdcsof products the both preserving mapping -linear ietdnumbers directed ( emti ler a ntae yWK Cli W.K. by initiated was algebra Geometric : V K into ) .Introduction 1. V yecmlxagba yecmlxaayi,goer,s , analysis, hypercomplex algebra, Hypercomplex vco pc qipdwt nassociative an with equipped space -vector V noa ne-rdc algebra inner-product an into , Cl 2 a nrdcint Cli to Introduction A R h emti product geometric the ( · V h Cli The . n ope numbers complex and b sgnrtdfo ninner- an from generated is ) : nti ae,teyugge- young the paper, this In . a , 1][1 htayisometry any that [15],[21] b [23]. ff ∈ r algebra ord x V = 7→ 2 = × Cli ff aa K R r hsunified thus ord x plctosof Applications agbai a is -algebra . ff yCli by ) n o.4 o ,p.0101 aur 2011 January 001–011, pp. 1, No. 4, Vol. on, = r algebras) ord 3 C xesv al- extensive Cl fayvec- any of etc. , a 7 ( 5 rmthe from · V chr H Eckhard K A a sthe is ) ff -linear We . ord’s over om- ff on- ff K as rcn,vrulraiy optrvso,vco edpr field vector vision, computer reality, virtual tracing, y r’ emti Algebra Geometric ord’s r vr10yasao tuie l rnhso hsc,and physics, of branches all unifies It ago. years 130 over ord e 4 - - , ootmz erigagrtm fCli of learning optimize to rmwr fCli of framework l ig hsttra xlistebsc fgoercalgebra geometric of basics the explains tutorial This ting. ,adtepplrcnomlmdl emti lersare algebras Geometric model. conformal popular the and e, nedrpael n neednl ogls fCli of list long a independently and repeatedly Indeed ayntosas fiprac nhge iesos n of and , higher in spacetime importance of also notions many ers hi uagba n nCli in and subalgebras their gebras, ers(like gebras o pcs(hc nld diinleeet representin to elements up additional include (which multiv spaces and tor spaces vector to algebra and numbers, mns,tesuyo Cli of study the ements), hsi ews ognrlz ehd rmagba analysis algebra, from methods di generalize calculus, to wish we if Thus unique n ple itrcly fe ne di under often historically, applied and ler,Cli m algebra, algebra, rotor algebra, versor algebra, algebra Cartan algebras, algebra, para-, physical al algebra of algebra), bra Minkowski (space algebra, algebra (space-time algebra Pauli Dirac quaternions), Segre t quaternions, sarines, c Pl¨ucker (commutative numbers quaternions, bicomplex biquat dual ordinates, quaternions, quaternions), numbers, (complex dual nions num- tessarines), complex (split real numbers bers, hyperbolic plane), number plex fdi of nlyo Cli on finally i lerso h plane geome the the of algebras on ric sections follow Then definitions. mathematical . Definitions 1.1 e.g.[5]. h reals the A Then utpiainin multiplication that itiuiiy ( distributivity: ∀ optblt ihsaas ( scalars: with Compatibility ITZER x eoe eeby here denoted , oeo hs lersare algebras these of Some eto . a lob kpe yraesls neetdin interested less readers by skipped be also can 1.1 Section ento fa algebra an of Definition ento finrpoutspace product inner of Definition , c y x ff , rnilfrs etc. forms, erential n ◦ A z ∗ usae,ie ln lmnsu ohproueel- hypervolume to up elements plane i.e. subspaces, D y soitv n utlna ler ihti property. this with algebra multilinear and associative A ∈ R sa ler over algebra an is sblna.Tebnr prto sotnrfre oas to referred often is binary The bilinear. is ine . cience, Cl ff iha diinlbnr prto from operation binary additional an with ff ff octonions rnilgoer ec)o elnmes complex numbers, real of (etc.) geometry erential (1 r rce ler,cnomlagba algebra algebra, conformal algebra, bracket ord n “scalars” and , ff r rus(locle esro Lipschitz or versor called (also groups ord r nlss o ute td erecommend we study further For analysis. ord x , ) ofra emti algebra geometric conformal 3), + A y hc sntncsaiyassociative. necessarily not is which , ) ◦ ◦ z 1] fmn pcshv enstudied been have spaces many of [17]) ( = Cl x ff ◦ x (2 r lersbecomes algebras ord ◦ 2] Let [25]: y α , R z ) f3 space 3D of 0), ,β α, stepouto any of product the is ff x + ope ubr adtecom- the (and numbers complex ) ftefloigiette hold identities following the if r ern,etc. neurons, ord y ◦ ◦ ( β z ff ∈ y 1:A ne rdc space product inner An [1]: , r lersebde al- embedded algebras ord ) x A R = ◦ ff ( rn names. erent eavco pc over space vector a be ( 12 etadright and Left (1,2) : y αβ + z )( ocessing, Cl ) x = ◦ (3 y x , .Ti means This ). has unavoidable ◦ Cl ) ohwith both 0), y , x (4 + A × A , y , ff x ) and 1), ◦ r al- ord A ∈ z 2D g Lie , (3) . otor ge- ec- es- er- o- to t- ), ). , . 2 SICE JCMSI, Vol.4, No.1, January 2011 is a vector space V over R together with an inner product map For r = 0 we often denote Rp,q = Rp,q,0, and Cl(p, q) = h.,.i : V × V → R, that satisfies ∀ x, y, z ∈ V and ∀ α ∈ R: (1) Cl(p, q, 0). For spaces (n = p) we use Rn = Symmetry: hx, yi = hy, xi. (2) Linearity in the first argument: Rn,0 = Rn,0,0, and Cl(n) = Cl(n, 0) = Cl(n, 0, 0). The even grade hαx, yi = αhx, yi, hx + y, zi = hx, zi + hy, zi. subalgebra of Cl(p, q, r) is denoted by Cl+(p, q, r), the k-vectors Note: We do not assume positive definiteness. of its have only even grades k. Every k-vector B that can Definition of inner product algebra: An inner product alge- be written as the B = b1 ∧b2 ∧...∧bk of k vectors p,q,r bra, is an algebra equipped with an inner product A×A→ R. b1, b2,..., bk ∈ R is called a simple k-vector or . Definition of Clifford’s (GA) [6],[17]: Let Definition of [7],[18]: An outermorphism is {e1, e2,..., ep, ep+1,..., ep+q, ep+q+1,..., en}, with n = p+q+r, the unique extension to Cl(V) of a vector space map for all a ∈ 2 = =+ = = = + + ′ = ek εk, εk 1 for k 1,..., p, εk −1 for k p 1,..., p V, f : a 7→ f (a) ∈ V , and is given by the mapping B ′ q, εk = 0 for k = p + q + 1,..., n, be an orthonormal base of b1 ∧ b2 ∧ ... ∧ bk → f (b1) ∧ f (b2) ∧ ... ∧ f (bk) in Cl(V ), for the inner product vector space Rp,q,r with a geometric product every blade B in Cl(V). according to the multiplication rules 2. Clifford’s GA of a Euclidean plane + = = ekel elek 2εkδk,l, k, l 1,... n, (1) In order to demonstrate how to compute with Clifford num- bers, we begin with a low dimensional example. where δk,l is the Kronecker symbol with δk,l = 1 for k = l, and δ = 0 for k , l. This non-commutative product and the k,l 2.1 Example of Cl(2, 0) additional axiom of associativity generate the 2n-dimensional 2 2,0 2,0,0 p,q,r A Euclidean plane R = R = R is spanned by e1, e2 ∈ Clifford geometric algebra Cl(p, q, r) = Cl(R ) = Clp,q,r = R2 with Gp,q,r = Rp,q,r over R. The set {eA : A ⊆ {1,..., n}} with e = e e ... e , 1 ≤ h < ... < h ≤ n, e = 1, forms A h1 h2 hk 1 k ∅ e · e = e · e = 1, e · e = 0. (5) a graded (blade) basis of Cl(p, q, r). The grades k range from 1 1 2 2 1 2 0 for scalars, 1 for vectors, 2 for , s for s-vectors, up {e , e } is an orthonormal vector basis of R2. Rp,q,r 1 2 to n for . The vector space is included in Under Clifford’s associative geometric product we set Cl(p, q, r) as the subset of 1-vectors. The general elements of Cl(p, q, r) are real linear combinations of basis blades e , called 2 = = = A e1 e1e1 : e1 · e1 1, Clifford numbers, or hypercomplex numbers. e2 = e e := e · e = 1, (6) Note: The definition of Clifford’s GA is fundamentally co- 2 2 2 2 2 + + = 2 + 2 + + ordinate system independent, i.e. coordinate free. Equation and (e1 e2)(e1 e2) e1 e2 e1e2 e2e1 (7)

(1) is fully equivalent to the coordinate independent definition: = 2 + e1e2 + e2e1 := (e1 + e2) · (e1 + e2) = 2. aa = a · a, ∀ a ∈ Rp,q,r [7]. This even applies to Clifford anal- ysis (). Clifford algebra is thus ideal for Therefore computing with geometrical invariants [15]. A review of five e e + e e = 0 ⇔ e e = −e e , (8) different ways to define GA, including one definition based on 1 2 2 1 1 2 2 1 vector space basis element multiplication rules, and one defini- i.e. the geometric product of orthogonal vectors forms a new tion focusing on Cl(p, q, r) as a universal , is entity, called bi-vector e12 = e1e2 by Grassmann, and is given in chapter 14 of the textbook [17]. anti-symmetric. General bivectors in Cl(2, 0) are βe12, ∀ β ∈ In general hAik denotes the grade k part of A ∈ Cl(p, q, r). R \ {0}. For orthogonal vectors the geometric product equals The parts of grade 0, (s − k),(k − s), and (s + k), respectively, Grassmann’s anti-symmetric outer product (exterior product, of the geometric product of a k-vector Ak ∈ Cl(p, q, r) with an symbol ∧) s-vector Bs ∈ Cl(p, q, r) e12 = e1e2 = e1 ∧ e2 Ak ∗ Bs := hAkBsi0, Ak⌋Bs := hAkBsis−k, (2) = −e2 ∧ e1 = −e2e1 = −e21. (9) Ak⌊Bs := hAk Bsik−s, Ak ∧ Bs := hAk Bsik+s, Using associativity, we can compute the products are called product, left contraction (zero for s < k), right = = 2 = = = contraction (zero for k < s), and (associative) outer product, e1e12 e1e1e2 e1e2 e2, e2e12 −e2e21 −e1,(10) respectively. These definitions extend by linearity to the corre- which represent a mathematically positive (anti-clockwise) 90◦ sponding products of general multivectors. The various derived . The opposite order gives products of (2) are related, e.g. by

e12e1 = −e21e1 = −e2, e12e2 = e1, (11) (A ∧ B)⌋C = A⌋(B⌋C), ◦ ∀ A, B,C ∈ Cl(p, q, r). (3) which represents a mathematically negative (clockwise) 90 ro- tation. The e12 acts like a rotation operator, and we Note that for vectors a, b in Rp,q,r ⊂ Cl(p, q, r) we have observe the general anti-commutation property = = + R2 R ab = a⌋b + a ∧ b, ae12 −e12a, ∀a a1e1 a2e2 ∈ , a1, a2 ∈ .(12) a⌋b = a⌊b = a · b = a ∗ b, (4) The square of the unit bivector is −1,

Rp,q,r 2 = = = where a · b is the usual inner product of . e12 e1e2e12 e1(−e1) −1, (13) SICE JCMSI, Vol.4, No.1, January 2011 3

Table 1 Multiplication table of plane Clifford algebra Cl(2, 0). a a a a −1 xk = |x | cos θ = (x· ) = (x·a) = (x·a)a .(20) a,x |a| |a| |a| |a|2 1 e1 e2 e12 1 1 e1 e2 e12 The rejection ( part) is e1 e1 1 e12 e2 e2 e2 −e12 1 −e1 −1 −1 x⊥ = x − xk = xaa − (x · a)a e12 e12 −e2 e1 −1 = (xa − x · a)a−1 = (x ∧ a)a−1. (21) just like the imaginary unit j of complex numbers C. We can now use x , x to compute the reflection8 of x = x + Table 1 is the complete multiplication table of the Clifford k ⊥ k x at the line (hyperplane9) with normal vector a, which means algebra Cl(R2) = Cl(2, 0, 0) = Cl(2, 0) with algebra basis el- ⊥ 2 to reverse xk →−xk ements {1, e1, e2, e12} (which includes the vector basis of R ). The even subalgebra spanned by {1, e12} (closed under geomet- ′ −1 −1 x = −xk + x⊥ = −a a xk + a a x⊥ ric multiplication), consisting of even grade scalars (0-vectors) = −1 −1 = −1 + = −1 and bivectors (2-vectors), is isomorphic to C. −a xka − a x⊥a −a (xk x⊥)a −a xa. (22)

2.2 Algebraic unification and vector inverse The combination of two reflections at two lines (hyperplanes) with normals a, b The general geometric product of two vectors a, b ∈ R2 x′′ = −b−1x′b = b−1a−1 xab = (ab)−1xab = R−1xR, (23) ab = (a1e1 + a2e2)(b1e1 + b2e2) = = a1b1 + a2b2 + (a1b2 − a2b1)e12 (14) gives a rotation. The rotation angle is α 2θa,b and the rotor

1 1 θ e 1 αe = (ab + ba) + (ab − ba) = a · b + a ∧ b, R = e a,b 12 = e 2 12 , (24) 2 2 where the lengths |a||b| of ab cancel against |a|−1|b|−1 in (ab)−1. has therefore a scalar symmetric inner product part The rotor R gives the spinor form of rotations, fully replacing 1 rotation matrices, and introducing the same elegance to real ro- (ab + ba) = a · b = a b + a b 2 1 1 2 2 tations in R2, like in the complex plane. = |a||b| cos θa,b, (15) In 2D, the product of three reflections, i.e. of a rotation and a reflection, leads to another reflection. In 2D the product of an and a bi-vector skew-symmetric outer product part odd number of reflections always results in a reflection. That 1 the product of an even number of reflections leads to a rota- (ab−ba) = a∧b = (a1b2−a2b1)e12 = |a||b|e12 sin θa,b.(16) tion is true in general dimensions. These transformations are in 2 Clifford algebra simply described by the products of the vec- = = We observe that parallel vectors (θa,b 0) commute, ab a · tors normal to the lines (hyperplanes) of reflection and called = = ◦ b ba, and orthogonal vectors (θa,b 90 ) anti-commute, versors. = = ab a ∧ b −ba. The outer product part a ∧ b represents the Definition of a versor [15]: A versor refers to a Clifford oriented area of the parallelogram spanned by the vectors a, b monomial (product expression) composed of invertible vectors. R2 in the plane of , with oriented magnitude It is called a rotor, or spinor, if the number of vectors is even. det(a, b) = |a||b| sin θ = (a ∧ b)e−1, (17) It is called a unit versor if its magnitude is 1. a,b 12 2 Every versor A = a1 ... ar, a1,..., ar ∈ R , r ∈ N has an −1 = 2 = where e12 −e12, because e12 −1. inverse With the Euler formula we can rewrite the geometric product −1 = −1 −1 = 2 2 as A ar ... a1 ar ... a1/(a1 ... ar ), (25) such that ab = |a||b|(cos θa,b + e12 sin θa,b) = |a||b|eθa,be12 , (18) AA−1 = A−1A = 1. (26)

2 = This makes the set of all versors in Cl(2, 0) a , the so again because e12 −1. The geometric product of vectors is invertible for all vectors called Lipschitz group with symbol Γ(2, 0), also called Clifford with non-zero square a2 , 0 group or versor group. Versor transformations apply via outer- morphisms to all elements of a Clifford algebra. It is the group a−1 := a/a2, aa−1 = aa/a2 = 1, of all reflections and rotations of R2. The reverse product order a of a versor represents an involution (applying it twice leads to a−1a = a = a2/a2 = 1. (19) a2 identity) called reversion10 The inverse vector a/a2 is a rescaled version (reflected at the 8 Note that reflections at hyperplanes are nothing but the House- unit circle) of the vector a. This invertibility leads to enormous holder transformations [14] of analysis. 9 A hyperplane of a nD space is a (n − 1)D subspace, thus a hy- simplifications and ease of practical computations. perplane of R2, n = 2, is a 1D (2 − 1 = 1) subspace, i.e. a line. Every hyperplane is characterized by a vector normal to 2.3 Geometric operations and transformations the hyperplane. 2 For example, the projection of one vector x ∈ R onto another 10 Reversion is an anti-automorphism. Often a dagger A† is used a ∈ R2 is instead of the tilde, as well as the term . 4 SICE JCMSI, Vol.4, No.1, January 2011

∼ k A = (a1 ... ar) = ar ... a1. (27) The set of all grade k elements, 0 ≤ k ≤ 2, is denoted Cl (2, 0). Grade extraction h...ik,0 ≤ k ≤ 2, allows to do many useful In thee case of Cl(2, 0) we have computations, like e.g. the angle between two vectors (atan = −1 = Γ(2, 0) = Cl−(2, 0) ∪ Cl+(2, 0) (28) tan arctan) −1 habi2e (18) sin θ where the odd grade vector part Cl−(2, 0) = R2 generates θ = atan 12 = atan a,b . (37) a,b habi cos θ reflections, and the even grade part of scalars and bivectors 0 a,b + Cl (2, 0) = {A | A = α + βe12,α,β ∈ R} generates rotations. The symmetric scalar part of the geometric product of two mul- The normalized of versors is called pin group tivectors M, N ∈ Cl(2, 0) is also called their scalar product and because of its fundamental importance denoted with a special Pin(2, 0) = {A ∈ Γ(2, 0) | AA = ±1}. (29) product sign ∗ In the case of Cl(2, 0) we have e M ∗ N = hMNi0

Pin(2, 0) (30) = m0n0 + m1n1 + m2n2 − m12n12 = N ∗ M, (38) 2 2 = {a ∈ R | a = 1} ∪ {A | A = cos ϕ + e12 sin ϕ, ϕ ∈ R}. which is easy to compute using the multiplication table Table The pin group has an even subgroup, called group 1, since only the diagonal entries of Table 1 are scalar. Using the reversion (e12 = e1e2 = e2e1 = −e1e2 = −e12) Spin(2, 0) = Pin(2, 0) ∩ Cl+(2, 0). (31) = +f g+ + M m0 m1e1 m2e2 − m12e12, (39) As mentioned above Cl (2, 0) has the basis {1, e12} and is thus isomorphic to C. In the case of Cl(2, 0) we have explicitly we gete the |M| of a as 2 = = = 2 + 2 + 2 + 2 Spin(2, 0) (32) |M| M ∗ M hMMi0 m0 m1 m2 m12, (40) = = + R {A | A cos ϕ e12 sin ϕ, ϕ ∈ }. which for vectorseM ∈ Cle1(2, 0) is identical to the length of a vector, and for even grade subalgebra elements M ∈ Cl+(2, 0) The spin group has in general a spin plus subgroup11 to the modulus of complex numbers, and for pure bivectors = Spin+(2, 0) = {A ∈ Spin(2, 0) | AA =+1}. (33) like a ∧ b habi2 gives the area content of the parallelogram spanned by the vectors a, b ∈ R2 The groups Pin(2, 0), Spin(2, 0), ande Spin+(2, 0) are two-fold 12 coverings of the O(2, 0) [24], the special |a ∧ b| = |a||b|| sin θa,b| = | det(a, b)|. (41) orthogonal group SO(2, 0), and the component of the special The reversion operation maps e12 = −e12, it is therefore orthogonal group connected to the identity SO+(2, 0). the equivalent of complex conjugation in the isomorphism Let us point out, that this natural combination of reflections + f Cl (2, 0)  C, fully consistent with its use in the norm (40). leading to rightly indicates the way how Clifford’s GA is able to give a fully real algebraic description to quantum me- 2.5 Generalizing inner and outer products to multivectors chanics, with a clear cut geometric interpretation. The grade extraction also allows us to generalize the inner 2.4 Vectors, k-vectors and multivectors product of vectors, which maps two grade one vectors a, b ∈ R2 = 1 A general element in Cl(2, 0), also called multivector can be Cl (2, 0) to a grade zero scalar represented as 0 a · b = habi(1−1=0) ∈ R = Cl (2, 0), (42)

M = m0 + m1e1 + m2e2 + m12e12, and therefore lowers the grade by 1. In contrast, the outer prod-

m0, m1, m2, m12 ∈ R. (34) uct with a vector raises the grade by 1, i.e. = 2 Like real and imaginary parts of a complex number, we have a a ∧ b habi(1+1=2) ∈ Cl (2, 0). (43) scalar part hMi0 of grade 0, a vector part hMi1 of grade 1, and In general the left contraction (symbol ⌋)ofa k-vector Ak = a bivector part hMi2 of grade 2 hAik with a l-vector Bl = hBil is defined as

M = hMi0 + hMi1 + hMi2, (35) Ak⌋Bl = hAk Bli(l−k), (44) with which is zero if 0 > l−k, i.e. if k > l. Figuratively speaking (like with projections), we can only contract objects of the same or hMi0 = m0, hMi1 = m1e1 + m2e2, lower from the left onto an object on the right. The hMi = m e . (36) 2 12 12 right contraction (symbol ⌊) is defined as 11 Note, that in general for Clifford algebras Cl(n, 0) of Euclidean n,0 A ⌊B = hA B i − , (45) spaces R we have the identity Spin(n) = Spin+(n), where k l k l (k l) Spin(n) = Spin(n, 0). The reason is that AA < 0 is only possible which is zero if k−l < 0, i.e. if k < l. Figuratively speaking, we for non-Euclidean spaces Rp,q, with q > 0. e 12 Two-fold covering means, that there are always two elements can only contract objects of the same or lower dimension from ±A in Pin(2, 0), Spin(2, 0), and Spin+(2, 0), representing one the right onto an object on the left. Both contractions are bilin- element in O(2, 0), SO(2, 0) and SO+(2, 0), respectively. ear and can thus be extended to contractions of multivectors SICE JCMSI, Vol.4, No.1, January 2011 5

2 2 Table 2 Multiplication table of Clifford algebra Cl(3, 0) of Euclidean 3D R3 A⌋B = hhAikhBili(l−k), (46) space . X= X= k 0 l 0 1 e1 e2 e3 e23 e31 e12 e123 2 2 1 1 e1 e2 e3 e23 e31 e12 e123 = A⌊B hhAikhBili(k−l). (47) e1 e1 1 e12 −e31 e123 −e3 e2 e23 = = Xk 0 Xl 0 e2 e2 −e12 1 e23 e3 e123 −e1 e31 e e e −e 1 −e e e e The reversion changes the order of factors and therefore relates 3 3 31 23 2 1 123 12 e23 e23 e123 −e3 e2 −1 −e12 e31 −e1 left and right contractions by e31 e31 e3 e123 −e1 e12 −1 −e23 −e2 e e −e e e −e e −1 −e (A⌋B)∼ = B ⌊ A, (A⌊B)∼ = B ⌋ A. (48) 12 12 2 1 123 31 23 3 e123 e123 e23 e31 e12 −e1 −e2 −e3 −1 e e e e In general the associative outer product of a k-vector Ak = In Cl(3, 0) a reflection at a plane (=hyperplane) is specified hAik with a l-vector Bl = hBil is defined as the maximum grade R3 part of the geometric product by the plane’s normal vector a ∈ x′ = −a−1xa, (53) Ak ∧ Bl = hAk Bli(l+k), (49) the proof is identical to the one in (22) for Cl(2, 0). The combi- where A ∧ B = 0 for l + k > 2, because in Cl(2, 0) the highest k l nation of two such reflections leads to a rotation by α = 2θ grade possible is 2. For example the following outer products a,b R R2 are obtained (α, β ∈ , a, b, c ∈ ) x′′ = R−1 xR, (54) θ i 1 αi α ∧ β = αβ, α ∧ a = a ∧ α = αa, R = ab = |a||b|e a,b a,b = |a||b|e 2 a,b , a ∧ b ∧ c = 0, (50) where ia,b = a ∧ b/(|a ∧ b|) specifies the oriented unit bivector of the plane spanned by a, b ∈ R3. where the last identity is specific to Cl(2, 0), it does generally The unit trivector i = e also squares to −1 not hold in GAs of higher dimensional vector spaces. The last 3 123 identity is due to the fact, that in a plane every third vector c can 2 = = i3 e1e2e3e1e2e3 −e1e2e1e3e2e3 be expressed by of two linearly independent = = 2 2 = − vectors a, b. If a, b would not be linearly independent, then e1e2e1e2e3e3 (e1e2) (e3) 1, (55) = already a ∧ b 0, i.e. a k b. The outer product in 2D is of great where we only used that the permutation of two orthogonal vec- advantage, because the of vectors does only exist tors in the geometric product produces a minus sign. Hence 3 in 3D, not in 2D. We next treat the GA of R . −1 = i3 −i3. We further find, that i3 commutes with every vector, e.g. 3. Geometric algebra of 3D Euclidean space ff 3 = The Cli ord algebra Cl(R ) Cl(3, 0) is arguably the by far e1i3 = e1e1e2e3 = e23, (56) most thoroughly studied and applied GA. In physics it is also i3e1 = e1e2e3e1 = −e1e2e1e3 = e1e1e2e3 = e23, known as Pauli algebra, since Pauli’s spin matrices provide a 2 × 2 matrix representation. This shows how GA unifies classi- and the like for e2i3 = i3e2, e3i3 = i3e3. If i3 commutes with cal with quantum mechanics. every vector, it also commutes with every bivector a ∧ b = R3 1 Given an orthonormal vector basis {e1, e2, e3} of , the 2 (ab − ba), hence i3 commutes with every element of Cl(3, 0), eight-dimensional (23 = 8) Clifford algebra Cl(R3) = Cl(3, 0) a property which is called central in mathematics. The central has a basis of one scalar, three vectors, three bivectors and one subalgebra spanned by {1, i3} is isomorphic to complex num- trivector bers C. i3 changes bivectors into orthogonal vectors = = 2 = {1, e1, e2, e3, e23, e31, e12, e123}, (51) e23i3 e2e3e1e2e3 e1e23 −e1 , etc. (57) where as before e23 = e2e3, e123 = e1e2e3, etc. All basis bivec- This is why the GA Cl(3, 0) is isomorphic to complex quater- tors square to −1, and the product of two basis bivectors gives nions, one form of the third = −1 = −1 = −1 1, e1 e23i3 , e2 e31i3 , e3 e12i3 , n e23e31 = e21 = −e12, etc. (52) e23, e31, e12, i3} . (58) Therefore the even subalgebra Cl+(3, 0) with basis13 Yet writing the basis in the simple product form (51), fully pre- {1, −e , −e , −e } is indeed found to be isomorphic to 23 31 12 serves the geometric interpretation in terms of scalars, vectors, quaternions {1, i, j, k}. This isomorphism is not incidental. bivectors and trivectors, and allows to reduce all products to el- As we have learned already for Cl(2, 0), also in Cl(3, 0), the ementary geometric products of basis vectors, which is used in even subalgebra is the algebra of rotors (rotation operators) computational optimization schemes for GA software like Ga- or spinors, and describes rotations in the same efficient way loop [9]. as do quaternions [3]. We therefore gain a real geometric interpretation of quaternions, as the oriented bi-vector side 3.1 Multiplication table and subalgebras of Cl(3, 0) faces of a unit cube, with edge vectors {e1, e2, e3}. For the full multiplication table of Cl(3, 0) we still need the 13 The minus signs are only chosen, to make the product of two geometric products of vectors and bivectors. By changing la- bivectors identical to the third, and not minus the third. bels in Table 1 (1 ↔ 3or2 ↔ 3), we get that 6 SICE JCMSI, Vol.4, No.1, January 2011

e2e23 = −e23e2 = e3, M = hMi0 + hMi1 + hMi2 + hMi3, (63)

e3e23 = −e23e3 = −e2 (59) hMi0 = m0, hMi1 = m1e1 + m2e2 + m3e3,

e1e31 = −e31e1 = −e3, hMi2 = m23e23 + m31e31 + m12e12, hMi3 = m123e123. e e = −e e = e , (60) 3 31 31 3 1 The set of all grade k elements, 0 ≤ k ≤ 3, is denoted Clk(3, 0). which shows that in general a vector and a bivector, which in- The multiplication table of Cl(3, 0), Table 2, reveals that mul- −1 = cludes the vector, anti-commute. The products of a vector with tiplication with i3 (or i3 −i3) consistently changes an ele- ≤ ≤ − its orthogonal bivector always gives the trivector i3 ment of grade k,0 k 3, into an element of grade 3 k, i.e. scalars to trivectors (also called pseudoscalars) and vectors to e1e23 = e23e1 = i3, e2e31 = e31e2 = i3, bivectors, and vice versa. This means that the geometric prod- uct of a multivector M ∈ Cl(3, 0) and the i (or e3e12 = e12e3 = i3, (61) 3 −1 = 14 i3 −i3) always results in the left or right contraction which also shows that in general vectors and orthogonal bivec- = = tors necessarily commute. Commutation relationships there- Mi3 M⌋i3, i3 M i3⌊M. (64) fore clearly depend on both properties and on Mapping grades k, 0 ≤ k ≤ 3, to grades 3 − k is known as the grades of the factors, which can frequently be exploited for duality or Hodge duality. Because of its usefulness and impor- computations even without the explicit use of coordinates. tance it gets the symbol ∗ as an upper index Table 2 gives the multiplication table of Cl(3, 0). The ele- ∗ = −1 = ments on the left most column are to be multiplied from the M : Mi3 −m0i3 − m1e23 − m2e31 − m3e12 left in the geometric product with the elements in the top row. +m23e1 + m31e2 + m12e3 + m123. (65) Every subtable of Table 2, that is closed under the geometric product represents a subalgebra of Cl(3, 0). Duality (65) in Cl(3, 0) changes the outer product of vectors We naturally find Table 1 as a subtable, because with R2 ⊂ R3 into the cross product we necessarily have Cl(2, 0) ⊂ Cl(3, 0). In general any pair of ∗ orthonormal vectors will generate a 4D subalgebra of Cl(3, 0) (e1 ∧ e2) = e1e2(−e123) = e3 = e1 × e2, ∗ ∗ specific to the plane spanned by the two vectors. (e2 ∧ e3) = e1, (e3 ∧ e1) = e2. (66) We also recognize the subtable of the even subalgebra with basis {1, e23, e31, e12} isomorphic to quaternions. Therefore we can use Then there is the subtable of {1, e123} of the central subalge- ∧ ∗ = × ∧ = × bra isomorphic to C. Any element of Cl(3, 0) squaring to −1 (a b) a b, a b i3(a b), (67) C generates a 2D subalgebra isomorphic to . This fundamental to translate well known results of standard 3D vector algebra observation leads to the generalization of the conventional com- into GA. Yet we emphasize, that the cross product a × b only ff plex Fourier transformation (FT) to Cli ord FTs, sometimes exists in 3D, where a bivector has a unique (orthogonal) dual called geometric algebra FTs [12]. Moreover, we also obtain vector. The outer product has the advantage, that it can be uni- ff generalizations of real and complex (dual) wavelets to Cli ord versally used in all dimensions, because geometrically speaking wavelets, which include quaternion wavelets. the parallelogram spanned by two linearly independent vectors We further have closed subtables with elements is always well defined, independent of the dimension of the em- = {1, e1, e23, e123 i3}, which are fully commutative and bedding space. correspond to tessarines, also called bicomplex numbers, Segre Duality15 also relates outer product and contraction of any quaternions, commutative quaternions, or Cartan subalgebras. A, B ∈ Cl(3, 0) In general we can specify any u ∈ R3, u2 = 1, and ∗ ∗ ∗ ∗ get a commutative tessarine subalgebra with basis {1, u, ui3, i3}, A ∧ B = (A⌋B) , A ∧ B = (A⌊B) , (68) which includes besides 1 and the vector u itself, the bivector A⌋B∗ = A∗⌊B = (A ∧ B)∗. (69) ui3 orthogonal to u, and the oriented unit volume trivector i3. Again GA provides a clear and useful geometric interpretation For vectors a, b ∈ R3 this can be rewritten as of tessarines and their products. Knowledge of the geometric interpretation is fundamental in order to see these algebras in a ∧ b∗ = a∗ ∧ b = (a · b)∗, nature and in problems at hand to be solved, and to identify a⌋b∗ = a∗⌊b = (a ∧ b)∗. (70) settings, where a restriction to subalgebra computations may save considerable computation costs. Inserting the duality definition this gives

3.2 The grade structure of Cl(3, 0) and duality a ∧ (i3b) = (i3a) ∧ b = i3(a · b),

A general multivector in Cl(3, 0), can be represented as a⌋(i3b) = (i3a)⌊b = i3(a ∧ b), (71)

M = m0 + m1e1 + m2e2 + m3e3 + m23e23 + m31e31 + m12e12 which are handy relations in GA computations. + R m123e123, m0,..., m123 ∈ . (62) 14 In the context of blade subspaces, whenever a blade B contains another blade A as factor, then the geometric product is reduced We have a scalar part hMi0 of grade 0, a vector part hMi1 of to left or right contraction: AB = A⌋B, BA = B⌊A. grade 1, a bivector part hMi2 of grade 2, and a trivector part 15 Equations (68) apply in all Clifford algebras, but (69) need hMi3 of grade 3 some modification if the pseudoscalar is not central. SICE JCMSI, Vol.4, No.1, January 2011 7

Let us do two simple examples. First, for a = b = e1. Then This projection formula is a first example of how GA allows we have i3a = i3b = e23, a · b = 1, and get to solve geometric problems by means of elementary algebraic products, rather than the often cumbersome conventional solu- = = a ∧ (i3b) e1 ∧ e23 i3, tion of systems of linear equations.

(i3a) ∧ b = e23 ∧ e1 = i3, i3(a · b) = i3. (72) The rejection (orthogonal part) of a blade A from a second blade B is given by Second, for a = e1, b = e2. Then we have i3a = e23, i3b = e31, P⊥(A) = (A ∧ B)B−1. (78) a ∧ b = e12, and get B If we interpret a general multivector A ∈ Cl(3, 0) as a a⌋(i b) = e ⌋e = he e i = −e , (73) 3 1 31 1 31 1 3 weighted sum of blades, where the weights can also be inter- (i3a)⌊b = e23⌊e2 = −e3, i3(a ∧ b) = i3e12 = −e3. preted as blade volumes, then by linearity the projection PB(A) [and rejection P⊥(A)] formula applied to a multivector A yields 3.3 The blade subspaces of Cl(3, 0) B the weighted sum of blades, each projected onto [rejected from] R3 A vector a ∈ can be used to define a hyperplane H(a) by the blade B. = + + + = { ∈ R3 | · = ⌋ = } Let us consider the example of A e1 e3 e12 e23 and H(a) x x a x a 0 , (74) −1 B = e12, B = −e12. We get which is an example of an inner product null space (IPNS) def- = + + + inition. It can also be used to define a line L(a) by PB(A) [(e1 e3 e12 e23)⌋e12](−e12) = [e2 + 0 − 1 + 0](−e12) = e1 + e12, (79) L(a) = {x ∈ R3 | x ∧ a = 0}, (75) which is exactly what we expect, because the vector e is in the which shows an outer product null space (OPNS) definition. 1 plane B = e , e is orthogonal to e and is projected out, the We can also use two linearly independent vectors to span a 12 3 12 bivector component e is also in the plane B = e , but the plane P(a ∧ b). By that we mean, that x = αa + βb,α,β ∈ R, if 12 12 bivector component e is perpendicular to e and is correctly and only if, x ∧ a ∧ b = 0. Let us briefly check that. Assume 23 12 projected out. Let us also compute the rejection x = αa + βb,α,β ∈ R, then x ∧ a ∧ b = (αa + βb) ∧ a ∧ b = α(a ∧ a) ∧ b − βa ∧ (b ∧ b) = 0. On the other hand, if x has a ⊥ = + + + PB(A) [(e1 e3 e12 e23) ∧ e12](−e12) component not in the plane spanned by a, b, then x ∧ a ∧ b re- = [0 + e e + 0 + 0](−e ) = e , (80) sults in a non-zero trivector, the oriented volume 3 12 12 3 spanned by x, a, b. Hence every plane spanned by two linearly which is again correct, because only the vector e3 is orthogonal independent vectors a, b ∈ R is in OPNS 16 to the plane B = e12, whereas e.g. e23 is not fully orthogonal , because it has the vector e in common with B = e . P = P(a ∧ b) = {x ∈ R3 | x = αa + βb, ∀ α, β ∈ R} 2 12 The general duality of the outer product and the left contrac- 3 = {x ∈ R | x ∧ a ∧ b = 0}. (76) tion in (68) and (69) has the remarkable consequence of duality of IPNS and OPNS subspace representations, because for all ∈ R3 Three linearly independent vectors a, b, c always span blades A ∈ Cl(3, 0) R3, and their outer product with any fourth vector x ∈ R3 is zero by default (because in Cl(3, 0) no 4-vectors exist). Therefore x⌋A = 0 ⇔ x ∧ A∗ = 0, ∀ x ∈ R3, (81) formally R3 = {x ∈ R3 | x ∧ a ∧ b ∧ c = 0}. ∗ = ∗ These geometric facts motivate the notion of blade. A blade i.e. because in general (x⌋A) x ∧ A for all x, A ∈ Cl(3, 0). ∗ ∗ = 2 = A is an element of Cl(3, 0), that can be written as the outer And because of (A ) A(−i3) −A, we also have = product A a1 ∧ ... ∧ ak of k linearly independent vectors x⌋A∗ = 0 ⇔ x ∧ A = 0, ∀ x ∈ R3. (82) 3 a1,..., ak ∈ R ,0 ≤ k ≤ 3. Another name for k-blade A is sim- ple k-vector. As we have just seen, every k-blade fully defines So we can either represent a subspace in OPNS or IPNS by a and characterizes a k-dimensional vector subspace V(A) ⊂ R3. blade A ∈ Cl(3, 0) as Such subspaces are therefore often simply called blade sub- = R3 = spaces. TheGAofabladesubspace Cl(V(A)) is a natural subal- VOPNS(A) {x ∈ | x ∧ A 0} (83) = 3 ∗ ∗ gebra of Cl(3, 0). Examples are Cl(V(e1)) Cl(1, 0) ⊂ Cl(3, 0), = {x ∈ R | x⌋A = 0} = VIPNS(A ). 3 Cl(V(e12)) = Cl(2, 0) ⊂ Cl(3, 0), and Cl(V(e123) = R ) = Cl(3, 0) ⊆ Cl(3, 0), etc. We also have the relationship The formulas for projection and rejection of vectors can now = R3 = be generalized to the projection and rejection of subspaces, rep- VIPNS(A) {x ∈ | x⌋A 0} (84) 3 ∗ ∗ resented by their blades in their OPNS representations, where = {x ∈ R | x ∧ A = 0} = VOPNS(A ). the grade of a blade shows the dimension of the blade subspace. The projection of a blade A onto a blade B is given by In application contexts both representations are frequently used and it should always be taken care to clearly specify if a blade = −1 PB(A) (A⌋B)B , (77) is meant to represent a subspace in the OPNS or the IPNS rep- resentation. In GA software like CLUCalc or CLUViz [19] this where the left contraction automatically takes care of the fact is done by an initial multivector interpretation command. that it would not be meaningful to project a higher dimensional 16 subspace V(A) onto a lower dimensional subspace V(B). To include e23 one can simply compute A − PB(A) = e3 + e23. 8 SICE JCMSI, Vol.4, No.1, January 2011

The outer product itself joins (or unifies) disjoint (orthogo- hABi = hABi0 = hBAi0. (91) nal) blade subspaces, e.g., the two lines L(a) and L(b) are uni- fied by the outer product to the plane P(a ∧ b) in (76). The For reversion (an involution) we have left contraction has the dual property to cut out one subspace ∼ ∼ (AB) = BA, a˜ = a, hAi0 = hAi0 = hAi , contained in a larger one and leave only the orthogonal comple- 0 hAi∼ = (−1)k(k−1)/2hAi . (92) ment. For example, if A = e1, B = e12, then A⌋B = e1⌋e12 = e2, k ee k e the orthogonal complement of V(A) in V(B). In general in the Apart from reversion, there is the automorphism main involu- OPNS, the orthogonal complement of V(A) in V(B) is therefore tion (or grade involution) which maps all vectors a → aˆ = −a, give by V(A⌋B). and therefore Let us assume two blades A, B ∈ Cl(3, 0), which represent R3 = s two blade subspaces V(A), V(B) ⊂ with intersection V(M) a1[... as = (−1) a1 ... as, (93) V(A) ∩ V(B), given by the common blade factor M ∈ Cl(3, 0) (called meet) i.e. even blades are invariant under the grade involution, odd grade blades change sign. The composition of reversion and A = A′ M = A′ ∧ M, grade involution is called Clifford conjugation = ′ = ∧ ′ B MB M B , (85) s A = (Aˆ) = (A˜), a1 ... as = (−1) as ... a1, ′ ′ k(k+1)/2 where A , B are the orthogonal complement blades of M in hAik = (f−1) c hAik. (94) A, B, respectively, Applied to a multivector M ∈ Cl(3, 0) we would get A′ = AM−1 = A⌊M−1, M = hMi + hMi −hMi −hMi , B′ = M−1B = M−1⌋B, (86) 0 1 2 3 Me = hMi0 −hMi1 + hMi2 −hMi3, where we freely use the fact that scalar factors like M−2 = Mb = hMi −hMi −hMi + hMi . (95) ±|M|−2 ∈ R of M−1 = M M−2, are not relevant for determining a 0 1 2 3 = subspace (in both OPNS and IPNS), i.e. V(M) V(λM), ∀ λ ∈ The following algebraic identities [8] are frequently applied R \ {0}. The join (union) J of any two blade subspaces V(A), V(B) a⌋(b ∧ c) = (a⌋b)c − (a⌋c)b = (a · b)c − (a · c)b can therefore be represented as Cl(3,0) = −a × (b × c), (96) = ′ ′ = ′ = ′ J A ∧ M ∧ B A ∧ B A ∧ B. (87) a⌋(b ∧ c ∧ d) = (b ∧ c ∧ d)⌊a, (97) Inserting the above contraction formulas for A′, B′ we get = (b ∧ c)(a · d) − (b ∧ d)(c · a) + (c ∧ d)(b · a), Cl(3=,0) J = A ∧ (M−1⌋B) = (A⌊M−1) ∧ B. (88) a ∧ b ∧ c ∧ d 0. (98)

In we can use the join J (or equivalently its inverse blade ff J−1) to compute M. The argument is from . If we cut 4. Cli ord’s geometric algebra of spacetime (STA) 18 1,3 out B from J (or J−1), then only A′ (or A′−1) will remain as the The GA Cl(1, 3) of flat Minkowski spacetime R [4], has − ′ 4 = orthogonal complement of B in J (or J 1). Cutting out A (or the 2 16D basis (e0 represents the time dimension) A′−1) from A itself leaves only the meet17 (intersection) M {1, e0, e1, e2, e3, σ1 = e10, σ2 = e20, σ3 = e30, ′−1 −1 M = A ∨ B = A ⌋A = (B⌋J )⌋A e23, e31, e12, e123, e230, e310, e120, e0123 = I} (99) = B⌊(J−1⌊A), (89) of one scalar, 4 vectors (basis of R1,3), 6 bivectors, 4 trivec- ⌋ = = The right most form M = B⌊(J−1⌊A) is obtained by cutting A tors and one pseudoscalar. The 4 vectors fulfill eµ eν ηµ,ν + − − − ≤ ≤ out of from J (or J−1), and using the resulting B′−1 = J−1⌊A, to diag( 1, 1, 1, 1)µ,ν , 0 µ,ν 3. get M as orthogonal complement of B′ in B. The commutator of two bivectors always gives a third bivec- tor, e.g., For example, if we assume A = e12, B = e23, then the join is obviously J = e = i . This allows to compute the meet as 1 123 3 (e e − e e ) = −e , ... (100) 2 10 20 20 10 12 M = A ∨ B = (B⌋J−1)⌋A Exponentiating all bivectors gives a group of rotors, the Lorentz = = = (e23⌋(−e123))⌋e12 e1⌋e12 e2, (90) group, its is the commutator algebra of the six bivectors. The even grade subalgebra Cl+(1, 3) with 8D basis which represents the line of intersection L(e2) of the two planes (l = 1, 2, 3): {1, {σl}, {Iσl}, I} is isomorphic to Cl(3, 0). P(e12) and P(e23). Assigning electromagnetic field vectors E~ = E1σ1 + E2σ2 + ~ = + + = 3.4 Practically important relations in Cl(3, 0) E3σ3, B B1σ1 B2σ2 B3σ3, the Faraday bivector is F E~ + IB~. All four Maxwell equations then unify into one Let A, B ∈ Cl(p, q, r). Some authors use angular brackets without index to indicate the scalar part of a multivector, e.g. ∇F = J, (101) 17 The symbol ∨ stems from Grassmann-Cayley algebra. 18 Note that some authors prefer opposite signature Cl(3, 1). SICE JCMSI, Vol.4, No.1, January 2011 9

= 3 µ,ν = 3 µ with vector derivative ∇ µ,ν=0 η eν∂µ µ=0 e ∂µ. Cl(4, 1) constitutes the Lie algebra of all conformal transforma- The Dirac equation of quantumP mechanicsP for the electron tions (exponentials of bivectors) of R3. Derivatives with respect becomes in STA simply to these bivector motion parameters allow motor optimization, used in pose estimation, structure and motion estimation, and = ∇ψIσ3 mψe0, (102) motion capture. where the spinor ψ is an even grade multivector, and m the mass 5.2 Blade representations of geometric objects in Cl(4, 1) of the electron. The electron spinor acts as a spacetime rotor , computer graphics and robotics are inter- resulting in observables, e.g., the current vector ested in the intuitive geometric OPNS meaning of blades (outer

J = ψe0ψ. (103) products of conformal points P1,..., P4) in conformal GA (Pp = point pair) e

5. Conformal geometric algebra Pp = P1 ∧ P2, Circle = P1 ∧ P2 ∧ P3,

5.1 Points, planes and motors in Cl(4, 1) Sphere = P1 ∧ P2 ∧ P3 ∧ P4, (107) In order to linearize translations as in (106) we need the conformal model [2],[15],[16] of Euclidean space (in Cl(4, 1)), homogeneously representing the point pair {P1, P2}, the cir- which adds to x ∈ R3 ⊂ R4,1 two null-vector dimensions for the cle through {P1, P2, P3}, and the sphere with surface points origin e and infinity e , e ⌋e = −1, to obtain by a non-linear {P1, P2, P3, P4}. Abstractly these are 0D, 1D, 2D, and 3D 0 ∞ 0 ∞ R3 embedding in R4,1 the homogeneous19 conformal point spheres S with center c ∈ , radius r ≥ 0, and Euclidean 3 carrier blade directions D: 1 for points P, distance d ∈ R of P2 = + 1 2 + 2 = 2 = 2 = from P1, circle plane bivector ic, and sphere volume trivector X x x e∞ e0, e0 e∞ X 0, 2 is ∝ e123 = i3, see [13]. ⌋ = − X e∞ 1. (104) 1 S = D ∧ c + [ (c2 + r2)D − c(c⌋D)]e 2 ∞ The condition X2 = 0 restricts the point to the so- + + ⌊ called null-cone of R4,1, similar to the light cone of special De0 (D c)E, (108) ⌋ = ⌋ = − relativity. The second condition X e∞ e0 e∞ 1 further with the origin-infinity bivector E = e ∧ e . R4,1 ∞ 0 restricts all points to a hyperplane of , similar to points in A point X ∈ R4,1 is on the sphere S , if and only if S ∧ X = 0. projective geometry. The remaining point manifold is again 3D. By duality this is equivalent to X⌋S ∗ = 0, which is equivalent See [4],[5],[13],[15],[18]–[20],[23] for details and illustrations. in Euclidean terms to (x − c)2 = r2, where x is the Euclidean ∈ R3 We can always move from the Euclidean representation x part of X, c ∈ R3 the center of S , and r the radius of S . ∈ R4,1 to the conformal point X by adding the e0 and e∞ compo- These objects are stretched to infinity (flattened) by wedging nents, or by dropping them (projection (77) with i3, or rejection with e∞ (78) with E = e∞ ∧ e0).

The contraction of two conformal points gives their Eu- F = S ∧ e∞ = D ∧ ce∞ − DE clidean distance and therefore a plane m equidistant from two = Dc e − DE, (109) = + 1 2 + = + 1 2 + ⊥ ∞ points A a 2 a e∞ e0, B b 2 b e∞ e0 as 3 where c⊥ ∈ R indicates the support vector (shortest distance 1 X⌋A = − (x − a)2 (105) from the origin): p for finite-infinite point pair P ∧ e∞, c⊥ for 2 the line P1 ∧ P2 ∧ e∞ and the plane P1 ∧ P2 ∧ P3 ∧ e∞, and 0for ⇒ X⌋(A − B) = 0, m = A − B ∝ n + d e∞, 3 the 3D space R itself (F = −isE ∝ I5). All geometric entities can be extracted easily (as derived and illustrated in [13]) where n ∈ R3 is a unit normal to the plane and d its signed scalar distance from the origin, “∝” means proportional. Reflecting at 2 S S ′ 3 = − ⌊ , = , two parallel planes m, m with distance t/2 ∈ R we get the D F E r 2 Db translation operator (by t ) c = D−1[S ∧ (1 + E)]⌊E. (110) 1 X′ = m′mXmm′ = T −1XT , T := mm′ = 1+ te .(106) The conformal model is therefore also a complete super model t t t 2 ∞ for projective geometry. Reflection at two non-parallel planes m, m′ yields the rotation In the dual IPNS representation spheres (points for r = 0) around the m, m′-intersection by twice the angle subtended by and planes become vectors in R4,1 m, m′. ∗ 1 2 Group theoretically the conformal group C(3) [23] is iso- Sphere = C − r e∞, morphic to O(4, 1) [24] and the Euclidean group E(3) is the 2 ∗ = + subgroup of O(4, 1) leaving infinity e∞ invariant. Now general Plane n de∞ (111) translations and rotations are both linearly represented by ge- where C is the conformal center point, n := c /|c |∝ i i , “∝” ometric products of invertible vectors (called Clifford mono- ⊥ ⊥ c 3 means proportional. mials, Lipschitz elements, versors, or simply motion opera- A point X ∈ R4,1 is on the plane Plane∗, if and only if tors = motors). The commutator algebra of the bivectors of X⌋Plane∗ = 0, which is equivalent in Euclidean terms to 19 Unique up to a nonzero scalar factor. x · n = d, where x is the Euclidean part of X, n ∈ R3 the 10 SICE JCMSI, Vol.4, No.1, January 2011 oriented unit normal vector of Plane∗, and d its signed scalar This leads to the vector derivatives [10] distance from the origin. Points are spheres with r = 0, circles and lines are intersec- ∇ f1 = ∇· x = 3, (n = 3), ∇ f2 = 2x, ∇ f3 = x/|x|, tion bivectors −1 2 ∇ f4 = khAik, ∇ f5 = r = r/r . (120) Circle∗ = S ∗ ∧ S ∗, 1 2 We can compute the derivative from the differential for ∇a: ∗ = ∗ ∗ Line Plane1 ∧ Plane2, (112) regard x = constant, a = variable, and compute of two sphere, and two plane vectors, respectively. Inversion ∇ f = ∇a (a ·∇ f ) (121) at a sphere becomes X → SXS = S ∗XS ∗, inversion at two concentric spheres gives scaling. For example, the conformal The vector derivative obeys sum rules and product rules center point C of a sphere S is C = S e∞ S . (overdots indicate functions to be differentiated). But non- commutativity leads to modifications, because ∇˙ f g˙ , f ∇˙ g˙. ff 6. Cli ord analysis The product rule is p,q Multivector valued functions f : R → Clp,q, p + q = n, n p,q = ˙ ˙ + ˙ have 2 blade components ( fA : R → R) ∇( fg) (∇ f )g ∇ f g˙ n f (x) = fA(x)eA. (113) = (∇˙ f˙)g + ek f (∂kg). (122) XA Xk=1 We define the inner product of two Rn → Cl functions f, g n,0 ff by The chain rules for the vector di erential and the vector deriva- tive of f (x) = g(λ(x)), λ(x) ∈ R, are ( f, g) = f (x)g(x) dn x Z n ∂g R a ·∇ f = {a ·∇λ(x)} , g ∂λ = n eAeB fA(x)gB(x) d x, (114) ∂g ZRn XA,B ∇ f = (∇λ) . (123) e ∂λ 2 n n and the norm for functions in L (R ; Cln,0) = { f : R → Cln,0 | Example: For a = ek (1 ≤ k ≤ n) we have k f k < ∞} as ∂g e ·∇ f = ∂ f = (∂ λ) . (124) k f k2 = h( f, f )i = | f (x)|2dn x. (115) k k k ∂λ ZRn The possibility to differentiate with respect to any multivec- GA thus provides a new formalism for differentiation on vector tor (representing a geometric object or a transformation opera- and for mappings between surfaces, including con- tor) is essential for solving optimization problems in GA. formal mappings [23]. ff We can then define the vector differential [7],[10] of f for Within Cli ord analysis we can define quaternionic and Clif- any constant a ∈ Rp,q as ford FTs and wavelet transforms, with applications in image and signal processing, and multivector wave packet analysis f (x + ǫa) − f (x) a ·∇ f (x) = lim , (116) [12]. We also obtain a single fundamental theorem of multivec- ǫ→0 ǫ tor calculus, which unifies a host of classical theorems of in- where a ·∇ is scalar. The vector derivative ∇ can be expanded tegration for path independence, Green’s, Stokes’, and Gauss’ in terms of the basis vectors ek as divergence theorems. Monogenic functions f , ∇ f = 0, gen- n eralize complex analytic functions, and allow us to generalize Cauchy’s famous integral theorem for analytic functions in the ∇ = ∇x = ek∂k, Xk=1 complex plane to n dimensions [22]. = = ∂ ∂k ek ·∇ . (117) Acknowledgments ∂xk Now to the King eternal, immortal, invisible, the only God, be Both a ·∇ and ∇ are coordinate independent. Replacing the honor and glory for ever and ever. Amen. [Bible, 1 Tim. 1:17] I vectors a, x by multivectors gives the multivector derivative do thank my family for their patient support, Y. Kuroe, T. Nitta [7],[11]. and the anonymous reviewers. E.H. found several Wikipedia Examples. The five multivector functions articles helpful. = = 2 = f1 x, f2 x , f3 |x|, References = f4 x ·hAik, 0 ≤ k ≤ n, (118) [1] R. Abłamowicz, Structure of spin groups associated with de-

f5 = log r, r = x − x0, r = |r|, generate Clifford algebras, J. Math. Phys. 27(1) (1986) 1–6. [2] L. V. Ahlfors, Moebius transformations in Rn expressed have the following vector differentials [10] through 2×2 matrices of Clifford numbers, Complex Variables, 5 (1986) 215–224. a · x a ·∇ f1 = a, a ·∇ f2 = 2a · x, a ·∇ f3 = , [3] S. Altmann, Rotations, Quaternions, and Double Groups, |x| Dover, New York, 1986. a · r [4] C. Doran, A. Lasenby, Geometric Algebra for Physicists, CUP, a ·∇ f4 = a ·hAik, a ·∇ f5 = . (119) r2 Cambridge (UK), 2003. SICE JCMSI, Vol.4, No.1, January 2011 11

[5] Dorst L., Fontijne D., Mann S., Geometric Algebra for Com- puter Science – An Object-Oriented Approach to Geometry, Morgan Kaufmann, San Francisco, 2007. [6] M.I. Falcao, H.R. Malonek, Generalized Exponentials through Appell sets in Rn+1 and Bessel functions, AIP Conference Pro- ceedings, Vol. 936, pp. 738–741 (2007). [7] D. Hestenes, G. Sobczyk, Clifford Algebra to Geometric Cal- culus, Kluwer, Dordrecht, 1992. [8] D. Hestenes, New foundations for classical mechanics, Kluwer, Dordrecht, 1999. [9] D. Hildenbrand, J. Pitt and A. Koch, Gaalop – High Perfor- mance Parallel Computing Based on Conformal Geometric Al- gebra, In E. Bayro-Corrochano, G. Scheuermann (eds.), Geo- metric Algebra Computing in Engineering and Computer Sci- ence, Springer, Berlin, (2010) 477–494. [10] E. Hitzer, Vector Differential Calculus, Mem. Fac. Eng. Fukui Univ. 50(1), (2002) 109–125 . [11] E. Hitzer, Multivector Differential Calculus, Adv. in Appl. Cliff. Algs., 12(2), (2002) 135–182. [12] E. Hitzer, Quaternion Fourier Transformation on Quaternion Fields and Generalizations, Adv. in App. Cliff. Alg., 17, (2007) 497–517. [13] E. Hitzer, K. Tachibana, S. Buchholz, I. Yu, Carrier Method for the General Evaluation and Control of Pose, Molecular Con- formation, Tracking, and the Like, Adv. in App. Cliff. Alg., 19(2), (2009) 339–364. [14] R. Horn, C. Johnson, Matrix Analysis, CUP, Cambridge (UK), 1985. [15] H. Li, Invariant Algebras and Geometric Reasoning, World Scientific, Singapore, 2008. [16] S. Lie, On a class of geometric transformations, PhD thesis, University of Oslo (formerly Christiania), 1871. [17] P. Lounesto, Clifford Algebras and Spinors, CUP, Cambridge (UK), 2001. [18] A. Macdonald, Linear and Geometric Algebra, CreateSpace, LaVergne, 2011. [19] C. Perwass, Free software CLUCalc for intuitive 3D visualiza- tions and scientific calculations. http://www.CLUCalc.info [20] C. Perwass, Geometric Algebra with Applications in Engineer- ing, Springer, Berlin, 2009. [21] I. Porteous, Clifford Algebras and the Classical Groups, CUP, Cambridge (UK), 1995. [22] G. Sobczyk, O. L. Sanchez, Fundamental Theorem of Calcu- lus, Adv. Appl. Cliff. Algs., 21, (2011) 221–231. [23] G. Sobczyk, Conformal Mappings in Geometric Algebra, No- tices of the AMS, 59(2), (2012) 264–273. [24] W.-K. Tung, in Physics, World Scientific, Sin- gapore, 1985. [25] E. Vinberg, A Course in Algebra, Graduate Series in Mathe- matics, 56, AMS, Providence, Rhode Island, 2003.

Eckhard HITZER (Member) He received his M.S. from the Techn. Univ. of Mu- nich, Germany, in 1992, and his Ph.D. from the Univ. of Konstanz, Germany, in 1996. In 1996 he joined the RIMS in Kyoto, Japan, for 2 years as a postdoc. In 1998, he joined the Univ. of Fukui, where he is currently a part time lecturer in the Dep. of Appl. Phys. His research in- terests include Cliff. algebra and analysis, visualization, and neural computing. He is a member of DPG, JPS, CAVi, CAIROS, ENNS, AMS, JSIAM, SICE and the Task Force on Complex-Valued NNs in the IEEE CIS NNs Techn. Comm.