1 geometric algebra (ga) werner benger, 2007 cct@lsu sciviz

50
1 Geometric Algebra (GA) Werner Benger, 2007 CCT@LSU SciViz

Upload: donald-gray

Post on 23-Dec-2015

218 views

Category:

Documents


0 download

TRANSCRIPT

1

Geometric Algebra (GA)

Werner Benger, 2007CCT@LSU SciViz

2

Abstract• Geometric Algebra (GA) denotes the re-discovery and geometrical interpretation of

the Clifford algebra applied to real fields. Hereby the so-called „geometrical product“ allows to expand linear algebra (as used in vector calculus in 3D) by an invertible operation to multiply and divide vectors. In two dimenions, the geometric algebra can be interpreted as the algebra of complex numbers. In extends in a natural way into three dimensions and corresponds to the well-known quaternions there, which are widely used to describe rotations in 3D as an alternative superior to matrix calculus. However, in contrast to quaternions, GA comes with a direct geometrical interpretation of the respective operations and allows a much finer differentation among the involved objects than is achieveable via quaternions. Moreover, the formalism of GA is independent from the dimension of space. For instance, rotations and reflections of objects of arbitrary dimensions can be easily described intuitively and generic in spaces of arbitrary higher dimensions.

• Due to the elegance of the GA and its wide applicabililty it is sometimes denoted as a new „fundamental language of mathematics“. Its unified formalism covers domains such as differential geometry (relativity theory), quantum mechanics, robotics and last but not least computer graphics in a natural way.

• This talk will present the basics of Geometric Algebra and specifically emphasizes on the visualization of its elementary operations. Furthermore, the potential of GA will be demonstrated via usage in various application domains.

3

Motivation of GA• Unification of many domains: quantum

mechanics, computer graphics, general relativity, robotics…

• Completing algebraic operations on vectors

• Unified concept for geometry and algebra

• Superior formalism for rotations in arbitrary dimensions

• Explicit geometrical interpretation of the involved objects and operations on them

4

Definition: “Algebra”

• Vector space V over field K with multiplication “”

• Null-element, One-element, Inverse

• Commutative? ab = ba• Associative? (ab)c = a(bc)

• Division algebra?a≠0 a-1 such that a a-1 = 1 = a-1 a• Alternatively: ab=0 a=0 or b=0

5

Historical Roots

• Complex Plane (Gauss ~1800)• Real/Imaginary part: a+ib where i2= -1• Associative, commutative division-algebra• Polar representation: r ei = r ( cos + i sin )• Multiplication corresponds to rotation in the plane

cos cos

sin sin

ii

6

Historical Roots, II

William Rowan Hamilton (1805-65) invents Quaternions (1844):– Generalization of complex numbers:

• 4 components, non commutative: ab ba (in general)

• Basic idea: ii=jj=kk= ijk = -1• Alternative to younger vector- and matrix

algebra (Josiah Willard Gibbs, 1839-1903)• p=(p,p), q=(q,q), pq=(pq - p q , pq + pq

+ pq)• rotation in R3 are around axis of the vector

component: v’ = q v q-1

7

Historical Roots, III

• Construction by Cayley-Dickson (a,b)(c,d) = (ac-d *b, *a d+cb)

– hypercomplex numbers: • octaves/octonions (8 components)• sedenions/hexadekanions (16 components)• …

– incremental loss of• commutativity (quaternions,…)• associativity (octonions,…)• division algebra (sedenions,…)

8

Renaissance of the GA

1878: Clifford introduces “geometric algebra”, but dies at age 34 superseded by Gibb’s vector calculus

1920er: Renaissance in quantum mechanics (Pauli, Dirac)algebra on complex fieldsno geometrical interpretation

1966-2005 David Hestenes (Arizona State University) revives the geometrical interpretation

1997: Gravitation theory using GA (Lasenby, Doran, Gull; Cambridge)

2001: Geometric Algebra at SIGGRAPH (L. Dorst, S. Mann)

9

10

Geometry and Vectors• Geometric interpretation of a vector

– Directed line segment or tangent

• Vector-algebra in Euclidean Geometry or Tp(M)

• Addition / subtraction of vectors a+b

• Multiplication / division by scalars a

• Multiplication / Division of vectors??

Multiplication of vectors

11

Complete Vector-algebra?

• Invertible product of vectors?• What means vector-division “a/b” ?

• ab=C b=a-1C• Note: C not necessarily a vector!

• Inner product (not associative): ab Skalar– Not invertible

e.g. ab =0 with a≠0, b≠0 but orthogonal

• Outer product (associative): ab Bivektor

– Generalized cross-product from 3D: ab– Not invertible

e.g. ab =0 with a≠0, b≠0 but parallel

Multiplikation von Vectoren

12

