Nutzerbedingungen
Die C-API bietet verschiedene Funktionen zur Bearbeitung der einzelnen Terme eines Operators, wobei diese entsprechend ihrer Struktur unterteilt werden.
Gruppierung
Siehe „Begriffe zu Gruppenoperatoren“: Eine ausführliche Erläuterung der Funktionen dieses Moduls finden Sie in der Operatorenstruktur.
Zuweisung
Anstatt sich stets darauf zu verlassen, dass der Benutzer die Gruppenindizes selbst angibt, bietet die C-API eine Reihe von Funktionen, die die Gruppierungsinformationen automatisch ermitteln.
Kolumne „ 1 “ | Kolumne „ 2 “ |
|---|---|
qf_ferm_op_group_terms_by_electronic_structure() | Gruppiert die Terme eines Operators nach ihrer elektronischen Struktur. |
Analyse
Gruppenindizes haben keine eigentliche Bedeutung: Sie geben lediglich an, welche Begriffe zusammengehören, niemals aber, warum. Dementsprechend gibt es keine Funktion, die angibt, ob eine Gruppierung „korrekt“ ist. Die C-API bietet stattdessen eine Sammlung von Funktionen, die jeweils eine konkrete, genau definierte Frage zu einer bestehenden Gruppierung beantworten, sodass eine Annahme, die ein nachgelagerter Nutzer trifft, im Voraus überprüft werden kann, anstatt bei jedem Aufruf erneut berechnet zu werden. Da diese mit generischen Operator-Darstellungen arbeiten, sind sie auf der Seite zu den Gruppierungsfunktionen dokumentiert.
Filtern
Die C-API bietet eine Reihe von Funktionen zum Entfernen von Termen aus einem Operator, die keinen wesentlichen Beitrag zu einer nachfolgenden Berechnung leisten.
Mitglieder
Kolumne „ 1 “ | Kolumne „ 2 “ |
|---|---|
qf_ferm_op_filter_diagonal_terms() | Filtert die diagonalen Terme eines Operators heraus. |
Reihenfolge
Die C-API bietet Funktionen zur Neuanordnung der Terme eines Operators, entweder in eine kanonische, koeffizientenunabhängige Reihenfolge oder nach Gruppenindex.
Gruppenindizes sind Tags, die pro Term vergeben werden und keine Aussage darüber treffen, an welcher Stelle diese Terme stehen; daher sind die Terme einer Gruppe in der Regel über den gesamten Operator verteilt. Durch die Sortierung nach Gruppen werden die jeweiligen Elemente zu einem zusammenhängenden Block zusammengefasst, wodurch eine angeforderte Gruppe mittels binärer Suche gefunden qf_op_type_split_out_groups werden kann, anstatt jeden Term einzeln zu durchsuchen.
Mitglieder
Kolumne „ 1 “ | Kolumne „ 2 “ |
|---|---|
qf_ferm_op_canonical_order() | Ordnet die Terme eines fermionischen Operators kanonisch neu an. |
qf_maj_op_canonical_order() | Ordnet die Terme eines Majorana-Operators kanonisch neu an. |
qf_edge_op_canonical_order() | Ordnet die Terme eines Kanten-Knoten-Operators kanonisch neu. |
qf_transfer_op_canonical_order() | Ordnet die Terme eines Transfer-Vertex-Operators kanonisch neu. |
qf_ferm_op_group_order() | Ordnet die Terme eines fermionischen Operators nach dem Gruppenindex neu. |
qf_maj_op_group_order() | Sortiert die Terme eines Majorana-Operators nach Gruppenindex neu. |
qf_edge_op_group_order() | Sortiert die Terme eines Kanten-Knoten-Operators nach Gruppenindex neu. |
qf_transfer_op_group_order() | Sortiert die Terme eines Transfer-Vertex-Operators nach Gruppenindex neu. |