This module provides a symbolic and symmetry-adapted construction of operator matrices between quantum states transforming under irreducible representations (irreps) of the
operator(n, opsymmetry, s1, s2, nvarsym, max_order) -> np.ndarray[tuple[Operator, Operator]]Description: Constructs the matrix representation of an operator with symmetry opsymmetry, acting between two quantum states of symmetries s1 and s2, using all symmetry-allowed invariants and monomials up to a given max_order.
-
n: integer ($C_{nv}$ group order) -
opsymmetry:Symmetryobject (A1, A2, B1, B2, or E) -
s1,s2:Symmetryobjects representing the state symmetries -
nvarsym: list[int], number of variables of each symmetry (indexed as [A1, A2, B1, B2, E_1, E_2, ...]) -
max_order: maximum polynomial order
Returns: A 2x2 or 1x1 array of tuples (A_x, A_y), where each A_x, A_y is an Operator object representing the X and Y components of the operator matrix.
A_x(n, opsymmetry, s1, s2, max_order) -> OperatorDescription: Generates the
Returns an Operator object representing the symmetry-allowed expansion in
A_y(n, opsymmetry, s1, s2, max_order) -> OperatorDescription: Generates the
Returns an Operator object representing the symmetry-allowed expansion in
Operator.compile() -> strDescription: Compiles an Operator into a CSV-like text format containing:
- Operator and state symmetries
- Variable counts per irrep
- Definitions of pseudovariables (combinations of fundamental ones)
- Monomial expansions for X and Y components
This textual format can be used for interfacing with external computational tools or storing symbolic representations.
Ce module permet la construction symbolique d'opérateurs agissant entre états quantiques, en tenant compte des symétries ponctuelles
operator(n, opsymmetry, s1, s2, nvarsym, max_order) -> np.ndarray[tuple[Operator, Operator]]Description : Construit la matrice de l'opérateur de symétrie opsymmetry entre deux états de symétries s1 et s2, à l'aide de tous les invariants et monômes compatibles jusqu'à un ordre maximal max_order.
-
n: entier correspondant au groupe$C_{nv}$ -
opsymmetry: objetSymmetry(A1, A2, B1, B2 ou E) -
s1,s2: objetsSymmetrydécrivant la symétrie des états -
nvarsym: liste d'entiers donnant le nombre de variables par irrep ([A1, A2, B1, B2, E_1, E_2, ...]) -
max_order: ordre maximal du développement
Retourne : Un tableau 2x2 (ou 1x1 si les états sont identiques) de couples (A_x, A_y), où A_x et A_y sont des objets Operator contenant les matrices d'opérateurs en
A_x(n, opsymmetry, s1, s2, max_order) -> OperatorDescription : Génère la composante
Retourne un objet Operator contenant l'expansion symbolique selon
A_y(n, opsymmetry, s1, s2, max_order) -> OperatorDescription : Génère la composante
Retourne un objet Operator contenant l'expansion symbolique selon
Operator.compile() -> strDescription : Compile un objet Operator en un format texte de type CSV contenant :
- Les symétries de l'opérateur et des états
- Le nombre de variables par représentation irréductible
- La définition des pseudo-variables
- Les composantes X et Y en monômes
Ce format est adapté pour l'exportation, la sauvegarde ou une lecture par des outils externes.
- Elie DUMONT
- David WILLIAMS
- Alexandra VIEL
MIT