FakeFractionalBackend
class FakeFractionalBackend
Basi: FakeBackendV2
Un falso backend a 5 qubit con caratteristiche dinamiche e frazionali modellate sulla base di FakeLima.
Questo backend include le seguenti caratteristiche.
- Porte frazionali (rx, rzx) in aggiunta alle porte di base standard.
- Operazioni sul flusso di controllo (if_else, while_loop).
- Calibrazione degli impulsi (le porte frazionali non supportano la calibrazione).
- Proprietà del gate di tutte le istruzioni.
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 – Data e ora (facoltative) 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_fractional'
Nome del backend.
conf_filename
Tipo: str
Valore predefinito: 'conf_fractional.json'
Nome del file per la configurazione del backend.
coupling_map
Restituire l'oggetto CouplingMap oggetto
dirname
Tipo: str
Valore predefinito: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/fractional'
Directory contenente le istantanee effettive del backend.
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
Restituisce la risoluzione temporale di sistema dei segnali in uscita.
Risultati
Il passo temporale del segnale di uscita in secondi.
instruction_durations
Restituire l'oggetto InstructionDurations 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.
Questa proprietà restituiva il valore max_experiments dalla configurazione del backend, ma questo valore non è più una rappresentazione accurata dei limiti del circuito del backend. Verranno aggiunti nuovi campi per indicare i nuovi limiti.
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.
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_fractional.json'
Nome del file contenente le proprietà del backend.
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.version, che è la versione dell'interfaccia astratta Backend .
Metodi
check_faulty
check_faulty(circuit)
Verificare se il circuito di ingresso utilizza qubit o edge difettosi.
Parametri
circuit (QuantumCircuit) – Circuito da controllare.
Aumenti
ValueError - Se viene trovata un'istruzione che opera su un qubit o un edge difettoso.
Tipo di restituzione
Nessuna
configuration
properties
properties(refresh=False)
Restituisce le proprietà del backend.
Parametri
refresh (bool) – Se True, recuperare le proprietà del backend dal file locale.
Risultati
Le proprietà del backend.
Tipo di restituzione
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 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
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 ]
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 persisteranno durante le sessioni, quindi i file rimarranno aggiornati a meno che non vengano ripristinati manualmente a livello locale o quando qiskit-ibm-runtime viene aggiornato o reinstallato.
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'istanza di
QiskitRuntimeService - use_fractional_gates (bool) – Impostare 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 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 l'obiettivo reale non esiste o non è accessibile
Tipo di restituzione
Nessuna
run
run(run_input, **options)
Eseguire sul backend falso utilizzando un simulatore.
Questo metodo esegue lavori di circuito (un singolo o un elenco di QuantumCircuit ) utilizzando BasicSimulator o il simulatore Aer e restituisce un oggetto Job oggetto.
Se qiskit-aer è installato, i lavori saranno eseguiti utilizzando AerSimulator con il modello di rumore del backend fasullo. Altrimenti, i lavori verranno eseguiti utilizzando BasicSimulator senza rumore.
Attualmente la simulazione rumorosa di un lavoro 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 lavoro per la corsa
Tipo di restituzione
Lavoro
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