Skip to content
Snippets Groups Projects
Commit 897d824e authored by Mark Woolrich's avatar Mark Woolrich
Browse files

*** empty log message ***

parent eeedb54a
No related branches found
No related tags found
No related merge requests found
......@@ -193,7 +193,7 @@ ReturnMatrix hessian(const ColumnVector& x, const EvalFunction& func, float h,in
}
void minimize(ColumnVector& x, const EvalFunction& func){
void fminsearch(ColumnVector& x, const EvalFunction& func){
//perform generic function minimization without gradient info
int n=x.Nrows(), maxiter=200*n,iter=0;
int func_evals=0;
......
......@@ -42,7 +42,7 @@ public:
};
class EvalFunction
{//Function where gradient is not analytic (or you are too lazy to work it out)
{//Function where gradient is not analytic (or you are too lazy to work it out) (required for fminsearch)
public:
EvalFunction(){}
virtual float evaluate(const ColumnVector& x) const = 0; //evaluate the function
......@@ -56,11 +56,12 @@ private:
class gEvalFunction : public EvalFunction
{//Function where gradient is analytic (required for scg)
public:
gEvalFunction() : EvalFunction(){}
// evaluate is inherited from EvalFunction
// virtual float evaluate(const ColumnVector& x) const = 0; //evaluate the function
virtual ColumnVector g_evaluate(const ColumnVector& x) const = 0; //evaluate the gradient
virtual ReturnMatrix g_evaluate(const ColumnVector& x) const = 0; //evaluate the gradient
virtual ~gEvalFunction(){};
private:
......@@ -80,8 +81,8 @@ ReturnMatrix gradient(const ColumnVector& x, const EvalFunction& func,float h,in
ReturnMatrix hessian(const ColumnVector& x, const EvalFunction& func,float h,int errorord=4);// finite diff hessian
void fminsearch(ColumnVector& x, const EvalFunction& func);
void minimize(ColumnVector& x, const EvalFunction& func);
void scg(ColumnVector& x, const gEvalFunction& func);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment