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

| StaticPolynomial [Polynomials and root determination] |

`#include <vigra/polynomial.hxx>`

Inheritance diagram for StaticPolynomial:

List of all members.

## Public Types

typedef BaseType::Complex | Complex
typedef T const * | const_iterator
typedef T * | iterator
typedef BaseType::Real | Real
typedef T | value_type

## 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, double epsilon)
template<class ITER>
| StaticPolynomial (ITER i, unsigned int order)
| StaticPolynomial (StaticPolynomial const &p)
| StaticPolynomial (unsigned int order=0, double epsilon=1.0e-14)

## 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 vigra::PolynomialView. This class differs from vigra::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

## Member Typedef Documentation

typedef BaseType::Complex Complex

Complex type associated with `RealPromote`

Reimplemented from PolynomialView.

typedef T const* const_iterator

Const iterator for the coefficient sequence

Reimplemented from PolynomialView.

typedef T* iterator

Iterator for the coefficient sequence

Reimplemented from PolynomialView.

typedef BaseType::Real Real

Scalar type associated with `RealPromote`

Reimplemented from PolynomialView.

typedef T value_type

Coefficient type of the polynomial

Reimplemented from PolynomialView.

## Constructor & Destructor Documentation

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 | ( | StaticPolynomial< MAXORDER, T > const & | p | ) |

Copy constructor

template<class ITER>
StaticPolynomial | ( | ITER | i,
|  | unsigned int | order |
| ) |  |  |

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

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

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.

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

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

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

Construct new polynomial representing the derivative of this polynomial.

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

Assigment.

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.6.0 (13 Aug 2008)