Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages  

ConcreteFunctional Class Reference
[FunctionAnalysis]

A Functional that doesn't need an EvaluationContext to compute function values and derivatives. More...

#include <Functional.hh>

Inheritance diagram for ConcreteFunctional:

Functional IotrRefCount AmplFunctional CuterFunctional AmplDenseFunctional AmplSparseFunctional CuterDenseFunctional CuterSparseFunctional List of all members.

Public Methods

virtual EvaluationContextevaluate (IotrVector *x, IotrVector *Lm)
 Creates an evalutation context to hold partial computation at a given point.


Protected Methods

virtual void concreteValues (double &obj, IotrVector &c, IotrVector &x)=0
 Computes the value of the constraint and objective functions at the current iterate x.

virtual void concreteGrads (IotrVector &g, GenMatrix &J, IotrVector &x)=0
 Computes the constraint Jacobian and the Lagrangian evaluated at x and Lm.

virtual void concreteHess (SymMatrix &H, IotrVector &x, IotrVector &Lm)=0
 Computes the Hessian evaluated at x and Lm.


Detailed Description

A Functional that doesn't need an EvaluationContext to compute function values and derivatives.


Member Function Documentation

virtual void ConcreteFunctional::concreteGrads IotrVector   g,
GenMatrix   J,
IotrVector   x
[protected, pure virtual]
 

Computes the constraint Jacobian and the Lagrangian evaluated at x and Lm.

concreteValues() contains the implementation for the evaluation of the Jacobian and Lagrangian and is called by grads().

Parameters:
g  the gradient of the objective function
J  the Jacobian of the constraints
x  point at which the objective and constraint function are to be evaluated.

Implemented in AmplDenseFunctional, AmplFunctional, AmplSparseFunctional, CuterDenseFunctional, CuterFunctional, and CuterSparseFunctional.

virtual void ConcreteFunctional::concreteHess SymMatrix   H,
IotrVector   x,
IotrVector   Lm
[protected, pure virtual]
 

Computes the Hessian evaluated at x and Lm.

The actual implementation of this evaluation is contained in concreteHess() which is called by hessian().

Parameters:
H  denotes the Hessian.
Lm  points to the vector whose elements are the Lagrange multipliers.
x  points the current point at which the objective and constraint function are to be evaluated.

Implemented in AmplDenseFunctional, AmplFunctional, AmplSparseFunctional, CuterDenseFunctional, CuterFunctional, and CuterSparseFunctional.

virtual void ConcreteFunctional::concreteValues double &    obj,
IotrVector   c,
IotrVector   x
[protected, pure virtual]
 

Computes the value of the constraint and objective functions at the current iterate x.

This is where the actual evaluation of the functional is implemented. concreteValues() is called by values().

Parameters:
x  the point at which the objective and constraint functions are to be evaluated.
obj  the value of the objective function
c  the value of constraint functions.

Implemented in AmplFunctional, and CuterFunctional.

virtual EvaluationContext* ConcreteFunctional::evaluate IotrVector   x,
IotrVector   Lm
[virtual]
 

Creates an evalutation context to hold partial computation at a given point.

Will return an instance of the class ConcreteEvaluationContext

Parameters:
x  points the current point at which the objective and constraint function are to be evaluated.
Lm  points to the vector whose elements are the Lagrange multipliers.
See also:
ConcreteEvaluationContext

Implements Functional.


The documentation for this class was generated from the following file:
Generated on Wed Aug 27 10:03:42 2003 for iotr by doxygen1.2.18