Joan Lasenby on Applications of Geometric Algebra in Engineering
So Joan, as we walk through geometric algebra, I think the best place to start might be through a more tangible example. 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. The built environment is made up of lots of lines. So what we would like to do is to do a lot of our processing or vision processing with lines. 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're all points exactly. But then even not with motion capture, just with cameras that are moving, you can get points; 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. Shall I define it?
Okay, and we'll see if it ties in with Shiva.
Make sense? What about it?
So, um, draw some history.
Yeah, that's... so, um, so Grassman was a mathematician, and Grassman had something called an outer product. For example, I can take two vectors, mm-hmm, 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, he came along and he extended this outer product. He effectively had an inner product plus an outer product. So for example, if I have two vectors, hmm, A dot B, mm-hmm, where the dot is an inner product giving me a scalar, and a wedge B, which gives me this other thing, is a Clifford product.
So it seems like a strange thing to do. They only had an algebra for this, this Clifford product, which is called Clifford algebra and has been in the mathematics literature and research program ever since Clifford died, which was in the 1870s. He died at the age of 34, I think, but M of T B, so he did a lot but clearly could have done much more.
Right, so, but as a kind of, you know, applied tool, it wasn't really used, and it was David Hestenes who came in the 1960s and said, "Gosh, you know, look at this." Clifford called it geometric algebra. "I'm gonna call it geometric algebra, and I'm gonna do all these wonderful things with this."
So effectively, L Tet, so that's the background. The basis is, so imagine I have scalars, mmm, so just numbers, vectors, so things with a magnitude and a direction. In 3D, we can think of this.
Yeah, by vectors, their planes.
Okay, right. So things that I have; two vectors that mix, a plane.
Yep, so a plane would have a position and a magnitude and a handedness.
Yeah. What is that handedness?
So suppose I have three points that make up the plane.
Okay.
I can sort of go from A to B to see more from A to C to B.
Got it.
Okay. So if I take a wedge B to form my plane in vectors, huh, then B where J will give me minus the plane.
Mm-hmm.
Okay, so it's... you have to then start to think of these planes as geometric objects which have a sign as well. So, in so if I take vectors A wedge B wedge C, it gives me a volume. Again, it will be an oriented volume.
Mm-hmm.
If I live in four dimensions, A wedge B wedge C wedge D give me a four-volume.
Okay.
So at some point, I get to the highest element in the 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 scalars, vectors, plus bivectors, plus trivectors, 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 with respect to them. So it's a kind of abstract concept, but it is amazingly powerful.
Okay, that's... I see the kind of rough ideas, 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, but there are lots of people who are very interested in, you know, potentially getting instructions for chipsets, etc.
And PGA is it?
Is okay, so 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 it happen now?
So Dave Hestenes was doing his PhD, and he was a physicist looking at space-time. So basically, his PhD turned into a book called Space-Time Algebra, from which basically in the '80s people got hold of and started to get interested in, even though David had been working on it throughout since the '60s.
And what started David on the Clifford algebra, I am actually not quite sure.
Okay, I'll ask him.
Yeah, and then so, but you mean what? So, but he very quickly realized that this algebra simplified a lot of space-time physics, right?
So, I don't know what I wanted to get it.
Yeah, no, what was the realization that made... like why is this important now?
Why is this important? So in effect, space-time physics, quantum physics, relativity is extremely complicated, and is, you know, it's the area 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, 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 were geometrically intuitive. They were mappings of objects; they weren't just tensors, and we didn't have to go to another space, you know, a sort of dual space as you do in differential geometry. So things became that 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, and immediately they became easy to deal with.
So his big motivation was that here was a unifying language for mathematics. Basically, so if you know this language, you can not only do rigid body dynamics and engineering and 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, you know. It's all good like this idea that maybe this might work someday.
No, right. But part of the problem is that we all, I mean, you might, your next question might be, well, if it's so wonderful, why doesn't everyone use it?
Right.
So, Clifford died when he was 34, and it was at the point where Gibbs and Heaviside came in and produced vector algebra and the cross product.
And so have you ever thought about the cross product?
Nope.
So if 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; it doesn't work in any other dimension, right? Because in a plane, right, stuck in four dimensions, there's no concept of a perpendicular to a plane.
Okay.
So, but of course, we grew up with vector calculus, linear algebra, and matrices, and then we have our research areas. And it's very difficult to actually listen to somebody if they come along and say, "I've got this super-duper new mathematical system that you ought to, you know, take notice."
Yeah, yeah.
Someone comes up to me and says, "Look at this." No, I will say, "Well, you know, I've got my own research, and it takes me all my time to, you know, okay, do what I'm doing."
Okay, and so what planted the seed in you that you wanted to follow this path?
Um, so you killed the truth.
Sure, sure, that is a goal.
Yeah, okay, so the truth is my husband met David Hestenes, Anthony Lazenby. He became fairly obsessed with geometric algebra. He is a cosmologist; he could see that there was this thing which told him what the Cauchy-Riemann equations are.
A few, yeah, for people who know it, and that poly matrices and the Dirac matrices in space-time, quantum physics were just really interpretable.
Hmm, and he became obsessed with it, totally obsessed. So Anthony had a PhD student called Chris Doran. Chris and Anthony, they wrote, they've written a book on geometric algebra, Geometric Algebra for Physicists. It was very difficult for me to actually talk to my husband at that point without actually finding out something about it.
Okay, because he thought it was one of the most exciting things he'd ever seen.
Mm-hmm.
And you were at the time pursuing a math PhD. What were you...
I was pregnant at the time, so I was just about to have a baby, so I did have some time actually.
Yeah, because I was, you know, not that much time, of course, when you got a small child.
Yeah, but yeah, I wasn’t it; I was, gone back as an engineer. I was a postdoc.
Huh?
No, engineering. I was doing imaging; I was imaging flames. That was a two-year postdoc position. But I actually then began to realize that this algebra would be really useful in parts of engineering, particularly things which involve rotations, and maybe I should talk about rotations because in engineering and physics, the way geometric algebra deals with rotations is totally key.
So have you heard of quaternions?
I've heard of them, yeah.
So quaternions are... but for, go back. People rotate with rotation matrices; you have, say, in three dimensions, you have a 3x3 matrix. You act on a vector, and it rotates it. Now, a rotation has just three degrees of freedom. We have nine components in a 3x3 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 the rotation matrices, you have to make sure it’s at a basic constraint.
Okay.
So one of the things we use now in graphics, etc. and satellite motion, it’s long been known that the best things to use as quaternions... other methods are Euler angles.
Okay, a rotation about the x-axis, the y-axis is dead axis.
But quaternions have been particularly nice because they are minimally parametrized; they have three components, they are smooth; they don't suffer from singularity problems.
And Hamilton created quaternions as an extension of complex numbers, so complex numbers, everybody knows that complex number 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, hmm, and he came up with quaternions.
So quaternions have these elements I, J, K, which all square to minus one.
So it's like three mm-hmm imaginaries.
So now, to start with, that's pretty awful, but everybody knew they were great. Great to those libraries; people have been using quaternions since the early days of satellites.
Okay, so if you actually look at code, etc., you know, people will use this for rotations.
Now, very early on, it's in David's book that you see that if I square one of these bivectors in 3D, that's taken 3D for now. If I square it, hmm, if it's a unit vector, I get minus one. So I have a real object that squares to minus one.
Okay, we're kind of telling me that I complex the unit imaginary and these J and K are probably unit planes.
And it turns out that the quaternions are just rotations. The I, J, K give you rotations about the unit planes in three dimensions: the XY, the YZ, on the XZ plane.
Mm-hmm.
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...
No, okay, to mainly computer vision.
Okay, and what was the state like... the state of computer vision at this time? What year was this?
93, 1993.
Okay, so not much happening?
A lot of the, you know, it was really starting to move forward; there was no machine learning in computer vision then, but it was all geometry, basically.
All geometry. So people had used projectable, you know, people had been using the ideas of projective geometry in computer vision for a long time, which is a four-dimensional base silk with matrices.
So I rotate and translate things, and 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 could triangulate, and I can do 3D reconstruction.
Okay, it was also at that stage a lot of Bayesian statistics were coming into computer vision.
So tracking things in images, yeah, and finding the most probable tracks, right, in, you know, crowds.
Okay, so computer vision was really starting to take off.
Okay, and so you finish up your two years; you're creating these flames, these graphics essentially. 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?
In, but you, the Royal Society is the body in London.
Oh, okay, yeah.
So you probably have because it has journals, and lots of 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 probably applied to do applications of geometric algebra in engineering, and they gave it to me—a five-year effectively postdoc.
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, to kind of figure it out.
And what was an example of an early project?
So, um, so another project was actually with... I think at the time the internet wasn’t really like it, right? Like it was a day, but there was a mailing list and there was somebody who called Eduardo Baracatto, who is now in Mexico.
But he put this email out on some listing: "Is anybody working with computer vision and geometric algebra?"
So I actually, you know, contacted him, and those early days, we did quite a lot of translating all the classic projective geometry in computer vision, which was quite mathematical at the time, um, into geometric algebra.
Gotcha.
Okay, and I mean this may sound kind of basic, but one of the really nice things about putting your problem, etc., into geometric algebra is you have an origin, right?
So some inertial frame, everything is with respect to that. I rotate and translate that, right?
I don't have matrices, so I have to worry about coordinate systems; I don't stack up coordinate systems upon coordinate systems and then worry about what on earth that coordinate system is seated in.
Yeah, and with vision, where you're measuring things in an image, and that's... so what coordinate frame is that in?
Yeah, yeah, it's right, quite confusing, and I know this for a fact because students are very confused about it all.
When you've got a rotation, where's it with respect to in these complicated systems, etc.?
This just makes life very, very easy, okay?
And you almost can't go wrong.
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 really?
Well, if 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, whose mote, that they're a motion capture company in the States, not far from Berkeley, and, you know, looking at algorithms to calibrate cameras.
Mm-hmm, 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, so because I have this algebra of objects, yeah, I can do calculus on them.
Okay.
And that's quite hard to do conventionally because you've got, people can do it, but you know, you're differentiating with respect to a matrix or a tensor or a vector and all this.
So it's a much harder, you can do it component-wise.
Mm-hmm, but if I want to get close-form solutions, the current 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?
Never.
Okay, but so you look 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 a topic in this high level.
Yeah.
Underlying, you've got an algebra of a much bigger algebra than three-dimensional space.
Right, right, of course.
So actually, computation, more going on, is more going up, okay?
Yeah, but at a higher level, you know, I can get code to do all this for man at a higher level, yeah, I can certainly... I rotate this object to this object.
Okay, and then in terms of 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. So David Hestenes and Garrett Sobchak wrote a book—this is a sort of real reference book of Clifford algebra to geometric calculus.
Yes, got everything in there; it's not a book you'd read; it's a book that you go to make a reference.
Yeah, yeah, I'm sure they meant it for you to read, and that was 1984 or so.
In 1999, David gave a talk at a conference; he'd done a paper with Hong Boley about something which was in the final few pages of this book.
Hmm, of course, not many of us had ever got to the final few pages of this book.
We should call conformal geometric algebra. So this is truly stunning for graphics and for vision projects which use vision.
So conformal geometric algebra is a five-dimensional space. So imagine you take Euclidean space, with space we live in, you effectively add on two more vectors; one is the origin, one is a point at infinity.
Projective geometry effectively adds on one more vector, so this is a five-dimensional space.
So you get this five-space, and you think, "Well, okay, what, you know, what is this gonna get me?"
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 No see this Big C is a circle, it's a trivector in my five-dimensional space, and rotors, which are this class of objects that rotate, encompass rotations, translations, dilations.
And in the rotations, translations, dilations, so you've suddenly got... I can, for example, set up... you give me three points; I immediately get the circle that goes through.
You give me four points, and I give you the sphere—it's an object. I use my rotor; I rotate it; I intersect them.
It's a beautiful language for graphics.
Okay, so, but because a lot at night, from 1999, lots of you thought, "Well, fair number relative."
Yes, Leo Dost and Steve Mann and Daniel Fontaine in Steven, in Canada, Leo in Italy, and Amsterdam, and wrote a book, "Geometric Algebra for Computer Scientists."
A lot of that was based on this conformal—just what you could do.
Yeah.
Just how easy it was to do things.
So, um, 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, mm-hm, you know, it becomes quite almost easy to see what I have to do to implement a variety of algorithms.
So you've mean it's quite hard to intersect two spheres—people can do it, but it's easy to imagine how it works.
But, yeah, but you know you've got equations, but here we just do have operators that do it; we're between objects.
And one of the beautiful things is we live in a Euclidean extensive... what we see... now, if you have a different underlying geometry, 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 point at 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—rotates; I rotate my objects in hyperbolic space and rotate my objects in spherical space, move them around like so.
It is, it's a beautiful language, mm-hmm, geometry.
Okay, and I haven't even touched on physics because a lot of, you know, de Sitter space, a lot of the cosmologists work in, is a different geometry.
Okay, gadget, which you couldn't use this for.
Right, which is why it was appealing to your husband 30 years ago.
No, exactly, so he, you know, he started out by being amazed at how things like Cowley and the Dirac matrices, spinners were all just trivial in this algebra.
Then he started to realize that these complicated transformations, tensors which are all written in tensor notation, are actually... if you put them in geometric algebra, they are mappings between real things like bivectors to bivectors or bivectors vectors and things like this.
And as soon as you see it in this way, it enables you to sort of, you know, interpret things.
And then maybe move on.
And so, for example, so Anthony and Steve, the goal, Chris Doran and Dave Hestenes are interested in a theory of gravity in flat space, which produces also, you know, their theory of gravity.
You could understand if you understood the algebra, yeah, 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 that, you know, what you know.
But right now, what are people using for modern computer vision to do comparable work?
Um, so computer vision is really massively advanced, of course.
Yeah.
So today, people are really now moving from geometry to machine learning, you know, using a little bit of geometry, but they are learning to segment things, recognize things by giving it lots and lots of images.
But you know, you still have... we still have lots of geometric problems.
So we still have to extract things from images if we've got moving cameras, yeah, and things like that.
But we have, I suppose it's a case of geometric algebra won't really give you anything that you can't do conventionally.
Mm-hmm.
What it might enable you to do is to see how to do that thing, so for example, if I ask you how close is one line to another, mm-hmm, I have a way of doing that in my algebra.
If I could, I could sit down and write it in conventional, of course.
Yeah.
So, but could I have actually thought of that conventionally? Probably not because I'm not clever enough, okay?
So, you know, I need a set of tools which makes sense to me geometrically and physically, and I can then think, and you know, other people think about how to extend that.
Okay, and so in your day-to-day research, how are you then applying machine learning?
Because many of your PhD students are working on exactly that.
Okay, so it's almost impossible to avoid machine learning.
Yeah, yeah, you could try, but you can't avoid it.
So I have over to um, a sort of strength.
So some students are applying conventional machine learning techniques, conventional... you know, they change all the time: neural networks, recurrent neural networks, LSTMs to classical data like medical time series data, and III don't know how you can use geometric algebra 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 your metrical 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 missing, then it is almost the only way I know how to do it.
Okay, so that'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.?
Can I learn them?
So we are keen on analyzing both sort of moving images, which we're going to extract lines, planes and also motion.
Mm-hmm.
So motion, can I actually parameterize my problem in terms of my geometric objects and learn them?
Mm-hmm, okay, and so for instance, like, you know, someone doing computer vision with a self-driving car, like, are they applying the same techniques that you're applying to get these lines or what would they use?
I think no, so we have this huge amounts of research.
Yeah, yeah, and who knows what they're doing?
Um, but primarily, it's people are using if it's not like... if it's not lidar, right?
Yeah, no, it's single camera, multiple cameras, lots of data, Bayesian methods for segmentation, following lines is easy. You know, it's not... that's not matching them or trying to reconstruct them; you're just kind of following them.
It's really recognizing if it's a person, if the road, if it's a tree, and you've got multiple sensors.
So, you know exactly where you are; GPS is right, is really accurate these days.
So no, no...
Yeah.
I think I... 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 a camera, you want to map something... 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... yeah, I do think that its real use is just 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, are they try your transpose?
Instead of a translation vector T, they try T transpose; they try and mess around till it works because it’s highly confusing.
Okay, um, you've got no such problem here; it's very straightforward now, okay?
That's not... 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.
No, and there is a student who is here at the moment doing this; that is quite involved field.
But 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 a differential geometry; it's not in anything else; it's totally understandable process.
Right, okay, so 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, right?
Yeah, yeah, I think that's where its strengths planet.
Yeah.
And in new physics, I think... I think, you know, because it unifies lots of different quantum mechanics and relativity, and you know, it hasn't, it's not unifying quantum gravity, but you can see that it is a system whereby you might be able to think of different ways forward.
Right, okay.
So it's actually a better tool in math.
Okay?
People are extremely clever, so they will find ways of doing things that are stunningly clever.
Hmm, boss or complicated.
Right.
And what, where do you see limits right now?
I think I don’t think it’s... it’s not computationally low because we’re building up more and more tools, so I think I can give you a website, and you know, you can try it out, yeah?
And you have to install anything because it’s an online, you know, your notebook.
So you can have a play with it.
So we are, you know, we are a community which is certainly moving forward.
Um, this still doesn’t, don’t want a lot of us, um, so it’s not taught.
It’s not taught, so you know, teach my fourth years image processing, but I don’t teach them geometric algebra.
Okay, and is there an interest there to learn, or they're just like, I don't know?
When you don’t know about it, you can’t really be interested in it.
Okay, so it’s a... and students have no hang-ups; they learn it, and I think great, you know, it’s another tool.
Yeah, yeah, and use it, okay?
Hmm, so it really... it enables you.
I mean, I have a lot of confidence that if you give me a paper on thin shell elasticity, it’s gonna be tough because it’s tensors everywhere, and I’ve got frames and frames and frames and dual frames and things, but I can eventually understand it.
Mm-hmm.
So these different fields; if I was, as a colleague Alan Macrobey, he was using a sort of form of it in structures.
Hmm.
So there are fields; electromagnetism is also... I should have mentioned this... what 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, that... I was... 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, 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?
Um, 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, like I can wedge together two vectors.
Oh yeah, yeah.
I couldn’t conform, or I can form my sphere visualizing, yeah, 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 poly spinners; what does it look like in geometric algebra?
Well, it 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; it’s like, "Oh, this is how you call this function."
It’s not the same at all, right?
Okay, so this is sort of a weird random tangent, but before when we met, you were telling me that a couple years ago someone posted on Hacker News one of your papers.
Yeah.
What was it? What was it about?
How did all this happen?
So it was an invited paper in the millennium edition 2000 of Philosophical Transactions of the Royal Society.
So we wrote a paper which was telling, just saying how geometric algebra was a unifying language and look at all these great things we can do in computer science, engineering, and physics.
Yeah, and this is the way the world works, and this is, you know, you should do it.
So some citation, it sat there until, um, bizarrely it was posted, yeah?
And it was a friend of mine who reads these things texted me and said, "Well, your paper is number one read on this Hacker News."
And I said, "Well, what’s that? Is that good or is that bad?"
I don't know!
So hard to know how it emerged, and hard to know how many... I mean, there were some people who looked at that and now are in our geometric algebra community through, you know, so I took it, interested and came along.
Um, throughout the world now, there are groups, and you know, in the nineteen... nineteen-ninety, there were not many.
Yeah.
There were little groups who were really keen on it, and but now there are groups almost everywhere.
They're not big, sure, but um... interest.
Did you read the comments?
Were they one up there?
I did, yeah. I mean, they ranged from "Wow, this looks really cool" to "This is crazy," you know, and impossible to understand.
We know, I thought, "Well, no, that wasn't the..."
We're not trying to communicate that to, "Gosh, this looks as though it can do everything."
You know, so it... there went... there went very detailed; there’s more people beaming in and saying, do we shorten things?
Although I don't know; with our... that’s the nature of the internet; you have to comment quickly falls off the front page, and then your comments, of course.
Yeah.
In the next five hours, it was probably... yeah, God, right? Exactly.
Down to 100, right?
But, but um... well, what do the folks who are... are there naysayers? Is that a community?
Sorry, are there naysayers of geometric algebra?
Gonna be a thing?
Yeah, say so. I mean, there are people... yeah, there are lots of people who think, "Yeah, looks interesting, but really I can do it anyway."
You know, and I have... I'm... I am the world's expert in, you know, Perroni matrices or whatever.
Yeah.
Why 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.
And so I don’t think there are people who say, "Oh, this is complete rubbish."
There are just people who say, "Oh, yeah, but you know, what’s it gonna get me?"
Okay, 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, you know, depends whether you want to invest the time because you think about multiplying the vectors together and... and things like this, yeah.
It's anti-commutative; it's not a commutative algebra, so me that we use throw away everything you've learned, mm-hm, as a kid and through school and through university.
So it makes perfect sense once you’re into it; there’s a little, you know, there’s a little hump; that’s a learning curve.
Yes, learning if they throw some things away...
Yeah, it’s much easier for younger people to do that.
Sure, that makes sense because I have no real prejudices, right?
Okay?
They say, "Yeah, he’s another thing."
You know, it’s like machine learning—another algorithm.
I’ll program it up now, him, right?
Um, and so, yeah, I didn’t... I think probably there are people who do think, "Well, why should I bother?"
Mm-hmm, but everything they would say, no, it’s a wrong thing to do.
You know, one shouldn’t do that; one should use matrices then.
Okay, so it... and you're, you know, educated opinion—where do you see this really taking hold in the next, I don’t know, like, for thinking about it in the practical sense?
So many people who are listening to IC podcasts are like entrepreneurs or engineers studying. Where do you see the people applying things like this?
Um, so clearly in the fields of fundamental theoretical advances, so, you know, physics or at the aspects of physics that we're not quite sure about, yes?
It’s a bit where I see it will have some effect because it enables you to think and it enables you to think in different ways.
In engineering, I think there are lots of fields, and I don’t know whether there is a killer application where if I could do it, everyone would say, "Whoa, this is the way to go."
Right, I don't know.
Um, as I say, I would like to say is that people had it in their toolbox, yeah?
Because, um, you know, there are lots of very, very clever people around who can cope with very hard and sophisticated physics and maps.
There are a lot of people who are maybe not quite so clever; they need the right tools in order to do these complex things.
And I see it as... actually this provides... sees people with a real, you know, a lot of people have a lot of geometric insight but maybe not the mathematical sophistication.
I think this will 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, yeah?
Our equations in, okay?
Um, so yes... all that answered your cursor?
No, no, that’s a great... that’s actually a great answer, yeah!
I believe that, and I like it a lot too.
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... I’m a runner, mm-hmm.
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... I probably would be doing something which tried to get everybody out and moving.
Isn’t that... that was not what you were expecting?
No, it’s great!
Yeah, yeah, but you know, I look at people, and as I get older, and life could be so much better for them if they kept mobile and they looked after their body; a slight obsession of mine, but anyway, yeah!
Yeah, 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 I... I... people probably be annoyed with me if I don't mention their books, but the...
So the David Hestenes' three books: Space-Time Algebra, probably not the place to start; New Foundations of Classical Mechanics and Geometric Algebra; Clifford Algebra to Geometric Calculus.
Now they... they’re great books.
My husband, Anthony, and Chris Doran have a book, Geometric Algebra for Physicists.
Leo Doran, Steven Mann, and Daniel Fontaine have a book which is Geometric Algebra for Computer Scientists.
Eduardo Baracatto has books which are more focused on robotics.
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, C, for Python.
We've been using now a package by an American guy called Alex Olshansky who wrote a Clifford package, and we've been integrating it into a new... one of my students, Hugo, he met, um, has created a web version.
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... you got to get all these other things, you got to get it all working.
Gotta get it working?
And if you're on Linux, this tends to be not above... your Windows is like impossible.
Yeah, possible.
But your average person would probably say, you know, "Well, no," but we’re working to try and guess a web version so people can actually go on, try it out with some README files and a bit of graphics so you can see it.
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 site?
Or...
It is Hugo, so Hugo and Alex have been working on this, and I can give you the web address.
Okay, we can put it in the blog post.
Yeah, yeah, perfect!
So it'd be good to have people test it out and by email back and say, "This doesn't work."
Yes!
All right, thank you so much for your time.
Okay, it’s been a pleasure!