Bivector ab

Describes the plane spun by a and b, sign is orientation

aabb bba a = -= -aabb

Defined in arbitrary dimensions, anti-symmetric (Defined in arbitrary dimensions, anti-symmetric ( not commutative), not commutative), associative, distributive, spans a vector space, does not require additional associative, distributive, spans a vector space, does not require additional structuresstructures

Multiplikation von Vektoren

13

Constructing BivectorsNo unique determination of the generating vectors possible

aab b = = ((aa++λλbb))bb

aa++λλbb

bb

==

==

bbb b ==00

Basis-elementBasis-element||aa|| ||bb| | sin sin

Multiplikation von Vektoren

14

Bivectors in R3

• 3 Basis-elementsexey, eyez, ezex

• Generalization: exeyez is a volume

Multiplikation von Vektoren

15

Vectorspace of Bivectors

Linear combinations possibleLinear combinations possiblee.g.: e.g.: eexxeeyy, ,

eezzeexx

Multiplikation von Vektoren

16

Coordinate representation of “”-product in R3

• Generic Bivector:A = Axy exey + Ayz eyez + Azx ezex

• (axex + ayey + azez)(bxex + byey + bzez)= axexbxex + axexbyey + axexbzez +

ayeybxex + ayeybyey + ayeybzez +

azezbxex + azezbyey + azezbzez =

(axby - aybx)exy+(aybz-azby)eyz+(axbz-azbx)exz

Multiplikation von Vektoren

17

Inner product ab

• Describes projections

aabb = = ||aa|| ||bb|| cos cos = = bbaa

Symmetric (commutative), requires quadratic form (Metric) as additional Symmetric (commutative), requires quadratic form (Metric) as additional structure, not associative (structure, not associative (aabb))cc aa((bbcc))

Multiplikation von Vektoren

18

Comparing the products

• Inner product– Not associative

• (ab)c ≠ a(bc)

– Commutative• ab = ba

– Not invertible– Yields a scalar

• Outer product– Associative

• (ab)c= a(bc)

– Not commutative• ab ≠ ba

– Not invertible– Yields a bivector

19

Geometric Product

1. Requirements and definition

2. Structure of the operands

3. Calculus using GP

4. Rotations using GP

Das Geometrische Produkt

20

Requirements to GP

• For elements A,B,C of a vector space with quadratic form Q(v) [i.e. a metric g(u,v) = Q(u+v) - Q(u) – Q(v)] we require:

1. Associative: (AB)C = A(BC)

2. Left-distributive: A(B+C) = AB+AC

3. Right-distributive: (B+C)A= BA+CA

4. Scalar product: A2 = Q(A) = |A|2

Das Geometrische Produkt

21

Properties of the GP

• Right-angled triangle |a+b|2 = |a|2+|b|2

(A+B)(A+B) = AA+BA+AB+BB = A2 + B2

AB = -BA for AB = 0 anti-symm if orthogonal

• However: not purely anti-symmetric

|AB|2 =|A|2 |B|2 for AB = 0 (i.e. A,B parallel: B=A)

Das Geometrische Produkt

22

Geometric Product

• William Kingdon Clifford (1845-79): • Combine inner and outer product to defined

the geometric product AB (1878):

AB := AB AB

• Result is not a vector, but the sum of a scalar + bivector!

• Operates on “multivectors”• Subset of the tensoralgebra• Geometric Product is invertible!

Das Geometrische Produkt

23

Multi-vector components• R2: A = A0 + A1 e0 + A2 e1 + A3 e0e1

• R3: A =

A0

+

A1 e0 + A2 e1 + A3 e2

+

A4 e0 e1+A5 e1 e2+A6 e0 e2

+

A7 e0 e1 e2

Struktur von Multivektoren

2.7819…

++ ++

++ ++

++

++

++

24

Structure of Multi-vectors

Linear combination of anti-symmetric basis elements

2n components0D 1 Scalar

1D 1 Scalar, 1 Vector

2D 1 Scalar, 2 Vectors, 1 Bivector

3D 1 Scalar, 3 Vectors, 3 Bivectors, 1 Volume

4D 1 Scalar, 4 Vectors, 6 Bivectors, 4 Volume, 1 Hyper-volume

5D …

Struktur von Multivektoren

25

Inversion

• Given vectors a,b:

ab = ½ (ab + ba) symmetric part

ab = ½ (ab - ba) anti-symmetric part

ab = -(ab) (exeyez) Dual in 3D

Rechnen mit Multivektoren

26

Reflection at a Vector

• Unit vector n, arbitrary vector vVector v projected to n: v║=(v n) n

Reflected vector w = v┴ – v║ = v – 2v║

thus w = v – 2(v n) n

with GP w = v – 2[½(vn+nv) ] n = v – vnn – nvn

