pub fn rep_analyse_multideterminants_orbit_basis_external_solver(
py: Python<'_>,
inp_sym: PathBuf,
pyorigins: Vec<PySlaterDeterminant>,
py_noci_solver: Py<PyFunction>,
pybaos: Vec<PyBasisAngularOrder>,
density_matrix_calculation_thresholds: Option<(f64, f64)>,
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<Py<PyAny>>Expand description
Python-exposed function to perform representation symmetry analysis for real and complex
multi-determinantal wavefunctions constructed from group-generated orbits 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 theQSym2FileType::Symfile containing the symmetry-group detection result for the system. This will be used to construct abstract groups and character tables for representation analysis.pyorigins- A list of Python-exposed Slater determinants whose coefficients are of typefloat64orcomplex128. These determinants serve as origins for group-generated orbits which serve as basis states for non-orthogonal configuration interaction to yield multi-determinantal wavefunctions, the symmetry of which will be analysed by this function.py_noci_solver- A Python function callable on a sequence of Slater determinants to perform non-orthogonal configuration interaction (NOCI) and return a list of NOCI energies and a corresponding list of lists of linear combination coefficients, where each inner list is for one multi-determinantal wavefunction resulting from the NOCI calculation. Python type:Callable[[list[PySlaterDeterminantReal | PySlaterDeterminantComplex]], tuple[list[float], list[list[float]]] | tuple[list[complex], list[list[complex]]]].pybaos- Python-exposed structures containing basis angular order information, one for each explicit component per coefficient matrix.density_matrix_calculation_thresholds- An optional pair of thresholds for Löwdin pairing, one for checking zero off-diagonal values, one for checking zero overlaps, when computing multi-determinantal density matrices. IfNone, no density matrices for the resulting multi-determinants will be computed.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 specifiedlinear_independence_threshold.sao- The atomic-orbital overlap matrix whose elements are of typefloat64orcomplex128.sao_h- The optional complex-symmetric atomic-orbital overlap matrix whose elements are of typefloat64orcomplex128. 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.