Public Types | Public Member Functions | Static Public Member Functions | Friends

alg::free_tensor_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_tensor_basis< SCA, RAT, n_letters, max_degree >:
alg::tensor_basis< SCA, n_letters, max_degree > alg::basis_traits< With_Degree, n_letters, max_degree >

List of all members.

Public Types

typedef tensor_basis< SCA,
n_letters, max_degree > 
TBASIS
 The tensor_basis type.
typedef RAT RATIONAL
 The rationals.
typedef free_tensor< SCA, RAT,
n_letters, max_degree > 
TENSOR
 The Free Associative Algebra element type.

Public Member Functions

 free_tensor_basis (void)
 Default constructor.

Static Public Member Functions

static TENSOR prod (const KEY &k1, const KEY &k2)
 The concatenation product of two basis elements.

Friends

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

Detailed Description

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
class alg::free_tensor_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 free_tensor 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 free_tensor_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>
static TENSOR alg::free_tensor_basis< SCA, RAT, n_letters, max_degree >::prod ( const KEY k1,
const KEY k2 
) [inline, static]

The concatenation product of two basis elements.

Returns the free_tensor obtained by the concatenation product of two keys viewed as words of letters. The result is a unidimensional free_tensor 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: