![]() |
QMCPACK
|
class to handle determinants with backflow More...
Public Member Functions | |
DiracDeterminantWithBackflow (std::unique_ptr< SPOSet > &&spos, BackflowTransformation &BF, int first, int last) | |
constructor More... | |
~DiracDeterminantWithBackflow () override | |
default destructor More... | |
DiracDeterminantWithBackflow (const DiracDeterminantWithBackflow &s)=delete | |
DiracDeterminantWithBackflow & | operator= (const DiracDeterminantWithBackflow &s)=delete |
std::string | getClassName () const override |
return class name More... | |
void | evaluateDerivatives (ParticleSet &P, const opt_variables_type &active, Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) override |
Compute the derivatives of both the log of the wavefunction and kinetic energy with respect to optimizable parameters. More... | |
void | evaluateDerivatives (ParticleSet &P, const opt_variables_type &active, std::vector< RealType > &dlogpsi, std::vector< RealType > &dhpsioverpsi, ParticleSet::ParticleGradient *G0, ParticleSet::ParticleLaplacian *L0, int k) |
void | evaluateDerivatives (ParticleSet &P, const opt_variables_type &active, int offset, Matrix< RealType > &dlogpsi, Array< GradType, OHMMS_DIM > &dG, Matrix< RealType > &dL) override |
void | registerData (ParticleSet &P, WFBufferType &buf) override |
For particle-by-particle move. More... | |
LogValue | updateBuffer (ParticleSet &P, WFBufferType &buf, bool fromscratch=false) override |
For particle-by-particle move. More... | |
void | copyFromBuffer (ParticleSet &P, WFBufferType &buf) override |
For particle-by-particle move. More... | |
PsiValue | ratio (ParticleSet &P, int iat) override |
return the ratio only for the iat-th partcle move More... | |
void | evaluateRatiosAlltoOne (ParticleSet &P, std::vector< ValueType > &ratios) override |
evaluate the ratios of one virtual move with respect to all the particles More... | |
PsiValue | ratioGrad (ParticleSet &P, int iat, GradType &grad_iat) override |
evaluate the ratio of the new to old WaveFunctionComponent value and the new gradient More... | |
GradType | evalGrad (ParticleSet &P, int iat) override |
return the current gradient for the iat-th particle More... | |
GradType | evalGradSource (ParticleSet &P, ParticleSet &source, int iat) override |
return the logarithmic gradient for the iat-th particle of the source particleset More... | |
GradType | evalGradSource (ParticleSet &P, ParticleSet &source, int iat, TinyVector< ParticleSet::ParticleGradient, OHMMS_DIM > &grad_grad, TinyVector< ParticleSet::ParticleLaplacian, OHMMS_DIM > &lapl_grad) override |
void | acceptMove (ParticleSet &P, int iat, bool safe_to_delay=false) override |
move was accepted, update the real container More... | |
void | restore (int iat) override |
move was rejected. More... | |
LogValue | evaluateLog (const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L) override |
Calculate the log value of the Dirac determinant for particles. More... | |
std::unique_ptr< DiracDeterminantWithBackflow > | makeCopyWithBF (std::unique_ptr< SPOSet > &&spo, BackflowTransformation &BF) const |
cloning function More... | |
std::unique_ptr< DiracDeterminantBase > | makeCopy (std::unique_ptr< SPOSet > &&spo) const override |
cloning function More... | |
void | testDerivFjj (ParticleSet &P, int pa) |
void | testGGG (ParticleSet &P) |
void | testGG (ParticleSet &P) |
void | testDerivLi (ParticleSet &P, int pa) |
void | testL (ParticleSet &P) |
![]() | |
DiracDeterminantBase (const std::string &class_name, std::unique_ptr< SPOSet > &&spos, int first, int last) | |
constructor More... | |
~DiracDeterminantBase () override | |
default destructor More... | |
DiracDeterminantBase (const DiracDeterminantBase &s)=delete | |
DiracDeterminantBase & | operator= (const DiracDeterminantBase &s)=delete |
SPOSetPtr | getPhi () const |
int | getFirstIndex () const |
int | getLastIndex () const |
virtual ValueMatrix & | getPsiMinv () |
bool | isFermionic () const final |
true, if this component is fermionic More... | |
bool | isOptimizable () const final |
if true, this contains optimizable components More... | |
void | extractOptimizableObjectRefs (UniqueOptObjRefs &opt_obj_refs) final |
extract underlying OptimizableObject references More... | |
void | checkOutVariables (const opt_variables_type &active) final |
check out variational optimizable variables More... | |
virtual void | registerTWFFastDerivWrapper (const ParticleSet &P, TWFFastDerivWrapper &twf) const override |
Register the component with the TWFFastDerivWrapper wrapper. More... | |
virtual void | evaluateDerivativesWF (ParticleSet &P, const opt_variables_type &optvars, Vector< ValueType > &dlogpsi) override |
Compute the derivatives of the log of the wavefunction with respect to optimizable parameters. More... | |
virtual void | evaluateDerivatives (ParticleSet &P, const opt_variables_type &active, int offset, Matrix< RealType > &dlogpsi, Array< GradType, 3 > &dG, Matrix< RealType > &dL) |
std::unique_ptr< WaveFunctionComponent > | makeClone (ParticleSet &tqp) const final |
make clone More... | |
PsiValue | ratioGradWithSpin (ParticleSet &P, int iat, GradType &grad_iat, ComplexType &spingrad) override |
evaluate the ratio of the new to old WaveFunctionComponent value and the new spin gradient Default implementation assumes that WaveFunctionComponent does not explicitly depend on Spin. More... | |
GradType | evalGradWithSpin (ParticleSet &P, int iat, ComplexType &spingrad) override |
return the current spin gradient for the iat-th particle Default implementation assumes that WaveFunctionComponent does not explicitly depend on Spin. More... | |
virtual void | evaluateDerivatives (ParticleSet &P, const opt_variables_type &optvars, Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi)=0 |
Compute the derivatives of both the log of the wavefunction and kinetic energy with respect to optimizable parameters. More... | |
virtual LogValue | evaluateGL (const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L, bool fromscratch) |
compute gradients and laplacian of the TWF with respect to each particle. More... | |
virtual LogValue | evaluateLog (const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L)=0 |
evaluate the value of the WaveFunctionComponent from scratch More... | |
virtual void | mw_evaluateGL (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< ParticleSet::ParticleGradient > &G_list, const RefVector< ParticleSet::ParticleLaplacian > &L_list, bool fromscratch) const |
evaluate gradients and laplacian of the same type WaveFunctionComponent of multiple walkers More... | |
virtual void | mw_evaluateLog (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< ParticleSet::ParticleGradient > &G_list, const RefVector< ParticleSet::ParticleLaplacian > &L_list) const |
evaluate from scratch the same type WaveFunctionComponent of multiple walkers More... | |
virtual void | recompute (const ParticleSet &P) |
recompute the value of the WaveFunctionComponents which require critical accuracy. More... | |
virtual void | copyFromBuffer (ParticleSet &P, WFBufferType &buf)=0 |
For particle-by-particle move. More... | |
virtual void | registerData (ParticleSet &P, WFBufferType &buf)=0 |
For particle-by-particle move. More... | |
virtual LogValue | updateBuffer (ParticleSet &P, WFBufferType &buf, bool fromscratch=false)=0 |
For particle-by-particle move. More... | |
virtual void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
acquire a shared resource from a collection More... | |
virtual void | createResource (ResourceCollection &collection) const |
initialize a shared resource and hand it to a collection More... | |
virtual void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
return a shared resource to a collection More... | |
virtual void | acceptMove (ParticleSet &P, int iat, bool safe_to_delay=false)=0 |
a move for iat-th particle is accepted. More... | |
virtual void | completeUpdates () |
complete all the delayed or asynchronous operations before leaving the p-by-p move region. More... | |
virtual GradType | evalGrad (ParticleSet &P, int iat) |
return the current gradient for the iat-th particle More... | |
virtual void | mw_accept_rejectMove (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, const std::vector< bool > &isAccepted, bool safe_to_delay=false) const |
moves of the iat-th particle on some walkers in a batch is accepted. More... | |
virtual void | mw_calcRatio (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios) const |
compute the ratio of the new to old WaveFunctionComponent value of multiple walkers More... | |
virtual void | mw_completeUpdates (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
complete all the delayed or asynchronous operations for all the walkers in a batch before leaving the p-by-p move region. More... | |
template<CoordsType CT> | |
void | mw_evalGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const int iat, TWFGrads< CT > &grads_now) const |
compute the current gradients for the iat-th particle of multiple walkers More... | |
virtual void | mw_evalGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< GradType > &grad_now) const |
compute the current gradients for the iat-th particle of multiple walkers More... | |
template<CoordsType CT> | |
void | mw_ratioGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios, TWFGrads< CT > &grad_new) const |
virtual void | mw_ratioGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios, std::vector< GradType > &grad_new) const |
compute the ratio of the new to old WaveFunctionComponent value and the new gradient of multiple walkers More... | |
virtual PsiValue | ratio (ParticleSet &P, int iat)=0 |
evaluate the ratio of the new to old WaveFunctionComponent value More... | |
virtual PsiValue | ratioGrad (ParticleSet &P, int iat, GradType &grad_iat) |
evaluate the ratio of the new to old WaveFunctionComponent value and the new gradient More... | |
virtual void | restore (int iat)=0 |
If a move for iat-th particle is rejected, restore to the content. More... | |
virtual GradType | evalGradSource (ParticleSet &P, ParticleSet &source, int iat) |
return the logarithmic gradient for the iat-th particle of the source particleset More... | |
virtual GradType | evalGradSource (ParticleSet &P, ParticleSet &source, int iat, TinyVector< ParticleSet::ParticleGradient, OHMMS_DIM > &grad_grad, TinyVector< ParticleSet::ParticleLaplacian, OHMMS_DIM > &lapl_grad) |
Adds the gradient w.r.t. More... | |
virtual void | evaluateHessian (ParticleSet &P, HessVector &grad_grad_psi_all) |
virtual void | evaluateRatios (const VirtualParticleSet &VP, std::vector< ValueType > &ratios) |
evaluate ratios to evaluate the non-local PP More... | |
virtual void | evaluateRatiosAlltoOne (ParticleSet &P, std::vector< ValueType > &ratios) |
evaluate the ratios of one virtual move with respect to all the particles More... | |
virtual void | evaluateSpinorRatios (const VirtualParticleSet &VP, const std::pair< ValueVector, ValueVector > &spinor_multiplier, std::vector< ValueType > &ratios) |
Used by SOECPComponent for faster SOC evaluation. More... | |
virtual void | mw_evaluateRatios (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< const VirtualParticleSet > &vp_list, std::vector< std::vector< ValueType >> &ratios) const |
evaluate ratios to evaluate the non-local PP multiple walkers More... | |
![]() | |
const LogValue & | get_log_value () const |
WaveFunctionComponent (const std::string &obj_name="") | |
default constructor More... | |
virtual | ~WaveFunctionComponent () |
default destructor More... | |
virtual void | checkSanity () const |
Validate the internal consistency of the object. More... | |
const std::string & | getName () const |
return object name More... | |
PsiValue | getValue () const |
assembles the full value More... | |
virtual bool | isMultiDet () const |
true, if this component is multi-determinant More... | |
virtual LogValue | evaluateLog (const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L)=0 |
evaluate the value of the WaveFunctionComponent from scratch More... | |
virtual void | mw_evaluateLog (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< ParticleSet::ParticleGradient > &G_list, const RefVector< ParticleSet::ParticleLaplacian > &L_list) const |
evaluate from scratch the same type WaveFunctionComponent of multiple walkers More... | |
virtual void | recompute (const ParticleSet &P) |
recompute the value of the WaveFunctionComponents which require critical accuracy. More... | |
virtual void | mw_recompute (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const std::vector< bool > &recompute) const |
virtual void | evaluateHessian (ParticleSet &P, HessVector &grad_grad_psi_all) |
virtual void | prepareGroup (ParticleSet &P, int ig) |
Prepare internal data for updating WFC correspond to a particle group It should be called before moving particles of a given group. More... | |
virtual void | mw_prepareGroup (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int ig) const |
template<CoordsType CT> | |
void | mw_evalGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const int iat, TWFGrads< CT > &grads_now) const |
compute the current gradients for the iat-th particle of multiple walkers More... | |
virtual void | mw_evalGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< GradType > &grad_now) const |
compute the current gradients for the iat-th particle of multiple walkers More... | |
virtual GradType | evalGradSource (ParticleSet &P, ParticleSet &source, int iat, TinyVector< ParticleSet::ParticleGradient, OHMMS_DIM > &grad_grad, TinyVector< ParticleSet::ParticleLaplacian, OHMMS_DIM > &lapl_grad) |
Adds the gradient w.r.t. More... | |
template<CoordsType CT> | |
void | mw_ratioGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios, TWFGrads< CT > &grad_new) const |
virtual void | mw_ratioGrad (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios, std::vector< GradType > &grad_new) const |
compute the ratio of the new to old WaveFunctionComponent value and the new gradient of multiple walkers More... | |
virtual void | mw_accept_rejectMove (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, const std::vector< bool > &isAccepted, bool safe_to_delay=false) const |
moves of the iat-th particle on some walkers in a batch is accepted. More... | |
virtual void | completeUpdates () |
complete all the delayed or asynchronous operations before leaving the p-by-p move region. More... | |
virtual void | mw_completeUpdates (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
complete all the delayed or asynchronous operations for all the walkers in a batch before leaving the p-by-p move region. More... | |
virtual void | mw_calcRatio (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios) const |
compute the ratio of the new to old WaveFunctionComponent value of multiple walkers More... | |
virtual LogValue | evaluateGL (const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L, bool fromscratch) |
compute gradients and laplacian of the TWF with respect to each particle. More... | |
virtual void | mw_evaluateGL (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, const RefVector< ParticleSet::ParticleGradient > &G_list, const RefVector< ParticleSet::ParticleLaplacian > &L_list, bool fromscratch) const |
evaluate gradients and laplacian of the same type WaveFunctionComponent of multiple walkers More... | |
virtual void | createResource (ResourceCollection &collection) const |
initialize a shared resource and hand it to a collection More... | |
virtual void | acquireResource (ResourceCollection &collection, const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
acquire a shared resource from a collection More... | |
virtual void | releaseResource (ResourceCollection &collection, const RefVectorWithLeader< WaveFunctionComponent > &wfc_list) const |
return a shared resource to a collection More... | |
virtual RealType | KECorrection () |
Return the Chiesa kinetic energy correction. More... | |
virtual void | evaluateGradDerivatives (const ParticleSet::ParticleGradient &G_in, std::vector< ValueType > &dgradlogpsi) |
Calculates the derivatives of ![]() | |
virtual void | finalizeOptimization () |
virtual void | evaluateRatios (const VirtualParticleSet &VP, std::vector< ValueType > &ratios) |
evaluate ratios to evaluate the non-local PP More... | |
virtual void | evaluateSpinorRatios (const VirtualParticleSet &VP, const std::pair< ValueVector, ValueVector > &spinor_multiplier, std::vector< ValueType > &ratios) |
Used by SOECPComponent for faster SOC evaluation. More... | |
virtual void | mw_evaluateRatios (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< const VirtualParticleSet > &vp_list, std::vector< std::vector< ValueType >> &ratios) const |
evaluate ratios to evaluate the non-local PP multiple walkers More... | |
virtual void | evaluateDerivRatios (const VirtualParticleSet &VP, const opt_variables_type &optvars, std::vector< ValueType > &ratios, Matrix< ValueType > &dratios) |
evaluate ratios to evaluate the non-local PP More... | |
virtual void | mw_evalGradWithSpin (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< GradType > &grad_now, std::vector< ComplexType > &spingrad_now) const |
compute the current gradients and spin gradients for the iat-th particle of multiple walkers More... | |
virtual void | mw_ratioGradWithSpin (const RefVectorWithLeader< WaveFunctionComponent > &wfc_list, const RefVectorWithLeader< ParticleSet > &p_list, int iat, std::vector< PsiValue > &ratios, std::vector< GradType > &grad_new, std::vector< ComplexType > &spingrad_new) const |
compute the ratio of the new to old WaveFunctionComponent value and the new gradient/spingradient of multiple walkers More... | |
Public Attributes | |
BackflowTransformation & | BFTrans_ |
![]() | |
int | UpdateMode |
current update mode More... | |
opt_variables_type | myVars |
list of variables this WaveFunctionComponent handles More... | |
size_t | Bytes_in_WFBuffer |
Bytes in WFBuffer. More... | |
Private Member Functions | |
void | resize (int nel, int morb) |
reset the size: with the number of particles and number of orbtials More... | |
ValueType | rcdot (TinyVector< RealType, OHMMS_DIM > &lhs, TinyVector< ValueType, OHMMS_DIM > &rhs) |
void | dummyEvalLi (ValueType &L1, ValueType &L2, ValueType &L3) |
void | evaluate_SPO (ValueMatrix &logdet, GradMatrix &dlogdet, HessMatrix &grad_grad_logdet) |
replace of SPOSet::evaluate function with the removal of t_logpsi More... | |
void | evaluate_SPO (ValueMatrix &logdet, GradMatrix &dlogdet, HessMatrix &grad_grad_logdet, GGGMatrix &grad_grad_grad_logdet) |
Additional Inherited Members | |
![]() | |
static bool | checkG (const GradType &g) |
![]() | |
NewTimer & | UpdateTimer |
Timers. More... | |
NewTimer & | RatioTimer |
NewTimer & | InverseTimer |
NewTimer & | BufferTimer |
NewTimer & | SPOVTimer |
NewTimer & | SPOVGLTimer |
const std::unique_ptr< SPOSet > | Phi |
a set of single-particle orbitals used to fill in the values of the matrix More... | |
const int | FirstIndex |
index of the first particle with respect to the particle set More... | |
const int | LastIndex |
index of the last particle with respect to the particle set More... | |
const int | NumOrbitals |
number of single-particle orbitals which belong to this Dirac determinant More... | |
const int | NumPtcls |
number of particles which belong to this Dirac determinant More... | |
ValueMatrix | dummy_vmt |
![]() | |
const std::string | my_name_ |
Name of the object It is required to be different for objects of the same derived type like multiple J1. More... | |
LogValue | log_value_ |
Current ![]() | |
class to handle determinants with backflow
Definition at line 33 of file DiracDeterminantWithBackflow.h.
using GGGMatrix = SPOSet::GGGMatrix |
Definition at line 42 of file DiracDeterminantWithBackflow.h.
using GradMatrix = SPOSet::GradMatrix |
Definition at line 39 of file DiracDeterminantWithBackflow.h.
using GradVector = SPOSet::GradVector |
Definition at line 38 of file DiracDeterminantWithBackflow.h.
using HessMatrix = SPOSet::HessMatrix |
Definition at line 40 of file DiracDeterminantWithBackflow.h.
using HessVector = SPOSet::HessVector |
Definition at line 41 of file DiracDeterminantWithBackflow.h.
using ValueMatrix = SPOSet::ValueMatrix |
Definition at line 37 of file DiracDeterminantWithBackflow.h.
using ValueVector = SPOSet::ValueVector |
Definition at line 36 of file DiracDeterminantWithBackflow.h.
DiracDeterminantWithBackflow | ( | std::unique_ptr< SPOSet > && | spos, |
BackflowTransformation & | BF, | ||
int | first, | ||
int | last | ||
) |
constructor
spos | the single-particle orbital set |
first | index of the first particle |
Definition at line 31 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::BFTrans_, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::NP, DiracDeterminantWithBackflow::NumParticles, DiracDeterminantBase::NumPtcls, BackflowTransformation::QP, and DiracDeterminantWithBackflow::resize().
|
override |
|
delete |
|
overridevirtual |
move was accepted, update the real container
Implements WaveFunctionComponent.
Definition at line 561 of file DiracDeterminantWithBackflow.cpp.
References qmcplusplus::convertValueToLog(), DiracDeterminantWithBackflow::curRatio, DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::dpsiM_temp, DiracDeterminantWithBackflow::Fmatdiag, DiracDeterminantWithBackflow::Fmatdiag_temp, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM_temp, WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myG_temp, DiracDeterminantWithBackflow::myL, DiracDeterminantWithBackflow::myL_temp, WaveFunctionComponent::ORB_PBYP_PARTIAL, WaveFunctionComponent::ORB_PBYP_RATIO, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiM_temp, DiracDeterminantWithBackflow::psiMinv, DiracDeterminantWithBackflow::psiMinv_temp, TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), WaveFunctionComponent::UpdateMode, and DiracDeterminantBase::UpdateTimer.
|
overridevirtual |
For particle-by-particle move.
Copy data or attach memory from a walker buffer to the objects of this class. The log value, P.G and P.L contribution from the objects of this class are also added.
P | particle set |
buf | Anonymous storage |
Implements WaveFunctionComponent.
Definition at line 167 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::FirstAddressOfdV, DiracDeterminantWithBackflow::FirstAddressOfFm, DiracDeterminantWithBackflow::FirstAddressOfG, DiracDeterminantWithBackflow::FirstAddressOfGGG, PooledMemory< T_scalar, Alloc >::get(), DiracDeterminantWithBackflow::LastAddressOfdV, DiracDeterminantWithBackflow::LastAddressOfFm, DiracDeterminantWithBackflow::LastAddressOfG, DiracDeterminantWithBackflow::LastAddressOfGGG, WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myL, DiracDeterminantWithBackflow::psiM, and DiracDeterminantWithBackflow::psiMinv.
Definition at line 1318 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, Vector< T, Alloc >::data(), qmcplusplus::simd::dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, qmcplusplus::outerProduct(), DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, BackflowTransformation::QP, DiracDeterminantWithBackflow::rcdot(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), qmcplusplus::traceAtB(), qmcplusplus::transpose(), and DiracDeterminantWithBackflow::WorkSpace.
Referenced by DiracDeterminantWithBackflow::testDerivLi().
|
overridevirtual |
return the current gradient for the iat-th particle
P | quantum particle set |
iat | particle index |
Reimplemented from WaveFunctionComponent.
Definition at line 229 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, qmcplusplus::dot(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmatdiag, and DiracDeterminantBase::NumPtcls.
|
overridevirtual |
return the logarithmic gradient for the iat-th particle of the source particleset
Pquantum | particle set |
iat | particle index |
Reimplemented from WaveFunctionComponent.
Definition at line 240 of file DiracDeterminantWithBackflow.cpp.
References APP_ABORT.
|
override |
Definition at line 248 of file DiracDeterminantWithBackflow.cpp.
References APP_ABORT.
|
private |
replace of SPOSet::evaluate function with the removal of t_logpsi
Definition at line 82 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::BFTrans_, DiracDeterminantBase::FirstIndex, DiracDeterminantBase::LastIndex, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::Phi, DiracDeterminantWithBackflow::psiM_temp, BackflowTransformation::QP, and qmcplusplus::simd::transpose().
Referenced by DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testGG(), DiracDeterminantWithBackflow::testGGG(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 88 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::BFTrans_, DiracDeterminantBase::FirstIndex, DiracDeterminantBase::LastIndex, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::Phi, DiracDeterminantWithBackflow::psiM_temp, BackflowTransformation::QP, and qmcplusplus::simd::transpose().
|
overridevirtual |
Compute the derivatives of both the log of the wavefunction and kinetic energy with respect to optimizable parameters.
P | particle set |
optvars | optimizable parameters |
dlogpsi | array of derivatives of the log of the wavefunction. Add the contribution from this component. |
dhpsioverpsi | array of Hamiltonian derivatives. Add the kinetic energy derivatives contribution from this component. ![]() ![]() ![]() ![]() |
Implements WaveFunctionComponent.
Definition at line 596 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::Ajk_sum, BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, BackflowTransformation::Cmat, Vector< T, Alloc >::data(), DiracDeterminantWithBackflow::dFa, qmcplusplus::simd::dot(), qmcplusplus::Dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, ParticleSet::G, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::Gtemp, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, qmcplusplus::n, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, BackflowTransformation::optIndexMap, qmcplusplus::outerProduct(), DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, DiracDeterminantWithBackflow::Qmat, DiracDeterminantWithBackflow::rcdot(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), qmcplusplus::traceAtB(), qmcplusplus::transpose(), DiracDeterminantWithBackflow::WorkSpace, BackflowTransformation::Xmat, and BackflowTransformation::Ymat.
Referenced by SlaterDetWithBackflow::testDerivGL(), and DiracDeterminantWithBackflow::testDerivLi().
void evaluateDerivatives | ( | ParticleSet & | P, |
const opt_variables_type & | active, | ||
std::vector< RealType > & | dlogpsi, | ||
std::vector< RealType > & | dhpsioverpsi, | ||
ParticleSet::ParticleGradient * | G0, | ||
ParticleSet::ParticleLaplacian * | L0, | ||
int | k | ||
) |
Definition at line 873 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, BackflowTransformation::Cmat, Vector< T, Alloc >::data(), DiracDeterminantWithBackflow::dFa, qmcplusplus::simd::dot(), qmcplusplus::Dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, ParticleSet::G, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::Gtemp, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), DiracDeterminantWithBackflow::La1, DiracDeterminantWithBackflow::La2, DiracDeterminantWithBackflow::La3, WaveFunctionComponent::log_value_, qmcplusplus::n, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, qmcplusplus::outerProduct(), DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, DiracDeterminantWithBackflow::rcdot(), qmcplusplus::real(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), qmcplusplus::traceAtB(), qmcplusplus::transpose(), DiracDeterminantWithBackflow::WorkSpace, BackflowTransformation::Xmat, and BackflowTransformation::Ymat.
|
override |
Definition at line 738 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::Ajk_sum, BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, BackflowTransformation::Cmat, qmcplusplus::convertToReal(), Vector< T, Alloc >::data(), DiracDeterminantWithBackflow::dFa, qmcplusplus::simd::dot(), qmcplusplus::Dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::Gtemp, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myL, qmcplusplus::n, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, BackflowTransformation::optIndexMap, qmcplusplus::outerProduct(), DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, DiracDeterminantWithBackflow::Qmat, DiracDeterminantWithBackflow::rcdot(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), qmcplusplus::Sum(), qmcplusplus::traceAtB(), qmcplusplus::transpose(), DiracDeterminantWithBackflow::WorkSpace, BackflowTransformation::Xmat, and BackflowTransformation::Ymat.
|
override |
Calculate the log value of the Dirac determinant for particles.
P | input configuration containing N particles |
G | a vector containing N gradients |
L | a vector containing N laplacians |
Add the gradient and laplacian contribution of the determinant to G(radient) and L(aplacian) for local energy calculations.
Definition at line 480 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, Vector< T, Alloc >::data(), qmcplusplus::simd::dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, DiracDeterminantWithBackflow::Fmatdiag, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myL, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, OHMMS_DIM, qmcplusplus::outerProduct(), DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), qmcplusplus::traceAtB(), qmcplusplus::transpose(), and DiracDeterminantWithBackflow::WorkSpace.
Referenced by DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
overridevirtual |
evaluate the ratios of one virtual move with respect to all the particles
P | reference particleset |
ratios | ![]() |
Reimplemented from WaveFunctionComponent.
Definition at line 224 of file DiracDeterminantWithBackflow.cpp.
References APP_ABORT.
|
inlineoverridevirtual |
return class name
Implements WaveFunctionComponent.
Definition at line 58 of file DiracDeterminantWithBackflow.h.
|
inlineoverridevirtual |
cloning function
tqp | target particleset |
spo | spo set |
This interface is exposed only to SlaterDet and its derived classes can overwrite to clone itself correctly.
Implements DiracDeterminantBase.
Definition at line 126 of file DiracDeterminantWithBackflow.h.
std::unique_ptr< DiracDeterminantWithBackflow > makeCopyWithBF | ( | std::unique_ptr< SPOSet > && | spo, |
BackflowTransformation & | BF | ||
) | const |
cloning function
tqp | target particleset |
spo | spo set |
This interface is exposed only to SlaterDet and its derived classes can overwrite to clone itself correctly.
Definition at line 993 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantBase::FirstIndex, and DiracDeterminantBase::LastIndex.
|
delete |
|
overridevirtual |
return the ratio only for the iat-th partcle move
P | current configuration |
iat | the particle thas is being moved |
Implements WaveFunctionComponent.
Definition at line 190 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::BFTrans_, LogToValue< T >::convert(), DiracDeterminantWithBackflow::curRatio, Vector< T, Alloc >::data(), DiracDeterminantBase::FirstIndex, BackflowTransformation::indexQP, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), DiracDeterminantBase::LastIndex, WaveFunctionComponent::log_value_, ParticleSet::makeMove(), BackflowTransformation::newQP, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, WaveFunctionComponent::ORB_PBYP_RATIO, DiracDeterminantBase::Phi, DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiM_temp, DiracDeterminantWithBackflow::psiMinv_temp, DiracDeterminantWithBackflow::psiV, BackflowTransformation::QP, ParticleSet::R, ParticleSet::rejectMove(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), WaveFunctionComponent::UpdateMode, and DiracDeterminantWithBackflow::WorkSpace.
|
overridevirtual |
evaluate the ratio of the new to old WaveFunctionComponent value and the new gradient
P | the active ParticleSet |
iat | the index of a particle |
grad_iat | Gradient for the active particle |
Reimplemented from WaveFunctionComponent.
Definition at line 259 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat_temp, DiracDeterminantWithBackflow::BFTrans_, LogToValue< T >::convert(), copy(), DiracDeterminantWithBackflow::curRatio, DiracDeterminantWithBackflow::d2psiV, Vector< T, Alloc >::data(), qmcplusplus::simd::dot(), qmcplusplus::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::dpsiM_temp, DiracDeterminantWithBackflow::dpsiV, DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmatdiag_temp, DiracDeterminantWithBackflow::grad_grad_psiM_temp, DiracDeterminantWithBackflow::grad_gradV, BackflowTransformation::indexQP, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), DiracDeterminantBase::LastIndex, WaveFunctionComponent::log_value_, ParticleSet::makeMove(), BackflowTransformation::newQP, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, WaveFunctionComponent::ORB_PBYP_PARTIAL, DiracDeterminantBase::Phi, DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiM_temp, DiracDeterminantWithBackflow::psiMinv_temp, DiracDeterminantWithBackflow::psiV, BackflowTransformation::QP, ParticleSet::R, ParticleSet::rejectMove(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), WaveFunctionComponent::UpdateMode, and DiracDeterminantWithBackflow::WorkSpace.
|
inlineprivate |
Definition at line 143 of file DiracDeterminantWithBackflow.h.
References OHMMS_DIM.
Referenced by DiracDeterminantWithBackflow::dummyEvalLi(), and DiracDeterminantWithBackflow::evaluateDerivatives().
|
overridevirtual |
For particle-by-particle move.
Requests space in the buffer based on the data type sizes of the objects in this class.
P | particle set |
buf | Anonymous storage |
Implements WaveFunctionComponent.
Definition at line 98 of file DiracDeterminantWithBackflow.cpp.
References PooledMemory< T_scalar, Alloc >::add(), DiracDeterminantWithBackflow::d2psiV, QMCTraits::DIM, DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::dpsiM_temp, DiracDeterminantWithBackflow::dpsiV, DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::FirstAddressOfdV, DiracDeterminantWithBackflow::FirstAddressOfFm, DiracDeterminantWithBackflow::FirstAddressOfG, DiracDeterminantWithBackflow::FirstAddressOfGGG, DiracDeterminantWithBackflow::Fmatdiag, DiracDeterminantWithBackflow::Fmatdiag_temp, ParticleSet::G, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM_temp, DiracDeterminantWithBackflow::grad_gradV, ParticleSet::L, DiracDeterminantWithBackflow::LastAddressOfdV, DiracDeterminantWithBackflow::LastAddressOfFm, DiracDeterminantWithBackflow::LastAddressOfG, DiracDeterminantWithBackflow::LastAddressOfGGG, WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myG_temp, DiracDeterminantWithBackflow::myL, DiracDeterminantWithBackflow::myL_temp, DiracDeterminantWithBackflow::NP, DiracDeterminantBase::NumOrbitals, DiracDeterminantWithBackflow::NumParticles, DiracDeterminantBase::NumPtcls, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, and DiracDeterminantWithBackflow::resize().
|
private |
reset the size: with the number of particles and number of orbtials
Definition at line 46 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::Ajk_sum, DiracDeterminantWithBackflow::dFa, DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::Fmat, DiracDeterminantWithBackflow::Fmatdiag, DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantWithBackflow::Gtemp, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myL, DiracDeterminantWithBackflow::NumParticles, DiracDeterminantBase::NumPtcls, DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiM_temp, DiracDeterminantWithBackflow::psiMinv, DiracDeterminantWithBackflow::psiMinv_temp, DiracDeterminantWithBackflow::psiV, DiracDeterminantWithBackflow::Qmat, Vector< T, Alloc >::resize(), and DiracDeterminantWithBackflow::WorkSpace.
Referenced by DiracDeterminantWithBackflow::DiracDeterminantWithBackflow(), and DiracDeterminantWithBackflow::registerData().
|
overridevirtual |
move was rejected.
copy the real container to the temporary to move on
Nothing to restore for now.
Implements WaveFunctionComponent.
Definition at line 594 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::curRatio.
void testDerivFjj | ( | ParticleSet & | P, |
int | pa | ||
) |
Definition at line 1171 of file DiracDeterminantWithBackflow.cpp.
References qmcplusplus::abs(), qmcplusplus::app_log(), DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::checkInVariables(), BackflowTransformation::checkOutVariables(), BackflowTransformation::Cmat, Vector< T, Alloc >::data(), qmcplusplus::simd::dot(), DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), BackflowTransformation::evaluateDerivatives(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, qmcplusplus::real(), BackflowTransformation::resetParameters(), VariableSet::size(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), and DiracDeterminantWithBackflow::WorkSpace.
Referenced by SlaterDetWithBackflow::testDerivGL().
void testDerivLi | ( | ParticleSet & | P, |
int | pa | ||
) |
Definition at line 1270 of file DiracDeterminantWithBackflow.cpp.
References qmcplusplus::app_log(), DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::checkInVariables(), BackflowTransformation::checkOutVariables(), DiracDeterminantWithBackflow::dummyEvalLi(), BackflowTransformation::evaluate(), DiracDeterminantWithBackflow::evaluateDerivatives(), BackflowTransformation::evaluateDerivatives(), DiracDeterminantWithBackflow::La1, DiracDeterminantWithBackflow::La2, DiracDeterminantWithBackflow::La3, DiracDeterminantWithBackflow::myG, DiracDeterminantWithBackflow::myL, BackflowTransformation::resetParameters(), and VariableSet::size().
Referenced by SlaterDetWithBackflow::testDerivGL().
void testGG | ( | ParticleSet & | P | ) |
Definition at line 1000 of file DiracDeterminantWithBackflow.cpp.
References qmcplusplus::app_log(), DiracDeterminantWithBackflow::BFTrans_, DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, qmcplusplus::for(), ParticleSet::getTotalNum(), DiracDeterminantBase::LastIndex, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, DiracDeterminantBase::Phi, DiracDeterminantWithBackflow::psiM, BackflowTransformation::QP, ParticleSet::R, Vector< T, Alloc >::resize(), and ParticleSet::update().
void testGGG | ( | ParticleSet & | P | ) |
Definition at line 1104 of file DiracDeterminantWithBackflow.cpp.
References qmcplusplus::abs(), qmcplusplus::app_log(), DiracDeterminantWithBackflow::BFTrans_, DiracDeterminantWithBackflow::dpsiM, DiracDeterminantWithBackflow::evaluate_SPO(), qmcplusplus::for(), ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_grad_psiM, DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantBase::NumOrbitals, DiracDeterminantBase::NumPtcls, DiracDeterminantWithBackflow::psiM, BackflowTransformation::QP, ParticleSet::R, qmcplusplus::real(), Vector< T, Alloc >::resize(), and ParticleSet::update().
Referenced by SlaterDetWithBackflow::testDerivGL().
void testL | ( | ParticleSet & | P | ) |
Definition at line 304 of file DiracDeterminantWithBackflow.cpp.
References BackflowTransformation::Amat, APP_ABORT, DiracDeterminantWithBackflow::BFTrans_, BackflowTransformation::Bmat_full, Vector< T, Alloc >::data(), qmcplusplus::simd::dot(), DiracDeterminantWithBackflow::dpsiM, BackflowTransformation::evaluate(), DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantBase::FirstIndex, DiracDeterminantWithBackflow::Fmat, DiracDeterminantWithBackflow::Fmatdiag, ParticleSet::getTotalNum(), DiracDeterminantWithBackflow::grad_grad_psiM, DiracDeterminantBase::InverseTimer, qmcplusplus::InvertWithLog(), WaveFunctionComponent::log_value_, DiracDeterminantBase::NumOrbitals, DiracDeterminantWithBackflow::NumParticles, DiracDeterminantBase::NumPtcls, DiracDeterminantWithBackflow::Pivot, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiMinv, ParticleSet::R, Matrix< T, Alloc >::resize(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), ParticleSet::update(), and DiracDeterminantWithBackflow::WorkSpace.
|
overridevirtual |
For particle-by-particle move.
Put the objects of this class in the walker buffer or forward the memory cursor.
P | particle set |
buf | Anonymous storage |
fromscratch | request recomputing the precision critical pieces of wavefunction from scratch |
Implements WaveFunctionComponent.
Definition at line 141 of file DiracDeterminantWithBackflow.cpp.
References DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::FirstAddressOfdV, DiracDeterminantWithBackflow::FirstAddressOfFm, DiracDeterminantWithBackflow::FirstAddressOfG, DiracDeterminantWithBackflow::FirstAddressOfGGG, ParticleSet::G, ParticleSet::L, DiracDeterminantWithBackflow::LastAddressOfdV, DiracDeterminantWithBackflow::LastAddressOfFm, DiracDeterminantWithBackflow::LastAddressOfG, DiracDeterminantWithBackflow::LastAddressOfGGG, WaveFunctionComponent::log_value_, DiracDeterminantWithBackflow::myG_temp, DiracDeterminantWithBackflow::myL, DiracDeterminantWithBackflow::myL_temp, DiracDeterminantWithBackflow::psiM, DiracDeterminantWithBackflow::psiM_temp, DiracDeterminantWithBackflow::psiMinv, PooledMemory< T_scalar, Alloc >::put(), TimerType< CLOCK >::start(), TimerType< CLOCK >::stop(), and DiracDeterminantBase::UpdateTimer.
|
private |
Definition at line 171 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::resize().
BackflowTransformation& BFTrans_ |
Definition at line 137 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::DiracDeterminantWithBackflow(), DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evalGrad(), DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testDerivLi(), DiracDeterminantWithBackflow::testGG(), DiracDeterminantWithBackflow::testGGG(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 192 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::restore().
|
private |
Definition at line 190 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 164 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::resize().
|
private |
dpsiM(i,j)
Definition at line 185 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testGG(), DiracDeterminantWithBackflow::testGGG(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 185 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 189 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 195 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 204 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 193 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 202 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 172 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 173 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::evalGrad(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 174 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 168 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), and DiracDeterminantWithBackflow::testGGG().
|
private |
Definition at line 165 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testGGG(), and DiracDeterminantWithBackflow::testL().
|
private |
Definition at line 167 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 166 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 169 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::resize().
|
private |
Definition at line 170 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::testDerivLi().
|
private |
Definition at line 170 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::testDerivLi().
|
private |
Definition at line 170 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::testDerivLi().
|
private |
Definition at line 196 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 205 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 194 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 203 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 207 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), and DiracDeterminantWithBackflow::testDerivLi().
|
private |
Definition at line 207 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 208 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivLi(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 208 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::registerData(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
total number of particles. Ye: used to track first time allocation but I still feel it very strange.
Definition at line 149 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::DiracDeterminantWithBackflow(), and DiracDeterminantWithBackflow::registerData().
|
private |
Definition at line 163 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::DiracDeterminantWithBackflow(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), and DiracDeterminantWithBackflow::testL().
Definition at line 199 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), and DiracDeterminantWithBackflow::testL().
|
private |
psiM(j,i)
Definition at line 179 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testGG(), DiracDeterminantWithBackflow::testGGG(), DiracDeterminantWithBackflow::testL(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 179 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::evaluate_SPO(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::resize(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
temporary container for testing
Definition at line 182 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::copyFromBuffer(), DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::registerData(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), DiracDeterminantWithBackflow::testL(), and DiracDeterminantWithBackflow::updateBuffer().
|
private |
Definition at line 201 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::acceptMove(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::resize().
|
private |
value of single-particle orbital for particle-by-particle update
Definition at line 188 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), and DiracDeterminantWithBackflow::resize().
|
private |
Definition at line 171 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::evaluateDerivatives(), and DiracDeterminantWithBackflow::resize().
Definition at line 198 of file DiracDeterminantWithBackflow.h.
Referenced by DiracDeterminantWithBackflow::dummyEvalLi(), DiracDeterminantWithBackflow::evaluateDerivatives(), DiracDeterminantWithBackflow::evaluateLog(), DiracDeterminantWithBackflow::ratio(), DiracDeterminantWithBackflow::ratioGrad(), DiracDeterminantWithBackflow::resize(), DiracDeterminantWithBackflow::testDerivFjj(), and DiracDeterminantWithBackflow::testL().