#include <function.h>
Inheritance diagram for sc::Function:
Public Member Functions | |
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:. | |
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. | |
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. | |
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 () |
Protected Member Functions | |
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 &) |
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. | |
Update Members | |
Update the various computable results. | |
virtual void | set_value (double) |
virtual void | set_gradient (RefSCVector &) |
virtual void | set_hessian (RefSymmSCMatrix &) |
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) |
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_. |
|
The keyval constructor reads the following keywords:.
|
|
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. |
|
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. |
|
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::MBPT2, sc::PsiWavefunction, sc::PsiSCF, sc::PsiCCSD, sc::PsiCCSD_T, sc::CLHF, sc::CLSCF, sc::HSOSHF, sc::HSOSSCF, sc::SCF, sc::UnrestrictedSCF, sc::OneBodyWavefunction, and sc::Wavefunction. |