Skip to main content
IBM Quantum Platform

Stichprobenfunktion

class Sampler(mode=None, options=None)

GitHub

Basen: BaseSamplerV2

Clientseitige Sampler-Primitive für „ IBM Quantum Compute “ (früher „ Qiskit Runtime “).

Hierbei handelt es sich um eine Implementierung von „Sampler“, die auf der „Executor“-Primitive aufbaut und eine transparente clientseitige Verarbeitung mit schnelleren Rückkopplungsschleifen und mehr Kontrolle für den Benutzer ermöglicht.

Einschränkungen:

  • Wenn das Twirling deaktiviert ist, dürfen die Befehlsketten keine BoxOp Befehle enthalten.
  • Die dynamische Entkopplung ist mit dynamischen Schaltungen unvereinbar.

Beispiel

from qiskit import QuantumCircuit
from qiskit_ibm_runtime import QiskitRuntimeService
from qiskit_ibm_runtime.executor_sampler import Sampler

service = QiskitRuntimeService()
backend = service.least_busy(operational=True, simulator=False)

# Create a simple circuit
circuit = QuantumCircuit(2, 2)
circuit.h(0)
circuit.cx(0, 1)
circuit.measure_all()

# Run the sampler with options
sampler = Sampler(mode=backend)
sampler.options.default_shots = 2048
sampler.options.execution.init_qubits = True
job = sampler.run([circuit])
result = job.result()

Parameter


Attribute

mode

Gibt den von dieser Primitive verwendeten Ausführungsmodus zurück.

Rückgabe

Der von dieser Primitive verwendete Modus oder None falls kein Ausführungsmodus verwendet wird.

options

Typ: SamplerOptions

Die Optionen dieses Samplers.


Methoden

backend

backend()

GitHub

Gibt das Backend zurück, auf dem die primitive Abfrage ausgeführt wird.

Rückgabetyp

BackendV2

finalize_options

finalize_options()

GitHub

Erstellen und finalisieren Sie die Sampler-Optionen.

Diese Methode erzeugt die endgültige Instanz SamplerOptions , die innerhalb eines Aufrufs von verwendet wird, run() indem sie das in None den Twirling-Optionen auflöst, wie in dokumentiert TwirlingOptions.

Rückgabe

Das fertige Objekt SamplerOptions .

Rückgabetyp

SamplerOptions

find_unique_layers

find_unique_layers(pubs, types='gates')

GitHub

Gibt die eindeutigen „Boxed“-Ebenen zurück, die in den angegebenen PUBs eines bestimmten Typs vorkommen.

Die Anzahl der types Schichten kann entweder oder "gates" betragen "all", was jeweils nur den Gate-Schichten bzw. allen Schichten entspricht. Die zurückgegebene Liste enthält dann jeweils eine Instanz jeder einzelnen „boxed layer“ (dargestellt als CircuitInstruction), die in den Eingabe-PUBs vorkommt.

Parameter

  • pubs (Iterable[SamplerPubLike]) – Die Liste der PUBs, für die eine Liste eindeutiger Boxen zurückgegeben werden soll.
  • types (Literal['gates', 'all']) – Die Arten von Ebenen, die zurückgegeben werden sollen. Es kann entweder oder "gates" sein "all".

Rückgabe

Die einzigartigen, kastenförmigen Schichten eines bestimmten Typs, die in den angegebenen PUBs zu finden sind.

Rückgabetyp

Liste[CircuitInstruction]

run

run(pubs, *, shots=None, dry_run=False)

GitHub

Sende eine Anfrage an die Sampler-Primitive.

Bei mittleren und komplexen Arbeitslasten kann die clientseitige Verarbeitung, die erforderlich ist, um die Eingaben des Samplers den Eingaben des Executors zuzuordnen, ressourcenintensiv sein und zu einer Verzögerung zwischen dem Aufruf der Funktion und der job Übermittlung der Eingaben führen. Um den Fortschritt des Aufrufs zu überprüfen, wird empfohlen, die Protokollierung (mit der Stufe INFO ) einzurichten – weitere Informationen finden Sie in der Dokumentation unter IBM Quantum Compute.

Parameter

  • pubs (Iterable[SamplerPubLike]) – Eine iterierbare Sammlung von pub-ähnlichen Objekten. Zum Beispiel eine Liste von Schaltkreisen oder Tupeln (circuit, parameter_values).
  • shots (int | None) – Die Gesamtzahl der Shots, die pro „Sampler-Kneipe“ zu probieren sind, sofern diese keine eigene Anzahl angibt. In Nonediesem Fall options.default_shots wird der Wert aus verwendet.
  • dry_run (bool) – Wenn True, wird ein Testlauf durchgeführt, ohne den Auftrag auf einer QPU auszuführen. Dieser Modus kann verwendet werden, um den Auftrag zu validieren, den Ressourcenverbrauch abzuschätzen und Metadaten zum Ablauf der Schaltkreise abzurufen. Die zurückgegebenen Ergebnisse entsprechen zwar dem erwarteten Schema, enthalten jedoch zufällig generierte Dummy-Daten anstelle von tatsächlichen oder simulierten Messergebnissen. Im Gegensatz zu den simulierten Backends erfolgt die Verarbeitung dieses Testlaufs serverseitig, sodass der Vorgang möglicherweise nicht sofort abgeschlossen wird und der Zugriff auf diese Funktion eingeschränkt sein kann.

Rückgabe

Der übermittelte Auftrag.

Rückgabetyp

RuntimeJobV2 | LocalRuntimeJob

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