Classes | Public Types | Public Member Functions | Static Public Member Functions | Friends

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

A basis for the polynomial Lie algebra, poly_lie. More...

#include <libalgebra.h>

Inheritance diagram for alg::poly_lie_basis< SCA, RAT, n_letters, max_degree >:
alg::basis_traits< With_Degree, n_letters, max_degree >

List of all members.

Classes

struct  KEY_LESS
 The order in the MAP class reflects the degree. More...

Public Types

typedef poly_basis< SCA, RAT > POLYBASIS
 The basis elements of poly_basis.
typedef POLYBASIS::KEY POLYBASIS_KEY
 The key of poly_basis (ie a monomial).
typedef std::pair< LET,
POLYBASIS_KEY
KEY
 A key is a pair of letter and monomial (ie a monomial in direction letter).
typedef poly< SCA, RAT > POLY
 Polynomial algebra.
typedef RAT RATIONAL
 The rationals.
typedef std::map< KEY, SCA,
KEY_LESS
MAP
 The MAP type.
typedef poly_lie< SCA, RAT,
n_letters, max_degree > 
POLY_LIE
 The Multivariate Polynomials Algebra element type.

Public Member Functions

 poly_lie_basis (void)
 Default constructor. Empty basis.

Static Public Member Functions

static POLY_LIE prod (const KEY &k1, const KEY &k2)
 Returns the Lie bracket of two monomial vector fields.
static POLY_LIE prod2 (const POLY &poly1, const KEY &liemon1)
 Multiplication of a polynomial poly1 by a monomial vector field liemon1.
static KEY keyofletter (LET letter)
 Turns a d/dx_i into a polynomial vector field by multiplying the empty monomial by d/dx_i.
static DEG degree (const KEY &k)
 Returns the degree of the monomial in the pair (Let, monomial).

Friends

std::ostream & operator<< (std::ostream &os, const std::pair< poly_lie_basis *, KEY > &t)
 Outputs a std::pair<poly_basis*, KEY> to an std::ostream.

Detailed Description

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

A basis for the polynomial Lie algebra, poly_lie.

A basis for the polynomial lie algebra. The basis elements are vector fields of the of the form std::pair(direction, monomial). The product is the Lie bracket of two vector fields.


Member Function Documentation

template<typename SCA, typename RAT, DEG n_letters, DEG max_degree>
static POLY_LIE alg::poly_lie_basis< SCA, RAT, n_letters, max_degree >::prod ( const KEY k1,
const KEY k2 
) [inline, static]

Returns the Lie bracket of two monomial vector fields.

Returns the Vector field corresponding to the Lie bracket of two vector fields. If we have have monomials m1 and m2 and Letters i and j then the product of m1*d/dxi with m2*d/dxj is equal to m1*(d/dxi m2)*d/dxj - m2*(d/dxj m1)*d/dxi


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