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