Public Types | Public Member Functions | Friends

free_tensor< SCA, RAT, n_letters, max_degree > Class Template Reference

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

#include <tensor.h>

Inheritance diagram for free_tensor< SCA, RAT, n_letters, max_degree >:
algebra< free_tensor_basis< SCA, RAT, n_letters, max_degree > > sparse_vector< free_tensor_basis< SCA, RAT, n_letters, max_degree > > MAP

List of all members.

Public Types

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

 free_tensor (void)
 Default constructor.
 free_tensor (const free_tensor &t)
 Copy constructor.
 free_tensor (const shuffle_tensor< SCA, RAT, n_letters, max_degree > &t)
 Constructs an instance from a shuffle_tensor instance.
 free_tensor (const ALG &a)
 Constructs an instance from an algebra instance.
 free_tensor (const VECT &v)
 Constructs an instance from a sparse_vector instance.
 free_tensor (LET letter, const SCA &s)
 Constructs a unidimensional instance from a letter and a scalar.
 free_tensor (const KEY &k)
 Explicit unidimensional constructor from a given key (basis element).
 free_tensor (const SCA &s)
 Explicit unidimensional constructor from a given scalar.
 __DECLARE_BINARY_OPERATOR (free_tensor,*,*=, SCA) inline __DECLARE_BINARY_OPERATOR(free_tensor
RAT __DECLARE_BINARY_OPERATOR (free_tensor,*,*=, free_tensor) inline __DECLARE_BINARY_OPERATOR(free_tensor
RAT free_tensor __DECLARE_BINARY_OPERATOR (free_tensor,-,-=, free_tensor) inline __DECLARE_UNARY_OPERATOR(free_tensor

Friends

RAT free_tensor ALG friend
free_tensor 
exp (const free_tensor &arg)
 Computes the truncated exponential of a free_tensor instance.
free_tensor log (const free_tensor &arg)
 Computes the truncated logarithm of a free_tensor instance.

Detailed Description

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
class free_tensor< SCA, RAT, n_letters, max_degree >

A specialisation of the algebra class with a free tensor basis.

Mathematically, the algebra of free_tensor instances is 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 free_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 free_tensor_basis.


Member Function Documentation

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
free_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR ( free_tensor< SCA, RAT, n_letters, max_degree >  ,
,
,
SCA   
) [inline]

Ensures that the return type is a free_tensor.

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
RAT free_tensor free_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR ( free_tensor< SCA, RAT, n_letters, max_degree >  ,
,
,
free_tensor< SCA, RAT, n_letters, max_degree >   
) [inline]

Ensures that the return type is a free_tensor.

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
RAT free_tensor< SCA, RAT, n_letters, max_degree >::__DECLARE_BINARY_OPERATOR ( free_tensor< SCA, RAT, n_letters, max_degree >  ,
,
,
free_tensor< SCA, RAT, n_letters, max_degree >   
) [inline]

Ensures that the return type is a free_tensor.


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