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

FreeBSD Manual Pages

  
 
  

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

NAME
       sc::Function - The Function class is an abstract	base class that, given
       a set of	coordinates, will compute a value and possibly a gradient and
       hessian at that point.

SYNOPSIS
       #include	<function.h>

       Inherits	sc::SavableState, and sc::Compute.

       Inherited by sc::MolecularEnergy, and sc::Volume.

   Public Member Functions
       Gradient	Members
       These are analogous to the routines that	deal with values, but work
       with gradients instead.

	   virtual RefSCVector gradient	()
	   int gradient_needed () const
	   int do_gradient (int)
	   virtual void	set_desired_gradient_accuracy (double)
	   virtual double actual_gradient_accuracy () const
	   virtual double desired_gradient_accuracy () const
	   AccResultRefSCVector	& gradient_result ()

       Hessian Members
       These are analogous to the routines that	deal with values, but work
       with the	hessian	instead.

	   virtual RefSymmSCMatrix hessian ()
	   int hessian_needed () const
	   int do_hessian (int)
	   virtual void	set_desired_hessian_accuracy (double)
	   virtual double actual_hessian_accuracy () const
	   virtual double desired_hessian_accuracy () const
	   AccResultRefSymmSCMatrix & hessian_result ()
	   virtual void	guess_hessian (RefSymmSCMatrix &)
	       Compute a quick,	approximate hessian.
	   virtual RefSymmSCMatrix inverse_hessian (RefSymmSCMatrix &)
	   virtual int value_implemented () const
	       Information about the availability of values, gradients,	and
	       hessians.
	   virtual int gradient_implemented () const
	   virtual int hessian_implemented () const
	   virtual void	set_x (const RefSCVector &)
	       Set and retrieve	the coordinate values.
	   RefSCVector get_x ()	const
	   const RefSCVector & get_x_no_copy ()	const
	   virtual Ref<	NonlinearTransform > change_coordinates	()
	       An optimizer can	call change coordinates	periodically to	give
	       the function an opportunity to change its coordinate system.
	   virtual void	print (std::ostream &=ExEnv::out0()) const
	       Print information about the object.

       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.

       Public Member Functions inherited from sc::Compute
       virtual void obsolete ()
	   Marks all results as	being out of date.

   Protected Member Functions
       Update Members
       Update the various computable results.

	   virtual void	set_value (double)
	   virtual void	set_gradient (RefSCVector &)
	   virtual void	set_hessian (RefSymmSCMatrix &)
	   virtual void	set_matrixkit (const Ref< SCMatrixKit >	&)
	       Set the SCMatrixKit that	should be used to construct the
	       requisite vectors and matrices.
	   virtual void	set_dimension (const RefSCDimension &)

       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 Member	Functions inherited from sc::Compute
       virtual void compute ()=0
	   Recompute at	least the results that have compute true and are not
	   already computed.

   Protected Attributes
       Ref< SCMatrixKit	> matrixkit_
	   Used	to construct new matrices.
       RefSCVector x_
	   The variables.
       RefSCDimension dim_
	   The dimension of x_.
       AccResultdouble value_
	   The value of	the function at	x_.
       AccResultRefSCVector gradient_
	   The gradient	at x_.
       AccResultRefSymmSCMatrix	hessian_
	   The hessian at x_.

   Accuracy Setting Members
       Set the accuracies with which the various computables have been
       computed.
       virtual void set_actual_value_accuracy (double)
       virtual void set_actual_gradient_accuracy (double)
       virtual void set_actual_hessian_accuracy	(double)
       RefSCVector & get_x_reference ()
	   Get read/write access to the	coordinates for	modification.
       void do_change_coordinates (const Ref< NonlinearTransform > &)
	   Change the coordinate system	and apply the given transform to
	   intermediates matrices and vectors.
       Function	()
       Function	(StateIn &)
       Function	(const Function	&)
       Function	(const Ref< KeyVal > &,	double funcacc=DBL_EPSILON, double
	   gradacc=DBL_EPSILON,	double hessacc=DBL_EPSILON)
	   The keyval constructor reads	the following keywords:
       virtual ~Function ()
       Function	& operator= (const Function &)
       Ref< SCMatrixKit	> matrixkit () const
	   Return the SCMatrixKit used to construct vectors and	matrices.
       RefSCDimension dimension	() const
	   Return the SCDimension of the problem.
       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.
       virtual double value ()
	   Return the value of the function.
       int value_needed	() const
	   Returns nonzero if the current value	is not up-to-date.
       int do_value (int)
	   If passed a nonzero number, compute the value the next time
	   compute() is	called.
       AccResultdouble & value_result ()
       virtual void set_desired_value_accuracy (double)
	   Set the accuracy to which the value is to be	computed.
       virtual double actual_value_accuracy () const
	   Return the accuracy with which the value has	been computed.
       virtual double desired_value_accuracy ()	const
	   Return the accuracy with which the value is to be computed.

   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)

