# FreeBSD Manual Pages

sc::Function(3) MPQC sc::Function(3)NAMEsc::Function - TheFunctionclass 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> Inheritssc::SavableState, andsc::Compute. Inherited bysc::MolecularEnergy, andsc::Volume.PublicMemberFunctionsGradientMembersThese are analogous to the routines that deal with values, but work with gradients instead. virtualRefSCVectorgradient() intgradient_needed() const intdo_gradient(int) virtual voidset_desired_gradient_accuracy(double) virtual doubleactual_gradient_accuracy() const virtual doubledesired_gradient_accuracy() constAccResultRefSCVector&gradient_result()HessianMembersThese are analogous to the routines that deal with values, but work with the hessian instead. virtualRefSymmSCMatrixhessian() inthessian_needed() const intdo_hessian(int) virtual voidset_desired_hessian_accuracy(double) virtual doubleactual_hessian_accuracy() const virtual doubledesired_hessian_accuracy() constAccResultRefSymmSCMatrix&hessian_result() virtual voidguess_hessian(RefSymmSCMatrix&)Computea quick, approximate hessian. virtualRefSymmSCMatrixinverse_hessian(RefSymmSCMatrix&) virtual intvalue_implemented() const Information about the availability of values, gradients, and hessians. virtual intgradient_implemented() const virtual inthessian_implemented() const virtual voidset_x(constRefSCVector&) Set and retrieve the coordinate values.RefSCVectorget_x() const constRefSCVector&get_x_no_copy() const virtualRef<NonlinearTransform>change_coordinates() An optimizer can call change coordinates periodically to give the function an opportunity to change its coordinate system. virtual voidExEnv::out0()) const Print information about the object.ProtectedMemberFunctionsUpdateMembersUpdate the various computable results. virtual voidset_value(double) virtual voidset_gradient(RefSCVector&) virtual voidset_hessian(RefSymmSCMatrix&) virtual voidset_matrixkit(constRef<SCMatrixKit> &) Set theSCMatrixKitthat should be used to construct the requisite vectors and matrices. virtual voidset_dimension(constRefSCDimension&)ProtectedAttributesRef<SCMatrixKit>matrixkit_ Used to construct new matrices.RefSCVectorx_ The variables.RefSCDimensiondim_ The dimension of x_.AccResultdoublevalue_ The value of the function at x_.AccResultRefSCVectorgradient_ The gradient at x_.AccResultRefSymmSCMatrixhessian_ The hessian at x_.AccuracySettingMembersSet the accuracies with which the various computables have been computed. virtual voidset_actual_value_accuracy(double) virtual voidset_actual_gradient_accuracy(double) virtual voidset_actual_hessian_accuracy(double)RefSCVector&get_x_reference() Get read/write access to the coordinates for modification. voiddo_change_coordinates(constRef<NonlinearTransform> &) Change the coordinate system and apply the given transform to intermediates matrices and vectors.Function()Function(StateIn&)Function(constFunction&)Function(constRef<KeyVal> &, double funcacc=DBL_EPSILON, double gradacc=DBL_EPSILON, double hessacc=DBL_EPSILON) The keyval constructor reads the following keywords: virtual~Function()Function&operator=(constFunction&)Ref<SCMatrixKit>matrixkit() const Return theSCMatrixKitused to construct vectors and matrices.RefSCDimensiondimension() const Return theSCDimensionof the problem. virtual voidsave_data_state(StateOut&) Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them. virtual doublevalue() Return the value of the function. intvalue_needed() const Returns nonzero if the current value is not up-to-date. intdo_value(int) If passed a nonzero number, compute the value the next timecompute()is called.AccResultdouble&value_result() virtual voidset_desired_value_accuracy(double) Set the accuracy to which the value is to be computed. virtual doubleactual_value_accuracy() const Return the accuracy with which the value has been computed. virtual doubledesired_value_accuracy() const Return the accuracy with which the value is to be computed.AdditionalInheritedMembersDetailed DescriptionTheFunctionclass 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 Documentationsc::Function::Function(constRef<KeyVal> &,doublefuncacc=DBL_EPSILON,doublegradacc=DBL_EPSILON,doublehessacc=DBL_EPSILON)The keyval constructor reads the following keywords:matrixkitGives aSCMatrixKitobject. If it is not specified, a defaultSCMatrixKitis selected.value_accuracySets the accuracy to which values are computed. The default is the machine accuracy.gradient_accuracySets the accuracy to which gradients are computed. The default is the machine accuracy.hessian_accuracySets the accuracy to which hessians are computed. The default is the machine accuracy.Member Function DocumentationvirtualRef<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 insc::MolecularEnergy.intsc::Function::do_value(int)If passed a nonzero number, compute the value the next timecompute()is called. Return a nonzero number if the value was previously to be computed.virtualvoidsc::Function::save_data_state(StateOut&)[virtual]Save the base classes (with save_data_state) and the members in the same order that theStateInCTOR initializes them. This must be implemented by the derived class if the class has data. Reimplemented fromsc::SavableState. Reimplemented insc::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, andsc::MolecularEnergy.AuthorGenerated 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>