FakePittsburgh
class FakePittsburgh
Basi: FakeBackendV2
Un backend fittizio da 156 qubit.
Inizializzare un backend basato su BackendV2
Parametri
- provider – Un riferimento a ritroso facoltativo all'oggetto provider da cui proviene il backend
- nome – Un nome facoltativo per il backend
- descrizione – Una descrizione facoltativa del backend
- online_date – Una data e ora (facoltativa) in cui il backend è stato messo online
- backend_version – Una stringa facoltativa che indica la versione del backend. Ciò differisce dall'attributo
version, poichéversionsi riferisce alla versione dell'interfaccia astrattaBackenddell'oggetto, mentrebackend_versionserve a gestire il versioning del backend stesso. - campi – argomenti per i valori da utilizzare per sovrascrivere le opzioni predefinite.
Aumenti
AttributeError – Se viene specificato un campo che non rientra nelle opzioni del backend
Attributi
backend_name
Tipo: str
Valore predefinito: 'fake_pittsburgh'
Nome del backend.
conf_filename
Tipo: str
Valore predefinito: 'conf_pittsburgh.json'
Nome del file per la configurazione del backend.
coupling_map
Restituisce CouplingMap l'oggetto
dirname
Tipo: str
Valore predefinito: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/pittsburgh'
Directory contenente le istantanee effettive del backend.
dt
Restituisce la risoluzione temporale di sistema dei segnali in ingresso
Questa funzionalità deve essere implementata se il backend supporta la pianificazione Pulse.
Risultati
L'intervallo di tempo del segnale di ingresso in secondi. Se il backend non definisce dt, None verrà restituito.
dtm
Restituisce la risoluzione temporale di sistema dei segnali in uscita.
Risultati
L'intervallo di tempo del segnale di uscita in secondi.
instruction_durations
Restituisce InstructionDurations l'oggetto.
instructions
Un elenco di tuple di istruzioni nel backend del modulo (instruction, (qubits))
max_circuits
Restituisce il numero massimo di cicli che possono essere eseguiti in un singolo processo.
In precedenza questa proprietà restituiva il valore max_experiments dalla configurazione del backend, ma tale valore non riflette più in modo accurato i limiti del circuito del backend. Verranno aggiunti nuovi campi per indicare i nuovi limiti.
meas_map
Restituisce il raggruppamento delle misurazioni multiplexate
Questa funzionalità deve essere implementata se il backend supporta la pianificazione Pulse.
Risultati
Il raggruppamento delle misurazioni multiplexate
Aumenti
NotImplementedError – se il backend non supporta l'interrogazione della mappatura delle misure
num_qubits
Restituisce il numero di qubit presenti nel backend.
operation_names
Un elenco dei nomi dei comandi supportati dal backend.
operations
Un elenco delle Instruction istanze supportate dal backend.
options
Restituisce le opzioni relative al backend
Le opzioni di un backend sono i parametri dinamici che definiscono le modalità di utilizzo del backend. Questi servono a controllare il run() metodo.
physical_qubits
Restituisce il numero di qubit fisici presenti nel backend.
Restituisce il numero di qubit fisici del backend (qubit programmabili, qubit di reset e accoppiatori considerati complessivamente).
props_filename
Tipo: str
Valore predefinito: 'props_pittsburgh.json'
Nome del file contenente le proprietà del backend.
provider
Restituisce il provider di backend.
Risultati
il fornitore responsabile del backend.
Tipo di restituzione
provider
target
version
Valore predefinito: 2
name
Nome del backend.
description
Descrizione facoltativa in formato leggibile dall'utente.
online_date
Data di entrata in funzione del backend.
backend_version
Versione del backend fornita. Questo non è lo stesso di BackendV2.version, che è la versione dell'interfaccia Backend astratta.
Metodi
check_faulty
check_faulty(circuit)
Verifica se il circuito di ingresso utilizza qubit o fronti difettosi.
Parametri
circuit (QuantumCircuit) – Circuito da controllare.
Aumenti
ValueError – Se viene rilevata un'istruzione che agisce su un qubit o un edge difettoso.
Tipo di restituzione
Nessuna
configuration
properties
properties(refresh=False)
Restituisce le proprietà del backend.
Parametri
Truerefresh (bool) – In tal caso, recuperare nuovamente le proprietà del backend dal file locale.
Risultati
Le proprietà del backend.
Tipo di restituzione
qubit_properties
qubit_properties(qubit)
Restituisce l' QubitProperties e per un dato qubit.
Se non sono stati definiti o se il backend non supporta l'interrogazione di questi dettagli, non è necessario implementare questo metodo.
Parametri
qubit (int | list[int]) – Il qubit per cui si desidera ottenere l'oggetto QubitProperties . 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
QubitProperties L'oggetto relativo al qubit specificato. Se viene fornito un elenco di qubit, verrà restituito un elenco. NoneSe mancano delle proprietà per un qubit, ciò può essere dovuto a...
Aumenti
NotImplementedError – se il backend non supporta l'interrogazione delle proprietà dei qubit
Tipo di restituzione
QubitProperties | elenco[ QubitProperties ]
refresh
refresh(service, use_fractional_gates=False, persist=True)
Aggiornare i file di dati sulla base dei dati reali.
Questo metodo recupera i file di dati più recenti dal backend e, per impostazione predefinita (persist=True), sovrascrive i file corrispondenti nell'installazione locale:
../fake_provider/backends/{backend_name}/conf_{backend_name}.json../fake_provider/backends/{backend_name}/props_{backend_name}.json
I nuovi file di dati rimarranno attivi tra una sessione e l'altra, quindi rimarranno aggiornati a meno che non vengano ripristinati manualmente a livello locale o in caso qiskit-ibm-runtime di aggiornamento o reinstallazione del programma.
La sovrascrittura dei file di dati installati non va a buon fine, tuttavia, quando il pacchetto viene installato in una posizione di sola lettura (ad esempio, una directory site-packages a livello di sistema). In tal caso, o ogni volta che non si desidera modificare il pacchetto installato, utilizzare persist=False per scrivere i dati aggiornati in una directory temporanea. Il backend viene comunque aggiornato per la sessione corrente, ma le modifiche non vengono salvate su disco e vanno perse una volta che il backend viene sottoposto a garbage collection o il processo viene chiuso.
Parametri
- service (QiskitRuntimeService) – Un
QiskitRuntimeServiceesempio - use_fractional_gates (bool) – Impostare su True per consentire ai backend di includere porte frazionarie.
- persist (bool) – Se
True(impostazione predefinita), i file di dati aggiornati sovrascrivono le copie incluse nel pacchetto installato, in modo che l'aggiornamento rimanga attivo tra una sessione e l'altra. In tal casoFalse, i dati vengono scritti in una directory temporanea, il che consenterefresh()l'esecuzione dell'operazione anche quando il pacchetto è installato in una posizione di sola lettura, a costo però che l'aggiornamento non venga mantenuto tra una sessione e l'altra.
Aumenti
- ValueError – se il servizio fornito è un'istanza di non-QiskitRuntimeService.
- Eccezione – Se la destinazione effettiva non esiste o non è accessibile
Tipo di restituzione
Nessuna
run
run(run_input, **options)
Esegui il codice sul backend fittizio utilizzando un simulatore.
Questo metodo esegue i lavori del circuito (un singolo lavoro o un elenco di QuantumCircuit ) utilizzando il simulatore d BasicSimulator o o Aer e restituisce un Job oggetto.
Se qiskit-aer è installato, i lavori verranno eseguiti utilizzando AerSimulator con il modello di rumore del backend fittizio. In caso contrario, i processi verranno eseguiti utilizzando BasicSimulator senza alcun avviso.
Al momento, la simulazione "noisy" di un processo a impulsi non è ancora supportata in FakeBackendV2.
Parametri
- run_input (QuantumCircuit | list[QuantumCircuit]) – Un singolo elemento o un elenco di
QuantumCircuit - options (dict) – Esistono opzioni kwarg da passare al backend per l'esecuzione della configurazione? Se una chiave è presente anche nell'attributo/oggetto
options, ci si aspetta che venga utilizzato il valore specificato anziché quello impostato nell'oggettooptions.
Risultati
L'oggetto di lavoro per l'esecuzione
Tipo di restituzione
Lavoro
set_options
set_options(**fields)
Imposta i campi delle opzioni per il backend
Questo metodo viene utilizzato per aggiornare le opzioni di un backend. Se devi modificare una delle opzioni prima dell'esecuzione, basta passare l'argomento chiave con il nuovo valore dell'opzione.
Parametri
campi – I campi in cui aggiornare le opzioni
Aumenti
AttributeError – Se il campo passato non fa parte delle opzioni