Teaching Geometric Algebra
Interviewee: Stephen Mann, Waterloo University’s Cheriton School of Computer Science.
My first question is actually: are there any theoretical problems in computer graphics that become clearer when rephrasing them in Geometric Algebra (GA)?
I have not found any, and I am not really looking in that direction. I cannot think of any example offhand either. Maybe the closest to such could lie in the triangular Bézier patches. There where you compute the normal on the surface, that works like magic in Geometric Algebra, because by taking the join product of three points it instantly returns this normal. That is very nice!
Since you are working mostly on theoretical topics, I was also thinking about GA being used in real systems like graphics engines or robotics pipelines. Do you think we could replace these traditional designs with more of GA routines?
There are debates on how efficient Geometric Algebras are. Regardless of those debates, if there are places where speed is not an issue, then I could certainly see using Geometric Algebra, because then you would score improved correctness. But once speed becomes an issue, then matrices just win.
And why does Geometric Algebra lose in comparison to those matrices when it comes to speed?
Well, a large part of they have spent the last fifty years is in optimising matrix operations. They have been repeatedly minimising the number of computations. The coefficients that you have and computations you do on them in Geometric Algebra make it very hard to try to beat the Linear Algebra on performance. I have done things with matrices before where you could say: “Well, look at this, we have this interesting way to do it, because it requires fewer computations.” And then you compare your speed to LINPACK, and at best you match it, because they have already thought of it and put it in since the seventies! So, you see the thing with matrices – these matrix packages are so optimised that it would even be very surprising to find a technique that is not already in there.

And would you then perhaps consider a hybrid approach; would you say that inserting some Geometric Algebra could fix a part of the impurities of the matrices?
Indeed, there could lie some potential. But I do not think the compilers for taking Geometric Algebra languages into matrix notation are yet there. Still, you could imagine such an approach happening. But not for this year and to be honest I cannot estimate how long this could take, because it simply takes people pushing forward to undertake such an endeavour.
You are also co-author of the reference book ‘Geometric Algebra for Computer Science’. Was there a certain gap you wanted to fill by writing that book?
There was a gap. Because the books that existed were for mathematicians and they went deep into formal proofs, while we (all co-authors) were more interested in how to use Geometric Algebras to compute various things. So, we approached it very proof light. We found criticism on Amazon saying: “Well, they do not have proofs in their book.” Which we took as praise. We were not even trying to write a book with all the proofs, because there are twenty other books out there going for that. We wanted one that show you how to do things, so you can use these recipes in your applications, rather than being able to derive a proof of correctness.

You co-authored the book ‘Geometric Algebra for Computer Science’ for seeing it really put in use in applications?
Indeed, our target audience are computer scientists and graphics engineers, not per se mathematicians.
Which areas do you see at this moment that could be changed by GA? Should computer science departments implement more GA? Should we be showing users how they would benefit from GA when taking it up?
I am afraid I am more indirect on this matter. There appear to be situations in which the machine learning by rewriting things in certain Geometric Algebras requires far less samples to train on. Coming up with examples like that, showing that the structure of the Geometric Algebras matches well with machine learning designs, certainly would motivate many people in machine learning to learn Geometric Algebra.
Would you think if people get pushed more to learn GA, that for instance the hybrid approach we have been talking about earlier could occur more likely?
I think that certainly with machine learning – where the designs match certain Geometric Algebras – the hybrid approach is not even needed. There it is just the structure of the way the vectors work which matches naturally with some of the problems they are looking into. And then you are done, just through such a perfect fit. Even no need at all to go hybrid!
Thank you very much for all your shared thoughts and insights!
Interview conducted by Bas Feitsma