BasicSimulator
class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)
Basi: BackendV2
Python implementazione di un simulatore quantistico di base (non efficiente).
Il simulatore supporta fino a 24 qubit per la simulazione con vettori di stato e fino a 2048 qubit per la simulazione Clifford/Stabilizer.
Parametri
- provider - Un riferimento opzionale a ritroso all'oggetto provider da cui proviene il backend.
- target (Target | None) – Un obiettivo opzionale per configurare il simulatore.
- fields - kwarg per i valori da usare per sovrascrivere le opzioni predefinite.
Aumenti
AttributeError - Se viene specificato un campo che non rientra nelle opzioni del backend.
Attributi
MAX_QUBIT_CLIFFORD
Valore predefinito: 2048
MAX_QUBIT_VETTORE_DI_STATO
Valore predefinito: 24
coupling_map
Restituire l'oggetto CouplingMap oggetto
dt
Restituzione della risoluzione temporale del sistema dei segnali di ingresso
È necessario implementare questa funzione se il backend supporta la programmazione degli impulsi.
Risultati
Il passo temporale del segnale di ingresso in secondi. Se il backend non definisce dt, verrà restituito None .
dtm
Restituzione della risoluzione temporale del sistema dei segnali di uscita
Risultati
Il passo temporale del segnale di uscita in secondi.
Aumenti
NotImplementedError - se il backend non supporta l'interrogazione del timestep del segnale di uscita
instruction_durations
Restituire l'oggetto InstructionDurations oggetto.
instructions
Un elenco di tuple di istruzioni nel backend del modulo (instruction, (qubits))
max_circuits
meas_map
Restituisce il raggruppamento di misure che sono state multiplexate
È necessario implementare questa funzione se il backend supporta la programmazione degli impulsi.
Risultati
Il raggruppamento delle misure che vengono multiplexate
Aumenti
NotImplementedError - se il backend non supporta l'interrogazione della mappatura delle misure
num_qubits
Restituisce il numero di qubit di cui dispone il backend.
operation_names
Un elenco di nomi di istruzioni supportate dal backend.
operations
Un elenco di Instruction che il backend supporta.
options
Restituisce le opzioni per il backend
Le opzioni di un backend sono i parametri dinamici che definiscono le modalità di utilizzo del backend. Questi vengono utilizzati per controllare il run() metodo.
provider
Restituisce il fornitore di backend.
Risultati
il provider responsabile del backend.
Tipo di restituzione
target
version
Valore predefinito: 2
name
Nome del backend.
description
Descrizione facoltativa leggibile dall'uomo.
online_date
Data in cui il backend è stato messo online.
backend_version
Versione del backend fornito. Non è la stessa cosa di BackendV2.versionche è la versione dell'interfaccia Backend dell'interfaccia astratta.
Metodi
qubit_properties
qubit_properties(qubit)
Restituisce QubitProperties per un dato qubit.
Se non sono stati definiti o se il backend non supporta l'interrogazione di questi dettagli, questo metodo non deve essere implementato.
Parametri
qubit (int |list[int]) – Il qubit a cui QubitProperties destinare l'oggetto. Può trattarsi di un singolo numero intero corrispondente a 1 qubit oppure di un elenco di qubit; verrà restituito un elenco di QubitProperties oggetti nello stesso ordine
Risultati
L'oggetto QubitProperties per il qubit specificato. Se viene fornito un elenco di qubit, verrà restituito un elenco. Se mancano delle proprietà per un qubit, questo può essere None.
Aumenti
NotImplementedError - se il backend non supporta l'interrogazione delle proprietà dei qubit
Tipo di restituzione
run
run(run_input, **run_options)
Eseguito sul backend.
Parametri
- run_input (QuantumCircuit orlist) – l' QuantumCircuit (ovvero l'elenco degli oggetti QuantumCircuit ) da eseguire
- run_options (kwargs) – opzioni aggiuntive per il backend del runtime
Risultati
derivato da BaseJob
Tipo di restituzione
Ulteriori informazioni:
-
le opzioni di kwarg specificate in
run_optionssovrascrivono temporaneamente qualsiasi opzione impostata con lo stesso nome per l'esecuzione corrente. Questi possono includere:- "stato-vettore iniziale": vettoriale. L'opzione "initial\statevector" specifica un vettore di stato iniziale personalizzato da usare al posto dello stato tutto zero. La dimensione di questo vettore deve corrispondere al numero di qubit dell'argomento
run_input. - "seed_simulator": int. È il seme interno per la generazione dei campioni.
- "scatti": int. Numero di colpi utilizzati nella simulazione.
- "memoria": bool. Se Vero, il risultato conterrà i risultati di ogni singola simulazione di ripresa.
- “use_clifford_optimization”: bool. Se impostato su True, abilita l'ottimizzazione del circuito di Clifford utilizzando il formalismo dello stabilizzatore. Valore predefinito: False.
- "stato-vettore iniziale": vettoriale. L'opzione "initial\statevector" specifica un vettore di stato iniziale personalizzato da usare al posto dello stato tutto zero. La dimensione di questo vettore deve corrispondere al numero di qubit dell'argomento
Esempio:
backend.run(
circuit_2q,
initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)set_options
set_options(**fields)
Impostare i campi delle opzioni per il backend
Questo metodo viene utilizzato per aggiornare le opzioni di un backend. Se è necessario modificare una qualsiasi opzione prima dell'esecuzione, è sufficiente passare il kwarg con il nuovo valore delle opzioni.
Parametri
campi - I campi per aggiornare le opzioni
Aumenti
AttributeError - Se il campo passato non fa parte delle opzioni