Public Types | Public Member Functions | Friends

lie< SCA, RAT, n_letters, max_degree > Class Template Reference

A specialisation of the algebra class with a Lie basis. More...

#include <lie.h>

Inheritance diagram for lie< SCA, RAT, n_letters, max_degree >:
algebra< lie_basis< SCA, RAT, n_letters, max_degree > > sparse_vector< lie_basis< SCA, RAT, n_letters, max_degree > > MAP

List of all members.

Public Types

typedef lie_basis< SCA, RAT,
n_letters, max_degree > 
BASIS
 The basis type.
typedef BASIS::KEY KEY
 Import of the KEY type.
typedef sparse_vector< BASISVECT
 The sparse_vector type.
typedef algebra< BASISALG
 The algebra type.
typedef ALG::iterator iterator
 Import of the iterator type.
typedef ALG::const_iterator const_iterator
 Import of the constant iterator type.

Public Member Functions

 lie (void)
 Default constructor. Zero lie element.
 lie (const lie &l)
 Copy constructor.
 lie (const ALG &a)
 Constructs an instance from an algebra instance.
 lie (const VECT &v)
 Constructs an instance from a sparse_vector instance.
 lie (const KEY &k)
 Constructs a unidimensional instance from a given key (with scalar one).
 lie (LET letter, const SCA &s)
 Constructs a unidimensional instance from a letter and a scalar.

Friends

lie replace (const lie &src, const std::vector< LET > &s, const std::vector< lie * > &v)
 Replaces the occurrences of letters in s by Lie elements in v.

Detailed Description

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
class lie< SCA, RAT, n_letters, max_degree >

A specialisation of the algebra class with a Lie basis.

Mathematically, the algebra of Lie instances is a free Lie associative algebra. With respect to the inherited algebra class, the essential distinguishing feature of this class is the basis class used, and in particular the basis::prod() member function. Thus, the most important information is in the definition of lie_basis. Notice that this associative algebra of lie elements does not includes as a sub-algebra the associative algebra corresponding to the SCALAR type. In other words, only the scalar zero corresponds to a Lie element (the zero one) which is the neutral element of the addition operation. There is no neutral element for the product (free Lie product).


The documentation for this class was generated from the following file: