Y Combinator Startup Podcast - #94 - Joan Lasenby
Episode Date: September 17, 2018Joan 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)
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.
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.
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.
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.
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.
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.
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.
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,
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.
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
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,
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.
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.
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,
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.
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...
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?
Now.
Why is it important?
So, in effect,
um,
um,
space time physics,
um,
quantum physics,
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,
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.
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.
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.
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.
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.
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,
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,
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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?
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,
and invert,
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,
that goes passes through.
You give me four points.
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, from 1999, lots of people, well, a third number of people.
Relative. Yeah.
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.
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,
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.
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.
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
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.
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?
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,
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,
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.
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?
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.
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
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.
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,
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.
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,
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.
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.
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.
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.
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.
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.
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.
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.
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.
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,
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?
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.
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?
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,
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,
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?
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
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
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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,
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.
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.
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.
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.
