Ntropy Learning & Development: Introduction to Geometric Algebra

Channel: Ntropy Network Published: 2022-03-19 8,713 words Source: auto_caption
Advanced Mathematics & Geometric Physics

Transcript

um hey everyone today i'll present an introduction to geometric algebra uh it's a mathematical framework if you don't know about it yet uh yeah you'll find out more about it now so yeah why would you want to learn geometric algebra one thing is unifies many different fields of physics and it's kind of a natural language for them so it's one example i have here is these are the four maxwell equations in the usual form of vectors and uh you can see there we have the e and b fields and we have uh different kinds of derivatives and then a few geometrical algebra instead these all unify to a single equation where we only have a single field and a single derivative operation so there you can probably see that it's much more natural than having this separate um another thing it unifies as other different concepts such as vectors and complex numbers and quaternions and matrices so if you don't know about some of these that's fine but basically usually we treat this as completely separate and with geometric algebra these are actually part of uh one kind of concept um yeah so another point is if you do computer graphics for example then you need to implement all these different functions for example we want to construct a plane from points or a plane from an equation and you would need to implement all of this kind of by just looking up equations and then using those and also you have lots of different objects here you have for points you would probably use vectors you could also use vectors for directions but uh for some operations you would probably need matrices or quaternions for example for rotating things and then uh if you go more complicated you can even use dual quaternions and yeah so you just keep adding different kinds of objects and you need to convert between all of these so that doesn't feel so great i guess if you use geometric algebra instead you only have one kind of object and uh you can construct these different geometric objects using those standard for example here plane from points you pass with three points and then uh you use this operation which i won't name yet to construct this plane and yeah it all looks very similar and very simple and you don't need to make up new things you you don't need to make up matrices or quaternions there these are already kind of contained in the single object that we're using um and i have another example here of rigid body dynamics i'm gonna show that really quickly you can't see that um so you can see there's a pendulum in two dimensions and he just changes the variable to three dimensions and then it just works all the equations stay the same and yeah you can even change it to four dimensions or any dimensions so these equations work in any number of dimensions so that's one advantage you get if you use this kind of geometric algebra uh and yeah here's in the bottom right there's another picture with the performance so the usual way you do computer graphics is with 4x4 matrices and if you use this these pga motors instead geometric algebra you use they require less multiplications and additions and so on so not only is it more elegant but it's also more efficient and you don't need to do any conversions okay so that's why would uh you might want to use geometric algebra there are more reasons than that uh so here's also a brief history of ga um i'm not a history expert but this is just like a very broad overview so it was developed already in the 19th century but uh it got kind of forgotten in favor of what we used now which is uh vectors matrices and tensors uh so then uh in the around the 60s it got picked up again by hessness and he found that uh it makes quantum mechanics very natural like usually quantum mechanics is taught as if everything is very abstract but here he found a very concrete geometric meaning for for example the gamma matrices if you're familiar with that um yeah so this kind of started the research on geometric algebra and all the interest and yeah since uh since then there have been lots of new uses for geometrical found and even now there are a lot of uh there's still a lot of open research and people are still working on this especially in the last couple of years again um yeah so what are we going to learn in this presentation um so first of all these are the prerequisites so you need to know very basic vector algebra um just very simple stuff like what vectors are and maybe the dotted cross product nothing too fancy it's also good if you know complex numbers because we'll make use of euler's formula hopefully if you don't know that it will still make sense and so the goal is to introduce vanilla geometric algebra which is the most basic form but hopefully it will help you understand all the more complicated forms as well and i'll touch on those in the end also so yeah we'll learn about vectors and then how to do rotations in two dimensions and in three dimensions and yeah this will generalize to any dimensions also and yeah another goal is to demystify complex numbers and quaternions which we usually just kind of make up and then they're useful but they're kind of abstract but here they really get a real geometric meaning and another thing i'll show you is duality which i won't talk about yet okay so yeah the outline is first i'll do a short recap of vector algebra then i'll do geometric algebra basics um then i'll show you 2d geometric algebra how to do rotations and so on then the same thing in 3d and yeah after that i have one application which is how to interpolate rotations using this knowledge we have now and finally like i'll also show you how to go beyond this vanilla geometric algebra into some of the more interesting and useful algebras okay so let's start with the first section which is a very short recap for a vector algebra so um yeah usually right you can write vectors like this so you have basis vectors denoted by e so we have v1 and d2 here for example in two dimensions and then you have these coefficients for each basis vector like here v1 and v2 and you can visualize these as arrows from the origin and yeah this is how it would look like for this kind of vector that goes four in this direction and two in this direction and you can split these up into these parts so we have this 4e1 here and 2e2 and then we have one of our products is the dot product um yeah this is how you compute it and it tells you something about the similarity between two vectors and the angle between them if they are parallel then the dot product is bigger than if if they are not parallel and if they are orthogonal that dot product is zero um another product we have oh yeah i need to mention this so yeah this is what you get for the basis vectors if you have if you do the dot product with two of the same basis vectors you will get one if you do them with two different basis vectors then you will get zero and this is what the symbol stands for so if the i and j are the same then this is one and otherwise it's zero um yeah then the cross product well what's the cross product of two two dimensional vectors it doesn't uh really work in two dimensions so our cross product is usually kind of specific to three dimensions um yeah so how does it work in three dimensions there's this formula that probably most of us have memorized and yeah so what does it give you that actually produces a third vector that is sort of orthogonal to the two vectors that you put in and also another interesting fact about it is if you flip these two vectors and do the same product then all you do is pick up a negative sign and produce the vector in the opposite direction oh yeah so that's it for the very basic recap and we'll make use of some of this knowledge now so uh one thing we want to do is we want to find a general product for any kind of vector so here we had two different products but they didn't really behave like the ordinary product yet so yeah that's that's our goal um yeah so now the geometric algebra basics where we kind of do this so yeah the goal is to find a single general product for vectors um so here's an algebraic approach we take one rule from the dot product which was that if we have two of the same basis vectors they out they are the dot product is one and otherwise it's zero so we pick up this rule for our product and then we take the second rule from the cross product which is that uh if you swap two basis vectors then you pick up a minus sign like here e i j e i e j is minus e j times c i so those are all the rules you really need for this kind of basic product and yeah let's try to do an example here and see maybe where this leads us so let's multiply two two dimensional vectors um yeah those vectors a and b can look like this and now all we need to do is uh we write this down a times b and then we will just multiply this like any anyone even in high school or earlier could do just multiply it part by part and apply the rules we have above so here's what we get so we write this down and then um yeah multiply this out exactly as it is and then we can start applying the rules from above so we have we applied the first rule to e1 e1 that results in one so we're left with a1 b1 and then we again apply the first rule to this last part to e2 e2 that results in one and then we're left with a2b2 and then uh yeah we're left with this part in the result and we also have these other two parts so the first one we can't really simplify it but to this second part e2 e1 we will apply the second rule and all it does is swap these two basis vectors and we'll pick up a minus sign so uh this is what we're left with we have this part from from here and then we have this other part that contains this e1 and e2 that we can't simplify further um so one thing we can see is this first part is pretty much just a dot product and then we also have the second part uh it looks kind of like part of the three-dimensional cross-product formula but uh it works in any dimension we didn't make any assumptions about dimensions here um and this is usually called the wedge product so yeah if we multiply two vectors then we can separate it into a part with a dot product and a wedge product although this separation is not really necessary all we did was apply our rules here yeah um oh yeah and so this part contains actually two vectors and because it's it contains two vectors we call this a bi vector the bias stands for two and yeah this decomposition into dot and wedge product only works for vectors so it doesn't work in general um okay so what is actually the geometric interpretation of this so we have our result here of a times b and uh yeah the dot product part is has the same interpretation as before there's some kind of similarity measure for example so nothing changed here but what is this other part swedish product part um this is actually like the oriented areas banned by these vectors a and b so if you have a and b here then this a which b part is represents this oriented area here and oriented here means that it matters which order we use so if we did it in the other order then it would be oriented in the other way and would have a minus sign um yeah another thing people often do is this result here we had we wrote e1 and e2 but people often abbreviate this as e12 uh just because it's more convenient so i'll continue doing that from here or not um yeah so a summary of geometric algebra basics these really uh if you know these rules you can really do almost all of geometric algebra already um so yeah you have this one rule where we're just like the dot product that two same basis vectors multiply to one and two different ones multiplied to zero yeah and then you have this other rule where two oh i said that wrong okay so if you have two of the same basis vectors they they are one and uh here it should say a dot um so two different ones with dot to zero but uh with this or with this product we can't really simplify it anymore it wouldn't be zero so if they are different then all we can do is swap them and we pick up a minus sign so these are the two rules you need for the product um yeah if you multiply two vectors with this product you get one part that is like the dot product and another part that is the wedge product of those two vectors and uh yeah another thing was writing this shorthand notation if you have e1 and d2 then you can write that as e12 instead and same for any number of basis vectors like e1 e3 e2 would have short annotation e12132 and here's some more examples where you play this rule so yeah if you have e to one you can apply the second rule to get minus e12 if you have e3 to 1 you can apply the second rule twice so all you do is swap these numbers here once and pick up a minus sign then you do it again and then you do it again so yeah if we do this three times we pick up all we do is pick up a minus sign but then the order is different and here's another example e one two one so we can apply the second rule once then we're left with minus e one one two and then we can apply the first rule and e1 e1 just results in one so all we're left with is minus e2 okay so now we'll try to actually do something useful with this so i'll start by introducing two-dimensional vanilla geometric algebra so first of all what kind of elements do we have in the algebra so this is what we have in with ordinary vectors already what you probably already know so you have scalars and you have vectors or basis vectors and everything else has made all of these but now in geometric algebra we also have this new kind of element which is composed of two vectors just those two basis vectors multiplied and yeah this is this e12 and it represents this plane spanned by those two basis vectors and that's all we really have in two dimensions so yeah as i said ordinarily only have these first two and we've been completely ignoring this other this other part that is already there naturally um yeah in general what you can do you can even add these different parts so ordinarily you also don't really add scalars and vectors for example but in geometric algebra you're free to do so and that's actually very useful and we'll see why in a in just a few minutes so a general two-dimensional multi-vector would look like this you have the scalar part then you have the vector part with our two different vectors and then you also have this by vector part where that's one coefficient um so one thing we want to solve for this is uh yeah how can we rotate vectors you might usually do it with matrices for example two by two matrices i'll show you another way with geometric algebra now that reveals kind of why a geometric algebra is so useful so my claim is that if you multiply a vector by spaces by vector e12 then it will rotate the vector by 90 degrees so yeah i'll just uh show you that this actually works so if we start with a vector e1 and we multiply that with the spaces by vector e12 then um yeah we get e2 and indeed that's a 90 degree rotation like i claimed and you can keep doing this if you multiply it again you get minus c1 then minus e2 and then you're back to e1 so it does seem to multiply by 90 degrees okay but uh how do we get rotations for any kind of angle now not just multiples of 90 degrees so uh one thing you can notice here is that if you try to square the spaces by vector so you do e12 times c12 you get this and then you apply the second rule which is that you can swap two of these digits then you're left with minus e one one two two then you can apply the first rule which will contract these e one one is one and e two two is one so all you're left over this minus one so if you know complex numbers or imaginary units then you are probably familiar with this and this uh gives kind of a hint on the origin of those uh so this e12 behaves like an imaginary unit and we didn't have to introduce any new magic for this really it's just there naturally so yeah if you compare it with the imaginary unit it also squares to minus one and here something really important is this euler's formula where which you can use to rotate complex numbers by an arbitrary angle so we'll just uh that this formula works for any i that squares to minus one so we can also make use of this formula in geometric algebra uh and i won't derive it for now so yeah if we use the same kind of formula for this e12 then this is how it looks so you have e to the phi and then e12 and that will just give you this combination here this cosine of five plus sine of phi times e one two so yeah this can be used to rotate vectors by an arbitrary angle so here's an example so this um if we have a vector a and then we want to rotate it by an angle phi then we construct this what we call a rotor which is exactly like with complex numbers and if you multiply this vector by this rotor then um you will get a the rotated vector and yeah i wrote down the formula for that here you could multiply it out but it will give you the rotated vector if you take a further look at this rotor you can also see that it has a scalar part and it has a bivector part so we're adding different um creates as it it's called different kinds of objects and that actually seems very useful here okay um so another cool thing we can do is uh if we want to compose rotation so the one rotation and then another rotation we all we need to do is we construct two of these rotors one rotates by phi and another rotates by theta and to compose these um yeah this we want us to find us r3 and all we need to do is multiply these two routers so uh yeah that's something you can do very easily and you end up just adding these angles actually in the exponential so yeah rotor composition is very simple um yeah and then instead of uh first multiplying a by r1 and a by r2 you can just multiply a by this combined router and start to get c um another thing we want to do is uh so we have this router given and we have uh for example b given but not a then we would like to actually invert this rotor and go the opposite direction so we would like to apply this inverted rotor to b and then um then we would like to get back a so the question is how can we find an inverse for this realtor and yeah this is another cool feature of ga so you can actually divide by vectors it's not something you could do with uh with the usual way you use vectors and so on but here the the product is actually invertible so i'll give one example here for vectors um so we have some vector here for e1 and uh so how how do we want our inverse to actually look like so um yeah the property of inverses is that if you multiply with them then you get just the identity or a one so how do we how do we get this such a part it's very simple for vectors you can just take the vector and then divide by the vector squared and the reason this works is that here this vector will square to a scalar so here the numerator we have just 41 which is a and the denominator we have a squared so we get 41 times 41 and the c1 results in one because of the first rule of j and then we are left with four e1 divided by 16 and we're left with e1 divided by four um yeah so if we we would indeed get if we multiplied a and a inverse here we would indeed get one uh yeah and now you can do stuff like divide other vectors by this inverse by the by this vector a here like for example here b divided by a and uh yeah let's say inverse we just computed it here before so we can just multiply with it and this is what we're left with whatever it means um so back to our original problem now let's go back for a second so you remember we wanted to invert this router here so we can go back from b to a and yeah now we can just invert this the router so yeah this is how our rotor looks like we knew that it has some scalar part and some bivector part and yeah this is the property we want for the inverse just like for any inverse and the way you get the inverse for rotors i won't derive it now but it turns out you apply this operation here it's called the reverse operation and all you need to do here is flip all the order of all these basis vectors appearing in here so here we start with u plus v times c one two if you apply this inverse at this reverse operation you get a u plus v times e to one so all this that was flipping this here and then your [Music] you can apply the second rule to swap e21 to e12 and pick up a minus sign and yeah this is the inverse rotor that we were looking for so yeah you can also verify here if you multiply an arbitrary rotor with its reverse then uh yeah you get u squared plus v squared which is the coefficients of it and uh now we need to remember where our rotor came from so it contains something with cosine of an angle and sine of an angle and if you add the squares of those you get one so this is why this results in one and why this is actually the inverse like we wanted um yeah so now we can actually use it if we have a rotor r and we want to inverse invert it yeah then we just apply the reverse and we can multiply with it okay so that concludes the section about the two-dimensional vanilla ga um so next we'll just go one dimension up to three dimensions [Music] uh let's first of all look at which elements we have again so again like like an ordinary vector algebra we have scalars and we have vectors so this is all you usually have but then we also have more objects so you can multiply e1 with e2 you can multiply one with e3 and you can multiply e2 with e3 so you have three of these by vectors and they still represent oriented areas so in three dimensions you have three different kinds of planes and uh below there's one drawn here e12 plane but there are also there's also a 2 3 and e 1 3 plane and now something we didn't have in two dimensions now we also have this volume element which you get when you multiply all the three vectors together and this is called a tri-vector because yeah it's three vectors and yeah again we have been ignoring these pi vectors and tri vectors all the time even though they are kind of there naturally and are useful okay now how can we rotate vectors in three dimensions it is really almost the same there is we still rotate using this euler's formula and a bivector and the plane we want to rotate on for example if you want to rotate in the e12 plane then you exponentiate the e12 by vector with an angle and then you can multiply vectors with that there's one important difference though so far in two dimensions all the vectors lie in the plane of rotation uh because there is only one plane in two dimensions so it always lies there uh and then so on two dimensions the formula was a bit simpler so all we had to do was multiply our vectors or whatever we wanted to rotate with this rotor but now in three dimensions we have you can also have the case that the vectors don't lie in the plane of rotation so then we need to slightly more complicated formula which i won't motivate for now but yeah this is what you would need to do you would need to do this sandwich product um so if you have a rotor a then you need to do a sandwich product and that's how you get the rotated vector also since uh we're like multiplying on the left and right hand side we only need to the rotor only needs to contain half of the angle so that's also why you get e to the phi half here instead um yeah them how can we compose this so this time we can do much more interesting things than two dimensions we don't just add these angles but we can even compose rotors that rotate in different planes and yeah so on the left side you have rotor that rotates by phi in the e23 plane and on the right hand side you have rotor r2 that rotates by theta half and the e12 plane and yeah another important thing to mention is that your order matters here if you rotate with r1 first and then by our with r2 it's not the same as rotating the in the opposite order so that's also reflected by the algebra so r2 times r1 is not r1 times r2 and i have an example here in a second so yeah if we have a vector a and we want to rotate it first with r2 and in this e12 plane then uh we might get something like this b might look like this and then we rotate it in this other plane e23 we multi we apply this router again and then we get some third vector call c and yeah this is what you would get now um and yeah you can compose these like i mentioned so you would get the rotor that's applied first needs to be on the right hand side so here you would get r3sr1 times r2 and you would get the same result just applying r3 to this vector now if we do it in the opposite order you can see that uh if we play r1 first which rotates in the e23 plane uh nothing changes for a because uh yeah if you rotate it in that plane then the vector just stays the same uh yeah and if we then rotate it in the other plane in the e12 plane then then it would actually do something but yeah the result is not the same as if you change as if you use the different order and again you can of course compose these by multiplying um okay another thing we would like to look at is uh what parts does this 3d rotor actually have so before in two dimensions we saw that it kind of looked like a complex number and it had a scalar and a bivector part so what parts does it have in three dimensions so if we take a rotor that rotates in e23 plane we still have scalar plus the c23 by vector and if we have uh if we have a rotor that rotates in the e12 plane then we still have scalar plus some e12 part now in general we could for example multiply this r1 and r2 and yeah then this is how it would look like and if we multiply this out we can see we have we would have one scalar part from cosine times cosine we would have one e23 part from sine times cosine would have one e one two part from um cosine times sine and then we have an e one three part from uh well sine times sine because e two three times e one two results in something proportional to e one three because the two cancels out with the first rule so yeah we actually have a scalar plus three different bivector parts now we can try squaring these different by vectors again and we would find out that they indeed square two minus one again so we have three different elements that's square to minus one um if you're familiar with quaternions this is actually exactly what they are so with quaternions we kind of made up these three different imaginary units that square to minus one but uh what they actually represent are these three different planes you can rotate and so that's where they come from yeah okay another cool topic and geometric algebra is duality so what is duality it's you can see that we have these different elements here in our three geometric algebra we have the scalars the vectors by vectors and one tri-vector and there's a one-to-one mapping here so for each scalar we have one tri-vector and for each vector we have one bi-vector there are three of each so you can create some kind of mapping between them and here's an example of how you could do this mapping so yeah scalars map to tri-vectors and tri-vectors map the scalars maybe e1 maps to e23 e2 could map to e13 and also in the opposite order and so on um so there are many different ways of doing this kind of mapping and i'll show you one of the most popular ways of doing this so yeah the most popular way is taking this trivector which is also called pseudoscaler because uh yeah there there's always one pseudoscaler exactly as many as there are scalars so yeah if you multiply with this then you actually do exactly uh this kind of dual mapping so i'll give an example here um so let's start here i i'm writing it like this to it should stand for the dual of whatever is inside here so yeah the dual of e of a times c one two for example uh we could use this operation here multiplying by the pseudoscaler now yeah if we multiply this out then all we're left with is minus a times e3 and yeah this adds up with what we wanted above here like if we looked at e12 then there's a mapping between e3 and e12 and yeah if you apply the dual operation twice uh one thing you need to keep in mind is that you're not actually guaranteed to end up with the same object again for example if we take the result here we had in the first line minus e minus a times e3 and take the dual and you play um okay i think i do see it can you hear me again yeah no it's better okay yeah i'll continue okay so uh yeah if you um if you play the dual operation twice you're not guaranteed to end up with what you started with so in general you need to apply it four times but uh this is something that depends also on which kind of tool operation you choose um now what this is is this useful for so uh uh so if we have two vectors a and b and we calculate this fetch product between them then the swatch part gives us the oriented areas spanned by them and now what we want to do is uh to this [Music] oriented area which is a bivector we want to apply this duality operation and if i go back so if we apply a duality operation to a bivector we get back a vector you can see here so if we do this here then what we get is actually this is actually the cross product in three dimensions so uh yeah this is what the cross product actually is it gives you the vectors that are orthogonal to to those two input vectors and the reason that's specific to three dimensions is that only in three dimensions there's one vector for each for each plane so yeah i hope that kind of explains why uh why the cross product only works in three dimensions and how we can generalize this um yeah so for next part i have one application that might be useful for you and that's interpolating rotations so um let's see this load okay i guess this doesn't load anyway uh so we have if we have two different rotations um and we want to interpolate between them we can't just linearly interpolate otherwise uh that doesn't look it doesn't look great so one thing you want to do here is for example if you have one rotation on the top of the sphere and another rotation on the towards the bottom of the sphere then you want to interpolate them so the rotation between them lies on this kind of sphere and this is called a spheric spherical interpolation or also short for a slurp or a slurp so how can you actually do this with geometric algebra so you have these two rotors the one where you start at this r1 for example and then you have another one where you that's your target r2 and yeah if you want to interpolate them then you have this r of t with t between zero and one and our starting point at zero is r1 and our endpoint at one is r2 um so if the angles are given this is pretty simple actually so our interpolated rotor would be um e to the and then the linear interpolation between these two uh angles that would be relatively simple but uh yeah what if we only have these rotors given for example um what we can do then is take the logarithm of these rotors so this logarithm will invert this exponential function and give us the argument in there so if we take the logarithm of r1 for example we got phi 1 times c 1 2 and similarly for r2 and yeah so once we have those we can just do what we did when the angles are already given which is just linearly interpolate between these these two by vectors and then exponentiate again so yeah let's do that uh and this is what we get then so if we have r1 and r2 the way we can do the spherical interpolation for the rotation is uh yeah that do the use the exponential function with the um with the logarithm of these two rotors linearly interpolated um yeah and not only does this work in well three dimensions this works really in any dimension even in ten dimensions or here whatever you want there's nothing dimensionally specific here the only problem is that you need to know how to calculate this exponential function and this logarithm so now we already knew how to calculate the exponential function for some simple elements which square to minus one but uh in general it's a bit more tricky yes and also logarithm is also more tricky uh so uh this year or last year there was this new paper called graded symmetry groups plain and simple which showed how to how you can calculate the exponential function and logarithm in any dimension for any kind of ga element so yeah if you're interested in that you can take a look at that and they also have a lot of other great insights into geometry problems and geometric algebra in general so i left some links here if you want to take a look at that um yeah so far we only looked at vanilla geometric algebra and yeah now i'll show you how to go beyond that or what vanilla even really means um yeah so far we only kind of made sense of existing concepts like quaternions and complex numbers but the actual real power of geometric algebra comes from making different kinds of algebras meaning i'm introducing more basis vectors and also changing what the basis vectors square to so so far all of our basis vectors square to plus one but uh another other common choices are also making them square to minus one or zero and the reason this is useful is that um yeah so so this is what we've seen so far by vectors square two minus one and then you have this uh this represents a rotation which we kind of got with euler's formula but if the display vector now squares to something else for example plus one and then you don't get cosine and sine anymore but you get uh for example hyperbolic cosine and hyperbolic sine here and this is useful for what's called boosts which you might be familiar with if you did special relativity and another really useful one is if this bi vector squares to zero then you can actually do translations with uh with these by vectors um so you might be wondering why this is useful because we could already for example add vectors together before and do translations like that but uh if you have biovectors in your algebra 2 rotation and you have my vectors that do translation and you can actually compose this in one unified way instead of needing to handle quotations at translations separately so yeah this is why these are actually really useful and yeah i'll show you some more geometric algebras now that are pretty commonly used with nga and what their advantages are and what kind of stuff you can do with them um so one really popular one in physics is the space time algebra here we have one basis vector for the time dimension that squares to plus one and then you have one for each space dimension x y and z that squares to minus one um yeah the applications for this are in special relativity and uh like i mentioned in the previous slide uh this is useful because you get bivectors that square to plus one to do boosts um which is uh if you have uh an observer moving relative to another observer with some velocity which is what you're interested in special relativity and then you also still have these other bi vectors that do ordinary spatial rotation they're also useful in quantum mechanics and if you're familiar with it in quantum mechanics we have these four gamma matrices and usually they're thought to be some abstract thing but here they are actually very concretely the basis vectors of space time so that gives us a lot of geometric insight and yeah it's also used in electromagnetism like in the beginning when i showed how it unifies there this algebra is also used um yeah this is what i just mentioned already you have three bivectors doing rotations and three by vectors doing boosts another cool algebra is if you have dual numbers so this is very simple you just have one basis vector for example that squares to zero and you can do automatic differentiation with them for example so if some function f of x is x squared um and then you as an input you have a scalar plus uh this dual number part so f of x plus u zero and then you evaluate this you get uh x plus z zero squared and yeah you just evaluate this like before you get x squared plus and then you have 2x times e0 and e0 squared is 0 like we defined and then you so you're left with x squared plus 2x e0 so the zero part in the result is actually what the derivative of f of x is so yeah this is a very simple way to do automatic differentiation so in this example um we only had one variable and first order derivatives but this also generalizes to any order of derivative and also multiple variables and i left a link here with an article where i try to explain how to do that um another popular algebra that's really become popular in the last few years is uh pga originally the p stood for projective but more recently it got kind of renamed to plane based geometric algebra because that fits better yes so here you have one basis vector squaring to a zero and then three basis vectors well this is in three dimensions of space that's square to plus one so we have this one extra basis vector that squares to zero basically if you're in 3d um yeah the applications are euclidean geometry so you can do anything that is kind of flat with this so in three dimensions you have for example you have lines you have planes and then you can do very simple things like intersecting a line with a plane and then getting the point where they intersect and things like this and yeah it's very useful in rigid body dynamics also like the example i showed in the beginning that was using pda and you know also for computer graphics because you deal with these kind of geometric objects there a lot now yeah another really cool property is that it unifies translations and rotations and so you can have one rotor that does both and you can actually use the idea from the previous section for interpolating rotations on this tooth so you have something that interpolates between two things that store both translation and rotation and have it look smooth um yeah and yeah you have these two kinds of rotors series so one kind doing rotations and the other contouring translations and you can compose them as you wish another algebra that's kind of common is conformal geometric algebra so this one can has two extra basis vectors one squaring to minus one and plus one and this can represent uh flat objects like pj but it can also represent round objects so for example spheres or circles can be directly represented as elements and the transformations here are the conformal transformations uh the which is the angle preserving transformations so yeah if you're interested in conformal transformations then geometric algebra is probably what you want to take a look at um yeah then i have some a list of some more resources if you want to learn some more about ga with these basic knowledge now so if uh there's some popular choices for example geometric algebra for physicists uh has a lot of different topics and physics done with dramatic algebra and then yeah some more that you can read here on your own um yeah online right there's this really cool website called the coffee shop i left a link here and this has a lot of um demos of geometric algebra with code also side by side in javascript and yeah this is a lot of different examples and yeah if you're a programmer or yeah i want to do some experiments then there are lots of different libraries already available and i listed some of those here the most complete one i would say in terms of operations is probably the javascript one kanja js but if you're doing python then there are also some nice libraries here and yeah that's it do you have any questions geometric algebra for physicists so how i wonder how is it using physics so usually in physics when you're taught physics in school or in university for example you use like vectors or quaternions or tensors like in in each different field you use different kinds of tools but with geometric algebra all you need is geometric algebra pretty much so this book introduces different fields in physics with geometric algebra from a pretty basics also although i would say that it's still a bit necessary to already know some something about physics um so it goes actually pretty far it even goes as far as quantum mechanics and general relativity nice good thing that we have physicists here [Music] any comments uh so what's what's the geometric part of the algebra what's the geometric product the geometric product is just this why is it geometric uh it's true no no no part like p a or z the geometric part can you repeat it yeah like why is it called geometric hangers yeah yeah i guess because geometric algebra in general uh has a lot to do with geometry so with every equation you can kind of associate a geometry and visualize it i didn't show it too much here yet but it becomes really obvious when you go to things like pga later and uh yeah the geometric product is just this the product of geometric algebra that is kind of naturally there so yeah i guess it's called geometric product because it's called geometric algebra i don't know who came up with the name uh yeah so i guess um like what i'm interested in is uh is this how is this connected to like a lead algebra so i'm not an expert in leader algebra for groups but uh i can go back a few pages so with this spherical lerp for example these rotors here are part of the lead group of fortations or i think it's called the pin group actually and now the pin group is in pj this is the just so3 i think anyway i'm not an expert in that and if you take the logarithm of these then you get the algebra elements so it's very closely connected to that so here with this interpolation for example you're interpolating in the lea algebra and then you get something meaningful compared to if you interpolated in the directly in the lead group space or interpolating these rotors directly you wouldn't get something really useful so i guess that's one part where it kind of shows up but yeah i'm not an expert on that yeah i mean i guess that's what i'm trying to understand which is like there's already like algebras that are defined like generators of your lead group or whatever uh so like how i was trying to understand how geometric algebra fits into these because you mentioned like things like boost and all this kind of stuff okay so uh so as far as i understand like again i'm not an expert and i might be using misusing terminology but these spy vectors are actually the generators so yeah if you exponentiate them so the bivectors live in the algebra or whatever and if you exponentiate them then you get the the group elements so uh so what are like the commutation relations for this algebra i guess like what defines it no i can't answer but sorry i don't know enough about that [Music] okay but uh yeah people have definitely done this work and it's a really big topic there's also a paper called yeah the conformal thing is is super cool um yeah like conformal stuff goes like really deep yeah just yeah maybe i can do another talk on one of these but there's some really cool stuff you can do here um oh yeah maybe also to mention that so this pga does euclidean transformations and i think it had something to do with the pin group like i already said yeah it's pretty neat robin can you can you just uh yeah again explain how you go from like uh yeah i mean like an n sphere like a x squared plus y squared plus that squared et cetera um equals some radius squared uh to to the conformal or like to being able to map these spheres in the space vector yeah that's a great question i didn't really touch on this at all here so that would require another session i guess but uh the way this is done is basically you have a function that takes in coordinates and then splits out some kind of five-dimensional vector for example that represents those coordinates and then what you can do is you can take a couple of different points and join them together and that gives you an element that represents the sphere so that's another thing i didn't touch on at all here so there are operations for joining different elements so if you have two points and join them for example in pga you get a line and there's another operation for doing the opposite which is intersection if you intersect two lines then you get a point for example so yeah that that's how you could for example make a sphere in cj you take a bunch of points and join them and then you get the sphere where all those points lie on but yeah i didn't show this at all here just wanted to mention that those algebras exist cool okay yeah any more questions otherwise i guess we're done good stuff