#include <polyop.hh>
Inheritance diagram for RVL::PolynomialOperator< Scalar >:

Public Member Functions | |
| PolynomialOperator (const std::valarray< Scalar > &_coef, Space< Scalar > &_spc) | |
| PolynomialOperator (const PolynomialOperator< Scalar > &s) | |
| ~PolynomialOperator () | |
| virtual const Space< Scalar > & | getDomain () const | 
| access to domain, range   | |
| virtual const Space< Scalar > & | getRange () const | 
| virtual void | write (RVLException &e) const | 
| virtual ostream & | write (ostream &str) const | 
Protected Member Functions | |
| virtual void | apply (const Vector< Scalar > &x, Vector< Scalar > &y) const | 
    | |
| virtual void | applyDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &dy) const | 
    | |
| virtual void | applyAdjDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dy, Vector< Scalar > &dx) const | 
    | |
| void | applyInverseDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dy, Vector< Scalar > &dx) const | 
| Since this is a diagonal operator, the inverse of the derivative amounts to performing elementwise division.   | |
| void | applyAdjInverseDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &dy) const | 
| Diagonal op => symetric.   | |
| virtual Operator< Scalar > * | clone () const | 
| virtual copy contructor, also accessible only through OperatorEvaluation.   | |
Protected Attributes | |
| Space< Scalar > & | spc | 
| std::valarray< Scalar > | coef | 
The coefficients are in ascending order of power (
. Powers are computed elementwise, and the Vector::linComb method is used for addition and scaling. 
Definition at line 48 of file polyop.hh.
| RVL::PolynomialOperator< Scalar >::PolynomialOperator | ( | const std::valarray< Scalar > & | _coef, | |
| Space< Scalar > & | _spc | |||
| ) | 
| RVL::PolynomialOperator< Scalar >::PolynomialOperator | ( | const PolynomialOperator< Scalar > & | s | ) | 
| RVL::PolynomialOperator< Scalar >::~PolynomialOperator | ( | ) | 
| virtual void RVL::PolynomialOperator< Scalar >::apply | ( | const Vector< Scalar > & | x, | |
| Vector< Scalar > & | y | |||
| ) |  const [protected, virtual] | 
        
 
Implements RVL::Operator< Scalar >.
Definition at line 59 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::coef, RVL::Vector< Scalar >::eval(), and RVL::Vector< Scalar >::linComb().
| virtual void RVL::PolynomialOperator< Scalar >::applyDeriv | ( | const Vector< Scalar > & | x, | |
| const Vector< Scalar > & | dx, | |||
| Vector< Scalar > & | dy | |||
| ) |  const [protected, virtual] | 
        
 
Implements RVL::Operator< Scalar >.
Definition at line 77 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::coef, RVL::Vector< Scalar >::eval(), RVL::Vector< Scalar >::linComb(), and RVL::Vector< Scalar >::zero().
Referenced by RVL::PolynomialOperator< Scalar >::applyAdjDeriv().
| virtual void RVL::PolynomialOperator< Scalar >::applyAdjDeriv | ( | const Vector< Scalar > & | x, | |
| const Vector< Scalar > & | dy, | |||
| Vector< Scalar > & | dx | |||
| ) |  const [protected, virtual] | 
        
 
Implements RVL::Operator< Scalar >.
Definition at line 100 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::applyDeriv().
| void RVL::PolynomialOperator< Scalar >::applyInverseDeriv | ( | const Vector< Scalar > & | x, | |
| const Vector< Scalar > & | dy, | |||
| Vector< Scalar > & | dx | |||
| ) |  const [protected, virtual] | 
        
Since this is a diagonal operator, the inverse of the derivative amounts to performing elementwise division.
Implements RVL::OperatorWithInvertibleDeriv< Scalar >.
Definition at line 109 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::coef, RVL::Vector< Scalar >::eval(), RVL::Vector< Scalar >::linComb(), and RVL::Vector< Scalar >::zero().
Referenced by RVL::PolynomialOperator< Scalar >::applyAdjInverseDeriv().
| void RVL::PolynomialOperator< Scalar >::applyAdjInverseDeriv | ( | const Vector< Scalar > & | x, | |
| const Vector< Scalar > & | dx, | |||
| Vector< Scalar > & | dy | |||
| ) |  const [protected, virtual] | 
        
Diagonal op => symetric.
Implements RVL::OperatorWithInvertibleDeriv< Scalar >.
Definition at line 133 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::applyInverseDeriv().
| virtual Operator<Scalar>* RVL::PolynomialOperator< Scalar >::clone | ( | ) |  const [protected, virtual] | 
        
virtual copy contructor, also accessible only through OperatorEvaluation.
Usually implemented with operator new and copy constructor of concrete child class.
Implements RVL::Operator< Scalar >.
Definition at line 144 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::PolynomialOperator().
| virtual const Space<Scalar>& RVL::PolynomialOperator< Scalar >::getDomain | ( | ) |  const [virtual] | 
        
access to domain, range
Implements RVL::Operator< Scalar >.
Definition at line 154 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::spc.
| virtual const Space<Scalar>& RVL::PolynomialOperator< Scalar >::getRange | ( | ) |  const [virtual] | 
        
Implements RVL::Operator< Scalar >.
Definition at line 155 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::spc.
| virtual void RVL::PolynomialOperator< Scalar >::write | ( | RVLException & | e | ) |  const [virtual] | 
        
Reimplemented from RVL::Writeable.
Definition at line 157 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::coef.
| virtual ostream& RVL::PolynomialOperator< Scalar >::write | ( | ostream & | str | ) |  const [virtual] | 
        
Implements RVL::Writeable.
Definition at line 164 of file polyop.hh.
References RVL::PolynomialOperator< Scalar >::coef.
Space<Scalar>& RVL::PolynomialOperator< Scalar >::spc [protected]           | 
        
Definition at line 51 of file polyop.hh.
Referenced by RVL::PolynomialOperator< Scalar >::getDomain(), and RVL::PolynomialOperator< Scalar >::getRange().
std::valarray<Scalar> RVL::PolynomialOperator< Scalar >::coef [protected]           | 
        
Definition at line 52 of file polyop.hh.
Referenced by RVL::PolynomialOperator< Scalar >::apply(), RVL::PolynomialOperator< Scalar >::applyDeriv(), RVL::PolynomialOperator< Scalar >::applyInverseDeriv(), and RVL::PolynomialOperator< Scalar >::write().
 1.4.7