A specialisation of the algebra class with a shuffle tensor basis. More...
#include <tensor.h>
Public Types | |
typedef shuffle_tensor_basis < SCA, RAT, n_letters, max_degree > | BASIS |
The basis type. | |
typedef BASIS::KEY | KEY |
Import of the KEY type. | |
typedef sparse_vector< BASIS > | VECT |
The sparse_vector type. | |
typedef algebra< BASIS > | ALG |
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 | |
shuffle_tensor (void) | |
Default constructor. | |
shuffle_tensor (const shuffle_tensor &t) | |
Copy constructor. | |
shuffle_tensor (const free_tensor< SCA, RAT, n_letters, max_degree > &t) | |
Constructs an instance from a free_tensor instance. | |
shuffle_tensor (const ALG &a) | |
Constructs an instance from an algebra instance. | |
shuffle_tensor (const VECT &v) | |
Constructs an instance from a sparse_vector instance. | |
shuffle_tensor (LET letter, const SCA &s) | |
Constructs a unidimensional instance from a letter and a scalar. | |
shuffle_tensor (const KEY &k) | |
Constructs a unidimensional instance from a key (basis element). | |
shuffle_tensor (const SCA &s) | |
Constructs a unidimensional instance from a scalar. | |
__DECLARE_BINARY_OPERATOR (shuffle_tensor,*,*=, SCA) inline __DECLARE_BINARY_OPERATOR(shuffle_tensor | |
RAT | __DECLARE_BINARY_OPERATOR (shuffle_tensor,*,*=, shuffle_tensor) inline __DECLARE_BINARY_OPERATOR(shuffle_tensor |
RAT shuffle_tensor | __DECLARE_BINARY_OPERATOR (shuffle_tensor,-,-=, shuffle_tensor) inline __DECLARE_UNARY_OPERATOR(shuffle_tensor |
A specialisation of the algebra class with a shuffle tensor basis.
Mathematically, the algebra of shuffle_tensor instances is a shuffle associative algebra associated to a free 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 shuffle_tensor_basis. Notice that this associative algebra of free tensors includes as a sub-algebra the associative algebra corresponding to the SCALAR type. This is permitted by the existence of empty keys in shuffle_tensor_basis.
shuffle_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR | ( | shuffle_tensor< SCA, RAT, n_letters, max_degree > | , | |
* | , | |||
* | , | |||
SCA | ||||
) | [inline] |
Ensures that the return type is a shuffle_tensor.
RAT shuffle_tensor shuffle_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR | ( | shuffle_tensor< SCA, RAT, n_letters, max_degree > | , | |
- | , | |||
- | , | |||
shuffle_tensor< SCA, RAT, n_letters, max_degree > | ||||
) | [inline] |
Ensures that the return type is a shuffle_tensor.
RAT shuffle_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR | ( | shuffle_tensor< SCA, RAT, n_letters, max_degree > | , | |
* | , | |||
* | , | |||
shuffle_tensor< SCA, RAT, n_letters, max_degree > | ||||
) | [inline] |
Ensures that the return type is a shuffle_tensor.