qmctorch.wavefunction.jastrows.elec_elec.kernels.pade_jastrow_kernel module

class qmctorch.wavefunction.jastrows.elec_elec.kernels.pade_jastrow_kernel.PadeJastrowKernel(nup, ndown, cuda, w=1.0)[source]

Bases: qmctorch.wavefunction.jastrows.elec_elec.kernels.jastrow_kernel_electron_electron_base.JastrowKernelElectronElectronBase

Computes the Simple Pade-Jastrow factor

\[B_{ij} = \frac{w_0 r_{ij}}{1 + w r_{ij}}\]

where \(w_0\) equals 0.5 for parallel spin and 0.25 for antiparallel spin

Parameters:
  • nup (int) – number of spin up electons
  • ndow (int) – number of spin down electons
  • cuda (bool) – Turns GPU ON/OFF.
  • w (float, optional) – Value of the variational parameter. Defaults to 1.
get_static_weight()[source]

Get the matrix of static weights

Returns:matrix of the static weights
Return type:torch.tensor
forward(r)[source]

Get the jastrow kernel.

\[B_{ij} = \frac{w_0 r_{i,j}}{1+w r_{i,j}}\]
Parameters:r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec x Nelec
Returns:
matrix of the jastrow kernels
Nbatch x Nelec x Nelec
Return type:torch.tensor
compute_derivative(r, dr)[source]

Get the elements of the derivative of the jastrow kernels wrt to the first electrons

\[\frac{d B_{ij}}{d k_i} = \frac{d B_{ij}}{ d k_j } = - \frac{d B_{ji}}{d k_i}\]
\[\text{out}_{k,i,j} = A1 + A2\]
\[A1_{kij} = w0 \frac{dr_{ij}}{dk_i} \frac{1}{1 + w r_{ij}}\]
\[A2_{kij} = - w0 w' r_{ij} \frac{dr_{ij}}{dk_i} \frac{1}{1 + w r_{ij}}^2\]
Parameters:
  • r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec x Nelec
  • dr (torch.tensor) – matrix of the derivative of the e-e distances Nbatch x Ndim x Nelec x Nelec
Returns:

matrix fof the derivative of the jastrow elements

Nbatch x Ndim x Nelec x Nelec

Return type:

torch.tensor

compute_second_derivative(r, dr, d2r)[source]

Get the elements of the pure 2nd derivative of the jastrow kernels wrt to the first electron

\[\frac{d^2 B_{ij}}{d k_i^2} = \frac{d^2 B_{ij}}{d k_j^2} = \frac{d^2 B_{ji}}{ d k_i^2}\]
Parameters:
  • r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec x Nelec
  • dr (torch.tensor) – matrix of the derivative of the e-e distances Nbatch x Ndim x Nelec x Nelec
  • d2r (torch.tensor) – matrix of the 2nd derivative of the e-e distances Nbatch x Ndim x Nelec x Nelec
Returns:

matrix fof the pure 2nd derivative of

the jastrow elements Nbatch x Ndim x Nelec x Nelec

Return type:

torch.tensor