Stichprobenfunktion
class Sampler(mode=None, options=None)
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
BoxOpBefehle 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
-
mode (BackendV2 | Session |Batch | None) –
Der Ausführungsmodus, der zur Durchführung der einfachen Abfrage verwendet wurde. Auswahlmöglichkeiten:
- A,
BackendV2wenn Sie den Job-Modus verwenden. - A,
Sessionwenn Sie den Sitzungsausführungsmodus verwenden. - A,
Batchwenn Sie den Batch-Ausführungsmodus verwenden.
Weitere Informationen zu den Ausführungsmodi finden Sie in der Dokumentation unter „ IBM Quantum Compute “.
- A,
-
options (SamplerOptions) – Sampler-Optionen. Alle verfügbaren Optionen finden Sie
SamplerOptionshier.
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()
Gibt das Backend zurück, auf dem die primitive Abfrage ausgeführt wird.
Rückgabetyp
BackendV2
finalize_options
finalize_options()
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
find_unique_layers
find_unique_layers(pubs, types='gates')
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)
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 Falloptions.default_shotswird 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