sc::QNewtonOpt(3)

πŸ“¦
version 2.3.1 Β· 5 versions
, in ubuntu jammy

πŸ¦‹ sc::QNewtonOpt(3) β€” MPQC manual, bestie πŸ¦‹

okay so welcome to the MPQC manual page for sc::QNewtonOpt, and yes we are keeping every single detail intact. It's giving "quasi-Newton optimization scheme" main character energy, and I'm obsessed. πŸ’…


✨ NAME ✨

sc::QNewtonOpt β€” The QNewtonOpt implements a quasi-Newton optimization scheme.


🌸 SYNOPSIS 🌸

#include <qnewton.h>

Inherits sc::Optimize.


πŸ‘‘ Public Member Functions πŸ‘‘

  • QNewtonOpt (const Ref< KeyVal > &) β€” the KeyVal constructor.
  • QNewtonOpt (StateIn &) β€” listed here; the page doesn't add a separate description for this one.
  • void save_data_state (StateOut &) β€” Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them.
  • void apply_transform (const Ref< NonlinearTransform > &) β€” listed with no extra description on this page.
  • void init () β€” Initialize the optimizer.
  • int update () β€” Take a step.

🧚 Protected Attributes 🧚

these are the protected attributes, names exactly as given, with no extra notes on this page:

  • double maxabs_gradient
  • double accuracy_
  • RefSymmSCMatrix ihessian_
  • Ref< HessianUpdate > update_
  • Ref< LineOpt > lineopt_
  • int take_newton_step_
  • int print_hessian_
  • int print_x_
  • int print_gradient_
  • int linear_
  • int restrict_
  • int dynamic_grad_acc_
  • int force_search_
  • int restart_

🌈 Additional Inherited Members 🌈

This heading is here too: the extra inherited members live under it, and this page doesn't list more detail for that section. 🫢


πŸ’– Detailed Description πŸ’–

The QNewtonOpt implements a quasi-Newton optimization scheme.


πŸŽ€ Constructor & Destructor Documentation πŸŽ€

🫢 sc::QNewtonOpt::QNewtonOpt (const Ref< KeyVal > &) 🫢

The KeyVal constructor. It reads these keywords:

  • update β€” This gives a HessianUpdate object. The default is to not update the hessian.
  • hessian β€” By default, the guess hessian is obtained from the Function object. This keyword specifies an lower triangle array (the second index must be less than or equal to than the first) that replaces the guess hessian. If some of the elements are not given, elements from the guess hessian will be used.
  • lineopt β€” This gives a LineOpt object for doing line optimizations in the Newton direction. The default is to skip the line optimizations.
  • accuracy β€” The accuracy with which the first gradient will be computed. If this is too large, it may be necessary to evaluate the first gradient point twice. If it is too small, it may take longer to evaluate the first point. The default is 0.0001.
  • print_x β€” If true, print the coordinates each iteration. The default is false.
  • print_gradient β€” If true, print the gradient each iteration. The default is false.
  • print_hessian β€” If true, print the approximate hessian each iteration. The default is false.
  • restrict β€” Use step size restriction when not using a line search. The default is true.

πŸ”₯ Member Function Documentation πŸ”₯

🌟 void sc::QNewtonOpt::save_data_state (StateOut &) [virtual] 🌟

Save the base classes (with save_data_state) and the members in the same order that the StateIn CTOR initializes them. This must be implemented by the derived class if the class has data.

Reimplemented from sc::Optimize.

⭐ int sc::QNewtonOpt::update () [virtual] ⭐

Take a step. Returns 1 if the optimization has converged, otherwise 0.

Implements sc::Optimize.


πŸ¦‹ Author πŸ¦‹

Generated automatically by Doxygen for MPQC from the source code.


okay that's the whole page, bestie β€” no details left behind, periodt. πŸ’… This was MPQC's sc::QNewtonOpt(3) page, Version 2.3.1, dated Sun Oct 4 2020. xoxo, your fave manual glow-up πŸ«ΆπŸ’–

πŸ“¦ where this page comes from