class HCL_OpDefaultSecondPartialDeriv_d : public HCL_BiLinearOp_d

HCL_OpDefaultSecondPartialDeriv_d is a linear operator class implementing a second partial derivative of a nonlinear operator

Inheritance:


Public Methods

HCL_OpDefaultSecondPartialDeriv_d ( int i, int j, const HCL_EvalOpProductDomain_d * ev )
Usual constructor; just need an operator's evaluation object
virtual HCL_VectorSpace_d& Domain1 () const
Access to the domain of the first argument
virtual HCL_VectorSpace_d& Domain2 () const
Access to the domain of the second argument
virtual HCL_VectorSpace_d& Range () const
Access to the range
virtual void Image ( const HCL_Vector_d & x, const HCL_Vector_d & y, HCL_Vector_d & z ) const
Image computes the action of the operator on the pair (x,y), giving z.
virtual ostream& Write ( ostream & str ) const
Write prints a description of the object

Protected Methods

virtual void PartialAdjImage ( int flag, const HCL_Vector_d & xy, const HCL_Vector_d & z, HCL_Vector_d & yx ) const
PartialAdjImage computes the action of the so-called "partial adjoint" of the bilinear operator

Inherited from HCL_BiLinearOp_d:

Public Methods

virtual HCL_LinearOp_d* Op1( const HCL_Vector_d & x ) const
virtual HCL_LinearOp_d* Op2( const HCL_Vector_d & y ) const
virtual HCL_LinearOp_d* Op3( const HCL_Vector_d & z ) const
int CheckAdj( int Display = 1, double tol = 1000 )

Inherited from HCL_Base:

Public Methods

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

Documentation

HCL_OpDefaultSecondPartialDeriv_d is a linear operator class implementing a second partial derivative of a nonlinear operator. It exists to relieve the implementor of an operator class from the necessity of creating a distinct class to represent the derivative if there is no (efficiency) advantage gained by creating such a class. In order to use this default derivative class, the implementor of the operator class must implement the protected virtual functions SecondPartialDerivImage and SecondPartialDerivPartialAdjImage.

The various mechanisms for implementing operator classes are explained in detail, with concrete examples, in the report

"Implementing operators in HCL", Technical Report 99-22, Department of Computational and Applied Mathematics, Rice University, Houston, TX 77251-1892.

A forthcoming report, "Implementing HCL functionals and operators on product spaces", will provide similar details about implementing operators on product spaces. This report should be available from the same source in early 2000.

virtual void PartialAdjImage( int flag, const HCL_Vector_d & xy, const HCL_Vector_d & z, HCL_Vector_d & yx ) const
PartialAdjImage computes the action of the so-called "partial adjoint" of the bilinear operator. If B represents the operator, then this method computes (if flag==1) or (if flag==2).

HCL_OpDefaultSecondPartialDeriv_d( int i, int j, const HCL_EvalOpProductDomain_d * ev )
Usual constructor; just need an operator's evaluation object

virtual HCL_VectorSpace_d& Domain1() const
Access to the domain of the first argument. Returns a reference to an HCL_VectorSpace_d.

virtual HCL_VectorSpace_d& Domain2() const
Access to the domain of the second argument. Returns a reference to an HCL_VectorSpace_d.

virtual HCL_VectorSpace_d& Range() const
Access to the range. Returns a reference to a HCL_VectorSpace_d.

virtual void Image( const HCL_Vector_d & x, const HCL_Vector_d & y, HCL_Vector_d & z ) const
Image computes the action of the operator on the pair (x,y), giving z.

virtual ostream& Write( ostream & str ) const
Write prints a description of the object


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