Skip to main content
IBM Quantum Platform

Campionatore

class Sampler(mode=None, options=None)

GitHub

Basi: BaseSamplerV2

Primitiva Sampler lato client per IBM Quantum Compute (precedentemente Qiskit Runtime ).

Si tratta di un'implementazione di Sampler basata sulla primitiva Executor, che consente un'elaborazione trasparente sul lato client con cicli di feedback più rapidi e un maggiore controllo da parte dell'utente.

Limitazioni:

  • Quando la funzione "twirling" è disattivata, i circuiti non devono contenere BoxOp istruzioni.
  • Il disaccoppiamento dinamico è incompatibile con i circuiti dinamici.

Esempio

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()

Parametri


Attributi

mode

Restituisce la modalità di esecuzione utilizzata da questa primitiva.

Risultati

Modalità utilizzata da questa primitiva, oppure None se non viene utilizzata alcuna modalità di esecuzione.

options

Tipo: SamplerOptions

Le opzioni di questo Sampler.


Metodi

backend

backend()

GitHub

Restituisce il backend su cui verrà eseguita la query primitiva.

Tipo di restituzione

BackendV2

finalize_options

finalize_options()

GitHub

Configurare e definire le opzioni del Sampler.

Questo metodo genera l'istanza SamplerOptions finale utilizzata all'interno di una chiamata a run() risolvendo il None nelle opzioni di twirling, come documentato in TwirlingOptions.

Risultati

L'oggetto SamplerOptions definitivo.

Tipo di restituzione

SamplerOptions

find_unique_layers

find_unique_layers(pubs, types='gates')

GitHub

Restituisce i livelli incorniciati univoci presenti nei PUB specificati di un determinato tipo.

Il numero di types livelli può essere pari a o "gates" "all", corrispondenti rispettivamente solo ai livelli di gate o a tutti i livelli. L'elenco restituito contiene quindi un'istanza di ciascun livello incapsulato distinto (rappresentato come un CircuitInstruction) presente nei PUB di input.

Parametri

  • pubs (Iterable[SamplerPubLike]) – L'elenco dei PUB per i quali restituire un elenco di caselle univoche.
  • types (Literal['gates', 'all']) – I tipi di livelli da restituire. Può essere sia che "gates" "all".

Risultati

Gli strati a forma di scatola, caratteristici di un determinato tipo, riscontrati nei PUB indicati.

Tipo di restituzione

elenco[CircuitInstruction]

run

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

GitHub

Invia una richiesta alla primitiva di campionamento.

Per carichi di lavoro moderati e complessi, l'elaborazione lato client necessaria per mappare gli input del campionatore agli input dell'esecutore può richiedere molte risorse e causare un ritardo tra l'invocazione della funzione e l'invio job della stessa. Per verificare lo stato di avanzamento della chiamata, si consiglia di configurare la registrazione (con livello INFO ) – per ulteriori informazioni, consultare la documentazione all’indirizzo IBM Quantum Compute.

Parametri

  • pubs (Iterable[SamplerPubLike]) – Un iterabile di oggetti simili a pub. Ad esempio, un elenco di circuiti o tuple (circuit, parameter_values).
  • shots (int | None) – Il numero totale di shot da campionare per ogni pub partecipante al campionamento che non specifichi il proprio numero di shot. In tal caso None, options.default_shots verrà utilizzato il valore proveniente da.
  • dry_run (bool) – Se True, esegue una simulazione senza eseguire il processo su una QPU. Questa modalità può essere utilizzata per verificare la validità del processo, stimare i consumi e recuperare i metadati relativi alla temporizzazione dei circuiti. I risultati restituiti mantengono lo schema previsto, ma contengono dati fittizi generati in modo casuale anziché risultati di misurazione effettivi o simulati. A differenza dei backend fittizi, l'elaborazione di questa simulazione avviene lato server, pertanto l'operazione potrebbe non concludersi immediatamente e l'accesso a questa funzionalità potrebbe essere limitato.

Risultati

Il lavoro inviato.

Tipo di restituzione

RuntimeJobV2 | LocalRuntimeJob

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.