Here are the notes that got too long to fit in the description: Note 1 (2:04): Credit for this "note" idea goes to the RU-vidr Bismuth. Note 2 (4:59): You might notice that there could actually be two different angles that two lines can make. So which angle is the one we use? It actually depends! You see, I have neglected to mention that each line actually has a hidden orientation that can have an impact on calculations. I don't mention it here because it doesn't impact most of the calculations in this video, but this is one of the few exceptions. The dependence of the inner product on the orientation of lines won't matter much to us because the main thing I want the inner product for is the definition of parallel and perpendicular (which I'll get to in a moment), which doesn't depend on the orientation of the lines. Note 3 (12:58): If you think that this looks like homogeneous coordinates, that's right, because this is precisely homogeneous coordinates! In fact, this is the main point of connection between PGA and projective geometry. But in PGA we prefer to make lines/planes our vectors rather than points because the geometric and inner products don't work as we want them to if we make points our vectors. Note 4 (15:12): You might be wondering about why I picked (b, -a) rather than (-b, a), and the reason is that this is another case where the orientation of a line comes in. However, given that the two points at infinity are the negative of each other, they are scalar multiples of each other, so in some sense they represent the same point. Thus, it actually doesn't matter which of (b, -a) and (-b, a) we choose, so I just picked one. Note 5 (20:22): You might notice that I swapped an inner product while fusing the two projection equations. Your first instinct might be that this is fine because the inner product is symmetric, but then you might realize that this is not fine because the inner product in geometric algebra is not symmetric. So what gives? Well, between homogeneous multivectors, the inner product is always either symmetric or antisymmetric, and because scalar multiples don't affect what object our multivectors represent, the minus sign won't really matter to us. Thus, for our purposes, we can swap the inner product without really worrying about whether or not we should be introducing a minus sign. Note 6 (24:54): You might be wondering why I write the rotor transformation law as R†aR rather than RaR†, which is what many others use. In the end it's just a convention, and I prefer R†aR because many things feel more straightforward to me when using this convention. I might make a video or a short in the future expounding on this a bit. Note 7 (28:30): Not only is the magnitude of the lines important, but their orientation is as well! In fact, the relative orientation of the lines affects whether you rotate in a clockwise or counterclockwise direction. This is probably the only time in the video that the orientation of lines really matters. However, in my own work, I'll admit that I still don't really think of the orientation of lines/points when I'm exponentiating. I'll just look at the result, and if I see that something's off, I just throw in a minus sign then. Note 8 (51:21): You might be wondering how the symbols map to GA operations. * is the geometric product, ^ is the outer product, and & is the regressive product (while it wasn't used here, | is the inner product). The GA in this demonstration was done using the Python library kingdon: github.com/tBuLi/kingdon
@@HEHEHEIAMASUPAHSTARSAGA Because reflecting across 3 orthogonal planes is the same as reflecting across the point where they intersect. Thus it makes sense that composing three planes can result in a point. The other way around however does not apply. You can generate translations by reflecting across two points, but there's no way to generate rotations, and rotations are nice.
@@housamkak8005 Sudgy's notation given here seems to be standard, though I personally use a different convention. Outside of geometric algebra, ∧ and ∨ are the standard symbols for AND and OR respectively. There are also contexts outside of GA that use meets and joins and respectively use the symbols... ∧ and ∨. It might also be worth mentioning the intersection and union, which are both closely related to the AND and meet, and OR and join respectively, and use the symbols ∩ and ∪, which look a heck of a lot like the prior symbols. With this in mind, most programming languages represent AND as & and OR as |. Those are the symbols that I've come to prefer for the outer product and regressive product. The main thing it lacks is the visual similarity between ∧ and ^, though since ^ is usually used for XOR, it seemed as good a choice as any for the inner product. Oh, and also that it conflicts with the established approach, but I don't really care about that as much.
It is not your maths or his maths, her maths or theirs! It is *our maths* Union indestructible free republics Союз нерушимый республик свободных United forever Great Rus' Сплотила навеки Великая Русь Long live the one created by the will of the peoples Да здравствует созданный волей народов United, mighty Soviet Union! Единый, могучий Советский Союз! Hail, our free Fatherland Славься, Отечество наше свободное Friendship of peoples is a reliable stronghold! Дружбы народов надёжный оплот! Party of Lenin - the power of the people Партия Ленина - сила народная It leads us to the triumph of communism! Нас к торжеству коммунизма ведёт! Through the storms the sun of freedom shone for us Сквозь грозы сияло нам солнце свободы And the great Lenin lit the way for us И Ленин великий нам путь озарил He raised the nations to a just cause На правое дело он поднял народы Inspired us to work and deeds! На труд и на подвиги нас вдохновил! Hail, our free Fatherland Славься, Отечество наше свободное Friendship of peoples is a reliable stronghold! Дружбы народов надёжный оплот! Party of Lenin - the power of the people Партия Ленина - сила народная It leads us to the triumph of communism! Нас к торжеству коммунизма ведёт! In the victory of the immortal ideas of communism В победе бессмертных идей коммунизма We see the future of our country Мы видим грядущее нашей страны And the red banner of the glorious Fatherland И красному знамени славной Отчизны We will always be selflessly faithful! Мы будем всегда беззаветно верны! Hail, our free Fatherland Славься, Отечество наше свободное Friendship of peoples is a reliable stronghold! Дружбы народов надёжный оплот! Party of Lenin - the power of the people Партия Ленина - сила народная It leads us to the triumph of communism! Нас к торжеству коммунизма ведёт!
Very excited to see this! Your introduction to VGA and STA were awesome, and I have no doubt this will be similar! Edit: and I should mention Zero to Geo is amazing too! Building up an entire field of mathematics from the ground up is no small feat!
Not specific to this video, but I'd like to give a mention to the surprisingly consistent color scheme between your videos for the basis blades. They even have a near perfect match with the color scheme for the basis blades in a Swift Introduction to Spacetime Algebra, though with the e₀₁, e₀₂, and e₀₃ terms using the colors γ₁, γ₂, and γ₃ respectively, and the reverse. e₀ and γ₀, along with e₀₁₂₃ and γ₀₁₂₃, have completely different colors, but that's understandable since while they have similar relationships with the rest of the algebra, they also behave somewhat differently. For those not yet convinced of PGA, I recommend doing some reflection, and eventually you will see. ;)
Is reflection a pun? Nice! I like thinking of reflections as (180 degree=pi radian) rotations. Thinking of translations as rotation around a point of infinity is new to me, as is the point of infinity itself. I find PGA fascinating too, I’m not a mathematician, just like learning things every now and then
@@naturegirl1999 To be specific, a 180° rotation is a reflection across a "hyper-line" you could say. (Whatever a N-2 D subspace is when working in ND.) The further away said "hyper-line" is, scaling the angle down proportionally to the distance makes a rotation around said "hyper-line" become more and more straight and more closely resemble a translation more so than a rotation. A "point at infinity" (point being a "hyper-line" in 2D) is basically just taking the limit as the distance from this line approaches infinity. An odd quirk that makes more sense in elliptic geometry or when visualizing the N+1 dimensional embedding is that when the point in question actually "reaches" infinity, it becomes indistinguishable from a point at infinity in the exact opposite direction.
"Everything in this video can be derived from what is currently on screen." I have never seen this used before, but this is definitely the best way to establish the simplicity of the concept!
I was pretty familiar with VGA and Projective Geometry, but this video (especially the shot of all the different traditional formulas) is probably the best non-calculus argument for why GA is really useful, rather than merely fun/interesting. Excellent work!
@53:45 "it allows for a simple way to do n-dimensional rigid body dynamics" Now you're just flexing! I'm really looking forward to 7D video games with a realistic physics engine (that would of course be programmed for 2D then changing a single character to 7 at the beginning of the file). Geometric Algebra truly is powerful Thanks for this awesome video
I took a graphics class before and discussed briefly about projective geometry. The whole things was kinda magical with the introduction of homogeneous coordinate that just kinda solve everything. Never thought how extended algebraic system could encapsulate all the geometric operations so elegantly... Thank you so much for opening my plebeian's mind
Man you are the father of this topic on youtube by now. I really would like to see rigid body dynamics videos using pga. Amazing work I swear. How can I code that as well? U used an Algebra object, where was that defined?
Look into the bivector RU-vid channel, they have stuff on rigid body dynamics using PGA. The Algebra object was defined in the python package kingdon: github.com/tBuLi/kingdon
Dude, thank you so much for all your hard work on this! Your OG GA video is one of my favorite math explainers of all time, and STA was up there too. I’m wondering what’s next, conformal GA?
I love it!!! I think I will spend some hours with my analytic geometry textbook redoing all the excercices with these new tools!! Thank you very much. This is awesome
1:45 I've also seen "Euclidean PGA" referred to as "Parabolic PGA" when contrasting "Elliptical PGA" and "Hyperbolic PGA". So in this way these are sometimes abbreviated PPGA, EPGA, and HPGA without "Euclidean" and "Elliptical" being ambiguous
So amazing! Thank you for all your work. In by opinion, your videos are the best source for approaching GA. This video makes me so excited because there is almost no approachable information on the different flavors of GA on RU-vid. I think the least amount of basic info available for any flavor is conformal geometric algebra. So I’m so excited to see if you will make a similar video for CGA. That being said, I get so pumped every time you upload a video and love what you are doing. Thank you so much!
I love PGA, it's a standard method in Russian School program, that is allowed to be used on Government Attestation Test to complete your school diploma. I love the simplistic approach to it in this video. We use a different notation, and our most used thing is formula for plane, normal and vector sum, and projection to 2D plane is a backbone to Vector Stereometrics. Things like perpendicularity and parallelism was always considered a time consuming process to formally notate at exams by PGA formulas and we was strongly advised to use traditional methods at that. I'm supper happy to watch this different view at that topic.
Which schools teach PGA? It is definitely not a part of a standard high school curriculum, and even not a part of most university curriculums (unless, may be, you major in mathematics).
@@onebronx in Russia it's a part of high school program. There is a separation: language education schools - "gymnasium", history and literature - "licey", and physics and mathematics - "physmat", there are also religion and sport focused schools as well, to specifically learn PGA in Russia you need to go do "physmat" schools or in "competetive math" classes in "gymnasium" or "licey" schools. We have right now 3 Government standard and licensed books for high school students about PGA and basic Vector Geometry. The one that i read was: Alternative ways of solving problems by Isaak Kushmir, Solving geometric problems with vector method - G.A. Klekovkin, and the most complete: Vectors at Exams - S.A. Shestakov. But all High schoolers is allowed to use PGA and Vector Geometry methods on Government Attestation Test. And small nuance about GAT - you need notate your solving process even if it's a test, because test question is usually "yes" or "no", but you can have a high variation of answers depend on method of solving. Enumeration Method is also valid, and you also allowed to use degrees and radian in answers. You can google: "примеры решения профильной математики с ЕГЭ" to look for some answers sheets.
@@d1namisI looked into the last one (С.А Шестаков, Векторы на экзаменах. Векторный метод в стереометрии, 2005, available online), and I do not see any PGA there, just a standard vector algebra in R^3. The book tells nothing about multivectors, their different products (outer, geometric, "sandwiching"), projective space, linear space of lines, points/lines at infinity etc. Just a regular vector algebra (vector basis/coordinates, scalar product, dot product -- that's it), i.e. exactly what PGA tries to escape from.
@@onebronx There is projections and infinite lines in that book, as far as i remember, but yes, most of that book is made for idiomatic solving thing approach.
@@d1namis yes, there are projections in the book -- but those are just regular dot products, not projective spaces, big difference. There is no any Geometric Algebra in the book at all. I believe you just confused Geometric Algebra with Analytic Geometry (cartesian coordinates, lines, planes, conics etc). BTW, I also found a PDF of the Kushnir's book (Исаак Кушнир, Альтернативные способы решения задач (Геометрия), 2006) -- it is all regular planimetry and stereometry, no traces of PGA at all, too. And, as a participant of high school math olympiads and later a graduate of a polytechnical institute (not math major, but pretty math-heavy engineering, including computer graphics, where I'd certanly got benefits from GA), I never heard about [P]GA, Clifford algebras etc. Most probably only math majors and, may be, theroretical physicists studied them, but not high school/gymnasium/lyceum students.
I've wondered how PGA would look if you stopped normalizing everything. I know in Lengyel's version, non-normalized points act like point masses, and addition of non-normalized points describes the center of mass
Usually when doing projective geometry you start with representing points in your space as points on a plane in a space one dimension up, which leads to homogeneous coordinates. Then (now assuming we're describing 2D space with 3D space), planes through the origin in 3D represent arbitrary lines in 2D, which works like the linear space of lines. But in the end, these are all just different routes to describing the same thing, so of course a lot of things end up being the same.
I think the algebra was patented for a bit there, and you can thank the manhattan project physicists for preferring to use linear algebra over Clifford algebra
Think I found a small caveat with something you said: 9:29 You say that the regressive product can be defined in terms of the geometric product, and suggest that “everything on the screen” is enough for this. I suppose there is a caveat which is that you also need a duality operator, which you understandably didn’t mention since it’s out of the scope of the video. As you said in your other very helpful video on the operations of GA, when a basis vector squares to 0, you have to use the hodge dual instead of the simpler pseudoscalar dual, if I understand correctly. In PGA, e0 squares to 0. So really you would have to also come up with a hodge dual table to use the regressive product in PGA, right?
This whole thing with the dual and the regressive product is pretty messy in PGA. Yes, in this particular circumstance, you can't define the regressive product with purely the geometric product. However, once you have picked a basis (such as e1, e2, and e0 here), you can define the dual in terms of that basis and the geometric product, so "You can do everything with what's on the screen right here" is still true, because I showed the basis on screen as well. I guess I did cheat a little bit with including the regressive product in the statement about the geometric product, but I wanted to mention all of the other products being used without going into a long shpeal about basis-dependence right then. I probably should have put a note there.
@@sudgylacmoeThat’s totally fair! I think it could be a good topic for a short. Someone who watches this video and your other general video on the operations of GA would have enough info to make their own PGA implementation, which is great.
Yeah that other video was actually originally going to be a quick sidenote at the beginning of this video but then I realized it was getting way too long so I split it off into its own thing.
13:35 Git yer MEAT PRODUCTS fresh OUTSIDE!! lmao im never gonna forget it now. (legitimately a fantastic and super informative video, i actually learned a lot)
how does this all translate into embedding this into the basic geometric algebra? i'm having a vague intuition that you need to dualize everything then project onto a plane distance 1 from the origin, but i'm not sure how that interacts with the different products in the algebra
It actually took me a long while to realize that the symbols for meet (∧) and join (∨) look suspiciously similar to the symbols for set intersection (⋂), and set union (⋃) as they act accordingly. This may be obvious to some, but for myself it was a fun realization. (Well, I first realized for logical AND / OR, but it works here as well :)
This is why it upsets me that most GA libraries use ^ for the meet, & for the join, and | for the inner product. I mean, they literally use the symbols for AND (∧) and OR (∨), so naturally they should use the symbols for AND (&) and OR (|).
Aside from "e0 doesn't contribute to the magnitude/inner product", pretty much everything applies as-is. Rotations are still rotations, and translations become translations in hyperbolic and elliptic space, which, like how Euclidean translations can be viewed as shears in the higher dimension, hyperbolic and elliptic translations become hyperbolic rotations and traditional rotations in the higher dimension. There are a few quirks of the geometry that can give potentially surprising results, like translating in elliptic geometry eventually getting you back to where you started, and 2D hyperbolic PGA having a noticeably finite "line at infinity", and points that can be said to be "beyond infinity". Also, while hyperbolic and elliptic geometry are more often visualized with stereographic projections, PGA actually favors the Beltrami-Klein model and gnomonic projection, which would get used automatically if using and existing plot intended for Euclidean PGA, so they may look different from how you might expect because of that, though they'd also look more like Euclidean PGA at the same time.
Your content is amazing!! Eye opening to me and presumably to many!! Can you please do a video on where are we on explaining general relativity and quantum field theory using a flavour of geometric algebra? Maybe possible unification hope there? Would love to watch that from you. Thanks!!
@@sudgylacmoe Thanks for letting me know. Also I thought I was late and you wouldn't see my comment, it's nice that you check the comments on your videos once a while. Also I would love to see a geometric calculus series regardless of your mastery on it, I think it would be fun regardless of the number of mistakes or anything and you could just put a disclaimer at the start saying it is not a professional video but of course if you don't feel you're good enough no pressure.
This is really remarkable stuff. I am working on a computing environment, based on a "souped up Forth" system, and I want to incorporate this stuff into it, along with several other things I've stumbled across. It's just a dream right now, but... we'll see.
*Is there an operator symbol for the geometric product?* It’s probably a stupid question. (I mean like + is the operator symbol for addition.) Because × is taken, ⋅ is taken, * or ∗ are essentially taken as well, so is there really no operator symbol for the geometric product?
@@sudgylacmoe Programming is probably the only context where you absolutely must have one. But good to know that I'm not crazy/stupid for not finding one somewhere online. Thanks for your response.
I go into more detail on why this is the case in my video focused on the linear space of lines: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-T0b8-NJH79s.html
ok you lost me at 2:40 ...it's like going to school again waiting for the penny to drop whilst reading a book that is supposed to be obvious. 2:50 Is x vertical or horizontal in this display?
woah, conformal geometric algebra might be just what I needed to become better at geometry finally I will be able transport my algebra skills to geometry in math competitions
I'm interested in how you solved the overlapping transparent objects problem (mentioned at the end). Would you be open to sharing any hints on how you accomplished this? Either way, thank you for these great videos!
The basic idea was to split up the shapes so that they wouldn't have any intersections, and then sorting them from back to front. The sorting is harder than you would think, and I did it by projecting the shapes onto the plane of the computer screen, finding a point in the intersection of the two shapes, and then seeing which of the two shapes is closer at that intersection point.
21:26 There seems to have been a mistake where x and y got swapped. I plotted the point it in GeoGebra and it gave the wrong point, but on like a different line. I then tried switching the formula for x and y, and it then correctly projected the point onto the line. So seemingly the left expression is the y-value and right is the x-value.
I originally was going to go into all of the details of how exactly to calculate all of the products in this video but it ended up getting way too long and split into its own video: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2AKt6adG_OI.html (this is timestamped to the part about the regressive product).
I would suggest watching the video that spends more time on the linear space of lines, including a derivation of this concept: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-T0b8-NJH79s.html
2:42 Sorry, but *this equation doesn't only convey the sense of a line. It associate a scale to it.* Better than just the equation of a line, it's the equation of a *tuple formed by a line and a scalar.*
why do you want to use e1 and e2 that are not perpendicular, there is a constant in front of e0, seems like hocus pocus. i need something more basic than this lecture and with some visual aids.
Great video. The penny hadn’t dropped until today that, because scaling doesn’t change anything in PGA, (A.B)B^-1 is essentially the same as (A.B)B. Neat! I’m not an experienced Discord user, I joined, but seem to be struggling to find the notes! Thanks.
Very nice! I grasped the overview of PGA in some De Keninck's and Dorst's videos and books, but I find their style to be a bit impenetrable. Yours makes everything much clearer (eg. the profound reason why the *outer* product was actually appearing to *lower* the dimension of objects in PGA, which seemed backwards). One question: how would you compute the regressive product in PGA though? You can't just use A \/ B = (Ai /\ Bi) i^(-1) because i is non-invertible due to the degenerate metric. I know you mentioned a basis-dependent way of dualizing in your video on operators of GA, but is there a more principled way to do so in PGA?
Annoyingly, in degenerate metrics, the dual actually *has* to be basis-dependent. So to calculate the dual and the regressive product in PGA you have to do something similar to what I showed in that video.
Thanks for putting time into these videos. I have two questions: 1. You showed how to rotate geometry. Can these techniques implement shears? 2. Is conversion between PGA representation and 4x4 transformation matrices straight forward?
1. In this case, no. PGA only does rigid transformations by design. 2. Converting from a PGA rotor to a matrix is easy: See how the rotor affects the basis vectors, and that's the columns of your matrix. The other way is impossible in general because not all matrices are orthogonal.
Any ideas about how to go about extending PGA into spacetime a la STA? It's easy enough to think of geometrically, with time-like lines forming object paths and space-like planes being full 3D volumes. However in implementation, there are a number of stumbling blocks I can anticipate, starting with how to blend the two concepts of vector. VGA/STA have vectors that indicate points/events with the coordinates equal to their components, whereas in PGA, vectors are equations that involve the coordinates, and the objects are formed from all points for which the equation equals zero. Very different concepts, and I'm not quite sure how to bridge them. Where does the metric fit, i.e. which basis vector(s) need to square negative in order to make all the transformations work? If I could fill in some of the blanks, I think it could be really interesting. You would be able to capture an object's motion through spacetime as an exponential rotor/motor, and maybe formulate forces that way.
This is an active area of research! I don't know much about it, but I do know that spacetime events are represented using pseudovectors, similar to how points are represented using pseudovectors in normal PGA.
4:06 These aren't vectors because vector scaler-multiplication must be distributive. If x=2x for some nonzero x and the distributive property holds, then x = 2x = (1+1)x = x + x. It follows that x=0, a contradiction. Thus these objects are NOT vectors and shouldn't be referred to as such. Also, the operation "+" doesn't really make sense here. For example, 2u+v = u + v since u=2u. I think you're trying to write homogeneous coordinates in a "familiar" form. Unfortunately, this leads to contractions.
Your videos are really good at exposition. To the point where one might fool oneself that one understood the content. Are there any exercises that you would recommend? Are you planning on composing a list of such exercises to verify one's knowledge?
I made a video talking about many of the operations in geometric algebra. Here it is timestamped to the section about duals: ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-2AKt6adG_OI.html
this is a great video and demonstration of the basis for PGA, but i was wondering how this framework applies to real world problems, and the demo in the end of the video is a great example of that, but i would like to see more examples like maybe a textbook problems what are hard to solve using classic tools 🤔
4:09 - Why does (2e2 + 2e0) represent the same line as (e2 + e0)? Doesn’t e0 shift the line? I think they should be two parallel lines, with the same vector being perpendicular to both of them.
There are two different objects we're dealing with here: 1. Geometric lines 2. Vectors in the linear space of lines Everything in 2 represents something in 1, but this map is not injective. We have multiple vectors that represent the same line.