![]() |
QMCPACK
|
Base class for backflow transformations. More...
Public Types | |
enum | { DIM = OHMMS_DIM } |
enum | { ORB_PBYP_RATIO, ORB_PBYP_ALL, ORB_PBYP_PARTIAL, ORB_WALKER, ORB_ALLWALKER } |
enum for a update mode More... | |
using | Walker_t = ParticleSet::Walker_t |
using | WFBufferType = Walker_t::WFBuffer_t |
using | RealType = OHMMS_PRECISION |
using | IndexType = int |
using | PosType = TinyVector< RealType, DIM > |
using | GradType = TinyVector< RealType, DIM > |
using | HessType = Tensor< RealType, DIM > |
using | IndexVector = Vector< IndexType > |
using | GradVector = Vector< GradType > |
using | GradMatrix = Matrix< GradType > |
using | HessVector = Vector< HessType > |
using | HessMatrix = Matrix< HessType > |
using | HessArray = Array< HessType, 3 > |
Public Member Functions | |
BackflowFunctionBase (ParticleSet &ions, ParticleSet &els) | |
void | resize (int NT, int NC) |
virtual std::unique_ptr< BackflowFunctionBase > | makeClone (ParticleSet &tqp) const =0 |
virtual | ~BackflowFunctionBase () |
virtual void | acceptMove (int iat, int UpdateType)=0 |
virtual void | restore (int iat, int UpdateType)=0 |
virtual void | reportStatus (std::ostream &os)=0 |
virtual void | resetParameters (const opt_variables_type &active)=0 |
virtual void | checkInVariables (opt_variables_type &active)=0 |
virtual void | checkOutVariables (const opt_variables_type &active)=0 |
virtual bool | isOptimizable ()=0 |
virtual int | indexOffset ()=0 |
int | setParamIndex (int n) |
virtual void | registerData (WFBufferType &buf)=0 |
void | updateBuffer (WFBufferType &buf) |
void | copyFromBuffer (WFBufferType &buf) |
virtual void | evaluate (const ParticleSet &P, ParticleSet &QP)=0 |
calculate quasi-particle coordinates only More... | |
virtual void | evaluate (const ParticleSet &P, ParticleSet &QP, GradMatrix &Bmat, HessMatrix &Amat)=0 |
calculate quasi-particle coordinates, Bmat and Amat More... | |
virtual void | evaluatePbyP (const ParticleSet &P, ParticleSet::ParticlePos &newQP, const std::vector< int > &index)=0 |
calculate quasi-particle coordinates after pbyp move More... | |
virtual void | evaluatePbyP (const ParticleSet &P, ParticleSet::ParticlePos &newQP, const std::vector< int > &index, HessMatrix &Amat)=0 |
calculate quasi-particle coordinates and Amat after pbyp move More... | |
virtual void | evaluatePbyP (const ParticleSet &P, ParticleSet::ParticlePos &newQP, const std::vector< int > &index, GradMatrix &Bmat, HessMatrix &Amat)=0 |
calculate quasi-particle coordinates, Bmat and Amat after pbyp move More... | |
virtual void | evaluatePbyP (const ParticleSet &P, int iat, ParticleSet::ParticlePos &newQP)=0 |
calculate quasi-particle coordinates after pbyp move More... | |
virtual void | evaluatePbyP (const ParticleSet &P, int iat, ParticleSet::ParticlePos &newQP, HessMatrix &Amat)=0 |
calculate quasi-particle coordinates and Amat after pbyp move More... | |
virtual void | evaluatePbyP (const ParticleSet &P, int iat, ParticleSet::ParticlePos &newQP, GradMatrix &Bmat, HessMatrix &Amat)=0 |
calculate quasi-particle coordinates, Bmat and Amat after pbyp move More... | |
virtual void | evaluateBmatOnly (const ParticleSet &P, GradMatrix &Bmat_full)=0 |
calculate only Bmat This is used in pbyp moves, in updateBuffer() More... | |
virtual void | evaluateWithDerivatives (const ParticleSet &P, ParticleSet &QP, GradMatrix &Bmat, HessMatrix &Amat, GradMatrix &Cmat, GradMatrix &Ymat, HessArray &Xmat)=0 |
calculate quasi-particle coordinates, Bmat and Amat calculate derivatives wrt to variational parameters More... | |
Public Attributes | |
ParticleSet & | CenterSys |
Reference to the center. More... | |
int | NumCenters |
number of centers, e.g., ions More... | |
int | NumTargets |
number of quantum particles More... | |
int | numParams |
int | indexOfFirstParam |
std::vector< TinyVector< RealType, 3 > > | derivs |
Matrix< PosType > | UIJ |
Vector< PosType > | UIJ_temp |
HessMatrix | AIJ |
HessVector | AIJ_temp |
GradMatrix | BIJ |
GradVector | BIJ_temp |
RealType * | FirstOfU |
RealType * | LastOfU |
RealType * | FirstOfA |
RealType * | LastOfA |
RealType * | FirstOfB |
RealType * | LastOfB |
bool | uniqueFunctions |
opt_variables_type | myVars |
Base class for backflow transformations.
FT is an optimizable functor class that implements the radial function Any class used for Jastrow functions should work
Definition at line 30 of file BackflowFunctionBase.h.
using GradMatrix = Matrix<GradType> |
Definition at line 48 of file BackflowFunctionBase.h.
using GradType = TinyVector<RealType, DIM> |
Definition at line 44 of file BackflowFunctionBase.h.
using GradVector = Vector<GradType> |
Definition at line 47 of file BackflowFunctionBase.h.
Definition at line 52 of file BackflowFunctionBase.h.
using HessMatrix = Matrix<HessType> |
Definition at line 50 of file BackflowFunctionBase.h.
using HessVector = Vector<HessType> |
Definition at line 49 of file BackflowFunctionBase.h.
using IndexType = int |
Definition at line 42 of file BackflowFunctionBase.h.
using IndexVector = Vector<IndexType> |
Definition at line 46 of file BackflowFunctionBase.h.
using PosType = TinyVector<RealType, DIM> |
Definition at line 43 of file BackflowFunctionBase.h.
using RealType = OHMMS_PRECISION |
Definition at line 41 of file BackflowFunctionBase.h.
using Walker_t = ParticleSet::Walker_t |
Definition at line 33 of file BackflowFunctionBase.h.
using WFBufferType = Walker_t::WFBuffer_t |
Definition at line 34 of file BackflowFunctionBase.h.
anonymous enum |
anonymous enum |
enum for a update mode
Definition at line 57 of file BackflowFunctionBase.h.
|
inline |
Definition at line 97 of file BackflowFunctionBase.h.
References BackflowFunctionBase::CenterSys, ParticleSet::getTotalNum(), BackflowFunctionBase::NumCenters, and BackflowFunctionBase::NumTargets.
|
inlinevirtual |
Definition at line 124 of file BackflowFunctionBase.h.
|
pure virtual |
Implemented in Backflow_eI_spin< FT >, Backflow_ee_kSpace, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_ee_kSpace, Backflow_eI_spin< FT >, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_ee_kSpace, Backflow_eI_spin< FT >, Backflow_ee< FT >, and Backflow_eI< FT >.
|
inline |
|
pure virtual |
calculate quasi-particle coordinates only
Implemented in Backflow_ee_kSpace, Backflow_eI_spin< FT >, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
calculate quasi-particle coordinates, Bmat and Amat
Implemented in Backflow_eI_spin< FT >, Backflow_ee< FT >, Backflow_ee_kSpace, and Backflow_eI< FT >.
|
pure virtual |
calculate only Bmat This is used in pbyp moves, in updateBuffer()
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates after pbyp move
Implemented in Backflow_eI_spin< FT >, Backflow_ee< FT >, Backflow_ee_kSpace, and Backflow_eI< FT >.
|
pure virtual |
calculate quasi-particle coordinates and Amat after pbyp move
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates, Bmat and Amat after pbyp move
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates after pbyp move
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates and Amat after pbyp move
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates, Bmat and Amat after pbyp move
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
calculate quasi-particle coordinates, Bmat and Amat calculate derivatives wrt to variational parameters
Implemented in Backflow_ee< FT >, Backflow_eI_spin< FT >, Backflow_eI< FT >, and Backflow_ee_kSpace.
|
pure virtual |
Implemented in Backflow_eI_spin< FT >, Backflow_ee_kSpace, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_ee_kSpace, Backflow_eI_spin< FT >, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_eI_spin< FT >, Backflow_ee_kSpace, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_eI_spin< FT >, Backflow_eI< FT >, Backflow_ee_kSpace, and Backflow_ee< FT >.
|
pure virtual |
Implemented in Backflow_ee_kSpace, Backflow_eI_spin< FT >, Backflow_ee< FT >, and Backflow_eI< FT >.
|
pure virtual |
Implemented in Backflow_eI_spin< FT >, Backflow_ee_kSpace, Backflow_ee< FT >, and Backflow_eI< FT >.
|
inline |
Definition at line 104 of file BackflowFunctionBase.h.
References BackflowFunctionBase::AIJ, BackflowFunctionBase::AIJ_temp, BackflowFunctionBase::BIJ, BackflowFunctionBase::BIJ_temp, BackflowFunctionBase::NumCenters, BackflowFunctionBase::NumTargets, Matrix< T, Alloc >::resize(), Vector< T, Alloc >::resize(), BackflowFunctionBase::UIJ, and BackflowFunctionBase::UIJ_temp.
Referenced by Backflow_ee< FT >::Backflow_ee(), Backflow_eI< FT >::Backflow_eI(), and Backflow_eI_spin< FT >::Backflow_eI_spin().
|
pure virtual |
Implemented in Backflow_ee_kSpace, Backflow_ee< FT >, Backflow_eI_spin< FT >, and Backflow_eI< FT >.
|
inline |
Definition at line 143 of file BackflowFunctionBase.h.
References BackflowFunctionBase::indexOfFirstParam, qmcplusplus::n, and BackflowFunctionBase::numParams.
|
inline |
HessMatrix AIJ |
Definition at line 84 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_ee_kSpace::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), Backflow_eI< FT >::evaluate(), Backflow_ee< FT >::evaluate(), Backflow_eI< FT >::evaluatePbyP(), Backflow_ee< FT >::evaluatePbyP(), Backflow_eI< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::resize().
HessVector AIJ_temp |
Definition at line 85 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), Backflow_eI< FT >::evaluatePbyP(), Backflow_ee< FT >::evaluatePbyP(), BackflowFunctionBase::resize(), Backflow_eI< FT >::restore(), Backflow_eI_spin< FT >::restore(), and Backflow_ee< FT >::restore().
GradMatrix BIJ |
Definition at line 87 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_ee_kSpace::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), Backflow_eI< FT >::evaluate(), Backflow_ee< FT >::evaluate(), Backflow_eI< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::resize().
GradVector BIJ_temp |
Definition at line 88 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), BackflowFunctionBase::resize(), Backflow_eI< FT >::restore(), Backflow_eI_spin< FT >::restore(), and Backflow_ee< FT >::restore().
ParticleSet& CenterSys |
Reference to the center.
Definition at line 67 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::BackflowFunctionBase(), Backflow_eI< FT >::makeClone(), Backflow_ee_kSpace::makeClone(), and Backflow_eI_spin< FT >::makeClone().
std::vector<TinyVector<RealType, 3> > derivs |
Definition at line 77 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::makeClone(), Backflow_ee< FT >::makeClone(), and Backflow_eI_spin< FT >::makeClone().
RealType* FirstOfA |
Definition at line 91 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
RealType* FirstOfB |
Definition at line 92 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
RealType* FirstOfU |
Definition at line 90 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
int indexOfFirstParam |
Definition at line 75 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::evaluateWithDerivatives(), Backflow_eI< FT >::makeClone(), Backflow_eI_spin< FT >::makeClone(), and BackflowFunctionBase::setParamIndex().
RealType * LastOfA |
Definition at line 91 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
RealType * LastOfB |
Definition at line 92 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
RealType * LastOfU |
Definition at line 90 of file BackflowFunctionBase.h.
Referenced by BackflowFunctionBase::copyFromBuffer(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::updateBuffer().
opt_variables_type myVars |
Definition at line 95 of file BackflowFunctionBase.h.
int NumCenters |
number of centers, e.g., ions
Definition at line 69 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::Backflow_eI(), Backflow_eI_spin< FT >::Backflow_eI_spin(), BackflowFunctionBase::BackflowFunctionBase(), Backflow_eI< FT >::evaluate(), Backflow_eI< FT >::evaluateWithDerivatives(), Backflow_eI< FT >::makeClone(), Backflow_eI_spin< FT >::makeClone(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::resize().
int numParams |
Definition at line 73 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::makeClone(), Backflow_ee< FT >::makeClone(), Backflow_eI_spin< FT >::makeClone(), and BackflowFunctionBase::setParamIndex().
int NumTargets |
number of quantum particles
Definition at line 71 of file BackflowFunctionBase.h.
Referenced by Backflow_ee< FT >::Backflow_ee(), Backflow_ee_kSpace::Backflow_ee_kSpace(), Backflow_eI< FT >::Backflow_eI(), Backflow_eI_spin< FT >::Backflow_eI_spin(), BackflowFunctionBase::BackflowFunctionBase(), Backflow_ee< FT >::evaluatePbyP(), Backflow_eI< FT >::makeClone(), Backflow_ee< FT >::makeClone(), Backflow_ee_kSpace::makeClone(), Backflow_eI_spin< FT >::makeClone(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), Backflow_ee_kSpace::resize(), and BackflowFunctionBase::resize().
Definition at line 81 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_ee_kSpace::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), Backflow_eI< FT >::evaluate(), Backflow_ee< FT >::evaluate(), Backflow_eI< FT >::evaluatePbyP(), Backflow_ee< FT >::evaluatePbyP(), Backflow_eI< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::evaluateWithDerivatives(), Backflow_ee< FT >::registerData(), Backflow_eI< FT >::registerData(), Backflow_eI_spin< FT >::registerData(), and BackflowFunctionBase::resize().
Definition at line 82 of file BackflowFunctionBase.h.
Referenced by Backflow_eI< FT >::acceptMove(), Backflow_ee< FT >::acceptMove(), Backflow_eI_spin< FT >::acceptMove(), Backflow_eI< FT >::evaluatePbyP(), Backflow_ee< FT >::evaluatePbyP(), BackflowFunctionBase::resize(), Backflow_eI< FT >::restore(), Backflow_eI_spin< FT >::restore(), and Backflow_ee< FT >::restore().
bool uniqueFunctions |
Definition at line 94 of file BackflowFunctionBase.h.