#include <ls.hh>
Inheritance diagram for RVL::EuclideanForm< Scalar >:
Public Member Functions | |
EuclideanForm (const Space< Scalar > &_sp) | |
EuclideanForm (const EuclideanForm< Scalar > &q) | |
~EuclideanForm () | |
const Space< Scalar > & | getDomain () 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 > &delx, Vector< Scalar > &dely) const |
virtual Functional< Scalar > * | clone () const |
Note that this form is differentiable over the reals, and the gradient provided is its derivative. However it is actually not differentiable for complex Scalar types, and accordingly the derivative test would fail.
A call to testRealOnly is included to catch this point at compile time.
Definition at line 223 of file ls.hh.
RVL::EuclideanForm< Scalar >::EuclideanForm | ( | const Space< Scalar > & | _sp | ) |
RVL::EuclideanForm< Scalar >::EuclideanForm | ( | const EuclideanForm< Scalar > & | q | ) |
RVL::EuclideanForm< Scalar >::~EuclideanForm | ( | ) |
void RVL::EuclideanForm< Scalar >::apply | ( | const Vector< Scalar > & | x, | |
Scalar & | val | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 232 of file ls.hh.
References RVL::Vector< Scalar >::getSpace(), and RVL::Vector< Scalar >::inner().
void RVL::EuclideanForm< Scalar >::applyGradient | ( | const Vector< Scalar > & | x, | |
Vector< Scalar > & | g | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 249 of file ls.hh.
References RVL::Vector< Scalar >::copy(), and RVL::Vector< Scalar >::getSpace().
void RVL::EuclideanForm< Scalar >::applyHessian | ( | const Vector< Scalar > & | x, | |
const Vector< Scalar > & | delx, | |||
Vector< Scalar > & | dely | |||
) | const [protected, virtual] |
Implements RVL::Functional< Scalar >.
Definition at line 266 of file ls.hh.
References RVL::Vector< Scalar >::copy(), and RVL::Vector< Scalar >::getSpace().
virtual Functional<Scalar>* RVL::EuclideanForm< Scalar >::clone | ( | ) | const [protected, virtual] |
const Space<Scalar>& RVL::EuclideanForm< Scalar >::getDomain | ( | ) | const [virtual] |
ostream& RVL::EuclideanForm< Scalar >::write | ( | ostream & | str | ) | const [virtual] |