Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

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

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 &)
       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 > &)
       void init ()
	   Initialize the optimizer.
       int update ()
	   Take	a step.

       Public Member Functions inherited from sc::Optimize
       Optimize	(StateIn &)
	   Restore the state of	a Function object.
       Optimize	(const Ref< KeyVal > &)
	   The KeyVal constructor reads	the following information:
       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 *)
       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 > &)
       Ref< Function > function	() const
	   Returns information about the Function being	optimized.
       Ref< SCMatrixKit	> matrixkit () const
       RefSCDimension dimension	() const

       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 Attributes
       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_

       Protected Attributes inherited from sc::Optimize
       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
       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
	   *objectname,	const char *keyword=0)

       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 &)

Detailed Description
       The QNewtonOpt implements a quasi-Newton	optimization scheme.

Constructor & Destructor Documentation
   sc::QNewtonOpt::QNewtonOpt (const Ref< KeyVal > &)
       The KeyVal constructor. The KeyVal constructor reads the	following
       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::apply_transform  (const  Ref< NonlinearTransform > &)
       [virtual]
       Reimplemented from sc::Optimize.

   void	sc::QNewtonOpt::init ()	[virtual]
       Initialize the optimizer.

       Reimplemented from sc::Optimize.

   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.

Version	2.3.1			Tue May	13 2025		     sc::QNewtonOpt(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=sc_QNewtonOpt&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help