This class represents an "evaluation" object that will be created by a HCL_OpDerivAdj_d object to implement the image and derivative of the operator at a point
![]() | Deriv () Deriv computes the derivative of the operator |
![]() | DerivAdj () DerivAdj computes the derivative, as a linear operator with adjoint, of the operator |
![]() | DerivAdjRef () DerivAdjRef returns a reference to the derivative at this point |
![]() | Domain () Domain returns a reference to the domain of the underlying operator |
![]() | Image ( HCL_Vector_d & y ) Image computes the image of the operator. |
![]() | ImageRef () ImageRef returns a reference to the image of the operator at this point |
![]() | Range () Range returns a reference to the range of the underlying operator. |
![]() | Write ( ostream & str ) Debugging information |
This class represents an "evaluation" object that will be created by a HCL_OpDerivAdj_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 method completes the calculation of the derivative.The operator image and derivative should then be accessed through the ImageRef and DerivAdjRef 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 works 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 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 const HCL_Vector_d& ImageRef()
virtual HCL_LinearOp_d* Deriv()
virtual const HCL_LinearOpAdj_d& DerivAdjRef()
virtual HCL_LinearOpAdj_d* DerivAdj()
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