RVL::Deriv2Evaluation< Scalar > Class Template Reference

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>

Inheritance diagram for RVL::Deriv2Evaluation< Scalar >:

RVL::SymmetricBilinearOp< Scalar > RVL::Writeable List of all members.

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 >

Detailed Description

template<class Scalar>
class RVL::Deriv2Evaluation< 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.


Constructor & Destructor Documentation

template<class Scalar>
RVL::Deriv2Evaluation< Scalar >::Deriv2Evaluation ( const Deriv2Evaluation< Scalar > &  d  )  [protected]

Definition at line 2052 of file op.hh.

template<class Scalar>
RVL::Deriv2Evaluation< Scalar >::Deriv2Evaluation ( OperatorEvaluation< Scalar > &  _fx  )  [protected]

Records reference to Evaluation object.

Definition at line 2056 of file op.hh.

template<class Scalar>
RVL::Deriv2Evaluation< Scalar >::~Deriv2Evaluation (  ) 

Definition at line 2096 of file op.hh.


Member Function Documentation

template<class Scalar>
SymmetricBilinearOp<Scalar>* RVL::Deriv2Evaluation< Scalar >::clone (  )  const [protected, virtual]

Implements RVL::SymmetricBilinearOp< Scalar >.

Definition at line 2058 of file op.hh.

template<class Scalar>
Operator<Scalar>& RVL::Deriv2Evaluation< Scalar >::getOp (  )  const [protected]

supplied to enable child classes to access Operator data member directly

Definition at line 2064 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.

template<class Scalar>
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 >.

Definition at line 2068 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.

template<class 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 >.

Definition at line 2082 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.

template<class Scalar>
const Space<Scalar>& RVL::Deriv2Evaluation< Scalar >::getDomain (  )  const [virtual]

access to domain, delegated to Evaluation datum

Implements RVL::SymmetricBilinearOp< Scalar >.

Definition at line 2099 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.

template<class Scalar>
const Space<Scalar>& RVL::Deriv2Evaluation< Scalar >::getRange (  )  const [virtual]

access to range, delegated to Evaluation datum

Implements RVL::SymmetricBilinearOp< Scalar >.

Definition at line 2101 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.

template<class Scalar>
ostream& RVL::Deriv2Evaluation< Scalar >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Definition at line 2103 of file op.hh.

References RVL::Deriv2Evaluation< Scalar >::fx.


Friends And Related Function Documentation

template<class Scalar>
friend class OperatorEvaluation< Scalar > [friend]

Definition at line 2040 of file op.hh.

template<class Scalar>
friend class Operator< Scalar > [friend]

Definition at line 2041 of file op.hh.


Member Data Documentation

template<class Scalar>
OperatorEvaluation<Scalar>& RVL::Deriv2Evaluation< Scalar >::fx [protected]

Definition at line 2050 of file op.hh.

Referenced by RVL::Deriv2Evaluation< Scalar >::apply(), RVL::Deriv2Evaluation< Scalar >::applyAdj(), RVL::Deriv2Evaluation< Scalar >::getDomain(), RVL::Deriv2Evaluation< Scalar >::getOp(), RVL::Deriv2Evaluation< Scalar >::getRange(), and RVL::Deriv2Evaluation< Scalar >::write().


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RVL by  doxygen 1.4.7