class HCL_EvalLSFcnlGNProductDomain_d : public HCL_EvalFunctionalProductDomain_d

HCL_EvalLSFcnlGNProductDomain_d is the evaluation object for the functional class HCL_LeastSquareFcnlGNProductDomain_d, which implements a least-squares functional based on a nonlinear operator

Inheritance:


Public Methods

HCL_EvalLSFcnlGNProductDomain_d ( const HCL_ProductVector_d & Input, HCL_OpProductDomain_d * Operator, HCL_Vector_d * Data)
Usual constructor
virtual HCL_VectorSpace_d& Domain () const
Domain space access; returns a reference to the vector space defining the domain of the functional
virtual double Value () const
Value computes the value of the functional.
virtual void PartialGradient ( int i, HCL_Vector_d & g ) const
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable
virtual HCL_LinearOp_d* Hessian () const
Hessian computes the Hessian of the function
virtual HCL_LinearOp_d* HessianBlock ( int i, int j ) const
HessianBlock creates the (i,j) block of the Hessian, as a linear operator
virtual ostream& Write ( ostream & str ) const
Write invokes the Write method for the underlying objects (operator and data)

Inherited from HCL_EvalFunctionalProductDomain_d:

Public Methods

virtual HCL_ProductSpace_d& ProductDomain() const
virtual void Gradient( HCL_Vector_d & g ) const
virtual const HCL_Vector_d& GradientRef() const
virtual const HCL_Vector_d& PartialGradientRef( int i ) const
virtual const HCL_LinearOp_d& HessianRef() const
virtual const HCL_LinearOp_d& HessianBlockRef( int i, int j ) const

Protected Methods

virtual void HessianBlockImage( int i, int j, const HCL_Vector_d & dxj, HCL_Vector_d & dxi ) const

Inherited from HCL_EvaluateFunctional_d:

Public Methods

virtual double ValueRef() const

Protected Methods

virtual void HessianImage( const HCL_Vector_d & dx, HCL_Vector_d & dy ) const
virtual void HessianInvImage( const HCL_Vector_d & dy, HCL_Vector_d & dx ) const

Inherited from HCL_Base:

Public Methods

void IncCount() const
void DecCount() const
int Count() const

Documentation

HCL_EvalLSFcnlGNProductDomain_d is the evaluation object for the functional class HCL_LeastSquareFcnlGNProductDomain_d, which implements a least-squares functional based on a nonlinear operator. The suffix "GN" indicates that the Gauss-Newton approximation to the Hessian is used, while the term "ProductDomain" indicates that the operator (and hence the least-squares functional) is defined on a product space. See the documentation for HCL_LeastSquaresFcnlGNProductDomain_d and HCL_EvalFunctionalProductDomain_d for more information.
HCL_EvalLSFcnlGNProductDomain_d( const HCL_ProductVector_d & Input, HCL_OpProductDomain_d * Operator, HCL_Vector_d * Data)
Usual constructor. The constructor requires (a reference to) the input vector and pointers to the operator and data. Note that an independent copy of the input vector is made.

virtual HCL_VectorSpace_d& Domain() const
Domain space access; returns a reference to the vector space defining the domain of the functional

virtual double Value() const
Value computes the value of the functional.

virtual void PartialGradient( int i, HCL_Vector_d & g ) const
PartialGradient computes the component of the gradient corresponding to the ith component of the independent variable

virtual HCL_LinearOp_d* Hessian() const
Hessian computes the Hessian of the function. This method is re-defined in this class because, when the entire Hessian is desired, it can be provided more efficiently as the composition of the derivative and its adjoint, rather than as a block operator.

virtual HCL_LinearOp_d* HessianBlock( int i, int j ) const
HessianBlock creates the (i,j) block of the Hessian, as a linear operator

virtual ostream& Write( ostream & str ) const
Write invokes the Write method for the underlying objects (operator and data)


This class has no child classes.

alphabetic index hierarchy of classes


this page has been generated automatically by doc++

(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de