Declare the AMPLNonlinearFunction class for setting up evaluation and derivatives of nonlinear Functions.
More...
|
| AMPLNonlinearFunction () |
| Default constructor.
|
|
| AMPLNonlinearFunction (Minotaur::UInt i, Minotaur::UInt nvars, ASL *my_asl, bool is_in_obj) |
| Create a nonlinear function for a given constraint. More...
|
|
Minotaur::NonlinearFunctionPtr | cloneWithVars (Minotaur::VariableConstIterator vbeg, int *err) const |
| Make a clone using new variables. More...
|
|
double | eval (const double *x, int *error) |
| Evaluate the function at a given point x. More...
|
|
void | evalGradient (const double *x, double *grad_f, int *error) |
| Evaluate and add gradient at a given point. More...
|
|
void | evalHessian (const double mult, const double *x, const Minotaur::LTHessStor *stor, double *values, int *error) |
| Evaluate and add hessian at a given point. More...
|
|
void | fillHessStor (Minotaur::LTHessStor *) |
| Fill sparsity of hessian into hessian storage. More...
|
|
void | finalHessStor (const Minotaur::LTHessStor *) |
| Finalize hessian preparation. More...
|
|
void | fillJac (const double *, double *, int *) |
| Evaluate and add gradient at a given point to the jacobian. More...
|
|
void | getVars (Minotaur::VariableSet *) |
| Get variables used in this function. More...
|
|
void | multiply (double c) |
| Multiply by a constant. More...
|
|
void | prepJac (Minotaur::VarSetConstIter, Minotaur::VarSetConstIter) |
| Prepare for evaluating sparse jacobian. More...
|
|
void | setVars (Minotaur::VarSetConstIterator vb, Minotaur::VarSetConstIterator ve) |
| Tell what variables are in this function. More...
|
|
void | write (std::ostream &out) const |
| Display the nonlinear function. More...
|
|
| NonlinearFunction () |
| Default constructor.
|
|
virtual | ~NonlinearFunction () |
| Destroy.
|
|
virtual void | addConst (const double d, int &err) |
| Add a constant to the function. More...
|
|
virtual void | sqrRoot (int &err) |
| Change the nonlinear function to its square-root. More...
|
|
virtual NonlinearFunctionPtr | cloneWithVars (VariableConstIterator vbeg, int *err) const =0 |
| Make a clone using new variables. More...
|
|
virtual void | computeBounds (double *lb, double *ub, int *error) |
| Calculate upper and lower bounds on the function using bounds of the variables. More...
|
|
virtual double | eval (const double *x, int *error)=0 |
| Evaluate the function at a given point x. More...
|
|
virtual void | evalGradient (const double *x, double *grad_f, int *error)=0 |
| Evaluate and add gradient at a given point. More...
|
|
virtual void | evalHessian (const double mult, const double *x, const LTHessStor *stor, double *values, int *error)=0 |
| Evaluate and add hessian at a given point. More...
|
|
virtual void | fillHessStor (LTHessStor *stor)=0 |
| Fill sparsity of hessian into hessian storage. More...
|
|
virtual void | fillJac (const double *x, double *values, int *error)=0 |
| Evaluate and add gradient at a given point to the jacobian. More...
|
|
virtual void | finalHessStor (const LTHessStor *stor)=0 |
| Finalize hessian preparation. More...
|
|
virtual std::string | getNlString (int *err) |
| Return a string in AMPL's .nl format (postfix notation) of this nonlinear function. More...
|
|
virtual double | getFixVarOffset (VariablePtr, double) |
| If a variable is fixed at a given value and removed, what is the constant (offset) needed to be added. More...
|
|
virtual FunctionType | getType () const |
| Return the type of function: polynomial, ... More...
|
|
virtual void | getVars (VariableSet *vars)=0 |
| Get variables used in this function. More...
|
|
virtual bool | hasVar (ConstVariablePtr v) const |
| Check if function contains a variable. More...
|
|
virtual bool | isSumOfSquares () const |
| Check if the function is a sum of square terms. More...
|
|
virtual void | multiply (double c)=0 |
| Multiply by a constant. More...
|
|
virtual size_t | numVars () |
| Return the number of variables in this function.
|
|
virtual void | prepJac (VarSetConstIter vbeg, VarSetConstIter vend)=0 |
| Prepare for evaluating sparse jacobian. More...
|
|
virtual void | removeVar (VariablePtr, double) |
| Remove a variable v from the function after fixing it to value val. More...
|
|
virtual void | subst (VariablePtr, VariablePtr, double) |
| Substitute a variable with another. More...
|
|
virtual NonlinearFunctionPtr | getPersp (VariablePtr z, double eps, int *err) const |
| Take perspective of this function with respect to a given variable. More...
|
|
virtual void | varBoundMods (double, double, VarBoundModVector &, SolveStatus *) |
| Tighten variables based on function bounds. More...
|
|
virtual VariableSet::iterator | varsBegin () |
| First iterator for variables. More...
|
|
virtual VariableSet::iterator | varsEnd () |
| Last iterator for variables. More...
|
|
virtual void | write (std::ostream &out) const |
| Display the nonlinear function. More...
|
|
Declare the AMPLNonlinearFunction class for setting up evaluation and derivatives of nonlinear Functions.
This class does not contain the computational graph of the function. Use it only for evaluating function values and derivatives.