qmctorch.wavefunction.slater_combined_jastrow module
- class qmctorch.wavefunction.slater_combined_jastrow.SlaterManyBodyJastrow(*args: Any, **kwargs: Any)[source]
Bases:
SlaterJastrow
Slater Jastrow wave function with many body Jastrow factor
\[\Psi(R_{at}, r) = J(r)\sum_n c_n D^\uparrow_n(r^\uparrow)D^\downarrow_n(r^\downarrow)\]with
\[J(r) = \exp\left( K_{ee}(r) + K_{en}(R_{at},r) + K_{een}(R_{at}, r) \right)\]with the different kernels representing electron-electron, electron-nuclei and electron-electron-nuclei terms
- Parameters:
mol (Molecule) – a QMCTorch molecule object
configs (str, optional) – defines the CI configurations to be used. Defaults to ‘ground_state’. - ground_state : only the ground state determinant in the wave function - single(n,m) : only single excitation with n electrons and m orbitals - single_double(n,m) : single and double excitation with n electrons and m orbitals - cas(n, m) : all possible configuration using n eletrons and m orbitals
kinetic (str, optional) – method to compute the kinetic energy. Defaults to ‘jacobi’. - jacobi : use the Jacobi formula to compute the kinetic energy - auto : use automatic differentiation to compute the kinetic energy
jastrow_kernel (dict, optional) – different Jastrow kernels for the different terms. By default only electron-electron and electron-nuclei terms are used
jastrow_kernel_kwargs (dict, optional) – keyword arguments for the jastrow kernels contructor
cuda (bool, optional) – turns GPU ON/OFF Defaults to False.
include_all_mo (bool, optional) – include either all molecular orbitals or only the ones that are popualted in the configs. Defaults to False
- Examples::
>>> from qmctorch.scf import Molecule >>> from qmctorch.wavefunction import SlaterManyBodyJastrow >>> mol = Molecule('h2o.xyz', calculator='adf', basis = 'dzp') >>> wf = SlaterManyBodyJastrow(mol, configs='cas(2,2)')