qmctorch.wavefunction.pooling.orbital_projector module

class qmctorch.wavefunction.pooling.orbital_projector.OrbitalProjector(configs, mol, cuda=False)[source]

Bases: object

Project the MO matrix in Slater Matrices

Parameters:
  • configs (list) – configurations of the slater determinants

  • mol (Molecule) – Molecule object

  • cuda (bool) – use cuda or not

get_projectors()[source]

Get the projectors of the conf in the CI expansion

Returns:

projectors

Return type:

torch.tensor, torch.tensor

split_orbitals(mat)[source]

Split the orbital matrix in multiple slater matrices

Parameters:

mat (torch.tensor) – matrix to split

Returns:

all slater matrices

Return type:

torch.tensor

class qmctorch.wavefunction.pooling.orbital_projector.ExcitationMask(unique_excitations, mol, max_orb, cuda=False)[source]

Bases: object

Select the occupied MOs of Slater determinant using masks

Parameters:
  • unique_excitations (list) – the list of unique excitations

  • mol (Molecule) – Molecule object

  • max_orb (list) – the max index of each orb for each spin

  • cuda (bool) – use cuda or not

get_index_unique_single()[source]

Computes the 1D index and permutation for the unique singles.

get_index_unique_double()[source]

Computes the 1D index of the double excitation matrices.