IBM Quantum Composer
¿Qué es?
IBM Quantum® Composer es una herramienta de programación cuántica gráfica que te permite arrastrar y soltar operaciones para construir circuitos cuánticos y ejecutarlos en hardware cuántico real.
¿Qué puede hacer?
Visualiza estados de qubits
Observa cómo los cambios en tu circuito afectan el estado de los qubits, mostrados como una q-esfera interactiva, o histogramas que muestran probabilidades de medición o simulaciones de vector de estado.
Ejecuta en hardware cuántico
Ejecuta tus circuitos en hardware cuántico real para entender los efectos del ruido del dispositivo.
Genera código automáticamente
En lugar de escribir código a mano, genera automáticamente código OpenQASM o Python que se comporta igual que el circuito que creaste con Composer.
Recorrido por la interfaz
IBM Quantum Composer tiene un conjunto de herramientas personalizable que te permite construir, visualizar y ejecutar circuitos cuánticos en unidades de procesamiento cuántico (QPUs). Usa el menú "Más opciones" en cada ventana para acceder a herramientas y acciones adicionales.
-
Catálogo de operaciones - Estos son los componentes básicos de los circuitos cuánticos. Arrastra y suelta estas puertas y otras operaciones en el editor gráfico de circuitos. Diferentes tipos de puertas están agrupadas por color. Por ejemplo, las puertas clásicas son azul oscuro, las puertas de fase son azul claro, y las operaciones no unitarias son grises.
Para aprender sobre las puertas y operaciones disponibles, haz clic derecho en una operación y selecciona "Información" para leer su definición.
-
Editor de código - Usa el menú Ver para abrir o cerrar el editor de código, que te permite ver el código OpenQASM o Qiskit del circuito. Puedes editar el código OpenQASM; el código Qiskit es de solo lectura.
-
Editor gráfico de circuitos - Aquí es donde construyes un circuito. Arrastra puertas y otras operaciones sobre los "cables" de qubits horizontales que forman tu registro cuántico.
Para eliminar una puerta de un cable, selecciona la puerta y haz clic en el icono de papelera.
Para editar los parámetros y configuraciones de puertas que lo permiten, selecciona la puerta en el editor gráfico y haz clic en "Editar".
-
Barra de herramientas - Accede a herramientas usadas frecuentemente para deshacer y rehacer acciones, cambiar la alineación de las puertas, y cambiar al modo inspeccionar. Con el modo inspeccionar, ves una vista paso a paso de los estados de los qubits mientras evoluciona la computación de tu circuito. Para aprender más, consulta Inspecciona tu circuito, paso a paso.
-
Discos de fase - La fase del vector de estado del qubit en el plano complejo se da por la línea que se extiende desde el centro del diagrama hasta el borde del disco gris (que gira en sentido contrario a las agujas del reloj alrededor del punto central).
Usa el menú Ver para mostrar u ocultar los discos de fase.
-
Visualizaciones - Las visualizaciones caracterizan tu circuito mientras lo construyes. Usan un simulador de vector de estado de un solo disparo, que es diferente del QPU especificado en la configuración "Ejecutar circuito". Ten en cuenta que las visualizaciones ignoran cualquier operación de medición que agregues. Inicia sesión y haz clic en Ejecutar circuito para obtener resultados del backend especificado.
Aprende más en la sección Visualizaciones.
Construye, edita e inspecciona circuitos cuánticos
Si quieres continuar trabajando con un circuito más tarde, asegúrate de descargar tu archivo de circuito y almacenarlo localmente antes de salir de tu sesión actual de Composer. Usa el enlace "Guardar archivo" en la esquina superior derecha, o ve al menú Archivo y elige "Guardar archivo". Cuando estés listo para trabajar con el circuito nuevamente, ve al menú Archivo y elige "Cargar archivo .qasm", luego navega a tu archivo de circuito en tu unidad local y haz clic en Abrir.
1. Abre IBM Quantum Composer
- (Opcional) Si aún no has iniciado sesión en IBM Quantum, selecciona Iniciar sesión en la esquina superior derecha. Entonces, puedes iniciar sesión o Crear una cuenta de IBM Cloud.
Si no inicias sesión, las visualizaciones muestran automáticamente resultados simulados para hasta cuatro qubits. Si quieres ejecutar tu circuito en una computadora cuántica, o si quieres visualizar un circuito que tiene más de cuatro qubits, debes iniciar sesión.
-
Abre IBM Quantum Composer haciendo clic en el enlace de la página Learning. El espacio de trabajo muestra un circuito vacío sin título. Puedes crear un circuito nuevo o cargar un archivo .qasm para continuar trabajando con un circuito que ya hayas creado.
-
Nombra tu circuito haciendo clic en las palabras Untitled circuit e ingresando un nombre. Haz clic en la marca de verificación para guardar el nombre.
-
(Opcional) Personaliza tu espacio de trabajo:
- Usa el menú Ver para cambiar del tema predeterminado a un tema monocromático. También puedes seleccionar qué paneles incluir en tu espacio de trabajo, y luego usar el menú en la esquina derecha de cualquier panel para acceder a opciones de personalización adicional. Las opciones para mostrar u ocultar discos de fase, elegir la alineación de qubits en tu circuito, y restablecer el espacio de trabajo al predeterminado están en el menú Ver.
- Cambia entre temas oscuros y claros en la esquina inferior derecha del pie de página.
Para construir un circuito, puedes arrastrar y soltar operaciones o puedes ingresar código OpenQASM en el editor de código.
2. Construye tu circuito con arrastrar y soltar
Catálogo de operaciones
Arrastra y suelta operaciones del catálogo de operaciones sobre los registros cuánticos y clásicos. Haz clic en el icono de búsqueda e ingresa un término en la barra de búsqueda para encontrar rápidamente una operación.
Contrae y expande el catálogo de operaciones haciendo clic en el icono en la esquina superior derecha del panel de operaciones. Haz clic en el icono junto a él para alternar entre una vista de cuadrícula y lista del catálogo.
Haz clic derecho en un icono de operación y selecciona "Información" para ver la definición de una operación, junto con su referencia QASM.
Para deshacer o rehacer, usa las flechas curvas en la barra de herramientas.
Alineación
Elige alineación Libre para colocar operaciones en cualquier lugar del circuito. Para una vista más compacta de tu circuito, elige alineación Izquierda. Para ver el orden en que se ejecutarán las operaciones, elige alineación Capas, que aplicará alineación izquierda y agregará delimitadores de columna que indican el orden de ejecución, de izquierda a derecha y de arriba hacia abajo.
Una vez que las operaciones están colocadas en tu circuito, puedes seguir arrastrándolas y soltándolas en nuevas posiciones.
Copiar y pegar
Haz clic en una operación y usa los iconos en el menú contextual para copiar y pegar.
Selecciona múltiples operaciones
Puedes seleccionar varias operaciones para copiarlas y pegarlas, arrastrarlas a una nueva ubicación, o agruparlas en una operación unitaria personalizada que aparezca en tu catálogo de operaciones y funcione como una puerta individual.
Para seleccionar más de una operación, coloca tu cursor justo fuera de una de las operaciones, luego haz clic y arrastra sobre el área a seleccionar. Haz Mayús+clic en operaciones individuales para seleccionarlas o deseleccionarlas. Una línea punteada marca el conjunto de operaciones que estás seleccionando, y cada operación que en realidad es parte de la selección está rodeada de azul.
Por ejemplo, en la siguiente imagen, la puerta Hadamard en q1 y la puerta CX están seleccionadas. La puerta Hadamard en q0 no está seleccionada.
Selecciona Copiar del menú contextual para copiar el grupo.
Para pegar el grupo de operaciones, haz clic derecho en el circuito y selecciona Pegar.
Construye una operación personalizada usando la función de grupo
Para agrupar varias operaciones y guardarlas como una operación personalizada, primero selecciona las operaciones como se describe arriba, luego selecciona Grupo del menú contextual. Se te pedirá que nombres la operación personalizada o puedes aceptar el nombre predeterminado. Haz clic en Aceptar, y la operación personalizada se representará como una sola caja, tanto en tu circuito como en el catálogo de operaciones.
Ahora puedes arrastrar y soltar la nueva operación en todo tu circuito. Ten en cuenta que la operación se guarda en este circuito pero no aparece en el catálogo de operaciones para otros circuitos.
También puedes construir una operación personalizada directamente en el editor de código OpenQASM; consulta Crear una operación personalizada en OpenQASM para más información.
Desagrupa una operación personalizada o predefinida
Para desagrupar las puertas dentro de una operación personalizada o predefinida, haz clic en la operación en Composer y selecciona Desagrupar del menú contextual. Ahora puedes mover las operaciones separadas individualmente. Cuando desagrupas una operación, cada elemento en el grupo anterior se ejecuta independientemente, lo que podría significar que se ejecuten en un orden diferente que cuando estaban agrupadas.
Expande la definición de una operación
Para ver las operaciones que constituyen una operación personalizada o predefinida sin desagruparlas, haz clic en Expandir definición del menú contextual para ver las puertas que las definen. Haz clic en el icono nuevamente para contraer la definición.
Renombra o elimina una operación personalizada
Para renombrar o eliminar una operación personalizada, haz clic derecho en la operación en el catálogo de operaciones y selecciona Renombrar o Eliminar. Eliminar una operación personalizada del catálogo también elimina cualquier instancia de ella en tu circuito.
Eliminar una operación personalizada del circuito en sí no la elimina del catálogo de operaciones; solo puedes eliminar una operación personalizada del catálogo usando clic derecho y seleccionar Eliminar.
Agrega o quita registros
Para agregar o quitar registros cuánticos o clásicos, haz clic en Editar → Gestionar registros. Puedes aumentar o disminuir el número de qubits o bits en tu circuito y renombrar los registros. Haz clic en Aceptar para aplicar los cambios. También puedes simplemente hacer clic en el nombre del registro (por ejemplo, q[0]) y usar las opciones del menú contextual para agregar o eliminar rápidamente registros o qubits.
Agrega una condicional
Para agregar una condicional a una puerta, arrastra la operación if a la puerta y establece los parámetros en el panel de edición de operación que se abre automáticamente. También puedes hacer doble clic en una puerta para acceder al panel de edición de operación, y establecer los parámetros condicionales de esa manera.
Agrega un modificador de control
Un modificador de control produce una puerta cuya operación original ahora depende del estado del qubit de control. Para más detalles, haz clic derecho en el símbolo del modificador de control en el catálogo de operaciones, luego haz clic en Información.
Arrastra el modificador de control a una puerta para agregarle un control. Aparece un punto en el qubit de control y una línea lo conecta al qubit objetivo. Para editar cuál qubit es el control u objetivo, haz clic en la puerta y selecciona el icono de edición de operación (o haz doble clic en la puerta) para abrir el panel de edición de operación, luego especifica tus parámetros. Desde el panel de edición de operación, también puedes eliminar un control de un qubit haciendo clic en la x junto al nombre del qubit.
Visualiza con discos de fase a lo largo de tu circuito
Para visualizar el estado de todos los qubits en cualquier punto de tu circuito, arrastra el icono de disco de fase del catálogo de operaciones y colócalo en cualquier lugar de tu circuito. Se agregará una columna de operaciones de barrera y una columna de discos de fase (una operación de barrera y disco de fase por qubit). Pasa el ratón sobre cada disco de fase para leer el estado del qubit en ese punto del circuito. Ten en cuenta que agregar los discos de fase no altera tu circuito; son solo una herramienta de visualización.
Lee más sobre la visualización de disco de fase aquí.
Exporta una imagen del circuito
Para exportar una imagen de tu circuito, selecciona Archivo → Exportar imagen del circuito. Se abrirá la ventana de opciones de exportación, donde puedes elegir un tema (claro, oscuro, blanco sobre negro, o negro sobre blanco), un formato (.svg o .png), y si quieres aplicar ajuste de línea. Después de elegir tus opciones, haz clic en Exportar.
3. Construye tu circuito con código OpenQASM
IBM Quantum Composer actualmente admite OpenQASM 2.0.
- Para abrir el editor de código, haz clic en Ver → Paneles → Editor de código.
- Consulta el Glosario de operaciones de Composer para referencias OpenQASM de puertas y otras operaciones.
- Puedes definir tus propias operaciones personalizadas; consulta Crear una operación personalizada en OpenQASM.
- Para más información sobre el uso del lenguaje OpenQASM, incluyendo líneas de código de ejemplo, consulta la guía Introducción a OpenQASM, o lee el artículo de investigación original Open Quantum Assembly Language. La tabla de sentencias del lenguaje OpenQASM del artículo se reproduce a continuación. La gramática OpenQASM se puede encontrar en Apéndice A del artículo.
| Sentencia | Descripción | Ejemplo |
|---|---|---|
OPENQASM 2.0; | Denota un archivo en formato OpenQASM (ver [a]) | OPENQASM 2.0; |
qreg name[size]; | Declara un registro nombrado de qubits | qreg q[5]; |
creg name[size]; | Declara un registro nombrado de bits | creg c[5]; |
include "filename"; | Abre y analiza otro archivo fuente | include "qelib1.inc"; |
gate name(params) qargs | Declara una puerta unitaria | (consulta el texto del artículo) |
opaque name(params) qargs; | Declara una puerta opaca | (consulta el texto del artículo) |
// comment text | Comenta una línea de texto | // oops! |
U(theta,phi,lambda) qubit|qreg; | Aplica puerta(s) de un solo qubit incorporada(s) (ver [b]) | U(pi/2,2*pi/3,0) q[0]; |
CX qubit|qreg,qubit|qreg; | Aplica puerta(s) CNOT incorporada(s) | CX q[0],q[1]; |
measure qubit|qreg -> bit|creg; | Realiza medición(es) en la base | measure q -> c; |
reset qubit|qreg; | Prepara qubit(s) en estado | reset q[0]; |
gatename(params) qargs; | Aplica una puerta unitaria definida por el usuario | crz(pi/2) q[1],q[0]; |
if(creg==int) qop; | Aplica operación cuántica condicionalmente | if(c==5) CX q[0],q[1]; |
barrier qargs; | Evita transformaciones a través de esta línea fuente | barrier q[0],q[1]; |
[a] Esto debe aparecer como la primera línea sin comentarios del archivo.
[b] Los parámetros theta, phi y lambda se especifican mediante expresiones de parámetros; para más información, consulta página 5 del artículo y Apéndice A.
Crear una operación personalizada en OpenQASM
Puedes definir nuevas operaciones unitarias en el editor de código (consulta la figura a continuación para ver un ejemplo). Las operaciones se aplican usando la sentencia name(params) qargs; al igual que las operaciones incorporadas. Los paréntesis son opcionales si no hay parámetros.
Para definir una operación personalizada, ingrésala en el editor de código OpenQASM usando este formato: gatename(params) qargs;. Si haces clic en +Agregar en la lista de operaciones, se te pedirá que ingreses un nombre para tu operación personalizada, que luego puedes construir en el editor de código.
Una vez que hayas definido tu operación personalizada, arrástrala al editor gráfico y usa el icono de edición para ajustar los parámetros.
| Ejemplo de una operación personalizada | |
|---|---|
| Las puertas a incluir en la operación personalizada: | |
| El código para la nueva operación: | |
| La nueva operación en el editor gráfico: |
4. Inspecciona tu circuito, paso a paso
El modo inspeccionar desmitifica el funcionamiento interno de los circuitos que creas. Recorre una simulación de tu circuito, una capa a la vez, para que puedas ver el estado de los qubits mientras evoluciona la computación.
-
En el menú Ver, selecciona los paneles para las visualizaciones que quieres usar.
-
Haz clic en el botón Inspeccionar en la barra de herramientas. Ten en cuenta que una vez que el modo Inspeccionar está activado, no puedes agregar más operaciones hasta que lo desactives nuevamente.
-
Si construiste tu circuito con la alineación Libre activada, ten en cuenta que el modo Inspeccionar activa automáticamente la alineación Izquierda.
-
Para avanzar paso a paso por las visualizaciones de los componentes de tu circuito, usa los botones de avance y retroceso.
-
Para inspeccionar solo algunas operaciones, haz clic en las operaciones que quieres inspeccionar, y aparecerá una superposición de color sobre cada una indicando que se incluirán cuando ejecutes el modo Inspeccionar. Para deseleccionar una operación, haz clic en ella nuevamente, y la superposición desaparece.
-
Para aprender más sobre la interpretación de visualizaciones, consulta el tema Visualizaciones.
-
Para salir del modo Inspeccionar y volver a editar tu circuito, haz clic en el botón Inspeccionar en la barra de herramientas.
El simulador crea aleatoriedad generando resultados basados en una semilla. La semilla es el valor inicial introducido en el algoritmo que genera números pseudoaleatorios. Puedes ver el número de semilla seleccionando "Semilla de visualizaciones" del menú Editar. También puedes establecer la semilla tú mismo cambiando el valor en la caja.
Ejecuta circuitos y visualiza resultados
Sigue los pasos a continuación para ejecutar circuitos cuánticos en QPUs y ver los resultados.
Elige la configuración de tu trabajo
Haz clic en Ejecutar circuito en la esquina superior derecha. En la ventana que se abre, selecciona un QPU disponible. También puedes elegir una instancia, que está asociada con un plan (como los Planes Abierto, Flexible o Premium). La instancia que elijas afecta qué QPUs están disponibles para ti. Haz clic en el enlace "Ver detalles" en la tabla de QPUs para ver más información sobre cada QPU.
A continuación, puedes establecer el número de disparos (ejecuciones) de tu circuito que el backend realizará.
Opcionalmente, también puedes nombrar el trabajo y agregar etiquetas en este panel. Esto no cambiará el nombre del circuito. Una etiqueta precompletada "Composer" facilita el filtrado de tu tabla de Cargas de trabajo por trabajos de Composer. Puedes eliminar esta etiqueta.
Cuando ejecutas un circuito, se envía automáticamente al QPU menos ocupado, a menos que especifiques un QPU en la configuración de ejecución. Si ejecutas el mismo circuito nuevamente, la ventana de selección de QPU mostrará tu elección anterior de forma predeterminada.
Haz clic en "Ejecutar en (nombre del QPU)"
Puedes ver el progreso del trabajo haciendo clic en el botón "Ver trabajos" en la esquina superior derecha, que abrirá la página de Cargas de trabajo en IBM Quantum Platform.
Ve los resultados
Una vez que tu trabajo se complete, los detalles se actualizan en la tabla de Cargas de trabajo en IBM Quantum Platform.
La página de resultados del trabajo muestra detalles de ejecución, diagramas del circuito original y transpilado, un histograma de los resultados, y pestañas OpenQASM y Qiskit para ver ambos circuitos en OpenQASM o Qiskit.
Puedes descargar los circuitos y el histograma haciendo clic en el menú en la esquina superior derecha de cada diagrama, luego selecciona un formato para la descarga (PNG, PDF o SVG; además, puedes exportar el histograma como un archivo CSV). Puedes abrir los circuitos OpenQASM directamente en Composer.
Visualizaciones
Las visualizaciones en vivo en IBM Quantum Composer te muestran diferentes vistas de cómo los circuitos cuánticos afectan el estado de una colección de qubits. Cada tipo de visualización en vivo se explica en detalle a continuación.
Las visualizaciones en vivo provienen de un simulador de vector de estado de un solo disparo, que es diferente del QPU especificado en la configuración de ejecución, que puede tener múltiples disparos. El simulador crea aleatoriedad generando resultados basados en una semilla. La semilla es el valor inicial introducido en el algoritmo que genera números pseudoaleatorios. Puedes ver el número de semilla seleccionando "Semilla de visualizaciones" del menú Editar. También puedes establecer la semilla tú mismo cambiando el valor en la caja.
Ve las visualizaciones
Las visualizaciones en vivo se muestran en ventanas en la parte inferior del espacio de trabajo de Composer (excepto el disco de fase, que aparece al final de cada cable de qubit). Puedes elegir cualquier combinación de visualizaciones de vector de estado, probabilidades y q-esfera para que aparezcan en la parte inferior del espacio de trabajo. Selecciona o deselecciona visualizaciones en el menú Ver.
Descarga visualizaciones
Descarga una de las visualizaciones en la parte inferior del espacio de trabajo de Composer haciendo clic en el menú "Más opciones" en la ventana de visualización. Puedes descargar visualizaciones como SVG, PNG, o CSV de los datos subyacentes. También puedes descargar las imágenes de visualización de las probabilidades de medición y histogramas de vector de estado como PDF.
Disco de fase
Un estado de un solo qubit se puede representar como
donde es la probabilidad de que el qubit esté en el estado , y es la fase cuántica. es fuertemente análoga a un bit probabilístico clásico. Para , el qubit está en el estado , para el qubit está en el estado , y para el qubit es una mezcla 50/50. Llamamos a esto una superposición ya que, a diferencia de los bits clásicos, esta mezcla puede tener una fase cuántica. El disco de fase visualiza este estado.
El disco de fase al final de cada qubit en IBM Quantum Composer da el estado local de cada qubit al final de la computación. Los componentes del disco de fase se describen a continuación.
Probabilidad de que el qubit esté en el estado
La probabilidad de que el qubit esté en el estado se representa por el relleno de disco azul.
Fase cuántica
La fase cuántica del estado del qubit se da por la línea que se extiende desde el centro del diagrama hasta el borde del disco gris (que gira en sentido contrario a las agujas del reloj alrededor del punto central).
Ejemplo: discos de fase para dos qubits diferentes

