Skip to main content
IBM Quantum Platform

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

adjoint()

Gibt den Adjunkten dieses Operators zurück.

Rückgabetyp

Selbst

equiv

equiv(other, atol)

Prüft, ob dieser Operator bis auf die angegebene absolute Toleranz mit einem anderen Operator übereinstimmt.

Parameter

Rückgabetyp

bool

from_terms

classmethod from_terms(terms)

Erstellt einen neuen Operator aus einem Iterator (siehe auch iter_terms()).

Parameter

terms (Iterable)

Rückgabetyp

Selbst

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

Selbst

get_coeffs

get_coeffs()

Gibt die Termkoeffizienten zurück.

Rückgabetyp

Liste [ komplex ]

get_support

get_support()

Gibt die Menge der Modusindizes zurück, auf die dieser Operator wirkt.

Rückgabetyp

frozenset [ int ]

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

bool

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.

Anmerkung

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

bool

iter_terms

iter_terms()

Durchläuft die Terme dieses Operators.

Rückgabetyp

Iterator

iter_terms_with_groups

iter_terms_with_groups()

Durchläuft die Terme dieses Operators mit ihren Gruppenindizes.

Rückgabetyp

Iterator

normal_ordered

normal_ordered(*args, **kwargs)

Gibt die normalgeordnete Form dieses Operators zurück.

Anmerkung

Eine bestimmte Implementierung dieser Methode kann zusätzliche Argumente erfordern.

Rückgabetyp

Selbst

num_groups

num_groups()

Gibt die Anzahl der Gruppen zurück.

Rückgabetyp

int | None

one

classmethod one()

Erzeugt den multiplikativen Identitätsoperator.

Rückgabetyp

Selbst

relabel_modes

relabel_modes(permutation)

Benennt die Modi des Operators um.

Parameter

permutation (list[int])

Rückgabetyp

Selbst

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

Selbst

split_out_groups

split_out_groups(group_indices=None)

Teilt diesen Operator basierend auf dessen in eine optionale Liste neuer Operatoren auf groups.

Anmerkung

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

list [ Self ]

zero

classmethod zero()

Erzeugt den additiven Identitätsoperator.

Rückgabetyp

Selbst

War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.