HCL_OpPDDefaultEval_d is the default "evaluation" class for nonlinear operators defined on product spaces
HCL_OpPDDefaultEval_d ( const HCL_OpProductDomain_d * op, const HCL_ProductVector_d & in ) Usual constructor; requires a pointer to an operator and a reference to the input vector | |
virtual HCL_VectorSpace_d& | Domain () const Domain returns a reference to the domain of the underlying operator |
virtual HCL_VectorSpace_d& | Range () const Range returns a reference to the range of the underlying operator. |
virtual void | Image ( HCL_Vector_d & y ) const Image computes the image of the operator and assigns it to y. |
virtual HCL_LinearOp_d* | PartialDeriv ( int i ) const PartialDeriv computes a partial derivative of the operator |
virtual HCL_BiLinearOp_d* | SecondPartialDeriv ( int i, int j ) const SecondPartialDeriv computes a second partial derivative of the operator |
virtual ostream& | Write ( ostream & str ) const Debugging information |
virtual void | PartialDerivImage ( int i, const HCL_Vector_d & dx, HCL_Vector_d & dy ) const DerivImage computes the image of the derivative on dx, yielding dy |
virtual void | PartialDerivAdjImage ( int i, const HCL_Vector_d & dy, HCL_Vector_d & dx ) const DerivAdjImage computes the image of the adjoint on dy, yielding dx |
virtual void | PartialDerivInvImage ( int i, const HCL_Vector_d & dy, HCL_Vector_d & dx ) const DerivInvImage computes the image of the inverse on dy, yielding dx |
virtual void | PartialDerivInvAdjImage ( int i, const HCL_Vector_d & dx, HCL_Vector_d & dy ) const DerivInvAdjImage computes the image of the inverse of the adjoint on dx, yielding dy |
virtual void | SecondPartialDerivImage ( int i, int j, const HCL_Vector_d & dxj, const HCL_Vector_d & dxi, HCL_Vector_d & dy ) const SecondPartialDerivImage computes the image of the second partial derivative on (dxi,dxj), yielding dy |
virtual void | SecondPartialDerivPartialAdjImage ( int i, int j, int flag, const HCL_Vector_d & dxij, const HCL_Vector_d & dy, HCL_Vector_d & dxji ) const SecondPartialDerivPartialAdjImage computes the action of the so-called "partial adjoint" of the second partial derivative acting This and the other protected methods call the corresponding methods from the underlying operator |
HCL_OpPDDefaultEval_d is the default "evaluation" class for nonlinear operators defined on product spaces. If is a nonlinear operator represented by an instance of HCL_OpProductDomain_d (and X is a product space), then the corresponding evaluation class represents the triple In many cases, there is a significant efficiency advantage to creating a specific evaluation class for a given operator, since then intermediate calculations that are common to the image, derivative, and second derivative can be re-used. However, if there is no such efficiency advantage to be gained, then the default evaluation class HCL_OpPDDefaultEval_d can be used. This requires that certain protected virtual functions from HCL_OpProductDomain_d be implemented in the derived operator class.The various mechanisms for implementing evaluation 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.
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