Introduction about Geometric Algebra

3,877 views

Published on

UFRGS seminar in Geometric Algebra.

Published in: Technology
1 Comment
6 Likes
Statistics
Notes
No Downloads
Views
Total views
3,877
On SlideShare
0
From Embeds
0
Number of Embeds
16
Actions
Shares
0
Downloads
161
Comments
1
Likes
6
Embeds 0
No embeds

No notes for slide

Introduction about Geometric Algebra

  1. 1. Geometric Algebra Vitor Fernando Pamplona
  2. 2. Cross Product in nD? • Why not? – V1 = (1.0, 2.0, 3.0, 4.0) – V2 = (-2.0, -3.0, -4.0, -5.0) V1×V2=? ? I J K Q 1,00 2,00 3,00 4,00 = ??? -2,00 -3,00 -4,00 -5,00
  3. 3. A language for geometry Geometric Algebraic Concepts Language • Magnitude - size 3D 4,20 • Direction -orientation • Sense - negative/positive 35º • Grade - dimension CCW x
  4. 4. What we need? • n-dimensional geometric language • Represent the object grade • Operate across different dimensions • Geometrically intuitive • Without limits • Coordinate free • Efficient • Unify other algebras
  5. 5. Product of Vectors ? vv = ? v vv = 3 e1  2 e2 ∗ 3 e1  2 e2  vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 e2 e1 e1 e1 = ? e1 e2 = ? v =3, 2 e2 e1 = ? v =3 e12 e2 e2 e2 = ?
  6. 6. Gibbs (Vector Algebra) vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 v { ei⋅e j = 1 i = j ei⋅e j = e j⋅ei = 0  i ≠ j  e2 e1 vv = 9  4 = 13 v =3, 2 v ⋅v = 3,2 ∗ 3,2 v =3 e12 e2 v⋅ v = 3 ∗ 3  2 ∗ 2 dot product v ⋅ v = 13
  7. 7. Clifford (Geometric Algebra) vv = 9 e1 e1  6 e1 e2  6 e2 e1  4 e2 e2 v { ei ⋅e j = 1 i = j ei⋅e j  e j⋅ei = 0  i ≠ j  e2 e1 ei ⋅e j = −e j⋅e i Anticomutivity v =3, 2 vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2 v =3 e12 e2 vv = 9  4 = 13 Inner product
  8. 8. The Goal: Outer Product • What's e1e2 ? e2 – It isn't a scalar – It isn't a vector O e1 e1 ∧ e 2 2D • It's a plane, a vector space (blade) CCW e2 • Called Bivector or 2-vector O e1 • Outer products span e2 ∧ e 1
  9. 9. Inner product (dot) • Outer product spans  1 e1 ∧  2 e2 =  1 ∗  2 e1 e2 v vv = 9 e1 e1  6 e1 e2 − 6 e1 e2  4 e2 e2 e2 vv = 9  4 = 13 e1 • Inner product projects  12 e1 e2 ⋅ e2 = 12 e1
  10. 10. Geometric Product v vv = 9 e 1 e 1  6 e 1 e 2 − 6 e 1 e 2  4 e 2 e 2 e2 vv = 9  4 = 13 e1 { e i ⋅e j = 1 i = j  e i ⋅e j  e j ⋅e i = 0  i ≠ j  v ∥u v ⊥u   v ∧ u = 0 v ⋅ u = 0 vu = v ⋅u  v ∧ u Inner product Outer product
  11. 11. Contraction Inner Product • Generalizes inner product to Blades • Complement of the orthogonal projection a a B= a B B • Generalizing geometric product vu = v uv ∧ u
  12. 12. History of Geometric Algebra Synthetic Geometry 300 BC Euclid Analitic Geometric 1637 Descartes 1798 Complex Álgebra 1844 Wessel, Gauss 1843 Exterior Algebra Quaternions Grassman Hamilton 1854 Matrix Álgebra Cayley 1881 1878 1878 Determinants Vector Algebra Clifford Algebra Sylvester Gibbs Clifford 1890 Tensor Algebra 1923 Differential Forms Ricci 1928 Spin Algebra E. Cartan Pauli, Dirac Geometric Algebra
  13. 13. Multivector • Unique structure v ℜ3=  Scalar   e 1   e2   e 3 Vectors   e 1 e2   e1 e 3   e2 e3 2-Blades   e 1 e2 e3 3-Blades • Outer product spans • Inner product projects
  14. 14. Operations on Multivectors • Graduated Involution v k = −1k ∗ v k  • Reverse v k = −1k k − 1/ 2 ∗ v k   vu = uv  • Conjugation     v k =v =v • Inverse v v −1 = ∣v ∣ ²
  15. 15. Operations on Multivectors (cont) • Angle between vectors v ⋅u cos  = ∣ ∣∣ ∣ v u • Pseudoscalar – Dimensional limit ps ℜ 3=1∗e 1∧e 2 ∧e 3 • Dual A= Ã k∗ ps
  16. 16. Operations on Multivectors (cont 2) • Meet C =A∩B • Join C =A∪B • Sum and difference C =AB C = A− B • Nabla = Symmetric difference v 1 ∇ v 2=majorGrade v 1∗v 2 
  17. 17. Future Readings [Dorst, 02a] [Vaz, 97] • Projection of blades and Rejection • Reflection • Rotors • Models – Homogeneous model / Plücker coordinates – Conformal model • Quaternions
  18. 18. GA Frameworks • GAViewer: Geometric algebra computations and visualize • GAP: Geometric Algebra Package [Zaharia, 03] • GAIGEN: Code generator to Geometric Algebra [Fontijne] • GluCat: template classes to Clifford algebras • GAGL: Geometric Algebra to OpenGL • GEOMA: C++ Template Classes for Geometric Algebras
  19. 19. Multivector Implementations • GAGL scalar , e 1 , e 2 , e 3 , – Vector[8] e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 , – Only in 3D. e 1∧e 2 ∧e 3 • GEOMA – Matrix [2k][2k] where k = grade • GluCat: ?? • GAP scalar , e 1 , e 2 , e 3 , e 1 ∧e 2 , e 1∧e 3 , e 2 ∧e 3 , e 1∧e 2 ∧e 3 EBLADE EBLADE EBLADE HMV HMV HMV
  20. 20. Clean Multivector Implementation • Think OO with low memory usage • Two Classes – GAMultivector – GASpace • Inside GAMultivector – double[length]: where length is a compile time method n length=1∑ C n , k k =1
  21. 21. Performance Aspects • Raytracer benchmark (Fontijne, D. & Dorst,2003) Model Implem. Full Rend Time (s) Memory (MB) 3DLA Standard 1,00 6,2 3DGA Gaigen 2,56 6,7 4DLA Standard 1,05 6,4 4DGA Gaigen 2,97 7,7 5DGA Gaigen 5,71 9,9 FAST • 3DLA: Linear Algebra • 3DGA: Geometric Algebra ELEGANCE • 4DLA: Homogeneous coordinates • 4DGA: Homogeneous model • 5DGA: Conformal model
  22. 22. So... “... that it provides a single, simple mathematical framework which eliminates the plethora of diverse mathematical descriptions and techniques...” [McRobie and Lasenby, 1999]
  23. 23. References • Dorst, L. & Mann, S. Geometric algebra: a computational framework for geometrical applications (part II: aplications) IEEE Computer Graphics and Applications, 2002, 1 • Dorst, L. & Mann, S. Geometric algebra: a computational framework for geometrical applications (part I: algebra) IEEE Computer Graphics and Applications, 2002, 1, 24-31 • Fontijne, D. & Dorst, L. Modeling 3D Euclidean Geometry IEEE Computer Graphics and Applications, 2003 • Macdonald, A. A Survey of Geometric Algebra and Geometric Calculus, 2005 • Vaz, J.J. A álgebra geométrica do espaço euclidiano e a teoria de Pauli Revista Brasileira de Ensino de Física, 1997, 19, 234-259 • Zaharia, M.D. & Dorst, L. The Interface Spec. and Implementation Internals of a Program Module for Geometric Algebra University of Amsterdam, 2003

×