LeastSquaresFcnlGN creates a least squares objective function from an operator. More...
#include <ls.hh>
Public Member Functions | |
LeastSquaresFcnlGN (Operator< Scalar > const &op) | |
Usual constructor. | |
LeastSquaresFcnlGN (const LeastSquaresFcnlGN< Scalar > &J) | |
Copy constructor. | |
virtual | ~LeastSquaresFcnlGN () |
Space< Scalar > const & | getDomain () const |
Scalar | getMaxStep (const Vector< Scalar > &x, const Vector< Scalar > &dx) const |
ostream & | write (ostream &str) const |
Protected Member Functions | |
void | apply (Vector< Scalar > const &x, Scalar &val) const |
void | applyGradient (Vector< Scalar > const &x, Vector< Scalar > &g) const |
void | applyHessian (Vector< Scalar > const &x, Vector< Scalar > const &dx, Vector< Scalar > &dy) const |
virtual Functional< Scalar > * | clone () const |
LeastSquaresFcnlGN creates a least squares objective function from an operator.
This is a so called bridge class, i.e. it exists merely to make objects of some class behave like objects of another class. The input object is an operator (an instance of Operator ). The class uses a reference to this object to construct the least squares functinal
, its gradient
, and the Gauss-Newton approximation to its Hessian operator
and presents the result as an instance of the Functional interface.
As with all LS functions, only defines a differentiable function is Scalar is a real type.
Definition at line 508 of file ls.hh.
RVL::LeastSquaresFcnlGN< Scalar >::LeastSquaresFcnlGN | ( | Operator< Scalar > const & | op | ) |
RVL::LeastSquaresFcnlGN< Scalar >::LeastSquaresFcnlGN | ( | const LeastSquaresFcnlGN< Scalar > & | J | ) |
virtual RVL::LeastSquaresFcnlGN< Scalar >::~LeastSquaresFcnlGN | ( | ) | [virtual] |
void RVL::LeastSquaresFcnlGN< Scalar >::apply | ( | Vector< Scalar > const & | x, | |
Scalar & | val | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
void RVL::LeastSquaresFcnlGN< Scalar >::applyGradient | ( | Vector< Scalar > const & | x, | |
Vector< Scalar > & | g | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
void RVL::LeastSquaresFcnlGN< Scalar >::applyHessian | ( | Vector< Scalar > const & | x, | |
Vector< Scalar > const & | dx, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
virtual Functional<Scalar>* RVL::LeastSquaresFcnlGN< Scalar >::clone | ( | ) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Space<Scalar> const& RVL::LeastSquaresFcnlGN< Scalar >::getDomain | ( | ) | const [virtual] |
Implements RVL::Functional< Scalar >.
Scalar RVL::LeastSquaresFcnlGN< Scalar >::getMaxStep | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx | |||
) | const [virtual] |
Reimplemented from RVL::Functional< Scalar >.
ostream& RVL::LeastSquaresFcnlGN< Scalar >::write | ( | ostream & | str | ) | const [virtual] |
Implements RVL::Writeable.