KASKADE 7 development version
Public Member Functions | List of all members
Kaskade::AbstractLinearization Class Referenceabstract

Abstract linearization. More...

#include <abstract_interface.hh>

Detailed Description

Abstract linearization.

Given a nonlinear functional, this class represents second order information at the point of linearization

Definition at line 166 of file abstract_interface.hh.

Inheritance diagram for Kaskade::AbstractLinearization:
Kaskade::AbstractConnectedLinearization Kaskade::Bridge::KaskadeLinearization< Functional > Kaskade::LagrangeLinearization

Public Member Functions

virtual double eval () const =0
 Evaluate functional. More...
 
virtual double evalL1norm () const =0
 Evaluate L1 norm of integrand. More...
 
virtual void evald (AbstractFunctionSpaceElement &g, int rbegin=0, int rend=-1) const =0
 Evaluate derivative. More...
 
void ddxpy (AbstractFunctionSpaceElement &y, AbstractFunctionSpaceElement const &x, int rbegin=0, int rend=-1, int cbegin=0, int cend=-1) const
 Evaluate hessian times second argument: y = y+ddf*x. More...
 
void ddtxpy (AbstractFunctionSpaceElement &y, AbstractFunctionSpaceElement const &x, int rbegin=0, int rend=-1, int cbegin=0, int cend=-1) const
 Evaluate hessian times second argument: y = y+ddf*x. More...
 
virtual void d2axpy (double a, AbstractFunctionSpaceElement &y, AbstractFunctionSpaceElement const &x, int rbegin=0, int rend=-1, int cbegin=0, int cend=-1) const =0
 Evaluate hessian times second argument: y = y+a*ddf*x. More...
 
virtual void d2taxpy (double a, AbstractFunctionSpaceElement &y, AbstractFunctionSpaceElement const &x, int rbegin=0, int rend=-1, int cbegin=0, int cend=-1) const =0
 Evaluate hessian times second argument: y = y+a*ddf*x. More...
 
virtual void getMatrixBlocks (MatrixAsTriplet< double > &mat, int rbegin=0, int rend=-1, int cbegin=0, int cend=-1) const =0
 Access matrix representation if available. More...
 
virtual AbstractFunctionSpaceElement const & getOrigin () const =0
 Get point of linearization. More...
 
virtual void precompute ()=0
 
virtual void flush ()=0
 
virtual ~AbstractLinearization ()
 

Constructor & Destructor Documentation

◆ ~AbstractLinearization()

virtual Kaskade::AbstractLinearization::~AbstractLinearization ( )
inlinevirtual

Definition at line 198 of file abstract_interface.hh.

Member Function Documentation

◆ d2axpy()

virtual void Kaskade::AbstractLinearization::d2axpy ( double  a,
AbstractFunctionSpaceElement y,
AbstractFunctionSpaceElement const &  x,
int  rbegin = 0,
int  rend = -1,
int  cbegin = 0,
int  cend = -1 
) const
pure virtual

Evaluate hessian times second argument: y = y+a*ddf*x.

Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::LagrangeLinearization.

Referenced by ddxpy().

◆ d2taxpy()

virtual void Kaskade::AbstractLinearization::d2taxpy ( double  a,
AbstractFunctionSpaceElement y,
AbstractFunctionSpaceElement const &  x,
int  rbegin = 0,
int  rend = -1,
int  cbegin = 0,
int  cend = -1 
) const
pure virtual

Evaluate hessian times second argument: y = y+a*ddf*x.

Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::LagrangeLinearization.

Referenced by ddtxpy().

◆ ddtxpy()

void Kaskade::AbstractLinearization::ddtxpy ( AbstractFunctionSpaceElement y,
AbstractFunctionSpaceElement const &  x,
int  rbegin = 0,
int  rend = -1,
int  cbegin = 0,
int  cend = -1 
) const
inline

Evaluate hessian times second argument: y = y+ddf*x.

Definition at line 181 of file abstract_interface.hh.

◆ ddxpy()

void Kaskade::AbstractLinearization::ddxpy ( AbstractFunctionSpaceElement y,
AbstractFunctionSpaceElement const &  x,
int  rbegin = 0,
int  rend = -1,
int  cbegin = 0,
int  cend = -1 
) const
inline

Evaluate hessian times second argument: y = y+ddf*x.

Definition at line 176 of file abstract_interface.hh.

◆ eval()

virtual double Kaskade::AbstractLinearization::eval ( ) const
pure virtual

◆ evald()

virtual void Kaskade::AbstractLinearization::evald ( AbstractFunctionSpaceElement g,
int  rbegin = 0,
int  rend = -1 
) const
pure virtual

◆ evalL1norm()

virtual double Kaskade::AbstractLinearization::evalL1norm ( ) const
pure virtual

Evaluate L1 norm of integrand.

Implemented in Kaskade::Bridge::KaskadeLinearization< Functional >, and Kaskade::LagrangeLinearization.

◆ flush()

virtual void Kaskade::AbstractLinearization::flush ( )
pure virtual

◆ getMatrixBlocks()

virtual void Kaskade::AbstractLinearization::getMatrixBlocks ( MatrixAsTriplet< double > &  mat,
int  rbegin = 0,
int  rend = -1,
int  cbegin = 0,
int  cend = -1 
) const
pure virtual

Access matrix representation if available.

Implemented in Kaskade::LagrangeLinearization.

◆ getOrigin()

virtual AbstractFunctionSpaceElement const & Kaskade::AbstractLinearization::getOrigin ( ) const
pure virtual

◆ precompute()

virtual void Kaskade::AbstractLinearization::precompute ( )
pure virtual

The documentation for this class was generated from the following file: