Public Types | Public Member Functions

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

A specialisation of the algebra class with a shuffle tensor basis. More...

#include <libalgebra.h>

Inheritance diagram for alg::shuffle_tensor< SCA, RAT, n_letters, max_degree >:
alg::algebra< shuffle_tensor_basis< SCA, RAT, n_letters, max_degree > > alg::sparse_vector< shuffle_tensor_basis< SCA, RAT, n_letters, max_degree > > MAP

List of all members.

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< 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

 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

Detailed Description

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

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.


Member Function Documentation

template<typename SCA , typename RAT , DEG n_letters, DEG max_degree>
alg::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.

template<typename SCA , typename RAT , DEG n_letters, DEG max_degree>
RAT shuffle_tensor alg::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.

template<typename SCA , typename RAT , DEG n_letters, DEG max_degree>
RAT alg::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.


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