RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData > Class Template Reference

Given a LinOpValOp F and a Vector d in the range of op, implements the function $ f(x) = \inf_{dx} \|F(x)dx - d\|^2 $ as an RVL::Functional. More...

#include <VPM.hh>

Inheritance diagram for RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >:

RVL::Functional< Scalar > RVL::Writeable List of all members.

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

Detailed Description

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
class RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >

Given a LinOpValOp F and a Vector d in the range of op, implements the function $ f(x) = \inf_{dx} \|F(x)dx - d\|^2 $ as an RVL::Functional.

The linear least squares solver is specified by policy.

Definition at line 25 of file VPM.hh.


Constructor & Destructor Documentation

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::VPM ( LinOpValOp< Scalar > const &  _op,
Vector< Scalar > const &  _d,
LSPolicyData const &  s,
ostream &  _str = cerr 
)

Definition at line 116 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::VPM ( VPM< Scalar, LSPolicy, LSPolicyData > const &  f  ) 

Definition at line 139 of file VPM.hh.


Member Function Documentation

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
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().

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
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().

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
void RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::applyHessian ( const Vector< Scalar > &  x,
const Vector< Scalar > &  dx,
Vector< Scalar > &  dy 
) const [protected, virtual]

Implements RVL::Functional< Scalar >.

Definition at line 101 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
Functional<Scalar>* RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::clone (  )  const [protected, virtual]

Implements RVL::Functional< Scalar >.

Definition at line 110 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
const Space<Scalar>& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getDomain (  )  const [virtual]

Implements RVL::Functional< Scalar >.

Definition at line 143 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
Scalar RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getMaxStep ( const Vector< Scalar > &  x,
const Vector< Scalar > &  dx 
) const [virtual]

Reimplemented from RVL::Functional< Scalar >.

Definition at line 147 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
Vector<Scalar> const& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::getLSSoln (  )  const

Definition at line 158 of file VPM.hh.

template<typename Scalar, typename LSPolicy, typename LSPolicyData>
ostream& RVLUmin::VPM< Scalar, LSPolicy, LSPolicyData >::write ( ostream &  str  )  const [virtual]

Implements RVL::Writeable.

Definition at line 160 of file VPM.hh.


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