5 ms·
Siggraph2019 Geometric Algebra (2019) [video]
- ivan_ah 7y agoHere are some direct links to some of the PGA (Projective Geometric Algebra) resources mentioned in the talk: 1. The 2D and 3D cheat sheets are here: https://bivector.net/doc.html https://bivector.net/doc.html 2. The talk is also available in "paper form" on the arXiv: https://arxiv.org/abs/1901.05873 https://arxiv.org/abs/1901.05873 3. Ganja.js repo https://github.com/enkimute/ganja.js https://github.com/enkimute/ganja.js and the associated demos in the Ganja coffee shop https://enkimute.github.io/ganja.js/examples/coffeeshop.html https://enkimute.github.io/ganja.js/examples/coffeeshop.html ____ For more background about the concepts like quaternions, projective geometry, and exterior algebra, etc. that are all united in PGA, you can check this nice book by Jean Gallier and Jocelyn Quaintance: https://www.cis.upenn.edu/~jean/gbooks/geomath.html https://www.cis.upenn.edu/~jean/gbooks/geomath.html direct link https://www.cis.upenn.edu/~jean/math-deep.pdf https://www.cis.upenn.edu/~jean/math-deep.pdf I haven't read, but sampled it on several topics and found the explanations to be very good. (edit) first-added links specific to PGA, and typo fix s/external/exterior/
- cygx 7y ago*exterior algebra
- skydog23 7y agoAs the author of the arxiv preprint referred to above, I would like to point out a newer, expanded version written for the Siggraph 2019 course. It's available here: https://www.researchgate.net/publication/334397782_Course_notes_Geometric_Algebra_for_Computer_Graphics_SIGGRAPH_2019 https://www.researchgate.net/publication/334397782_Course_no...
- carapace 7y agoFWIW, "Geometric Algebra for Electrical and Electronic Engineers" is short and sweet: https://ieeexplore.ieee.org/document/6876131?arnumber=6876131 https://ieeexplore.ieee.org/document/6876131?arnumber=687613... > This tutorial paper provides a short introduction to geometric algebra, starting with its history and then presenting its benefits and exploring its applications.
- banachtarski 7y agoHighly recommended. Absolutely eye opening talk and set of resources.
- nimish 7y agoGreat article from the same presenter here: https://www.groundai.com/project/projective-geometric-algebra-a-new-framework-for-doing-euclidean-geometry/1 https://www.groundai.com/project/projective-geometric-algebr... And for those who know conformal GA, see https://www.researchgate.net/publication/290437718_Geometric_Algebras_for_Euclidean_Geometry https://www.researchgate.net/publication/290437718_Geometric...
- amelius 7y agoDoes this solve the problem of consistency in computational geometry? I.e. point lies inside a polygon, but due to rounding errors, the point seems to lie outside the polygon, which might trigger e.g. a program crash.
- injidup 7y agoNo
- garmaine 7y agoNo, but there are other ways of solving that. Setting rounding modes and bias values appropriately would prevent what you describe.
- nwallin 7y agoYou mean dynamically setting rounding modes depending on what operation you're doing? How do you do this performantly while staring down the barrel of context switching, third party dependencies, programmers who are at least as dumb as I am...? My general rule of thumb is that if your code might fail if someone swaps out IEEE 754 floating point semantics for some other representation that's at most as goofy as IEEE 754, your code is probably wrong.
- garmaine 7y agoContext switching preserves fpu modes. You set these inside inner loops where you aren’t calling out to third party dependencies. Good libraries make this easy to work with. This is exactly how IEEE 754 was designed to work, and is what all the major numerical libraries do.
- nutjob2 7y agoYes, if you do it algebraically. This is one of the things that this talk touches upon. BAsically if you use GA you eliminate precision issues (at least until you render or otherwise materialise), various special cases, limitations and unnecessary complexity.
- crubier 7y agoThis video is the best thing I watched in the past few years. Last time I loved something that much was Geoffrey Hintons course about deep learning back in 2015. It is eye opening, just like in the beginning of mainstream deep learning, it made me wonder “why didn’t we discover this before?” It elegantly solves so many annoyances about geometry, maths and physics. I’ve been evangelizing Geometric Algebra like crazy since I found this video, including in hacker news comments.
- alexkcd 7y agoAgreed. Besides Geometric Algebra, dual numbers also play a huge role in automatic differentiation -- the core building block of modern machine learning frameworks. I really like the analogy in this talk about how Al-Khwarizmi's six quadratic equations simplify to just one, once we learn about negative numbers and zero. In a lot of ways, geometric algebra (and dual numbers) are our discovery of "negative numbers and zero", but for the 21st century.
- moralestapia 7y ago>also play a huge role in automatic differentiation Could you extend more on how GA plays a role in this? I wish to learn more but don't know where to start. Any leads would be appreciated greatly.
- spacedome 7y agoIn the video they present it as an algebraic framework where you can "add" to a number system elements x such that x^2 = -1, x^2 = 0, or x^2 = 1. Adding the element x^2 = -1 to the real numbers gives you the complex numbers, with x = i. Adding the element x^2 = 0 to the real numbers gives you the dual numbers with x = epsilon, which is what can be used for automatic differentiation. The case of x^2 = 1 is more complicated.
- alexkcd 7y agoDon't know of a good single resource that is comprehensive. A high level overview of autodiff approaches can be found here: https://www.robots.ox.ac.uk/~tvg/publications/talks/autodiff.pdf https://www.robots.ox.ac.uk/~tvg/publications/talks/autodiff... Some example implementations based on dual numbers: 1. http://www.ceres-solver.org/automatic_derivatives.html http://www.ceres-solver.org/automatic_derivatives.html 2. http://www.imm.dtu.dk/~kajm/FADBAD/ http://www.imm.dtu.dk/~kajm/FADBAD/ Newer ML frameworks do source to source transformations, which allows calculating the derivative without changing the function signature, but the concepts used remain the same.
- deleted 7y ago[deleted]
- adamnemecek 7y agoIf this interests you, you should check out the bivector community https://bivector.net/ https://bivector.net/ which is ran by the presenter of this lecture. Join the discord https://discord.gg/vGY6pPk https://discord.gg/vGY6pPk. Check out a demo https://observablehq.com/@enkimute/animated-orbits https://observablehq.com/@enkimute/animated-orbits
- msla 7y agoA good introduction: https://www.av8n.com/physics/clifford-intro.htm https://www.av8n.com/physics/clifford-intro.htm Previous discussion on this topic: https://news.ycombinator.com/item?id=22200260 https://news.ycombinator.com/item?id=22200260
- DreamScatter 7y agoCheck out my geometric algebra software https://grassmann.crucialflow.com https://grassmann.crucialflow.com
- enkimute 7y agoFor those interested - In a few weeks, 26-27-28 February, there is a (free) workshop featuring talks and workshops from Leo Dorst, Anthony Lasenby, Charles Gunn, Steven De Keninck (the lecturer from this vid - disclaimer - thats me), Vincent Nozick, Dietmar Hldenbrand, Hugo Hadfield and Eric Wieser. They'll be talking about their research on applications of GA in robotics, AI, CS, physics, graphics. more info : https://bivector.net/game2020.html https://bivector.net/game2020.html Everyone welcome !
- skwog 7y agoNear the end of your Siggraph 2019 talk (excellent, thanks), an audience member mentions an IEEE Spectrum article "Geometric Algebra for Electrical and Electronic Engineers". What is the author's surname that you mention? Peter Yolks? Jolts? Holt? Oates? For me, multiple searches have yielded no results for a similar author name so far. Specifically, there does not appear to be any such article on IEEE Spectrum [1], but there is one on Proceedings of the IEEE [2] whose listed authors do not include anyone named Peter. Curious because you go on to state that his work is readily available. That caught my attention, so I became interesting in finding out more. [1] https://spectrum.ieee.org/searchContent?query=Geometric+Algebra&max=10&page=0&types=Article&q=Geometric+Algebra https://spectrum.ieee.org/searchContent?query=Geometric+Alge... [2] https://proceedingsoftheieee.ieee.org/most-downloaded/geometric-algebra-for-electrical-and-electronic-engineers/ https://proceedingsoftheieee.ieee.org/most-downloaded/geomet...
- deepaksurti 7y agoA recent discussion on HN related to GA in the context of removing quaternions: https://news.ycombinator.com/item?id=22200260 https://news.ycombinator.com/item?id=22200260
- bananabiscuit 7y agoHere is an informative critique of this video along with an improved application of geometric algebra to computer geometry: http://terathon.com/blog/projective-geometric-algebra-done-right/ http://terathon.com/blog/projective-geometric-algebra-done-r...
- ivan_ah 7y agoThanks for sharing this blog post and the cheat sheet http://terathon.com/pga_lengyel.pdf http://terathon.com/pga_lengyel.pdf I agree the representation chosen in the SIGGRAPH lecture and the associated docs seems somewhat unnatural and counter-intuitive (why are points being represented as trivectors?). Have you reached out to C. Gunn or S. De Keninck to ask what they think about the representation you propose in that blog post and the geometric product ⟑ and antiproduct ⟇ ? If the representations are equivalent and one is closer to concepts people already understand (e.g. points being (x,y,z,w), with w=1), then maybe adopting the simpler representation would lead to wider adoption of the ideas. Alternatively, maybe they will point out some other reasons why points-as-trivectors representation is preferable.
- enkimute 7y agoIn the short version, the representations are isomorphic, that is you can take all formulas from our Siggraph cheat sheets and replace all operators by Eric's 'anti-operators'. You can review the discussion with Eric here : https://discourse.bivector.net/t/why-use-dual-space-in-pga-r-3-0-1-vs-r-3-0-1/101/53?u=enki https://discourse.bivector.net/t/why-use-dual-space-in-pga-r... (its a long discussion, the link points to my last summary). There are still some unanswered questions on Eric's method (most notably how to define his duality mathematically - or how to arrive at the metric for the dual algebra - I'm looking forward to his views on this.) The 26th of February I'm giving a new talk at the GAME2020 workshop that is all about the reason the view nobody is used to might in fact be a natural choice.
- jnfinity 7y agoYour welcome, ivah_ah. I approached the SIGGRAPH presenters immediately after their talk last year to try to explain that the whole thing could be done without swapping the geometrical meanings of vectors and trivectors. They were very dismissive at the time, but I think they have now accepted the formulation I've introduced leads to exactly the same mathematics with the only differences being in naming and numbering. I don't see the math as one algebra with the geometric product and a "dual" algebra with the geometric antiproduct. I see it as a single algebra with two products existing simultaneously. It's important to understand that there are lots of symmetries in geometric algebra, and for each one, both sides of the symmetry are equally significant, and the universe doesn't prefer one over the other. The most fundamental symmetry is that each basis element can simultaneously be viewed as containing some "full" dimensions and some "empty" dimensions. In 4D space, you can think of this as a 4-bit quantity where 1 means full and 0 means empty. (These are what the black and white bars represent on my poster.) Four bits means 16 different basis elements can be formed by selecting which dimensions are full. Scalars have no full dimensions, vector basis elements have one full dimension, bivector basis elements have two full dimensions, trivector basis elements have three full dimensions, and antiscalars (which are 4D volume elements or quadrivectors) have all four full dimensions. At the same time, you can view these from the opposite perspective and say that scalars have all four empty dimensions, vectors have three empty dimensions, bivectors have two empty dimensions, trivectors have one empty dimension, and antiscalars have no empty dimensions. The important thing to understand about the relationship between the geometric product and the geometric antiproduct is that the first one performs operations on full dimensions, and the other one performs exactly the same operations on empty dimensions. With regard to the degenerate metric, anything containing a full w-dimension (corresponding to e4 in my work) squares to zero under the geometric product, and anything containing an empty w-dimension squares to zero under the geometric antiproduct. Since the two approaches (the SIGGRAPH approach and my approach) are both valid and produce the same mathematics, I prefer to stick with the approach that keeps points = 4D vectors, lines = 4D bivectors, and planes = 4D trivectors because we're simply adding one projective dimension to everything. This is an extension of the concept of homogeneous coordinates that has long been established in computer graphics. Here, the dimensionality of a projective geometric object corresponds directly to the grade of the associated element in the algebra, which counts the number of full dimensions. In the SIGGRAPH approach, the dimensionality of a projective geometric object corresponds to the grade subtracted from four, which counts the number of empty dimensions. It's a mirror image. Like I said earlier, the universe doesn't care which approach you use, and to claim that one is a more natural choice than the other is erroneous. The only thing we can do is choose one to be the agreed-upon convention and stick to it in the same sense that everybody agrees to use the right-hand rule for cross products instead of an equally valid left-hand rule. I'll be giving a talk about all of this at the GDC 2020 Math Summit on March 17.