Campionatore
class Sampler(mode=None, options=None)
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
BoxOpistruzioni. - 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
-
mode (BackendV2 | Session |Batch | None) –
La modalità di esecuzione utilizzata per eseguire la query primitiva. Può essere:
- A
BackendV2se si utilizza la modalità "job". - A
Sessionse si utilizza la modalità di esecuzione in sessione. - A
Batchse si utilizza la modalità di esecuzione in batch.
Per ulteriori informazioni sulle modalità di esecuzione, consultare la documentazione relativa a IBM Quantum Compute.
- A
-
options (SamplerOptions) – Opzioni del campionatore. Vedi
SamplerOptionsper tutte le opzioni disponibili.
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()
Restituisce il backend su cui verrà eseguita la query primitiva.
Tipo di restituzione
BackendV2
finalize_options
finalize_options()
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
find_unique_layers
find_unique_layers(pubs, types='gates')
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)
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_shotsverrà 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