18 #ifndef QMCPLUSPLUS_AGP_DIRACDETERMINANT_H 19 #define QMCPLUSPLUS_AGP_DIRACDETERMINANT_H 49 std::string
getClassName()
const override {
return "AGPDeterminant"; }
52 void resize(
int nup,
int ndown);
void evaluateDerivatives(ParticleSet &P, const opt_variables_type &optvars, Vector< ValueType > &dlogpsi, Vector< ValueType > &dhpsioverpsi) override
Compute the derivatives of both the log of the wavefunction and kinetic energy with respect to optimi...
Vector< ValueType > workV2
void resize(int nup, int ndown)
reset the size: with the number of particles and number of orbtials
ValueMatrix phiT
Transient data for gradient and laplacian evaluation.
WaveFunctionComponent::PsiValue PsiValue
helper functions for EinsplineSetBuilder
ValueVector phiTv
value of single-particle orbital for particle-by-particle update
QTBase::RealType RealType
ValueMatrix d2Y
store laplacians
ParticleSet::SingleParticleValue * FirstAddressOfG
address of myG[0][0]
ParticleSet::ParticleLaplacian myL
void copyFromBuffer(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
BasisSetType::ValueType * LastAddressOfdVD
address of FirstAddressOfdVD+OHMMS_DIM*Ndown*Nup
Walker_t::WFBuffer_t WFBufferType
PsiValue curRatio
current ratio
RealType cumRatio
cummulate ratio for particle-by-particle update
ParticleSet::ParticleGradient myG
ParticleSet::ParticleGradient myG_temp
std::string getClassName() const override
return class name
base class for a basis set
Attaches a unit to a Vector for IO.
QTFull::ValueType SingleParticleValue
typename OrbitalSetTraits< T >::GradMatrix GradMatrix
typename OrbitalSetTraits< T >::ValueVector ValueVector
An abstract class for a component of a many-body trial wave function.
ValueMatrix psiMinv
temporary container for testing
typename OrbitalSetTraits< T >::GradVector GradVector
Specialized paritlce class for atomistic simulations.
typename OrbitalSetTraits< T >::ValueMatrix ValueMatrix
BasisSetType * GeminalBasis
void resizeByWalkers(int nwalkers)
void ratioDown(ParticleSet &P, int iat)
BasisSetType::ValueType * FirstAddressOfdVD
address of dpsiD[0][0]
ValueMatrix d2psiU
temporary determinant-related matrix for laplacians
Matrix< ValueType > psiM_temp
typename OrbitalSetTraits< T >::ValueType ValueType
BasisSetType::ValueType * LastAddressOfdY
address of FirstAddressOfdY+NumPtcls*BasisSize
BasisSetType::ValueType * FirstAddressOfdY
address of dY[0][0]
ValueMatrix Lambda
coefficient of the up/down block
BasisSetType::ValueType * FirstAddressOfdVU
address of dpsiU[0][0]
class to handle a set of variables that can be modified during optimizations
GradMatrix dpsiU
temporary determinant-related matrix for gradients
void acceptMove(ParticleSet &P, int iat, bool safe_to_delay=false) override
move was accepted, update the real container
void restore(int iat) override
move was rejected.
QTFull::ValueType PsiValue
int Nup
number of major spins
BasisSetType::GradVector GradVector
int BasisSize
size of the basis set
GradMatrix dY
store gradients
int WorkingIndex
index of the particle (or row)
std::unique_ptr< WaveFunctionComponent > makeClone(ParticleSet &tqp) const override
make clone
BasisSetType::ValueVector ValueVector
typename OrbitalSetTraits< T >::IndexVector IndexVector
~AGPDeterminant() override
default destructor
ParticleSet::SingleParticleValue * LastAddressOfG
address of FirstAddressOfG+OHMMS_DIM*NumPtcls
Declaraton of Vector<T,Alloc> Manage memory through Alloc directly and allow referencing an existing ...
void ratioUp(ParticleSet &P, int iat)
Vector< ValueType > workV1
BasisSetType::IndexVector IndexVector
ValueMatrix LambdaUP
coefficient of the major block
Matrix< ValueType > psiM
psiM(j,i)
void evaluateLogAndStore(const ParticleSet &P)
int Ndown
number of minor spins
int NumPtcls
Total number of particles.
Declaration of WaveFunctionComponent.
std::complex< double > LogValue
BasisSetType::ValueMatrix ValueMatrix
PsiValue ratio(ParticleSet &P, int iat) override
return the ratio only for the iat-th partcle move
BasisSetType::ValueType * LastAddressOfdVU
address of FirstAddressOfdVU+OHMMS_DIM*Nup*Nup
LogValue evaluateLog(const ParticleSet &P, ParticleSet::ParticleGradient &G, ParticleSet::ParticleLaplacian &L) override
Calculate the log value of the Dirac determinant for particles.
void registerData(ParticleSet &P, WFBufferType &buf) override
For particle-by-particle move.
AGPDeterminant(BasisSetType *bs=nullptr)
constructor
ParticleSet::ParticleLaplacian myL_temp
BasisSetType::GradMatrix GradMatrix
LogValue updateBuffer(ParticleSet &P, WFBufferType &buf, bool fromscratch=false) override
For particle-by-particle move.
Declaration of a base class of BasisSet.