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