w = -nvn

Rechnen mit Multivektoren

27

Rotations

1. Identification with Quaternions

2. Rotation in 2D

3. Rotation in nD

4. Rotation of arbitrary Multivectors in nD

Rotation

28

Geometrical Quadrate

Consider (AB)2 of Bivector-basis element where |A|=1, |B|=1, AB = 0

AB=AB=-BA

(AB)2 = (AB) (AB) = -(AB) (BA)=-A(BB) A= -1

BasiselementBasiselement

Rotation

29

Quaternion Algebra

• 2D: complex numbers• i:= exey, i2 = -1

• 3D: quaternions• i:= exey= exey, j:= eyez = eyez, k:=exez=exez

• i2 = -1, j2 = -1 , k2 = -1• ijk = (exey)(eyez)(exez) = -1

• 4D: Biquaternions (complex quaternions, spacetime algebra)

Rotation

30

Rotation and GARight-multiplication of Vectors by Bivectors

ex i = ex (exey) = (exex ) ey= ey

=

ey i = ey(exey)=-ey(eyex)= -ex

=

Rotation

31

Generic Rotation in 2D

• Multiple Rotationex i i = (ex i) i = ey i = -ex = -1 ex

• Arbitrary vectorA = Ax ex + Ay ey

A i = Ax ex i + Ay ey i = Ax ey - Ay ex

• Rotation by arbitrary angle:A cos + A i sin ≡ “A e i” rotates vector A by angle in plane iInverse rotation: Ai = -iA : - A ei = e-i A

Rotation

32

Rotor in 2D

• RotorR := ei = cos + i sin mit i² = -1

A ei = e-i A = e-i/2 A ei/2 = R A R-1

With R=e-i/2 “Rotor”

R-1=ei/2 “inverse Rotor”

A R-2 = R2 A = R A R-1

• Product of rotors is multiple rotation R=ABCD, R-1=DCBA is “reverse” R

Rotation

33

Rotor in nD

• Rotor in plane U, Vektor v:R = cos + sin U U² = -1Expect: Rv or vR-1 or R v R-1

• Problem: With arbitrary vector v there would be a tri-vector component:

Rv = v cos + sin (U v + U v )

iff Uv ≠ 0 ( v not coplanar with U)

Rotation

34

Rotation in nD

Consider: R v R-1 mit v =v┴ + v║ :

– We have: Uv┴ = 0 d.h. Uv┴ =Uv┴

=u1u2v┴= - u1v┴u2= v┴ u1 u2= v┴U =v┴U

i.e. v┴ commutes with U, thus also R

R v R-1 = R v┴ R-1 + R v║ R-1

R v┴ R-1 =(cos + sin U) v┴ (cos - sin U)

= v┴(cos² - sin² U²) = v┴

R v R-1 = v┴ + eU v║ e-U = v┴ + v║ e-2U

Rotation

35

Rotation as multiple reflection

• Alternative Interpretation:– Reflect vector v by vector n, then by vector m:

• v - nvn m nvn m = mn v nm

• Operation mn is Scalar+Bivector (Rotor!)• Rotor: R = mn • Inverse Rotor: R-1 = nm

• Theorem: Rotation is consecutive reflection on two corresponding vectors with the rotation angle equal to twice the angle between these vectors

Rotation

36

Applications

Crystallography

Differential Geometry

Maxwell Equations

Quantum Mechanics

Relativity

37

Describing Symmetries

• Multiple reflections by r1,r2,r3, … are consecutive products of vectors:– r3r2r1 v r1r2r3 (not possible w. quaternions)

• Symmetry groups in molecules and crystals can be characterized by– three unit vectors a,b,c– Integer triple {p,q,r} – where (ab)p = (bc)q = (ca)r = -1e.g.: Methane (Tetrahedron) {3,3,3},

Benzene {6,2,2}

38

Differential Geometry

Derivative operator:

:= eμ μ with μ=/xμ, eμe=μ

Applicable to arbitrary multi-vectors

E.G.: with v a vector field:v = v + vwhere v Gradient (Scalar)

and v Curl (Bivector)

39

Maxwell in 3D

– Faraday-Field: F = E + B :=exeyez

– Current density: J = - j– Maxwell-Equation: F/ t + F = J

F = E + B = E + E + B + BScalar : E = Vector : E / t + B = -j

Bivector: B / t + E= 0

Pseudoscalar: B = 0

40

Cl3(R) & Spinors

• GA in 3D can be represented via Pauli-matrices:

• 4 complex numbers 8 components = 23

• Basis-vectors {ex,ey,ez} with GP provide same algebraic properties as Pauli-matrices {x,y,z}

• Pauli-Spinor (2 complex numbers, 4 components),due to *= real, can be written as

= ½ eB

