The document discusses Geometric Algebra, which provides a unified mathematical framework for geometry. It can represent objects of any dimension and perform operations like inner and outer products. Vectors in Geometric Algebra have both magnitude and direction. The outer product of vectors creates a blade/bivector that represents a plane or subspace. Geometric Algebra aims to provide an n-dimensional geometric language that is intuitive, efficient, and can unify other algebraic systems. It has applications in fields like computer graphics.
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. 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
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
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. Contraction Inner Product
• Generalizes inner product to Blades
• Complement of the orthogonal projection
a
a B=
a B
B
• Generalizing geometric product
vu = v uv ∧ u
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. 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. Operations on Multivectors
• Graduated Involution
v k = −1k ∗ v k
• Reverse
v k = −1k k − 1/ 2 ∗ v k
vu = uv
• Conjugation
v k =v =v
• Inverse
v
v −1 =
∣v ∣ ²
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. Operations on Multivectors (cont 2)
• Meet
C =A∩B
• Join
C =A∪B
• Sum and difference
C =AB C = A− B
• Nabla = Symmetric difference
v 1 ∇ v 2=majorGrade v 1∗v 2
17. Future Readings [Dorst, 02a] [Vaz, 97]
• Projection of blades and Rejection
• Reflection
• Rotors
• Models
– Homogeneous model / Plücker coordinates
– Conformal model
• Quaternions
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. 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. 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. 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. So...
“... that it provides a single, simple mathematical framework
which eliminates the plethora of diverse mathematical
descriptions and techniques...”
[McRobie and Lasenby, 1999]
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