解説:特集 コンピューテーショナル・インテリジェンスの新展開 —クリフォード代数表現など高次元表現を中心として— Introduction to Clifford’s Geometric Algebra
Eckhard HITZER* *Department of Applied Physics, University of Fukui, Fukui, Japan *E-mail: [email protected] Key Words:hypercomplex algebra, hypercomplex analysis, geometry, science, engineering. JL 0004/12/5104–0338 C 2012 SICE
erty 15), 21) that any isometry4 from the vector space V Abstract into an inner-product algebra5 A over the field6 K can Geometric algebra was initiated by W.K. Clifford over be uniquely extended to an isometry7 from the Clifford 130 years ago. It unifies all branches of physics, and algebra Cl(V )intoA. The Clifford algebra Cl(V )is has found rich applications in robotics, signal process- the unique associative and multilinear algebra with this ing, ray tracing, virtual reality, computer vision, vec- property. Thus if we wish to generalize methods from tor field processing, tracking, geographic information algebra, analysis, calculus, differential geometry (etc.) systems and neural computing. This tutorial explains of real numbers, complex numbers, and quaternion al- the basics of geometric algebra, with concrete exam- gebra to vector spaces and multivector spaces (which ples of the plane, of 3D space, of spacetime, and the include additional elements representing 2D up to nD popular conformal model. Geometric algebras are ideal subspaces, i.e. plane elements up to hypervolume ele- to represent geometric transformations in the general ments), the study of Clifford algebras becomes unavoid- framework of Clifford groups (also called versor or Lip- able. Indeed repeatedly and independently a long list of schitz groups). Geometric (algebra based) calculus al- Clifford algebras, their subalgebras and in Clifford al- lows e.g., to optimize learning algorithms of Clifford gebras embedded algebras (like octonions 17))ofmany neurons, etc. spaces have been studied and applied historically, often . under different names. 1 Introduction Some of these algebras are complex numbers (and W.K. Clifford (1845-1879), a young English Goldsmid the complex number plane), hyperbolic numbers (split professor of applied mathematics at the University Col- complex numbers, real tessarines), dual numbers, lege of London, published in 1878 in the American Jour- quaternions, biquaternions (complex quaternions), dual nal of Mathematics Pure and Applied a nine page long quaternions, Pl¨ucker coordinates, bicomplex numbers paper on Applications of Grassmann’s Extensive Alge- (commutative quaternions, tessarines, Segre quater- bra. In this paper, the young genius Clifford, stand- nions), Pauli algebra (space algebra), Dirac algebra ing on the shoulders of two giants of algebra: W.R. (space-time algebra, Minkowski algebra), algebra of Hamilton (1805-1865), the inventor of quaternions,and physical space, para-vector algebra, spinor algebra, Lie H.G. Grassmann (1809-1877), the inventor of extensive algebras, Cartan algebra, versor algebra, rotor algebra, algebra, added the measurement of length and angle motor algebra, Clifford bracket algebra, conformal alge- to Grassmann’s abstract and coordinate free algebraic bra, algebra of differential forms, etc. methods for computing with a space and all its sub- Section 1.1 can also be skipped by readers less inter- spaces. Clifford thus unified and generalized in his geo- ested in mathematical definitions. Then follow sections metric algebras (=Clifford algebras) the works of Hamil- on the geometric algebras of the plane Cl(2, 0), of 3D ton and Grassmann by finalizing the fundamental con- space Cl(3, 0), both with many notions also of impor- cept of directed numbers 23). Any Clifford algebra Cl(V ) is generated from an 4A K-isometry between two inner-product spaces is a K-linear 1 inner-product vector space (V , a · b : a, b ∈ V → R) mapping preserving the inner products. 5 by Clifford’s geometric product setting2 the geometric A K-algebra is a K-vector space equipped with an associative and multilinear product. An inner-product K-algebra is a K- product3 of any vector with itself equal to their inner algebra equipped with an inner product structure when taken · product: aa = a a. We indeed have the universal prop- as K-vector space. 6Important fields are real R and complex numbers C,etc. 7 1The inner product defines the measurement of length and angle. That is a K-linear homomorphism preserving the inner prod- 2This setting amounts to an algebra generating relationship. ucts, i.e., a K-linear mapping preserving both the products of 3No product sign will be introduced, simple juxtaposition im- the algebras when taken as rings, and the inner products of the plies the geometric product just like 2x =2× x. algebras when taken as inner-product vector spaces.
338 計測と制御第 51 巻第4 号 2012 年 4 月号 tance in higher dimensions, and of spacetime Cl(1, 3), pendent definition: aa = a · a, ∀ a ∈ Rp,q,r 7).This conformal geometric algebra Cl(4, 1), and finally on even applies to Clifford analysis (Geometric Calculus). Clifford analysis. For further study we recommend Clifford algebra is thus ideal for computing with geo- e.g. 5). metrical invariants 15). A review of five different ways 1.1 Definitions to define GA, including one definition based on vector Definition of an algebra 25):LetA be a vector space space basis element multiplication rules, and one defi- over the reals R with an additional binary operation nition focusing on Cl(p, q, r)asauniversal associative from A×A to A, denoted here by ◦ (x ◦ y is the algebra, is given in chapter 14 of the textbook 17). product of any x, y ∈A). Then A is an algebra over In general Ak denotes the grade k part of A ∈ R if the following identities hold ∀ x, y, z ∈A,and Cl(p, q, r). The parts of grade 0, (s − k), (k − s), and “scalars” α, β ∈ R : (1,2) Left and right distributivity: (s + k), respectively, of the geometric product of a k- (x + y) ◦ z = x ◦ z + y ◦ z, x ◦ (y + z)=x ◦ y + x ◦ z.(3) vector Ak ∈ Cl(p, q, r)withans-vector Bs ∈ Cl(p, q, r) Compatibility with scalars: (αx) ◦ (βy)=(αβ)(x ◦ y). This means that x ◦ y is bilinear. The binary operation Ak ∗Bs := AkBs0,Ak Bs := AkBss−k, (2) is often referred to as multiplication in A, which is not AkBs := AkBsk−s,Ak ∧ Bs := AkBsk+s, necessarily associative. Definition of inner product space 1): An inner prod- are called scalar product, left contraction (zero for s< uct space is a vector space V over R together with k), right contraction (zero for kouter product, respectively. These definitions extend by isfies ∀ x, y, z ∈ V and ∀ α ∈ R: (1) Symmetry: linearity to the corresponding products of general multi- x, y = y,x. (2) Linearity in the first argument: vectors. The various derived products of (2) are related, αx, y = αx, y, x + y,z = x, z + y,z. e.g. by Note: We do not assume positive definiteness. Definition of inner product algebra: An inner product (A ∧ B) C = A (B C), algebra, is an algebra equipped with an inner product ∀A, B, C ∈ Cl(p, q, r). (3) A×A→R. Definition of Clifford’s geometric algebra (GA) 6), 17): Note that for vectors a, b in Rp,q,r ⊂ Cl(p, q, r)wehave Let {e1,e2,...,ep,ep+1,...,ep+q,ep+q+1,...,en},with 2 ∧ n = p+q+r, ek = εk, εk =+1fork =1,...,p, εk = −1 ab = a b + a b, for k = p+1,...,p+q, εk =0fork = p+q+1,...,n,be a b = ab = a · b = a ∗ b, (4) an orthonormal base of the inner product vector space p,q,r R with a geometric product according to the multi- where a · b is the usual inner product of Rp,q,r. plication rules For r = 0 we often denote Rp,q = Rp,q,0,and Cl(p, q)=Cl(p, q, 0). For Euclidean vector spaces ekel + elek =2εkδk,l,k,l=1,...n, (1) (n = p)weuseRn = Rn,0 = Rn,0,0,andCl(n)= Cl(n, 0) = Cl(n, 0, 0). The even grade subalgebra of where δk,l is the Kronecker symbol with δk,l =1fork = Cl(p, q, r) is denoted by Cl+(p, q, r), the k-vectors of its l,andδk,l =0fork = l. This non-commutative product basis have only even grades k.Everyk-vector B that and the additional axiom of associativity generate the n can be written as the outer product B = b1 ∧b2 ∧...∧bk 2 -dimensional Clifford geometric algebra Cl(p, q, r)= p,q,r p,q,r of k vectors b1,b2,...,bk ∈ R is called a simple k- Cl(R )=Clp,q,r = Gp,q,r = Rp,q,r over R.The vector or blade. set {eA : A ⊆{1,...,n}} with eA = eh eh ...eh , 1 2 k Definition of outermorphism 7), 18):Anoutermor- 1 ≤ h1 < ... < hk ≤ n, e∅ =1,formsagraded phism is the unique extension to Cl(V ) of a vector (blade) basis of Cl(p, q, r). The grades k range from 0 space map for all a ∈ V , f : a → f(a) ∈ V ,and for scalars, 1 for vectors, 2 for bivectors, s for s-vectors, p,q,r is given by the mapping B = b1 ∧ b2 ∧ ... ∧ bk → up to n for pseudoscalars. The vector space R is in- f(b1) ∧ f(b2) ∧ ... ∧ f(bk)inCl(V ), for every blade cluded in Cl(p, q, r) as the subset of 1-vectors. The gen- B in Cl(V ). eral elements of Cl(p, q, r) are real linear combinations of basis blades eA, called Clifford numbers, multivectors 2. Clifford’s GA of a Euclidean or hypercomplex numbers. plane Note: The definition of Clifford’s GA is fundamen- tally coordinate system independent, i.e. coordinate free. In order to demonstrate how to compute with Clifford Equation (1) is fully equivalent to the coordinate inde- numbers, we begin with a low dimensional example.
計測と制御 第 51 巻第4 号 2012 年 4 月号 339 2.1 Example of Cl(2, 0) Table 1 Multiplication table of plane Clifford A Euclidean plane R2 = R2,0 = R2,0,0 is spanned by algebra Cl(2, 0). 2 e1,e2 ∈ R with 1 e1 e2 e12 1 1 e1 e2 e12 · · · e1 e1 = e2 e2 =1,e1 e2 =0. (5) e1 e1 1 e12 e2 2 e2 e2 −e12 1 −e1 {e1,e2} orthonormal R is an vector basis of . e12 e12 −e2 e1 −1 Under Clifford’s associative geometric product we set 2 2.2 Algebraic unification and vector inverse e1 = e1e1 := e1 · e1 =1, The general geometric product of two vectors a, b ∈ 2 · e2 = e2e2 := e2 e2 =1, (6) R2 2 2 and (e1 + e2)(e1 + e2)=e1 + e2 + e1e2 + e2e1 (7)
=2+e1e2 + e2e1 := (e1 + e2) · (e1 + e2)=2. ab =(a1e1 + a2e2)(b1e1 + b2e2) = a1b1 + a2b2 +(a1b2 − a2b1)e12 (14) Therefore 1 1 = (ab + ba)+ (ab − ba)=a · b + a ∧ b, e1e2 + e2e1 =0 ⇔ e1e2 = −e2e1, (8) 2 2 i.e. the geometric product of orthogonal vectors forms has therefore a scalar symmetric inner product part a new entity, called unit bi-vector e12 = e1e2 by Grass- 1 (ab + ba)=a · b = a1b1 + a2b2 mann, and is anti-symmetric. General bivectors in 2 Cl(2, 0) are βe12, ∀ β ∈ R \{0}. For orthogonal vec- = |a||b| cos θa,b, (15) tors the geometric product equals Grassmann’s anti- symmetric outer product (exterior product, symbol ∧) eqnarray a bi-vector skew-symmetric outer product part
e12 = e1e2 = e1 ∧ e2 1 (ab − ba)=a ∧ b =(a1b2 − a2b1)e12 2 = −e2 ∧ e1 = −e2e1 = −e21. (9) = |a||b|e12 sin θa,b. (16) Using associativity, we can compute the products We observe that parallel vectors (θa,b = 0) commute, 2 ◦ e1e12 = e1e1e2 = e1e2 = e2, ab = a · b = ba, and orthogonal vectors (θa,b =90) e2e12 = −e2e21 = −e1, (10) anti-commute, ab = a ∧ b = −ba. The outer product part a ∧ b represents the oriented area of the parallel- which represent a mathematically positive (anti- a, b R2 ◦ ogram spanned by the vectors in the plane of , clockwise) 90 rotation. The opposite order gives with oriented magnitude
e12e1 = −e21e1 = −e2,e12e2 = e1, (11) −1 det(a, b)=|a||b| sin θa,b =(a ∧ b)e12 , (17) which represents a mathematically negative (clockwise) −1 2 ◦ where e = −e12, because e = −1. 90 rotation. The bivector e12 acts like a rotation op- 12 12 erator, and we observe the general anti-commutation With the Euler formula we can rewrite the geometric property product as | || | ae12 = −e12a, ab = a b (cos θa,b + e12 sin θa,b) 2 | || | θa,be12 ∀a = a1e1 + a2e2 ∈ R ,a1,a2 ∈ R. (12) = a b e , (18)
2 The square of the unit bivector is −1, again because e12 = −1. 2 The geometric product of vectors is invertible for all e = e1e2e12 = e1(−e1)=−1, (13) 12 vectors with non-zero square a2 =0 C just like the imaginary unit j of complex numbers . −1 2 −1 2 Table 1 is the complete multiplication table of the a := a/a ,aa = aa/a =1, a Clifford algebra Cl(R2)=Cl(2, 0, 0) = Cl(2, 0) with al- a−1a = a = a2/a2 =1. (19) a2 gebra basis elements {1,e1,e2,e12} (which includes the vector basis of R2). The even subalgebra spanned by The inverse vector a/a2 is a rescaled version (reflected {1,e12} (closed under geometric multiplication), con- at the unit circle) of the vector a. This invertibility sisting of even grade scalars (0-vectors) and bivectors leads to enormous simplifications and ease of practical (2-vectors), is isomorphic to C. computations.
340 計測と制御 第 51 巻第4 号 2012 年 4 月号 2.3 Geometric operations and transformations vectors. It is called a rotor,orspinor,ifthenumberof For example, the projection of one vector x ∈ R2 onto vectors is even. It is called a unit versor if its magnitude another a ∈ R2 is is 1. ∈ R2 ∈ N a a a Every versor A = a1 ...ar,a1,...,ar ,r x = |x | cos θa,x =(x · ) |a| |a| |a| has an inverse a −1 −1 −1 −1 2 2 =(x · a) =(x · a)a . (20) A = ar ...a1 = ar ...a1/(a1 ...ar), (25) |a|2 such that The rejection (perpendicular part) is AA−1 = A−1A =1. (26) −1 −1 x⊥ = x − x = xaa − (x · a)a This makes the set of all versors in Cl(2, 0) a group, the =(xa − x · a)a−1 =(x ∧ a)a−1. (21) so called Lipschitz group with symbol Γ(2, 0), also called 8 Clifford group or versor group. Versor transformations We can now use x,x⊥ to compute the reflection 9 apply via outermorphisms to all elements of a Clifford of x = x + x⊥ at the line (hyperplane )withnormal algebra. It is the group of all reflections and rotations vector a, which means to reverse x →−x of R2. The reverse product order of a versor represents −1 −1 x = −x + x⊥ = −a ax + a ax⊥ an involution (applying it twice leads to identity) called 10 −1 −1 −1 reversion = −a xa − a x⊥a = −a (x + x⊥)a −1 ∼ = −a xa. (22) A =(a1 ...ar) = ar ...a1. (27)
The combination of two reflections at two lines (hyper- In the case of Cl(2, 0) we have planes) with normals a, b Γ(2, 0) = Cl−(2, 0) ∪ Cl+(2, 0) (28)
x = −b−1xb = b−1a−1xab =(ab)−1xab where the odd grade vector part Cl−(2, 0) = R2 gener- = R−1xR, (23) ates reflections, and the even grade part of scalars and + bivectors Cl (2, 0) = {A | A = α + βe12,α,β ∈ R} gen- gives a rotation. The rotation angle is α =2θa,b and erates rotations. The normalized subgroup of versors is the rotor called pin group
θ e 1 αe { ∈ | ± } R = e a,b 12 = e 2 12 , (24) Pin(2, 0) = A Γ(2, 0) AA = 1 . (29) In the case of Cl(2, 0) we have where the lengths |a||b| of ab cancel against |a|−1|b|−1 in −1 (ab) .TherotorR gives the spinor form of rotations, Pin(2, 0) (30) fully replacing rotation matrices, and introducing the 2 2 = {a ∈ R | a =1}∪{A | A =cosϕ + e12 sin ϕ, ϕ ∈ R}. same elegance to real rotations in R2, like in the com- plex plane. The pin group has an even subgroup, called spin group In 2D, the product of three reflections, i.e. of a ro- Spin(2, 0) = Pin(2, 0) ∩ Cl+(2, 0). (31) tation and a reflection, leads to another reflection. In + 2D the product of an odd number of reflections always As mentioned above Cl (2, 0) has the basis {1,e12} and results in a reflection. That the product of an even is thus isomorphic to C.InthecaseofCl(2, 0) we have number of reflections leads to a rotation is true in gen- explicitly eral dimensions. These transformations are in Clifford algebra simply described by the products of the vec- Spin(2, 0) (32) tors normal to the lines (hyperplanes) of reflection and = {A | A =cosϕ + e12 sin ϕ, ϕ ∈ R}. called versors. The spin group has in general a spin plus subgroup11 Definition of a versor 15):Aversor refers to a Clifford monomial (product expression) composed of invertible Spin+(2, 0) = {A ∈ Spin(2, 0) | AA =+1}. (33) 10 † 8Note that reflections at hyperplanes are nothing but the House- Reversion is an anti-automorphism. Often a dagger A is used holder transformations 14) of matrix analysis. instead of the tilde, as well as the term transpose. 11 9AhyperplaneofanDspaceisa(n − 1)D subspace, thus a Note, that in general for Clifford algebras Cl(n, 0) of Euclidean 2 n,0 hyperplane of R , n =2,isa1D(2− 1 = 1) subspace, i.e. a spaces R we have the identity Spin(n) = Spin+(n), where line. Every hyperplane is characterized by a vector normal to Spin(n) = Spin(n, 0). The reason is that AA< 0 is only possi- the hyperplane. ble for non-Euclidean spaces Rp,q,withq>0.
計測と制御 第 51 巻第4 号 2012 年 4 月号 341 The groups Pin(2, 0), Spin(2, 0), and Spin+(2, 0) are we get the norm |M| of a multivector as two-fold coverings12 of the orthogonal group O(2, 0) 24), 2 the special orthogonal group SO(2, 0), and the compo- |M| = M ∗ M = MM0 2 2 2 2 nent of the special orthogonal group connected to the = m0 + m1 + m2 + m12, (40) identity SO+(2, 0). 1 Let us point out, that this natural combination of which for vectors M ∈ Cl (2, 0) is identical to the reflections leading to spinors rightly indicates the way length of a vector, and for even grade subalgebra el- + how Clifford’s GA is able to give a fully real algebraic ements M ∈ Cl (2, 0) to the modulus of complex num- description to quantum mechanics, with a clear cut ge- bers, and for pure bivectors like a ∧ b = ab2 gives ometric interpretation. the area content of the parallelogram spanned by the ∈ R2 2.4 Vectors, k-vectors and multivectors vectors a, b A general element in Cl(2, 0), also called multivector |a ∧ b| = |a||b||sin θa,b| = | det(a, b)|. (41) can be represented as
The reversion operation maps e12 = −e12,itisthere- M = m0 + m1e1 + m2e2 + m12e12, fore the equivalent of complex conjugation in the iso- ∈ R + ∼ m0,m1,m2,m12 . (34) morphism Cl (2, 0) = C, fully consistent with its use in the norm (40). Like real and imaginary parts of a complex number, we 2.5 Generalizing inner and outer products to multivec- have a scalar part M0 of grade 0, a vector part M1 tors of grade 1, and a bivector part M2 of grade 2 The grade extraction also allows us to generalize the
M = M0 + M1 + M2, (35) inner product of vectors, which maps two grade one vectors a, b ∈ R2 = Cl1(2, 0) to a grade zero scalar with 0 a · b = ab(1−1=0) ∈ R = Cl (2, 0), (42) M0 = m0, M1 = m1e1 + m2e2, and therefore lowers the grade by 1. In contrast, the M2 = m12e12. (36) outer product with a vector raises the grade by 1, i.e.
The set of all grade k elements, 0 ≤ k ≤ 2, is denoted 2 a ∧ b = ab(1+1=2) ∈ Cl (2, 0). (43) Clk(2, 0). ≤ ≤ Grade extraction ... k,0 k 2, allows to do many In general the left contraction (symbol )ofak-vector useful computations, like e.g. the angle between two Ak = Ak with a l-vector Bl = Bl is defined as vectors (atan = tan−1 = arctan) −1 Ak Bl = AkBl (l−k), (44) ab2e12 (18) sin θa,b θa,b =atan =atan . (37) ab0 cos θa,b which is zero if 0 >l− k, i.e. if k>l. Figuratively speaking (like with projections), we can only contract The symmetric scalar part of the geometric product of objects of the same or lower dimension from the left onto two multivectors M,N ∈ Cl(2, 0) is also called their an object on the right. The right contraction (symbol scalar product and because of its fundamental impor- ) is defined as tance denoted with a special product sign ∗
AkBl = AkBl(k−l), (45) M ∗ N = MN0 (38)
= m0n0 + m1n1 + m2n2 − m12n12 = N ∗ M, which is zero if k − l<0, i.e. if k 342 計測と制御 第 51 巻第4 号 2012 年 4 月号 The reversion changes the order of factors and therefore to quaternions {1, i, j, k}. This isomorphism is not in- relates left and right contractions by cidental. As we have learned already for Cl(2, 0), also in Cl(3, 0), the even subalgebra is the algebra of rotors ∼ ∼ (A B) = B A, (AB) = B A. (48) (rotation operators) or spinors, and describes rotations in the same efficient way as do quaternions 3).Wethere- In general the associative outer product of a k-vector fore gain a real geometric interpretation of quaternions, Ak = Ak with a l-vector Bl = Bl is defined as the as the oriented bi-vector side faces of a unit cube, with maximum grade part of the geometric product edge vectors {e1,e2,e3}. In Cl(3, 0) a reflection at a plane (=hyperplane) is Ak ∧ Bl = AkBl(l+k), (49) specified by the plane’s normal vector a ∈ R3 ∧ where Ak Bl =0forl + k>2, because in Cl(2, 0) the x = −a−1xa, (53) highest grade possible is 2. For example the following outer products are obtained (α, β ∈ R,a,b,c∈ R2) the proof is identical to the one in (22) for Cl(2, 0). The combination of two such reflections leads to a rotation α ∧ β = αβ, α ∧ a = a ∧ α = αa, (50) by α =2θa,b a ∧ b ∧ c =0, −1 x = R xR, (54) 1 θa,bia,b αia,b where the last identity is specific to Cl(2, 0), it does R = ab = |a||b|e = |a||b|e 2 , generally not hold in GAs of higher dimensional vector where ia,b = a ∧ b/(|a ∧ b|) specifies the oriented unit spaces. The last identity is due to the fact, that in a bivector of the plane spanned by a, b ∈ R3. plane every third vector c can be expressed by linear The unit trivector i3 = e123 also squares to −1 combination of two linearly independent vectors a, b. 2 If a, b would not be linearly independent, then already i3 = e1e2e3e1e2e3 = −e1e2e1e3e2e3 a ∧ b = 0, i.e. a b. The outer product in 2D is of 2 2 = e1e2e1e2e3e3 =(e1e2) (e3) = −1, (55) great advantage, because the cross product of vectors does only exist in 3D, not in 2D. We next treat the GA where we only used that the permutation of two or- of R3. thogonal vectors in the geometric product produces a −1 − . minus sign. Hence i3 = i3. We further find, that i3 3 Geometric algebra of 3D Eu- commutes with every vector, e.g. clidean space e1i3 = e1e1e2e3 = e23, (56) The Clifford algebra Cl(R3)=Cl(3, 0) is arguably i3e1 = e1e2e3e1 = −e1e2e1e3 = e1e1e2e3 = e23, the by far most thoroughly studied and applied GA. In physics it is also known as Pauli algebra, since Pauli’s and the like for e2i3 = i3e2, e3i3 = i3e3.Ifi3 commutes spin matrices provide a 2 × 2 matrix representation. with every vector, it also commutes with every bivec- 1 This shows how GA unifies classical with quantum me- tor a ∧ b = 2 (ab − ba), hence i3 commutes with every chanics. element of Cl(3, 0), a property which is called central Given an orthonormal vector basis {e1,e2,e3} of in mathematics. The central subalgebra spanned by 3 3 R , the eight-dimensional (2 = 8) Clifford algebra {1,i3} is isomorphic to complex numbers C. i3 changes Cl(R3)=Cl(3, 0) has a basis of one scalar, three vec- bivectors into orthogonal vectors tors, three bivectors and one trivector 2 e23i3 = e2e3e1e2e3 = e1e23 = −e1 , etc. (57) {1,e1,e2,e3,e23,e31,e12,e123}, (51) This is why the GA Cl(3, 0) is isomorphic to complex quaternions,oneformofbiquaternions where as before e23 = e2e3,e123 = e1e2e3, etc. All basis −1 −1 −1 bivectors square to −1, and the product of two basis {1,e1 = e23i3 ,e2 = e31i3 ,e3 = e12i3 , bivectors gives the third e23,e31,e12,i3}. (58) e23e31 = e21 = −e12, etc. (52) Yet writing the basis in the simple product form (51), fully preserves the geometric interpretation in terms of + 13 Therefore the even subalgebra Cl (3, 0) with basis scalars, vectors, bivectors and trivectors, and allows to {1, −e23, −e31, −e12} is indeed found to be isomorphic reduce all products to elementary geometric products of 13The minus signs are only chosen, to make the product of two basis vectors, which is used in computational optimiza- bivectors identical to the third, and not minus the third. tion schemes for GA software like Galoop 9). 計測と制御 第 51 巻第4 号 2012 年 4 月号 343 Table 2 Multiplication table of Clifford algebra ization of the conventional complex Fourier transforma- 3 Cl(3, 0) of Euclidean 3D space R . tion (FT) to Clifford FTs, sometimes called geometric 12) 1 e1 e2 e3 e23 e31 e12 e123 algebra FTs . Moreover, we also obtain generaliza- 1 1 e1 e2 e3 e23 e31 e12 e123 tions of real and complex (dual) wavelets to Clifford e1 e1 1 e12 −e31 e123 −e3 e2 e23 wavelets, which include quaternion wavelets. e e −e e e e −e e 2 2 12 1 23 3 123 1 31 We further have closed subtables with elements e3 e3 e31 −e23 1 −e2 e1 e123 e12 { 1 23 123 3} e23 e23 e123 −e3 e2 −1 −e12 e31 −e1 1,e ,e ,e = i , which are fully commutative and e31 e31 e3 e123 −e1 e12 −1 −e23 −e2 correspond to tessarines, also called bicomplex numbers, e12 e12 −e2 e1 e123 −e31 e23 −1 −e3 Segre quaternions, commutative quaternions,orCartan e123 e123 e23 e31 e12 −e1 −e2 −e3 −1 subalgebras. In general we can specify any unit vector u ∈ R3, u2 = 1, and get a commutative tessarine sub- Cl , 3.1 Multiplication table and subalgebras of (3 0) algebra with basis {1,u,ui3,i3}, which includes besides For the full multiplication table of Cl(3, 0) we still 1 and the vector u itself, the bivector ui3 orthogonal need the geometric products of vectors and bivectors. to u, and the oriented unit volume trivector i3. Again ↔ ↔ By changing labels in Table 1 (1 3or2 3), we get GA provides a clear and useful geometric interpreta- that tion of tessarines and their products. Knowledge of the geometric interpretation is fundamental in order to see e2e23 = −e23e2 = e3, these algebras in nature and in problems at hand to be − − e3e23 = e23e3 = e2 (59) solved, and to identify settings, where a restriction to e1e31 = −e31e1 = −e3, subalgebra computations may save considerable compu- e3e31 = −e31e3 = e1, (60) tation costs. 3.2 The grade structure of Cl(3, 0) and duality which shows that in general a vector and a bivector, A general multivector in Cl(3, 0), can be represented which includes the vector, anti-commute. The products as of a vector with its orthogonal bivector always gives the trivector i3 M = m0 + m1e1 + m2e2 + m3e3 + m23e23 + m31e31 + m12e12 + m123e123, e1e23 = e23e1 = i3,e2e31 = e31e2 = i3, m0,...,m123 ∈ R. (62) e3e12 = e12e3 = i3, (61) We have a scalar part M0 of grade 0, a vector part which also shows that in general vectors and orthogo- M1 of grade 1, a bivector part M2 of grade 2, and nal bivectors necessarily commute. Commutation rela- a trivector part M3 of grade 3 tionships therefore clearly depend on both orthogonality properties and on the grades of the factors, which can M = M0 + M1 + M2 + M3, (63) frequently be exploited for computations even without M0 = m0, M1 = m1e1 + m2e2 + m3e3, the explicit use of coordinates. M2 = m23e23 + m31e31 + m12e12, Table 2 gives the multiplication table of Cl(3, 0). The elements on the left most column are to be multiplied M 3 = m123e123. from the left in the geometric product with the elements The set of all grade k elements, 0 ≤ k ≤ 3, is denoted in the top row. Every subtable of Table 2, that is closed k Cl (3, 0). under the geometric product represents a subalgebra of The multiplication table of Cl(3, 0), Table 2, reveals Cl(3, 0). −1 that multiplication with i3 (or i3 = −i3) consistently We naturally find Table 1 as a subtable, because with changes an element of grade k,0≤ k ≤ 3, into an ele- R2 ⊂ R3 we necessarily have Cl(2, 0) ⊂ Cl(3, 0). In gen- ment of grade 3−k, i.e. scalars to trivectors (also called eral any pair of orthonormal vectors will generate a 4D pseudoscalars) and vectors to bivectors, and vice versa. subalgebra of Cl(3, 0) specific to the plane spanned by This means that the geometric product of a multivec- the two vectors. −1 tor M ∈ Cl(3, 0) and the pseudoscalar i3 (or i3 = −i3) We also recognize the subtable of the even subalgebra 14 always results in the left or right contraction with basis {1,e23,e31,e12} isomorphic to quaternions. { } Then there is the subtable of 1,e123 of the central Mi3 = M i3,i3M = i3M. (64) subalgebra isomorphic to C. Any element of Cl(3, 0) 14 In the context of blade subspaces, whenever a blade B con- squaring to −1 generates a 2D subalgebra isomorphic to tains another blade A as factor, then the geometric product is C. This fundamental observation leads to the general- reduced to left or right contraction: AB = A B,BA = B A. 344 計測と制御 第 51 巻第4 号 2012 年 4 月号 Mapping grades k,0≤ k ≤ 3, to grades 3 − k is 3.3 The blade subspaces of Cl(3, 0) known as duality or Hodge duality. Because of its use- A vector a ∈ R3 canbeusedtodefineahyperplane fulness and importance it gets the symbol ∗ as an upper H(a)by index H(a)={x ∈ R3 | x · a = x a =0}, (74) ∗ −1 M := Mi3 = −m0i3 − m1e23 − m2e31 − m3e12 whichisanexampleofaninner product null space +m23e1 + m31e2 + m12e3 + m123. (65) (IPNS) definition. It can also be used to define a line Duality (65) in Cl(3, 0) changes the outer product of L(a)by vectors into the cross product L(a)={x ∈ R3 | x ∧ a =0}, (75) ∗ (e1 ∧ e2) = e1e2(−e123)=e3 = e1 × e2, ∗ ∗ which shows an outer product null space (OPNS) defi- (e2 ∧ e3) = e1, (e3 ∧ e1) = e2. (66) nition. We can also use two linearly independent vec- Therefore we can use tors to span a plane P (a ∧ b). By that we mean, that x = αa+βb,α,β ∈ R, if and only if, x∧a∧b =0.Letus ∧ ∗ × ∧ × (a b) = a b, a b = i3(a b), (67) briefly check that. Assume x = αa + βb,α,β ∈ R,then ∧ ∧ ∧ ∧ ∧ ∧ − ∧ ∧ to translate well known results of standard 3D vector x a b =(αa+βb) a b = α(a a) b βa (b b)=0. algebra into GA. Yet we emphasize, that the cross prod- On the other hand, if x has a component not in the ∧ ∧ uct a×b only exists in 3D, where a bivector has a unique plane spanned by a, b,thenx a b results in a non-zero (orthogonal) dual vector. The outer product has the trivector, the oriented parallelepiped volume spanned advantage, that it can be universally used in all dimen- by x, a, b. Hence every plane spanned by two linearly ∈ R sions, because geometrically speaking the parallelogram independent vectors a, b is in OPNS spanned by two linearly independent vectors is always 3 P = P (a ∧ b)={x ∈ R | x = αa + βb, ∀ α, β ∈ R} well defined, independent of the dimension of the em- { ∈ R3 | ∧ ∧ } bedding space. = x x a b =0 . (76) 15 Duality also relates outer product and contraction Three linearly independent vectors a, b, c ∈ R3 always ∈ of any A, B Cl(3, 0) span R3, and their outer product with any fourth vec- ∗ ∗ ∗ ∗ ∈ R3 A ∧ B =(A B) ,A∧ B =(AB) , (68) tor x is zero by default (because in Cl(3, 0) no 4-vectors exist). Therefore formally R3 = {x ∈ R3 | A B∗ = A∗B =(A ∧ B)∗. (69) x ∧ a ∧ b ∧ c =0}. For vectors a, b ∈ R3 this can be rewritten as These geometric facts motivate the notion of blade. AbladeA is an element of Cl(3, 0), that can be writ- ∧ ∗ ∗ ∧ · ∗ a b = a b =(a b) , ten as the outer product A = a1 ∧ ... ∧ ak of k lin- ∗ ∗ ∗ 3 a b = a b =(a ∧ b) . (70) early independent vectors a1,...,ak ∈ R ,0≤ k ≤ 3. Another name for k-blade A is simple k-vector. As we Inserting the duality definition this gives have just seen, every k-blade fully defines and character- ⊂ R3 a ∧ (i3b)=(i3a) ∧ b = i3(a · b), izes a k-dimensional vector subspace V (A) . Such subspaces are therefore often simply called blade sub- a (i3b)=(i3a)b = i3(a ∧ b), (71) spaces. The GA of a blade subspace Cl(V (A)) is a nat- which are handy relations in GA computations. ural subalgebra of Cl(3, 0). Examples are Cl(V (e1)) = Let us do two simple examples. First, for a = b = e1. Cl(1, 0) ⊂ Cl(3, 0), Cl(V (e12)) = Cl(2, 0) ⊂ Cl(3, 0), 3 Then we have i3a = i3b = e23, a · b =1,andget and Cl(V (e123)=R )=Cl(3, 0) ⊆ Cl(3, 0), etc. The formulas for projection and rejection of vectors a ∧ (i3b)=e1 ∧ e23 = i3, can now be generalized to the projection and rejection (i3a) ∧ b = e23 ∧ e1 = i3,i3(a · b)=i3. (72) of subspaces, represented by their blades in their OPNS representations, where the grade of a blade shows the Second, for a = e1,b = e2.Thenwehavei3a = e23, dimension of the blade subspace. The projection of a i3b = e31, a ∧ b = e12,andget blade A onto a blade B is given by − a (i3b)=e1 e31 = e1e31 1 = e3, (73) −1 PB(A)=(A B)B , (77) (i3a)b = e23e2 = −e3,i3(a ∧ b)=i3e12 = −e3. 15Equations (68) apply in all Clifford algebras, but (69) need where the left contraction automatically takes care of some modification if the pseudoscalar is not central. the fact that it would not be meaningful to project a 計測と制御 第 51 巻第4 号 2012 年 4 月号 345 higher dimensional subspace V (A)ontoalowerdimen- We also have the relationship sional subspace V (B). 3 This projection formula is a first example of how GA VIPNS(A)={x ∈ R | x A =0} (84) 3 ∗ ∗ allows to solve geometric problems by means of elemen- = {x ∈ R | x ∧ A =0} = VOPNS(A ). tary algebraic products, rather than the often cumber- some conventional solution of systems of linear equa- In application contexts both representations are fre- tions. quently used and it should always be taken care to The rejection (orthogonal part) of a blade A from a clearly specify ifabladeismeanttorepresentasub- second blade B is given by space in the OPNS or the IPNS representation. In GA ⊥ −1 software like CLUCalc or CLUViz 19) this is done by an PB (A)=(A ∧ B)B . (78) initial multivector interpretation command. If we interpret a general multivector A ∈ Cl(3, 0) as The outer product itself joins (or unifies) disjoint a weighted sum of blades, where the weights can also be (orthogonal) blade subspaces, e.g., the two lines L(a) interpreted as blade volumes, then by linearity the pro- and L(b) are unified by the outer product to the plane ⊥ jection PB(A) [and rejection PB (A)] formula applied to P (a∧b) in (76). The left contraction has the dual prop- a multivector A yields the weighted sum of blades, each erty to cut out one subspace contained in a larger one projected onto [rejected from] the blade B. and leave only the orthogonal complement. For exam- Let us consider the example of A = e1 +e3 +e12 +e23 ple, if A = e1, B = e12,thenA B = e1 e12 = e2,the −1 and B = e12, B = −e12.Weget orthogonal complement of V (A)inV (B). In general in the OPNS, the orthogonal complement of V (A)inV (B) PB(A)=[(e1 + e3 + e12 + e23) e12](−e12) is therefore give by V (A B). =[e2 +0− 1+0](−e12)=e1 + e12, (79) Let us assume two blades A, B ∈ Cl(3, 0), which rep- 3 which is exactly what we expect, because the vector e1 resent two blade subspaces V (A),V(B) ⊂ R with in- is in the plane B = e12, e3 is orthogonal to e12 and tersection V (M)=V (A) ∩ V (B),givenbythecommon is projected out, the bivector component e12 is also in blade factor M ∈ Cl(3, 0) (called meet) the plane B = e12, but the bivector component e23 is ∧ perpendicular to e12 and is correctly projected out. Let A = A M = A M, us also compute the rejection B = MB = M ∧ B, (85) ⊥ P (A)=[(e1 + e3 + e12 + e23) ∧ e12](−e12) B where A,B are the orthogonal complement blades of − =[0+e3e12 +0+0]( e12)=e3, (80) M in A, B, respectively, which is again correct, because only the vector e3 is A = AM −1 = AM −1, orthogonal to the plane B = e12, whereas e.g. e23 is 16 −1 −1 not fully orthogonal , because it has the vector e2 in B = M B = M B, (86) common with B = e12. The general duality of the outer product and the left where we freely use the fact that scalar factors like −2 ±| |−2 ∈ R −1 −2 contraction in (68) and (69) has the remarkable conse- M = M of M = MM ,arenotrel- quence of duality of IPNS and OPNS subspace repre- evant for determining a subspace (in both OPNS and ∀ ∈ R \{ } sentations, because for all blades A ∈ Cl(3, 0) IPNS), i.e. V (M)=V (λM), λ 0 . The join (union) J of any two blade subspaces ⇔ ∧ ∗ ∀ ∈ R3 x A =0 x A =0, x , (81) V (A),V(B) can therefore be represented as ∗ ∧ ∗ ∈ i.e. because in general (x A) = x A for all x, A ∗ ∗ 2 J = A ∧ M ∧ B = A ∧ B = A ∧ B. (87) Cl(3, 0). And because of (A ) = A(−i3) = −A,we also have Inserting the above contraction formulas for A,B we ∗ 3 x A =0 ⇔ x ∧ A =0, ∀ x ∈ R . (82) get So we can either represent a subspace in OPNS or IPNS −1 −1 J = A ∧ (M B)=(AM ) ∧ B. (88) by a blade A ∈ Cl(3, 0) as 3 VOPNS(A)={x ∈ R | x ∧ A =0} (83) In turn we can use the join J (or equivalently its in- −1 3 ∗ ∗ verse blade J ) to compute M. The argument is from = {x ∈ R | x A =0} = VIPNS(A ). −1 set theory. If we cut out B from J (or J ), then only 16 −1 To include e23 one can simply compute A − PB (A)=e3 + e23. A (or A ) will remain as the orthogonal complement 346 計測と制御 第 51 巻第4 号 2012 年 4 月号 of B in J (or J −1). Cutting out A (or A−1)fromA The following algebraic identities 8) are frequently ap- itself leaves only the meet 17 (intersection) M plied −1 −1 ∧ − · − · M = A ∨ B = A A =(B J ) A a (b c)=(a b)c (a c)b =(a b)c (a c)b Cl(3,0) = B(J −1A), (89) = −a × (b × c), (96) a (b ∧ c ∧ d)=(b ∧ c ∧ d)a, (97) The right most form M = B(J −1A) is obtained by =(b ∧ c)(a · d) − (b ∧ d)(c · a)+(c ∧ d)(b · a), cutting A out of from J (or J −1), and using the result- Cl(3,0) ing B−1 = J −1A,togetM as orthogonal complement a ∧ b ∧ c ∧ d =0. (98) of B in B. For example, if we assume A = e12, B = e23, then the 4. Clifford’s geometric algebra of join is obviously J = e123 = i3. This allows to compute the meet as spacetime (STA) 18 R1,3 4) −1 The GA Cl(1, 3) of flat Minkowski spacetime , M = A ∨ B =(B J ) A 4 has the 2 = 16D basis (e0 represents the time dimen- =(e23 (−e123)) e12 = e1 e12 = e2, (90) sion) which represents the line of intersection L(e2)ofthetwo {1,e0,e1,e2,e3,σ1 = e10,σ2 = e20,σ3 = e30, planes P (e12)andP (e23). e23,e31,e12,e123,e230,e310,e120,e0123 = I} (99) 3.4 Practically important relations in Cl(3, 0) R1,3 Let A, B ∈ Cl(p, q, r). Some authors use angular of one scalar, 4 vectors (basis of ), 6 bivectors, 4 brackets without index to indicate the scalar part of trivectors and one pseudoscalar. The 4 vectors fulfill − − − ≤ ≤ a multivector, e.g. eμ eν = ημ,ν =diag(+1, 1, 1, 1)μ,ν , 0 μ, ν 3. The commutator of two bivectors always gives a third AB = AB0 = BA0. (91) bivector, e.g., 1 (e10e20 − e20e10)=−e12, ... (100) For reversion (an involution) we have 2 ∼ ∼ (AB) = BA, a˜ = a, A0 = A0 = A0 , Exponentiating all bivectors gives a group of rotors, the ∼ k(k−1)/2 Lorentz group,itsLie algebra is the commutator alge- A =(−1) Ak. (92) k bra of the six bivectors. The even grade subalgebra + { { } { } } Apart from reversion, there is the automorphism main Cl (1, 3) with 8D basis (l =1, 2, 3): 1, σl , Iσl ,I involution (or grade involution) which maps all vectors is isomorphic to Cl(3, 0). a → aˆ = −a, and therefore Assigning electromagnetic field vectors E = E1σ1 + E2σ2 + E3σ3, B = B1σ1 + B2σ2 + B3σ3, the Faraday s a1 ...as =(−1) a1 ...as, (93) bivector is F = E + IB. All four Maxwell equations then unify into one i.e. even blades are invariant under the grade involu- ∇F = J, (101) tion, odd grade blades change sign. The composition of 3 μ,ν reversion and grade involution is called Clifford conju- with vector derivative ∇ = η eν ∂μ = μ,ν=0 gation 3 μ μ=0 e ∂μ. The Dirac equation of quantum mechanics for the ˆ ˜ − s A = (A)=(A), a1 ...as =( 1) as ...a1, electron becomes in STA simply k(k+1)/2 Ak =(−1) Ak. (94) ∇ψIσ3 = mψe0, (102) Applied to a multivector M ∈ Cl(3, 0) we would get where the spinor ψ is an even grade multivector, and m the mass of the electron. The electron spinor acts M = M0 + M1 −M2 −M3, as a spacetime rotor resulting in observables, e.g., the M = M0 −M1 + M2 −M3, current vector M = M0 −M1 −M2 + M3. (95) J = ψe0ψ. (103) 17The symbol ∨ stems from Grassmann-Cayley algebra. 18Note that some authors prefer opposite signature Cl(3, 1). 計測と制御 第 51 巻第4 号 2012 年 4 月号 347 versors, or simply motion operators = motors). The 5. Conformal geometric algebra commutator algebra of the bivectors of Cl(4, 1) consti- tutes the Lie algebra of all conformal transformations Cl , 5.1 Points, planes and motors in (4 1) (exponentials of bivectors) of R3. Derivatives with re- In order to linearize translations as in (106) we need spect to these bivector motion parameters allow mo- 2), 15), 16) the conformal model of Euclidean space (in tor optimization, used in pose estimation, structure and x ∈ R3 ⊂ R4,1 Cl(4, 1)), which adds to two null- motion estimation, and motion capture. vector dimensions for the origin e0 and infinity e∞, 5.2 Blade representations of geometric objects in e0 e∞ = −1, to obtain by a non-linear embedding in Cl(4, 1) R4,1 the homogeneous19 conformal point Computer vision, computer graphics and robotics are 1 2 2 2 2 interested in the intuitive geometric OPNS meaning of X = x + x e∞ + e0, e0 = e∞ = X =0, 2 blades (outer products of conformal points P1,...,P4) X e∞ = −1. (104) in conformal GA (Pp =pointpair) 2 The condition X = 0 restricts the point manifold to Pp = P1 ∧ P2,Circle= P1 ∧ P2 ∧ P3, the so-called null-cone of R4,1, similar to the light cone Sphere = P1 ∧ P2 ∧ P3 ∧ P4, (107) of special relativity. The second condition X e∞ = e0 e∞ = −1 further restricts all points to a hy- homogeneously representing the point pair {P1,P2},the 4,1 perplane of R , similar to points in projective ge- circle through {P1,P2,P3},andthesphere with surface ometry. The remaining point manifold is again 3D. points {P1,P2,P3,P4}. Abstractly these are 0D, 1D, See 4), 5), 13), 15), 18)~20), 23) for details and illustrations. We 2D, and 3D spheres S with center c ∈ R3,radiusr ≥ 0, can always move from the Euclidean representation and Euclidean carrier blade directions D:1forpoints 3 4,1 3 x ∈ R to the conformal point X ∈ R by adding P ,distanced ∈ R of P2 from P1, circle plane bivector 13) the e0 and e∞ components, or by dropping them (pro- ic, and sphere volume trivector is ∝ e123 = i3,see . jection (77) with i3, or rejection (78) with E = e∞∧e0). 1 2 2 The contraction of two conformal points gives their S = D ∧ c + (c + r )D − c(c D) e∞ Euclidean distance and therefore a plane m equidis- 2 1 2 + De0 +(Dc)E, (108) tant from two points A = a + 2 a e∞ + e0,B = 1 2 b + 2 b e∞ + e0 as with the origin-infinity bivector E = e∞ ∧ e0. 4,1 1 2 ApointX ∈ R is on the sphere S, if and only if X A = − (x − a) (105) ∗ 2 S ∧ X = 0. By duality this is equivalent to X S =0, 2 2 ⇒ X (A − B)=0,m= A − B ∝ n + d e∞, which is equivalent in Euclidean terms to (x −c) = r , where x is the Euclidean part of X, c ∈ R3 the center n ∈ R3 where is a unit normal to the plane and d its of S,andr the radius of S. ∝ signed scalar distance from the origin, “ ” means pro- These objects are stretched to infinity (flattened) by portional. Reflecting at two parallel planes m, m with wedging with e∞ distance t/2 ∈ R3 we get the translation operator (by t ) F = S ∧ e∞ = D ∧ ce∞ − DE −1 = Dc⊥e∞ − DE, (109) X = m mXmm = Tt XTt , 3 1 where c⊥ ∈ R indicates the support vector (shortest Tt := mm =1+ te∞. (106) 2 distance from the origin): p for finite-infinite point pair ∧ e c ∧ ∧ e Reflection at two non-parallel planes m, m yields the P ∞, ⊥ for the line P1 P2 ∞ and the plane ∧ ∧ ∧ e R3 rotation around the m, m-intersection by twice the an- P1 P2 P3 ∞, and 0 for the 3D space itself − ∝ gle subtended by m, m. (F = isE I5). All geometric entities can be ex- 13) Group theoretically the conformal group C(3) 23) is tracted easily (as derived and illustrated in ) isomorphic to O(4, 1) 24) and the Euclidean group E(3) 2 SS is the subgroup of O(4, 1) leaving infinity e∞ invari- D = −F E, r = , D2 ant. Now general translations and rotations are both −1 c = D [S ∧ (1 + E)]E. (110) linearly represented by geometric products of invertible vectors (called Clifford monomials, Lipschitz elements, The conformal model is therefore also a complete super 19Unique up to a nonzero scalar factor. model for projective geometry. 348 計測と制御 第 51 巻第4 号 2012 年 4 月号 In the dual IPNS representation spheres (points for where a ·∇is scalar. The vector derivative ∇ can be 4,1 r = 0) and planes become vectors in R expanded in terms of the basis vectors ek as n ∗ 1 2 Sphere = C − r e∞, ∇ ∇ e 2 = x = k∂k, ∗ k=1 Plane = n + de∞ (111) ∂ ∂k = ek ·∇= . (117) where C is the conformal center point, n := c⊥/|c⊥|∝ ∂xk ici3,“∝” means proportional. 4,1 ∗ Both a ·∇ and ∇ are coordinate independent. Replacing ApointX ∈ R is on the plane Plane ,ifand ∗ the vectors a, x by multivectors gives the multivector only if X Plane = 0, which is equivalent in Euclidean derivative 7), 11). terms to x · n = d,wherex is the Euclidean part of X, 3 ∗ Examples. The five multivector functions n ∈ R the oriented unit normal vector of Plane ,and d its signed scalar distance from the origin. 2 f1 = x,f2 = x ,f3 = |x|, Points are spheres with r = 0, circles and lines are x · ≤ ≤ intersection bivectors f4 = A k, 0 k n, (118) f5 =logr, r = x − x 0,r = |r|, ∗ ∗ ∗ Circle = S1 ∧ S2 , ∗ ∗ ∗ have the following vector differentials 10) Line = Plane1 ∧ Plane2, (112) a · x a ·∇ a a ·∇ a · x a ·∇ of two sphere, and two plane vectors, respectively. In- f1 = , f2 =2 , f3 = |x| , version at a sphere becomes X → SXS = S∗XS∗, a · r a ·∇f4 = a ·Ak, a ·∇f5 = . (119) inversion at two concentric spheres gives scaling. For r2 example, the conformal center point C of a sphere S is 10) C = Se∞ S. This leads to the vector derivatives 6. Clifford analysis ∇f1 = ∇·x =3, (n =3), ∇f2 =2x, ∇f3 = x/|x|, ∇ ∇ r −1 r 2 p,q f4 = k A k, f5 = = /r . (120) Multivector valued functions f : R → Clp,q,p+ n Rp,q → R q = n, have 2 blade components (fA : ) We can compute the derivative from the differential for ∇a : regard x = constant, a = variable, and com- f(x)= fA(x)eA. (113) pute A n We define the inner product of two R → Cln,0 func- ∇f = ∇a (a ·∇f) (121) tions f,g by The vector derivative obeys sum rules and product n (f,g)= f(x)g(x) d x rules (overdots indicate functions to be differentiated). Rn But non-commutativity leads to modifications, because n ∇˙ fg˙ = f∇˙ g˙.Theproduct rule is = eAeB fA(x)gB(x) d x, (114) n A,B R ∇(fg)=(∇˙ f˙)g + ∇˙ fg˙ 2 n n and the norm for functions in L (R ; Cln,0)={f : n =(∇˙ f˙)g + ekf(∂kg). (122) R → Cln,0 |f < ∞} as k=1 f2 = (f,f) = |f(x)|2dnx. (115) The chain rules for the vector differential and the vector n R derivative of f(x)=g(λ(x)),λ(x) ∈ R,are The possibility to differentiate with respect to any ∂g multivector (representing a geometric object or a trans- a ·∇f = {a ·∇λ(x)} , ∂λ formation operator) is essential for solving optimization ∂g problems in GA. ∇f =(∇λ) . (123) ∂λ We can then define the vector differential 7), 10) of f p,q for any constant a ∈ R as Example: For a = ek (1 ≤ k ≤ n)wehave f(x + a) − f(x) ∂g a ·∇f(x) = lim , (116) ek ·∇f = ∂kf =(∂kλ) . (124) →0 ∂λ 計測と制御 第 51 巻第4 号 2012 年 4 月号 349 GA thus provides a new formalism for differentiation Fukui Univ. 50–1, 109/125 (2002) on vector manifolds and for mappings between surfaces, 11) E. Hitzer: Multivector Differential Calculus, Adv. in Appl. Cliff. Algs., 12–2, 135/182 (2002) including conformal mappings 23). 12) E. Hitzer: Quaternion Fourier Transformation on Quater- Within Clifford analysis we can define quaternionic nion Fields and Generalizations, Adv. in App. Cliff. Alg., and Clifford FTs and wavelet transforms, with appli- 17, 497/517 (2007) cations in image and signal processing, and multivector 13) E. Hitzer, K. Tachibana, S. Buchholz and I. Yu: Carrier wave packet analysis 12). We also obtain a single fun- Method for the General Evaluation and Control of Pose, Molecular Conformation, Tracking, and the Like,Adv.in damental theorem of multivector calculus,whichuni- App. Cliff. Alg., 19–2, 339/364 (2009) fies a host of classical theorems of integration for path 14) R. Horn and C. Johnson: Matrix Analysis, CUP, Cambridge independence, Green’s, Stokes’, and Gauss’ divergence (UK) (1985) theorems. Monogenic functions f, ∇f = 0, generalize 15) H. Li: Invariant Algebras and Geometric Reasoning,World complex analytic functions, and allow us to generalize Scientific, Singapore (2008) 16) S. Lie: On a class of geometric transformations,PhDthe- Cauchy’s famous integral theorem for analytic functions sis, University of Oslo (formerly Christiania) (1871) 22) in the complex plane to n dimensions . 17) P. Lounesto: Clifford Algebras and Spinors,CUP,Cam- bridge (UK) (2001) Acknowledgments 18) A. Macdonald, Linear and Geometric Algebra,Create Now to the King eternal, immortal, invisible, the only Space, LaVergne (2011) 19) C. Perwass: Free software CLUCalc for intuitive 3D visu- God, be honor and glory for ever and ever. Amen. alizations and scientific calculations, [Bible, 1 Tim. 1:17] I do thank my family for their http://www.CLUCalc.info patient support, Y. Kuroe, T. Nitta and the anony- 20) C. Perwass: Geometric Algebra with Applications in Engi- mous reviewers. E.H. found several Wikipedia articles neering, Springer, Berlin (2009) helpful. 21) I. Porteous: Clifford Algebras and the Classical Groups, CUP, Cambridge (UK) (1995) (Received February 6, 2012) 22) G. Sobczyk and O.L. Sanchez: Fundamental Theorem of References Calculus,Adv.Appl.Cliff.Algs.,21, 221/231 (2011) 23) G. Sobczyk: Conformal Mappings in Geometric Algebra, 1) R. Ablamowicz: Structure of spin groups associated with Notices of the AMS, 59–2, 264/273 (2012) 27 degenerate Clifford algebras,J.Math.Phys. –1, 1/6 24) W.-K. Tung: Group Theory in Physics, World Scientific, (1986) Singapore (1985) Rn 2) L.V. Ahlfors: Moebius transformations in expressed 25) E. Vinberg: A Course in Algebra, Graduate Series in Math- through 2 × 2 matrices of Clifford numbers, Complex Vari- ematics, 56, AMS, Providence, Rhode Island (2003) ables, 5, 215/224 (1986) 3) S. Altmann: Rotations, Quaternions, and Double Groups, Dover, New York (1986) [Author’s profile] 4) C. Doran and A. Lasenby: Geometric Algebra for Physi- cists, CUP, Cambridge (UK) (2003) Eckhard HITZER (Member) 5) L. Dorst,D. Fontijne and S. Mann: Geometric Algebra for He received his M.S. from the Techn. Univ. Computer Science – An Object-Oriented Approach to Ge- of Munich, Germany, in 1992, and his Ph.D. ometry, Morgan Kaufmann, San Francisco (2007) from the Univ. of Konstanz, Germany, in 6) M.I. Falcao and H.R. Malonek: Generalized Exponentials 1996. In 1996 he joined the RIMS in Kyoto, through Appell sets in Rn+1 and Bessel functions,AIP Japan, for 2 years as a postdoc. In 1998, he Conference Proceedings, 936, 738/741 (2007) joined the Univ. of Fukui, where he is cur- 7) D. Hestenes and G. Sobczyk: Clifford Algebra to Geometric rently a part time lecturer in the Dep. of Appl. Calculus, Kluwer, Dordrecht (1992) Phys. His research interests include Cliff. al- 8) D. Hestenes: New foundations for classical mechanics, gebra and analysis, visualization, and neural computing. He is Kluwer, Dordrecht (1999) amemberofDPG,JPS,CAVi,CAIROS,ENNS,AMS,JSIAM, 9) D. Hildenbrand, J. Pitt and A. Koch: Gaalop – High Per- SICE and the Task Force on Complex-Valued NNs in the IEEE formance Parallel Computing Based on Conformal Geo- CIS NNs Techn. Comm. metric Algebra, In E. Bayro-Corrochano, G. Scheuermann (eds.), Geometric Algebra Computing in Engineering and Computer Science, Springer, Berlin, 477/494 (2010) 10) E. Hitzer: Vector Differential Calculus, Mem. Fac. Eng. 350 計測と制御 第 51 巻第4 号 2012 年 4 月号