1 #ifndef FITNEWTON_NEWTONMINIMIZERGRADHESSIAN_H
2 #define FITNEWTON_NEWTONMINIMIZERGRADHESSIAN_H
10 class FunctionGradHessian;
19 bool minimize(
const Eigen::VectorXd& start_point, Eigen::VectorXd& min_point,
double tol=0x1.0p-30,
unsigned int max_iter=1024,
double abs_tol=0.);
20 bool findSaddlePoint(
const Eigen::VectorXd& start_point, Eigen::VectorXd& min_point,
double tol=0x1.0p-30,
unsigned int max_iter=1024,
double abs_tol=0.);
27 bool zoom(
const double& wolfe1,
const double& wolfe2,
double& lo,
double& hi, Eigen::VectorXd& try_grad, Eigen::VectorXd& direction,
double& grad0_dir,
double& val0,
double& val_lo, Eigen::VectorXd& init_params, Eigen::VectorXd& try_params,
unsigned int max_iter,
double& result);
28 bool lineSearch(
double&
alpha,
const double& wolfe1,
const double& wolfe2, Eigen::VectorXd& try_grad, Eigen::VectorXd& direction,
double& grad0_dir,
double& val0, Eigen::VectorXd& init_params, Eigen::VectorXd& try_params,
const double&
precision,
const double& accuracy,
unsigned int max_iter,
double& result);