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.