#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))
1.7.6.1