[ VIGRA Homepage | Function Index | Class Index | Namespaces | File List | Main Page ]

Polynomial< T > Class Template Reference
Polynomials and root determination

`#include <vigra/polynomial.hxx>`

Inheritance diagram for Polynomial< T >:

## Public Member Functions

Polynomial< Complex > | getDeflated (Complex const &r) const
Polynomial< T > | getDeflated (Real r) const
Polynomial< T > | getDerivative (unsigned int n=1) const
Polynomial & | operator= (Polynomial const &p)
template<class ITER >
| Polynomial (ITER i, unsigned int order)
template<class ITER >
| Polynomial (ITER i, unsigned int order, double epsilon)
| Polynomial (Polynomial const &p)
| Polynomial (unsigned int order=0, double epsilon=1.0e-14)
Public Member Functions inherited from PolynomialView< T >
void | backwardDeflate (T v)
iterator | begin ()
const_iterator | begin () const
void | deflate (T const &r, unsigned int multiplicity=1)
void | deflateConjugatePair (Complex const &v)
void | differentiate (unsigned int n=1)
iterator | end ()
const_iterator | end () const
double | epsilon () const
void | forwardBackwardDeflate (T v)
void | forwardDeflate (T const &v)
void | minimizeOrder (double epsilon=0.0)
void | normalize ()
template<class V >
PromoteTraits< T, V >::Promote | operator() (V v) const
T & | operator[] (unsigned int i)
| Access the coefficient of x^i.
T const & | operator[] (unsigned int i) const
| Access the coefficient of x^i.
unsigned int | order () const
| PolynomialView (T *coeffs, unsigned int order, double epsilon=1.0e-14)
void | setEpsilon (double eps)
unsigned int | size () const

## Additional Inherited Members

Public Types inherited from PolynomialView< T >
typedef NumericTraits< RealPromote >::ComplexPromote | Complex
typedef T const * | const_iterator
typedef T * | iterator
typedef NumericTraits< RealPromote >::ValueType | Real
typedef NumericTraits< T >::RealPromote | RealPromote
typedef T | value_type

## Detailed Description

template<class T>
class vigra::Polynomial< T >

Polynomial with internally managed array.

Most interesting functionality is inherited from vigra::PolynomialView.

See also
  vigra::PolynomialView, vigra::StaticPolynomial, polynomialRoots()

#include <vigra/polynomial.hxx>
Namespace: vigra

## Constructor & Destructor Documentation

## ◆ Polynomial() [1/4]

template<class T >

Polynomial | ( | unsigned int | order = `0`,
|  | double | epsilon = `1.0e-14`
| ) |  |

Construct polynomial with given `order` and all coefficients set to zero (they can be set later using `operator[]` or the iterators). `epsilon` (default: 1.0e-14) determines the precision of subsequent algorithms (especially root finding) performed on the polynomial.

## ◆ Polynomial() [2/4]

template<class T >

Polynomial | ( | Polynomial< T > const & | p | ) |

Copy constructor

## ◆ Polynomial() [3/4]

template<class T >
template<class ITER >

Polynomial | ( | ITER | i,
|  | unsigned int | order
| ) |  |

Construct polynomial by copying the given coefficient sequence.

## ◆ Polynomial() [4/4]

template<class T >
template<class ITER >

Polynomial | ( | ITER | i,
|  | unsigned int | order,
|  | double | epsilon
| ) |  |

Construct polynomial by copying the given coefficient sequence. Set `epsilon` (default: 1.0e-14) as the precision of subsequent algorithms (especially root finding) performed on the polynomial.

## Member Function Documentation

## ◆ operator=()

template<class T >

Polynomial & operator= | ( | Polynomial< T > const & | p | ) |

Assigment

## ◆ getDerivative()

template<class T >

Polynomial< T > getDerivative | ( | unsigned int | n = `1` | ) | const

Construct new polynomial representing the derivative of this polynomial.

## ◆ getDeflated() [1/2]

template<class T >

Polynomial< T > getDeflated | ( | Real | r | ) | const

Construct new polynomial representing this polynomial after deflation at the real root `r`.

## ◆ getDeflated() [2/2]

template<class T >

Polynomial< Complex > getDeflated | ( | Complex const & | r | ) | const

Construct new polynomial representing this polynomial after deflation at the complex root `r`. The resulting polynomial will have complex coefficients, even if this polynomial had real ones.

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

- vigra/polynomial.hxx

© Ullrich Köthe (ullrich.koethe@iwr.uni-heidelberg.de) Heidelberg Collaboratory for Image Processing, University of Heidelberg, Germany | html generated using doxygen and Python vigra 1.12.1