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

details Polynomial< T > Class Template Reference VIGRA

#include <vigra/polynomial.hxx>

Inheritance diagram for Polynomial< T >:
PolynomialView< T >

Public Member Functions

Polynomial< T > getDeflated (Real r) const
 
Polynomial< ComplexgetDeflated (Complex const &r) const
 
Polynomial< T > getDerivative (unsigned int n=1) const
 
Polynomialoperator= (Polynomial const &p)
 
 Polynomial (unsigned int order=0, double epsilon=1.0e-14)
 
 Polynomial (Polynomial const &p)
 
template<class ITER >
 Polynomial (ITER i, unsigned int order)
 
template<class ITER >
 Polynomial (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
 

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<class T>
class vigra::Polynomial< T >

Polynomial with internally managed array.

Most interesting functionality is inherited from vigra::PolynomialView.

See Also
vigra::PolynomialView, vigra::StaticPolynomial, polynomialRoots()

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

Constructor & Destructor Documentation

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

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

Polynomial ( Polynomial< T > const &  p)

Copy constructor

Polynomial ( ITER  i,
unsigned int  order 
)

Construct polynomial by copying the given coefficient sequence.

Polynomial ( ITER  i,
unsigned int  order,
double  epsilon 
)

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

Member Function Documentation

Polynomial& operator= ( Polynomial< T > const &  p)

Assigment

Polynomial<T> getDerivative ( unsigned int  n = 1) const

Construct new polynomial representing the derivative of this polynomial.

Polynomial<T> getDeflated ( Real  r) const

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

Polynomial<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.11.1 (Fri May 19 2017)