sc::Optimize(3)

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

πŸ’– NAME πŸ’–

Bestie, welcome to the sc::Optimize(3) page from the MPQC manual. The whole point: The Optimize class is an abstract base class for classes that find the extreme points of Function's. That’s the name, that’s the vibe, no notes.

✨ SYNOPSIS ✨

#include <opt.h>
  • Inherits sc::SavableState.
  • Inherited by sc::EFCOpt, sc::GDIISOpt, sc::LineOpt, sc::NewtonOpt, sc::QNewtonOpt, and sc::SteepestDescentOpt.

🫢 Public Member Functions 🫢

  • Optimize (StateIn &) β€” restore the state of a Function object.
  • Optimize (const Ref< KeyVal > &) β€” the KeyVal constructor reads the following information: all the option deets live in the constructor section below, bestie.
  • 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.
  • virtual int optimize () β€” do the optimization.
  • void set_checkpoint () β€” set up for checkpointing.
  • void set_checkpoint_file (const char *) β€” no separate description on the page, just the signature.
  • void set_function (const Ref< Function > &) β€” set the function to be optimized.
  • void set_max_iterations (int) β€” set the iteration limit.
  • virtual void init () β€” initialize the optimizer.
  • virtual int update ()=0 β€” take a step.
  • virtual void apply_transform (const Ref< NonlinearTransform > &) β€” no separate description on the page, just the signature.
  • Ref< Function > function () const β€” returns information about the Function being optimized.
  • Ref< SCMatrixKit > matrixkit () const β€” no separate description on the page, just the signature.
  • RefSCDimension dimension () const β€” no separate description on the page, just the signature.

πŸ›‘οΈ Protected Attributes πŸ›‘οΈ

  • int max_iterations_
  • int n_iterations_
  • int ckpt_
  • int print_timings_
  • double max_stepsize_
  • char * ckpt_file
  • Ref< Function > function_
  • Ref< Convergence > conv_

🧬 Additional Inherited Members 🧬

The page has this heading, but it doesn’t list extra details here. That’s all we get, bestie. 🫢

🌸 DETAILED DESCRIPTION 🌸

The Optimize class is an abstract base class for classes that find the extreme points of Function's. She’s abstract, she’s a base class, she’s iconic. πŸ’…

πŸŽ€ CONSTRUCTOR & DESTRUCTOR DOCUMENTATION πŸŽ€

Only the constructor is listed here.

sc::Optimize::Optimize (const Ref< KeyVal > &)

The KeyVal constructor reads the following information:

  • checkpoint β€” if true, the optimization will be checkpointed. The default is false.
  • checkpoint_file β€” the name of the checkpoint file. The name defaults to opt_ckpt.dat.
  • max_iterations β€” the maximum number of interations. The default is 10. (Yes, β€œinterations” is what the page says, not me. πŸ™ˆ)
  • max_stepsize β€” the maximum stepsize. The default is 0.6.
  • function β€” a Function object. There is no default.
  • convergence β€” this can be either a floating point number or a Convergence object. If it is a floating point number then it is the convergence criterion. See the description Convergence class for the default.

⭐ MEMBER FUNCTION DOCUMENTATION ⭐

virtual int sc::Optimize::optimize () [virtual]

Do the optimization. Returns nonzero if the optimization is complete. Slay. ✨

void sc::Optimize::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::SavableState.

Reimplemented in sc::LineOpt, sc::QNewtonOpt, and sc::SteepestDescentOpt.

virtual int sc::Optimize::update () [pure virtual]

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

Implemented in sc::Backtrack, sc::QNewtonOpt, sc::EFCOpt, sc::GDIISOpt, sc::MCSearch, sc::NewtonOpt, and sc::SteepestDescentOpt.

πŸ‘‘ AUTHOR πŸ‘‘

Generated automatically by Doxygen for MPQC from the source code.


ok bye bestie β€” this was MPQC version 2.3.1, dated Sun Oct 4 2020, page sc::Optimize(3) πŸ’–βœ¨

πŸ“¦ where this page comes from