Backend
Ottieni l'elenco dei backend
Restituisce un elenco dei backend abilitati per l'accesso diretto.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.direct-access-backend.list
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.direct-access-backend.list
Input
Informazioni |
|---|
| Questo endpoint non accetta alcun input. |
curl -X GET \
'<YOUR_QSA_URL>/v1/backends' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"<YOUR_QSA_URL>/v1/backends",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Restituito quando i backend sono stati recuperati correttamente. |
| 401 | Restituito quando l'autenticazione non è riuscita. |
{
"backends": [
{
"locked": true,
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}
]
}{
"additionalProperties": false,
"properties": {
"backends": {
"description": "Elenco dei nomi dei backend disponibili per l'accesso diretto.",
"items": {
"additionalProperties": false,
"properties": {
"locked": {
"description": "Se il backend è bloccato da una prenotazione attiva. Presente solo nei backend online.",
"type": "boolean"
},
"message": {
"description": "Ulteriori dettagli relativi allo stato del backend.",
"type": "string"
},
"name": {
"description": "Nome del backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "online (è possibile inviare lavori), offline (non è possibile inviare lavori) e in pausa (non è possibile inviare lavori).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Versione del backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
},
"type": [
"array",
"null"
]
}
},
"required": [
"backends"
],
"type": "object"
}Ottieni dettagli sul backend
Restituisce i dettagli di un backend.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.direct-access-backend.read
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.direct-access-backend.read
Input
Nome, tipo | Descrizione |
|---|---|
backend-name Obbligatorio string | Esempio: "ibm_bromont" |
curl -X GET \
'<YOUR_QSA_URL>/v1/backends/{backend-name}' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"<YOUR_QSA_URL>/v1/backends/{backend-name}",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Restituito quando i dettagli del backend sono stati recuperati con successo. |
| 401 | Restituito quando l'autenticazione non è riuscita. |
| 404 | Restituito quando il backend non viene trovato. |
{
"locked": true,
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}{
"additionalProperties": false,
"properties": {
"locked": {
"description": "Se il backend è bloccato da una prenotazione attiva. Presente solo nei backend online.",
"type": "boolean"
},
"message": {
"description": "Ulteriori dettagli relativi allo stato del backend.",
"type": "string"
},
"name": {
"description": "Nome del backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "online (è possibile inviare lavori), offline (non è possibile inviare lavori) e in pausa (non è possibile inviare lavori).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Versione del backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
}Ottieni la configurazione del backend
Restituisce la configurazione di un backend.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.direct-access-backend-configuration.read
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.direct-access-backend-configuration.read
Input
Nome, tipo | Descrizione |
|---|---|
backend-name Obbligatorio string | Esempio: "ibm_bromont" |
curl -X GET \
'<YOUR_QSA_URL>/v1/backends/{backend-name}/configuration' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"<YOUR_QSA_URL>/v1/backends/{backend-name}/configuration",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Restituito quando la configurazione del backend è stata recuperata correttamente. |
| 401 | Restituito quando l'autenticazione non è riuscita. |
| 404 | Restituito quando il backend non viene trovato. |
{
"backend_name": "example",
"sample_name": "example",
"backend_version": "example",
"n_qubits": 1,
"basis_gates": [
"example"
],
"coupling_map": [
[
1
]
],
"gates": [
{
"name": "example",
"parameters": [
"example"
],
"coupling_map": [
[
1
]
],
"qasm_def": "example",
"conditional": true,
"latency_map": [
[
0
]
],
"description": "example"
}
],
"local": true,
"simulator": true,
"conditional": true,
"memory": true,
"max_shots": 1,
"max_experiments": 1,
"n_registers": 1,
"register_map": [
[
0
]
],
"configurable": true,
"credits_required": true,
"online_date": "example",
"display_name": "example",
"description": "example",
"tags": [
"credits_required"
],
"rep_delay_range": [
[
1
]
],
"default_rep_delay": 1,
"dynamic_reprate_enabled": true,
"measure_esp_enabled": true,
"supported_instructions": [
"example"
],
"supported_features": [
"example"
],
"quantum_volume": 1,
"processor_type": {
"family": "example",
"revision": "example",
"segment": "example"
},
"qubit_lo_range": [
[
1
]
],
"meas_lo_range": [
[
1
]
],
"timing_constraints": {
"granularity": 1,
"min_length": 1,
"pulse_alignment": 1,
"acquire_alignment": 1
},
"open_pulse": true,
"n_uchannels": 1,
"hamiltonian": {
"h_latex": "example",
"h_str": [
"example"
],
"vars": {},
"osc": {}
},
"u_channel_lo": [
[
{
"q": 1,
"scale": [
1
]
}
]
],
"meas_levels": [
1
],
"dt": 1,
"dtm": 1,
"rep_times": [
1
],
"meas_map": [
[
1
]
],
"channel_bandwidth": [
[
1
]
],
"meas_kernels": [
"example"
],
"discriminators": [
"example"
],
"acquisition_latency": [
[
1
]
],
"conditional_latency": [
[
1
]
],
"parametric_pulses": [
"example"
],
"channels": {}
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://www.qiskit.org/schemas/backend_config_schema.json",
"description": "Configurazione del backend del dispositivo Qiskit",
"version": "1.6.0",
"definitions": {
"hamiltonian": {
"type": "object",
"description": "Hamiltoniano del backend",
"required": [
"h_latex"
],
"properties": {
"h_latex": {
"type": "string",
"description": "L'Hamiltoniano in formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "L'Hamiltoniano in formato leggibile dal computer"
},
"vars": {
"type": "object",
"description": "Variabili in h\\_str"
},
"osc": {
"type": "object",
"description": "Numero di livelli per ciascuna modalità dell'oscillatore"
}
}
},
"coreconfig": {
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Nome backend"
},
"sample_name": {
"type": "string",
"description": "Nome del campione"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versione backend nel modulo X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Numero di qubit",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Elenco dei nomi dei gate di base sul backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Gruppo di qubit accoppiati fisicamente sul backend"
},
"gates": {
"type": "array",
"description": "Elenco dei gate di base sul backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "Il nome del gate come verrà indicato in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nomi variabili per i parametri del gate (se presenti)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Elenco dei raggruppamenti di qubit accoppiati da questo gate"
},
"qasm_def": {
"type": "string",
"description": "Definizione di questo gate in termini di primitive QASM U e CX"
},
"conditional": {
"type": "boolean",
"description": "Questo gate specifico supporta operazioni condizionali (vero/falso). Se questo non è specificato, il gate eredita la proprietà condizionale del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione len(coupling\\_map) X n\\_registers che specifica (1 - veloce, 0 - lento) le operazioni condizionali di latenza del registro sul gate"
},
"description": {
"type": "string",
"description": "Descrizione del funzionamento del cancello"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Il backend è locale o remoto (vero/falso)"
},
"simulator": {
"type": "boolean",
"description": "Il backend è un simulatore (vero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Il backend supporta operazioni condizionali (vero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Il backend supporta la memoria (vero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Numero massimo di scatti supportati",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Numero massimo di esperimenti supportati",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Numero di slot di registro disponibili per il feedback (se la condizione è vera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione n\\_qubit X n\\_registri che specifica se un qubit può memorizzare una misurazione in un determinato slot di registro"
},
"configurable": {
"type": "boolean",
"description": "Il backend è configurabile, se il backend è un simulatore (vero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Il backend richiede crediti per eseguire un lavoro (vero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Data in cui il backend è stato messo online"
},
"display_name": {
"type": "string",
"description": "Campo nome alternativo per il backend"
},
"description": {
"type": "string",
"description": "Descrizione del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Intervallo di ritardo tra i programmi (microsecondi) consentito dal backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Ritardo predefinito della risposta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Se è possibile impostare dinamicamente il ritardo tra i programmi utilizzando 'rep\\_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Se la lettura ESP è supportata dal backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Istruzioni supportate dal backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Serie di funzionalità supportate dal backend, quali qobj, qasm3, ecc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volume quantistico backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La famiglia di processori indica l'architettura dei chip quantistici"
},
"revision": {
"type": "string",
"description": "Il numero di revisione riflette le varianti di progettazione all'interno di una determinata famiglia di processori. È tipicamente un valore di versioning semantico senza il valore patch, ad esempio \" 1.0 \"."
},
"segment": {
"type": "string",
"description": "Il segmento, se indicato, viene utilizzato per distinguere diversi sottoinsiemi del tessuto/chip qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per il LO qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per la misurazione LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Dimensione del blocco dati della memoria delle forme d'onda"
},
"min_length": {
"type": "integer",
"description": "Numero minimo di campioni necessari per definire un impulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale a impulsi in unità di dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale di acquisizione in unità di dt"
}
}
}
}
},
"openpulse_config": {
"required": [
"open_pulse",
"n_uchannels",
"hamiltonian",
"u_channel_lo",
"meas_levels",
"qubit_lo_range",
"meas_lo_range",
"dt",
"dtm",
"rep_times",
"meas_kernels",
"discriminators"
],
"properties": {
"open_pulse": {
"enum": [
true
],
"description": "Il backend supporta l' openPulse (vero/falso)"
},
"n_uchannels": {
"type": "integer",
"description": "Numero di canali di controllo aggiuntivi",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltoniano del backend",
"properties": {
"h_latex": {
"type": "string",
"description": "L'Hamiltoniano in formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "L'Hamiltoniano in formato leggibile dal computer"
},
"vars": {
"type": "object",
"description": "Variabili in h\\_str"
},
"osc": {
"type": "object",
"description": "Numero di livelli per ciascuna modalità dell'oscillatore"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relazione tra i LO a canale U in termini di LO a qubit",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"q": {
"type": "integer"
},
"scale": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
}
}
}
},
"meas_levels": {
"type": "array",
"minItems": 1,
"maxitems": 3,
"description": "Livelli di misurazione disponibili sul backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Discretizzazione temporale per i canali drive e U",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Discretizzazione temporale per i canali di misura",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Tempi di esecuzione del programma (microsecondi) supportati dal backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Raggruppamento di misurazioni multiplexate",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Larghezza di banda di tutti i canali (qubit, misurazione e U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Kernel di misurazione disponibili",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Discriminatori disponibili",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Matrice di dimensione n\\_qubit x n\\_registri. Latenza (in unità di dt) per scrivere un risultato di misurazione dal qubit n nello slot di registro m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Matrice di dimensione n_canali [d->u->m] x n_registri. Latenza (in unità di dt) per eseguire un'operazione condizionale sul canale n dallo slot di registro m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "Elenco delle forme d'impulso parametriche disponibili",
"items": {
"type": "string"
}
},
"channels": {
"type": "object",
"patternProperties": {
"^[a-z0-9]+$": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"purpose": {
"type": "string"
},
"operates": {
"type": "object",
"properties": {
"qubits": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
}
}
}
}
}
},
"description": "Un dizionario in cui ogni voce rappresenta una configurazione di canale e contiene valori di configurazione quali la mappatura del canale ai qubit."
}
}
},
"gateconfig": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "Il nome del gate come verrà indicato in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nomi variabili per i parametri del gate (se presenti)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Elenco dei raggruppamenti di qubit accoppiati da questo gate"
},
"qasm_def": {
"type": "string",
"description": "Definizione di questo gate in termini di primitive QASM U e CX"
},
"conditional": {
"type": "boolean",
"description": "Questo gate specifico supporta operazioni condizionali (vero/falso). Se questo non è specificato, il gate eredita la proprietà condizionale del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione len(coupling\\_map) X n\\_registers che specifica (1 - veloce, 0 - lento) le operazioni condizionali di latenza del registro sul gate"
},
"description": {
"type": "string",
"description": "Descrizione del funzionamento del cancello"
}
}
},
"complexnumber": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
},
"oneOf": [
{
"allOf": [
{
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Nome backend"
},
"sample_name": {
"type": "string",
"description": "Nome del campione"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versione backend nel modulo X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Numero di qubit",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Elenco dei nomi dei gate di base sul backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Gruppo di qubit accoppiati fisicamente sul backend"
},
"gates": {
"type": "array",
"description": "Elenco dei gate di base sul backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "Il nome del gate come verrà indicato in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nomi variabili per i parametri del gate (se presenti)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Elenco dei raggruppamenti di qubit accoppiati da questo gate"
},
"qasm_def": {
"type": "string",
"description": "Definizione di questo gate in termini di primitive QASM U e CX"
},
"conditional": {
"type": "boolean",
"description": "Questo gate specifico supporta operazioni condizionali (vero/falso). Se questo non è specificato, il gate eredita la proprietà condizionale del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione len(coupling\\_map) X n\\_registers che specifica (1 - veloce, 0 - lento) le operazioni condizionali di latenza del registro sul gate"
},
"description": {
"type": "string",
"description": "Descrizione del funzionamento del cancello"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Il backend è locale o remoto (vero/falso)"
},
"simulator": {
"type": "boolean",
"description": "Il backend è un simulatore (vero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Il backend supporta operazioni condizionali (vero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Il backend supporta la memoria (vero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Numero massimo di scatti supportati",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Numero massimo di esperimenti supportati",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Numero di slot di registro disponibili per il feedback (se la condizione è vera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione n\\_qubit X n\\_registri che specifica se un qubit può memorizzare una misurazione in un determinato slot di registro"
},
"configurable": {
"type": "boolean",
"description": "Il backend è configurabile, se il backend è un simulatore (vero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Il backend richiede crediti per eseguire un lavoro (vero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Data in cui il backend è stato messo online"
},
"display_name": {
"type": "string",
"description": "Campo nome alternativo per il backend"
},
"description": {
"type": "string",
"description": "Descrizione del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Intervallo di ritardo tra i programmi (microsecondi) consentito dal backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Ritardo predefinito della risposta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Se è possibile impostare dinamicamente il ritardo tra i programmi utilizzando 'rep\\_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Se la lettura ESP è supportata dal backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Istruzioni supportate dal backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Serie di funzionalità supportate dal backend, quali qobj, qasm3, ecc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volume quantistico backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La famiglia di processori indica l'architettura dei chip quantistici"
},
"revision": {
"type": "string",
"description": "Il numero di revisione riflette le varianti di progettazione all'interno di una determinata famiglia di processori. È tipicamente un valore di versioning semantico senza il valore patch, ad esempio \" 1.0 \"."
},
"segment": {
"type": "string",
"description": "Il segmento, se indicato, viene utilizzato per distinguere diversi sottoinsiemi del tessuto/chip qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per il LO qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per la misurazione LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Dimensione del blocco dati della memoria delle forme d'onda"
},
"min_length": {
"type": "integer",
"description": "Numero minimo di campioni necessari per definire un impulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale a impulsi in unità di dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale di acquisizione in unità di dt"
}
}
}
}
},
{
"required": [
"open_pulse",
"n_uchannels",
"hamiltonian",
"u_channel_lo",
"meas_levels",
"qubit_lo_range",
"meas_lo_range",
"dt",
"dtm",
"rep_times",
"meas_kernels",
"discriminators"
],
"properties": {
"open_pulse": {
"enum": [
true
],
"description": "Il backend supporta l' openPulse (vero/falso)"
},
"n_uchannels": {
"type": "integer",
"description": "Numero di canali di controllo aggiuntivi",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltoniano del backend",
"properties": {
"h_latex": {
"type": "string",
"description": "L'Hamiltoniano in formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "L'Hamiltoniano in formato leggibile dal computer"
},
"vars": {
"type": "object",
"description": "Variabili in h\\_str"
},
"osc": {
"type": "object",
"description": "Numero di livelli per ciascuna modalità dell'oscillatore"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relazione tra i LO a canale U in termini di LO a qubit",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "object",
"properties": {
"q": {
"type": "integer"
},
"scale": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"oneOf": [
{
"type": "number"
},
{
"type": "number"
}
]
}
}
}
}
}
},
"meas_levels": {
"type": "array",
"minItems": 1,
"maxitems": 3,
"description": "Livelli di misurazione disponibili sul backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Discretizzazione temporale per i canali drive e U",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Discretizzazione temporale per i canali di misura",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Tempi di esecuzione del programma (microsecondi) supportati dal backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Raggruppamento di misurazioni multiplexate",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Larghezza di banda di tutti i canali (qubit, misurazione e U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Kernel di misurazione disponibili",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Discriminatori disponibili",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Matrice di dimensione n\\_qubit x n\\_registri. Latenza (in unità di dt) per scrivere un risultato di misurazione dal qubit n nello slot di registro m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Matrice di dimensione n_canali [d->u->m] x n_registri. Latenza (in unità di dt) per eseguire un'operazione condizionale sul canale n dallo slot di registro m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "Elenco delle forme d'impulso parametriche disponibili",
"items": {
"type": "string"
}
},
"channels": {
"type": "object",
"patternProperties": {
"^[a-z0-9]+$": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"purpose": {
"type": "string"
},
"operates": {
"type": "object",
"properties": {
"qubits": {
"type": "array",
"items": {
"type": "integer",
"minimum": 0
}
}
}
}
}
}
},
"description": "Un dizionario in cui ogni voce rappresenta una configurazione di canale e contiene valori di configurazione quali la mappatura del canale ai qubit."
}
}
}
]
},
{
"allOf": [
{
"type": "object",
"required": [
"backend_name",
"backend_version",
"n_qubits",
"basis_gates",
"gates",
"local",
"simulator",
"conditional",
"memory",
"max_shots"
],
"properties": {
"backend_name": {
"type": "string",
"description": "Nome backend"
},
"sample_name": {
"type": "string",
"description": "Nome del campione"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versione backend nel modulo X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Numero di qubit",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Elenco dei nomi dei gate di base sul backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Gruppo di qubit accoppiati fisicamente sul backend"
},
"gates": {
"type": "array",
"description": "Elenco dei gate di base sul backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "Il nome del gate come verrà indicato in QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nomi variabili per i parametri del gate (se presenti)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Elenco dei raggruppamenti di qubit accoppiati da questo gate"
},
"qasm_def": {
"type": "string",
"description": "Definizione di questo gate in termini di primitive QASM U e CX"
},
"conditional": {
"type": "boolean",
"description": "Questo gate specifico supporta operazioni condizionali (vero/falso). Se questo non è specificato, il gate eredita la proprietà condizionale del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione len(coupling\\_map) X n\\_registers che specifica (1 - veloce, 0 - lento) le operazioni condizionali di latenza del registro sul gate"
},
"description": {
"type": "string",
"description": "Descrizione del funzionamento del cancello"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "Il backend è locale o remoto (vero/falso)"
},
"simulator": {
"type": "boolean",
"description": "Il backend è un simulatore (vero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "Il backend supporta operazioni condizionali (vero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "Il backend supporta la memoria (vero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Numero massimo di scatti supportati",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Numero massimo di esperimenti supportati",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Numero di slot di registro disponibili per il feedback (se la condizione è vera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Un array di dimensione n\\_qubit X n\\_registri che specifica se un qubit può memorizzare una misurazione in un determinato slot di registro"
},
"configurable": {
"type": "boolean",
"description": "Il backend è configurabile, se il backend è un simulatore (vero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "Il backend richiede crediti per eseguire un lavoro (vero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Data in cui il backend è stato messo online"
},
"display_name": {
"type": "string",
"description": "Campo nome alternativo per il backend"
},
"description": {
"type": "string",
"description": "Descrizione del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Intervallo di ritardo tra i programmi (microsecondi) consentito dal backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Ritardo predefinito della risposta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Se è possibile impostare dinamicamente il ritardo tra i programmi utilizzando 'rep\\_delay').",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Se la lettura ESP è supportata dal backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Istruzioni supportate dal backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Serie di funzionalità supportate dal backend, quali qobj, qasm3, ecc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volume quantistico backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La famiglia di processori indica l'architettura dei chip quantistici"
},
"revision": {
"type": "string",
"description": "Il numero di revisione riflette le varianti di progettazione all'interno di una determinata famiglia di processori. È tipicamente un valore di versioning semantico senza il valore patch, ad esempio \" 1.0 \"."
},
"segment": {
"type": "string",
"description": "Il segmento, se indicato, viene utilizzato per distinguere diversi sottoinsiemi del tessuto/chip qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per il LO qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Gamma di frequenza per la misurazione LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Dimensione del blocco dati della memoria delle forme d'onda"
},
"min_length": {
"type": "integer",
"description": "Numero minimo di campioni necessari per definire un impulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale a impulsi in unità di dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Istruzione che attiva la risoluzione temporale del canale di acquisizione in unità di dt"
}
}
}
}
},
{
"required": [
"open_pulse"
],
"properties": {
"open_pulse": {
"enum": [
false
]
}
}
}
]
}
]
}Recupera la configurazione delle corsie del backend
Ottieni la configurazione delle corsie di esecuzione per il backend specificato.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.direct-access-lane-configuration.list
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.direct-access-lane-configuration.list
Input
Nome, tipo | Descrizione |
|---|---|
backend-name Obbligatorio string |
curl -X GET \
'<YOUR_QSA_URL>/v1/backends/{backend-name}/lanes' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"<YOUR_QSA_URL>/v1/backends/{backend-name}/lanes",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Configurazione delle corsie di esecuzione del backend. La somma di `ibm_quantum_compute.lanes` e `hpc_workload_manager.lanes` deve essere compresa tra 1 e il numero massimo di corsie consentito per il backend specificato (compresi entrambi i valori). |
| 401 | Restituito quando l'autenticazione non è riuscita. |
| 404 | Restituito quando il backend non viene trovato. |
{
"hpc_workload_manager": {
"lanes": 1
},
"ibm_quantum_compute": {
"lanes": 1
}
}{
"additionalProperties": false,
"properties": {
"hpc_workload_manager": {
"additionalProperties": false,
"properties": {
"lanes": {
"format": "int64",
"type": "integer"
}
},
"required": [
"lanes"
],
"type": "object"
},
"ibm_quantum_compute": {
"additionalProperties": false,
"properties": {
"lanes": {
"format": "int64",
"type": "integer"
}
},
"required": [
"lanes"
],
"type": "object"
}
},
"required": [
"hpc_workload_manager",
"ibm_quantum_compute"
],
"type": "object"
}Ottieni le proprietà del backend
Restituisce le proprietà di un backend.
Autorizzazione
Per richiamare questo metodo, è necessario disporre di uno o più ruoli di accesso IAM che includano le seguenti azioni. È possibile verificare il proprio accesso andando su Users > User > Access
quantum-computing.direct-access-backend-properties.read
Verifica
La chiamata di questo metodo genera i seguenti eventi di auditing.
quantum-computing.direct-access-backend-properties.read
Input
Nome, tipo | Descrizione |
|---|---|
backend-name Obbligatorio string | Esempio: "ibm_bromont" |
curl -X GET \
'<YOUR_QSA_URL>/v1/backends/{backend-name}/properties' \
-H 'Accept: application/json'import requests
response = requests.request(
"GET",
"<YOUR_QSA_URL>/v1/backends/{backend-name}/properties",
headers={
"Accept": "application/json"
},
)
print(response.json())Output
Codice di stato | Descrizione |
|---|---|
| 200 | Restituito quando le proprietà del backend sono state recuperate correttamente. |
| 401 | Restituito quando l'autenticazione non è riuscita. |
| 404 | Restituito quando il backend non viene trovato. |
{
"backend_name": "example",
"backend_version": "example",
"gates": [
{
"gate": "example",
"parameters": [
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
],
"qubits": [
1
]
}
],
"general": [
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
],
"last_update_date": "example",
"qubits": [
[
{
"date": "example",
"name": "example",
"unit": "example",
"value": 1
}
]
]
}{
"$schema": "http://json-schema.org/draft-04/schema#",
"id": "http://www.qiskit.org/schemas/backend_props_schema.json",
"description": "OpenQuantum schema delle proprietà del backend",
"version": "1.0.0",
"definitions": {
"gate": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"qubits": {
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"qubits",
"gate",
"parameters"
],
"type": "object"
},
"general_parameters": {
"description": "Parametri generali del sistema",
"items": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 0,
"type": "array"
},
"nduv": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
}
},
"properties": {
"backend_name": {
"description": "Nome backend",
"type": "string"
},
"backend_version": {
"description": "Versione backend nel modulo X.X.X",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"type": "string"
},
"gates": {
"description": "Parametri del gate del sistema",
"items": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"qubits": {
"items": {
"type": "integer"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"qubits",
"gate",
"parameters"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"general": {
"description": "Parametri generali del sistema",
"items": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 0,
"type": "array"
},
"last_update_date": {
"description": "Data/ora dell'ultimo aggiornamento di una proprietà.",
"format": "date-time",
"type": "string"
},
"qubits": {
"description": "Parametri dei qubit del sistema",
"items": {
"items": {
"description": "Parametro registrato come nome-data-unità-valore",
"properties": {
"date": {
"format": "date-time",
"type": "string"
},
"name": {
"type": "string"
},
"unit": {
"type": "string"
},
"value": {
"type": "number"
}
},
"required": [
"name",
"date",
"unit",
"value"
],
"type": "object"
},
"minItems": 1,
"type": "array"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"backend_name",
"backend_version",
"last_update_date",
"qubits",
"gates",
"general"
],
"type": "object"
}