qmctorch.wavefunction.jastrows.elec_nuclei.jastrow_factor_electron_nuclei module

class qmctorch.wavefunction.jastrows.elec_nuclei.jastrow_factor_electron_nuclei.JastrowFactorElectronNuclei(nup, ndown, atomic_pos, jastrow_kernel, kernel_kwargs={}, cuda=False)[source]

Bases: sphinx.ext.autodoc.importer._MockObject

Base class for two el-nuc jastrow of the form:

\[J = \prod_{a,i} \exp(A(r_{ai}))\]
Parameters:
  • nup (int) – number of spin up electons
  • ndow (int) – number of spin down electons
  • atomic_pos (tensor) – positions of the atoms
  • cuda (bool, optional) – Turns GPU ON/OFF. Defaults to False.
forward(pos, derivative=0, sum_grad=True)[source]

Compute the Jastrow factors.

Parameters:
  • pos (torch.tensor) – Positions of the electrons Size : Nbatch, Nelec x Ndim
  • derivative (int, optional) – order of the derivative (0,1,2,). Defaults to 0.
  • sum_grad (bool, optional) – Return the sum_grad (i.e. the sum of the derivatives) or the individual terms. Defaults to True. False only for derivative=1
Returns:

value of the jastrow parameter for all confs

derivative = 0 (Nmo) x Nbatch x 1 derivative = 1 (Nmo) x Nbatch x Nelec (for sum_grad = True) derivative = 1 (Nmo) x Nbatch x Ndim x Nelec (for sum_grad = False) derivative = 2 (Nmo) x Nbatch x Nelec

Return type:

torch.tensor

jastrow_factor_derivative(r, dr, jast, sum_grad)[source]

Compute the value of the derivative of the Jastrow factor

Parameters:
  • r (torch.tensor) – ee distance matrix Nbatch x Nelec x Nelec
  • jast (torch.tensor) – values of the jastrow elements Nbatch x Nelec x Natom
Returns:

gradient of the jastrow factors

Nbatch x Ndim x Nelec

Return type:

torch.tensor

jastrow_factor_second_derivative(r, dr, d2r, jast)[source]

Compute the value of the pure 2nd derivative of the Jastrow factor

Parameters:
  • r (torch.tensor) – ee distance matrix Nbatch x Nelec x Nelec
  • jast (torch.tensor) – values of the ajstrow elements Nbatch x Nelec x Nelec
Returns:

diagonal hessian of the jastrow factors

Nbatch x Nelec x Ndim

Return type:

torch.tensor