qmctorch.wavefunction.jastrows.distance.electron_nuclei_distance module¶
-
class
qmctorch.wavefunction.jastrows.distance.electron_nuclei_distance.
ElectronNucleiDistance
(nelec, atomic_pos, ndim=3, scale=False, scale_factor=0.6)[source]¶ Bases:
sphinx.ext.autodoc.importer._MockObject
Computes the electron-nuclei distances
\[r_{iA} = \sqrt{ (x_i-x_A)^2 + (y_i-y_A)^2 + (z_i-z_A)^2}\]Parameters: - Examples::
>>> endist = ElectronNucleiDistance(2,2) >>> epos = torch.tensor(500,6) >>> r = edist(pos) >>> dr = edist(pos,derivative=1)
-
forward
(input, derivative=0)[source]¶ Compute the pairwise distances between electrons and atoms or their derivative.
Parameters: - input (torch.tesnor) –
position of the electron
size : Nbatch x [Nelec x Ndim]
- derivative (int, optional) –
degre of the derivative.
Defaults to 0.
Returns: distance (or derivative) matrix
Nbatch x Nelec x Natom if derivative = 0
Nbatch x Ndim x Nelec x Natom if derivative = 1,2
Return type: torch.tensor
- input (torch.tesnor) –
-
get_der_distance
(pos, dist)[source]¶ Get the derivative of the electron-nuclei distance matrix
\[\frac{d r_{iA}}{d x_i}\]Parameters: - pos (torch.tensor) – positions of the electrons Nbatch x Nelec x Ndim
- dist (torch.tensor) – distance matrix between the elecs Nbatch x Nelec x Nelec
Returns: [description]
Return type: [type]
-
get_second_der_distance
(pos, dist)[source]¶ Get the derivative of the electron-nuclei distance matrix
\[\frac{d^2 r_{iA}}{d x_i^2}\]Parameters: - pos (torch.tensor) – positions of the electrons Nbatch x Nelec x Ndim
- dist (torch.tensor) – distance matrix between the elecs Nbatch x Nelec x Nelec
Returns: [description]
Return type: [type]