OperatorTrait
class OperatorTrait(*args, **kwargs)
Basen: Protocol
Ein Protokoll, das alle von Operatorklassen implementierten Methoden auflistet.
Attribute
groups
Gibt die Indizes der Gruppen zurück.
Methoden
adjoint
equiv
equiv(other, atol)
Prüft, ob dieser Operator bis auf die angegebene absolute Toleranz mit einem anderen Operator übereinstimmt.
Parameter
Rückgabetyp
from_terms
classmethod from_terms(terms)
Erstellt einen neuen Operator aus einem Iterator (siehe auch iter_terms()).
Parameter
terms (Iterable)
Rückgabetyp
from_terms_with_groups
classmethod from_terms_with_groups(terms)
Erstellt einen neuen Operator aus einem Iterator (siehe auch iter_terms_with_groups()).
Parameter
terms (Iterable)
Rückgabetyp
get_coeffs
get_support
get_support()
Gibt die Menge der Modusindizes zurück, auf die dieser Operator wirkt.
Rückgabetyp
has_groups
has_groups()
Gibt zurück, ob dieser Operator Gruppenindizes verfolgt.
Dies entspricht der Überprüfung von (ist jedoch kostengünstiger als diese) op.groups is not None, da die Gruppenindizes nicht aus dem Operator kopiert werden, um sie zu überprüfen.
Rückgabetyp
ichop
ichop(atol)
Kürzt die Koeffizienten dieses Operators unterhalb der absoluten Toleranz.
Parameter
atol (float)
is_hermitian
is_hermitian(atol=1e-08)
Gibt zurück, ob dieser Operator hermitisch ist.
Die Überprüfung reduziert die Differenz dieses Operators und seines adjoint() auf eine Normalform (siehe normal_ordered()) und vergleicht das Ergebnis mit zero(). Sie ist daher nur so stark wie die Normalform, auf die der jeweilige Operatortyp reduziert wird.
Ein Ergebnis True ist immer zuverlässig. Ein Ergebnis False ist nur für Operatortypen zuverlässig, deren Normalform eine echte kanonische Form ist; bei den anderen ist diese Überprüfung konservativ und kann für False einen Operator, der tatsächlich hermitisch ist, ein falsches Ergebnis liefern. Informieren Sie sich in der jeweiligen Implementierung, welche der beiden Varianten zutrifft.
Parameter
atol (float) – Die numerische Genauigkeit, bis zu der Koeffizienten als gleich angesehen werden. Dieser Wert ist standardmäßig auf 1e-8. gesetzt.
Rückgabe
Ob dieser Operator hermitisch ist.
Rückgabetyp
iter_terms
iter_terms_with_groups
iter_terms_with_groups()
Durchläuft die Terme dieses Operators mit ihren Gruppenindizes.
Rückgabetyp
normal_ordered
normal_ordered(*args, **kwargs)
Gibt die normalgeordnete Form dieses Operators zurück.
Eine bestimmte Implementierung dieser Methode kann zusätzliche Argumente erfordern.
Rückgabetyp
num_groups
one
relabel_modes
relabel_modes(permutation)
Benennt die Modi des Operators um.
Parameter
Rückgabetyp
simplify
simplify(atol)
Vereinfacht die Terme dieses Operators und lässt dabei diejenigen weg, die unterhalb der absoluten Toleranz liegen.
Parameter
atol (float)
Rückgabetyp
split_out_groups
split_out_groups(group_indices=None)
Teilt diesen Operator basierend auf dessen in eine optionale Liste neuer Operatoren auf groups.
group_indices Wird weggelassen, werden alle Gruppen in Indexreihenfolge aufgebaut. Andernfalls werden nur die angeforderten Indizes in der angegebenen Reihenfolge erstellt.
Parameter
group_indices (Sequence[int] | None)
Rückgabetyp