Classes | Typedefs | Enumerations

alg Namespace Reference

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...

Detailed Description

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.


Enumeration Type Documentation

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.