FakeAachen
class FakeAachen
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 – 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éversionriguarda la versione astratta dell'oggetto (interfacciaBackendastratta), mentrebackend_versionriguarda il controllo delle versioni del backend stesso. - campi – kwargs 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_aachen'
Nome del backend.
conf_filename
Tipo: str
Valore predefinito: 'conf_aachen.json'
Nome del file per la configurazione del backend.
coupling_map
Restituisce l'oggetto CouplingMap
dirname
Tipo: str
Valore predefinito: '/home/runner/work/qiskit-ibm-runtime/qiskit-ibm-runtime/qiskit_ibm_runtime/fake_provider/backends/aachen'
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
Il passo temporale del segnale di ingresso, espresso in secondi. Se il backend non definisce dt, None verrà restituito.
dtm
Restituisce la risoluzione temporale di sistema dei segnali di uscita.
Risultati
Il passo temporale del segnale di uscita, espresso in secondi.
instruction_durations
Restituisce l'oggetto InstructionDurations .
instructions
Un elenco di tuple di istruzioni nel backend del modulo (instruction, (qubits))
max_circuits
Restituisce il numero massimo di circuiti che possono essere eseguiti in un singolo processo.
In passato questa proprietà restituiva il valore max_experiments della configurazione del backend, ma tale valore non rappresenta 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 sottoposte a multiplexing
Questa funzionalità deve essere implementata se il backend supporta la pianificazione Pulse.
Risultati
Il raggruppamento delle misurazioni sottoposte a multiplexing
Aumenti
NotImplementedError : se il backend non supporta l'interrogazione della mappatura delle misurazioni
num_qubits
Restituisce il numero di qubit presenti nel backend.
operation_names
Un elenco dei nomi delle istruzioni supportate dal backend.
operations
Un elenco delle istanze Instruction 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. Servono a controllare il metodo run() .
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_aachen.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 leggibile dall'utente.
online_date
Data in cui il backend è entrato in funzione.
backend_version
Versione del backend fornita. Questo non è la stessa cosa di BackendV2.version, che è la versione dell’interfaccia astratta Backend .
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 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 nuovamente le proprietà del backend dal file locale.
Risultati
Le proprietà del backend.
Tipo di restituzione
qubit_properties
qubit_properties(qubit)
Restituisce le proprietà ( QubitProperties ) di 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 oggetti QubitProperties nello stesso ordine
Risultati
L'oggetto QubitProperties relativo al qubit specificato. Se viene fornito un elenco di qubit, verrà restituito un elenco. Se mancano alcune proprietà di un qubit, ciò può essere dovuto a None.
Aumenti
NotImplementedError : se il backend non supporta l'interrogazione delle proprietà dei qubit
Tipo di restituzione
QubitProperties | list[ QubitProperties ]
refresh
refresh(service, use_fractional_gates=False, persist=True)
Aggiornare i file di dati in base alla loro controparte reale.
Questo metodo recupera i file di dati più recenti dal backend di riferimento 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 i file rimarranno aggiornati a meno che non vengano ripristinati manualmente a livello locale o in caso di aggiornamento o reinstallazione di qiskit-ibm-runtime .
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, specificare persist=False per salvare 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
QiskitRuntimeServicedi A - use_fractional_gates (bool) – Impostare su "True" per consentire ai backend di includere porte frazionarie.
- persist (bool) – Se (
Trueimpostazione 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, con il compromesso che l'aggiornamento non viene mantenuto tra una sessione e l'altra.
Aumenti
- ValueError : se il servizio fornito è un'istanza non-QiskitRuntimeService.
- Eccezione – Se l'obiettivo effettivo 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 relativi ai circuiti (un singolo circuito o un elenco di oggetti QuantumCircuit) utilizzando il simulatore BasicSimulator o Aer e restituisce un oggetto Job .
Se qiskit-aer è installato, i lavori verranno eseguiti utilizzando AerSimulator con il modello di rumore del backend fittizio. In caso contrario, i lavori verranno eseguiti utilizzando BasicSimulator senza rumore.
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) – Eventuali 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 è necessario modificare una qualsiasi delle opzioni prima dell'esecuzione, è sufficiente passare il parametro kwarg con il nuovo valore per le opzioni.
Parametri
campi – I campi in cui aggiornare le opzioni
Aumenti
AttributeError : se il campo specificato non fa parte delle opzioni