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

| StaticPolynomial Class Template Reference |
--- | --- | ---

`#include "vigra/polynomial.hxx"`

Inheritance diagram for StaticPolynomial:

List of all members.

## Public Types
typedef BaseType::Real | Real
typedef BaseType::Complex | Complex
typedef T | value_type
typedef T * | iterator
typedef T const * | const_iterator
## Public Methods
| StaticPolynomial (unsigned int order=0, double epsilon=1.0e-14)
| StaticPolynomial (StaticPolynomial const &p)
template<class ITER> | StaticPolynomial (ITER i, unsigned int order)
template<class ITER> | StaticPolynomial (ITER i, unsigned int order, double epsilon)
StaticPolynomial & | operator= (StaticPolynomial const &p)
StaticPolynomial | getDerivative (unsigned int n=1) const
StaticPolynomial | getDeflated (Real r) const
StaticPolynomial< MAXORDER, Complex > | getDeflated (Complex const &r) const

## 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
| ) | `[inline]`

| 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 | ) | `[inline]`

| Copy constructor

StaticPolynomial | ( | ITER | i,
|  | unsigned int | order
| ) | `[inline]`

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

StaticPolynomial | ( | ITER | i,
|  | unsigned int | order,
|  | double | epsilon
| ) | `[inline]`

| 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`[inline]`

| 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`[inline]`

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

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

| Construct new polynomial representing the derivative of this polynomial.

StaticPolynomial& operator= | ( | StaticPolynomial< MAXORDER, T > const & | p | ) | `[inline]`

| Assigment.

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

- vigra/polynomial.hxx

© Ullrich Köthe (koethe@informatik.uni-hamburg.de) Cognitive Systems Group, University of Hamburg, Germany | html generated using doxygen and Python VIGRA 1.3.2 (27 Jan 2005)