qiskit_ibm_runtime.options_models.ZneOptions
pydantic model ZneOptions
Basen: BaseOptionsModel
Optionen zur Reduzierung von Rauschfehlern bei der Extrapolation. Dies wird ausschließlich vom „ V2 “-Kalkulator verwendet.
Jeder Schätzer vom Typ „ V2 “ gibt garantiert Datenfelder namens und evs zurück, stds die jeweils die gewünschten Schätzungen des Erwartungswerts und die Fehler angeben. Wenn die ZNE-Optionen im Laufzeit-Schätzer aktiviert sind, werden zusätzliche Daten zurückgegeben.
Nehmen wir insbesondere an, eine Eingabe-pub habe die beobachtbare Array-Form und obs_shape die Parameterwerte die Form par_shape, wobei die entsprechende pub-Form ist shape=np.broadcast_shapes(obs_shape, par_shape). Dann enthält das entsprechende Pub-Ergebnis zusätzlich:
-
pub_result.data.evs_extrapolatedundpub_result.data.stds_extrapolated,beide mit der Form
(*shape, num_extrapolators, num_evaluation_points), wobei die Länge der Liste von istnum_extrapolatorsoptions.resilience.zne.extrapolatorund die Länge der Listenum_evaluation_pointsistoptions.resilience.zne.extrapolated_noise_factors. Diese Werte liefern Bewertungen für jeden Extrapolator bei jedem angegebenen Rauschextrapolationswert. -
pub_result.data.evs_noise_factors,pub_result.data.stds_noise_factors, und habenensemble_stds_noise_factorsalle die Form, wobei(*shape, num_noise_factors)die Länge von istnum_noise_factors``options.resilience.zne.noise_factors. Diese Werte liefern Roherwartungswerte, die gegebenenfalls über das Twirling gemittelt wurden, für jede der Rauschverstärkungen; Sie können Ihre eigenen Anpassungsroutinen auf diesen Werten aufbauen. Wenn kein Twirling stattfindet, sind beide*stds*Arrays gleich; andernfallsstds_noise_factorswird aus der Streuung der Twirling-Proben abgeleitet, während nur von Schussrauschen und keiner Driftensemble_stds_noise_factorsausgeht.
Technischer Hinweis: Bei einzelnen Observablen mit mehreren Basistermen kann es vorkommen, dass im selben Erwartungswert mehrere Extrapolationsmethoden zum Einsatz kommen; so XX wird beispielsweise linear extrapoliert, während in der Observablen exponentiell extrapoliert XY wird {"XX": 0.5, "XY": 0.5}. Nennen wir das einmal eine heterogene Anpassung. Die Daten aus (2) werden anhand heterogener Anpassungen ausgewertet, wobei für jeden einzelnen Term die beste Anpassung ausgewählt wird, während die Daten aus (1) anhand erzwungener homogener Anpassungen ausgewertet werden, jeweils eine für jeden bereitgestellten Extrapolator. Falls Ihre Arbeit in dieser Hinsicht eine differenzierte Unterscheidung erfordert, empfehlen wir Ihnen derzeit, zusätzlich zu Ihren mehrgliedrigen Observablen auch eingliedrige Observablen zu verwenden.
Referenzen
- Z. Cai, „Multi-exponentielle Fehlerextrapolation und Kombination von Fehlerminderungstechniken für NISQ-Anwendungen“, npj Quantum Inf 7, 80 (2021)
Config
- validate_assignment : bool = True
- extra : str = verbieten
amplifier
field
Typ: Literal['gate_folding', 'gate_folding_front', 'gate_folding_back', 'pea']
Standardwert: 'gate_folding'
Welche Technik soll zur Verstärkung des Rauschens verwendet werden?
Einer der folgenden:
„gate_folding“ (Standard) nutzt 2-Qubit-Gate-Folding, um das Rauschen zu verstärken. Wenn das Geräusch
Wenn der Faktor erfordert, dass nur eine Teilmenge der Gatter verstärkt wird, werden diese Gatter zufällig ausgewählt.
„gate_folding_front“ nutzt 2-Qubit-Gate-Folding, um das Rauschen zu verstärken. Wenn das Geräusch
Wenn der Faktor erfordert, dass nur eine Teilmenge der Gatter verstärkt wird, werden diese Gatter aus dem vorderen Teil der topologisch geordneten DAG-Schaltung ausgewählt.
„gate_folding_back“ nutzt 2-Qubit-Gate-Folding, um das Rauschen zu verstärken. Wenn das Geräusch
Wenn der Faktor erfordert, dass nur eine Teilmenge der Gatter verstärkt wird, werden diese Gatter aus dem hinteren Teil der topologisch geordneten DAG-Schaltung ausgewählt.
„pea“ nutzt eine Technik namens „Probabilistic Error Amplification“
( PEA ) zur Verstärkung von Rauschen. Wenn diese Option ausgewählt ist, wird das „Gate Twirling“ immer verwendet, unabhängig davon, ob es in den Optionen aktiviert wurde oder nicht. Bei dieser Technik wird das Twirled-Noise-Modell jeder einzelnen Schicht aus Verschränkungsgattern in Ihren ISA-Schaltungen im Voraus trainiert; siehe
LayerNoiseLearningOptionsfür entsprechende Trainingsoptionen. Nach der Fertigstellung werden Ihre Schaltkreise bei jedem Rauschfaktor ausgeführt, wobei jede Verschränkungsschicht Ihrer Schaltkreise durch die probabilistische Einbringung von Einzel-Qubit-Rauschen verstärkt wird, das proportional zum entsprechenden gelernten Rauschmodell ist.
extrapolated_noise_factors
field
Typ: Sequence[Annotated[float, Field(ge``=``0)]] | Literal['auto']
Standardwert: 'auto'
Rauschfaktoren zur Bewertung der Passgenauigkeit von Extrapolationsmodellen bei.
Wenn „auto“ eingestellt ist, werden die Erwartungswerte an der Stelle berechnet [0, *noise_factors]. Diese Option hat keinerlei Auswirkungen auf die Ausführung oder die Modellanpassung; sie legt lediglich fest, an welchen Punkten die extrapolators-Werte berechnet werden, die in den Datenfeldern und evs_extrapolated zurückgegeben werden sollen stds_extrapolated.
extrapolator
field
Typ: ExtrapolatorType | Sequence[ExtrapolatorType]
Standardwert: ('exponential', 'linear')
Zu testende Extrapolatoren (in der angegebenen Reihenfolge) zur Extrapolation auf rauschfreies Signal.
Verfügbare Optionen:
"exponential", die die Daten mithilfe einer exponentiell abklingenden Funktion anpasstdefiniert als „ “, wobei „ “ der Wert bei Nullrauschen ist ( ) und „ “ eine positive Rate ist.
"double_exponential", bei dem wie in Ref. eine Summe aus zwei Exponentialfunktionen verwendet wird. 1.
"polynomial_degree_(1 <= k <= 7)", die eine Polynomfunktion verwendet, die wie folgt definiert ist:.
"linear", was gleichbedeutend ist mit"polynomial_degree_1".
"fallback", das einfach die Rohdaten zurückgibt, die dem geringsten Rauschen entsprechenFaktor (in der Regel
1) ohne jegliche Extrapolation.
Die extrapolierten Werte (evs_extrapolated und stds_extrapolated) werden entsprechend der Reihenfolge der angegebenen Extrapolationsverfahren sortiert. Wenn mehr als ein Extrapolator angegeben wird, beziehen sich die in den Ergebnisdaten angegebenen stds Werte und evs auf den ersten erfolgreichen Extrapolator, wobei der Erfolg eines Extrapolators heuristisch bestimmt wird.
noise_factors
field
Typ: Annotated[Sequence[Annotated[float, Field(ge``=``1)]], AfterValidator(at_least_two_noise_factors)] | Literal['auto']
Standardwert: 'auto'
Für die Geräuschverstärkung zu verwendende Geräuschfaktoren.
Der Standardwert ist DEFAULT_NOISE_FACTORS. Muss in allen angeforderten Extrapolatoren mehr Werte enthalten als die Anzahl der Freiheitsgrade (DOF).