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

details StaticPolynomial Class Template Reference VIGRA

#include "vigra/polynomial.hxx"

Inheritance diagram for StaticPolynomial:

PolynomialView 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:

© Ullrich Köthe (koethe@informatik.uni-hamburg.de)
Cognitive Systems Group, University of Hamburg, Germany

html generated using doxygen and Python
VIGRA 1.3.3 (18 Aug 2005)