Software

Garamon

stands for Geometric Algebra Recursive Monster. It is a C++ library generator synthesizing efficient C++ libraries implementing geometric algebras in both low and higher dimensions, with any arbitrary metric. The library generator is designed to produce easy to install, easy to use, effective and numerically stable libraries. The design of the libraries is based on a prefix tree data structure and a recursive scheme for high dimensions. You can find some of the tested algebras with references just below.

Easy to use

Very intuitive way to compute and test Geometric Algebra. Here is an example of computation in the Conformal Geometric Algebra framework reproducing the computation of the horizon as seen by an observer in a view point P:

Mvec<double> P  = point<double>(px,py,pz); // view point
Mvec<double> M  = e0<double>(); // center point of the earth
Mvec<double> Sphere = M0.5*r*r* einf<double>();// sphere representing Earth (center M, radius r)
Mvec<double> K = P + (P | Sphere)*einf<double>();// sphere around P
Mvec<double> circle = Sphere ^ K;// intersecting circle

Tested algebras with references

All the the following algebras have their own plugin and code that you can use.

Initials CCGA QCGA DCGA DPGA CGA STA PGA
handle (short overview ) cubic curves quadric surfaces intersection and from control points quadric surfaces with implicit equation quadric surfaces and projective transformation flats and rounds Space-time Algebra Projective geometry

Want to test

git clone https://github.com/vincentnozick/garamon.git

Want to know the details of the implementation

If you want to know more about how we can use trees with Geometric Algebra or just the details of the implementation, please take a look at this paper.