RVL::GenOp< T, f, df > Class Template Reference

Local Operator class based on two C-style functions, one computing the function value, the other computing the Jacobian matrix. More...

#include <rnop.hh>

Inheritance diagram for RVL::GenOp< T, f, df >:

RVL::OpWithGenMatDeriv< T > RVL::Operator< T > RVL::Writeable List of all members.

Public Member Functions

 GenOp (RnSpace< T > const &_dom, RnSpace< T > const &_rng)
 main constructor: inputs are domain and range RnSpaces
 GenOp (GenOp< T, f, df > const &a)
 copy constructor - note how important this is, as it's used to define the clone method, which is what the OperatorEvaluation class uses to create new internal copies of the Operator.
Space< T > const & getDomain () const
Space< T > const & getRange () const
GenMat< T > const & getGenMat () const
 public access to the internal GenMat - but only if it has been initialized
ostream & write (ostream &str) const

Protected Member Functions

virtual void apply (const Vector< T > &x, Vector< T > &y) const
 $y = F(x)$
virtual void applyDeriv (const Vector< T > &x, const Vector< T > &dx, Vector< T > &dy) const
 $dy = DF(x)dx$
virtual void applyAdjDeriv (const Vector< T > &x, const Vector< T > &dy, Vector< T > &dx) const
 $dx = DF(x)^*dy$
virtual Operator< T > * clone () const

Detailed Description

template<typename T, int f, int df>
class RVL::GenOp< T, f, df >

Local Operator class based on two C-style functions, one computing the function value, the other computing the Jacobian matrix.

Definition at line 112 of file rnop.hh.


Constructor & Destructor Documentation

template<typename T, int f, int df>
RVL::GenOp< T, f, df >::GenOp ( RnSpace< T > const &  _dom,
RnSpace< T > const &  _rng 
)

main constructor: inputs are domain and range RnSpaces

Definition at line 196 of file rnop.hh.

template<typename T, int f, int df>
RVL::GenOp< T, f, df >::GenOp ( GenOp< T, f, df > const &  a  ) 

copy constructor - note how important this is, as it's used to define the clone method, which is what the OperatorEvaluation class uses to create new internal copies of the Operator.

Definition at line 202 of file rnop.hh.


Member Function Documentation

template<typename T, int f, int df>
virtual void RVL::GenOp< T, f, df >::apply ( const Vector< T > &  x,
Vector< T > &  y 
) const [protected, virtual]

$y = F(x)$

Implements RVL::Operator< T >.

Definition at line 147 of file rnop.hh.

References RVL::Vector< Scalar >::eval().

template<typename T, int f, int df>
virtual void RVL::GenOp< T, f, df >::applyDeriv ( const Vector< T > &  x,
const Vector< T > &  dx,
Vector< T > &  dy 
) const [protected, virtual]

$dy = DF(x)dx$

Implements RVL::Operator< T >.

Definition at line 162 of file rnop.hh.

template<typename T, int f, int df>
virtual void RVL::GenOp< T, f, df >::applyAdjDeriv ( const Vector< T > &  x,
const Vector< T > &  dy,
Vector< T > &  dx 
) const [protected, virtual]

$dx = DF(x)^*dy$

Implements RVL::Operator< T >.

Definition at line 176 of file rnop.hh.

template<typename T, int f, int df>
virtual Operator<T>* RVL::GenOp< T, f, df >::clone (  )  const [protected, virtual]

Implements RVL::Operator< T >.

Definition at line 189 of file rnop.hh.

template<typename T, int f, int df>
Space<T> const& RVL::GenOp< T, f, df >::getDomain (  )  const [virtual]

Implements RVL::Operator< T >.

Definition at line 205 of file rnop.hh.

template<typename T, int f, int df>
Space<T> const& RVL::GenOp< T, f, df >::getRange (  )  const [virtual]

Implements RVL::Operator< T >.

Definition at line 206 of file rnop.hh.

template<typename T, int f, int df>
GenMat<T> const& RVL::GenOp< T, f, df >::getGenMat (  )  const [virtual]

public access to the internal GenMat - but only if it has been initialized

Implements RVL::OpWithGenMatDeriv< T >.

Definition at line 210 of file rnop.hh.

template<typename T, int f, int df>
ostream& RVL::GenOp< T, f, df >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Definition at line 218 of file rnop.hh.

References RVL::RnSpace< Scalar >::write().


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