This class represents an "evaluation" object that will be created by a HCL_OpDeriv2Adj_d object to implement the image and derivative of the operator at a point
![]() | DerivAdj () DerivAdj computes the derivative of the operator |
![]() | Domain () Domain returns a reference to the domain of the underlying operator |
![]() | Image ( HCL_Vector_d & y ) Image computes the image of the operator. |
![]() | Range () Range returns a reference to the range of the underlying operator. |
![]() | SecondDerivAdj () SecondDerivAdj computes the second derivative of the operator |
![]() | SecondDerivAdjRef () SecondDerivAdjRef returns a reference to the second derivative at this point |
![]() | Write ( ostream & str ) Debugging information |
This class represents an "evaluation" object that will be created by a HCL_OpDeriv2Adj_d object to implement the image and derivative of the operator at a point. The purpose of having an evaluation object is to deal with the common situation in which the operator image and derivatives share some intermediate calculations. A typical implementation of such an operator involves defining an evaluation object whose constructor performs these intermediate calculations. The Image method then completes the computation of the functional value, while the DerivAdj and SecondDerivAdj methods complete the calculation of the derivatives.The operator image and derivatives should then be accessed through the ImageRef, DerivAdjRef, and SecondDerivAdjRef methods. These are methods implemented in the base class (i.e. they do not need to be redefined in a derived class). The ImageRef method invokes Image to get the image and returns a reference to it. On subsequent calls, ImageRef merely references the stored value. DerivAdjRef and SecondDerivAdjRef work in a similar fashion; note that these method manage the storage; the calling program does not need to allocate storage.
Here is a summary of the primary methods of this class:
- Domain Returns a reference to the domain of the underlying operator.
- Range Returns a reference to the range of the underlying operator.
- Image Computes the image of the operator at the point at which this object was created. Must be implemented by the creator of a concrete class.
- ImageRef Calls Image, if necessary, to compute the operator image, saves it, and returns it. Implemented in the base class.
- DerivAdj Computes the derivative of the operator, at the point at which this object was created, as a HCL_LinearOpAdj_d. Must be implemented by the creator of a concrete class.
- DerivAdjRef Calls DerivAdj, if necessary, to compute the derivatives, saves it, and returns a reference to it. Implemented in the base class.
- SecondDerivAdj Computes the second derivative of the operator, at the point at which this object was created, as a HCL_BiLinearOpAdj_d. Must be implemented by the creator of a concrete class.
- SecondDerivAdjRef Calls SecondDerivAdj, if necessary, to compute the second derivative, saves it, and returns a reference to it. Implemented in the base class.
virtual HCL_VectorSpace_d& Range()
virtual void Image( HCL_Vector_d & y )
virtual HCL_LinearOpAdj_d* DerivAdj()
virtual const HCL_BiLinearOpAdj_d& SecondDerivAdjRef()
virtual HCL_BiLinearOpAdj_d* SecondDerivAdj()
virtual ostream& Write( ostream & str )
this page has been generated automatically by doc++
(c)opyright by Malte Zöckler, Roland Wunderling
contact: doc++@zib.de