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

Public Types | Public Member Functions
StaticPolynomial< MAXORDER, T > Class Template Reference

#include <vigra/polynomial.hxx>

Inheritance diagram for StaticPolynomial< MAXORDER, T >:
PolynomialView< T >

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 Types inherited from PolynomialView< T >
typedef NumericTraits< T >
::RealPromote 
RealPromote

Public Member Functions

StaticPolynomial getDeflated (Real r) const
StaticPolynomial< MAXORDER,
Complex
getDeflated (Complex const &r) const
StaticPolynomial getDerivative (unsigned int n=1) const
StaticPolynomialoperator= (StaticPolynomial const &p)
 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)
- 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

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

Scalar type associated with RealPromote

Reimplemented from PolynomialView< T >.

Complex type associated with RealPromote

Reimplemented from PolynomialView< T >.

typedef T value_type

Coefficient type of the polynomial

Reimplemented from PolynomialView< T >.

typedef T* iterator

Iterator for the coefficient sequence

Reimplemented from PolynomialView< T >.

typedef T const* const_iterator

Const iterator for the coefficient sequence

Reimplemented from PolynomialView< T >.


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

StaticPolynomial ( ITER  i,
unsigned int  order 
)

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

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

Assigment.

StaticPolynomial getDerivative ( unsigned int  n = 1) const

Construct new polynomial representing the derivative of this polynomial.

StaticPolynomial getDeflated ( Real  r) const

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

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:

© 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.7.1 (Thu Jun 14 2012)