class HCL_BlockBiLinearOp_d : public HCL_BiLinearOp_d

HCL_BlockBiLinearOp_d implements a bilinear operator of the following form: , where and each is a bilinear operator

Inheritance:


Public Methods

HCL_BlockBiLinearOp_d ( HCL_ProductSpace_d * d1, HCL_ProductSpace_d * d2, HCL_VectorSpace_d * r )
Usual constructor; just needs domains and range (blocks must be set using Set
void Set ( int i, int j, HCL_BiLinearOp_d * Bij )
Set sets the (i,j) bilinear operator
int Initialized () const
Initialized is a boolean that indicates whether the operator has been initialized or not
int IsSet ( int i, int j ) const
IsSet is a boolean that indicates whether the (i,j) block has been initialized
HCL_BiLinearOp_d& operator) ( int i, int j ) const
The index operator returns a reference to the (i,j) block
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 of the 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 )

Protected Methods

virtual void PartialAdjImage( int i, const HCL_Vector_d & xy, const HCL_Vector_d & z, HCL_Vector_d & yx ) const

Inherited from HCL_Base:

Public Methods

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

Documentation

HCL_BlockBiLinearOp_d implements a bilinear operator of the following form: , where and each is a bilinear operator. The primary purpose for this class is to represent the second derivative of an operator defined on a product space in terms of it partial derivatives. In that case, , , and .

For more details on bilinear operators, see the documentation for HCL_BiLinearOp_d.

HCL_BlockBiLinearOp_d( HCL_ProductSpace_d * d1, HCL_ProductSpace_d * d2, HCL_VectorSpace_d * r )
Usual constructor; just needs domains and range (blocks must be set using Set

void Set( int i, int j, HCL_BiLinearOp_d * Bij )
Set sets the (i,j) bilinear operator. Note that this method must be called for each (i,j) after the block bilinear operator is constructed in order to initialize it.

int Initialized() const
Initialized is a boolean that indicates whether the operator has been initialized or not

int IsSet( int i, int j ) const
IsSet is a boolean that indicates whether the (i,j) block has been initialized

HCL_BiLinearOp_d& operator)( int i, int j ) const
The index operator returns a reference to the (i,j) block

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 an 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 of the operator


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