thus is a Rotor (even multi-vector: 1 Scalar, 3 bivector-component), i.e. is the “operation” to stretch and rotate describes interaction (of an elementary particle) with a magnetic field

0 1

1 0

0 -i

+i 0

1 0

0 -1x x = = (( )) y y = = (( )) z z = = (( ))

41

Spacetime Algebra (STA)

• GA in 4D with Minkowski-Metric (+,-,-,-)• Chose orthogonal Basis {0, 1, 2, 3}

– where 2μν = μν+ νμ= 2ημν i.e. 02 = -k

2 = 1

• Structure: 1,4,6,4,1 ( n4 , 16-dimensional )– Bivector-Basis: k := k 0

– Pseudo-scalar: 0 1 2 3 = 123

1 {μ} {k, k} {μ} 1 Scalar 4 Vector 6 Bivectors 4 Pseudo-vectors 1 Pseudo-scalar

42

Basis-Bivectors in STA

k: 3 timelike bi-vectors

k : 3 spacelike bivectors

xxyy

zz

x x yyzz

43

Structure of BivectorsAny bi-vector can be written as

– B = Bkk = ak k + bkk = a + b– a,b: 3-Vectors (relative 0)– a timelike component– b spacelike component

Classification in– “complex” Bivector:

No common axes, spans the full 4D space

– “simple” Bivector:One common axis, can be reduced

to a single “Blade”

44

Spacetime-Rotor

• Spacetime-rotor: R = eB =ea+b e|B| B/|B|

R = ea+b= eaeb = [cosh a + sinh a ] [ cos b + sin b ] =

[cosh |a| + a/|a| sinh |a| ] [cos |b| + b/|b| sin|b| ]

• Interpretation:rotation in spacelike plane b by angle |b|

hyperbolic rotation in timelike plane a=a 0 with “boost-factor” (velocity) tanh|a|

Lorentz-transformation in a , 0 !

45

Maxwell Equations in 4D

• Four-dimensional gradient := μμ

• Elektro-magnetic 4-potential A:– F = A = A - A

with A=0 is Lorentz-gauge condition

– Faraday-Field: F = (E + B) 0

Pure Bivector (3D:vector + bi-vector), but complex:

E timelike component, B spacelike

• Maxwell-Equation: F = J

46

Dirac-Equation• Relativistic Momentum in Schrödingereqn:

– E=p2/2m E2 = m2 – p2

(α0mc² + ∑ αj pj c) = i ħ / twhere αj Dirac-matrices (44)

in Dirac-basis: 0 = α0, i = α0 αi mit [μ,ν] = 2 ημν

covariant formulation ∑ μ μ = mc²

• In GA basis vectors {0, 1, 2, 3} provide same algebraic properties as Dirac matrices:

= mc² 0

47

GA in Computergraphics

• Homogeneous Coordinates (4D):• Additional coordinate e, 3-vector: Ai / A

• Allows unified handling of directions and locations, standard in OpenGL

• conform, homogeneous coordinates (5D):

• Additional coordinates e0, e

• Signature (+,+,+,+,-) , e0e=-1, |e0| = |e| =0• Allows describing geometric objekts (sphere,

line, plane …) as vectors in 5D• Unions and intersections of objects are algebraic

operations (“meet”, “join”)

48

Objects in conform 5D GA

Punkt x + e0 + |x|2/2 e

Paar von Punkten abLinie abe

Kreis abcEbene ab c e

Kugel abcd

49

Implementations

• Runtime evaluation – geoma (2001-2005),

GABLE (symbolic GA)

• Matrix-based– CLU (2003)

• Code-Generation– Gaigen (-2005)

• Template Meta Programming – GLuCat, BOOST (~2003)

• Extending programming languages (proposed)

50

Literaturhttp://modelingnts.la.asu.edu/

http://www.mrao.cam.ac.uk/˜clifford

• David Hestenes: New Foundations for Classical Mechanics (Second Edition). ISBN 0792355148, Kluwer Academic Publishers (1999)

• Oersted Medal Lecture 2002: Reforming the Mathematical Language of Physics (David Hestenes)

• Geometric (Clifford) Algebra: a practical tool for efficient geometrical representation (Leo Dorst, University of Amsterdam)

• An Introduction to the Mathematics of the Space-Time Algebra (Richard E. Harke, University of Texas)

• EUROGRAPHICS 2004 Tutorial: Geometric Algebra and its Application to Computer Graphics (D. Hildenbrand, D. Fontijne, C. Perwass and L. Dorst)

• Rotating Astrophysical Systems and a Gauge Theory Approach to Gravity (A.N. Lasenby, C.J.L. Doran, Y. Dabrowski, A.D. Challinor, Cavendish Laboratory, Cambridge), astro-ph/9707165