Skip to main content
IBM Quantum Platform

Pauli-Operator-Vereinfachung

qiskit_addon_obp.utils.simplify

Funktionen zur Vereinfachung von Pauli-Operatoren.

OperatorBudget

class OperatorBudget(max_paulis=None, max_qwc_groups=None, simplify=True, atol=None, rtol=None)

GitHub

Basen: object

Eine Klasse zum Speichern der Konstanten, die bestimmen, wie groß ein Operator werden darf.

Die Backpropagation wird beendet, wenn eine der folgenden Bedingungen erfüllt ist:

  • Die Anzahl der Pauli-Terme in allen Observablen übersteigt max_paulis. Bei max_paulis = None ist die Anzahl der Pauli-Terme in den Observablen nicht eingeschränkt.
  • Die Anzahl der Qubit-weise kommutierenden Pauli-Gruppen für alle Observablen übersteigt max_qwc_groups. Wenn max_qwc_groups = None, ist die Anzahl der Qubit-weise kommutierenden Pauli-Gruppen in den Observablen nicht eingeschränkt.

Parameter

  • max_paulis (int | None)
  • max_qwc_groups (int | None)
  • simplify (bool)
  • atol (float | None)
  • rtol (float | None)

atol

Typ: float | None

Standardwert: None

Absolute Toleranz für die Prüfung, ob die Koeffizienten Null sind. Standardmäßig wird der atol wert von SparsePauliOp.

is_active

is_active()

GitHub

Gibt zurück, ob self irgendwelche Grenzen für die Operatorgröße festlegt.

Rückgabetyp

bool

max_paulis

Typ: int | None

Standardwert: None

Die maximale Anzahl von Pauli-Termen, die der Backpropagated-Operator enthalten darf.

max_qwc_groups

Typ: int | None

Standardwert: None

Die maximale Anzahl von Qubit-weise kommutierenden Pauli-Gruppen, die der Backpropagated-Operator enthalten darf.

rtol

Typ: float | None

Standardwert: None

Relative Toleranz für die Prüfung, ob die Koeffizienten Null sind. Standardmäßig wird der rtol wert von Sparse.

simplify

Typ: bool

Standardwert: True

Ein Flag, das angibt, ob der Aufruf von simplify() bei jeder Iteration aufrufen soll.

SimplifyMetadata

class SimplifyMetadata(num_unique_paulis, num_duplicate_paulis, num_trimmed_paulis, sum_trimmed_coeffs)

GitHub

Basen: object

Eine einfache Datenklasse für die Rückgabe der verfolgten Attribute während der Operatorvereinfachung.

Parameter

  • num_unique_paulis (int)
  • num_duplicate_paulis (int)
  • num_trimmed_paulis (int)
  • sum_trimmed_coeffs (float)

num_duplicate_paulis

Typ: int

Die Anzahl der doppelten Pauli-Terme. Siehe auch num_duplicate_paulis.

num_trimmed_paulis

Typ: int

Die Anzahl der trimmbaren Pauli-Terme. Siehe auch num_trimmed_paulis.

num_unique_paulis

Typ: int

Die Anzahl der eindeutigen Pauli-Terme. Siehe auch num_unique_paulis.

sum_trimmed_coeffs

Typ: float

Die Summe der getrimmten Koeffizienten. Siehe auch sum_trimmed_coeffs.

simplify

simplify(operator, *, atol=None, rtol=None)

GitHub

Vereinfacht den angegebenen Pauli-Operator.

Dies ist eine Anpassung von SparsePauliOp.simplify() , die Metadaten der vereinfachten Begriffe verfolgt.

Parameter

  • operator (SparsePauliOp) – die SparsePauliOp zu vereinfachen.
  • atol (float | None) – die absolute Toleranz für die Prüfung, ob die Koeffizienten Null sind. Wenn None verwendet wird, wird auf SparsePauliOp.atol zurückgegriffen.
  • rtol (float | None) – die relative Toleranz für die Prüfung, ob die Koeffizienten Null sind. Wenn None verwendet wird, wird auf SparsePauliOp.rtol zurückgegriffen.

Rückgabe

Der vereinfachte Pauli-Operator.

Rückgabetyp

tuple [*SparsePauliOp*, SimplifyMetadata ]

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