Function rep_analyse_multideterminants_eager_basis

Source
pub fn rep_analyse_multideterminants_eager_basis(
    py: Python<'_>,
    inp_sym: PathBuf,
    pydets: Vec<PySlaterDeterminant>,
    coefficients: PyArray2RC<'_>,
    energies: PyArray1RC<'_>,
    pybaos: Vec<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: PyArray2RC<'_>,
    sao_h: Option<PyArray2RC<'_>>,
    write_overlap_eigenvalues: bool,
    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 multi-determinantal wavefunctions constructed from an eager basis of Slater determinants and log the result via the qsym2-output logger at the INFO level.

If symmetry_transformation_kind includes spin transformation, the provided multi-determinantal wavefunctions will be augmented to generalised spin constraint automatically.

ยง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.
  • pydets - A list of Python-exposed Slater determinants whose coefficients are of type float64 or complex128. These determinants serve as basis states for non-orthogonal configuration interaction to yield multi-determinantal wavefunctions, the symmetry of which will be analysed by this function.
  • coefficients - The coefficient matrix where each column gives the linear combination coefficients for one multi-determinantal wavefunction. The number of rows must match the number of determinants specified in pydets. The elements are of type float64 or complex128.
  • energies - The float64 or complex128 energies of the multi-determinantal wavefunctions. The number of terms must match the number of columns of coefficients.
  • pybaos - Python-exposed structures containing basis angular order information, one for each explicit component per coefficient matrix.
  • integrality_threshold - The threshold for verifying if subspace multiplicities are integral.
  • linear_independence_threshold - The threshold for determining the linear independence subspace via the non-zero eigenvalues of the orbit overlap matrix.
  • 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.
  • 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.
  • symmetry_transformation_kind - An enumerated type indicating the type of symmetry transformations to be performed on the origin determinant to generate the orbit. If this contains spin transformation, the multi-determinant will be augmented to generalised spin constraint automatically.
  • eigenvalue_comparison_mode - An enumerated type indicating the mode of comparison of orbit overlap eigenvalues with the specified linear_independence_threshold.
  • sao - The atomic-orbital overlap matrix whose elements are of type float64 or complex128.
  • sao_h - The optional complex-symmetric atomic-orbital overlap matrix whose elements are of type float64 or complex128. This is required if antiunitary symmetry operations are involved.
  • write_overlap_eigenvalues - A boolean indicating if the eigenvalues of the determinant orbit overlap matrix are to be written to the output.
  • 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.
  • angular_function_integrality_threshold - The threshold for verifying if subspace multiplicities are integral for the symmetry analysis of angular functions.
  • 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.
  • angular_function_max_angular_momentum - The maximum angular momentum order to be used in angular function symmetry analysis.