Skip to main content
IBM Quantum Platform

Beobachtbare Gruppierung

qiskit_addon_cutting.utils.observable_grouping

Modul zur Durchführung von Pauli observable grouping.

observables_restricted_to_subsystem

observables_restricted_to_subsystem(qubits, global_observables, /)

GitHub

Beschränken Sie jede Beobachtungsgröße auf ihre Unterstützung in einem bestimmten Teilsystem.

A PauliList wird zurückgegeben, wenn ein PauliList angegeben wird; andernfalls wird list[Pauli] zurückgegeben.

Jegliche Phaseninformation wird verworfen, was dem Standardverhalten beim Zerschneiden eines Pauli entspricht.

Parameter

  • qubits (Sequence[int]) – Die Qubits in einem Teilsystem
  • global_observables (Sequence[Pauli] | PauliList) – Die Liste der Beobachtungswerte

Rückgabetyp

[listPauli] | PauliList

Rückgabe

Jede Pauli auf das Teilsystem beschränkt.

>>> observables_restricted_to_subsystem([1, 3], PauliList(["IXYZ", "iZZXX"]))
PauliList(['IY', 'ZX'])

CommutingObservableGroup

class CommutingObservableGroup(general_observable, commuting_observables)

GitHub

Basen: object

Menge der wechselseitig Qubit-weise kommutierenden Observablen.

Parameter

commuting_observables

Typ: list[Pauli]

Beobachtungsgrößen, die gleichzeitig gemessen werden können.

general_observable

Typ: Pauli

Ein einziger Pauli-String, der alle Qubit-weisen Messungen enthält, die benötigt werden, um alles in commuting_observables zu messen.

pauli_bitmasks

Typ: list[int]

Eine Bitmaske für jede Beobachtungsgröße in commuting_observables; bei einem Element entspricht jedes Bit, ob der entsprechende Eintrag in pauli_indices für diese Beobachtungsgröße relevant ist.

pauli_indices

Typ: list[int]

Die Indizes der Nicht-Identität Paulis in general_observable.

ObservableCollection

class ObservableCollection(observables, /)

GitHub

Basen: object

Sammlung von Observablen, die für eine effiziente Durchführung von Messungen organisiert sind.

Die Observablen werden automatisch in Gruppen von gegenseitig Qubit-weise kommutierenden Observablen organisiert, die jeweils durch eine CommutingObservableGroup.

Mitgliedsvariablen zuweisen.

Parameter

observables (PauliList | Iterable[Pauli]) – Beobachtbare Größen von Interesse

construct_general_observables

static construct_general_observables(commuting_subobservables, /)

Konstruieren Sie die allgemeinste Observable aus jedem Satz von gegenseitig kommutierenden Observablen.

In besonderen Fällen können fortgeschrittene Benutzer diese staticmethod unterklassifizieren und überschreiben, um zusätzliche Qubits als die Standardwerte für jede allgemeine Beobachtungsgröße zu messen.

Rückgabetyp

list[Pauli]

Parameter

commuting_subobservables (list[list[Pauli]])

groups

Typ: list[CommutingObservableGroup]

Liste von CommutingObservableGroups, die zusammen alle gewünschten Observablen enthalten.

lookup

Typ: dict[Pauli, list[tuple[int, int]]]

Get dict, das jede Pauli beobachtungswert auf eine Liste von Indizes, (i, j), auf kommutierende Beobachtungswerte in groups abbildet.

Für jedes Element der Liste bedeutet dies, dass die Pauli durch die j-te kommutierende Beobachtungsgröße in der i-ten Gruppe gegeben ist.

Diese Liste hat mindestens die Länge 1, kann aber auch länger sein, wenn mehrere CommutingObservableGroup objekte mit dem angegebenen Objekt kompatibel sind Pauli.

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