Skip to main content
IBM Quantum Platform

BasicSimulator

class qiskit.providers.basic_provider.BasicSimulator(provider=None, target=None, **fields)

GitHub

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

provider

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)

GitHub

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

QubitProperties | elenco [ QubitProperties ]

run

run(run_input, **run_options)

GitHub

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

BasicProviderJob

Ulteriori informazioni:

  • le opzioni di kwarg specificate in run_options sovrascrivono 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.

Esempio:

backend.run(
    circuit_2q,
    initial_statevector = np.array([1, 0, 0, 1j]) / math.sqrt(2)
)

set_options

set_options(**fields)

GitHub

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

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