Public Types | Public Member Functions | Friends

alg::free_monomial_basis< SCA, RAT, n_letters, max_degree > Class Template Reference

The monoid of words of a finite number of letters with concat product. More...

#include <libalgebra.h>

Inheritance diagram for alg::free_monomial_basis< SCA, RAT, n_letters, max_degree >:
alg::monomial_basis< SCA, n_letters, max_degree >

List of all members.

Public Types

typedef monomial_basis< SCA,
n_letters, max_degree > 
PBASIS
 The monomial_basis type.
typedef PBASIS::KEY KEY
 Import of the KEY type.
typedef PBASIS::MAP MAP
 Import of the MAP type.
typedef RAT RATIONAL
 The rationals.
typedef multi_polynomial< SCA,
RAT, n_letters, max_degree > 
MULTIPOLY
 The multi_polynomial element type.

Public Member Functions

 free_monomial_basis (void)
 Default constructor.
MULTIPOLY prod (const KEY &k1, const KEY &k2) const
 The concatenation product of two basis elements.

Friends

std::ostream & operator<< (std::ostream &os, const std::pair< free_monomial_basis *, KEY > &t)
 Outputs an std::pair<free_monomial_basis*, KEY> to an std::ostream.

Detailed Description

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
class alg::free_monomial_basis< SCA, RAT, n_letters, max_degree >

The monoid of words of a finite number of letters with concat product.

This is the basis used to implement the multi_polynomial class as a specialisation of the algebra class. This basis is the Free Associative Algebra basis with a finite number of letters, with the usual concatenation product. The monomial_basis is a container of keys. A key is the implementation of a word of letters. The prod() member function corresponds to the concatenation of the two keys given as arguments. This product is associative but not commutative. Letters can be seen as particular basis keys, i.e. words of length one. The empty word is a special key used for the imbedding of letters (words of length one).


Member Function Documentation

template<typename SCA , typename RAT , DEG n_letters, DEG max_degree>
MULTIPOLY alg::free_monomial_basis< SCA, RAT, n_letters, max_degree >::prod ( const KEY k1,
const KEY k2 
) const [inline]

The concatenation product of two basis elements.

Returns the multi_polynomial obtained by the concatenation product of two keys viewed as words of letters. The result is a unidimensional multi_polynomial with a unique key (the concatenation of k1 and k2) associated to the +1 scalar. The already computed products are not stored or remembered.


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