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