#include <op.hh>
Inheritance diagram for RVL::LNLOperator< Scalar >:
Public Member Functions | |
LNLOperator (LinearOp< Scalar > const &LL) | |
Usual constructor; just needs a pointer to the linear operator. | |
LNLOperator (const LNLOperator< Scalar > &op) | |
~LNLOperator () | |
virtual Operator< Scalar > * | clone () const |
const Space< Scalar > & | getDomain () const |
access to domain, range | |
const 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). 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 2306 of file op.hh.
RVL::LNLOperator< Scalar >::LNLOperator | ( | LinearOp< Scalar > const & | LL | ) |
RVL::LNLOperator< Scalar >::LNLOperator | ( | const LNLOperator< Scalar > & | op | ) |
RVL::LNLOperator< Scalar >::~LNLOperator | ( | ) |
void RVL::LNLOperator< Scalar >::apply | ( | const Vector< Scalar > & | x, | |
Vector< Scalar > & | y | |||
) | const [protected, virtual] |
void RVL::LNLOperator< Scalar >::applyDeriv | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
void RVL::LNLOperator< Scalar >::applyAdjDeriv | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dy, | |||
Vector< Scalar > & | dx | |||
) | const [protected, virtual] |
virtual Operator<Scalar>* RVL::LNLOperator< Scalar >::clone | ( | ) | const [virtual] |
const Space<Scalar>& RVL::LNLOperator< Scalar >::getDomain | ( | ) | const [virtual] |
const Space<Scalar>& RVL::LNLOperator< Scalar >::getRange | ( | ) | const [virtual] |
ostream& RVL::LNLOperator< Scalar >::write | ( | ostream & | str | ) | const [virtual] |