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 fixes a bug which prevented compilation when the class glucat::framed_multi<> was based on std::map.


Release Notes: The PyClical Python extension module now comes with a set of tutorials that guide you through working with Clifford algebra calculations in Python. The GluCat library now supports C++11 and has transcendental functions that are more accurate when used with higher precision arithmetic. The GluCat header files have been reorganized. The default options for ./configure now yield the simplest usable production case. The README and INSTALL files have been completely rewritten.


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.