The libalgebra namespace. A set of template classes for Algebras. More...
Classes | |
class | sparse_vector |
A class to store and manipulate sparse vectors. More... | |
class | algebra |
A class to store and manipulate associative algebras elements. More... | |
struct | ConstLog2 |
A template for constructing integer constants. More... | |
struct | ConstLog2< 1 > |
struct | ConstLog2< 0 > |
struct | TestConstLog2 |
Test of ConstLog2 template. More... | |
struct | TestConstLog2< 1 > |
class | _tensor_basis |
Base class for tensor_basis. More... | |
struct | ConstPower |
A template for constructing integer constants. More... | |
struct | ConstPower< arg, 0 > |
struct | TestConstPower |
Test of ConstPower Template. More... | |
struct | TestConstPower< arg, 0 > |
struct | TestConstPower< 1, exp > |
struct | TestConstPower< 1, 0 > |
struct | basis_traits |
The basis' properties. More... | |
class | tensor_basis |
Implements an interface for the set of words of a finite number of letters. More... | |
class | free_tensor_basis |
The monoid of words of a finite number of letters with concat product. More... | |
class | shuffle_tensor_basis |
The monoid of words of a finite number of letters with shuffle product. More... | |
class | free_tensor |
A specialisation of the algebra class with a free tensor basis. More... | |
class | shuffle_tensor |
A specialisation of the algebra class with a shuffle tensor basis. More... | |
class | hall_basis |
The Hall Basis class. More... | |
class | lie_basis |
The Lie basis class. More... | |
class | lie |
A specialisation of the algebra class with a Lie basis. More... | |
class | maps |
Provides maps between lie<> and free_tensor<> instances. More... | |
class | cbh |
Provides Campbell-Baker-Hausdorff formulas. More... | |
class | poly_basis |
A polynomial basis class. More... | |
class | poly |
A specialisation of the algebra class with a commutative monomial product. More... | |
class | monomial_basis |
Implements an interface for the set of words of a finite number of letters. More... | |
class | free_monomial_basis |
The monoid of words of a finite number of letters with concat product. More... | |
class | multi_polynomial |
A specialisation of the algebra class with a free tensor basis. More... | |
class | poly_lie_basis |
A basis for the polynomial Lie algebra, poly_lie. More... | |
class | poly_lie |
The Lie algebra for the commutative polynomials. More... | |
Typedefs | |
typedef unsigned | DEG |
Used to store degrees. A value of 0 means no degree truncation. | |
typedef unsigned | LET |
Used to number letters. The value 0 is special. | |
Enumerations | |
enum | basis_product_trait { Without_Degree, With_Degree, No_Product, Without_Degree, With_Degree, No_Product } |
Basis traits. More... | |
enum | basis_product_trait { Without_Degree, With_Degree, No_Product, Without_Degree, With_Degree, No_Product } |
Basis traits. More... |
The libalgebra namespace. A set of template classes for Algebras.
The SCA typename corresponds to a commutative ring with unit containing the rationals. Needed operators are * + - and explicit ctor from int type.
The RAT typename corresponds to rationals built from SCA. Needed operators are + - * / and explicit ctor from SCA type and int type.
Basis traits.
Without_degree: an algebra with a product but no meaningful degree function defined on basis KEYs. With_Degree: an algebra with degree(KEY) defined and with the property that degree(KEY1) + degree(KEY2) > max_degree => prod(KEY1,KEY2)=0. No_Product: no product structure.
Basis traits.
Without_degree: an algebra with a product but no meaningful degree function defined on basis KEYs. With_Degree: an algebra with degree(KEY) defined and with the property that degree(KEY1) + degree(KEY2) > max_degree => prod(KEY1,KEY2)=0. No_Product: no product structure.