Rotor Splines and Moving Frames
Interviewee: Steven De Keninck, University of Amsterdam
Many publications in Geometric Algebra (GA) are done by mathematicians and physicists. You come from a computer science background. How does it shape your vision of the field?
It simply means I am more of an applied person, and applications are what the industry currently lacks, in my opinion. Moreover, as a graphics programmer, I do understand certain aspects that other researchers might miss. For instance, there is no compromise to performance when it comes to real-time rendering. If a GA solution to a problem in this field does not provide at least on-par performance with the other solutions, then it is not worth trying to implement it.
What is usually the largest obstacle you have to overcome when providing a solution to some problem using GA?
In many cases, the largest obstacle is that it is not possible to use search engines or large language models to find a good solution. For instance, tangent-based normal mapping is easy to look up, but it is not an option for most GA problems.
So, there is a scarcity of learning resources in this field. What do you do in case you need to look up a certain topic?
Once one is into it, they are looking for ways to learn certain concepts. I do not think there are many shortcuts in this. Collaboration helps: I try to talk to many people and do a weekly maths night, for example. I’ve been doing it for 20 years now, and it is extremely productive, because it allows me to exchange ideas and generally learn from other people. GA is not a spectator sport; one must do it. And, surely, have fun doing it.
And it indeed seems that you have a lot of fun working on GA projects. What is your favourite one?
I think it’s the last thing I was working on, of course. But except for that, I like making certain formulas dimension-agnostic. Then, I indeed feel that my formulas are capturing something beyond just the description of a phenomenon, and I try to capture the physics of it instead. For instance, the work I showed during today’s talk involved circular splines. It is not the usual way of doing it, yet it is so simple and trivial, and it works in any number of dimensions. Those are the things that are very satisfactory, because they are very unexpected, even though I am working towards them.
When you have a specific problem to solve, for example, finding a solution for smooth camera movement of today, how do you decide what flavour of GA to use?
I don’t. That’s the thing, I don’t. I do the geometry of the problem, and then I see how I can write this in Projective Geometric Algebra (PGA), Conformal Geometric Algebra (CGA), or even conventional algebra if I ever come across a problem where that’s the shortest solution. As I’ve shown today, PGA and CGA are both so close to the geometry of circular splines. So, then it really does not matter which one we pick. And all these algebras are good at expressing the geometry of things. If I have a problem with 1000 lines and 1 circle, then I’ll probably be better off with PGA, but if there are 1000 circles, then I’ll most likely end up in CGA.
I know that it’s a different mindset and people are used to starting the other way around, but I really want to advocate for letting the geometry decide where the solution should go.
You mentioned that the path of grasping some concept or providing a solution to a problem is rarely linear and can incorporate multiple different approaches. Meanwhile, most educational institutions rely on providing students with a predefined learning path. What is the best way, in your opinion, for teachers to provide informational materials in Geometric Algebra?
I think a part of the message, when one is a teacher, is bringing the desire to learn, the feeling of enthusiasm. The learning paths are indeed not linear, and they are different for different people. The best thing one can do is to show passion for the topic they are explaining. Then, for some people, it is going to be spot-on, and it will get them engaged. For other people, they should at least understand that they need to find that passion of their own. And this passion can be sparked by a completely different aspect of the covered topic. But as a teacher, one must bring the energy to the class.
In what areas do you think GA approaches should be developed further?
As I see, it has been getting better for the past few years. I sometimes get an argument from people that there are no spectacular new results right now from GA. It’s obvious why that’s the case since there is such a large manpower imbalance, so, of course, there is no competition there. And yes, with GA we get the same results as with other methods, but we get there in a way that is much easier to understand. In the past, that was the argument no one would listen to, because the researchers who could be interested, they already understood the difficult methods. So, they had no reason to re-learn what they already know. But with the rise of machine learning, the questions suddenly become about the training cost and time. Now, it is suddenly important if one can find a way to find a cheaper and easier way to get to the same result. And if GA makes understanding geometric problems so much easier for humans, then maybe it also makes it easier for machines. In the past 3 to 4 years, a few papers have been published. I am involved in one of those. We have indeed tried investigating that, and the initial results are already promising.
I would like to return to a topic we discussed at the beginning of our conversation, which is your projects. Were there any hardware limitations that you encountered while developing them?
No, they all boil down to the classic optimisation of the expression problem. I have a tool that I am working on, an expression compiler library called GAmphetamine, which is there to try to get to that level of hand-optimised code that we as graphics programmers are used to. For example, if I apply a normalised dual quaternion to a homogeneous point, then I know from my graphics programming experience that the optimal way to do it will involve 21 multiplications and 18 additions. It’s not that obvious to simplify the expressions to that count of operators. This is why a translation layer from a high-level expression to optimal low-level code is necessary. And we are getting to the performance that we should have for these applications.
How rapidly do you expect the popularity of GA to increase in the future?
I believe that the growth is exponential. Right now, it is the third edition of the GAME conference. Which means that, mathematically speaking, when this one is over, I will be able to tell if it is exponential or not and give an estimate.
We will leave the conversation on this cliffhanger. Thank you for joining the interview!
Human interest interview conducted by Maxime Arnolis
Technical interview conducted by Aleksandrs Stukalovs