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, /)
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)
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, /)
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
Parameter
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.