Y Combinator Startup Podcast - #94 - Joan Lasenby

Episode Date: September 17, 2018

Joan Lasenby is a University Reader in the Signal Processing and Communications Group of the Cambridge University Engineering Department, and is a College Lecturer and Director of Studies in Engineeri...ng at Trinity College. Here's a list of her published work.In this episode we talk about Joan’s research into 3D reconstruction from multiple cameras and her interest in geometric algebra.The YC podcast is hosted by Craig Cannon.***Topics00:32 - What's a tangible example of geometric algebra?1:52 - What is geometric algebra?6:47 - What resparked interest in geometric algebra?7:42 - Why is it important?11:32 - When did Joan start working on it?13:27 - Rotations17:17 - Computer vision in the early 90s19:32 - Joan's fellowship at the Royal Society23:32 - What's changed in computer vision since the 90s to allow for Joan's drone research?30:07 - Machine learning in computer vision31:52 - How Joan and her students are applying machine learning35:02 - Unifying qualities of geometric algebra41:02 - Joan's paper ending up on Hacker News45:32 - Where could geometric algebra take hold?47:32 - Running and mobility48:32 - Where to learn more

Transcript
Discussion (0)
Starting point is 00:00:00 Hey, how's it going? This is Craig Cannon, and you're listening to Y Combinators podcast. Today's episode is with Joan Lasonby. Joan is a university reader in the Signal Processing and Communications Group of the Cambridge University Engineering Department. She's also a college lecturer and director of studies and engineering at Trinity College. In this episode, we talk about Joan's research into 3D reconstruction for multiple cameras and her interest in geometric algebra. If you'd like to learn more about Joan's work, I'll link it up in the description. All right, here we go. So, Joan, as we walk through geometric algebra, I think the best place to start might be through a more tangible example.
Starting point is 00:00:39 So you're doing a project with drones here at Cambridge. Can you explain that first? Yes. So we're doing a project with drones. This is joint with the architecture department. And what we'd like to do is use drones to look at the built environment generally. And the built environment has, is made up of lots of lines. So what we would like to do is to do a lot of our processing, our vision processing, with lines.
Starting point is 00:01:07 And lines are much more difficult, classically, in computer vision than points. A lot of reconstruction is done with points. You get a point cloud. You can get structure from motion. So motion capture, for instance, when you see someone in the suit with all the ping pong balls, they're connecting points. They are all points, exactly. But then even, no, not with motion capture, just with cameras that are moving. You can get points.
Starting point is 00:01:34 You can match points. Okay. So we would like to do this with lines. Lines are difficult. And our mathematical framework that we will use for this is geometric algebra. Okay. So let's define it. Let's start there.
Starting point is 00:01:50 Me. Shall I define it? Yes. And we'll see if it ties in with what you've read about it. So do you want some history? Yeah, let's start. So Grassman was a mathematician, and Grassman had something called an outer product.
Starting point is 00:02:11 So for example, I can take two vectors, I can put a wedge between them, a wedge product or an outer product, and I get A, wedge B. So this quantity is now a different thing. and I'll explain what that is. So Grassman had this outer product. And Clifford, William Clifford, who was actually at Trinity, before I moved to London. So he came along and he extended this outer product.
Starting point is 00:02:43 He effectively had an inner product plus an outer product. So for example, if I have two vectors, A dot B, where the dot is an inner product giving me a scaler. and A, which gives me this other thing, is a Clifford product. So it seems like a strange thing to do. And he had an algebra for this Clifford product, which is called Clifford Algebra. And it's been in the mathematics literature and research program forever since Clifford died. Which was... In the 1870s.
Starting point is 00:03:23 He died at the age of 34, I think, but of TB. So he did a lot, but clearly could have done much more. But as a kind of applied tool, it wasn't really used. And it was David Hestonis who came in the 1960s and said, gosh, you know, look at this. Clifford called it geometric algebra. I'm going to call it geometric algebra, and I'm going to do all these wonderful things. with it. So effectively,
Starting point is 00:03:55 so that's the background. The basis is, so imagine I have scalers, so just numbers, vectors, so things with a magnitude and a direction. In 3D, we can think of this.
Starting point is 00:04:12 Yeah. By vectors, they're planes. Okay. Right? So things that have two vectors, that makes a plane. Yep. So a plane would have a position
Starting point is 00:04:21 and a magnitude. and a handedness. Yeah, what is that? A handiness is, so suppose I have three points that make up a plane. Okay. I can sort of go from A to B to C or from A to C to B. Got it, okay. So if I take A wedge B to form my plane in vectors,
Starting point is 00:04:43 then B wedge A will give me minus the plane. Mm-hmm. So you have to then start to start to. think of these planes as as geometric objects, which have a sign as well. So if I take vectors A, wedge, B, which C, it gives me a volume. Again, it will be an oriented volume. If I live in four dimensions, A, wedge B, wedge C, wedge D, give me a four volume. Okay.
Starting point is 00:05:12 So at some point, I get to the highest element in space. In 3D, that would be a volume. I can't go any bigger. and that has a special place in my algebra. So imagine I have in 3D scalers plus vectors plus bi vectors plus tri vectors, so points, lines, planes, volumes. I have an algebra which takes these things as objects and I can add them, I can multiply them, I can differentiate respect to them.
Starting point is 00:05:45 So it's a kind of abstract concept. but it is amazingly powerful. So that's the kind of rough idea of... Right, how Clifford Algebra moved to Geometric Algebra and this is all predating computers. So this isn't being rendered anywhere yet. You mean in hardware? Yeah. So we have a community, not a massive community,
Starting point is 00:06:16 but there are lots of people who... are very interested in, you know, potentially getting instructions for chip sets, etc. SPGA is, it is. Okay. So. And of course, we have quite a lot of programs that people have been building so that the community can test these things out. And so what rekindled it in the 60s to make, make it happen now? So David Hesnes was doing his PhD and he was a physicist and looking at space-time.
Starting point is 00:07:00 So basically his PhD turned into a book called Space Time algebra from which basically in the 80s people got hold up and started to get interested in. even though David had been working on it since the 60s. What started David on the Clifford Algebra? I am actually not quite sure. I'll ask him. Yeah. And then so...
Starting point is 00:07:26 But he very quickly realized that this algebra simplified a lot of space-time physics. Right. So that's kind of what I wanted to get it. It's like, why, yeah. What was a realization that made to like, why is this important?
Starting point is 00:07:43 Now. Why is it important? So, in effect, um, um, space time physics, um, quantum physics,
Starting point is 00:07:52 relativity is extremely complicated. And is, you know, it's the area that were, where you do have to have a lot of background knowledge and a lot of background mathematical knowledge. You do need to be proficient in, for example,
Starting point is 00:08:11 for general, relativity, you need differential geometry. You need a lot of these mathematical systems. You need a lot of tensor analysis. So, I mean, David could see that with this algebra, he could work entirely within an algebra of geometric objects, transformations between these objects. Everything stayed in the algebra. Transformations, linear transformations functions, um, were, um, um, geometrically intuitive. There were mappings of objects to objects. They weren't just tensors.
Starting point is 00:08:48 We didn't have to go to another space, a sort of dual space, as you do in differential geometry. So things became easy. And he started to see that you could interpret a lot of things like Dirac matrices. Well, actually, they're not matrices at all. They were, you know, elements of the algebra.
Starting point is 00:09:13 And immediately they became easy to deal with. So his big motivation was that here was a unifying language for mathematics and physics, basically. So if you know this language, you can not only do rigid body dynamics in engineering, classical mechanics. You can do linear algebra. without matrices and without tensors. And you can do complex things in quantum space-time physics with the same mathematical system. And this is not theorized. This is proven at this point.
Starting point is 00:09:55 It's all good. It's all good. It's all good. It's all good. It's all good. It's all good. It's all good. It's all good.
Starting point is 00:10:01 But the part of the problem is that we all, I mean, your next question might be, well, if it's so wonderful, well, why doesn't everyone use it? Right. So A, Clifford died when he was 34, and it was at the point where Gibbs' heavy side came in and produced vector algebra and the cross product. And so have you ever thought about a cross product? Nope. So I have two vectors and I take A cross B. It gives me the vector, which is perpendicular to the plane effectively. Now, that's all very nice, but it only works in 3D.
Starting point is 00:10:38 it doesn't work in any other dimension. Because in a plane, I've got no perpendicular. You're stuck. In four dimensions, there's no concept of a perpendicular to a plane. Okay. So,
Starting point is 00:10:49 but of course, we will grow up with vector calculus, linear algebra, matrices, and, you know, then we have our research areas. And it's very difficult to actually,
Starting point is 00:11:00 to listen to somebody, if they come along and say, I've got this super dupe new mathematical system that you ought to to, you know, take notice of it. Yeah, yeah, yeah. It would say, if someone comes up to me and says, look at this now, I will say, well, you know, I've got my own research and it takes me all my time to, you know, do what I'm doing.
Starting point is 00:11:20 Okay. And so what planted the seed in you that you wanted to follow this path? So, you're the truth. Sure. That was the goal. Yeah, okay. So the truth is my husband met David Hester, Anthony, ladies and me. be. He became fairly obsessed with geometrical algebra. He is a cosmologist. He could see that
Starting point is 00:11:46 there was this thing which told him what the Koshy-Riemann equations are, if you, for people who know it, that the Powley matrices and the Dirac matrices in space-time quantum physics were just really interpretable. He became obsessed with it. totally obsessed. So Anthony had a PhD student called Chris Doran. Chris and Anthony, they've written a book on Geometrical Algebra Physicists. And it was very difficult for me to actually talk to my husband at that point without actually finding out something about it. Okay.
Starting point is 00:12:33 Because he thought it was one of the most exciting things he'd ever seen. And you were at the time just pursuing math, PhD? What were you? I was pregnant at the time. Okay. So I was just about to have a baby. Okay. So I did have some time, actually.
Starting point is 00:12:49 Yeah. Because I was, you know, not that much time, of course, when you've got a small child. Yeah. But, yeah, I was in it. I've gone back as an engineer. I was a postdoc in engineering. I was doing imaging. I was imaging flames.
Starting point is 00:13:04 Um, that was a, uh, a, uh, two, two year post-doc position, but I actually then began to realize that these, this algebra would be really useful in parts of engineering, particularly things which involved rotations. And maybe I should talk about rotations, because in engineering and physics, rotation, the way geometrical algebra deals with rotations is totally key. So have you heard of Creturnians? I've heard of them, yeah. So Quaternians are, well, if we go back, people rotate with rotation matrices. Yeah.
Starting point is 00:13:45 So you have, say in three by, in three dimensions, you have a three by three matrix, you act on a vector and it rotates it. Now, a rotation has just three degrees of freedom, which you have nine, nine components in a three by three matrix. And so they're all constrained. So rotation matrices are not numerically. nice to deal with because you have to keep them on the manifold. You have to make sure if you change, if you update rotation matrices, you have to make sure it obeys the constraints. Okay.
Starting point is 00:14:23 So that's one of the things we use. Now, in graphics, et cetera, and satellite motion, it's long been known that the best things to use as quaternions. Other methods are oiler angles, like a rotation about the X. axis, the y-axis, the x-axis, the x-axis. But quaternians have been particularly nice because they are minimally parameterized. They have three components. They are smooth.
Starting point is 00:14:51 They don't suffer from singularity problems. And Hamilton created quaternians as an extension of complex numbers. So complex numbers, everybody, people know that complex number I, if you, I effectively rotates in the plane, a multiplication by I. So Hamilton spent many, many years in his later life trying to extend complex numbers to three dimensions. And it came up with quaternions. So quaternians have these elements, I, jk, which are all square to minus one.
Starting point is 00:15:29 So it has like three imaginaries. So, you know, to start with, that's pretty awful. And but everybody knew they were great great to the libraries. People have been using Quaternians since the early days of satellites. Okay. So if you actually look at code, et cetera, you know, people will use this for rotations. Now, very early on, it's in David's book, that you see that if I, if I square one of these bifctors in 3D, It's taken 3D for now.
Starting point is 00:16:08 If I square it, if it's a unit by then, I get minus 1. So I have a real object that squares to minus 1. Okay. Which is kind of telling me that I, complete the unit imaginary and this JK are probably unit planes. It turns out that the Quaternians are just rotations. The IJK give you rotations about the unit planes. in three dimensions, the X, Y, Z, and the X, Z, and the X, Z plane.
Starting point is 00:16:42 So immediately you see that, you can have complete generalizations of things that do rotations in any dimension. And so at that point, you're doing this postdoc position and you realize that you could apply it. Yes. Not to flames, but to mainly computer vision. Okay. And what was the state of computer vision at this time? What year was this?
Starting point is 00:17:12 93. Okay. So not much happening. Yeah, but a lot of the, you know, it was really starting to move forward. There was no machine learning in computer vision, but it was all geometry. It was basically all geometry. So people had used project. well, you know, people had been using the ideas of projective geometry in computer vision for a long time, which is a four-dimensional space.
Starting point is 00:17:42 Still with matrices. So I rotate and translate things. So I have lots of cameras. I want to find from my images the rotations and translations between my cameras. Once I've done that, I can triangulate and I can do 3D reconstruction. Okay. There was also at that stage a lot of Bayesian statistics were coming into computer vision, so tracking things in images and finding the most probable tracks in crowds.
Starting point is 00:18:16 So computer vision was really starting to take off. Okay. And so you finish up your two year, you're creating these flames, these graphics essentially. Yeah. What do you jump into to actually give it a go? So I was extremely lucky because by that point I had two small children. I don't know if you heard the Royal Society. No.
Starting point is 00:18:37 In the Royal Society, the Body in London. Oh, okay. Yeah. So you probably have because it's has journals and lots of, you know, historical people with big names in history were fellows of the Royal Society. So the Royal Society has something called University Research Fellows. And I applied to do, it was probably quite a step for them because I applied to do applications of geometrical algebra in engineering. And they gave it to me. So I then had a five year effectively postdoc.
Starting point is 00:19:16 And I could choose what teaching I did. And the engineering department were very good. You know, I didn't need to do a lot of teaching or admin. But I basically had kind of five years to try and get this off the ground. You kind of figure it out. And what, yeah, what was an example of an early project? So, um, so an early project was actually with, um, I, I think at the time, I mean, the internet wasn't really like it, quite like it was today.
Starting point is 00:19:48 Um, but there was, uh, some mailing lists and there was, uh, um, somebody, who called Eduardo Bairo Carachano, who's now in Mexico, but he put this email out on some lists saying, anybody working with computer vision and geometric algebra? I thought, you know, so I actually, you know, contacted him. And those early days, we did quite a lot of translating all the classic projective geometry computer vision, which was quite mathematical at the time, into geometrical algebra. Gotcha. Okay. And I mean, this may sound kind of basic, but one of the really nice things about putting your problem, et cetera, into geometrical algebra is you have an origin.
Starting point is 00:20:43 So some inertial frame. Everything is with respect to that. So I rotate, translate that. I don't have matrices, so I don't have to worry about coordinate systems. I don't stack up coordinate system upon coordinate system and then worry about what on earth that translation. What coordinate system is that in? Yeah.
Starting point is 00:21:02 And with a vision where you're measuring things in an image. So what coordinate frame is that in? Yeah. You know, it is quite confusing. And I know this for a fact because students are very confused about it all. When you've got a rotation, where is it with respect to in these complicated systems, etc? This just makes life very, very easy. Okay.
Starting point is 00:21:25 And you almost can't go wrong. And was the goal of this five-year period to then apply it to some, like, product use or just do the basic research and see how it goes? What happened? At that time, it was just really seeing what we could get out of it. Okay. So I did some work with a company called PhaseSpace, who's their emotion capture company in the States. Not far from Berkeley. And, you know, looking at algorithms to calibrate cameras.
Starting point is 00:21:57 Because one of the things I haven't mentioned is that there is another aspect to this system, which is extremely useful. So I've said that I have these geometric objects. My rotations are objects. So I can write down coordinate free expressions. But not only can I write them down, I can differentiate with respect to them easily. Okay. Because I have this algebra of objects, I can do calculus on them. Okay.
Starting point is 00:22:28 And that's quite hard to do conventionally because you've got people can do it, but you're differentiated to respect to a matrix or a tensor or a vector and all these. So it's a much harder. You can do it component-wise, but if I want to get closed-form solutions, doing the analytic stage of the calculus is extremely useful. Hmm. And so the notion was that you could do it with less compute, like you could render these things using geometric algebra faster? No. Never. Okay. But so you can do it pretty fast. It's more, it's much easier to program up. Okay. It's intuitive. You can think of what you want to do. And I can program it up at kind of this high level. Underlying, you've got an algebra of a much bigger algebra than three dimensional space. Right, of course. So actually, computationally, there's more going on. There's more going on.
Starting point is 00:23:25 Okay. Yeah. But at a higher level, you know, I can get code to do all this for me. And at higher level, I can certainly write, rotate this object to this object. Okay. And then in terms of like the state of computer vision from then until now, what has progressed to make this drone project possible? Okay. So this is an interesting question.
Starting point is 00:23:47 So David Hestnes and Gareth Sopchik wrote a book. This is a sort of real reference book of Clifford Algebra to Geometric Calculus. It's got everything in there. It's not a book you'd read. It's a book that you go to find out. It's like a reference. Yeah. I'm sure they meant it for you to read.
Starting point is 00:24:10 And that was 1984 or so. in 1999, David gave a talk at a conference. He'd done a paper with Hongbo Lee about something which was in the final few pages of this book. Of course, not many of us had ever got to the final few pages of this book, which you call conformal geometric algebra. So this is truly stunning for graphics and for visiony projects, projects which use vision. So conformal geometric algebra.
Starting point is 00:24:44 algebra as a five-dimensional space. So imagine you take Euclidean space, space we live in, you effectively add on two more vectors. One is the origin and one is a point at infinity. Projective geometry effectively adds on one more vector. So this is this five-dimensional space. So you get this five space and you think, well, okay, what is this going to get me?
Starting point is 00:25:13 Well, what this gets you is that points, lines, planes, circles and spheres become objects in the algebra. They're objects. You give me a C. This big C is a circle. It's a trivector in my five-dimensional space. And rotors, which are these, this class of objects that rotate, and compass rotations, translations, dilations,
Starting point is 00:25:45 and invert, rotations, translations, dilations. So you've suddenly got, I can, for example,
Starting point is 00:25:55 set up, you give me three points. I immediately get the circle that goes, that goes passes through. You give me four points. I give you the sphere. It's an object.
Starting point is 00:26:05 I use my rotor. I rotate it. I intersect them. It's a beautiful language for graphics. Okay. So, but because, from 1999, lots of people, well, a third number of people. Relative. Yeah.
Starting point is 00:26:22 Leo Dorst and Steve and Mann and Daniel Fontaine in Steve in Canada, Leo et al in Amsterdam, wrote a book Geometrical Algebra of Computer Scientists. And a lot of that was based on this conformal, just what you could do. Yeah. Just how easy it was to do things. So because lines are just objects, because I know how to sort of compare one line to another, because I can intersect lines and planes, keeping this nice algebra, you know, it becomes quite almost easy to see what I have to do to implement a variety of algorithms. So you've, I mean, it's quite hard to intersect two spheres.
Starting point is 00:27:14 You know, I mean, people can do it. But it's easy to imagine how it works. But yeah, for, yeah. Yeah, but you know, you've got equations. But here we just do have operators that do it between objects. And one of the beautiful things is, and we live in a Euclidean, for all extensive purposes, from what we see, it's Euclidean. Now, if you have a different underlying geometry,
Starting point is 00:27:37 Yeah. So if you have hyperbolic or spherical geometry, then in this algebra, you have to change in conformal algebra. Euclidean geometry is the thing that keeps the pointed infinity invariant. Then if I keep other things invariant, I get these other geometries. And I can just use my standard apparatus. and do exactly the same things. Rotate my objects in hyperbolic space and rotate my objects and spherical space, move them around.
Starting point is 00:28:18 So it is a beautiful language for geometry. Okay. And I haven't even touched on physics because a lot of, you know, decider space, which a lot of the cosmologists work in, is a different geometry. Okay, gotcha. which you couldn't use this for. Right, which is why it was appealing to your husband 30 years ago. Exactly.
Starting point is 00:28:42 So he, you know, he started out by being amazed at how things like Powley and the Dirac matrices, spinners were all just trivial in this algebra. Then he started to realize that these complicated transformations, which are all written in tense denst notation or actually if you put them in Geometric Algebra, they are mappings between real things like bi vectors to bi vectors
Starting point is 00:29:17 or bi vexers to vectors and things like this. And as soon as you see it in this way, it enables you to sort of interpret things and then maybe move on. Oh, okay. And so, for example, so Anthony and Steve Goll, Chris Doran and David Hessens are interested in a theory of gravity in flat space, which produces all. So, you know, their theory of gravity, you could understand if you understood the algebra. Yeah.
Starting point is 00:29:50 Basically. Okay. Gotcha. And so, as you were saying before, like, the reason why people aren't picking up geometric algebra is that you become kind of in a certain track. and then you know what you know. But right now, what are people using for modern computer vision to do comparable work?
Starting point is 00:30:10 So computer vision is really massively advanced. Of course, yeah. So today, people are really now moving from geometry to machine learning. So you use using a little bit of geometry, but you are learning to segment things, recognise things by giving it lots and lots of images. But you know, you still have,
Starting point is 00:30:38 we still have lots of geometric problems. So we still have to extract things from images if we've got moving cameras and things like that. But we have, I suppose, it's a case of geometrical algebra won't really give you anything that you can't do conventionally. But what it might enable you to do is to see how, how to do that thing. So, for example, if I ask you how close is one line to another,
Starting point is 00:31:07 I have a way of doing that in my algebra. If I could, I could sit down and write it in conventional. Oh, of course. Yeah. So, but could I have actually thought of that conventionally? Probably not. Okay. Because I'm not clever enough.
Starting point is 00:31:22 So, okay. So, you know, I need, I need a set of tools, which makes sense to me. geometrically and physically. And I can then think, me and other people can think about how to extend that. Okay. And so in your day-to-day research, how are you then applying machine learning?
Starting point is 00:31:47 Because many of your PhD students are working on exactly that. Okay. So it's almost impossible to avoid machine learning. Yeah. You can try, but you can't avoid it. So I have two. a sort of strands. So some students are applying conventional machine learning techniques.
Starting point is 00:32:06 Conventional, you know, they change all the time. Neural networks, recurrent neural networks, LSTMs, to classical data like medical time series data. And I don't know how you can use geometricality for that. Right. Okay. So, and, you know, doing image segmentation. etc. So classical image segmentation, well, you know, I'm not sure how you can get
Starting point is 00:32:35 geometrical algebra into that. But as soon as it comes to anything involving like a moving camera, moving drone, multiple moving cameras, having streams of images, you want to match things, you want to triangulate, etc. Then it is almost the only way I know how to do it. Okay. Gotcha. So it's that aspect of it. And then can we extend it? So can we then, you know, we know how to parameterize in this algebra on my lines, my planes, etc.
Starting point is 00:33:10 Can I learn them? So can I learn these geometric objects? So we're keen on analyzing both sort of moving images, which we're going to extract lines, planes, and also motion. So motion. Can I actually parameterize my. problem in terms of my geometric objects and learn them. Okay. And so for instance, like, you know, someone doing computer vision with a self-driving car,
Starting point is 00:33:39 like are they applying the same techniques that you're applying to get these lines or what would they use? I think. No. So, so, you know, there's huge amounts of research. Yeah, yeah, of course. And who knows what they're doing. But primarily it's people are using, if it's not LiDAR.
Starting point is 00:34:03 Right. You know, it's single camera, multiple camera, lots of data. Yeah. Basian methods for segmentation. Following lines is easy. You know, that's not matching them or trying to reconstruct them. You're just kind of following them. It's really recognizing, if it's,
Starting point is 00:34:25 the person, if it's the road, if it's a tree. And you've got multiple sensors. So you know exactly where you are. GPS is really accurate these days. So no, no is the answer, I think. I don't know. Well, I mean, so the question I'm kind of getting around to is like, where are the other applications, right? So like you can, in your instance, like you're rotating in a camera, you want to map something.
Starting point is 00:34:52 It makes a lot of sense like, and then you can move it around. because you have the lines. You can recreate the shape. What are the other use cases? Well, you know, I do think that it's real use is this, the fact that it unifies. It's a unifying language. So if I know this, I can just work things out more easily. Instead of trying, I mean, if people have worked with computer vision, they will know that often things that work. So instead of a rotation matrix R, they try our transpose.
Starting point is 00:35:23 and instead of a translation vector T, they try our transpose T and they mess around until it works because it's highly confusing. Okay. You've got no such problem here. It's very straightforward. Now, okay, that's not a good reason to use it if you're proficient enough with classical techniques. But I can go into fields like thin shell elasticity.
Starting point is 00:35:50 You know, and there is a student who is here at the moment doing this. That is quite an infield. But if we put it in terms of like I have these rotors, I have a surface, I can stretch them, I can translate them, then it's just in the language of computer vision. It's not in differential geometry. It's not in anything else. It's a totally understandable process. Right. Okay.
Starting point is 00:36:21 So you could, you could see a world where then, you know, an artificial intelligence understands this and then can apply it anywhere. And then you can then understand it. I, yeah. Yeah. I think that's where strength lies. Yeah. And in new physics. I think, you know, because it unifies lots of different quantum mechanics and relativity and, you know, it hasn't, it's not.
Starting point is 00:36:50 It's not unifying quantum gravity yet, but you can see that it's a, it is a system whereby you might be able to think of different ways forward. Right. Okay. So it's actually a better tool. It's a better tool. Okay. Because people are extremely clever. So they will find ways of doing things that are stunningly clever, but are complicated.
Starting point is 00:37:18 Right. And so where do you see limits right now? I think it's, I don't think it's, it's not computational anymore because we're building up more and more tools. So I can give you a website and, you know, you can try it out. And you have to install anything because it's an online, you know, Python notebook. So you can, you can have a play with it. So we are, you know, we are a community which is certainly moving forward. There still isn't, there aren't a lot of us.
Starting point is 00:37:52 So it's not taught. It's not taught. So, you know, teach my fourth year's image processing, but I don't teach them geometric algebra. Okay. And is there an interest there to learn? Or are they just like, I don't know? When you don't know about it, you can't really be interested in it.
Starting point is 00:38:12 Okay. So it's a, it's a, and students have no hang-ups, they learn it and they think, great, you know, it's another tool. Yeah, yeah, yeah. And use it. Okay. So, um, it really, it enables you. I mean, I have a lot of confidence that if you give me a paper on, uh, uh, thin shell elasticity, it's going to be tough because there's tensors everywhere.
Starting point is 00:38:39 And I've got frames and frames and frames and dually. and dual frames and things, but I can eventually understand it. So these different fields, if there's a colleague, Alan McRobee, who's using a sort of form of it in structures. So there are fields, electromagnetism is also,
Starting point is 00:39:01 I should have mentioned this, is a field whereby you really get huge simplification. So I am fairly confident I can model electromagnetic fields and do maybe some new engineering things using this if I had time. Okay. Well, we were talking about programming before we started recording at lunch and about going from Matlab to Python, right? Have people tried to create a port?
Starting point is 00:39:30 In other words, like, oh, you have this traditional equation. We can port it over and then you can understand it and see the value. Has that happened yet? No. Okay. Not really. Not really. I mean, there are, I mean, most of the code is enabling you to do things in a kind of transparent way.
Starting point is 00:39:56 Like I can wedge together two vectors or multiply two vectors together. I can conformal. I can form my sphere and visualize it. And I can do numerical, I can do lots of numerical computations with it fast. So we can now do it quickly. But porting things is a kind of difficult one. Yeah, like you're saying, well, you know, here's my equations in terms of powerly spinners. What does it look like in Geometricarnsbra?
Starting point is 00:40:26 Well, kind of looks the same except your spinners aren't spinners. They're, you know, so it's a difficult, that's a very hard question to answer. Right, because it's not so simple as like, oh, this is how you call this function. it's not the same thing at all. No, not really. Okay. So this is sort of a weird random tangent, but before when we met, you were telling me that a couple years ago,
Starting point is 00:40:50 someone posted on Hacker News one of your papers. Yeah. What was it about how did all this happen? So it was an invited paper, the Millennium Edition, 2000, of philosophical transactions in the Royal Society. So we wrote a paper, which was,
Starting point is 00:41:11 telling, just saying how geometrical algebra was a unifying language and look at all these great things we can do in computer science, engineering and physics. And this is the way the world works and this is, you know, you should do it. So it, you know, some citations and it sat there until bizarrely it was posted there. And it was a friend of mine who read, these things, texted me and said, well, your paper is number one read on this hacker news. And I said, well, what's that? You know, is that good or is that bad?
Starting point is 00:41:50 I don't know. So hard to know how it emerged. And hard to know how many, I mean, were there some people who looked at that and now are in our geometric algebra community who, you know, sort of get interested and came along. throughout the world now there are groups and you know in the 1990 there were not many there were little groups who were really keen on it but now there are groups
Starting point is 00:42:22 almost everywhere they're not big sure but um interesting did you did you read the comments when it went up there I did yeah I mean they range from wow this looks really cool to this looks crazy and impossible to understand
Starting point is 00:42:42 I thought no that doesn't know that wasn't the we're not trying to communicate that we didn't want to say that to gosh this looks as though it can do everything you know so they weren't they weren't very detailed it was more people beaming in and saying
Starting point is 00:42:56 do we short things although I don't know whether I read them all that's the nature of the internet you have to comment quickly the post just falls off the front page and then your comments are going to get because of course yeah in the next five hours it was probably gone.
Starting point is 00:43:09 Right, exactly. Sunk down to 100. Right. But what do the folks who are, are there naysayers? Is that a community? Sorry, what? Are there naysayers of geometric algebra? Oh, sorry.
Starting point is 00:43:22 It's not going to be a thing. Yeah. Say so. I mean, there are people who, there are lots of people who think, yeah, that looks interesting, but really, I can do it anyway. Yeah. And I have. I am the world's expert in.
Starting point is 00:43:39 in, you know, powerly matrices or whatever. What do I need to put my matrix in terms of a vector? And so, you know, people think in different ways. To them, that is the way of doing it. That's always been the way of doing it. So I don't think there are people who say, oh, this is complete rubbish. There are just people who say, well, yeah, but, you know, what's it going to get me? Okay.
Starting point is 00:44:05 And I don't think people, it's not the, kind of thing where you can say it's wrong because it's not wrong. It's just a tool which depends whether you want to invest the time. Because you think about multiplying vectors together and things like this. Yeah. It's anti-commutative. It's not a commutative algebra. So immediately you throw away everything you've learned as a kid and through school and through university.
Starting point is 00:44:35 So it makes perfect sense once you're into it. But there's a little, you know, there's a little hump. There's a learning curve. Yeah. There's a learning curve. Yeah. And it's much easier for younger people to do that. Sure.
Starting point is 00:44:48 That makes sense. Because they have no real prejudices. Right. Okay. They say, yeah, it's another thing. You know, it's like machine learning. Oh, yeah. Another algorithm.
Starting point is 00:44:56 I'll program it up now. Right. And so, yeah, I don't. I think probably there are people who do think, well, why should I bother? Mm-hmm. But I don't think they would say, no, it's a wrong thing to do. You know, one shouldn't do that. One should use matrices.
Starting point is 00:45:13 Okay. So in your, you know, educated opinion, where do you see this really taking hold in the next, I don't know, like thinking about it in the practical sense? So many people who are listening to YC podcasts are like entrepreneurs or engineers are studying. Where do you see people applying things like this? So clearly in the fields of fundamental theoretical advances So, you know, like physics or the aspects of physics that we're not quite sure about that's the big where I see it will have some effect because it enables you to think and it enables you to think in different ways.
Starting point is 00:46:01 in engineering, I think there are lots of fields. And I don't know whether it would be, is there a killer application where if I could do it, everyone would say, whoa, this is the way to go? Right. I don't know. As I say, I would, what I would like to see is that people, people had it in their toolbox. Yeah. because, you know, there are lots of very, very clever people around who can cope with very hard, sophisticated physics and maps.
Starting point is 00:46:38 There are a lot of people who are maybe not quite so clever and they need the right tools in order to do these complex things. And I see it as actually this provides these people with a real, you know, a lot of people have a lot of geometric insight, but maybe not the mathematical sophistication. And I think this would certainly sort of give them a big advantage because it seems to me to be the way the world works. This, if it's a unifying language, it's what we should be writing our equations in. So I'm not sure that's answered your question. That's actually a great answer. Yeah, I believe that. And I like it a lot too.
Starting point is 00:47:22 If you weren't working on this, do you have thoughts on where you might apply your energy? Well, it's interesting because I have always had, I'm a runner. So I've been a runner since I was a kid. I am absolutely convinced that even if you don't run, you know, as you get older, you need to move. and you need to keep your body moving independently. You need to make the muscles move independently. You need to keep healthy. And I probably would be doing something which tried to get everybody out and moving.
Starting point is 00:48:05 And that was not what you were expecting. No, that's great. Yeah. But, you know, I look at people as they get older and life could be so much better for them if they kept mobile. And they looked after their body. There's a slight obsession of mine. But anyway, yeah. Yeah, that's great.
Starting point is 00:48:25 That's totally awesome. Yeah. I guess then my last question is if someone wants to learn more about this and actually start trying it out, where should they go? Well, so lots of books available. And people will probably be annoyed with me if I don't mention their books. But the, so the David Hesman has three books, space time. Algebra, probably not the place to start. New foundations of classical mechanics and
Starting point is 00:48:57 Geometric Algebra, Clifford Algebra to Geometric Calculus. Now, they're great books. My husband Anthony and Chris Doran have a book, Geometrical Algebra Physicist. Leodore, Stephen Mann and Daniel Fontaine have a book which is Geometric Algebra for Computer Scientists. Edwardo Baro Canichano has books which are more focused on robotics.
Starting point is 00:49:22 So there are lots of books out there, lots of review articles, lots of conference proceedings, lots of code now. So people, you can kind of get code for MATLAB, for C, for Python. We've been using now a package by an American guy called Alex Sarsenevich, who wrote a Clifford package. and we've been integrating it into a note one of my students, Hugo, who you met, has created a web version.
Starting point is 00:49:59 So the big problem with a lot of these things, you have to download the package. You've got the package. You've got to get the numpy. You've got to get all these other things. You've got to get it all working. Got to get it working. And if you're on Linux,
Starting point is 00:50:10 it tends to be not to buy. If you're on Windows, it's like impossible. Yeah. Not impossible. But your average person would, probably say, you know what? No. But we're working to try and get a web version so people can actually go on. Try it out with some read me files and a bit of graphics so you can see it.
Starting point is 00:50:29 So there's loads of stuff out there at the moment. Where can they find that if they want to? Maybe is it on your side or? It is Hugo. So Hugo and Alex I've been working on this and I can give you the web address. Okay, we can put it in the blog post. Yeah, yeah. There we go. They're just releasing it to the world. Okay. Yeah.
Starting point is 00:50:52 Perfect. So it would be good to have people test it out and say, email back and say, this doesn't work. All right. Thank you so much for your time. Okay. Been a pleasure. All right. Thanks for listening.
Starting point is 00:51:03 So as always, you can find the transcript and the video at blog. combinator.com. And if you have a second, it would be awesome to give us a rating and review wherever you find your podcast. See you next time.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.