#include <op.hh>
Inheritance diagram for RVL::ANLOperator< Scalar >:
Public Member Functions | |
ANLOperator (LinearOp< Scalar > const &LL, Vector< Scalar > const &dd) | |
Usual constructor; just needs a pointer to the linear operator. | |
ANLOperator (const ANLOperator< Scalar > &op) | |
~ANLOperator () | |
virtual Operator< Scalar > * | clone () const |
Space< Scalar > & | getDomain () const |
access to domain, range | |
Space< Scalar > & | getRange () const |
ostream & | write (ostream &str) const |
Protected Member Functions | |
void | apply (const Vector< Scalar > &x, Vector< Scalar > &y) const |
void | applyDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &dy) const |
void | applyAdjDeriv (const Vector< Scalar > &x, const Vector< Scalar > &dy, Vector< Scalar > &dx) const |
That is, it returns a nonlinear operator object (i.e. an instance of Operator) which has precisely the same mapping behaviour as a linear operator (i.e. an instance of LinearOp), plus a shift. This is useful for instance in creating formally nonlinear least squares functions using LeastSquaresFcnlGN (which can be fed to various nonlinear optimization algorithms), which are actually linear least squares functions.
Definition at line 2384 of file op.hh.
RVL::ANLOperator< Scalar >::ANLOperator | ( | LinearOp< Scalar > const & | LL, | |
Vector< Scalar > const & | dd | |||
) |
RVL::ANLOperator< Scalar >::ANLOperator | ( | const ANLOperator< Scalar > & | op | ) |
RVL::ANLOperator< Scalar >::~ANLOperator | ( | ) |
void RVL::ANLOperator< Scalar >::apply | ( | const Vector< Scalar > & | x, | |
Vector< Scalar > & | y | |||
) | const [protected, virtual] |
Implements RVL::Operator< Scalar >.
Definition at line 2394 of file op.hh.
References RVL::Vector< Scalar >::linComb().
void RVL::ANLOperator< Scalar >::applyDeriv | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
void RVL::ANLOperator< Scalar >::applyAdjDeriv | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dx | |||
) | const [protected, virtual] |
virtual Operator<Scalar>* RVL::ANLOperator< Scalar >::clone | ( | ) | const [virtual] |
Space<Scalar>& RVL::ANLOperator< Scalar >::getDomain | ( | ) | const [virtual] |
Space<Scalar>& RVL::ANLOperator< Scalar >::getRange | ( | ) | const [virtual] |
ostream& RVL::ANLOperator< Scalar >::write | ( | ostream & | str | ) | const [virtual] |