#include <gams.h>
Inheritance diagram for gamsFunc:
Public Member Functions | |
gamsFunc (int n, int connr_, Pointer< gamsNLData > data_, Pointer< SparsityInfo > sparsity_=NULL) | |
double | eval (const UserVector< double > &x) const |
Computes the value of this function for a UserVector<double>. | |
double | eval (const double *x) const |
int | valgrad (double &val, UserVector< double > &g, const UserVector< double > &x) const |
Computes the (sub)gradient and the value of this function for a UserVector<double>. | |
int | valgrad (double &val, double *g, const double *x) const |
void | grad (UserVector< double > &g, const UserVector< double > &x) const |
Computes the (sub)gradient for a UserVector<double>. | |
void | grad (dvector &g, const dvector &x) const |
void | grad (double *g, const double *x) const |
void | HessMult (UserVector< double > &y, const UserVector< double > &x, const UserVector< double > &z) const |
Evaluates the product of the Hessian and a UserVector<double>. | |
void | HessMult (dvector &y, const dvector &x, const dvector &z) const |
void | HessMult (double *y, const double *x, const double *z) const |
bool | is_interval_compliant () const |
Indicates, whether the function and it's gradient can be evaluated over an interval. | |
interval< double > | eval (const IntervalVector &x) const |
int | valgrad (interval< double > &val, IntervalVector &y, const IntervalVector &x) const |
void | set_curvature (CurvatureType ct) |
CurvatureType | get_curvature () const |
void | print (ostream &out) const |
Print's out the dimension. | |
Private Attributes | |
Pointer< gamsNLData > | data |
int | connr |
Func::CurvatureType | curv_type |
Definition at line 172 of file gams.h.
gamsFunc::gamsFunc | ( | int | n, | |
int | connr_, | |||
Pointer< gamsNLData > | data_, | |||
Pointer< SparsityInfo > | sparsity_ = NULL | |||
) | [inline] |
double gamsFunc::eval | ( | const UserVector< double > & | x | ) | const [inline, virtual] |
Computes the value of this function for a UserVector<double>.
Abstract.
x | The UserVector<double> to compute the value for. |
Implements Func.
double gamsFunc::eval | ( | const double * | x | ) | const |
int gamsFunc::valgrad | ( | double & | val, | |
UserVector< double > & | g, | |||
const UserVector< double > & | x | |||
) | const [inline, virtual] |
Computes the (sub)gradient and the value of this function for a UserVector<double>.
val | The double to store the value this(x). | |
g | The UserVector<double> to store the gradient. | |
x | The UserVector<double> to compute the gradient and value for. |
add_grad(UserVector<double>&, const UserVector<double>&)
add_valgrad(UserVector<double>&, UserVector<double>&, const UserVector<double>&)
Reimplemented from Func.
Definition at line 191 of file gams.h.
References UserVector< Type >::dim().
Referenced by grad().
int gamsFunc::valgrad | ( | double & | val, | |
double * | g, | |||
const double * | x | |||
) | const |
void gamsFunc::grad | ( | UserVector< double > & | g, | |
const UserVector< double > & | x | |||
) | const [inline, virtual] |
Computes the (sub)gradient for a UserVector<double>.
Abstract.
g | The UserVector<double> to store the result in. | |
x | The UserVector<double> to compute the gradient for. |
valgrad(double&, UserVector<double>&, const UserVector<double>&)
add_grad(UserVector<double>&, UserVector<double>&)
add_valgrad(double&, UserVector<double>&, UserVector<double>&)
Implements Func.
Definition at line 200 of file gams.h.
References UserVector< Type >::dim(), and valgrad().
void gamsFunc::grad | ( | double * | g, | |
const double * | x | |||
) | const [inline] |
void gamsFunc::HessMult | ( | UserVector< double > & | y, | |
const UserVector< double > & | x, | |||
const UserVector< double > & | z | |||
) | const [inline, virtual] |
Evaluates the product of the Hessian and a UserVector<double>.
Abstract.
y | The UserVector<double> to store the result in: ![]() | |
x | The UserVector<double> to evaluate the Hessian for. | |
z | The UserVector<double> to multiply with the Hessian. |
Implements Func.
Definition at line 218 of file gams.h.
References UserVector< Type >::dim().
Referenced by HessMult().
void gamsFunc::HessMult | ( | double * | y, | |
const double * | x, | |||
const double * | z | |||
) | const |
bool gamsFunc::is_interval_compliant | ( | ) | const [inline, virtual] |
interval<double> gamsFunc::eval | ( | const IntervalVector & | x | ) | const [virtual] |
Reimplemented from Func.
int gamsFunc::valgrad | ( | interval< double > & | val, | |
IntervalVector & | y, | |||
const IntervalVector & | x | |||
) | const [virtual] |
Reimplemented from Func.
void gamsFunc::set_curvature | ( | CurvatureType | ct | ) | [inline] |
CurvatureType gamsFunc::get_curvature | ( | ) | const [inline, virtual] |
void gamsFunc::print | ( | ostream & | out | ) | const [inline, virtual] |
Pointer<gamsNLData> gamsFunc::data [private] |
int gamsFunc::connr [private] |
Func::CurvatureType gamsFunc::curv_type [private] |