The monoid of words of a finite number of letters with concat product. More...
#include <tensor_basis.h>
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. |
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).
static TENSOR 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.