Implements the 2nd derivative by delegating the implementation of the apply methods to the Operator class, by way of the Evaluation. More...
#include <op.hh>
Public Member Functions | |
~Deriv2Evaluation () | |
const Space< Scalar > & | getDomain () const |
access to domain, delegated to Evaluation datum | |
const Space< Scalar > & | getRange () const |
access to range, delegated to Evaluation datum | |
ostream & | write (ostream &str) const |
Protected Member Functions | |
Deriv2Evaluation (const Deriv2Evaluation< Scalar > &d) | |
Deriv2Evaluation (OperatorEvaluation< Scalar > &_fx) | |
Records reference to Evaluation object. | |
SymmetricBilinearOp< Scalar > * | clone () const |
Operator< Scalar > & | getOp () const |
supplied to enable child classes to access Operator data member directly | |
void | apply (const Vector< Scalar > &y0, const Vector< Scalar > &y1, Vector< Scalar > &z) const |
image, application, MatVec product, whatever, via protected method of Evaluation datum | |
void | applyAdj (const Vector< Scalar > &y0, const Vector< Scalar > &z, Vector< Scalar > &y1) const |
image of adjoint operator, via protected method of Evaluation datum | |
Protected Attributes | |
OperatorEvaluation< Scalar > & | fx |
Friends | |
class | OperatorEvaluation< Scalar > |
class | Operator< Scalar > |
Implements the 2nd derivative by delegating the implementation of the apply methods to the Operator class, by way of the Evaluation.
As no access to internal state (consisting only of an Evaluation reference) is provided, instances are effectively immutable. Only manufactured by OperatorEvaluation class - the nontrivial constructor is protected (others are private and not implemented) and OperatorEvaluation is the only friend class.
Definition at line 2038 of file op.hh.
RVL::Deriv2Evaluation< Scalar >::Deriv2Evaluation | ( | const Deriv2Evaluation< Scalar > & | d | ) | [protected] |
RVL::Deriv2Evaluation< Scalar >::Deriv2Evaluation | ( | OperatorEvaluation< Scalar > & | _fx | ) | [protected] |
RVL::Deriv2Evaluation< Scalar >::~Deriv2Evaluation | ( | ) |
SymmetricBilinearOp<Scalar>* RVL::Deriv2Evaluation< Scalar >::clone | ( | ) | const [protected, virtual] |
Implements RVL::SymmetricBilinearOp< Scalar >.
Operator<Scalar>& RVL::Deriv2Evaluation< Scalar >::getOp | ( | ) | const [protected] |
void RVL::Deriv2Evaluation< Scalar >::apply | ( | const Vector< Scalar > & | y0, | |
const Vector< Scalar > & | y1, | |||
Vector< Scalar > & | z | |||
) | const [protected, virtual] |
image, application, MatVec product, whatever, via protected method of Evaluation datum
Implements RVL::SymmetricBilinearOp< Scalar >.
void RVL::Deriv2Evaluation< Scalar >::applyAdj | ( | const Vector< Scalar > & | y0, | |
const Vector< Scalar > & | z, | |||
Vector< Scalar > & | y1 | |||
) | const [protected, virtual] |
image of adjoint operator, via protected method of Evaluation datum
Implements RVL::SymmetricBilinearOp< Scalar >.
const Space<Scalar>& RVL::Deriv2Evaluation< Scalar >::getDomain | ( | ) | const [virtual] |
access to domain, delegated to Evaluation datum
Implements RVL::SymmetricBilinearOp< Scalar >.
const Space<Scalar>& RVL::Deriv2Evaluation< Scalar >::getRange | ( | ) | const [virtual] |
access to range, delegated to Evaluation datum
Implements RVL::SymmetricBilinearOp< Scalar >.
ostream& RVL::Deriv2Evaluation< Scalar >::write | ( | ostream & | str | ) | const [virtual] |
Implements RVL::Writeable.
friend class OperatorEvaluation< Scalar > [friend] |
friend class Operator< Scalar > [friend] |
OperatorEvaluation<Scalar>& RVL::Deriv2Evaluation< Scalar >::fx [protected] |