Skip to main content
IBM Quantum Platform

Nutzungsbedingungen für Betreiber

Dieses Modul fasst Routinen zusammen, die auf die einzelnen Terme eines Operators einwirken und diese entsprechend ihrer Struktur aufteilen. Die folgenden Submodule fassen verwandte Funktionen zusammen.


Gruppierung

Weitere Informationen finden Sie in den Bedingungen für Gruppenbetreiber: Eine ausführliche Erläuterung der Funktionen dieses Moduls finden Sie in der Betreiberstruktur.

Zuweisung

Anstatt sich stets darauf zu verlassen, dass der Benutzer die Gruppenindizes selbst angibt, bietet dieses Modul eine Reihe von Funktionen, die die Gruppierungsinformationen automatisch ermitteln.

Kolumne „ 1 “
Kolumne „ 2 “
group_terms_by_electronic_structure(op,...)Gruppiert die Terme eines Operators nach ihrer elektronischen Struktur.

Analyse

Gruppenindizes haben keine eigentliche Bedeutung: Das Array gibt lediglich an, welche Terme zusammengehören, niemals aber, warum. Dementsprechend gibt keine der folgenden Funktionen Auskunft darüber, ob eine Gruppierung „richtig“ ist: Jede beantwortet eine einzelne, genau definierte Frage zu einer bestehenden Gruppierung, wobei die Interpretation Ihnen überlassen bleibt. Sie werden bereitgestellt, damit eine Annahme, die ein nachgelagerter Verbraucher hinsichtlich einer Gruppierung trifft, im Vorfeld überprüft werden kann, anstatt bei jedem Aufruf dafür bezahlen zu müssen.

Kolumne „ 1 “
Kolumne „ 2 “
group_coeff_means(op)Gibt den mittleren absoluten Koeffizientenwert jeder Gruppe zurück.
groups_are_hermitian(op, *[, atol])Gibt für jede Gruppe zurück, ob der durch die Terme dieser Gruppe gebildete Operator hermitesch ist.
groups_have_uniform_coeffs(op, *[, atol, abs])Gibt für jede Gruppe zurück, ob alle ihre Koeffizienten numerisch gleich sind.

Filtern

Dieses Modul bietet Hilfsfunktionen zum Entfernen von Termen aus einem Operator, die keinen wesentlichen Beitrag zu einer nachfolgenden Berechnung leisten.

Mitglieder

Kolumne „ 1 “
Kolumne „ 2 “
filter_diagonal_terms(op)Filtert die Terme eines Operators heraus, die in der Besetzungszahlbasis diagonal sind.

Reihenfolge

Dieses Modul bietet Funktionen zur Umordnung der Terme eines Operators. Auch wenn die resultierenden Operatoren mathematisch identisch sind, kann die Reihenfolge der Terme aufgrund der Reihenfolge der Termeiterationen erhebliche Auswirkungen auf das Verhalten des Algorithmus zur Laufzeit haben.

Gruppenindizes sind eine Kennzeichnung pro Term, die keine Aussage darüber trifft, an welcher Stelle diese Terme stehen; daher sind die Terme einer Gruppe in der Regel über den gesamten Operator verteilt. group_order() fasst jede Gruppe zu einem zusammenhängenden Block zusammen, wodurch eine angeforderte Gruppe mittels binärer Suche gefunden split_out_groups() werden kann, anstatt jeden Term einzeln zu durchsuchen.

Anmerkung

Im Gegensatz canonical_order()zu order_terms() gibt es in der C-API kein entsprechendes Äquivalent.

Mitglieder

Kolumne „ 1 “
Kolumne „ 2 “
canonical_order(op)Gibt eine Kopie eines Operators zurück, dessen Terme in kanonischer Reihenfolge sortiert sind.
group_order(op)Gibt eine Kopie eines Operators zurück, deren Terme nach Gruppenindex sortiert sind.
order_terms(op, key, *[, reverse] )Gibt eine Kopie eines Operators zurück, dessen Terme anhand eines vom Benutzer angegebenen Schlüssels neu geordnet wurden.
War diese Seite hilfreich?
Melden Sie auf GitHub einen Fehler, einen Tippfehler oder fordern Sie Inhalte an.