GluCat: Clifford algebra templates
GluCat is a library of C++ template classes for calculations with the universal Clifford algebras over the real field. The dimension of the algebras you can use is limited only by computer word size. Unlike some software packages for
Clifford algebras, the maximum signature is fixed by default or by user defined template parameter values, and calculations are performed in the appropriate subalgebra.
GluCat classes are meant to be used as numeric classes with other template libraries. To do this, GluCat classes need to look and behave like floating point numeric types such as float and double. The GluCat classes do this by providing a definition for std::numeric_limits<>, most or all the expected operators like +, -, *, /, and functions like sqrt(). In use with other template libraries, you will need to look out for the differences between GluCat classes and floating point numeric types. Two key differences are that Clifford algebras do not have a total ordering, and that multiplication in Clifford algebras is not necessarily commutative. A third difference is that not all non-zero elements of a Clifford algebra have a multiplicative inverse.
PyClical is a Python extension module that is designed to make it easy for you to use Python to perform computations in Clifford algebras, and to implement algorithms and programs that use these computations. The syntax and semantics
of the main index_set and clifford classes in PyClical is designed to be as similar as possible to that of the GluCat template classes index_set<> and matrix_multi, so that you should be able to use PyClical to teach yourself how to use calculations in Clifford algebras, and then transfer that knowledge to your ability to use GluCat template classes in C++.
Type
collection
Title
GluCat: Clifford algebra templates
Collection Type
Software
Access Privileges
National Computational Infrastructure (NCI)
DOI - Digital Object Identifier
10.25911/5fc71f84e5c01
Website Address
https://github.com/penguian/glucat
Metadata Language
English
Data Language
English
Brief Description
GluCat is a library of template classes which model the universal Clifford algebras over the field of real numbers, with arbitrary dimension and arbitrary signature. GluCat implements a model of each Clifford algebra corresponding to each non-degenerate quadratic form up to a maximum number of dimensions.
Full Description
GluCat is a library of C++ template classes for calculations with the universal Clifford algebras over the real field. The dimension of the algebras you can use is limited only by computer word size. Unlike some software packages for
Clifford algebras, the maximum signature is fixed by default or by user defined template parameter values, and calculations are performed in the appropriate subalgebra.
GluCat classes are meant to be used as numeric classes with other template libraries. To do this, GluCat classes need to look and behave like floating point numeric types such as float and double. The GluCat classes do this by providing a definition for std::numeric_limits<>, most or all the expected operators like +, -, *, /, and functions like sqrt(). In use with other template libraries, you will need to look out for the differences between GluCat classes and floating point numeric types. Two key differences are that Clifford algebras do not have a total ordering, and that multiplication in Clifford algebras is not necessarily commutative. A third difference is that not all non-zero elements of a Clifford algebra have a multiplicative inverse.
PyClical is a Python extension module that is designed to make it easy for you to use Python to perform computations in Clifford algebras, and to implement algorithms and programs that use these computations. The syntax and semantics
of the main index_set and clifford classes in PyClical is designed to be as similar as possible to that of the GluCat template classes index_set<> and matrix_multi, so that you should be able to use PyClical to teach yourself how to use calculations in Clifford algebras, and then transfer that knowledge to your ability to use GluCat template classes in C++.
Contact Email
paul.leopardi@anu.edu.au
Contact Address
56 Mills Road, Leonard Huxley Building
The Australian National University
ACT 2600 Australia
Contact Phone Number
0405197804
Principal Investigator
Paul Leopardi
Supervisors
Dr. William McLean, School of Mathematics, UNSW.
Collaborators
Arvind Raja, Joerg Walter, et al. See https://github.com/penguian/glucat/blob/master/AUTHORS
Fields of Research
010101 - Algebra and Number Theory;
010501 - Algebraic Structures in Mathematical Physics;
080205 - Numerical Computation
Socio-Economic Objective
970101 - Expanding Knowledge in the Mathematical Sciences;
970108 - Expanding Knowledge in the Information and Computing Sciences
Keywords
Clifford algebras, numerical linear algebra
Type of Research Activity
Pure basic research
Date of data creation
2002
Year of data publication
2002
Publisher for Citation
GitHub
Access Rights Type
Open
Rights held in and over the data
GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007
https://github.com/penguian/glucat/blob/master/COPYING
https://www.gnu.org/licenses/lgpl-3.0.en.html
Licence Type
GPL - GNU General Public Licence
Licence
GNU LESSER GENERAL PUBLIC LICENSE Version 3, 29 June 2007
Data Location
https://github.com/penguian/glucat
Retention Period
Indefinitely
Data Management Plan
No
Status: Published
Published to:
Published to:
- Australian National University
- Australian National Data Service
Related items
- hasAssociationWith:
Dr. Paul Leopardi [anudc:6087]