HCL_Op_d is the base class for (presumably nonlinear) operators
![]() | CheckPartialDeriv ( const HCL_Vector_d &, const HCL_Vector_d &, int ind, ostream & str, int n=10, double hmin=0.1, double hmax=1.0 ) Check partial derivatives |
![]() | 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 space access |
![]() | Domain () Domain returns a reference to the domain of the underlying operator |
![]() | Domain () Domain space access |
![]() | EvaluateDerivAdj ( const HCL_Vector_d & x ) EvaluateDerivAdj creates an evaluation object which knows how to compute the image and the derivative (as a linear operator with adjoint) at a point |
![]() | HCL_EvalOpProductDomainDerivAdj_d ( int n ) Constructor called by derived classes; needs the number of factors in the domain space |
![]() | Image ( HCL_Vector_d & y ) Image computes the image of the operator. |
![]() | Image ( const HCL_Vector_d & x, HCL_Vector_d & y ) Image computes the image of x under the operator, giving y |
![]() | MaxStep ( const HCL_Vector_d & x, const HCL_Vector_d &dir) MaxStep computes the longest vector from x in the direction dir that will lie in the domain of definition of the operator, i |
![]() | PartialDerivAdj ( const HCL_Vector_d & x, int i ) PartialDerivAdj computes the partial derivative of the operator, with respect to the ith component of the independent variable |
![]() | PartialDerivAdj ( int i ) PartialDerivAdj computes the partial derivative, with respect to the ith variable, as a linear operator with adjoint |
![]() | PartialDerivAdjRef ( int i ) PartialDerivAdjRef returns a reference to the partial derivative with respect to the ith variable |
![]() | ProductDomain () Access to the domain, explicitly as a product vector space |
![]() | ProductDomain () ProductDomain returns a reference to the domain as a product vector space |
![]() | Range () Range space access |
![]() | Range () Range returns a reference to the range of the underlying operator. |
![]() | Range () Range space access |
![]() | Write ( ostream & str ) Debugging information |
![]() | Write ( ostream & str ) Debugging information |
![]() | Write ( ostream & str ) Debugging information |
HCL_Op_d is the base class for (presumably nonlinear) operators. Such an operator maps one vector space into another, say F:X --> Y.The primary methods of this class are:
- Domain Returns a reference to the domain of the operator. This is used primarily for error-checking.
- Range Returns a reference to the range of the operator. This is used primarily for error-checking.
- Image Computes the action of the operator on a vector. Here is an example illustrating the use of Domain, Range, and Image:
void fcn( HCL_Op_d & F,HCL_Vector_d & x,HCL_Vector_d & y ) { if( x.Space() != F.Domain() || y.Space() != F.Range() ) // Error condition . . . F.Image( x,y ); // y <-- F(x) . . . }Defining operators is expected to be one of the main activities of users of HCL, since the many optimization problems involve operators in the definition of the objective function or constraints. Please see one of the test programs that comes in the HCLtest directory for examples.
virtual HCL_VectorSpace_d& Domain()
virtual HCL_ProductVectorSpace_d& ProductDomain()
virtual HCL_VectorSpace_d& Range()
virtual void Image( HCL_Vector_d & y )
virtual HCL_LinearOpAdj_d* DerivAdj()
virtual const HCL_LinearOpAdj_d& DerivAdjRef()
virtual HCL_LinearOpAdj_d* PartialDerivAdj( int i )
virtual const HCL_LinearOpAdj_d& PartialDerivAdjRef( int i )
virtual ostream& Write( ostream & str )
virtual HCL_VectorSpace_d& Domain()
virtual HCL_ProductVectorSpace_d& ProductDomain()
virtual HCL_VectorSpace_d& Range()
virtual HCL_EvaluateOpDerivAdj_d* EvaluateDerivAdj( const HCL_Vector_d & x )
virtual HCL_LinearOpAdj_d* PartialDerivAdj( const HCL_Vector_d & x, int i )
int CheckPartialDeriv( const HCL_Vector_d &, const HCL_Vector_d &, int ind, ostream & str, int n=10, double hmin=0.1, double hmax=1.0 )
virtual ostream& Write( ostream & str )
virtual HCL_VectorSpace_d& Domain()
virtual HCL_VectorSpace_d& Range()
virtual double MaxStep( const HCL_Vector_d & x, const HCL_Vector_d &dir)
virtual void Image( const HCL_Vector_d & x, HCL_Vector_d & y )
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