qmctorch.wavefunction.jastrows.elec_elec.orbital_dependent_jastrow_kernel module

class qmctorch.wavefunction.jastrows.elec_elec.orbital_dependent_jastrow_kernel.OrbitalDependentJastrowKernel(nup, ndown, nmo, cuda, jastrow_kernel, kernel_kwargs={})[source]

Bases: qmctorch.wavefunction.jastrows.elec_elec.kernels.jastrow_kernel_electron_electron_base.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