Dos ejemplos de la visualización del disco de fase. El primer ejemplo es un estado y el segundo muestra el estado con una fase relativa diferente de cero.
Conexión con la esfera de Bloch
El disco de fase, que contiene toda la información de la esfera de Bloch, es una representación bidimensional de un qubit. Para convertir a la representación de esfera de Bloch: , , y .
Estados de N-qubits: máximo 15 qubits
Un estado cuántico de N-qubits toma la forma
donde es la probabilidad de que los qubits estén en el estado con fase cuántica con respecto al estado . es la probabilidad de que los qubits no estén en el estado fundamental . Aquí es fácil ver que para un estado cuántico de N-qubits hay probabilidades y fases. El disco de fase no puede representar este estado, ya que los discos de fase de N-qubits solo contendrían probabilidades y fases; esto se debe a que la mayoría de los estados están entrelazados y no se pueden separar en estados de qubits únicos independientes. Para representar que esta visualización no contiene información completa, introducimos la pureza reducida como un componente en el disco de fase.
Pureza reducida del estado del qubit
El radio del anillo negro representa la pureza reducida del estado del qubit, que para el qubit en un estado de N-qubits se da por . La pureza reducida de un solo qubit está en el rango ; un valor de uno indica que el qubit no está entrelazado con ninguna otra parte. En contraste, una pureza reducida de muestra que el qubit está en el estado completamente mixto, y tiene algún nivel de entrelazamiento en los qubits restantes, y posiblemente incluso con el ambiente.
Vista de probabilidades
Límite de 8 qubits
Esta vista visualiza las probabilidades del estado cuántico como un gráfico de barras. El eje horizontal etiqueta los estados de base computacional. El eje vertical mide las probabilidades en términos de porcentajes. En esta vista, las fases cuánticas no se representan, por lo que es una representación incompleta. Sin embargo, es útil para predecir los resultados si se mide cada qubit y se almacena el valor en su propio bit clásico.
Considera el siguiente circuito cuántico y su vista de probabilidades:
El circuito pone los dos qubits en el estado Los estados de base computacional son y La probabilidad para cada uno de los estados de base computacional es 1/4.
Vista de q-esfera
Límite de 5 qubits
La q-esfera representa el estado de un sistema de uno o más qubits asociando cada estado de base computacional con un punto en la superficie de una esfera. Un nodo es visible en cada punto. El radio de cada nodo es proporcional a la probabilidad () de su estado de base, mientras que el color del nodo indica la fase cuántica ().
Los nodos se distribuyen en la q-esfera de modo que el estado de base computacional con todos ceros (por ejemplo, ) esté en su polo norte, y el estado de base computacional con todos unos (por ejemplo, ) esté en su polo sur. Los estados de base con el mismo número de ceros (u unos) se encuentran en una latitud compartida de la q-esfera (por ejemplo, ). Comenzando en el polo norte de la q-esfera y progresando hacia el sur, cada latitud sucesiva tiene estados de base con un mayor número de unos; la latitud de un estado de base se determina por su distancia de Hamming desde el estado cero. La q-esfera contiene información completa sobre el estado cuántico en una representación compacta.
Considera el siguiente circuito cuántico y su q-esfera, que representan el estado que crea el circuito:
Puedes seleccionar, sostener y arrastra para rotar la q-esfera. Para devolver la q-esfera a su orientación predeterminada, selecciona el botón de rebobinado en la esquina superior derecha de la q-esfera.
Es importante destacar que la q-esfera no es lo mismo que la esfera de Bloch, ni siquiera para un solo qubit. De hecho, como la disco de fase, la esfera de Bloch proporciona una vista local del estado cuántico, donde cada qubit se ve por su cuenta. Cuando intentas entender cómo se comportan los registros de qubits (estados de múltiples qubits) ante la aplicación de circuitos cuánticos, es más perspicaz tomar una vista global y examinar el estado cuántico en su totalidad. La q-esfera proporciona una representación visual del estado cuántico, y así este punto de vista global. Por lo tanto, cuando exploras aplicaciones cuánticas y algoritmos en pequeños números de qubits, la q-esfera debería ser el método de visualización principal.
Vista de vector de estado
Límite de 6 qubits
Es común llamar la amplitud cuántica. Esta vista visualiza las amplitudes cuánticas como un gráfico de barras. El eje horizontal etiqueta los estados de base computacional. El eje vertical mide la magnitud de las amplitudes () asociadas con cada estado de base computacional. El color de cada barra representa la fase cuántica ().
Considera el siguiente circuito cuántico y su vista de vector de estado:
El circuito pone los dos qubits en el estado . Los estados de base computacional son , , , y . Las magnitudes de las amplitudes son , y las fases cuánticas con respecto al estado fundamental son para e , y para .
Glosario de operaciones de Composer
Esta página es una referencia que define las diversas operaciones clásicas y cuánticas que puedes usar para manipular qubits en un circuito cuántico. Las operaciones cuánticas incluyen puertas cuánticas, como la puerta Hadamard, así como operaciones que no son puertas cuánticas, como la operación de medición.
Cada entrada a continuación proporciona detalles y la referencia OpenQASM para cada operación. Consulta el tema sobre Construye tu circuito con código OpenQASM para más información.
La imagen de q-esfera en cada entrada de puerta a continuación muestra el estado después de que la puerta opera en el estado de superposición igual inicial , donde es el número de qubits necesarios para admitir la puerta. Consulta el tema sobre q-esfera para más información sobre esta visualización.
Puedes definir una operación personalizada para usar en IBM Quantum Composer. Para instrucciones, consulta el tema Crear una operación personalizada en OpenQASM.
Los colores de puerta son ligeramente diferentes en los temas claro y oscuro. Se muestran aquí los colores del tema claro.
Haz clic en una operación cuántica a continuación para ver su definición.
Puertas clásicas
Puerta NOT
La puerta NOT, también conocida como puerta Pauli X, invierte el estado a , y viceversa. La puerta NOT es equivalente a RX para el ángulo o a 'HZH'.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
x q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta CNOT
La puerta controlada-NOT, también conocida como la puerta X controlada (CX), actúa sobre un par de qubits, uno actuando como 'control' y el otro como 'objetivo'. Realiza un NOT en el objetivo siempre que el control esté en el estado . Si el qubit de control está en una superposición, esta puerta crea entrelazamiento.
Todos los circuitos unitarios se pueden descomponer en puertas de un solo qubit y puertas CNOT. Debido a que la puerta CNOT de dos qubits cuesta mucho más tiempo para ejecutar en hardware real que las puertas de un solo qubit, el costo del circuito a veces se mide en el número de puertas CNOT.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
cx q[0], q[1]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta Toffoli
La puerta Toffoli, también conocida como puerta NOT controlado doble (CCX), tiene dos qubits de control y uno objetivo. Aplica un NOT al objetivo solo cuando ambos controles están en el estado .
La puerta Toffoli junto con la puerta Hadamard es un conjunto de puerta universal para computación cuántica.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
ccx q[0], q[1], q[2]; | ![]() | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta SWAP
La puerta SWAP intercambia los estados de dos qubits.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
swap q[0], q[1]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta de identidad
La puerta de identidad (a veces llamada puerta Id o I) es en realidad la ausencia de una puerta. Asegura que nada se aplique a un qubit durante una unidad de tiempo de puerta.
| Referencia de Composer | Referencia QASM |
|---|---|
id q[0]; |
Puertas de fase
Puerta T
La puerta T es equivalente a RZ para el ángulo . Las computadoras cuánticas tolerantes a fallos compilarán todos los programas cuánticos hacia solo la puerta T y su inversa, así como las puertas de Clifford.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
t q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta S
La puerta S aplica una fase de al estado . Es equivalente a RZ para el ángulo . Ten en cuenta que S=P().
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
s q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta Z
La puerta Pauli Z actúa como identidad en el estado y multiplica el signo del estado por -1. Por lo tanto, invierte los estados y . En la base +/-, juega el mismo papel que la puerta NOT en la base /.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
z q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta
También conocida como puerta Tdg o T-dagger.
La inversa de la puerta T.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
tdg q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta
También conocida como puerta Sdg o S-dagger.
La inversa de la puerta S.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
sdg q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta de fase
La puerta de fase (anteriormente llamada puerta U1) aplica una fase de al estado . Para ciertos valores de , es equivalente a otras puertas. Por ejemplo, P()=Z, P(/)=S, y P()=T. Hasta una fase global de , es equivalente a RZ().
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
p(theta) q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para theta es .
Puerta RZ
La puerta RZ implementa . En la esfera de Bloch, esta puerta corresponde a rotar el estado del qubit alrededor del eje z por el ángulo dado.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rz(angle) q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de q-esfera.
Operadores no unitarios y modificadores
Operación de reinicio
La operación de reinicio devuelve un qubit al estado , independientemente de su estado antes de que se aplicara la operación. No es una operación reversible.
| Referencia de Composer | Referencia OpenQASM |
|---|---|
reset q[0]; |
Medición
Medición en la base estándar, también conocida como la base z o base computacional. Se puede usar para implementar cualquier tipo de medición cuando se combina con puertas. No es una operación reversible.
| Referencia de Composer | Referencia OpenQASM |
|---|---|
measure q[0]; |
Modificador de control
Un modificador de control produce una puerta cuya operación original ahora depende del estado del qubit de control. Cuando el control está en el estado , los qubits objetivo se someten a la evolución unitaria especificada. En contraste, no se realiza ninguna operación si el control está en el estado . Si el control está en un estado de superposición, entonces la operación resultante sigue de la linealidad.
Arrastra el modificador de control a una puerta para agregarle un control. Aparecerán puntos arriba y abajo de la puerta, en los cables de qubit que pueden ser objetivos del control; haz clic en uno o más puntos para asignar el objetivo a uno o más qubits. También puedes asignar un control haciendo clic derecho en una puerta.
Para eliminar un control, haz clic derecho en la puerta y selecciona la opción para eliminar el control.
| Referencia de Composer | Referencia OpenQASM |
|---|---|
c |
Operación de barrera
Para hacer tu programa cuántico más eficiente, el compilador intentará combinar puertas. La barrera es una instrucción al compilador para evitar que se hagan estas combinaciones. Además, es útil para visualizaciones.
| Referencia de Composer | Referencia OpenQASM |
|---|---|
barrier q; |
Puerta Hadamard
Puerta H
La puerta H, o puerta Hadamard, rota los estados y a y , respectivamente. Es útil para hacer superposiciones. Si tienes un conjunto de puerta universal en una computadora clásica y agregas la puerta Hadamard, se convierte en un conjunto de puerta universal en una computadora cuántica.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
h q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puertas cuánticas
Puerta
También conocida como la puerta de raíz cuadrada NOT.
Esta puerta implementa la raíz cuadrada de X, . Aplicar esta puerta dos veces seguidas produce la puerta Pauli-X estándar (puerta NOT). Al igual que la puerta Hadamard, crea un estado de superposición igual si el qubit está en el estado , pero con una fase relativa diferente. En algunos hardwares, es una puerta nativa que se puede implementar con un pulso o X90.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
sx q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta
También conocida como la puerta SXdg o raíz cuadrada NOT-dagger.
Esta es la inversa de la puerta . Aplicarla dos veces seguidas produce la puerta Pauli-X (puerta NOT), ya que la puerta NOT es su propia inversa. Al igual que la puerta , esta puerta se puede usar para crear un estado de superposición igual, y también se implementa nativamente en algunos hardwares usando un pulso X90.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
sxdg q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta Y
La puerta Pauli Y es equivalente a Ry para el ángulo . Es equivalente a aplicar X y Z, hasta un factor de fase global.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
y q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta RX
La puerta RX implementa . En la esfera de Bloch, esta puerta corresponde a rotar el estado del qubit alrededor del eje x por el ángulo dado.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rx(angle) q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de q-esfera.
Puerta RY
La puerta RY implementa . En la esfera de Bloch, esta puerta corresponde a rotar el estado del qubit alrededor del eje y por el ángulo dado y no introduce amplitudes complejas.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
ry(angle) q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de q-esfera a continuación.
Puerta RXX
La puerta RXX implementa . La puerta de Mølmer-Sørensen, la puerta nativa en sistemas de trampa de iones, se puede expresar como una suma de puertas RXX.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rxx(angle) q[0], q[1]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es .
Puerta RZZ
La puerta RZZ requiere un solo parámetro: un ángulo expresado en radianes. Esta puerta es simétrica; intercambiar los dos qubits en los que actúa no cambia nada.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rzz(angle) q[0], q[1]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es .
Puerta U
(Anteriormente llamada puerta U3) Los tres parámetros permiten la construcción de cualquier puerta de un solo qubit. Tiene una duración de una unidad de tiempo de puerta.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
u(theta, phi, lam) q[0]; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
En IBM Quantum Composer, el valor predeterminado para angle es .
Puerta RCCX
La puerta Toffoli simplificada, también denominada puerta de Margolus.
La puerta Toffoli simplificada implementa la puerta Toffoli hasta fases relativas. Esta implementación requiere tres puertas CX, que es la cantidad mínima posible, como se muestra en https://arxiv.org/abs/quant-ph/0312225. Ten en cuenta que el Toffoli simplificado no es equivalente al Toffoli, pero se puede usar en lugares donde la puerta Toffoli se descomputa nuevamente.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rccx a, b, c; | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |
Puerta RC3X
La puerta Toffoli de 3 controles simplificada.
La puerta Toffoli simplificada implementa la puerta Toffoli hasta fases relativas. Ten en cuenta que el Toffoli simplificado no es equivalente al Toffoli, pero se puede usar en lugares donde la puerta Toffoli se descomputa nuevamente.
| Referencia de Composer | Referencia OpenQASM | Q-esfera | Nota sobre representaciones de q-esfera |
|---|---|---|---|
rc3x a, b, c, d; | ![]() | La representación de q-esfera muestra el estado después de que la puerta opera en el estado de superposición igual inicial donde es el número de qubits necesarios para admitir la puerta. |

