#include <QMCLinearizeStepLength.h>
Public Member Functions | |
QMCLinearizeStepLength () | |
bool | isLinear (int ai) |
double | rescalingJCP () |
This method is from the JCP 126 084102 (2007) paper. | |
double | rescalingPRL () |
This method is from the JCP 126 084102 (2007) paper. | |
double | stepLength (QMCObjectiveFunction *function, Array1D< double > &delta_x, Array1D< double > &unused1, Array1D< double > &unused2, Array2D< double > &overlap, double ksi) |
Calculates the step length to use when performing a line search optimization. | |
Private Attributes | |
bool | verbose |
double | ksi |
Array1D< double > | dp |
Array2D< double > | S |
Definition at line 12 of file QMCLinearizeStepLength.h.
QMCLinearizeStepLength::QMCLinearizeStepLength | ( | ) | [inline] |
Definition at line 16 of file QMCLinearizeStepLength.h.
bool QMCLinearizeStepLength::isLinear | ( | int | ai | ) |
Definition at line 9 of file QMCLinearizeStepLength.cpp.
References QMCWavefunction::getNumberCIParameters(), QMCJastrowParameters::getNumberJWParameters(), globalInput, QMCInput::JP, and QMCInput::WF.
Referenced by rescalingJCP(), and rescalingPRL().
double QMCLinearizeStepLength::rescalingJCP | ( | ) |
This method is from the JCP 126 084102 (2007) paper.
There are a couple variations on this method, specifically on how to choose ksi. I have not fully studied all the possibilities, and I'm not even 100% sure that i programmed this correctly.
This is designed to go with the "generalized_eigenvector" optimization criteria.
Definition at line 20 of file QMCLinearizeStepLength.cpp.
References Array1D< T >::dim1(), dp, globalInput, isLinear(), ksi, QMCInput::printAIParameters(), S, and verbose.
Referenced by stepLength().
double QMCLinearizeStepLength::rescalingPRL | ( | ) |
This method is from the JCP 126 084102 (2007) paper.
There are a couple variations on this method, specifically on how to choose ksi. I have not fully studied all the possibilities, and I'm not even 100% sure that i programmed this correctly.
This is designed to go with the "generalized_eigenvector" optimization criteria.
Definition at line 64 of file QMCLinearizeStepLength.cpp.
References Array1D< T >::dim1(), dp, globalInput, isLinear(), ksi, QMCInput::printAIParameters(), S, and verbose.
double QMCLinearizeStepLength::stepLength | ( | QMCObjectiveFunction * | function, | |
Array1D< double > & | array1, | |||
Array1D< double > & | array2, | |||
Array1D< double > & | array3, | |||
Array2D< double > & | matrix1, | |||
double | scalar1 | |||
) | [virtual] |
Calculates the step length to use when performing a line search optimization.
You will have to look at the individual algorithms to see how the input parameters are defined.
Implements QMCLineSearchStepLengthSelectionAlgorithm.
Definition at line 109 of file QMCLinearizeStepLength.cpp.
References dp, rescalingJCP(), S, and verbose.
bool QMCLinearizeStepLength::verbose [private] |
Definition at line 56 of file QMCLinearizeStepLength.h.
Referenced by rescalingJCP(), rescalingPRL(), and stepLength().
double QMCLinearizeStepLength::ksi [private] |
Definition at line 57 of file QMCLinearizeStepLength.h.
Referenced by rescalingJCP(), and rescalingPRL().
Array1D<double> QMCLinearizeStepLength::dp [private] |
Definition at line 58 of file QMCLinearizeStepLength.h.
Referenced by rescalingJCP(), rescalingPRL(), and stepLength().
Array2D<double> QMCLinearizeStepLength::S [private] |
Definition at line 59 of file QMCLinearizeStepLength.h.
Referenced by rescalingJCP(), rescalingPRL(), and stepLength().