Function qsym2::bindings::python::representation_analysis::multideterminant::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<'_>,
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: PyArray2RC<'_>,
sao_spatial_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 theQSym2FileType::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
.pydets
- A list of Python-exposed Slater determinants whose coefficients are of typefloat64
orcomplex128
. 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. Python type:list[PySlaterDeterminantReal | PySlaterDeterminantComplex]
.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 inpydets
. The elements are of typefloat64
orcomplex128
. Python type:numpy.2darray[float] | numpy.2darray[complex]
.energies
- Thefloat64
orcomplex128
energies of the multi-determinantal wavefunctions. The number of terms must match the number of columns ofcoefficients
. Python type:numpy.1darray[float] | numpy.1darray[complex]
.pybao
- A Python-exposed Python-exposed structure containing basis angular order information. Python type:PyBasisAngularOrder
.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 determinant to generate the orbit. If this contains spin transformation, the determinant will be augmented to generalised spin constraint automatically. Python type:SymmetryTransformationKind
.eigenvalue_comparison_mode
- An enumerated type indicating the mode of comparison of orbit overlap eigenvalues with the specifiedlinear_independence_threshold
. Python type:EigenvalueComparisonMode
.sao_spatial
- The atomic-orbital overlap matrix whose elements are of typefloat64
orcomplex128
. Python type:numpy.2darray[float] | numpy.2darray[complex]
.sao_spatial_h
- The optional complex-symmetric atomic-orbital overlap matrix whose elements are of typefloat64
orcomplex128
. This is required if antiunitary symmetry operations are involved. Python type:None | numpy.2darray[float] | numpy.2darray[complex]
.write_overlap_eigenvalues
- A boolean indicating if the eigenvalues of the determinant orbit overlap matrix are to be written to the output. Python type:bool
.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
.