ProjectionGenerator

class ProjectionGenerator(spin=None, atoms=None, l_quantum_numbers=None, m_quantum_numbers=None)

Initialize the class by defining which components to iterate over when generating the list of projections.

Parameters:
  • spin (None | UpDownProjection | XYZProjection | False) – Determine whether to iterate over spin components when generating the list of projections. This can be done either on the up/down components or on the x/y/z Pauli spin matrices. If False, the spin projection will be Spin.Sum.
    Default: False

  • atoms (None | SitesProjection | TagsProjection | ElementsProjection | False) – Determine whether to iterate over atoms when generating the list of projections. This can be done either by individual sites, tags present in the configuration, or element types.
    Default: False

  • l_quantum_numbers (None | bool) – Determine whether to iterate over shells when generating the list of projections.
    Default: False

  • m_quantum_numbers (None | bool) – Determine whether to iterate over orbitals when generating the list of projections.
    Default: False

generate(configuration)

Generate and return the list of projections for a given configuration.

Parameters:

configuration (BulkConfiguration | MoleculeConfiguration) – The bulk configuration with an attached calculator defining the basis for which to generate the list of projections.

Returns:

The list of projections.

Return type:

list of Projection

uniqueString()

Return a unique string representing the state of the object.