home | help
sc::Convergence(3)		      MPQC		      sc::Convergence(3)

NAME
     sc::Convergence  - The Convergence class is used by the optimizer to deter-
     mine when an optimization is converged.

SYNOPSIS
     #include <conv.h>

     Inherits sc::SavableState.

     Inherited by sc::MolEnergyConvergence.

   Public Member Functions
     Convergence (double tolerance)
     Convergence (StateIn &)
     Convergence (const Ref< KeyVal > &)
	 The KeyVal constructor reads the following keywords:
     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 void get_grad (const Ref< Function > &)
	 Set the current gradient and displacement.
     virtual void get_x (const Ref< Function > &)
     virtual void set_nextx (const RefSCVector &)
     virtual void reset ()
	 Set the current gradient and displacement to null.
     virtual int converged ()
	 Return nonzero if the optimization has converged.

     Public Member Functions inherited from sc::SavableState
     SavableState & operator= (const SavableState &)
     void save_state (StateOut &)
	 Save the state of the object as specified by the StateOut object.
     void save_object_state (StateOut &)
	 This  can be used for saving state when the exact type of the object is
	 known for both the save and the restore.
     virtual void save_vbase_state (StateOut &)
	 Save the virtual bases for the object.
     virtual 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.

     Public Member Functions inherited from sc::DescribedClass
     DescribedClass (const DescribedClass &)
     DescribedClass & operator= (const DescribedClass &)
     ClassDesc * class_desc () const  throw ()
	 This  returns	the unique pointer to the ClassDesc corresponding to the
	 given type_info object.
     const char * class_name () const
	 Return the name of the object's exact type.
     int class_version () const
	 Return the version of the class.
     virtual void print (std::ostream &=ExEnv::out0()) const
	 Print the object.

     Public Member Functions inherited from sc::RefCount
     int lock_ptr () const
	 Lock this object.
     int unlock_ptr () const
	 Unlock this object.
     void use_locks (bool inVal)
	 start and stop using locks on this object
     refcount_t nreference () const
	 Return the reference count.
     refcount_t reference ()
	 Increment the reference count and return the new count.
     refcount_t dereference ()
	 Decrement the reference count and return the new count.
     int managed () const
     void unmanage ()
	 Turn off the reference counting mechanism for this object.
     int managed () const
	 Return 1 if the object is managed. Otherwise return 0.

     Public Member Functions inherited from sc::Identity
     Identifier identifier ()
	 Return the Identifier for this argument.

   Protected Member Functions
     void check_conv (const char *heading, double val, double bound, int  &pass,
	 int &fail)
     void set_defaults ()

     Protected Member Functions inherited from sc::SavableState
     SavableState (const SavableState &)
     SavableState (StateIn &)
	 Each  derived	class  StateIn CTOR handles the restore corresponding to
	 calling save_object_state, save_vbase_state, and save_data_state listed
	 above.

     Protected Member Functions inherited from sc::RefCount
     RefCount (const RefCount &)
     RefCount & operator= (const RefCount &)

   Protected Attributes
     RefSCVector grad_
     RefSCVector x_
     RefSCVector nextx_
     int use_max_disp_
     double max_disp_
     int use_max_grad_
     double max_grad_
     int use_rms_disp_
     double rms_disp_
     int use_rms_grad_
     double rms_grad_
     int use_graddisp_
     double graddisp_

   Additional Inherited Members
     Static Public Member Functions inherited from sc::SavableState
     static void save_state (SavableState *s, StateOut &)
     static SavableState * restore_state (StateIn &si)
	 Restores objects saved with save_state.
     static SavableState * key_restore_state (StateIn &si, const char *keyword)
	 Like restore_state, but  keyword  is  used  to  override  values  while
	 restoring.
     static  SavableState  * dir_restore_state (StateIn &si, const char *object-
	 name, const char *keyword=0)

Detailed Description
     The Convergence class is used by the optimizer to determine when  an  opti-
     mization is converged.

     The  KeyVal input for Convergence is given below. Giving none of these key-
     words is the same as giving the following input:

       conv<Convergence>: (
	 max_disp = 1.0e-6
	 max_grad = 1.0e-6
	 graddisp = 1.0e-6
       )

Constructor & Destructor Documentation
   sc::Convergence::Convergence (const Ref< KeyVal > &)
     The KeyVal constructor reads the following keywords:

     max_disp
	 The value of the maximum displacement must be less then  the  value  of
	 this keyword for the calculation to be converged. The default is to not
	 check	this  parameter. However, if no other keyword are given, default
	 convergence parameters are chosen as described above.

     max_grad
	 The value of the maximum gradient must be less then the value	of  this
	 keyword  for  the  calculation  to  be converged. The default is to not
	 check this parameter. However, if no other keyword are  given,  default
	 convergence parameters are chosen as described above.

     rms_disp
	 The  value  of the RMS of the displacements must be less then the value
	 of this keyword for the calculation to be converged. The default is  to
	 not  check  this parameter. However, if no other keyword are given, de-
	 fault convergence parameters are chosen as described above.

     rms_grad
	 The value of the RMS of the gradients must be less then  the  value  of
	 this keyword for the calculation to be converged. The default is to not
	 check	this  parameter. However, if no other keyword are given, default
	 convergence parameters are chosen as described above.

     graddisp
	 The value of the scalar product of the gradient vector  with  the  dis-
	 placement  vector  must  be less then the value of this keyword for the
	 calculation to be converged. The default is to not check  this  parame-
	 ter.  However, if no other keyword are given, default convergence para-
	 meters are chosen as described above.

Member Function Documentation
   virtual int sc::Convergence::converged () [virtual]
     Return nonzero if the optimization has converged.

     Reimplemented in sc::MolEnergyConvergence.

   virtual void sc::Convergence::get_grad (const Ref< Function > &) [virtual]
     Set the current gradient and displacement.

     Reimplemented in sc::MolEnergyConvergence.

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

Author
     Generated automatically by Doxygen for MPQC from the source code.

Version 2.3.1			 Thu Sep 3 2026 	      sc::Convergence(3)

home | help