#include <multi_laurent_polynomial.h>
A template class for general multivariate Laurent polynomials, i.e., expressions of the form a(z)={k Z^d} a_k z^k The a_k are elements of a (number) ring R, z is from R^d.
Examples: R= R or C
typedef InfiniteVector<R, MultiIndex<int, DIMENSION> >::const_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::const_iterator |
const_iterator scanning the nontrivial coefficients
typedef InfiniteVector<R, MultiIndex<int, DIMENSION> >::const_reverse_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::const_reverse_iterator |
const_reverse_iterator scanning the nontrivial coefficients
MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::MultivariateLaurentPolynomial | ( | ) |
default constructor, yields zero (Laurent) polynomial
MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::MultivariateLaurentPolynomial | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) |
copy constructor
MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::MultivariateLaurentPolynomial | ( | const R | c | ) | [explicit] |
constructor from a constant
MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::MultivariateLaurentPolynomial | ( | const LaurentPolynomial< R > & | p, |
const unsigned int | n = 0 |
||
) |
constructor from a univariate Laurent polynomial, embedding via z -> z_{n+1}
MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::~MultivariateLaurentPolynomial | ( | ) | [virtual] |
virtual destructor
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::add | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | [inline] |
pointwise sum of two Laurent polynomials *this += p
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::add | ( | const R | s, |
const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ||
) | [inline] |
pointwise weighted sum of two Laurent polynomials *this += s*p
MultivariateLaurentPolynomial< R, DIMENSION >::const_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::begin | ( | ) | const [inline] |
const_iterator pointing to the first nontrivial coefficient
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::dump | ( | ) | const |
just for testing
MultivariateLaurentPolynomial< R, DIMENSION >::const_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::end | ( | ) | const [inline] |
const_iterator pointing to one behind the last nontrivial coefficient
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
R MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::get_coefficient | ( | const MultiIndex< int, DIMENSION > & | k | ) | const [inline] |
(Polynomial-like) read-only access to single coefficients
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::multiply | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) |
pointwise multiplication with another Laurent polynomial
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator*= | ( | const R | c | ) | [inline] |
multiplication with a real number
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator*= | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | [inline] |
pointwise multiplication with another Laurent polynomial
MultivariateLaurentPolynomial< R, DIMENSION > MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator+ | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | const [inline] |
pointwise sum of two Laurent polynomials (don't use this extensively, since one copy has to be made!)
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator+= | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | [inline] |
pointwise sum of two Laurent polynomials
MultivariateLaurentPolynomial< R, DIMENSION > MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator- | ( | ) | const [inline] |
sign (makes a copy of *this)
MultivariateLaurentPolynomial< R, DIMENSION > MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator- | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | const [inline] |
pointwise difference of two Laurent polynomials (don't use this extensively, since one copy has to be made!)
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator-= | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | [inline] |
pointwise difference of two Laurent polynomials
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator= | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) |
assignment of another Laurent polynomial
MultivariateLaurentPolynomial< R, DIMENSION > & MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::operator= | ( | const R | c | ) |
assignment of a constant
MultivariateLaurentPolynomial< R, DIMENSION >::const_reverse_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::rbegin | ( | ) | const [inline] |
const_reverse_iterator pointing to the last nontrivial coefficient
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
MultivariateLaurentPolynomial< R, DIMENSION >::const_reverse_iterator MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::rend | ( | ) | const [inline] |
const_reverse_iterator pointing to one before the first nontrivial coefficient
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::sadd | ( | const R | s, |
const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ||
) | [inline] |
pointwise weighted sum of two Laurent polynomials *this = s*(*this) + p
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::set_coefficient | ( | const MultiIndex< int, DIMENSION > & | k, |
const R | coeff | ||
) | [inline] |
(Polynomial-like) write access to single coefficients
Reimplemented from MathTL::InfiniteVector< R, MultiIndex< int, DIMENSION > >.
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::subtract | ( | const MultivariateLaurentPolynomial< R, DIMENSION > & | p | ) | [inline] |
pointwise difference of two Laurent polynomials *this -= p
R MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::value | ( | const Point< DIMENSION > & | p, |
const unsigned int | component = 0 |
||
) | const |
evaluate the Laurent polynomial
void MathTL::MultivariateLaurentPolynomial< R, DIMENSION >::vector_value | ( | const Point< DIMENSION > & | p, |
Vector< R > & | values | ||
) | const [inline] |
evaluate the Laurent polynomial