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.
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.
Release Notes: Bug 2847758: "operator!=(lhs,scr) sometimes wrongly returns true" has been fixed. In operator!= (const Multivector<Scalar_T,LO,HI>& lhs, const Scalar_T& scr)., with GluCat 0.4.1 and earlier, when lhs is of type matrix_multi_t, it is possible that lhs.frame().count() !=0 and yet the matrix is scr times the identity matrix. In this case, operator!=() returns false when it should return true. This bug has been fixed, and new tests have been added to test14 to check that both operator==() and operator!=() return correct results.
Release Notes: Glucat has improved transcendental functions and better support for scalars. Extensive changes have been made to the implementation of transcendental functions, primarily to improve accuracy. The Pade' approximations now use degree 13. A number of changes have been made to provide better support for more diverse scalars, primarily to allow new versions of GluCat to support the QD package.
Release Notes: Some errors in transcendental functions have been fixed. The functions exp, log, sqrt, and the transcendental functions are more accurate. GluCat can now use framed_multi based on tr1::unordered_map. The new symbol _GLUCAT_USE_TR1_UNORDERED_MAP controls the use of the header file tr1/unordered_map. The function sign_of_mult(), many of the index_set operations, and the Clifford algebra multiplication operations ^, %, and & have new algorithms. The function index_range() has been removed.