LayerNoiseLearningOptions
class LayerNoiseLearningOptions(max_layers_to_learn=Unset, shots_per_randomization=Unset, num_randomizations=Unset, layer_pair_depths=Unset)
Basen: object
Optionen für das Lernen von Ebenenrauschen. Dies wird nur von V2 Estimator verwendet.
Diese Optionen werden nur verwendet, wenn die Resilienzstufe oder die Optionen eine Technik vorgeben, die das Lernen von Schichtenrauschen erfordert.
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
- 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
- max_layers_to_learn (UnsetType | int | None)
- shots_per_randomization (UnsetType | int)
- num_randomizations (UnsetType | int)
- layer_pair_depths (UnsetType | list[int])
layer_pair_depths
Typ: UnsetType | list[int]
Standardwert: Unset
Die Schaltungstiefen (gemessen in der Anzahl der Paare), die in den Lernexperimenten verwendet werden sollen.
Paare werden als Einheit verwendet, da wir bei der Umsetzung des Noise Learning die Eigenschaft der Quantenverschränkung ( order-2 ) unserer Verschränkungsgatter nutzen. Ein Wert von 3 würde beispielsweise 6 Schichten der betreffenden Schicht entsprechen.
Standard: (0, 1, 2, 4, 16, 32).
max_layers_to_learn
Typ: UnsetType | int | None
Standardwert: Unset
Die maximale Anzahl der zu trainierenden eindeutigen Schichten.
Der None Wert bedeutet, dass keine Begrenzung vorliegt. Wenn weitere eindeutige Ebenen vorhanden sind, werden einige Ebenen nicht erkannt oder gemildert. Die trainierten Schichten werden anhand ihrer Häufigkeit in einer Reihe von durchlaufenen Estimator-PUBs priorisiert; bei gleicher Häufigkeit werden sie 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 zufälligen Schaltkreise, die pro Lernschaltkreis-Konfiguration verwendet werden sollen.
Eine Konfiguration besteht aus einer Messbasis und einer Tiefeneinstellung. Wenn Ihr Experiment beispielsweise sechs Tiefen umfasst, führt die Einstellung dieses Werts auf 32 dazu, dass insgesamt 32 * 9 * 6 Schaltkreise ausgeführt werden müssen (wobei 9 die Anzahl der Schaltkreise ist, die implementiert werden müssen, um alle erforderlichen Observablen zu messen; weitere Einzelheiten finden Sie im Hinweis im Docstring zu LayerNoiseLearningOptions ), jeweils bei shots_per_randomization .
Voreinstellung: 32.
shots_per_randomization
Typ: UnsetType | int
Standardwert: Unset
Die Gesamtzahl der Schüsse, die pro zufälligem Lernzyklus verwendet werden sollen.
Ein Lernkreis ist ein zufälliger Kreis mit einer bestimmten Lerntiefe und einer bestimmten Messbasis, der auf Hardware ausgeführt wird.
Voreinstellung: 128.