qmctorch.wavefunction.jastrows.elec_elec.orbital_dependent_jastrow_kernel module

class qmctorch.wavefunction.jastrows.elec_elec.orbital_dependent_jastrow_kernel.OrbitalDependentJastrowKernel(*args: Any, **kwargs: Any)[source]

Bases: JastrowKernelElectronElectronBase

Transform a kernel into a orbital dependent kernel

Parameters:
  • nup (int) – number of spin up electrons

  • ndown (int) – number of spin down electron

  • nmo (int) – number of orbital

  • cuda (bool) – use GPUs

  • jastrow_kernel (kernel function) – kernel to be used

  • kernel_kwargs (dict) – keyword arguments of the kernel

forward(r)[source]

Get the jastrow kernel.

Parameters:

r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec_pair

Returns:

matrix of the jastrow kernels

Nmo x Nbatch x Nelec_pair

Return type:

torch.tensor

compute_derivative(r, dr)[source]

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

Parameters:
  • r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec_pair

  • dr (torch.tensor) – matrix of the derivative of the e-e distances Nbatch x Ndim x Nelec_pair

Returns:

matrix fof the derivative of the jastrow elements

Nmo x Nbatch x Ndim x Nelec_pair

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

Parameters:
  • r (torch.tensor) – matrix of the e-e distances Nbatch x Nelec_pair

  • dr (torch.tensor) – matrix of the derivative of the e-e distances Nbatch x Ndim x Nelec_pair

  • d2r (torch.tensor) –

    matrix of the 2nd derivative of

    the e-e distances

    Nbatch x Ndim x Nelec_pair

Returns:

matrix fof the pure 2nd derivative of

the jastrow elements Nmo x Nbatch x Ndim x Nelec_pair

Return type:

torch.tensor