qmctorch.wavefunction.pooling.orbital_configurations module

class qmctorch.wavefunction.pooling.orbital_configurations.OrbitalConfigurations(mol)[source]

Bases: object

get_configs(configs)[source]

Get the configuratio in the CI expansion

Parameters:
  • configs (str) – name of the configs we want

  • mol (mol object) – molecule object

Returns:

the spin up/spin down electronic confs

Return type:

tuple(torch.LongTensor,torch.LongTensor)

sanity_check(nelec, norb)[source]
Check if the number of elec/orb is consistent with the

properties of the molecule

Parameters:
  • nelec (int) – required number of electrons in config

  • norb (int) – required number of orb in config

qmctorch.wavefunction.pooling.orbital_configurations.get_excitation(configs)[source]

get the excitation data

Parameters:

configs (tuple) – configuratin of the electrons

Returns:

index of the obitals in the excitaitons

[i,j],[l,m] : excitation i -> l, j -> l

Return type:

exc_up, exc_down

qmctorch.wavefunction.pooling.orbital_configurations.get_unique_excitation(configs)[source]

get the unique excitation data

Parameters:

configs (tuple) – configuratin of the electrons

Returns:

index of the obitals in the excitaitons

[i,j],[l,m] : excitation i -> l, j -> l

index_up, index_downindex map for the unique exc

[0,0,…], [0,1,…] means that 1st : excitation is composed of unique_up[0]*unique_down[0] 2nd : excitation is composed of unique_up[0]*unique_down[1] ….

Return type:

exc_up, exc_down