Projective Geometric Algebra: a Swiss Army Knife for Doing Cayley-Klein Geometry
Total Page:16
File Type:pdf, Size:1020Kb
Projective Geometric Algebra: A Swiss army knife for doing Cayley-Klein geometry Charles Gunn Sept. 18, 2019 at ICERM, Providence Full-featured slides available at: https://slides.com/skydog23/icerm2019. Check for updates incorporating new ideas inspired by giving the talk. This first slide will indicate whether update has occurred. 1 . 1 What is Cayley-Klein geometry? Example: Given a conic section Q in RP 2. For two points x and y "inside" Q, define d(a, b) = log(CR(f+, f−; x, y)) where f+, f− are the intersections of the line xy with Q and CR is the cross ratio. CR is invariant under projectivities ⇒ d is a distance function and the white region is a model for hyperbolic plane H2. 1 . 2 What is Cayley-Klein geometry? SIGNATURE of Quadratic Form Example: (+ + −0) = (2, 1, 1) e0 ⋅ e0 = e1 ⋅ e1 = +1, e2 ⋅ e2 = −1, e3 ⋅ e3 = 0, ei ⋅ ej = 0 for i = j 1 . 3 What is Cayley-Klein geometry? Signature of Q κ Space Symbol (n + 1, 0, 0) +1 elliptic Elln, Sn (n, 1, 0) -1 hyperbolic Hn "(n, 0, 1)" 0 euclidean En 1 . 4 3D Examples The Sudanese Moebius band in S3 discovered by Sue Goodman and Dan Asimov, visualized in UNC-CH Graphics Lab, 1979. 1 . 5 3D Examples Tessellation of H3 with regular right-angled dodecahedra (from "Not Knot", Geometry Center, 1993). 1 . 6 3D Examples The 120-cell, a tessellation of the 3-sphere S3 (PORTAL VR, TU-Berlin, 18.09.09) 1 . 7 Cayley-Klein geometries for n = 2 Name elliptic euclidean hyperbolic signature (3,0,0) "(2,0,1)" (2,1,0) null points x2 + y2 + z2=0 x2 + y2 − z2=0 1 . 8 Cayley-Klein geometries for n = 2 Name elliptic euclidean hyperbolic signature (3,0,0) "(2,0,1)" (2,1,0) null points x2 + y2 + z2=0 z2=0 x2 + y2 − z2=0 1 . 8 Example Cayley-Klein geometries for n = 2 Name elliptic euclidean hyperbolic signature (3,0,0) "(2,0,1)" (2,1,0) null points x2 + y2 + z2=0 z2=0 x2 + y2 − z2=0 null lines* a2 + b2 + c2=0 a2 + b2=0 a2 + b2 − c2=0 *The line ax + by + cz = 0 has line coordinates (a, b, c). 1 . 9 Question What is the best way to do Cayley-Klein geometry on the computer? 2 . 1 Question What is the best way to do Cayley-Klein geometry on the computer? 1993 2 . 1 Question What is the best way to do Cayley-Klein geometry on the computer? 1993 2019 2 . 1 Vector + linear algebra 2 . 2 Vector + linear algebra Projective points Projective matrices 2 . 2 Vector + linear algebra Projective points Projective matrices 2 . 3 Vector + linear algebra Projective points Projective matrices But it's 2019 now. Can we do better? 2 . 3 Cayley-Klein programmer's wish list 2 . 4 Cayley-Klein programmer's wish list Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Single, uniform rep'n for isometries Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Single, uniform rep'n for isometries Compact expressions for classical geometric results Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Single, uniform rep'n for isometries Compact expressions for classical geometric results Physics-ready Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Single, uniform rep'n for isometries Compact expressions for classical geometric results Physics-ready Metric-neutral Coordinate-free 2 . 4 Cayley-Klein programmer's wish list Uniform rep'n for points, lines, and planes Parallel-safe meet and join operators Single, uniform rep'n for isometries Compact expressions for classical geometric results Backwards compatible Physics-ready Metric-neutral Coordinate-free 2 . 4 Partial solutions: Quaternions (1843) A 4D algebra generated by units {1, i, j, k} satisfying: 12 = 1, i2 = j2 = k2 = −1 ij = −ji, ... 3 . 1 Quaternions Quaternions H s + xi + yj + zk 3 Im. quaternions IH v := xi + yj + zk ⇔ (x, y, z) ∈ R Unit quaternions U {g ∈ H ∣ gg = 1} 3 . 2 Quaternions Quaternions H s + xi + yj + zk 3 Im. quaternions IH v := xi + yj + zk ⇔ (x, y, z) ∈ R Unit quaternions U {g ∈ H ∣ gg = 1} I. Geometric product: v1v 2 = −v1 ⋅ v2 + v1 × v2 3 . 3 Quaternions Quaternions H s + xi + yj + zk 3 Im. quaternions IH v := xi + yj + zk ⇔ (x, y, z) ∈ R Unit quaternions U {g ∈ H ∣ gg = 1} I. Geometric product: v1v 2 = −v1 ⋅ v2 + v1 × v2 cross product inner product 3 . 3 Quaternions Quaternions H s + xi + yj + zk 3 Im. quaternions IH v := xi + yj + zk ⇔ (x, y, z) ∈ R Unit quaternions U {g ∈ H ∣ gg = 1} II. Rotations via sandwiches: 1. For g ∈ U, there exists x ∈ IH so that g = cos(t) + sin(t)x = etx 2. For any v ∈ IH (≅ R3), the "sandwich" gvg rotates v around the axis x by an angle 2t. 3. Comparison to matrices. 3 . 4 Quaternions Quaternions H s + xi + yj + zk 3 Im. quaternions IH v := xi + yj + zk ⇔ (x, y, z) ∈ R Unit quaternions U {g ∈ H ∣ gg = 1} Advantages I. Geometric product II. Rotations as sandwiches Disadvantages I. Only applies to points/vectors II. Special case R3 3 . 5 Partial solutions: Grassmann algebra Hermann Grassmann (1809-1877) Ausdehnungslehre (1844) 4 . 1 Grassmann algebra 2 2∗ The wedge (∧) product in RP and RP 4 . 2 Grassmann algebra 4 . 3 Grassmann algebra Standard projective x ∧ y is join yields ⋀ RP 2 4 . 3 Grassmann algebra Standard projective Dual projective x ∧ y is join x ∧ y is meet 2 2∗ yields ⋀ RP yields ⋀ RP 4 . 3 Grassmann algebra The dual projective 2∗ Grassmann algebra ⋀ RP Grade Sym Generators Dim. Type 0 0 ⋀ 1 1 Scalar 1 1 ⋀ {e0, e1, e2} 3 Line 2 2 ⋀ {Ei = ej ∧ ek } 3 Point 3 3 ⋀ I = e0 ∧ e1 ∧ e2 1 Pseudoscalar 4 . 4 Grassmann algebra The dual projective 2∗ Grassmann algebra ⋀ RP Grade Sym Generators Dim. Type 0 0 ⋀ 1 1 Scalar 1 1 ⋀ {e0, e1, e2} 3 Line 2 2 ⋀ {Ei = ej ∧ ek } 3 Point 3 3 ⋀ I = e0 ∧ e1 ∧ e2 1 Pseudoscalar n∗ We will be using ⋀ RP for the rest of the talk. 4 . 4 Grassmann algebra The wedge (∧) product in RP 2 Properties of ∧ 1. Antisymmetric: For 1-vectors x, y: x ∧ y = −y ∧ x x ∧ x = 0 2. Subspace lattice: For linearly independent subspaces x ∈ k m k+m ⋀ , y ∈ ⋀ , x ∧ y ∈ ⋀ is the subspace spanned by x and y otherwise it's zero. Note: The regressive (join) product ∨ is also available. (Then it's called a Grassmann-Cayley algebra.) 4 . 5 Grassmann algebra Note: spanning subspace means different things in standard and dual setting. In 3D: Standard: a line is the Dual: a line is the subspace spanned by subspace spanned by two points. two planes. Plane pencil ange Point r Spear Axis 4 . 6 Grassmann algebra Advantages 1. Points, lines, and planes are equal citizens. 2. "Parallel-safe" meet and join operators since projective. Disadvantages 1. Only incidence (projective), no metric. 4 . 7 Clifford's geometric algebra William Kingdon Clifford (1845-1879) "Applications of Grassmann's extensive algebra" (1878): His stated aim: to combine quaternions with Grassmann algebra. 5 . 1 Clifford's geometric algebra Geometric product extends the wedge product and is defined for two 1-vectors as: xy := x⋅y + x ∧ y 0-vector 2-vector where ⋅ is the inner product induced by Q. Since the two terms measure different aspects, the sum is (usually) non-zero. This product can be extended to the whole Grassmann algebra ∗ to produce the geometric algebra P(Rp,n,z ) . 5 . 2 Clifford's geometric algebra Geometric product extends the wedge product and is defined for two 1-vectors as: xy := x⋅y + x ∧ y measures measures sameness 0-vector 2-vector difference where ⋅ is the inner product induced by Q. Since the two terms measure different aspects, the sum is (usually) non-zero. This product can be extended to the whole Grassmann algebra ∗ to produce the geometric algebra P(Rp,n,z ) . 5 . 2 Projective geometric algebra We call an algebra constructed in this way a projective geometric algebra (PGA). ∗ ∗ ∗ We are interested in P(R3,0,0) , P(R2,1,0) , P(R2,0,1) . ∗ We sometimes write P(Rκ) and leave the metric open. We can choose a fundamental triangle so that: 2 2 2 e0 = κ, e1 = e2 = 1 (κ ∈ {−1, 0, 1}) Ek := eie j = ei ∧ ej = −ej e i I := e0e 1e 2 5 . 3 2D PGA 2 Example: Two lines, let e0 = κ a = a0e 0 + a1e 1 + a2e 2 b = b0e 0 + b1e 1 + b2e 2 2 2 2 ab = (a0b 0e 0 + a1b 1e 1 + a2b 2e 2) +(a0b 1 − a1b 0) e0e 1 + (a1b 2 − a2b 1) e1e 2 + (a0b 2 − a2b 0) e0e 2 = (a0b 0κ + a1b1 + a2b 2) +(a1b 2 − a2b 1) E0 + (a2b 0 − a0b 2) E1 + (a0b 1 − a1b 0) E2 = a ⋅ b + a ∧ b 5 . 4 2D PGA 2 Example: Two lines, let e0 = κ a = a0e 0 + a1e 1 + a2e 2 b = b0e 0 + b1e 1 + b2e 2 2 2 2 ab = (a0b 0e 0 + a1b 1e 1 + a2b 2e 2) +(a0b 1 − a1b 0) e0e 1 + (a1b 2 − a2b 1) e1e 2 + (a0b 2 − a2b 0) e0e 2 = (a0b 0κ + a1b1 + a2b 2) +(a1b 2 − a2b 1) E0 + (a2b 0 − a0b 2) E1 + (a0b 1 − a1b 0) E2 = a ⋅ b + a ∧ b Looks lik e cross product but is the point incident to both lines.