Open paketecuento opened 6 years ago
Currently versor can only handle up to 9 dimensional algebras over a field. However -- and this is speculative -- since the field over which the algebra is defined need not be scalar numbers, one might in theory use another algebra (e.g. CL(8)) as the field, in order to build up some higher dimensions that way , which might get you somewhere (or just confuse the situation). Again, completely untested but just a thought.
using ega = vsr::algebra<vsr::metric<3>, double>; // <-- Cl(3) defined over reals
using ga8x4 = vsr::algebra< vsr::metric<8>, ega::types::rotor> //<-- Cl(4) defined over quaternions
@paketecuento You may want to look at my implementation of geometric algebra using the Scopes programming language. It currently supports up to 16 dimensional algebras with sparse representation at compile time, and when using u32 instead of u16, it would even support more dimensions, but I used u16, because I didn't think, someone would need CL(25,0) ;) It also only supports a default metric with squares to one yet.
@porky11 interesting... will give a try.
@paketecuento Hey, I also have an implementation of geometric algebra in C++, which support arbitrary dimensions : https://github.com/godefv/math/ . You can check out this example.
Can versor handle high dimensional algebras like CL(25,0) with sparse multivector representation??
I know it's a hard problem that galoop or gaige2 did not solve because of the representation of multivectors.
thank you