pub fn rep_analyse_densities(
    py: Python<'_>,
    inp_sym: PathBuf,
    pydens: Vec<(String, PyDensity)>,
    pybao: &PyBasisAngularOrder,
    integrality_threshold: f64,
    linear_independence_threshold: f64,
    use_magnetic_group: Option<MagneticSymmetryAnalysisKind>,
    use_double_group: bool,
    use_cayley_table: bool,
    symmetry_transformation_kind: SymmetryTransformationKind,
    eigenvalue_comparison_mode: EigenvalueComparisonMode,
    sao_spatial_4c: PyArray4RC<'_>,
    sao_spatial_4c_h: Option<PyArray4RC<'_>>,
    write_character_table: bool,
    infinite_order_to_finite: Option<u32>,
    angular_function_integrality_threshold: f64,
    angular_function_linear_independence_threshold: f64,
    angular_function_max_angular_momentum: u32,
) -> PyResult<()>
Expand description

Python-exposed function to perform representation symmetry analysis for real and complex electron densities and log the result via the qsym2-output logger at the INFO level.

§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 representation analysis. Python type: str.
  • 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. Python type: list[tuple[str, PyDensityReal | PyDensityComplex]].
  • sao_spatial_4c - The atomic-orbital four-centre overlap matrix whose elements are of type float64 or complex128. Python type: numpy.4darray[float] | numpy.4darray[complex].
  • sao_spatial_4c_h - The optional complex-symmetric atomic-orbital four-centre overlap matrix whose elements are of type float64 or complex128. This is required if antiunitary symmetry operations are involved. Python type: numpy.2darray[float] | numpy.2darray[complex] | None.
  • integrality_threshold - The threshold for verifying if subspace multiplicities are integral. Python type: float.
  • linear_independence_threshold - The threshold for determining the linear independence subspace via the non-zero eigenvalues of the orbit overlap matrix. Python type: float.
  • 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. Python type: None | MagneticSymmetryAnalysisKind.
  • use_double_group - A boolean indicating if the double group of the prevailing symmetry group is to be used for representation analysis instead. Python type: bool.
  • use_cayley_table - A boolean indicating if the Cayley table for the group, if available, should be used to speed up the calculation of orbit overlap matrices. Python type: bool.
  • symmetry_transformation_kind - An enumerated type indicating the type of symmetry transformations to be performed on the origin electron density to generate the orbit. Python type: SymmetryTransformationKind.
  • eigenvalue_comparison_mode - An enumerated type indicating the mode of comparison of orbit overlap eigenvalues with the specified linear_independence_threshold. Python type: EigenvalueComparisonMode.
  • write_character_table - A boolean indicating if the character table of the prevailing symmetry group is to be printed out. Python type: bool.
  • 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. Python type: Optional[int].
  • angular_function_integrality_threshold - The threshold for verifying if subspace multiplicities are integral for the symmetry analysis of angular functions. Python type: float.
  • angular_function_linear_independence_threshold - The threshold for determining the linear independence subspace via the non-zero eigenvalues of the orbit overlap matrix for the symmetry analysis of angular functions. Python type: float.
  • angular_function_max_angular_momentum - The maximum angular momentum order to be used in angular function symmetry analysis. Python type: int.