#include <QMCWalkerData.h>
Public Member Functions | |
QMCWalkerData () | |
The QMCWalkerData data type is meant to hold all the information calculated by QMCFunction that is useful to QMCWalker. | |
~QMCWalkerData () | |
void | initialize (int numDimensions, int numNucForceDim1, int numNucForceDim2) |
void | partialCopy (const QMCWalkerData &rhs) |
When we're proposing a trial move, we need to save some data from the original position. | |
bool | isSingular () |
double | getModifiedLocalEnergy () |
void | zero () |
void | writeConfigs (Array2D< double > &Positions, double weight) |
void | updateDistances (Array2D< double > &R) |
Once we've moved an electron, we want to update the arrays in QMCWalkerData which contain the interparticle distances, as well as electron-electron unit vectors. | |
Public Attributes | |
int | whichE |
When we're updating all electrons, whichE will be set to -1. | |
Array2D< double > | rij |
Several parts of the code use the interparticle distances and unit vectors, so we only want to calculate them once. | |
Array3D< double > | rij_uvec |
Array2D< double > | riA |
Array3D< double > | riA_uvec |
Array1D< Array2D< double > > | Dc_invA |
These are raw data for the calculation of the determinant part of the wavefunction. | |
Array1D< Array2D< double > > | Dc_invB |
Array2D< qmcfloat > | D_xxA |
Array2D< qmcfloat > | D_xxB |
Array1D< Array2D< qmcfloat > > | D_xA |
Array1D< Array2D< qmcfloat > > | D_xB |
Array1D< double > | DcA |
Array1D< double > | DcB |
Array1D< double > | rDc_xxA |
Array1D< double > | rDc_xxB |
Array3D< double > | rDc_xA |
Array3D< double > | rDc_xB |
Array1D< double > | Chi_DensityA |
Array1D< double > | Chi_DensityB |
Array2D< double > | Uij |
These are the raw data specifically from the Jastrow part of the wavefunction. | |
Array3D< double > | Uij_x |
| |
Array2D< double > | Uij_xx |
| |
Array2D< double > | UiA |
Array3D< double > | UiA_x |
Array2D< double > | UiA_xx |
Array2D< double > | UijA |
Array1D< Array2D< double > > | UijA_x1 |
Array1D< Array2D< double > > | UijA_x2 |
Array2D< double > | UijA_xx |
QMCDouble | D |
These are intermediate data specifically from the determinant part of the wavefunction. | |
Array2D< double > | D_x |
double | D_xx |
double | U |
These are the intermediate data specifically from the Jastrow part of the wavefunction. | |
Array2D< double > | U_x |
double | U_xx |
double | localEnergy |
These are the final values for the wavefunction. | |
double | kineticEnergy |
double | potentialEnergy |
double | neEnergy |
double | eeEnergy |
QMCDouble | psi |
Array2D< double > | gradPsiRatio |
Gets the ratio of the wavefunction gradient to the wavefunction value at the last evaluated electronic configuration. | |
Array2D< double > | modifiedGradPsiRatio |
Gets a modified version of the ratio of the wavefunction gradient to the wavefunction value at the last evaluated electronic configuration. | |
double | modificationRatio |
bool | singular |
This is set to true if there is any known numerical problem with the wavefunction. | |
Array2D< double > | nuclearDerivatives |
This holds derivatives of the Hamiltonian (Hellman-Feynmann theorem) evaluated with respect to each nucleus. | |
Array1D< double > | chiDensity |
Array1D< double > | cs_LocalEnergy |
Array1D< double > | cs_Weights |
Array1D< double > | rp_a |
Array1D< double > | p3_xxa |
Friends | |
ostream & | operator<< (ostream &strm, const QMCWalkerData &rhs) |
This should in effect decouple QMCFunction and QMCWalker from each other enabling QMCFunction to be treated a little bit differently without significant modifications to QMCWalker.
Definition at line 33 of file QMCWalkerData.h.
QMCWalkerData::QMCWalkerData | ( | ) |
The QMCWalkerData data type is meant to hold all the information calculated by QMCFunction that is useful to QMCWalker.
This should in effect decouple QMCFunction and QMCWalker from each other enabling QMCFunction to be treated a little bit differently without significant modifications to QMCWalker.
Definition at line 24 of file QMCWalkerData.cpp.
QMCWalkerData::~QMCWalkerData | ( | ) |
Definition at line 28 of file QMCWalkerData.cpp.
void QMCWalkerData::initialize | ( | int | numDimensions, | |
int | numNucForceDim1, | |||
int | numNucForceDim2 | |||
) |
Definition at line 53 of file QMCWalkerData.cpp.
References Array2D< T >::allocate(), Array3D< T >::allocate(), Array1D< T >::allocate(), QMCFlags::calculate_bf_density, chiDensity, D, D_x, D_xA, D_xB, D_xxA, D_xxB, Dc_invA, Dc_invB, DcA, DcB, Array1D< T >::dim1(), QMCInput::flags, QMCInput::getNumberAIParameters(), QMCMolecule::getNumberAtoms(), QMCWavefunction::getNumberBasisFunctions(), QMCWavefunction::getNumberDeterminants(), QMCWavefunction::getNumberElectrons(), globalInput, gradPsiRatio, modificationRatio, modifiedGradPsiRatio, QMCInput::Molecule, QMCFlags::nuclear_derivatives, nuclearDerivatives, QMCFlags::one_e_per_iter, QMCWavefunction::OrbitalCoeffs, p3_xxa, psi, rDc_xA, rDc_xB, rDc_xxA, rDc_xxB, riA, riA_uvec, rij, rij_uvec, rp_a, singular, U, U_x, U_xx, UiA, UiA_x, UiA_xx, Uij, Uij_x, Uij_xx, UijA, UijA_x1, UijA_x2, UijA_xx, QMCFlags::use_psuedopotential, QMCFlags::use_three_body_jastrow, QMCInput::WF, and whichE.
Referenced by QMCJastrow::evaluate(), QMCWalker::initialize(), and QMCSurfer::QMCSurfer().
void QMCWalkerData::partialCopy | ( | const QMCWalkerData & | rhs | ) |
When we're proposing a trial move, we need to save some data from the original position.
This function copies only the data we know we need to keep around in order to calculate the acceptance probability.
However, if the move is not accepted, then we'll need all of this data back again if we're doing one electron updates.
The question is whether it's faster to save all the data in this class, or to recalculate the data only if we need it. If we have a lot of electrons, then this represents a lot of data. Furthermore, the acceptance probability is probably high.
I think it's faster to "update" the trial data back to the original data if the move is not accepted.
Definition at line 32 of file QMCWalkerData.cpp.
References D, D_x, D_xx, eeEnergy, gradPsiRatio, kineticEnergy, localEnergy, modifiedGradPsiRatio, neEnergy, potentialEnergy, psi, riA, riA_uvec, and singular.
Referenced by QMCWalker::createChildWalkers().
bool QMCWalkerData::isSingular | ( | ) |
Definition at line 222 of file QMCWalkerData.cpp.
References D_xx, IeeeMath::isNaN(), kineticEnergy, potentialEnergy, singular, and U_xx.
Referenced by QMCWalker::isSingular().
double QMCWalkerData::getModifiedLocalEnergy | ( | ) |
Definition at line 160 of file QMCWalkerData.cpp.
References QMCFlags::dt, QMCFlags::energy_cutoff_type, QMCFlags::energy_estimated_original, QMCInput::flags, globalInput, localEnergy, and modificationRatio.
void QMCWalkerData::zero | ( | ) |
Definition at line 202 of file QMCWalkerData.cpp.
References D_xx, eeEnergy, kineticEnergy, localEnergy, neEnergy, and potentialEnergy.
Referenced by QMCWalker::calculateMoveAcceptanceProbability().
void QMCWalkerData::writeConfigs | ( | Array2D< double > & | Positions, | |
double | weight | |||
) |
Definition at line 212 of file QMCWalkerData.cpp.
References D_x, D_xx, globalInput, QMCInput::outputer, potentialEnergy, U, and QMCConfigIO::writeCorrelatedSamplingConfiguration().
Referenced by QMCWalker::processPropagation().
void QMCWalkerData::updateDistances | ( | Array2D< double > & | R | ) |
Once we've moved an electron, we want to update the arrays in QMCWalkerData which contain the interparticle distances, as well as electron-electron unit vectors.
The purpose is so that we only have to calculate this stuff once, and then everybody else just gets the saved data.
Definition at line 298 of file QMCWalkerData.cpp.
References QMCMolecule::Atom_Positions, Array2D< T >::dim1(), QMCMolecule::getNumberAtoms(), globalInput, QMCInput::Molecule, riA, riA_uvec, MathFunctions::rij(), rij, rij_uvec, and whichE.
Referenced by QMCJastrow::evaluate(), QMCSurfer::mainMenu(), QMCWalker::moveElectrons(), QMCWalker::processPropagation(), QMCWalker::readXML(), QMCSurfer::scanEnergies(), and QMCWalker::setR().
ostream& operator<< | ( | ostream & | strm, | |
const QMCWalkerData & | rhs | |||
) | [friend] |
Definition at line 236 of file QMCWalkerData.cpp.
When we're updating all electrons, whichE will be set to -1.
Otherwise, it will be set to the index of the electron currently being updated.
Definition at line 64 of file QMCWalkerData.h.
Referenced by QMCWalker::calculateObservables(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCThreeBodyJastrow::evaluate(), QMCJastrowElectronNuclear::evaluate(), QMCJastrowElectronElectron::evaluate(), initialize(), QMCWalker::initializePropagation(), QMCSurfer::mainMenu(), QMCWalker::moveElectronsImportanceSampling(), QMCWalker::moveElectronsNoImportanceSampling(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), QMCWalker::processPropagation(), QMCSurfer::scanEnergies(), updateDistances(), QMCThreeBodyJastrow::updateOne(), and QMCJastrowElectronElectron::updateOne().
Array2D<double> QMCWalkerData::rij |
Several parts of the code use the interparticle distances and unit vectors, so we only want to calculate them once.
rij is for electron-electron distances riA is for electron-nucleus distances
Definition at line 73 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::calc_P_ee(), QMCThreeBodyJastrow::collectForPair(), QMCJastrowElectronElectron::collectForPair(), initialize(), and updateDistances().
Array3D<double> QMCWalkerData::rij_uvec |
Definition at line 74 of file QMCWalkerData.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), QMCJastrowElectronElectron::collectForPair(), initialize(), and updateDistances().
Array2D<double> QMCWalkerData::riA |
Definition at line 75 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::calc_P_en(), QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCThreeBodyJastrow::collectForPair(), QMCJastrowElectronNuclear::evaluate(), QMCPotential_Energy::evaluatePsuedoPotential(), initialize(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), partialCopy(), QMCThreeBodyJastrow::updateAll(), updateDistances(), and QMCThreeBodyJastrow::updateOne().
Array3D<double> QMCWalkerData::riA_uvec |
Definition at line 76 of file QMCWalkerData.h.
Referenced by QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), QMCThreeBodyJastrow::collectForPair(), QMCJastrowElectronNuclear::evaluate(), initialize(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), partialCopy(), QMCThreeBodyJastrow::updateAll(), updateDistances(), and QMCThreeBodyJastrow::updateOne().
Array1D< Array2D<double> > QMCWalkerData::Dc_invA |
These are raw data for the calculation of the determinant part of the wavefunction.
We need to save all of this if we're updating one electron at a time.
Definition at line 83 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::evaluatePsuedoPotential(), and initialize().
Array1D< Array2D<double> > QMCWalkerData::Dc_invB |
Definition at line 84 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::evaluatePsuedoPotential(), and initialize().
Array1D<double> QMCWalkerData::DcA |
Definition at line 90 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::evaluatePsuedoPotential(), and initialize().
Array1D<double> QMCWalkerData::DcB |
Definition at line 90 of file QMCWalkerData.h.
Referenced by QMCPotential_Energy::evaluatePsuedoPotential(), and initialize().
Array1D<double> QMCWalkerData::rDc_xxA |
Array1D<double> QMCWalkerData::rDc_xxB |
Array3D<double> QMCWalkerData::rDc_xA |
Array3D<double> QMCWalkerData::rDc_xB |
Array1D<double> QMCWalkerData::Chi_DensityA |
Definition at line 94 of file QMCWalkerData.h.
Array1D<double> QMCWalkerData::Chi_DensityB |
Definition at line 94 of file QMCWalkerData.h.
Array2D<double> QMCWalkerData::Uij |
These are the raw data specifically from the Jastrow part of the wavefunction.
We want to remember all the calculated Jastrow data. This data is needed for an efficient implementation of one electron updates, since we need to remember the Jastrow evaluations for all the other electrons.
Uij is for the electron-electron jastrows UiA is for the electron-nucleus jastrows UijA is for the 3 particle jastrows
Definition at line 113 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronElectron::collectForPair(), and initialize().
Array3D<double> QMCWalkerData::Uij_x |
Definition at line 118 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronElectron::collectForPair(), and initialize().
Array2D<double> QMCWalkerData::Uij_xx |
Definition at line 123 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronElectron::collectForPair(), and initialize().
Array2D<double> QMCWalkerData::UiA |
Definition at line 125 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronNuclear::evaluate(), and initialize().
Array3D<double> QMCWalkerData::UiA_x |
Definition at line 126 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronNuclear::evaluate(), and initialize().
Array2D<double> QMCWalkerData::UiA_xx |
Definition at line 127 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronNuclear::evaluate(), and initialize().
Array2D<double> QMCWalkerData::UijA |
Definition at line 129 of file QMCWalkerData.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), initialize(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
Array1D< Array2D<double> > QMCWalkerData::UijA_x1 |
Definition at line 130 of file QMCWalkerData.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), initialize(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
Array1D< Array2D<double> > QMCWalkerData::UijA_x2 |
Definition at line 131 of file QMCWalkerData.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), initialize(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
Array2D<double> QMCWalkerData::UijA_xx |
Definition at line 132 of file QMCWalkerData.h.
Referenced by QMCThreeBodyJastrow::collectForPair(), initialize(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
These are intermediate data specifically from the determinant part of the wavefunction.
Definition at line 138 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), initialize(), operator<<(), partialCopy(), and QMCSCFJastrow::update_SCF().
Array2D<double> QMCWalkerData::D_x |
Definition at line 139 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), initialize(), partialCopy(), QMCSCFJastrow::update_SCF(), and writeConfigs().
double QMCWalkerData::D_xx |
Definition at line 140 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_Psi_quantities(), isSingular(), operator<<(), partialCopy(), QMCSurfer::scanEnergies(), QMCSCFJastrow::update_SCF(), writeConfigs(), and zero().
double QMCWalkerData::U |
These are the intermediate data specifically from the Jastrow part of the wavefunction.
Definition at line 146 of file QMCWalkerData.h.
Referenced by QMCJastrowElectronElectron::collectForPair(), QMCJastrowElectronNuclear::evaluate(), initialize(), operator<<(), QMCSurfer::scanEnergies(), QMCThreeBodyJastrow::updateAll(), QMCThreeBodyJastrow::updateOne(), and writeConfigs().
Array2D<double> QMCWalkerData::U_x |
Definition at line 147 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CIDerivatives(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), QMCJastrowElectronElectron::collectForPair(), QMCJastrowElectronNuclear::evaluate(), initialize(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
double QMCWalkerData::U_xx |
Definition at line 148 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCSCFJastrow::calculate_Psi_quantities(), QMCJastrowElectronElectron::collectForPair(), QMCJastrowElectronNuclear::evaluate(), initialize(), isSingular(), operator<<(), QMCSurfer::scanEnergies(), QMCThreeBodyJastrow::updateAll(), and QMCThreeBodyJastrow::updateOne().
double QMCWalkerData::localEnergy |
These are the final values for the wavefunction.
Definition at line 153 of file QMCWalkerData.h.
Referenced by QMCWalker::branchRecommended(), QMCWalker::calculateObservables(), QMCSCFJastrow::checkParameterDerivatives(), QMCSCFJastrow::evaluate(), getModifiedLocalEnergy(), operator<<(), partialCopy(), QMCRun::randomlyInitializeWalkers(), QMCWalker::reweight_walker(), QMCSurfer::scanEnergies(), and zero().
double QMCWalkerData::kineticEnergy |
Definition at line 153 of file QMCWalkerData.h.
Referenced by QMCWalker::branchRecommended(), QMCWalker::calculateObservables(), QMCSCFJastrow::evaluate(), QMCWalker::ID(), isSingular(), operator<<(), partialCopy(), QMCSurfer::scanEnergies(), and zero().
Definition at line 153 of file QMCWalkerData.h.
Referenced by QMCWalker::branchRecommended(), QMCSCFJastrow::calculate_CorrelatedSampling(), QMCWalker::calculateObservables(), QMCSCFJastrow::evaluate(), QMCWalker::ID(), isSingular(), operator<<(), partialCopy(), QMCSurfer::scanEnergies(), writeConfigs(), and zero().
double QMCWalkerData::neEnergy |
Definition at line 154 of file QMCWalkerData.h.
Referenced by QMCWalker::calculateObservables(), QMCSCFJastrow::evaluate(), operator<<(), partialCopy(), QMCSurfer::scanEnergies(), and zero().
double QMCWalkerData::eeEnergy |
Definition at line 154 of file QMCWalkerData.h.
Referenced by QMCWalker::calculateObservables(), QMCSCFJastrow::evaluate(), operator<<(), partialCopy(), QMCSurfer::scanEnergies(), and zero().
Definition at line 156 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), QMCWalker::calculateMoveAcceptanceProbability(), QMCWalker::calculateObservables(), QMCSCFJastrow::checkParameterDerivatives(), QMCSCFJastrow::evaluate(), initialize(), operator<<(), partialCopy(), and QMCSurfer::scanEnergies().
Array2D<double> QMCWalkerData::gradPsiRatio |
Gets the ratio of the wavefunction gradient to the wavefunction value at the last evaluated electronic configuration.
This is also known as the quantum force.
Definition at line 163 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCSCFJastrow::calculate_Psi_quantities(), QMCWalker::calculateObservables(), initialize(), partialCopy(), and QMCWalker::reweight_walker().
Gets a modified version of the ratio of the wavefunction gradient to the wavefunction value at the last evaluated electronic configuration.
The modifications typically help deal with singularities near nodes, and the particular type of modification can be selected. This is also known as the modified quantum force.
Definition at line 172 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCWalker::calculateReverseGreensFunctionImportanceSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93AcceleratedSampling(), QMCWalker::calculateReverseGreensFunctionUmrigar93ImportanceSampling(), initialize(), QMCWalker::moveElectronsImportanceSampling(), QMCWalker::moveElectronsUmrigar93AcceleratedSampling(), QMCWalker::moveElectronsUmrigar93ImportanceSampling(), partialCopy(), and QMCWalker::reweight_walker().
Definition at line 173 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), getModifiedLocalEnergy(), and initialize().
This is set to true if there is any known numerical problem with the wavefunction.
If true, then it shouldn't be added to any averages.
Definition at line 180 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_Modified_Grad_PsiRatio(), QMCSCFJastrow::calculate_Psi_quantities(), QMCSCFJastrow::evaluate(), initialize(), isSingular(), operator<<(), and partialCopy().
This holds derivatives of the Hamiltonian (Hellman-Feynmann theorem) evaluated with respect to each nucleus.
Definition at line 186 of file QMCWalkerData.h.
Referenced by QMCWalker::calculateObservables(), and initialize().
Array1D<double> QMCWalkerData::chiDensity |
Definition at line 188 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_Psi_quantities(), QMCWalker::calculateObservables(), and initialize().
Array1D<double> QMCWalkerData::cs_LocalEnergy |
Definition at line 191 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), and QMCWalker::calculateObservables().
Array1D<double> QMCWalkerData::cs_Weights |
Definition at line 193 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CorrelatedSampling(), and QMCWalker::calculateObservables().
Array1D<double> QMCWalkerData::rp_a |
Definition at line 203 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CIDerivatives(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), QMCWalker::calculateObservables(), QMCSCFJastrow::checkParameterDerivatives(), and initialize().
Array1D<double> QMCWalkerData::p3_xxa |
Definition at line 209 of file QMCWalkerData.h.
Referenced by QMCSCFJastrow::calculate_CIDerivatives(), QMCSCFJastrow::calculate_JastrowDerivatives(), QMCSCFJastrow::calculate_OrbitalDerivatives(), QMCSCFJastrow::calculate_Psi_quantities(), QMCWalker::calculateObservables(), QMCSCFJastrow::checkParameterDerivatives(), and initialize().