Detailed Description
       The Function class is an	abstract base class that, given	a set of
       coordinates, will compute a value and possibly a	gradient and hessian
       at that point.

Constructor & Destructor Documentation
   sc::Function::Function (const Ref< KeyVal > &, double funcacc =
       DBL_EPSILON, double gradacc = DBL_EPSILON, double hessacc =
       DBL_EPSILON)
       The keyval constructor reads the	following keywords:

       matrixkit
	   Gives  a  SCMatrixKit  object.  If  it  is not specified, a default
	   SCMatrixKit is selected.

       value_accuracy
	   Sets	the accuracy to	which values are computed. The default is  the
	   machine accuracy.

       gradient_accuracy
	   Sets	 the  accuracy to which	gradients are computed.	The default is
	   the machine accuracy.

       hessian_accuracy
	   Sets	the accuracy to	which hessians are computed.  The  default  is
	   the machine accuracy.

Member Function	Documentation
   virtual   Ref<  NonlinearTransform  >  sc::Function::change_coordinates  ()
       [virtual]
       An optimizer can	call  change  coordinates  periodically	 to  give  the
       function	an opportunity to change its coordinate	system.	A return value
       of  0  means  the  coordinates were not changed.	Otherwise, a transform
       object to the new coordinate system  is	return.	 The  function	object
       applies	the  transform	to any objects it contains. This will obsolete
       the function data.

       Reimplemented in	sc::MolecularEnergy.

   int sc::Function::do_value (int)
       If passed a nonzero number, compute the value the next  time  compute()
       is  called.  Return  a nonzero number if	the value was previously to be
       computed.

   virtual void	sc::Function::guess_hessian (RefSymmSCMatrix &)	[virtual]
       Compute a quick,	approximate hessian.

       Reimplemented in	sc::MolecularEnergy.

   virtual RefSymmSCMatrix sc::Function::hessian () [virtual]
       Reimplemented in	sc::MolecularEnergy.

   virtual void	sc::Function::print (std::ostream  &  =	 ExEnv::out0())	 const
       [virtual]
       Print information about the object.

       Reimplemented from sc::DescribedClass.

       Reimplemented	in   sc::MolecularEnergy,   sc::TaylorMolecularEnergy,
       sc::Wavefunction,    sc::CLKS,	 sc::HSOSKS,	sc::UKS,    sc::MBPT2,
       sc::MBPT2_R12,  sc::PsiWavefunction,  sc::CLHF,	sc::CLSCF, sc::HSOSHF,
       sc::HSOSSCF,  sc::OSSHF,	 sc::OSSSCF,  sc::SCF,	sc::TCHF,   sc::TCSCF,
       sc::UHF,	sc::UnrestrictedSCF, sc::OneBodyWavefunction, sc::SphereShape,
       and sc::UncappedTorusHoleShape.

   virtual void	sc::Function::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::MolecularEnergy,    sc::SumMolecularEnergy,
       sc::TaylorMolecularEnergy, sc::CLKS,  sc::HSOSKS,  sc::UKS,  sc::MBPT2,
       sc::MP2BasisExtrap,   sc::MBPT2_R12,  sc::PsiWavefunction,  sc::PsiSCF,
       sc::PsiCCSD,   sc::PsiCCSD_T,	sc::CLHF,    sc::CLSCF,	   sc::HSOSHF,
       sc::HSOSSCF,   sc::OSSHF,  sc::OSSSCF,  sc::SCF,	 sc::TCHF,  sc::TCSCF,
       sc::UHF,		 sc::UnrestrictedSCF,		sc::ExtendedHuckelWfn,
       sc::OneBodyWavefunction,	sc::HCoreWfn, and sc::Wavefunction.

   virtual void	sc::Function::set_desired_value_accuracy (double) [virtual]
       Set the accuracy	to which the value is to be computed.

       Reimplemented in	sc::UnrestrictedSCF, and sc::OneBodyWavefunction.

   virtual   void   sc::Function::set_gradient	(RefSCVector  &)  [protected],
       [virtual]
       Reimplemented in	sc::MolecularEnergy.

   virtual void	sc::Function::set_x (const RefSCVector &) [virtual]
       Set and retrieve	the coordinate values.

       Reimplemented  in  sc::MolecularEnergy,	 sc::SumMolecularEnergy,   and
       sc::Volume.

   virtual int sc::Function::value_implemented () const	[virtual]
       Information about the availability of values, gradients,	and hessians.

       Reimplemented   in  sc::SumMolecularEnergy,  sc::TaylorMolecularEnergy,
       sc::CLKS,  sc::HSOSKS,  sc::UKS,	 sc::MBPT2,  sc::MBPT2_R12,  sc::CLHF,
       sc::HSOSHF,   sc::OSSHF,	  sc::TCHF,   sc::UHF,	sc::ExtendedHuckelWfn,
       sc::HCoreWfn, and sc::Shape.

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

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

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

home | help