Jonathan Blow Explains Geometric Algebra

Поділитися
Вставка
  • Опубліковано 19 бер 2024
  • Support me on Ko-fi: ko-fi.com/jonathanblowclips
    Jonathan Blow Explains Geometric Algebra
    Clip from Jonathan Blow
    Twitch: / j_blow
    UA-cam: / @jblow888
    #jonathanblow #gamedev #webdevelopment #programming

КОМЕНТАРІ • 128

  • @monad_tcp
    @monad_tcp 3 місяці тому +89

    I find it funny the youtube's arm race for Jonathan blow clips

    • @Leonhart_93
      @Leonhart_93 3 місяці тому +6

      I think the viewers can feel how right he is about a lot of things and want to see more of him.

    • @jetfaker6666
      @jetfaker6666 3 місяці тому

      ​@@Leonhart_93I don't think he's right but I want to hear either way

    • @Leonhart_93
      @Leonhart_93 3 місяці тому +5

      @@jetfaker6666 That's a lie, at least be honest with yourself. There is no way I would even consider clicking on a vide watching someone who I think is consistently wrong.

    • @jetfaker6666
      @jetfaker6666 3 місяці тому

      @@Leonhart_93 yeah but I'm talking about myself.

    • @Leonhart_93
      @Leonhart_93 3 місяці тому +2

      @@jetfaker6666 Yeah that's still a lie.

  • @sudgylacmoe
    @sudgylacmoe 3 місяці тому +34

    As the resident "UA-cam geometric algebra guy", while I'm glad it's getting more coverage, this video sadly does what many people (including me at first) do: present the geometric product only between two vectors purely algebraically, providing no geometric intuition or applications. I tried to rectify this somewhat in my addendum to the swift introduction, but it seems the damage has already been done, and there are still way more people that watch just the swift introduction and not the addendum.
    To answer a couple of the questions raised in the video, the geometric product has many useful properties: it makes multivectors into a unital associative algebra, with vectors squaring to their magnitude squared. Parallel vectors commute while perpendicular vectors anticommute.
    As for applications, its primary application is in encoding, composing, and applying orthogonal transformations. Orthogonal transformations can mean more than rotations in more exotic spaces though, e.g. rigid transformations in PGA and conformal transformations in CGA. It also encodes many different kinds of shapes, not just vectors. As a bonus, you also get all of exterior algebra, such as meets, joins, and duals. Oh you also get projections. And all of this is in a dimension-independent, object-independent, and coordinate-independent way.

    • @R.B.
      @R.B. 3 місяці тому +3

      Well one of them. I found out about Clifford Algebra a few years before your series. That said, I was really wanting to learn more and you've done a really great job. In many ways this video was a straight to the punchline version of what Freya Homer gave in a recent talk. Hamilton may have given us Quaternions, but that's just a special case of Geometric Algebra, and unfortunately that has held back broader understanding. The only advantage it has is that the linear algebra it simplifies down to makes fast calculations in that limited domain.

    • @TensorLiquidExp
      @TensorLiquidExp 2 місяці тому

      But you still need to build geometric algebra on the vector space axioms to anchor your intuition right?
      Some people told me to think of vector as "oriented straight line" instead of as "elements of vector space". But how do you think about "straight line" in n dimensions? well through the linear combination from vector space axioms...
      Also I think exterior algebra is a more general tool in geometry as it does not require a metric tensor/quadratic form like Clifford algebra

    • @sudgylacmoe
      @sudgylacmoe 2 місяці тому +2

      @@TensorLiquidExp Yes, you do build geometric algebra on a vector space. I'm just saying that you shouldn't do it with uv = u·v + u∧v. For an introduction, I prefer "parallel directions contract and perpendicular directions join", which gives you the algebraic relations e_i^2 = 1 (or -1 or 0 if you start getting more fancy) and e_i e_j = -e_j e_i (with i ≠ j). Then you build the theory up from there.
      Exterior algebra is simply a special case of geometric algebra, where you choose the zero bilinear form. Thus, GA is strictly more general than EA.

    • @TensorLiquidExp
      @TensorLiquidExp 2 місяці тому +1

      @@sudgylacmoe I always thought Geometric Algebra requires nondegenerate bilinear form so it always has an inner product so there are geometric notions of distance, angle, orthogonality
      But even if you allow zero bilinear form, what you are saying is more precisely this:
      if you specify the bilinear form to be zero, then any structure that satisfies the axioms of geometric algebra for that bilinear form also satisfies axioms of exterior algebra.
      The thing is you always need to specify a fixed bilinear form (zero or not) before you want to use the formalism of geometric algebra on mathematical objects (so you can have the geometric product).
      Whereas exterior algebra does not require you to specify a fixed bilinear form or quadratic form at all. It makes sense even when there is no fixed bilinear form (that generates the geometric product).
      This can be seen by looking at the resulting universal property from constructions of Clifford Algebra vs of Exterior Algebra
      The formalism of exterior algebra can be used in building a theory that is not sensitive to changes in metric of the manifold (this is relevant in physics when you want "background independent" theory i.e. your equations to not depend on the actual shape of spacetime).
      So for example in topological QFTs such as Chern-Simons theory, exterior algebra is used but you cant use Clifford algebra because the metric is a dynamical variable and the action functional integrates over all metrics.

    • @user-lz1yb6qk3f
      @user-lz1yb6qk3f 8 днів тому

      ​@@TensorLiquidExp, I did not understand half of what you said and it makes me wanna learn more math. What is exterior algebra? Why I see tensor when I search for it in UA-cam?

  • @KilgoreTroutAsf
    @KilgoreTroutAsf 3 місяці тому +28

    I misread "Jonathan Blow explains algebraic geometry" and chuckled for a moment

    • @pandabearguy1
      @pandabearguy1 3 місяці тому +7

      Same here lol. I've attempted an Algebraic geometry course at university and I could not

    • @MaxG628
      @MaxG628 3 місяці тому +4

      If you can show that math itself is Abelian, then they’re actually the same thing.

    • @vitalyl1327
      @vitalyl1327 3 місяці тому

      Algebraic geometry is meh... Algebraic topology is the real fun.

    • @user-pe7gf9rv4m
      @user-pe7gf9rv4m 3 місяці тому +3

      Preventing the Collapse of Crystalline Cohomology (Jonathan Blow, Thekla Inc.)

  • @gtgunar
    @gtgunar 3 місяці тому +33

    Well it tookm something as great as geometric algebra for John to say something positive. Not gonna lie it has worth the wait.

  • @PRIMARYATIAS
    @PRIMARYATIAS 3 місяці тому +28

    Eric Lengyel just released a new book about Geometric Algebra. Just saying... maybe people here would like to checkout.

    • @radioleta
      @radioleta 3 місяці тому +4

      Wow, thanks!

    • @on-hv9co
      @on-hv9co 3 місяці тому +2

      Bless you kind soul for this information... now for FGED 3 lol

    • @evandrofilipe1526
      @evandrofilipe1526 3 місяці тому +4

      Thanks

    • @user-pe7gf9rv4m
      @user-pe7gf9rv4m 3 місяці тому

      Related to XQC?

    • @SawyerBC64
      @SawyerBC64 27 днів тому

      I've been working through Lengyel's book since it came out, and it's absolutely brilliant. If you don't already have it, go get it. You won't be disappointed.

  • @Matt23488
    @Matt23488 3 місяці тому +6

    I didn't even know geometric algebra was a thing until just now.

    • @JoshMOSH19
      @JoshMOSH19 3 місяці тому +1

      Sudgylacmoe has a good series about it, where i first heard of it

    • @APaleDot
      @APaleDot 3 місяці тому +2

      I'd recommend the Mathoma series on Geometric Algebra over Sudgylacmoe. Not only is the explanation clearer (IMO) but it's also a complete, self-contained series where he ends by deriving quaternions from GA. Sudgy's "Zero to Geo" series hasn't even got to any of the actual GA stuff yet.

    • @hamish_todd
      @hamish_todd 3 місяці тому +1

      @JoshMOSH19 @APaleDot Sudgy's best video is his swift introduction to PGA, that video is great

    • @linuxp00
      @linuxp00 2 місяці тому

      ​​@@APaleDotYes, he is dragging it for a while. Peter Joot's playlists are good too, they have more applications for Physics and Engineering.

  • @Roxor128
    @Roxor128 27 днів тому

    Little mistake near the end there: the i, j, and k of Quaternions are not equivalent to e1, e2 and e3, but to e12, e13 and e23. It's a scalar plus a bivector, not a scalar and a vector.

  • @antronixful
    @antronixful 3 місяці тому +12

    A little correction: Maxwell originally formulated electrodynamics using quaternions. Then it got replaced by the cringe vector calculus we all use in physics. Also, the reformulations using different algebras is something used in modern physics to tackle different problems. For example, there are many reformulations of general relativity using other algebras (including geometric algebra sometimes), because is easier to adopt other terms that might be overview using the classical formulation, like the torsion terms and even electromagnetic terms (in a spacetime equation).
    This sort of stuff is pretty useful for us when simulating known results, and that's why programming is not going to dissappear like the giga cringe nvidia ceo said.
    Mathematics is awesome and it is pretty sad to me that people is not willing to learn intermediate level mathematics like this topic or like algebraic structures and stuff.

    • @buttonasas
      @buttonasas 3 місяці тому +7

      I think you underestimate how many levels there are before your "intermediate" :'D

    • @notuxnobux
      @notuxnobux 3 місяці тому +2

      good, vector calculus is intuitive to math brainlets like me. It helps me program without really understanding math

    • @cumibakar10
      @cumibakar10 3 місяці тому

      Why is vector calculus cringe?

    • @antronixful
      @antronixful 3 місяці тому +4

      @@cumibakar10 Just a joke. Vector calculus is pretty useful and simple enough. The bad thing about it though, is that it abstracts many things other formulations let you see and play with.

    • @4.0.4
      @4.0.4 3 місяці тому +3

      Dude I asked GPT-4 and Claude-3 Opus to fix me a regex and they couldn't, I am not concerned in the least.

  • @Kram1032
    @Kram1032 3 місяці тому +10

    8:37 - no, the quaternion i j k relate to the unit bivectors e23, e31, e12 (or if you dualize them to I e1, I e2, I e3 respectively - but that's specific to R³)
    So quaternions *also* talk about planes rather than vectors, which makes sense given their connections to rotation.
    (Rotation is also better thought of as occurring "in a plane" rather than "around an axis" as the axis variant only works for R³ - which is also related to the cross product even existing in R³. In fact, a x b = - I a ^ b for R³ only.)

    • @tempname8263
      @tempname8263 3 місяці тому

      Uhhh, dualizing unit bivectors isn't a great idea, because like you've said, it gives a wrong impression that rotation happens only around lines.

    • @EllipticGeometry
      @EllipticGeometry 3 місяці тому

      The closest correspondence is i=e32, j=e13, k=e21, reversed from your basis so ij=k instead of ij=-k. I definitely appreciate the focus on planes. They tell you what is changing as opposed to what is unchanging, telling you directly which way the rotation goes without a dual convention in the way.

    • @tempname8263
      @tempname8263 3 місяці тому

      @@EllipticGeometry Nah. e1^e2 = e1e2, which according to cross product should be same as e3. So i^j = k, in his vector basis, while you're talking about bivector one.
      Also invarient-space representation is still plenty useful, since you need only 1 line in 3d to describe rotation, while otherwise you'd need an entire infinite stack of planes, within which rotation occurs.
      Although yeah, in higher dimensions that breaks down, since you can rotate at the same time in two separate basis planes :/

    • @Kram1032
      @Kram1032 3 місяці тому

      @@tempname8263 specifically in R³ it works

    • @EllipticGeometry
      @EllipticGeometry 3 місяці тому

      @@tempname8263 e1e2 is not e3. The cross product is a dual of the exterior product. That dual doesn’t happen by itself.
      Vectors also don’t make anything analogous to quaternions. You need bivectors. There is an alternative involving _some_ vectors if you define e1^2=e2^2=-1, allowing i=e1, j=e2, k=e12, but that destroys meaning and applicability.

  • @ExCyberino
    @ExCyberino 2 місяці тому

    Could we have the link for the full discussion? stream | vod

  • @kuklama0706
    @kuklama0706 3 місяці тому +7

    Jonathan Blow explains Instant Radiosity algorythm.

  • @Wiipodicus
    @Wiipodicus 2 місяці тому +1

    this rocks

  • @coAdjointTom
    @coAdjointTom 3 місяці тому +1

    For many moons I've been wondering if Jon/Casey etc. were aware of Geometric algebra

  • @APaleDot
    @APaleDot 3 місяці тому

    Which stream is this from?

  • @xyzg34
    @xyzg34 2 місяці тому +1

    What stream is this taken from? Is it all about math?

  • @tempname8263
    @tempname8263 3 місяці тому +3

    Aww, you got it kinda wrong.
    In VGA, which you use here, geometric product means a composition of reflections placed at origin. Each vector is a direction of a reflective hyperplane. So when you compose two of them, you get a rotor (which in 3d is a quaternion, and is represented as "a e1e2 + b e1e3 + c e2e3 + s"), which is a bireflection, and happens to be a same thing as a rotation = twice the angle between vectors/reflections.

    • @tempname8263
      @tempname8263 3 місяці тому

      And yes, this rotor is a sum of dot and wedge. Dot here means product of parallel reflections, and wedge - of orthogonal. They are really just defined as geometric product, whose resulting components were filtered by how many units they're made of.

    • @angeldude101
      @angeldude101 3 місяці тому +1

      Start with a mirror through the origin: VGA. Tilt the mirror away from its starting position: 3D VGA. Move the mirror away from the origin: PGA. Collapse the mirror from a plane to a sphere (turning the plane reflection into a sphere inversion): CGA. Thinking of the grade-1 elements as mirrors kind of removes many of the distinctions between the various flavours of geometric algebra and they just become about what kinds of restrictions you have on the types of mirrors you have access to. The product of two mirrors is always a bireflection, but the form that bireflection takes depends on the kinds of mirrors used to form it. (It will however always have the factor of 2 that you mentioned, though for several different reasons, only a couple of which are quantum, and there's a sense in which thinking in terms of areas rather than angles can even remove that factor of two [hot take: π is a full circle].)

    • @tempname8263
      @tempname8263 3 місяці тому

      @@angeldude101 Yea I know all that
      Although what does area have to do with rotation?

  • @Contemplative05
    @Contemplative05 3 місяці тому +2

    Thanks Blow for supplementing my vector calculus course learning lol

  • @user-lz1yb6qk3f
    @user-lz1yb6qk3f 8 днів тому +1

    It's all great but quaternions i j k are equivalent to e12 e23 e31 basis bivectors not basis vectors like you have wrote

  • @pauldruhg2992
    @pauldruhg2992 3 місяці тому

    Book stack is a flex 😂

  • @MaxG628
    @MaxG628 3 місяці тому +3

    This seems to be how GA is always explained. Definitions and promises of usefulness, but never even the simplest applications. Given three vectors, what is the volume of their parallelopiped? Given two lines, each represented either as two points or a point and a vector, are they collinear, parallel, intersecting, or skew? These seem like the simplest questions you could ask in 3D geometry and it’s surprisingly hard to understand how you get answers out of a general multivector that is the GA product.

    • @eelcohoogendoorn8044
      @eelcohoogendoorn8044 3 місяці тому +3

      You must be looking at the wrong explanations. Each of those have exceptionally elegant, generalizable and understandable answers in GA.

    • @drdca8263
      @drdca8263 3 місяці тому

      For a parallelepiped wouldn’t you just take the antisymmetric part of the product of two of the vectors, and then the product of that with the third part, or something like that?
      (1/2) (u v - v u) w ?
      I.e. (1/2) (u v w - v u w)
      ?
      (I’m kind of guessing, haven’t really done anything with GA)
      I mean, in order to get a trivector with magnitude the volume of the parallelepiped.
      Though, that doesn’t seem particularly symmetric, as it only uses 2 of the orderings.. maybe the sum over all 6 orderings, with coefficients of (1/(3!)) * (sign of the permutation)
      gives the same answer?
      The determinant of the matrix whose columns are the three vectors gives it, and that shouldn’t be too hard to express, what with the anti-symmetry stuff that GA has matching the stuff in the determinant?
      That being said, I kind of agree with your point.

    • @BboyKeny
      @BboyKeny 3 місяці тому +4

      I have a few books with many applications. There is also a really good paper on the space-time algebra. There is also a repository of applications in code (google ganja.js examples).
      I think GA really shines in the ease of transformations. No need for quaternions or rotation matrices. The downside is that the elegance comes from the notation, all the objects have many components under the hood. Which often means that a simple expression like R(VΛW)R-¹ could have more than 20 components (determined by which Algebra you've constructed), which means 20 variables being kept in memory if you would program this. So for memory and computation GA might not be the best decision. But this could be optimised with static analysis, for example you could program in GA and have it construct matrices under the hood before pushing it to the graphics card.

    • @eelcohoogendoorn8044
      @eelcohoogendoorn8044 3 місяці тому +1

      @@drdca8263 You can express it in two ways: (uvw), or the grade-3 part of their mutual geometric product; or as u^v^w, where ^ is the exterior product; or max-grade portion of the geometric product.

    • @Kram1032
      @Kram1032 3 місяці тому +1

      the volume of the parallelepiped is literally just the trivector part of of the product of three vectors. - The order of multiplication is going to give you a signed volume but the absolute value is going to come out exactly the same.
      As far as I know, in general, this formulation also works for arbitrarily high dimensions. Take 69 vectors in 420 dimensions and multiply them all together using this product. The 69-dimensional parallelepiped embedded into 420d space is going to have the 69-hypervolume of the (absolute value of the) 69-vector (the highest-grade k-vector you'll get)

  • @Rockyzach88
    @Rockyzach88 3 місяці тому

    He explained wedge product somewhat.

  • @olbluelips
    @olbluelips 10 днів тому

    No way

  • @anispinner
    @anispinner 3 місяці тому

    At least we speak the same alphabet

  • @evandrofilipe1526
    @evandrofilipe1526 3 місяці тому +2

    For anyone that doesn't know about geometric algebra, it's a really cool piece of maths that is useful for transformations that compose really easily to say the least
    Watch this: ua-cam.com/video/60z_hpEAtD8/v-deo.htmlsi=OETTmtOG2NWvKKVQ

    • @tempname8263
      @tempname8263 3 місяці тому

      I wouldn't recommend it. It took me couple holidays of being stuck in a thought loop trying to understand the concepts in this video, and I failed miserably. The best thing that comes to explaining them - is PGA series by Bivector. It doesn't make mistakes, doesn't try handwave anything, it gets right to the core of how maths work (although still not always portrays it 100% in intuitive light). VGA and PGA are not funny algebraical coincedences, they are algebras describing reflection compositions. Everything else obviously and intuitively stems from that.

    • @evandrofilipe1526
      @evandrofilipe1526 3 місяці тому

      @@tempname8263Well, I meant this as an introduction, and while I haven't watched all of it, I think the PGA series is worse at being an introduction. I watched sudgy's GA videos and will in the future read "Geometric algebra for physicists". Ye, It's probably a little handwavy, but it gets the idea across well plus he also did an addendum STA, PGA and is doing a whole series called from zero to geo (which I assume will get "down to the meat" so to speak). He also has a video reviewing some operations in GA and I found that quite useful as an easy resource I can come back to.

    • @tempname8263
      @tempname8263 3 місяці тому

      ​@@evandrofilipe1526 Honestly, I feel that. PGA series is real bad at introduction, the only thing I like it for - is that it doesn't butcher concepts until they barely resemble themselves. But it's still hard to digest, and still leaves some things to discover for yourselves.
      Oh well, let's hope some good beginner-friendly alternative to both gets published in upcoming months.

    • @evandrofilipe1526
      @evandrofilipe1526 3 місяці тому

      @@tempname8263 To be fair, I guess someone who wanted to learn could just check out both. Ye it's more time but it gives a better experience.
      *Wink Wink* anyone who might be reading this, I'm looking at you

  • @mjthebest7294
    @mjthebest7294 3 місяці тому +1

    He never ceases to amaze me.

  • @4.0.4
    @4.0.4 3 місяці тому +6

    I think Jon isn't a very good teacher, but that's probably just because he's doing it impromptu and thinking while he goes.

    • @stendeter623
      @stendeter623 3 місяці тому

      He's just wrong. He's trying to add together different mathematical entities in the rhs which isn't allowed. Looks like he's doing a scalar product when writing the first three terms and then changes his mind for the rest of the terms.

    • @EllipticGeometry
      @EllipticGeometry 3 місяці тому +1

      It’s the curse of knowledge. If you know something well, it’s easy to apply and link relevant factoids. Getting to that point takes more than that. But honestly, geometric algebra is a bit of a mind-bender regardless. Any attempt to explain it in a few minutes is bound not to get very far.

    • @TeslasMoustache419
      @TeslasMoustache419 3 місяці тому

      @@stendeter623 I think we can cut him some slack. The plus sign doesn't always mean addition in the traditional sense. For instance if we write 5 + 3i, we mean that 5 is the real part and 3 is the imaginary part of a complex number. There is something similar going on here.

    • @evandrofilipe1526
      @evandrofilipe1526 3 місяці тому

      ​@@stendeter623he's probably assuming that basis vectors square to 1. which is reasonable as I think he's doing vga

    • @IsmeGenius
      @IsmeGenius 3 місяці тому

      @@stendeter623 In GA its ok to add planes (bivectors) to scalars and all other types of stuff. And it is ok in general do whatever you want in math, there are not disallowed stuff, just sometimes self contradictory stuff and stuff not taught at school.

  • @APaleDot
    @APaleDot 3 місяці тому +2

    Jon Blow knows geometric algebra? based.

  • @tactics40
    @tactics40 3 місяці тому +2

    Geometric algebra is a cute idea with an annoying cult behind it.
    There's a reason it's not taught in school. It is of limited use outside of getting people excited over a 10 year period of mathematics history.

    • @hamish_todd
      @hamish_todd 3 місяці тому +3

      If you stay in college to grad school in phys/math you learn Clifford Algebra, which is geometric algebra with less of an emphasis on visual interpretation. Exterior algebra, which is learned a little earlier, is GA except you can't add k-vectors for different values of k (so quaternions not allowed).
      You might also learn dual quaternions, Poincare group, lie algebras, plucker coordinates, Cartan Dieudonne, etc. It would be going too far to say "these things are GA by another name". But, GA includes all of them. So it's truer to say that GA is enormously useful and widely taught, it just isn't called GA and it isn't taught to graphics programmers. It's sad some people miss out on that!

    • @frsrblch
      @frsrblch 3 місяці тому +7

      Why teach people geometric algebra when you can teach them matrix algebra, lie algebra, differential forms, complex numbers, quaternions, vector analysis, and spinors instead. We don't need a single intuitive mathmatical framework for these things, we already have a dozen overlapping and disjointed ones. Why use vectors of real numbers when you can use complex matrices! That's what the people designing the curricula were taught, so that's what they teach.

    • @evandrofilipe1526
      @evandrofilipe1526 3 місяці тому +2

      @@frsrblch But geometric algebra is easier to understand and I think that has alot of value no?

    • @tempname8263
      @tempname8263 3 місяці тому +2

      lmfao
      If addition wasn't taught in school, you'd be saying same thing I guess. "It has a limited use outside of getting people excited about adding stuff together"

    • @tempname8263
      @tempname8263 3 місяці тому +1

      ​@@frsrblch I mean, matrices can't be replaced with GA. But combining them with GA is certainly useful.
      For example, you could have a matrix, that converts vector forces at a point into a torque bivector, which is great for solving rigidbody constraints in 4d and above.
      Yeah, honestly, just in general a lot of higher-dimensional stuff gets a lot easier when using GA. Since, you know, quaternions can't work in anything but 3d space.