#include <functional.hh>
Inheritance diagram for RVL::FcnlOpComp< Scalar >:
Public Member Functions | |
FcnlOpComp (const Functional< Scalar > &fref, const Operator< Scalar > &opref) | |
FcnlOpComp (const FcnlOpComp< Scalar > &c) | |
~FcnlOpComp () | |
const Space< Scalar > & | getDomain () const |
access to domain | |
virtual Scalar | getMaxStep (const Vector< Scalar > &x, const Vector< Scalar > &dx) const |
OperatorEvaluation< Scalar > const & | getOpEval () const |
provides access to any available attributes of latest operator evaluation | |
FunctionalEvaluation< Scalar > const & | getFcnlEval () const |
provides access to any available attributes of latest operator evaluation | |
ostream & | write (ostream &str) const |
Protected Member Functions | |
void | apply (const Vector< Scalar > &x, Scalar &val) const |
virtual void | applyGradient (const Vector< Scalar > &x, Vector< Scalar > &g) const |
![]() | |
virtual void | applyHessian (const Vector< Scalar > &x, const Vector< Scalar > &dx, Vector< Scalar > &dy) const |
virtual Functional< Scalar > * | clone () const |
virtual copy constructor: make a complete new copy including internal workspace. |
While it can access the protected Functional methods through inheritance, it must be a friend of the base Operator class.
The basic methods remain virtual so that further attributes can be added in subclasses.
Note that the value is available once the apply method is called for the first time, with additional computations. However the intermediate vector holding the output of the operator factor is not, to avoid potential heavyweight storage.
Definition at line 1743 of file functional.hh.
RVL::FcnlOpComp< Scalar >::FcnlOpComp | ( | const Functional< Scalar > & | fref, | |
const Operator< Scalar > & | opref | |||
) |
Definition at line 1826 of file functional.hh.
RVL::FcnlOpComp< Scalar >::FcnlOpComp | ( | const FcnlOpComp< Scalar > & | c | ) |
Definition at line 1831 of file functional.hh.
RVL::FcnlOpComp< Scalar >::~FcnlOpComp | ( | ) |
Definition at line 1844 of file functional.hh.
void RVL::FcnlOpComp< Scalar >::apply | ( | const Vector< Scalar > & | x, | |
Scalar & | val | |||
) | const [protected, virtual] |
virtual void RVL::FcnlOpComp< Scalar >::applyGradient | ( | const Vector< Scalar > & | x, | |
Vector< Scalar > & | g | |||
) | const [protected, virtual] |
virtual void RVL::FcnlOpComp< Scalar >::applyHessian | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx, | |||
Vector< Scalar > & | dy | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 1791 of file functional.hh.
References RVL::OperatorEvaluation< Scalar >::getRange().
virtual Functional<Scalar>* RVL::FcnlOpComp< Scalar >::clone | ( | ) | const [protected, virtual] |
virtual copy constructor: make a complete new copy including internal workspace.
Usually implemented with operator new and copy constructor of concrete child class.
Implements RVL::Functional< Scalar >.
Definition at line 1819 of file functional.hh.
const Space<Scalar>& RVL::FcnlOpComp< Scalar >::getDomain | ( | ) | const [virtual] |
access to domain
Implements RVL::Functional< Scalar >.
Definition at line 1850 of file functional.hh.
virtual Scalar RVL::FcnlOpComp< Scalar >::getMaxStep | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | dx | |||
) | const [virtual] |
OperatorEvaluation<Scalar> const& RVL::FcnlOpComp< Scalar >::getOpEval | ( | ) | const |
provides access to any available attributes of latest operator evaluation
Definition at line 1896 of file functional.hh.
FunctionalEvaluation<Scalar> const& RVL::FcnlOpComp< Scalar >::getFcnlEval | ( | ) | const |
provides access to any available attributes of latest operator evaluation
Definition at line 1907 of file functional.hh.
ostream& RVL::FcnlOpComp< Scalar >::write | ( | ostream & | str | ) | const [virtual] |