Skip to main content
IBM Quantum Platform

NoiseLearnerOptions

class NoiseLearnerOptions(_VERSION=2, max_execution_time=Unset, environment=<factory>, simulator=<factory>, max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset, twirling_strategy=Unset, experimental=Unset)

GitHub

Basen: OptionsV2

Optionen für NoiseLearner.

Anmerkung

Die Gesamtzahl der einzelnen Schaltungen, die zum Erlernen des Rauschens einer einzelnen Schicht eingesetzt werden, hängt ausschließlich von layer_pair_depths und ab num_randomizations. Wenn zum Beispiel layer_pair_depths sechs Tiefen enthält und num_randomizations auf 32 gesetzt ist, führt die Rauschlernstufe insgesamt 6 * 9 einzigartige Schaltungen pro Schicht aus, jede mit 32 Zufälligkeiten (bei shots_per_randomization jeder).

Die obige Zahl 9 ist die Anzahl der einzelnen Schaltungen, die implementiert werden müssen, um das Rauschen für alle Zwei-Qubit-Subsysteme in der gegebenen Schicht durch lokale Messungen zu lernen. Um das Rauschen für ein einziges dieser Teilsysteme zu lernen, müssen alle 16 Zwei-Qubit-Paulis dieses Teilsystems gemessen werden. Wenn man die Kommutierungsbeziehungen nutzt, um mehr als eine dieser Paulis (z. B. XI, IX und XX) mit einer einzigen Schaltung zu messen, ist es möglich, alle diese 16 Paulis zu messen, indem man nur 9 Schaltungen implementiert. Die optimale Parallelisierung dieser Messaufgaben ermöglicht dann die Messung der 16 Paulis für alle Zwei-Qubit-Subsysteme der Schicht mit nur 9 Schaltungen. Weitere Einzelheiten in Ref. [1].

Referenzen

  1. E. van den Berg, Z. Minev, A. Kandala, K. Temme, Probabilistic error cancellation with sparse Pauli-Lindblad models on noisy quantum processors, Nature Physics Band 19, Seiten 1116-1121 (2023). arXiv:2201.09866 [quant-ph]

Attribute

Parameter

  • _VERSION (int)
  • max_execution_time (UnsetType | int)
  • environment (EnvironmentOptions | Dict)
  • simulator (SimulatorOptions | Dict)
  • max_layers_to_learn (UnsetType | int | None)
  • shots_per_randomization (UnsetType | int)
  • num_randomizations (UnsetType | int)
  • layer_pair_depths (UnsetType | list[int])
  • twirling_strategy (UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all'])
  • experimental (UnsetType | dict)

environment

Typ: EnvironmentOptions | Dict

Standardwert: FieldInfo(annotation=NoneType, required=False, default_factory=EnvironmentOptions)

experimental

Typ: UnsetType | dict

Standardwert: Unset

Experimentelle Optionen.

Diese Optionen können ohne Vorankündigung geändert werden, und die Stabilität wird nicht garantiert.

layer_pair_depths

Typ: UnsetType | list[int]

Standardwert: Unset

Die Schaltungstiefe (gemessen in Anzahl der Paare), die in den Lernexperimenten verwendet werden soll.

Wir verwenden Paare als Einheit, weil wir die order-2 Natur unserer Verschränkungsgatter bei der Implementierung des Rauschlernens ausnutzen. Ein Wert von 3 entspricht beispielsweise 6 Wiederholungen der betreffenden Schicht. Voreinstellung: (0, 1, 2, 4, 16, 32).

max_execution_time

Typ: UnsetType | int

Standardwert: Unset

max_layers_to_learn

Typ: UnsetType | int | None

Standardwert: Unset

Die maximale Anzahl der zu lernenden Schichten.

Der Wert None zeigt an, dass es keinen Grenzwert gibt. Wenn mehr einzelne Schichten vorhanden sind, werden einige Schichten nicht gelernt oder abgeschwächt. Die gelernten Schichten werden nach der Anzahl ihres Auftretens priorisiert und bei gleichmäßig auftretenden Schichten zusätzlich nach der Anzahl der Zwei-Qubit-Gatter in der Schicht sortiert. Voreinstellung: 4.

num_randomizations

Typ: UnsetType | int

Standardwert: Unset

Die Anzahl der Zufallsschaltungen, die pro Lernkreiskonfiguration verwendet werden sollen.

Eine Konfiguration ist eine Messbasis und eine Tiefeneinstellung. Wenn Ihr Experiment beispielsweise sechs Tiefen hat, führt die Einstellung dieses Wertes auf 32 dazu, dass insgesamt 32 * 9 * 6 Schaltungen ausgeführt werden müssen (wobei 9 die Anzahl der Schaltungen ist, die implementiert werden müssen, um alle erforderlichen Observablen zu messen, siehe den Hinweis im Docstring für NoiseLearnerOptions für Details zum Modus), bei shots_per_randomization jeder.

shots_per_randomization

Typ: UnsetType | int

Standardwert: Unset

Die Gesamtzahl der Schüsse, die pro zufälligem Lernkreis verwendet werden sollen.

Eine Lernschaltung ist eine Zufallsschaltung mit einer bestimmten Lerntiefe und einer bestimmten Messbasis, die auf einer Hardware ausgeführt wird. Voreinstellung: 128.

simulator

Typ: SimulatorOptions | Dict

Standardwert: FieldInfo(annotation=NoneType, required=False, default_factory=SimulatorOptions)

twirling_strategy

Typ: UnsetType | Literal['active', 'active-accum', 'active-circuit', 'all']

Standardwert: Unset

Die Twirling-Strategie in den identifizierten Schichten von Zwei-Qubit-Twirling-Gates.

Zulässige Werte:

  • "active": In jeder einzelnen verwirbelten Schicht werden nur die Befehlsqubits verwirbelt.

  • "active-circuit": in jeder einzelnen gezwirbelten Schicht, die Vereinigung aller Anweisungen

    qubits in der Schaltung verwirbelt werden.

  • "active-accum"in jeder einzelnen gewirbelten Schicht, die Vereinigung der Instruktionsqubits

    im Kreislauf bis zur aktuell gezwirbelten Schicht gezwirbelt werden.

  • "all": In jeder einzelnen verwirbelten Schicht werden alle Qubits im Eingangskreis verwirbelt.

Anmerkung

Barrieren und Verzögerungsanweisungen werden bei der Bestimmung, ob ein Qubit aktiv ist, ignoriert.

Voreinstellung: "aktiv-accum".


Methoden

update

update(**kwargs)

GitHub

Aktualisieren Sie die Optionen.

Parameter

kwargs (Any)

Rückgabetyp

Keine

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