Skip to main content
IBM Quantum Platform

GenericBackendV2

class qiskit.providers.fake_provider.GenericBackendV2(num_qubits, basis_gates=None, *, coupling_map=None, control_flow=False, dtm=None, dt=None, seed=None, noise_info=True)

GitHub

Basi: BackendV2

Generico BackendV2 con un costruttore configurabile. Questa classe restituirà un'istanza BackendV2 che gira su un simulatore locale (nello spirito dei falsi backend) e contiene tutte le informazioni necessarie per testare i componenti di interfaccia con i backend, come il transpiler. A GenericBackendV2 può essere costruita a partire da un numero limitato di num_qubits, ma gli utenti possono configurare in aggiunta le porte di base, la mappa di accoppiamento, la capacità di eseguire circuiti dinamici (istruzioni di flusso di controllo) e il dtm. Le restanti proprietà del backend sono generate con un campionamento casuale da intervalli predefiniti estratti dai dati storici del backend IBM. Il seme per questa generazione casuale può essere fissato per garantire la riproducibilità dell'output del backend. Questo backend supporta solo le porte della libreria standard; se si ha bisogno di un backend più flessibile, c'è sempre la possibilità di istanziare direttamente un oggetto Target da usare per la trasposizione.

Parametri

  • num_qubits (int) – Numero di qubit che verranno utilizzati per costruire il target del backend. Si noti che, sebbene non vi sia alcun limite nella dimensione dell'obiettivo che può essere costruito, questo backend funziona su simulatori locali rumorosi, che potrebbero presentare limitazioni nel numero di qubit che possono essere simulati.

  • basis_gates (list[str] | None) – Elenco dei nomi dei gate di base che devono essere supportati dalla destinazione. Questi devono far parte della libreria di circuiti standard di qiskit. L'insieme predefinito di porte base è ["id", "rz", "sx", "x", "cx"] Le istruzioni "reset", "delay" e "measure" sono sempre supportate per impostazione predefinita, anche se non specificate tramite basis_gates.

  • coupling_map (list[list[int]] | CouplingMap | None) –

    Mappa di accoppiamento opzionale per il backend. Sono supportati diversi formati:

    1. CouplingMap istanza
    2. Elenco, deve essere fornito come un elenco di bordi che rappresenta le interazioni tra due qubit supportate dal backend, ad esempio: [[0, 1], [0, 3], [1, 2], [1, 5], [2, 5], [4, 1], [5, 3]]

    Se viene specificato coupling_map , deve corrispondere al numero di qubit specificato in num_qubits. Se coupling_map non è specificato, verrà generata una mappa di accoppiamento completamente connessa con num_qubits qubit.

  • control_flow (bool) – Flag per abilitare le direttive del flusso di controllo sulla destinazione (valore predefinito False).

  • dtm (float | None) – Risoluzione temporale del sistema dei segnali di uscita in nanosecondi. Nessuna per impostazione predefinita.

  • dt (float | None) – Risoluzione temporale del sistema dei segnali di ingresso in nanosecondi. Nessuna per impostazione predefinita.

  • seed (int | None) – Seme opzionale per la generazione di valori predefiniti.

  • noise_info (bool) – Se vero, associa le porte e i qubit con informazioni predefinite sul rumore.


Attributi

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

instruction_durations

Restituire l'oggetto InstructionDurations oggetto.

instructions

Un elenco di tuple di istruzioni nel backend del modulo (instruction, (qubits))

max_circuits

meas_map

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, **options)

GitHub

Eseguire sul backend utilizzando un simulatore.

Questo metodo esegue i lavori del circuito (uno singolo o un elenco di QuantumCircuit ) utilizzando BasicSimulator il simulatore Aer e restituisce un Job oggetto.

Se qiskit-aer è installato, i lavori verranno eseguiti utilizzando il modello AerSimulator with noise del backend. Altrimenti, i lavori verranno eseguiti utilizzando il simulatore BasicSimulator senza rumore.

Parametri

  • run_input (QuantumCircuit orlist) – Un singolo oggetto o un elenco di QuantumCircuit oggetti da eseguire sul backend.
  • options - Qualsiasi opzione kwarg da passare al backend per l'esecuzione della configurazione. Se una chiave è presente anche nell'attributo/oggetto options, ci si aspetta che il valore specificato venga usato al posto di quello impostato nell'oggetto options.

Risultati

L'oggetto lavoro per la corsa

Tipo di restituzione

Lavoro

Aumenti

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 inserito non fa parte delle opzioni

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