Class to represent a Monom. More...
#include <polynom.h>
Public Member Functions | |
Monom (int dim_, MultiIndex &indices_) | |
Constructor for a MultiIndex of indices. | |
double | eval (const UserVector< double > &x) const |
Computes the value of this function for a UserVector<double>. | |
void | grad (UserVector< double > &grad, const UserVector< double > &x) const |
Computes the (sub)gradient for a UserVector<double>. | |
void | HessMult (UserVector< double > &y, const UserVector< double > &x, const UserVector< double > &z) const |
Computes the multiplication of the hessian of this Monom with a UserVector. | |
double | part_derivate (const UserVector< double > &x, const MultiIndex &ind) const |
Gives a partial derivate in a point. | |
virtual void | set_curvature (CurvatureType ct) |
virtual CurvatureType | get_curvature () const |
void | print (ostream &out) const |
Print's out the dimension. | |
Private Member Functions | |
double | part_derivate_rek (const UserVector< double > &x, MultiIndex &alpha, MultiIndex &beta) const |
Recursive algorithm to compute a partial derivate of a Monom. | |
Private Attributes | |
MultiIndex | indices |
Class to represent a Monom.
Definition at line 66 of file polynom.h.
Monom::Monom | ( | int | dim_, | |
MultiIndex & | indices_ | |||
) | [inline] |
Constructor for a MultiIndex of indices.
dim_ | The dimension of this function. | |
indices_ | The indices, for which this class represents the monom. If an empty set is given, this monom will be the constant function 1. |
double Monom::part_derivate_rek | ( | const UserVector< double > & | x, | |
MultiIndex & | alpha, | |||
MultiIndex & | beta | |||
) | const [private] |
Recursive algorithm to compute a partial derivate of a Monom.
Computes
x | The UserVector, for which we want to compute the derivative. | |
alpha | The indices, which are left in our Monom. | |
beta | The indices, we need to derive for. |
double Monom::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.
void Monom::grad | ( | UserVector< double > & | g, | |
const UserVector< double > & | x | |||
) | const [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. |
Implements Func.
void Monom::HessMult | ( | UserVector< double > & | y, | |
const UserVector< double > & | x, | |||
const UserVector< double > & | z | |||
) | const [virtual] |
Computes the multiplication of the hessian of this Monom with a UserVector.
Sets
y | The UserVector to store the result in. | |
x | The UserVector to compute the hessian for. | |
z | The UserVector to multiply with. |
Implements Func.
double Monom::part_derivate | ( | const UserVector< double > & | x, | |
const MultiIndex & | ind | |||
) | const [inline] |
Gives a partial derivate in a point.
x | The point to compute the derivative for. | |
ind | The index-set of variables, which we want to derive. |
virtual void Monom::set_curvature | ( | CurvatureType | ct | ) | [inline, virtual] |
virtual CurvatureType Monom::get_curvature | ( | ) | const [inline, virtual] |
void Monom::print | ( | ostream & | out | ) | const [inline, virtual] |
MultiIndex Monom::indices [private] |