Hi,

I want to generate a java library for CGA based on matrix calculations. I found gaigen 2.0 as an outdated java project but I can not find the source code anymore. Is this somewhere available? With version 2.5 it seems to be a reimplementation.

Are there any newer code generators which are able to generate matrix based implementations for CGA?

My interest is to plug into a codegenerator to generate code which allows to calculate Jacobi-Matrices for multivectors. For this I want integrate a sparse matrix library based on dual numbers.

I had a look into gaalop but this seems to generate only additive-non-matrix-based implementations. I am a java developer so I would prefer code generators based on java.

best regards

Oliver

Hello Oliver,

You might be interested in my 2009 paper https://www.researchgate.net/publication/254915544_Conformal_geometric_algebra_by_extended_Vahlen_matrices which gives the background for matrix implementation of CGA.

I figured it all out but ended up never really using it myself…

Cheers,

Leo Dorst

Hello Leo,

very thanks for the hint to your paper. I have carefully read it and I think it contains all what is needed for an implementation. That is really great. I have started to implement it! I have also just found the book “Rigid body dynamics algorithms” from Roy Fatherstone (Springer 2008). In this book the so called “Spatial Vector Algebra” is presented and used to implement standard robotics algorithms. The spatial vector algebra is based on 6dim vectors, 6x6dim Matrices and its own operators. I havnt found any comparison of this algebra with your extended Vahlen based matrix implementation of CGA but it looks for me very interesting. There exists ready to use robotics algorithms implemented in this spatial vector algebra which can be used as a baseline for comparision with your extended Vahlen based CGA implementation. So I have planed to spend some time in the comparison. It looks a bit difficult for me to bring the different concepts together but my feeling is that there must be some common parts. Is there any literature about these topics available?

best regards

Oliver

Yes, but the closer connection is with PGA, a subalgebra of CGA. On bivector.net there is a tutorial pgadyn.pdf specifically about its use for Newtonian Mechanics, also discussing its relationship to spatial vectors (and actually using Featherstone for constraints).

1 Like

Very thanks for the helpful hints. We have made a lot o progress with a very matrix based CGA implementation with support of Jaccobi and Hesse-Matrix determination based on automatic differenciation and maybe we will switch to PGA. CGA ist usefull for us in robotics to calculate inverse dynamics so it looks straightforward to use CGA also for dynamics but maybe we have to learn to use both in our algorithms to benefit from the advantages of both.