sc::Function(3)
π NAME π
okay bestie, this is sc::Function(3) from the MPQC manual, and the whole vibe is: 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. periodt. π
β¨ SYNOPSIS β¨
#include <function.h>
- Inherits
sc::SavableState, andsc::Compute. - Inherited by
sc::MolecularEnergy, andsc::Volume.
π Public Member Functions π
π« Gradient Members π«
Same energy as the routines that deal with values, but these work with gradients instead. iykyk.
virtual RefSCVector gradient ()int gradient_needed () constint do_gradient (int)virtual void set_desired_gradient_accuracy (double)virtual double actual_gradient_accuracy () constvirtual double desired_gradient_accuracy () constAccResultRefSCVector & gradient_result ()
π₯ Hessian Members π₯
Same energy as the routines that deal with values, but these work with the hessian instead.
virtual RefSymmSCMatrix hessian ()int hessian_needed () constint do_hessian (int)virtual void set_desired_hessian_accuracy (double)virtual double actual_hessian_accuracy () constvirtual double desired_hessian_accuracy () constAccResultRefSymmSCMatrix & 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 () constvirtual int hessian_implemented () constvirtual void set_x (const RefSCVector &)β Set and retrieve the coordinate values.RefSCVector get_x () constconst RefSCVector & get_x_no_copy () constvirtual 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.
and here are the rest of the public member functions, no cap:
π Protected Member Functions π
Update Members
Update the various computable results. slay.
virtual void set_value (double)virtual void set_gradient (RefSCVector &)virtual void set_hessian (RefSymmSCMatrix &)virtual void set_matrixkit (const Ref< SCMatrixKit > &)β Set theSCMatrixKitthat 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 ofx_.AccResultdouble value_β The value of the function atx_.AccResultRefSCVector gradient_β The gradient atx_.AccResultRefSymmSCMatrix hessian_β The hessian atx_.
πΈ Accuracy Setting Members πΈ
Set the accuracies with which the various computables have been computed. facts.
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 theSCMatrixKitused to construct vectors and matrices.RefSCDimension dimension () constβ Return theSCDimensionof the problem.virtual void save_data_state (StateOut &)β Save the base classes (withsave_data_state) and the members in the same order that theStateInCTOR 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 timecompute()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 π«Ά
literally no extra deets listed in this section, bestie. that's it.
π Detailed Description π
same thing as the NAME section, because Doxygen loves a repeat: 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. iconic.
π§ Constructor & Destructor Documentation π§
π§ sc::Function::Function (...) π§
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 aSCMatrixKitobject. If it is not specified, a defaultSCMatrixKitis 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 returned. 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::MBPT2, sc::MBPT2_R12, sc::SumMolecularEnergy, sc::HCoreWfn, sc::SCF, sc::PsiCCSD_T, sc::PsiCCSD, sc::Wavefunction, sc::MolecularEnergy, sc::HSOSSCF, sc::PsiSCF, sc::HSOSKS, sc::OneBodyWavefunction, sc::UKS, sc::CLSCF, sc::CLKS, sc::UnrestrictedSCF, sc::TaylorMolecularEnergy, sc::TCSCF, sc::ExtendedHuckelWfn, sc::OSSSCF, sc::PsiWavefunction, sc::UHF, sc::CLHF, sc::HSOSHF, sc::MP2BasisExtrap, sc::OSSHF, and sc::TCHF.
β Author β
Generated automatically by Doxygen for MPQC from the source code. not me being auto-generated and still serving looks. π
π cute little sign-off: this MPQC source/version is 2.3.1, dated Sun Oct 4 2020, bestie. bye! π«Άβ¨
π¦ where this page comes from
- ubuntu jammy: libsc-doc 2.3.1-21
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms