#include <VPM.hh>
Inheritance diagram for RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >:
Public Member Functions | |
VPM (LinOpValOp< Scalar > const &_op, Vector< Scalar > const &_d, LSPolicyData const &s, ostream &_str=cerr) | |
VPM (VPM< Scalar, LSPolicy, LSPolicyData > const &f) | |
const Space< Scalar > & | getDomain () const |
Scalar | getMaxStep (const Vector< Scalar > &x, const Vector< Scalar > &dx) const |
Vector< Scalar > const & | getLSSoln () const |
ostream & | write (ostream &str) const |
Protected Member Functions | |
void | apply (const Vector< Scalar > &x, Scalar &val) const |
void | applyGradient (const Vector< Scalar > &x, Vector< Scalar > &g) const |
void | applyHessian (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &dy) const |
Functional< Scalar > * | clone () const |
The linear least squares solver is specified by policy.
Definition at line 25 of file VPM.hh.
RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::VPM | ( | LinOpValOp< Scalar > const & | _op, | |
Vector< Scalar > const & | _d, | |||
LSPolicyData const & | s, | |||
ostream & | _str = cerr | |||
) |
RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::VPM | ( | VPM< Scalar, LSPolicy, LSPolicyData > const & | f | ) |
void RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::apply | ( | const Vector< Scalar > & | x, | |
Scalar & | val | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 39 of file VPM.hh.
References RVLAlg::Algorithm::run().
Referenced by RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::applyGradient().
void RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::applyGradient | ( | const Vector< Scalar > & | x, | |
Vector< Scalar > & | g | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 65 of file VPM.hh.
References RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::apply(), RVL::LinearOp< Scalar >::applyOp(), RVL::Vector< Scalar >::copy(), RVL::OperatorEvaluation< Scalar >::getDeriv(), and RVL::LinearRestrictOp< Scalar >::getRange().
void RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::applyHessian | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Functional<Scalar>* RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::clone | ( | ) | const [protected, virtual] |
const Space<Scalar>& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getDomain | ( | ) | const [virtual] |
Scalar RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getMaxStep | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx | |||
) | const [virtual] |
Vector<Scalar> const& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getLSSoln | ( | ) | const |
ostream& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::write | ( | ostream & | str | ) | const [virtual] |