GluCat is a library of template classes that model the universal Clifford algebras over the field of real numbers, with arbitrary dimension and arbitrary signature. It implements a model of each Clifford algebra corresponding to each non-degenerate quadratic form up to a maximum set by the user. GluCat classes are designed to be used as template parameters for other template libraries. GluCat includes the PyClical extension module for Python. This implements the Python classes index_set and clifford, which interface to corresponding C++ classes in GluCat.
| Tags | Scientific/Engineering Mathematics Software Development Libraries |
|---|---|
| Licenses | LGPL |
| Operating Systems | OS Independent |
| Implementation | C++ Cython Python 2.7 and above |
Recent releases


Release Notes: This release includes the PyClical extension module for Python. The PyClical extension module is based on the prototype from GluCat 0.5.0, but includes a much more comprehensive interface to the GluCat classes index_set<> and matrix_multi<>, as Python classes index_set and clifford. The functions and member functions defined in PyClical include doctests. There are also some changes to the clifford_algebra<> API.


Release Notes: This release fixed an issue where the sqrt and log functions, and functions based on them, such as acos, acosh, etc. may give incorrect results because the algorithms used failed if x is represented as a matrix having a negative real eigenvalue. The issue was fixed with the aid of external libraries which contain eigenvalue functions.


Release Notes: GluCat now includes PyCliCal: a prototype Python interface to GluCat, implemented via Cython. The framed_multi<> and matrix_multi<> classes now also have a new static member function, random(frm), which returns a random multivector within the given frame frm. Note that the sqrt and log functions, and functions based on them, such as acos, acosh, etc. may give incorrect results. This will be fixed in the next release.


Release Notes: This release supports the high precision floating point classes qd_real and dd_real from the QD library. The test directories test00 and test11 have been updated to test support for dd_real and qd_real.


Release Notes: The operator != (const Scalar_T& scr, const multivector<Scalar_T,LO,HI>& rhs) was fixed and some more tests were added to test14 to check this case.