Class NewtonWithExtendedPotential#

Inheritance Relationships#

Base Type#

Class Documentation#

class NewtonWithExtendedPotential : public pele::GradientOptimizer#

Public Functions

NewtonWithExtendedPotential(
std::shared_ptr<BasePotential> potential,
const pele::Array<double> &x0,
double tol,
std::shared_ptr<BasePotential> potential_extension,
double translation_offset = 1.0,
double max_step = 1.0
)#

Newton method that ignores singular while calculating the inverse.

Uses a backtracking linesearch. If the hessian has singular values uses the minimum norm solution for solving the inverse.

Parameters:
  • potential – potential to minimize

  • x0 – initial guess

  • tol – stopping tolerance

  • threshold – threshold for the singular values of the hessian

  • max_iter – maximum number of iterations

inline virtual ~NewtonWithExtendedPotential()#

Destructor.

virtual void one_iteration()#

Do one iteration of the Newton method.

inline virtual int get_nhev() const#

Reset the optimizer to start a new minimization from x0.

inline Eigen::VectorXd get_step() const#
void reset(Array<double> x)#
inline void set_hessian(Eigen::MatrixXd hessian)#