From 897d824e285bc385afe0d945e522016c6710ecd3 Mon Sep 17 00:00:00 2001 From: Mark Woolrich <woolrich@fmrib.ox.ac.uk> Date: Tue, 24 Feb 2004 13:27:50 +0000 Subject: [PATCH] *** empty log message *** --- minimize.cc | 2 +- minimize.h | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/minimize.cc b/minimize.cc index b85d1cf..29c2c6c 100644 --- a/minimize.cc +++ b/minimize.cc @@ -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; diff --git a/minimize.h b/minimize.h index a56c58b..918fc10 100644 --- a/minimize.h +++ b/minimize.h @@ -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); } -- GitLab