qsym2
¶
Attributes¶
PySlaterDeterminant
module-attribute
¶
PySlaterDeterminant: TypeAlias = (
PySlaterDeterminantReal | PySlaterDeterminantComplex
)
Classes¶
PySlaterDeterminantReal
¶
PySlaterDeterminantReal(
structure_constraint: PyStructureConstraint,
complex_symmetric: bool,
coefficients: Sequence[Py2DArray_f64],
occupations: Sequence[Py1DArray_f64],
threshold: float,
mo_energies: Sequence[Py1DArray_f64] | None = None,
energy: float | None = None,
)
Python-exposed structure to marshall real Slater determinant information between Rust and Python.
Parameters:
-
(structure_constraint¶PyStructureConstraint) –The structure constraint applied to the coefficients of the determinant.
-
(complex_symmetric¶bool) –A boolean indicating if inner products involving this determinant are complex-symmetric.
-
(coefficients¶Sequence[Py2DArray_f64]) –The real coefficient matrices for the molecular orbitals of this determinant, one for each spin space.
-
(occupations¶Sequence[Py1DArray_f64]) –The occupation arrays for the molecular orbitals, each of which is a one-dimensional array for each spin space.
-
(threshold¶float) –The threshold for comparisons.
-
(mo_energies¶Sequence[Py1DArray_f64] | None, default:None) –The optional real molecular orbital energy arrays, each of which is a one-dimensional array for each spin space.
-
(energy¶float | None, default:None) –The optional real determinantal energy.
Attributes¶
complex_symmetric
instance-attribute
¶
complex_symmetric: bool
Boolean indicating if inner products involving this determinant are complex-symmetric.
coefficients
instance-attribute
¶
coefficients: list[Py2DArray_f64]
The real coefficient matrices for the molecular orbitals of this determinant, one for each spin space.
occupations
instance-attribute
¶
occupations: list[Py1DArray_f64]
The occupation arrays for the molecular orbitals, each of which is a one-dimensional array for each spin space.
mo_energies
instance-attribute
¶
mo_energies: list[Py1DArray_f64] | None
The real molecular orbital energy arrays, if any, each of which is a one-dimensional array for each spin space.
Functions¶
PySlaterDeterminantComplex
¶
PySlaterDeterminantComplex(
structure_constraint: PyStructureConstraint,
complex_symmetric: bool,
coefficients: Sequence[Py2DArray_c128],
occupations: Sequence[Py1DArray_f64],
threshold: float,
mo_energies: Sequence[Py1DArray_c128] | None = None,
energy: complex | None = None,
)
Python-exposed structure to marshall complex Slater determinant information between Rust and Python.
Parameters:
-
(structure_constraint¶PyStructureConstraint) –The structure constraint applied to the coefficients of the determinant.
-
(complex_symmetric¶bool) –A boolean indicating if inner products involving this determinant are complex-symmetric.
-
(coefficients¶Sequence[Py2DArray_c128]) –The complex coefficient matrices for the molecular orbitals of this determinant, one for each spin space.
-
(occupations¶Sequence[Py1DArray_f64]) –The occupation arrays for the molecular orbitals, each of which is a one-dimensional array for each spin space.
-
(threshold¶float) –The threshold for comparisons.
-
(mo_energies¶Sequence[Py1DArray_c128] | None, default:None) –The optional complex molecular orbital energy arrays, each of which is a one-dimensional array for each spin space.
-
(energy¶complex | None, default:None) –The optional complex determinantal energy.
Attributes¶
complex_symmetric
instance-attribute
¶
complex_symmetric: bool
Boolean indicating if inner products involving this determinant are complex-symmetric.
coefficients
instance-attribute
¶
coefficients: list[Py2DArray_c128]
The complex coefficient matrices for the molecular orbitals of this determinant, one for each spin space.
occupations
instance-attribute
¶
occupations: list[Py1DArray_f64]
The occupation arrays for the molecular orbitals, each of which is a one-dimensional array for each spin space.
mo_energies
instance-attribute
¶
mo_energies: list[Py1DArray_c128] | None
The complex molecular orbital energy arrays, if any, each of which is a one-dimensional array for each spin space.
Functions¶
PySlaterDeterminantRepAnalysisResult
¶
Python-exposed structure storing the results of Slater determinant representation analysis.
Attributes¶
determinant_symmetry
instance-attribute
¶
determinant_symmetry: str | None
The deduced overall symmetry of the determinant.
mo_symmetries
instance-attribute
¶
The deduced symmetries of the molecular orbitals constituting the determinant, if required.
determinant_density_symmetries
instance-attribute
¶
The deduced symmetries of the various densities constructible from the determinant, if required. In each tuple, the first element gives a description of the density corresponding to the symmetry result.
Functions¶
rep_analyse_slater_determinant
¶
rep_analyse_slater_determinant(
inp_sym: str,
pydet: PySlaterDeterminant,
pybaos: Sequence[PyBasisAngularOrder],
integrality_threshold: float,
linear_independence_threshold: float,
use_magnetic_group: MagneticSymmetryAnalysisKind | None,
use_double_group: bool,
use_cayley_table: bool,
symmetry_transformation_kind: SymmetryTransformationKind,
eigenvalue_comparison_mode: EigenvalueComparisonMode,
sao: Py2DArray_f64 | Py2DArray_c128,
sao_h: Py2DArray_f64 | Py2DArray_c128 | None = None,
sao_spatial_4c: Py4DArray_f64 | Py4DArray_c128 | None = None,
sao_spatial_4c_h: Py4DArray_f64 | Py4DArray_c128 | None = None,
analyse_mo_symmetries: bool = True,
analyse_mo_symmetry_projections: bool = True,
analyse_mo_mirror_parities: bool = False,
analyse_density_symmetries: bool = False,
write_overlap_eigenvalues: bool = True,
write_character_table: bool = True,
infinite_order_to_finite: int | None = None,
angular_function_integrality_threshold: float = 1e-07,
angular_function_linear_independence_threshold: float = 1e-07,
angular_function_max_angular_momentum: int = 2,
) -> PySlaterDeterminantRepAnalysisResult
Python-exposed function to perform representation symmetry analysis for real and complex Slater determinants.
The result is also logged via the qsym2-output logger at the INFO level.
If symmetry_transformation_kind includes spin transformation, the provided determinant will
be augmented to generalised spin constraint automatically.
Parameters:
-
(inp_sym¶str) –A path to the
QSym2FileType::Symfile containing the symmetry-group detection result for the system. This will be used to construct abstract groups and character tables for representation analysis. -
(pydet¶PySlaterDeterminant) –A Python-exposed Slater determinant whose coefficients are of type
float64orcomplex128. -
(pybaos¶Sequence[PyBasisAngularOrder]) –Python-exposed structures containing basis angular order information, one for each explicit component per coefficient matrix.
-
(integrality_threshold¶float) –The threshold for verifying if subspace multiplicities are integral.
-
(linear_independence_threshold¶float) –The threshold for determining the linear independence subspace via the non-zero eigenvalues of the orbit overlap matrix.
-
(use_magnetic_group¶MagneticSymmetryAnalysisKind | None) –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¶bool) –A boolean indicating if the double group of the prevailing symmetry group is to be used for representation analysis instead.
-
(use_cayley_table¶bool) –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¶SymmetryTransformationKind) –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.
-
(eigenvalue_comparison_mode¶EigenvalueComparisonMode) –An enumerated type indicating the mode of comparison of orbit overlap eigenvalues with the specified
linear_independence_threshold. -
(sao¶Py2DArray_f64 | Py2DArray_c128) –The atomic-orbital overlap matrix whose elements are of type
float64orcomplex128. -
(sao_h¶Py2DArray_f64 | Py2DArray_c128 | None, default:None) –The optional complex-symmetric atomic-orbital overlap matrix whose elements are of type
float64orcomplex128. This is required if antiunitary symmetry operations are involved. -
(sao_spatial_4c¶Py4DArray_f64 | Py4DArray_c128 | None, default:None) –The optional atomic-orbital four-centre overlap matrix whose elements are of type
float64orcomplex128. -
(sao_spatial_4c_h¶Py4DArray_f64 | Py4DArray_c128 | None, default:None) –The optional complex-symmetric atomic-orbital four-centre overlap matrix whose elements are of type
float64orcomplex128. This is required if antiunitary symmetry operations are involved. -
(analyse_mo_symmetries¶bool, default:True) –A boolean indicating if the symmetries of individual molecular orbitals are to be analysed.
-
(analyse_mo_symmetry_projections¶bool, default:True) –A boolean indicating if the symmetry projections of individual molecular orbitals are to be analysed.
-
(analyse_mo_mirror_parities¶bool, default:False) –A boolean indicating if the mirror parities of individual molecular orbitals are to be printed.
-
(analyse_density_symmetries¶bool, default:False) –A boolean indicating if the symmetries of densities are to be analysed.
-
(write_overlap_eigenvalues¶bool, default:True) –A boolean indicating if the eigenvalues of the determinant orbit overlap matrix are to be written to the output.
-
(write_character_table¶bool, default:True) –A boolean indicating if the character table of the prevailing symmetry group is to be printed out.
-
(infinite_order_to_finite¶int | None, default:None) –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¶float, default:1e-07) –The threshold for verifying if subspace multiplicities are integral for the symmetry analysis of angular functions.
-
(angular_function_linear_independence_threshold¶float, default:1e-07) –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¶int, default:2) –The maximum angular momentum order to be used in angular function symmetry analysis.
Returns:
-
PySlaterDeterminantRepAnalysisResult–A Python-exposed
PySlaterDeterminantRepAnalysisResultstructure containing the results of the representation analysis.