qmctorch.wavefunction.jastrows.distance.scaling module

qmctorch.wavefunction.jastrows.distance.scaling.get_scaled_distance(kappa, r)[source]

compute the scaled distance

\[u_{ij} = \frac{1-e^{-\kappa r_{ij}}}{\kappa}\]
Parameters:
  • kappa (float) – scaling factor
  • r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec x Nelec
Returns:

values of the scaled distance

Nbatch, Nelec, Nelec

Return type:

torch.tensor

qmctorch.wavefunction.jastrows.distance.scaling.get_der_scaled_distance(kappa, r, dr)[source]

Returns the derivative of the scaled distances

\[\frac{d u}{d x_i} = \frac{d r_{ij}}{d x_i} e^{-\kappa r_{ij}}\]
Parameters:
  • kappa (float) – scaling factor
  • 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:

deriative of the scaled distance

Nbatch x Ndim x Nelec x Nelec

Return type:

torch.tensor

qmctorch.wavefunction.jastrows.distance.scaling.get_second_der_scaled_distance(kappa, r, dr, d2r)[source]

computes the second derivative of the scaled distances

\[\frac{d^2u_{ij}}{d x_i^2} = \frac{d^2r_{ij}}{d x_i^2} -\kappa \left( \frac{d r_{ij}}{d x_i} \right)^2 e^{-\kappa r_{ij}}\]
Parameters:
  • kappa (float) – scaling factor
  • r (torch.tensor) – unsqueezed 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:

second deriative of the scaled distance

Nbatch x Ndim x Nelec x Nelec

Return type:

torch.tensor