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.

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

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

Version	2.3.1			Thu Dec	2 2021		       sc::Function(3)

NAME | SYNOPSIS | Detailed Description | Constructor & Destructor Documentation | Member Function Documentation | Author

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

home | help