foundations of geometric algebra computing · realized geometric algebra as a general language for...
TRANSCRIPT
![Page 1: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/1.jpg)
Foundations of Geometric Algebra Computing
ICNAAM 2012, Kos, 21.09.2012
Dr.-Ing. Dietmar HildenbrandLOEWE Priority Program CocoonTechnische Universität Darmstadt
![Page 2: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/2.jpg)
Overview
Foundations of Geometric Algebra (GA)
GA Applications
One GA example
GA Computing
precompiler for standard programming languages
Molecular dynamics application
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 3: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/3.jpg)
History of Geometric Algebra&Calculus
[David Hestenes 2001]
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 4: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/4.jpg)
150 years
[David Hestenes 2001]
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
History of Geometric Algebra&Calculus
![Page 5: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/5.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Outer Product
vector bivector trivector …
Inner Product
Hermann G. Grassmann
![Page 6: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/6.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Outer Product
vector bivector trivector …
Inner Product
cross product and scalar product are
special cases of these general products
Hermann G. Grassmann
![Page 7: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/7.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Hermann G. Grassmann
Preface of „Ausdehnungslehre“ (Extensive Algebra) of 1862:
"I remain completely confident that the labor I have expended on the science presented here and which has demanded a signicant part of my life, as well as the most strenuous application of my powers, will not be lost. It is true that I am aware that the form which I have given the science is imperfect and must be imperfect. But I know and feel obliged to state (though I run the risk of seeming arrogant) that even if this work should again remain unused for another seventeen years or even longer, without entering into the actual development ofscience, still that time will come when it will be brought forth from the dust of oblivion and when ideas now dormant will bring forth fruit." and he went on to say:"there will come a time when these ideas, perhaps in a new form, will arise anew and will enter into a living communication with contemporary developments."
![Page 8: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/8.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Hermann G. Grassmann
Preface of „Ausdehnungslehre“ (Extensive Algebra) of 1862:
"I remain completely confident that the labor I have expended on the science presented here and which has demanded a signicant part of my life, as well as the most strenuous application of my powers, will not be lost. It is true that I am aware that the form which I have given the science is imperfect and must be imperfect. But I know and feel obliged to state (though I run the risk of seeming arrogant) that even if this work should again remain unused for another seventeen years or even longer, without entering into the actual development ofscience, still that time will come when it will be brought forth from the dust of oblivion and when ideas now dormant will bring forth fruit." and he went on to say:"there will come a time when these ideas, perhaps in a new form, will arise anew and will enter into a living communication with contemporary developments."
![Page 9: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/9.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Hermann G. Grassmann
Preface of „Ausdehnungslehre“ (Extensive Algebra) of 1862:
"I remain completely confident that the labor I have expended on the science presented here and which has demanded a signicant part of my life, as well as the most strenuous application of my powers, will not be lost. It is true that I am aware that the form which I have given the science is imperfect and must be imperfect. But I know and feel obliged to state (though I run the risk of seeming arrogant) that even if this work should again remain unused for another seventeen years or even longer, without entering into the actual development ofscience, still that time will come when it will be brought forth from the dust of oblivion and when ideas now dormant will bring forth fruit." and he went on to say:"there will come a time when these ideas, perhaps in a new form, will arise anew and will enter into a living communication with contemporary developments."
![Page 10: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/10.jpg)
William K. Clifford
Geometric Product
For vectors
Quaternions of Hamilton
Normally called Clifford algebra in honor of Clifford
He called it geometric algebra
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 11: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/11.jpg)
David Hestenes
realized geometric algebra as a general language for physics
(„New Foundations of Classical Mechanics“, …)
developed calculus
("Clifford Algebra to Geometric Calculus:
A Unified Language for
Mathematics and Physics")
developed the Conformal Geometric Algebra
Geometric Algebra <-> Clifford Algebra?
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 12: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/12.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Goal of geometric algebra
Mathematical language
close to the geometric
intuition
![Page 13: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/13.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Conformal Geometric Algebra (CGA)
The 5 basis vectors:
![Page 14: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/14.jpg)
Basis elements of CGA
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 15: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/15.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Plane and sphere as vector expression
sphere
plane
![Page 16: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/16.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Intersection of geometric objects
a,b are sphere
a ^ b
describes the intersection of the spheres
represents a circle
![Page 17: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/17.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Intersection of sphere and line
![Page 18: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/18.jpg)
18.04.2019 | Technische Universität Darmstadt | Computer Science Department | Dietmar Hildenbrand | 18
Circle and line
Circle (a^b^c)
Circle -> Line
( )
![Page 19: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/19.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Geometric Operations
Rotation about L (through theorigin)
Rotor
= Quaternion
Note.: the line can be arbitrary-> Rotation about an arbitraryaxis(dual quaternion)
![Page 20: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/20.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The inner product
a,b 3D vectors
-> scalar product
![Page 21: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/21.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Distances
One formula for
distance of two points
distance between point and plane
is a point inside or outside of a sphere?
![Page 22: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/22.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Angles
One formula for the angle between
2 lines
2 planes
2 circles
…
![Page 23: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/23.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Properties of Conformal Geometric Algebra
Easy calculations with geometric objects and transformations
Geometric intuitiveness
Simplicity
Compactness
Unification of mathematical systems
Complex numbers
Vector algebra
Quaternions
Projective geometry
Plücker coordinates
….
![Page 24: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/24.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
First commercial product
since 2007:
Real time lighting engine Enlighten
Geomerics, Cambridge UK
Unreal Game Engine
![Page 25: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/25.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Our Applications
Robot kinematics
[Craig]
![Page 26: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/26.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Application
Computer animation/
Virtual reality
[Tolani et al. 2000]
![Page 27: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/27.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Application
Approximation of geometric objects to point clouds of laser
scans
![Page 28: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/28.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Application
Finite Element Solver
compact expressions for
velocities
forces
combining rotational and linear
parts
[Elmar Brendel et al]
![Page 29: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/29.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Application
Molecular dynamics simulation
![Page 30: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/30.jpg)
Application within Cocoon
EM simulation
One formula for Maxwell equations
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 31: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/31.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Horizon Example
Compute the horizon circle with
observer P
Earth S
![Page 32: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/32.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Warum Horizont-Aufgabe?
Nachweis von
Nähe der algebraischen Beschreibung zur geometrischen Vorstellung
Einfachheit/Kompaktheit der Algorithmen
![Page 33: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/33.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The Solution
P, S, … C?
![Page 34: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/34.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The Solution
Which sphere intersects with the sphere S at the horizon circle?
![Page 35: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/35.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The Solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
![Page 36: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/36.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius of K?
![Page 37: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/37.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius a of K?
![Page 38: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/38.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius a of K?
How to describe the sphere K?
![Page 39: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/39.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius a of K?
How to describe the sphere K?
![Page 40: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/40.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius a of K?
How to describe the sphere K?
The formula for the horizon circle C?
![Page 41: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/41.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
The solution
Which sphere intersects with the sphere S at the horizon circle?
Sphere K with center P and radius such that it touches S
The radius a of K?
How to describe the sphere K?
The formula for the horizon circle C?
![Page 42: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/42.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Properties of Geometric Algebra
geometrically intuitive?
simple?
compact?
role of coordinates?
![Page 43: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/43.jpg)
How to support the widespread use of geometric algebra?
What form of geometric algebra do we need today?
"there will come a time when these ideas, perhaps in a new form, will arise anew and will enter into a living communication with contemporary developments.“ [Grassmann 1862]
Making it accessible for as many people as possible and theirapplications
-> provide a suitable computing technology
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 44: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/44.jpg)
Geometric Algebra Computing
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 45: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/45.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Goals of Geometric Algebra Computing
Geometric algebra algorithms optimizer (www.gaalop.de)
Easy development process
integration in standard programming languages
Intuitive and compact descriptions based on geometric algebra
leading to
reduction in development time
better maintainability
High performance and robustness of the implementation
![Page 46: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/46.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Proof-of-Concept Application
Visual and interactive development
Compact algorithms (about 30%)
First implementation:
50 times slower than conventional implementation
Eurographics 2006:
Paper " Competitive runtime performance for inverse kinematics algorithms using
conformal geometric algebra " by Dietmar Hildenbrand, Daniel Fontijne, Yusheng
Wang, Marc Alexa and Leo Dorst
First geometric algebra implementation that was faster than the conventional
implementation
![Page 47: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/47.jpg)
Geometric Algebra Computing Architecture
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 48: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/48.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Table based Compilation Example
Geometric product multiplication table in 3D GA:
GA algorithm: resulting C code:
![Page 49: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/49.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Table based Compilation Example
Geometric product multiplication table in 3D GA:
GA algorithm: resulting C code:
![Page 50: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/50.jpg)
Advantage
Sum of products -> SIMD
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 51: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/51.jpg)
Horizon Example in Gaalop
based on the CLUCalc language (www.clucalc.info)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 52: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/52.jpg)
Horizon Example in Gaalop
32-dim multivector array with optimized coefficient computations
… to be further optimized from the storage point of view
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 53: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/53.jpg)
Horizon Example in Gaalop
32-dim multivector array with optimized coefficient computations
… to be further optimized from the storage point of view
This kind of very easy arithmetic expressions lead to high runtimeperformance and robustness
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 54: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/54.jpg)
Gaalop Precompiler
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 55: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/55.jpg)
Gaalop Precompiler
Visualization of the horizon example
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 56: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/56.jpg)
Gaalop Precompiler
Horizon computations in C++
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 57: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/57.jpg)
Gaalop Precompiler
Gaalop GPC for OpenCL
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 58: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/58.jpg)
Gaalop Precompiler
Horizon example
in OpenCL
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 59: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/59.jpg)
Advantages for GPUs
Sum of products -> SIMD
Few special cases
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 60: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/60.jpg)
List of Precompiler Functions
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 61: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/61.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Gaalop GPC for OpenCL …
… available for Windows and Linux (www.gaalop.de).
Application example: Molecular dynamics …
![Page 62: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/62.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Molecular Dynamics in a Nutshell
A Molecule is a compound of several atoms,
which are assumed to be static inside the molecule.
Every atom sends out attraction or repulsion forces to every other atom.
These forces then result in a movement of the molecules according to Newton's and Euler's laws.
This is simulated for 1000s of molecules in parallel.
![Page 63: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/63.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Molecular Dynamics in a Nutshell
A Molecule is a compound of several atoms,
which are assumed to be static inside the molecule.
Every atom sends out attraction or repulsion forces to every other atom.
These forces then result in a movement of the molecules according to Newton's and Euler's laws.
This is simulated for 1000s of molecules in parallel.
![Page 64: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/64.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Molecular dynamics simulation
Lennard Jones potential
www.wikipedia.de
![Page 65: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/65.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Molecular dynamics simulation
Lennard Jones force
is the negative gradient of the Lennard Jones potential
and results in the following force vector acting upon a pair of atoms
All forces (and torques) acting on a particular molecule can be summed up to a
single net force.
With Newton's law F=m*a this force results in an accelaration of the molecule.
![Page 66: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/66.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Conventional molecular dynamics solver
Conventional Velocity Verlet timestep integration method
www.wikipedia.de
Note that those steps have to be computed separately
1. for the translation part
2. for the rotational part
![Page 67: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/67.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
CGA molecular dynamics solver
Velocity Verlet in Conformal Geometric Algebra:
CGA combines translational and rotational parts into one compact algorithm.
Florian Seybold (HLRS), based on David Hestenes's work
![Page 68: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/68.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
General Solver concept
solver is separated into 3 parts
1. molecule verlet time integration step 1
updates the molecule's position and orientation
N computations for N molecules
2. computation of potential forces
updates each molecule's force and torque
n x (n-1) computations for n atoms
3. molecule verlet time integration step 2
updates the molecule's linear and angular velocity
N computations for N molecules
![Page 69: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/69.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
OpenCL-Solver concept
CPUOpenCL enabled GPU
Initialization
Loop
Upload Data
Kernel Call
Kernel Call
Kernel Call
Download Data
Visualization (optional)
Verlet Step 1 – N threads
Compute Potential Forces - n threads
Verlet Step 2 – N threads
![Page 70: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/70.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Implementation
Gaalop Precompiler for OpenCL code:
![Page 71: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/71.jpg)
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
Results
Better runtime performance
Better Numerical Stability (Energy Conservation)
![Page 72: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/72.jpg)
Conclusion
Geometrically intuitive
Fast and robust implementations
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 73: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/73.jpg)
Reference
„Foundations of
Geometric Algebra Computing“
Dietmar Hildenbrand
Springer, 2013
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt
![Page 74: Foundations of Geometric Algebra Computing · realized geometric algebra as a general language for physics („New Foundations of Classical Mechanics“, …) developed calculus ("Clifford](https://reader030.vdocument.in/reader030/viewer/2022040615/5f0e4adf7e708231d43e88bf/html5/thumbnails/74.jpg)
Thanks a lot
Dietmar Hildenbrand | "Foundations of Geometric Algebra Computing" | TU Darmstadt