Public Types | Public Member Functions | Friends

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

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

#include <multi_polynomial.h>

Inheritance diagram for multi_polynomial< SCA, RAT, n_letters, max_degree >:
algebra< free_monomial_basis< SCA, RAT, n_letters, max_degree > > sparse_vector< free_monomial_basis< SCA, RAT, n_letters, max_degree > > MAP

List of all members.

Public Types

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

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

Friends

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

Detailed Description

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

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

Mathematically, the algebra of multi_polynomial 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 monomial_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 monomial_basis.


Member Function Documentation

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

Ensures that the return type is a multi_polynomial.

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

Ensures that the return type is a multi_polynomial.

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

Ensures that the return type is a multi_polynomial.


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