21#ifndef VOTCA_XTP_BFGS_TRM_H
22#define VOTCA_XTP_BFGS_TRM_H
48 void setCallbacks(
const std::vector<std::function<
void()> >& callbacks) {
54 void Optimize(
const Eigen::VectorXd& initialparameters);
71 const Eigen::VectorXd& delta_gradient);
73 const Eigen::VectorXd& delta_pos)
const;
75 const Eigen::VectorXd& gradient,
double energy_delta);
86 double cost_ = std::numeric_limits<double>::max();
BFGSTRM(Optimiser_costfunction &costfunction)
void Optimize(const Eigen::VectorXd &initialparameters)
const Eigen::VectorXd getParameters() const
Index getIteration() const
Eigen::VectorXd parameters_
double QuadraticEnergy(const Eigen::VectorXd &gradient, const Eigen::VectorXd &delta_pos) const
std::string getErrorMessage() const
bool AcceptRejectStep(const Eigen::VectorXd &delta_pos, const Eigen::VectorXd &gradient, double energy_delta)
void setTrustRadius(double trust_radius)
std::string errormessage_
void setNumofIterations(Index iterations)
void setLog(Logger *pLog)
Optimiser_costfunction & costfunction_
void setInitialHessian(const Eigen::MatrixXd &hessian)
void UpdateHessian(const Eigen::VectorXd &delta_pos, const Eigen::VectorXd &delta_gradient)
double getTrustRadius() const
void setCallbacks(const std::vector< std::function< void()> > &callbacks)
std::vector< std::function< void()> > callbacks_
Logger is used for thread-safe output of messages.
virtual Index NumParameters() const =0
base class for all analysis tools