Function project_densities

Source
pub fn project_densities(
    py: Python<'_>,
    inp_sym: PathBuf,
    pydens: Vec<(String, PyDensity)>,
    projection_targets: Vec<PyProjectionTarget>,
    pybao: &PyBasisAngularOrder,
    use_magnetic_group: Option<MagneticSymmetryAnalysisKind>,
    use_double_group: bool,
    symmetry_transformation_kind: SymmetryTransformationKind,
    write_character_table: bool,
    infinite_order_to_finite: Option<u32>,
) -> PyResult<Vec<(String, IndexMap<String, Py<PyAny>>)>>
Expand description

Python-exposed function to perform symmetry projection for real and complex electron densities.

§Arguments

  • inp_sym - A path to the QSym2FileType::Sym file containing the symmetry-group detection result for the system. This will be used to construct abstract groups and character tables for symmetry projection.
  • pydens - A sequence of Python-exposed electron densities whose density matrices are of type float64 or complex128. Each density is accompanied by a description string.
  • projection_targets - A sequence of subspace labels for projection. Each label is either a symbolic string or a numerical index for the subspace in the character table of the prevailing group.
  • pybao - Python-exposed structure containing basis angular order information for the density matrices.
  • use_magnetic_group - An option indicating if the magnetic group is to be used for symmetry analysis, and if so, whether unitary representations or unitary-antiunitary corepresentations should be used.
  • use_double_group - A boolean indicating if the double group of the prevailing symmetry group is to be used for representation analysis instead.
  • symmetry_transformation_kind - An enumerated type indicating the type of symmetry transformations to be performed on the origin electron density to generate the orbit.
  • write_character_table - A boolean indicating if the character table of the prevailing symmetry group is to be printed out.
  • infinite_order_to_finite - The finite order with which infinite-order generators are to be interpreted to form a finite subgroup of the prevailing infinite group. This finite subgroup will be used for symmetry analysis.

§Returns

The result will be returned as a list of tuples, each of which contains the name/description of an original density and a dictionary in which the keys are the subspace labels and the values are the corresponding projected density.