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

Public Member Functions | List of all members
StaticPolynomial< MAXORDER, T > Class Template Reference
Polynomials and root determination

`#include <vigra/polynomial.hxx>`

Inheritance diagram for StaticPolynomial< MAXORDER, T >:

## Public Member Functions

StaticPolynomial< MAXORDER, Complex > | getDeflated (Complex const &r) const
StaticPolynomial | getDeflated (Real r) const
StaticPolynomial | getDerivative (unsigned int n=1) const
StaticPolynomial & | operator= (StaticPolynomial const &p)
template<class ITER>
| StaticPolynomial (ITER i, unsigned int order)
template<class ITER>
| StaticPolynomial (ITER i, unsigned int order, double epsilon)
| StaticPolynomial (StaticPolynomial const &p)
| StaticPolynomial (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<unsigned int MAXORDER, class T>
class vigra::StaticPolynomial< MAXORDER, T >

Polynomial with internally managed array of static length.

Most interesting functionality is inherited from PolynomialView. This class differs from Polynomial in that it allocates its memory statically which is much faster. Therefore, StaticPolynomial can only represent polynomials up to the given MAXORDER.

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

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

## Constructor & Destructor Documentation

## ◆ StaticPolynomial() [1/4]

template<unsigned int MAXORDER, class T>

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

Construct polynomial with given order <= MAXORDER 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.

## ◆ StaticPolynomial() [2/4]

template<unsigned int MAXORDER, class T>

StaticPolynomial | ( | StaticPolynomial< MAXORDER, T > const & | p | ) |

Copy constructor

## ◆ StaticPolynomial() [3/4]

template<unsigned int MAXORDER, class T>
template<class ITER>

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

Construct polynomial by copying the given coefficient sequence. order <= MAXORDER is required.

## ◆ StaticPolynomial() [4/4]

template<unsigned int MAXORDER, class T>
template<class ITER>

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

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

## Member Function Documentation

## ◆ operator=()

template<unsigned int MAXORDER, class T>

StaticPolynomial & operator= | ( | StaticPolynomial< MAXORDER, T > const & | p | ) |

Assigment.

## ◆ getDerivative()

template<unsigned int MAXORDER, class T>

StaticPolynomial getDerivative | ( | unsigned int | n = 1 | ) | const

Construct new polynomial representing the derivative of this polynomial.

## ◆ getDeflated() [1/2]

template<unsigned int MAXORDER, class T>

StaticPolynomial getDeflated | ( | Real | r | ) | const

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

## ◆ getDeflated() [2/2]

template<unsigned int MAXORDER, class T>

StaticPolynomial< MAXORDER, 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.4