Programas de fondo
Obtener lista de backends
Devuelve una lista de backends habilitados para acceso directo.
Autorización
Para llamar a este método, debe tener asignados uno o varios roles de acceso IAM que incluyan las siguientes acciones. Para comprobar su acceso, vaya a Users > User > Access
quantum-computing.direct-access-backend.list
Auditoría
La invocación de este método genera los siguientes eventos de auditoría.
quantum-computing.direct-access-backend.list
Entrada
Información |
|---|
| Este punto final no acepta entradas. |
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())Resultado
Código de estado | Descripción |
|---|---|
| 200 | Devuelto cuando los backends se recuperaron correctamente. |
| 401 | Devuelto cuando falló la autenticación. |
{
"backends": [
{
"locked": true,
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}
]
}{
"additionalProperties": false,
"properties": {
"backends": {
"description": "Una lista de nombres de backend disponibles para acceso directo.",
"items": {
"additionalProperties": false,
"properties": {
"locked": {
"description": "Si el backend está bloqueado por una reserva activa. Solo está presente en los backends en línea.",
"type": "boolean"
},
"message": {
"description": "Detalles adicionales relacionados con el estado del backend.",
"type": "string"
},
"name": {
"description": "Nombre del backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "en línea (puede enviar trabajos), fuera de línea (no puede enviar trabajos) y en pausa (no puede enviar trabajos).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Versión del backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
},
"type": [
"array",
"null"
]
}
},
"required": [
"backends"
],
"type": "object"
}Obtener detalles del backend
Devuelve los detalles de un backend.
Autorización
Para llamar a este método, debe tener asignados uno o varios roles de acceso IAM que incluyan las siguientes acciones. Para comprobar su acceso, vaya a Users > User > Access
quantum-computing.direct-access-backend.read
Auditoría
La invocación de este método genera los siguientes eventos de auditoría.
quantum-computing.direct-access-backend.read
Entrada
Nombre, Tipo | Descripción |
|---|---|
backend-name Obligatorio string | Ejemplo: "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())Resultado
Código de estado | Descripción |
|---|---|
| 200 | Devuelto cuando se recuperaron correctamente los detalles del backend. |
| 401 | Devuelto cuando falló la autenticación. |
| 404 | Se devuelve cuando no se encuentra el backend. |
{
"locked": true,
"message": "example",
"name": "ibm_bromont",
"status": "online",
"version": "1.0.0"
}{
"additionalProperties": false,
"properties": {
"locked": {
"description": "Si el backend está bloqueado por una reserva activa. Solo está presente en los backends en línea.",
"type": "boolean"
},
"message": {
"description": "Detalles adicionales relacionados con el estado del backend.",
"type": "string"
},
"name": {
"description": "Nombre del backend",
"examples": [
"ibm_bromont"
],
"type": "string"
},
"status": {
"description": "en línea (puede enviar trabajos), fuera de línea (no puede enviar trabajos) y en pausa (no puede enviar trabajos).",
"enum": [
"online",
"offline",
"paused"
],
"examples": [
"online"
],
"type": "string"
},
"version": {
"description": "Versión del backend",
"examples": [
"1.0.0"
],
"type": "string"
}
},
"required": [
"name",
"status"
],
"type": "object"
}Obtener la configuración del backend
Devuelve la configuración de un backend.
Autorización
Para llamar a este método, debe tener asignados uno o varios roles de acceso IAM que incluyan las siguientes acciones. Para comprobar su acceso, vaya a Users > User > Access
quantum-computing.direct-access-backend-configuration.read
Auditoría
La invocación de este método genera los siguientes eventos de auditoría.
quantum-computing.direct-access-backend-configuration.read
Entrada
Nombre, Tipo | Descripción |
|---|---|
backend-name Obligatorio string | Ejemplo: "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())Resultado
Código de estado | Descripción |
|---|---|
| 200 | Devuelto cuando la configuración del backend se recuperó correctamente. |
| 401 | Devuelto cuando falló la autenticación. |
| 404 | Se devuelve cuando no se encuentra el backend. |
{
"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": "Configuración 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": "El hamiltoniano en formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "El hamiltoniano en formato legible por máquina"
},
"vars": {
"type": "object",
"description": "Variables en h\\_str"
},
"osc": {
"type": "object",
"description": "Número de niveles para cada modo de oscilador"
}
}
},
"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": "Nombre del backend"
},
"sample_name": {
"type": "string",
"description": "Nombre de ejemplo"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versión del backend en el formulario X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Número de qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Lista de nombres de puertas básicas en el backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Matriz que agrupa qubits que están acoplados físicamente entre sí en el backend"
},
"gates": {
"type": "array",
"description": "Lista de puertas básicas en el backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "El nombre de la puerta tal y como se referirá en QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nombres variables para los parámetros de la puerta (si los hay)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Lista de agrupaciones de qubits que están acopladas por esta puerta"
},
"qasm_def": {
"type": "string",
"description": "Definición de esta puerta en términos de primitivas QASM U y CX"
},
"conditional": {
"type": "boolean",
"description": "Esta puerta específica admite operaciones condicionales (verdadero/falso). Si no se especifica, la puerta hereda la propiedad condicional del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión len(coupling\\_map) X n\\_registers que especifica (1 - rápido, 0 - lento) las operaciones condicionales de latencia del registro en la puerta"
},
"description": {
"type": "string",
"description": "Descripción del funcionamiento de la puerta"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "El backend es local o remoto (verdadero/falso)"
},
"simulator": {
"type": "boolean",
"description": "El backend es un simulador (verdadero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "El backend admite operaciones condicionales (verdadero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "El backend admite memoria (verdadero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Número máximo de disparos admitidos",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Número máximo de experimentos admitidos",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Número de ranuras de registro disponibles para retroalimentación (si la condición es verdadera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión n\\_qubits X n\\_registros que especifica si un qubit puede almacenar una medición en una ranura de registro determinada"
},
"configurable": {
"type": "boolean",
"description": "El backend es configurable, si el backend es un simulador (verdadero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "El backend requiere créditos para ejecutar un trabajo (verdadero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Fecha en que el backend se puso en línea"
},
"display_name": {
"type": "string",
"description": "Campo de nombre alternativo para el backend"
},
"description": {
"type": "string",
"description": "Descripción del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Rango de tiempos de retraso entre programas (microsegundos) permitido por el backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Retraso predeterminado de respuesta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Si el retraso entre programas se puede configurar dinámicamente utilizando «rep\\_delay»).",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Si la lectura ESP es compatible con el backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instrucciones compatibles con el backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Conjunto de características compatibles con el backend, como qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volumen cuántico del backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La familia de procesadores indica la arquitectura del chip cuántico"
},
"revision": {
"type": "string",
"description": "El número de revisión refleja las variantes de diseño dentro de una familia de procesadores determinada. Normalmente es un valor de versión semántica sin el valor del parche, por ejemplo, « 1.0 »."
},
"segment": {
"type": "string",
"description": "El segmento, si se indica, se utiliza para distinguir diferentes subconjuntos de la estructura/chip del qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para el LO del qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para la medición LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Tamaño del fragmento de datos de la memoria de forma de onda"
},
"min_length": {
"type": "integer",
"description": "Número mínimo de muestras necesarias para definir un pulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de impulsos en unidades de dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de adquisición en unidades de 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": "El backend admite openPulse (verdadero/falso)"
},
"n_uchannels": {
"type": "integer",
"description": "Número de canales de control adicionales",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltoniano del backend",
"properties": {
"h_latex": {
"type": "string",
"description": "El hamiltoniano en formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "El hamiltoniano en formato legible por máquina"
},
"vars": {
"type": "object",
"description": "Variables en h\\_str"
},
"osc": {
"type": "object",
"description": "Número de niveles para cada modo de oscilador"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relación entre los LO del canal U en términos de los LO del 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": "Niveles de medición disponibles en el backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Discretización temporal para los canales de accionamiento y U",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Discretización temporal para los canales de medición",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Tiempos de ejecución del programa (microsegundos) admitidos por el backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Agrupación de mediciones multiplexadas",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Ancho de banda de todos los canales (qubit, medición y U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Núcleos de medición disponibles",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Discriminadores disponibles",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Matriz de dimensión n\\_qubits x n\\_registros. Latencia (en unidades de dt) para escribir un resultado de medición desde el qubit n en la ranura de registro m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Matriz de dimensión n_canales [d->u->m] x n_registros. Latencia (en unidades de dt) para realizar una operación condicional en el canal n desde la ranura de registro m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "Lista de formas de pulso paramétricas disponibles",
"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 diccionario en el que cada entrada representa una configuración de canal y contiene valores de configuración, como la asignación del canal a los qubits."
}
}
},
"gateconfig": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "El nombre de la puerta tal y como se referirá en QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nombres variables para los parámetros de la puerta (si los hay)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Lista de agrupaciones de qubits que están acopladas por esta puerta"
},
"qasm_def": {
"type": "string",
"description": "Definición de esta puerta en términos de primitivas QASM U y CX"
},
"conditional": {
"type": "boolean",
"description": "Esta puerta específica admite operaciones condicionales (verdadero/falso). Si no se especifica, la puerta hereda la propiedad condicional del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión len(coupling\\_map) X n\\_registers que especifica (1 - rápido, 0 - lento) las operaciones condicionales de latencia del registro en la puerta"
},
"description": {
"type": "string",
"description": "Descripción del funcionamiento de la puerta"
}
}
},
"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": "Nombre del backend"
},
"sample_name": {
"type": "string",
"description": "Nombre de ejemplo"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versión del backend en el formulario X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Número de qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Lista de nombres de puertas básicas en el backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Matriz que agrupa qubits que están acoplados físicamente entre sí en el backend"
},
"gates": {
"type": "array",
"description": "Lista de puertas básicas en el backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "El nombre de la puerta tal y como se referirá en QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nombres variables para los parámetros de la puerta (si los hay)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Lista de agrupaciones de qubits que están acopladas por esta puerta"
},
"qasm_def": {
"type": "string",
"description": "Definición de esta puerta en términos de primitivas QASM U y CX"
},
"conditional": {
"type": "boolean",
"description": "Esta puerta específica admite operaciones condicionales (verdadero/falso). Si no se especifica, la puerta hereda la propiedad condicional del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión len(coupling\\_map) X n\\_registers que especifica (1 - rápido, 0 - lento) las operaciones condicionales de latencia del registro en la puerta"
},
"description": {
"type": "string",
"description": "Descripción del funcionamiento de la puerta"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "El backend es local o remoto (verdadero/falso)"
},
"simulator": {
"type": "boolean",
"description": "El backend es un simulador (verdadero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "El backend admite operaciones condicionales (verdadero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "El backend admite memoria (verdadero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Número máximo de disparos admitidos",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Número máximo de experimentos admitidos",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Número de ranuras de registro disponibles para retroalimentación (si la condición es verdadera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión n\\_qubits X n\\_registros que especifica si un qubit puede almacenar una medición en una ranura de registro determinada"
},
"configurable": {
"type": "boolean",
"description": "El backend es configurable, si el backend es un simulador (verdadero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "El backend requiere créditos para ejecutar un trabajo (verdadero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Fecha en que el backend se puso en línea"
},
"display_name": {
"type": "string",
"description": "Campo de nombre alternativo para el backend"
},
"description": {
"type": "string",
"description": "Descripción del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Rango de tiempos de retraso entre programas (microsegundos) permitido por el backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Retraso predeterminado de respuesta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Si el retraso entre programas se puede configurar dinámicamente utilizando «rep\\_delay»).",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Si la lectura ESP es compatible con el backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instrucciones compatibles con el backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Conjunto de características compatibles con el backend, como qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volumen cuántico del backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La familia de procesadores indica la arquitectura del chip cuántico"
},
"revision": {
"type": "string",
"description": "El número de revisión refleja las variantes de diseño dentro de una familia de procesadores determinada. Normalmente es un valor de versión semántica sin el valor del parche, por ejemplo, « 1.0 »."
},
"segment": {
"type": "string",
"description": "El segmento, si se indica, se utiliza para distinguir diferentes subconjuntos de la estructura/chip del qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para el LO del qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para la medición LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Tamaño del fragmento de datos de la memoria de forma de onda"
},
"min_length": {
"type": "integer",
"description": "Número mínimo de muestras necesarias para definir un pulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de impulsos en unidades de dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de adquisición en unidades de 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": "El backend admite openPulse (verdadero/falso)"
},
"n_uchannels": {
"type": "integer",
"description": "Número de canales de control adicionales",
"minimum": 0
},
"hamiltonian": {
"type": "object",
"required": [
"h_latex"
],
"description": "Hamiltoniano del backend",
"properties": {
"h_latex": {
"type": "string",
"description": "El hamiltoniano en formato Latex"
},
"h_str": {
"type": "array",
"items": {
"type": "string"
},
"description": "El hamiltoniano en formato legible por máquina"
},
"vars": {
"type": "object",
"description": "Variables en h\\_str"
},
"osc": {
"type": "object",
"description": "Número de niveles para cada modo de oscilador"
}
}
},
"u_channel_lo": {
"type": "array",
"minItems": 0,
"description": "Relación entre los LO del canal U en términos de los LO del 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": "Niveles de medición disponibles en el backend",
"items": {
"type": "integer",
"minimum": 0,
"maximum": 2
}
},
"dt": {
"type": "number",
"description": "Discretización temporal para los canales de accionamiento y U",
"minimum": 0
},
"dtm": {
"type": "number",
"description": "Discretización temporal para los canales de medición",
"minimum": 0
},
"rep_times": {
"type": "array",
"minItems": 1,
"description": "Tiempos de ejecución del programa (microsegundos) admitidos por el backend.",
"items": {
"type": "number",
"minimum": 0
}
},
"meas_map": {
"type": "array",
"minItems": 1,
"description": "Agrupación de mediciones multiplexadas",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer",
"minimum": 0
}
}
},
"channel_bandwidth": {
"type": "array",
"minItems": 2,
"description": "Ancho de banda de todos los canales (qubit, medición y U)",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_kernels": {
"type": "array",
"minItems": 1,
"description": "Núcleos de medición disponibles",
"items": {
"type": "string"
}
},
"discriminators": {
"type": "array",
"minItems": 1,
"description": "Discriminadores disponibles",
"items": {
"type": "string"
}
},
"acquisition_latency": {
"type": "array",
"minItems": 1,
"description": "Matriz de dimensión n\\_qubits x n\\_registros. Latencia (en unidades de dt) para escribir un resultado de medición desde el qubit n en la ranura de registro m.",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
}
},
"conditional_latency": {
"type": "array",
"minItems": 1,
"description": "Matriz de dimensión n_canales [d->u->m] x n_registros. Latencia (en unidades de dt) para realizar una operación condicional en el canal n desde la ranura de registro m",
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "number"
}
}
},
"parametric_pulses": {
"type": "array",
"minItems": 0,
"description": "Lista de formas de pulso paramétricas disponibles",
"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 diccionario en el que cada entrada representa una configuración de canal y contiene valores de configuración, como la asignación del canal a los qubits."
}
}
}
]
},
{
"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": "Nombre del backend"
},
"sample_name": {
"type": "string",
"description": "Nombre de ejemplo"
},
"backend_version": {
"type": "string",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"description": "Versión del backend en el formulario X.X.X"
},
"n_qubits": {
"type": "integer",
"description": "Número de qubits",
"minimum": 1,
"default": 1
},
"basis_gates": {
"type": "array",
"description": "Lista de nombres de puertas básicas en el backend",
"items": {
"type": "string"
},
"minItems": 0
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Matriz que agrupa qubits que están acoplados físicamente entre sí en el backend"
},
"gates": {
"type": "array",
"description": "Lista de puertas básicas en el backend",
"items": {
"type": "object",
"required": [
"name",
"parameters",
"qasm_def"
],
"properties": {
"name": {
"type": "string",
"description": "El nombre de la puerta tal y como se referirá en QASM"
},
"parameters": {
"type": "array",
"minItems": 0,
"items": {
"type": "string"
},
"description": "Nombres variables para los parámetros de la puerta (si los hay)"
},
"coupling_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"type": "integer"
}
},
"description": "Lista de agrupaciones de qubits que están acopladas por esta puerta"
},
"qasm_def": {
"type": "string",
"description": "Definición de esta puerta en términos de primitivas QASM U y CX"
},
"conditional": {
"type": "boolean",
"description": "Esta puerta específica admite operaciones condicionales (verdadero/falso). Si no se especifica, la puerta hereda la propiedad condicional del backend.",
"default": false
},
"latency_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión len(coupling\\_map) X n\\_registers que especifica (1 - rápido, 0 - lento) las operaciones condicionales de latencia del registro en la puerta"
},
"description": {
"type": "string",
"description": "Descripción del funcionamiento de la puerta"
}
}
},
"minItems": 0
},
"local": {
"type": "boolean",
"description": "El backend es local o remoto (verdadero/falso)"
},
"simulator": {
"type": "boolean",
"description": "El backend es un simulador (verdadero/falso)",
"default": false
},
"conditional": {
"type": "boolean",
"description": "El backend admite operaciones condicionales (verdadero/falso)",
"default": false
},
"memory": {
"type": "boolean",
"description": "El backend admite memoria (verdadero/falso)",
"default": false
},
"max_shots": {
"type": "integer",
"description": "Número máximo de disparos admitidos",
"minimum": 1
},
"max_experiments": {
"type": "integer",
"description": "Número máximo de experimentos admitidos",
"minimum": 1
},
"n_registers": {
"type": "integer",
"description": "Número de ranuras de registro disponibles para retroalimentación (si la condición es verdadera)",
"minimum": 1,
"default": 1
},
"register_map": {
"type": "array",
"minItems": 1,
"items": {
"type": "array",
"minItems": 1,
"items": {
"enum": [
0,
1
]
}
},
"description": "Una matriz de dimensión n\\_qubits X n\\_registros que especifica si un qubit puede almacenar una medición en una ranura de registro determinada"
},
"configurable": {
"type": "boolean",
"description": "El backend es configurable, si el backend es un simulador (verdadero/falso)",
"default": false
},
"credits_required": {
"type": "boolean",
"description": "El backend requiere créditos para ejecutar un trabajo (verdadero/falso)",
"default": false
},
"online_date": {
"type": "string",
"format": "date-time",
"description": "Fecha en que el backend se puso en línea"
},
"display_name": {
"type": "string",
"description": "Campo de nombre alternativo para el backend"
},
"description": {
"type": "string",
"description": "Descripción del backend"
},
"tags": {
"type": "array",
"minItems": 0,
"uniqueItems": true,
"items": {
"type": "string",
"examples": [
"credits_required"
]
}
},
"rep_delay_range": {
"type": "array",
"minItems": 0,
"description": "Rango de tiempos de retraso entre programas (microsegundos) permitido por el backend.",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number",
"minimum": 0
}
}
},
"default_rep_delay": {
"type": "number",
"description": "Retraso predeterminado de respuesta.",
"minimum": 0
},
"dynamic_reprate_enabled": {
"type": "boolean",
"description": "Si el retraso entre programas se puede configurar dinámicamente utilizando «rep\\_delay»).",
"default": false
},
"measure_esp_enabled": {
"type": "boolean",
"description": "Si la lectura ESP es compatible con el backend.",
"default": false
},
"supported_instructions": {
"type": "array",
"minItems": 0,
"description": "Instrucciones compatibles con el backend.",
"items": {
"type": "string"
}
},
"supported_features": {
"type": "array",
"minItems": 0,
"description": "Conjunto de características compatibles con el backend, como qobj, qasm3, etc.",
"items": {
"type": "string"
}
},
"quantum_volume": {
"type": "integer",
"description": "Volumen cuántico del backend",
"minimum": 1
},
"processor_type": {
"type": "object",
"required": [
"family",
"revision"
],
"properties": {
"family": {
"type": "string",
"description": "La familia de procesadores indica la arquitectura del chip cuántico"
},
"revision": {
"type": "string",
"description": "El número de revisión refleja las variantes de diseño dentro de una familia de procesadores determinada. Normalmente es un valor de versión semántica sin el valor del parche, por ejemplo, « 1.0 »."
},
"segment": {
"type": "string",
"description": "El segmento, si se indica, se utiliza para distinguir diferentes subconjuntos de la estructura/chip del qubit"
}
}
},
"qubit_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para el LO del qubit",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"meas_lo_range": {
"type": "array",
"minItems": 1,
"description": "Rango de frecuencia para la medición LO",
"items": {
"type": "array",
"minItems": 2,
"maxItems": 2,
"items": {
"type": "number"
}
}
},
"timing_constraints": {
"type": "object",
"properties": {
"granularity": {
"type": "integer",
"description": "Tamaño del fragmento de datos de la memoria de forma de onda"
},
"min_length": {
"type": "integer",
"description": "Número mínimo de muestras necesarias para definir un pulso"
},
"pulse_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de impulsos en unidades de dt"
},
"acquire_alignment": {
"type": "integer",
"description": "Instrucción que activa la resolución temporal del canal de adquisición en unidades de dt"
}
}
}
}
},
{
"required": [
"open_pulse"
],
"properties": {
"open_pulse": {
"enum": [
false
]
}
}
}
]
}
]
}Obtener la configuración de los carriles traseros
Obtén la configuración de los carriles de ejecución para el backend especificado.
Autorización
Para llamar a este método, debe tener asignados uno o varios roles de acceso IAM que incluyan las siguientes acciones. Para comprobar su acceso, vaya a Users > User > Access
quantum-computing.direct-access-lane-configuration.list
Auditoría
La invocación de este método genera los siguientes eventos de auditoría.
quantum-computing.direct-access-lane-configuration.list
Entrada
Nombre, Tipo | Descripción |
|---|---|
backend-name Obligatorio 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())Resultado
Código de estado | Descripción |
|---|---|
| 200 | Configuración de las vías de ejecución del backend. La suma de `ibm_quantum_compute.lanes` y `hpc_workload_manager.lanes` debe estar comprendida entre 1 y el número máximo de carriles permitido para el backend especificado (ambos extremos incluidos). |
| 401 | Devuelto cuando falló la autenticación. |
| 404 | Se devuelve cuando no se encuentra el backend. |
{
"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"
}Obtener propiedades del backend
Devuelve las propiedades de un backend.
Autorización
Para llamar a este método, debe tener asignados uno o varios roles de acceso IAM que incluyan las siguientes acciones. Para comprobar su acceso, vaya a Users > User > Access
quantum-computing.direct-access-backend-properties.read
Auditoría
La invocación de este método genera los siguientes eventos de auditoría.
quantum-computing.direct-access-backend-properties.read
Entrada
Nombre, Tipo | Descripción |
|---|---|
backend-name Obligatorio string | Ejemplo: "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())Resultado
Código de estado | Descripción |
|---|---|
| 200 | Devuelto cuando las propiedades del backend se recuperaron correctamente. |
| 401 | Devuelto cuando falló la autenticación. |
| 404 | Se devuelve cuando no se encuentra el backend. |
{
"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 Esquema de propiedades del backend",
"version": "1.0.0",
"definitions": {
"gate": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Parámetro registrado como nombre-fecha-unidad-valor",
"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": "Parámetros generales del sistema",
"items": {
"description": "Parámetro registrado como nombre-fecha-unidad-valor",
"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": "Parámetro registrado como nombre-fecha-unidad-valor",
"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": "Nombre del backend",
"type": "string"
},
"backend_version": {
"description": "Versión del backend en el formulario X.X.X",
"pattern": "[0-9]+.[0-9]+.[0-9]+$",
"type": "string"
},
"gates": {
"description": "Parámetros de la puerta del sistema",
"items": {
"properties": {
"gate": {
"type": "string"
},
"parameters": {
"items": {
"description": "Parámetro registrado como nombre-fecha-unidad-valor",
"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": "Parámetros generales del sistema",
"items": {
"description": "Parámetro registrado como nombre-fecha-unidad-valor",
"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": "Última fecha/hora en que se actualizó una propiedad.",
"format": "date-time",
"type": "string"
},
"qubits": {
"description": "Parámetros del qubit del sistema",
"items": {
"items": {
"description": "Parámetro registrado como nombre-fecha-unidad-valor",
"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"
}