IBM Compositor cuántico
¿Qué es?
IBM Quantum® Composer es una herramienta gráfica de programación cuántica que permite arrastrar y soltar operaciones para construir circuitos cuánticos y ejecutarlos en hardware cuántico.
¿Qué puede hacer?
Visualizar los estados de los qubits
Vea cómo los cambios en su circuito afectan al estado de los qubits, mostrados como una q-esfera interactiva, o histogramas que muestran probabilidades de medición o simulaciones de vectores de estado.
Funciona con hardware cuántico
Ejecute sus circuitos en hardware cuántico real para comprender los efectos del ruido del dispositivo.
Generar código automáticamente
En lugar de escribir código a mano, genera automáticamente código OpenQASM o Python que se comporte de la misma forma que el circuito que has creado con el Compositor.
Recorrido por la interfaz
IBM Quantum Composer cuenta con un conjunto de herramientas personalizables que permiten construir, visualizar y ejecutar circuitos cuánticos en unidades de procesamiento cuántico (QPU). Utilice el menú "Más opciones" de cada ventana para acceder a herramientas y acciones adicionales.
-
Catálogo de operaciones - 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. Los distintos tipos de puertas se agrupan por colores. Por ejemplo, las puertas clásicas son de color azul oscuro, las puertas de fase son de color azul claro y las operaciones no unitarias son de color gris.
Para conocer las puertas y operaciones disponibles, haga clic con el botón derecho del ratón en una operación y seleccione Info para leer su definición.
-
Editor de código - Utiliza 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 sólo lectura.
-
Editor gráfico de circuitos - Aquí es donde se construye un circuito. Arrastra puertas y otras operaciones sobre los "cables" horizontales de qubits que componen tu registro cuántico.
Para eliminar una puerta de un cable, selecciónela y haga clic en el icono de la papelera.
Para editar los parámetros y ajustes de las puertas que admiten edición, seleccione la puerta en el editor gráfico y haga clic en Editar.
-
Barra de herramientas : acceda a las herramientas más utilizadas para deshacer y rehacer acciones, cambiar la alineación de la puerta y pasar al modo de inspección. El modo de inspección permite ver paso a paso los estados de los qubits a medida que evoluciona el cálculo del circuito. Para saber más, consulta Inspecciona tu circuito paso a paso.
-
Discos de fase - La fase del vector de estado del qubit en el plano complejo viene dada por la línea que se extiende desde el centro del diagrama hasta el borde del disco gris (que gira en sentido antihorario alrededor del punto central).
Utilice el menú Ver para mostrar u ocultar los discos de fase.
-
Visualizaciones - Las visualizaciones caracterizan tu circuito a medida que lo construyes. Utilizan un simulador de vector de estado de disparo único, que es diferente del QPU especificado en los ajustes de "Ejecutar circuito". Tenga en cuenta que las visualizaciones ignoran cualquier operación de medición que añada. Inicie sesión y haga clic en Ejecutar circuito para obtener los resultados del backend especificado en su lugar.
Más información en la sección Visualizaciones.
Construye, edita e inspecciona circuitos cuánticos
Si desea seguir trabajando con un circuito en otro momento, asegúrese de descargar el archivo del circuito y almacenarlo localmente antes de salir de la sesión actual de Composer. Utilice el enlace "Guardar archivo" de la esquina superior derecha, o vaya al menú Archivo y elija "Guardar archivo". Cuando estés listo para trabajar de nuevo con el circuito, ve al menú Archivo y selecciona "Cargar archivo.qasm", luego navega hasta el archivo de tu circuito en tu unidad local y haz clic en Abrir.
1. Abra IBM Quantum Composer
- (Opcional) Si no ha iniciado sesión en IBM Quantum, seleccione Iniciar sesión en la esquina superior derecha. A continuación, puede iniciar sesión o crear una cuenta en IBM Cloud.
Si no te registras, las visualizaciones muestran automáticamente resultados simulados para un máximo de cuatro qubits. Si quieres ejecutar tu circuito en un ordenador cuántico, o si quieres visualizar un circuito que tenga más de cuatro qubits, debes registrarte.
-
Abra IBM Quantum Composer haciendo clic en el enlace de la navegación de la página de Aprendizaje. El espacio de trabajo muestra un circuito vacío sin título. Puedes crear un circuito nuevo o cargar un archivo.qasm para seguir trabajando con un circuito que ya hayas creado.
-
Nombra tu circuito haciendo clic en las palabras Circuito sin título y escribiendo un nombre para tu circuito. Haga clic en la marca de verificación para guardar el nombre.
-
(Opcional) Personaliza tu espacio de trabajo:
- Utilice el menú Ver para cambiar del tema por defecto a un tema monocromo. También puede seleccionar qué paneles incluir en su espacio de trabajo y, a continuación, utilizar el menú de la esquina derecha de cualquier panel para acceder a las opciones de personalización. Las opciones para mostrar u ocultar los discos de fase, elegir la alineación de los qubits en tu circuito y restablecer el espacio de trabajo al predeterminado también están en el menú Ver.
- Cambia entre los temas oscuro y claro del espacio de trabajo en la esquina inferior derecha del pie de página.
Para construir un circuito, puedes arrastrar y soltar operaciones o introducir código OpenQASM en el editor de código.
2. Construye tu circuito con la función de arrastrar y soltar
Catálogo de operaciones
Arrastre y suelte operaciones del catálogo de operaciones en los registros cuántico y clásico. Haga clic en el icono de búsqueda e introduzca un término en la barra de búsqueda para encontrar rápidamente una operación.
Contraiga y expanda el catálogo de operaciones haciendo clic en el icono de la esquina superior derecha del panel de operaciones. Haga clic en el icono situado junto a él para alternar entre una vista de cuadrícula y una vista de lista del catálogo.
Haga clic con el botón derecho en un icono de operación y seleccione Info para ver la definición de una operación, junto con su referencia QASM.
Para deshacer o rehacer, utilice las flechas curvas de la barra de herramientas.
Alineación
Elija Alineación libre para colocar las operaciones en cualquier lugar del circuito. Para una vista más compacta de su circuito, elija la alineación Izquierda. Para ver el orden en que se ejecutarán las operaciones, elija Alineación de capas, que aplicará la alineación izquierda y añadirá delineadores de columna que indican el orden de ejecución, de izquierda a derecha y de arriba abajo.
Una vez colocadas las operaciones en tu circuito, puedes seguir arrastrándolas y soltándolas en nuevas posiciones.
Copiar y pegar
Haga clic en una operación y utilice los iconos del menú contextual para copiarla y pegarla.
Seleccionar varias operaciones
Puede seleccionar varias operaciones para copiarlas y pegarlas, arrastrarlas a una nueva ubicación o agruparlas en una operación unitaria personalizada que aparezca en su catálogo de operaciones y funcione como una única puerta.
Para seleccionar más de una operación, coloque el cursor justo fuera de una de las operaciones y, a continuación, haga clic y arrastre por el área que desee seleccionar. Pulse Mayús y haga clic en operaciones individuales para seleccionarlas o deseleccionarlas. Una línea discontinua delimita el conjunto de operaciones que está seleccionando, y cada operación que realmente forma parte de la selección se delimita en 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.
Seleccione Copiar en el menú contextual para copiar el grupo.
Para pegar el grupo de operaciones, haga clic con el botón derecho del ratón en el circuito y seleccione Pegar.
Cree una operación personalizada utilizando la función de grupo
Para agrupar varias operaciones y guardarlas como una operación personalizada, primero seleccione las operaciones como se ha descrito anteriormente y, a continuación, seleccione Agrupar en el menú contextual. Se le pedirá que asigne un nombre a la operación personalizada o puede aceptar el nombre predeterminado. Haga clic en OK, y la operación personalizada se representará con una sola casilla, tanto en su circuito como en el catálogo de operaciones.
Ahora puede arrastrar y soltar la nueva operación por todo el circuito. Tenga en cuenta que la operación se guarda en este circuito pero no aparece en el catálogo de operaciones de otros circuitos.
También puede crear una operación personalizada directamente en el editor de código OpenQASM; consulte Crear una operación personalizada en OpenQASM para obtener más información.
Desagrupar una operación personalizada o predefinida
Para desagrupar las puertas dentro de una operación personalizada o predefinida, haga clic en la operación en el Compositor y seleccione Desagrupar en el menú contextual. Ahora puede desplazar las operaciones por separado. Al desagrupar una operación, cada elemento del grupo anterior se ejecuta de forma independiente, lo que puede significar que se ejecuten en un orden distinto al que tenían cuando estaban agrupados.
Ampliar la definición de una operación
Para ver las operaciones que constituyen una operación personalizada o predefinida sin desagruparlas, haga clic en Ampliar definición en el menú contextual para ver las puertas de definición. Vuelva a hacer clic en el icono para contraer la definición.
Renombrar o eliminar una operación personalizada
Para cambiar el nombre o eliminar una operación personalizada, haga clic con el botón derecho en la operación en el catálogo de operaciones y seleccione Cambiar nombre o Eliminar. Al eliminar una operación personalizada del catálogo de operaciones también se elimina cualquier instancia de la misma en tu circuito.
La eliminación de una operación personalizada del propio circuito no la elimina del catálogo de operaciones; sólo se puede eliminar una operación personalizada del catálogo haciendo clic con el botón derecho del ratón y seleccionando Eliminar.
Añadir o eliminar registros
Para añadir o eliminar registros cuánticos o clásicos, haga clic en Editar → Gestionar registros. Puedes aumentar o disminuir el número de qubits o bits de tu circuito y cambiar el nombre de los registros. Haga clic en Aceptar para aplicar los cambios. También puedes hacer clic en el nombre del registro (por ejemplo, q[0]) y utilizar las opciones del menú contextual para añadir o eliminar rápidamente registros o qubits.
Añadir una condición
Para añadir una condicional a una puerta, arrastre la operación if a la puerta y configure los parámetros en el panel Editar operación que se abre automáticamente. También puede hacer doble clic en una puerta para acceder al panel de operaciones Editar y establecer así los parámetros condicionales.
Añadir un modificador de control
Un modificador de control produce una puerta cuyo funcionamiento original depende ahora del estado del qubit de control. Para obtener más información, haga clic con el botón derecho del ratón en el símbolo del modificador de control en el catálogo de operaciones y, a continuación, haga clic en Información.
Arrastre el modificador de control a una puerta para añadirle un control. Aparece un punto en el qubit de control y una línea lo conecta con el qubit objetivo. Para editar qué qubit es el control o el objetivo, haga clic en la puerta y seleccione el icono Editar operación (o haga doble clic en la puerta) para abrir el panel Editar operación y, a continuación, especifique sus parámetros. Desde el panel Editar operación, también puede eliminar un control de un qubit haciendo clic en la x situada junto al nombre del qubit.
Visualice con discos de fase en todo su circuito
Para visualizar el estado de todos los qubits en cualquier punto de tu circuito, arrastra el icono del disco de fase desde el catálogo de operaciones y colócalo en cualquier lugar de tu circuito. Se añade una columna de operaciones barrera y una columna de discos de fase (una operación barrera y un disco de fase por qubit). Pasa el ratón por encima de cada disco de fase para leer el estado del qubit en ese punto del circuito. Ten en cuenta que añadir los discos de fase no altera tu circuito; son simplemente una herramienta de visualización.
Más información sobre la visualización del disco de fase.
Exportar una imagen de circuito
Para exportar una imagen de su circuito, seleccione Archivo → Exportar imagen del circuito. Se abre la ventana Opciones de exportación, donde puede elegir un tema (claro, oscuro, blanco sobre negro o negro sobre blanco), un formato (.svg o.png) y si desea aplicar un ajuste de línea. Una vez elegidas las opciones, haz clic en Exportar.
3. Construye tu circuito con un códig OpenQASM
IBM Quantum Composer admite actualmente OpenQASM 2.0.
- Para abrir el editor de código, haga clic en Ver → Paneles → Editor de código.
- Consulte el glosario de operaciones de Composer en OpenQASM para obtener referencias a compuertas y otras operaciones.
- Puede definir sus propias operaciones personalizadas; consulte Crear una operación personalizada en OpenQASM.
- Para más información sobre el uso del lenguaje OpenQASM, incluidas líneas de código de ejemplo, consulte la guía Introducción a OpenQASM, o lea el documento de investigación original, Open Quantum Assembly Language. A continuación se reproduce la tabla de declaraciones lingüísticas OpenQASM del documento. La gramática de OpenQASM puede consultarse en el Apéndice A del documento.
| Sentencia | Descripción | Ejemplo |
|---|---|---|
OPENQASM 2.0; | Indica un archivo en formato OpenQASM (véase [a] ) | OPENQASM 2.0; |
qreg [namesize]; | Declarar un registro con nombre de qubits | qreg [q5]; |
creg [namesize]; | Declarar un registro de bits con nombre | creg [c5]; |
incluir "nombre de archivo"; | Abrir y analizar otro archivo fuente | incluir “qelib1.inc”; |
gate name(params) qargs | Declarar una puerta unitaria | (véase el texto del documento) |
nombre opaco(params) qargs; | Declarar una puerta opaca | (véase el texto del documento) |
// texto del comentario | Comentar una línea de texto | // ¡Uy! |
U(theta,phi,lambda) qubit|qreg; | Aplicar la(s) puerta(s) incorporada(s) de un solo qubit (ver [b] ) | U( pi/2,2*pi/3,0) [q0]; |
CX qubit|qreg,qubit|qreg; | Aplicar puerta(s) CNOT integrada(s) | CX [q0], [q1]; |
medir qubit|qreg -> bit|creg; | Realice la(s) medición(es) en basis | medida q -> c; |
reset qubit|qreg; | Preparar qubit(s) en | reinicia [q0]; |
gatename(params) qargs; | Aplicar una puerta unitaria definida por el usuario | crz( pi/2 ) [q1], [q0]; |
if(creg==int) qop; | Aplicar condicionalmente la operación cuántica | if( c==5 ) CX [q0], [q1]; |
barrera qargs; | Evitar transformaciones a través de esta línea de origen | barrera [q0], [q1]; |
[a] Debe aparecer como primera línea no comentada del fichero.
[b] Los parámetros theta, phi y lambda vienen dados por expresiones de parámetros; para más información, véase la página 5 del documento y el Apéndice A.
Crear una operación personalizada en OpenQASM
Puede definir nuevas operaciones unitarias en el editor de código (véase un ejemplo en la figura siguiente). Las operaciones se aplican utilizando 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, introdúzcala en el editor de código OpenQASM con este formato: gatename(params) qargs;. Si hace clic en +Añadir en la lista de operaciones, se le pedirá que introduzca un nombre para su operación personalizada, que podrá construir en el editor de código.
Una vez definida la operación personalizada, arrástrela al editor gráfico y utilice el icono de edición para ajustar los parámetros.
Ejemplo de operación personalizada | |
|---|---|
| Las puertas que se incluirán en la operación personalizada: | ![]() |
| El código de la nueva operación: | ![]() |
| La nueva operación en el editor gráfico: | ![]() |
4. Inspeccione su circuito paso a paso
El modo Inspección desmitifica el funcionamiento interno de los circuitos que creas. Realiza una simulación de tu circuito, capa por capa, para que puedas ver el estado de los qubits a medida que evoluciona el cálculo.
-
En el menú Ver, seleccione los paneles de las visualizaciones que desee utilizar.
-
Haga clic en el botón Inspeccionar de la barra de herramientas. Tenga en cuenta que, una vez activado el modo Inspección, no podrá añadir más operaciones hasta que vuelva a desactivarlo.
-
Si has construido tu circuito con la alineación de Forma Libre activada, ten en cuenta que el modo Inspeccionar activa automáticamente la alineación Izquierda.
-
Para desplazarte paso a paso por las visualizaciones de los componentes de tu circuito, utiliza los botones de avance y retroceso.

-
Para inspeccionar sólo algunas operaciones, haga clic en las operaciones que desee inspeccionar, y aparecerá una superposición de color sobre cada una que indica que se incluirán cuando se ejecute en modo Inspeccionar. Para deseleccionar una operación, vuelva a hacer clic sobre ella y la superposición desaparecerá.
-
Para obtener más información sobre la interpretación de visualizaciones, consulte el tema Visualizaciones.
-
Para salir del modo Inspeccionar y volver a editar el circuito, haz clic en el conmutador Inspeccionar de 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. Puede ver el número de semilla seleccionando "Visualizaciones semilla" en el menú Edición. También puede establecer la semilla usted mismo cambiando el valor de la casilla.
Ejecutar circuitos y ver resultados
Sigue los pasos que se indican a continuación para ejecutar circuitos cuánticos en QPUs y ver los resultados.
Elige la configuración de tu trabajo
Haga clic en Ejecutar circuito en la esquina superior derecha. En la ventana que se abre, seleccione una QPU disponible. También puede elegir una instancia, que está asociada a un plan (como los planes Open, Flex o Premium). La instancia que elijas afecta a las QPU que tienes disponibles. Haga clic en el enlace "Ver detalles" de la tabla de QPUs para ver más información sobre cada QPU.
A continuación, puede establecer el número de disparos (ejecuciones) de su circuito que realizará el backend.
En este panel también puede asignar un nombre al trabajo y añadir etiquetas. Esto no cambiará el nombre del circuito. Una etiqueta "Compositor" precargada facilita el filtrado de la tabla de cargas de trabajo por tareas de Compositor. Puede eliminar esta etiqueta.
Cuando se ejecuta un circuito, se envía automáticamente a la QPU menos ocupada, a menos que se especifique una QPU en los ajustes de Ejecución. Si vuelve a ejecutar el mismo circuito, la ventana de selección de QPU volverá a su elección anterior.
Haga clic en «Ejecutar en (nombre de QPU)»
Puede ver el progreso del trabajo haciendo clic en el botón "Ver trabajos" en la esquina superior derecha, que abrirá la página Cargas de trabajo en IBM Quantum Platform.
Ver resultados
Una vez completado el trabajo, los detalles se actualizan en la tabla de cargas de trabajo en IBM Quantum Platform.
La página de resultados de los trabajos muestra detalles de la ejecución, diagramas del circuito original y del transpilado, un histograma de los resultados y las pestañas OpenQASM y Qiskit para ver los circuitos original y transpilado en OpenQASM o Qiskit.
Puede descargar los circuitos y el histograma haciendo clic en el menú de la esquina superior derecha de cada diagrama y seleccionando a continuación un formato para la descarga (PNG, PDF o SVG; además, puede exportar el histograma como archivo CSV). Puede abrir los circuitos OpenQASM directamente en Composer.
Visualizaciones
Las visualizaciones en vivo de IBM Quantum Composer le muestran diferentes vistas de cómo los circuitos cuánticos afectan al estado de una colección de qubits. A continuación se explica detalladamente cada tipo de visualización en directo.
Las visualizaciones en vivo provienen de un simulador de vector de estado de un solo disparo, que es diferente de la QPU especificada 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. Puede ver el número de semilla seleccionando "Visualizaciones semilla" en el menú Edición. También puede establecer la semilla usted mismo cambiando el valor de la casilla.
Ver 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 qubit). Puede elegir cualquier combinación de visualizaciones de vectores de estado, probabilidades y esferas q para que aparezcan en la parte inferior del espacio de trabajo. Seleccione o anule la selección de visualizaciones en el menú Ver.
Descargar visualizaciones
Descargue una de las visualizaciones de la parte inferior del espacio de trabajo de Composer haciendo clic en el menú "Más opciones" de la ventana de visualización. Puede descargar visualizaciones en formato SVG, PNG o CSV de los datos subyacentes. También puede descargar las imágenes de visualización de las probabilidades de medición y los histogramas de vectores de estado en formato PDF.
Disco de fase
Un estado de un solo qubit puede representarse como
donde es la probabilidad de que el qubit esté en el estado , y es la fase cuántica. es fuertemente análogo 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 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 en la terminación de cada qubit en IBM Quantum Composer da el estado local de cada qubit al final del cálculo. A continuación se describen los componentes del disco de fase.
Probabilidad de que el qubit esté en el estado
La probabilidad de que el qubit se encuentre en el estado está representada por el relleno del disco azul.
Fase cuántica
La fase cuántica del estado del qubit viene dada 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 visualización del disco de fase. El primer ejemplo es un estado y el segundo muestra el estado con una fase relativa distinta 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 la esfera de Bloch: , , y .
Estados N-qubit: máximo 15 qubits
Un estado cuántico N-qubit tiene 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 terreno . Aquí es sencillo ver que para un estado cuántico N-qubit hay probabilidades y fases. El disco de fase no puede representar este estado, ya que los discos de fase de N-qubit sólo contendrían probabilidades y fases; esto se debe a que la mayoría de los estados están entrelazados y no son separables en estados cuánticos independientes de un solo qubit. Para representar que la información completa no está contenida en esta visualización, introducimos la pureza reducida como un componente en el disco de fase.
Pureza reducida del estado qubit
El radio del anillo negro en el disco de fase representa la pureza reducida del estado del qubit, que para el qubit en un estado de -qubit viene dada por . La pureza reducida para un solo qubit se encuentra en el intervalo ; un valor de uno indica que el qubit no está entrelazado con ningún otro. Por el contrario, una pureza reducida de indica que el qubit permanece en un estado completamente mezclado y presenta cierto grado de entrelazamiento con los qubits restantes de , y posiblemente incluso con el entorno.
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 indica los estados básicos de cálculo. El eje vertical mide las probabilidades en términos de porcentajes. Según este punto de vista, las fases cuánticas no están representadas, por lo que se trata de 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.
Considere 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 . Las probabilidades para cada uno de los estados computacionales son 1/4.
Vista de la esfera Q
límite de 5 qubits
La q-esfera representa el estado de un sistema de uno o más qubits asociando cada estado base computacional a un punto de la superficie de una esfera. En cada punto se ve un nodo. El radio de cada nodo es proporcional a la probabilidad ( ) de su estado base, mientras que el color del nodo indica la fase cuántica ( ).
Los nodos se colocan en la esfera q de forma que el estado base con todos los ceros (por ejemplo, se encuentre en su polo norte, y el estado base con todos los unos (por ejemplo, ) se encuentre en su polo sur. Los estados base con el mismo número de ceros (o 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 base con un mayor número de unos; la latitud de un estado 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.
Consideremos el siguiente circuito cuántico y su esfera q, que representa el estado que crea el circuito:

Puede seleccionar, mantener pulsado y arrastrar para girar la esfera q. Para restablecer la orientación predeterminada de la q-esfera, seleccione el botón de flecha hacia atrás situado en la parte superior derecha de la q-esfera.
Es importante destacar que la esfera q no es lo mismo que la esfera de Bloch, incluso para un único qubit. En efecto, al igual que el disco de fase, la esfera de Bloch ofrece una visión local del estado cuántico, en la que cada qubit se ve por separado. Cuando se intenta comprender cómo se comportan los registros de qubits (estados multiqubit) al aplicar circuitos cuánticos, es más perspicaz adoptar una visión global y observar el estado cuántico en su totalidad. La esfera q proporciona una representación visual del estado cuántico y, por tanto, este punto de vista global. Por lo tanto, cuando se exploran aplicaciones y algoritmos cuánticos en un número reducido de qubits, la q-esfera debe ser el principal método de visualización.
Vista del vector de estado
límite de 6 qubits
Es común llamar a la amplitud cuántica. Esta vista visualiza las amplitudes cuánticas como un gráfico de barras. El eje horizontal indica los estados básicos de cálculo. El eje vertical mide la magnitud de las amplitudes ( ) asociadas a cada estado base de cálculo. El color de cada barra representa la fase cuántica ( ).
Considere el siguiente circuito cuántico y su vista de vector de estado:
El circuito pone los dos qubits en el estado . Los estados base computacionales son , , , y . Las magnitudes de las amplitudes son , y las fases cuánticas con respecto al estado base son para y , y para .
Glosario de operaciones del compositor
Esta página es una referencia que define las diversas operaciones clásicas y cuánticas que puedes utilizar para manipular qubits en un circuito cuántico. Las operaciones cuánticas incluyen puertas cuánticas, como la puerta de Hadamard, así como operaciones que no son puertas cuánticas, como la operación de medida.
Cada una de las entradas siguientes 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 la esfera q en cada entrada de la puerta muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial , donde es el número de qubits necesarios para soportar la puerta. Consulte el tema q-sphere para obtener más información sobre esta visualización.
Puede definir una operación personalizada para utilizarla en IBM Quantum Composer. Para obtener instrucciones, consulte el tema Crear una operación personalizada en OpenQASM.
Los colores de las puertas son ligeramente diferentes en los temas claros y oscuros. Aquí se muestran los colores del tema de la luz.
Haga clic en una operación cuántica para ver su definición.
Puertas clásicas
Puerta NOT
La puerta NOT, también conocida como puerta X de Pauli, cambia el estado a , y viceversa. La puerta NOT equivale a RX para el ángulo o a 'HZH'.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | x q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta CNOT
La puerta controlada-NOT, también conocida como puerta controlada-x (CX), actúa sobre un par de qubits, uno de los cuales actúa como "control" y el otro como "objetivo". Realiza un NOT sobre el objetivo siempre que el control esté en el estado . Si el qubit de control está en superposición, esta puerta crea entrelazamiento.
Todos los circuitos unitarios pueden descomponerse en puertas de un qubit y puertas CNOT. Dado que la puerta CNOT de dos qubits cuesta mucho más tiempo de ejecución en hardware real que las puertas de un solo qubit, el coste del circuito se mide a veces en número de puertas CNOT.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
cx q[0], q[1]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta Toffoli
La puerta Toffoli, también conocida como puerta doble controlada-NOT (CCX), tiene dos qubits de control y un objetivo. Aplica un NOT al objetivo sólo cuando ambos mandos están en el estado .
La puerta de Toffoli con la puerta de Hadamard es un conjunto de puertas universal para la computación cuántica.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | ccx q[0], q[1], q[2]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta SWAP
La puerta SWAP intercambia los estados de dos qubits.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | swap q[0], q[1]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta de identidad
La puerta de la identidad (a veces llamada puerta del Id o del Yo) es en realidad la ausencia de puerta. Garantiza que no se aplique nada a un qubit durante una unidad de tiempo de puerta.
Referencia del compositor | Referencia QASM |
|---|---|
![]() | id q[0]; |
Puertas de fase
Puerta T
La puerta T es equivalente a RZ para el ángulo . Los ordenadores cuánticos tolerantes a fallos compilarán todos los programas cuánticos reduciéndolos a la puerta T y su inversa, así como a las puertas Clifford.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
t q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta S
La puerta S aplica una fase de al estado . Es equivalente a RZ para el ángulo . Obsérvese que S=P( ).
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
s q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta Z
La puerta Z de Pauli actúa como identidad en el estado y multiplica el signo del estado por -1. Por tanto, invierte los estados y . En la base +/-, desempeña el mismo papel que la puerta NOT en la base / .
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
z q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
puerta
También conocida como puerta Tdg o T-dagger.
La inversa de la puerta T.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
tdg q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
puerta
También conocida como puerta Sdg o S-dagger.
La inversa de la puerta S.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
sdg q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta de fase
La puerta de fase (antes 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 del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
p(theta) q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para theta es .
Puerta RZ
La puerta RZ implementa . En la esfera de Bloch, esta puerta corresponde a la rotación del estado del qubit alrededor del eje z en el ángulo dado.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | rz(angle) q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de la esfera q.
Operadores y modificadores no unitarios
Operación de reinicio
La operación de reinicio devuelve un qubit al estado , independientemente de su estado antes de aplicar la operación. No es una operación reversible.
Referencia del compositor | OpenQASM referencia |
|---|---|
reset q[0]; |
Medida
Medición en la base estándar, también conocida como base z o base de cálculo. Puede utilizarse para realizar cualquier tipo de medición cuando se combina con compuertas. No es una operación reversible.
Referencia del compositor | OpenQASM referencia |
|---|---|
measure q[0]; |
Modificador de control
Un modificador de control produce una puerta cuyo funcionamiento original depende ahora del estado del qubit de control. Cuando el control se encuentra en el estado , el qubit o qubits objetivo experimentan la evolución unitaria especificada. Por el contrario, no se realiza ninguna operación si el control se encuentra en el estado . Si el control se encuentra en un estado de superposición, la operación resultante se deriva de la linealidad.
Arrastre el modificador de control a una puerta para añadirle un control. Aparecerán puntos encima y debajo de la puerta, en los cables de los qubits que pueden ser objetivos que controlar; haga 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 con el botón derecho en una puerta.
Para eliminar un control, haga clic con el botón derecho del ratón en la puerta y seleccione la opción de eliminar control.
Referencia del compositor | OpenQASM referencia |
|---|---|
c |
Funcionamiento de la barrera
Para que tu programa cuántico sea más eficiente, el compilador intentará combinar puertas. La barrera es una instrucción al compilador para impedir que se realicen estas combinaciones. Además, es útil para las visualizaciones.
Referencia del compositor | OpenQASM referencia |
|---|---|
![]() | barrier q; |
Puerta Hadamard
Puerta H
La puerta H, o Hadamard, rota los estados y a y , respectivamente. Es útil para hacer superposiciones. Si se tiene un conjunto de puertas universales en un ordenador clásico y se le añade la puerta de Hadamard, se convierte en un conjunto de puertas universales en un ordenador cuántico.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
h q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puertas cuánticas
puerta
También conocida como puerta NOT de raíz cuadrada.
Esta puerta implementa la raíz cuadrada de X, . Aplicando esta puerta dos veces seguidas se obtiene la puerta estándar Pauli-X (puerta NOT). Al igual que la puerta de Hadamard, crea un estado de superposición igual si el qubit se encuentra en el estado , pero con una fase relativa diferente. En algunos hardwares, es una puerta nativa que puede implementarse con un pulso o X90.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | sx q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
puerta
También conocida como puerta NOT-daga de raíz cuadrada o SXdg.
Es la inversa de la puerta . Aplicándola dos veces seguidas se obtiene la puerta Pauli-X (puerta NOT), ya que la puerta NOT es su propia inversa. Al igual que la puerta , esta puerta se puede utilizar para crear un estado de superposición igual, y también se implementa de forma nativa en algunos hardwares utilizando un pulso X90.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | sxdg q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta Y
La puerta Pauli Y equivale a Ry para el ángulo . Equivale a aplicar X y Z, hasta un factor de fase global.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
y q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
Puerta RX
La puerta RX implementa . En la esfera de Bloch, esta puerta corresponde a la rotación del estado del qubit alrededor del eje x en el ángulo dado.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
rx(angle) q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de la esfera q.
Puerta RY
La puerta RY implementa . En la esfera de Bloch, esta puerta corresponde a la rotación del estado del qubit alrededor del eje y por el ángulo dado y no introduce amplitudes complejas.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
ry(angle) q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es . Por lo tanto, este es el ángulo utilizado en la visualización de la esfera q que se muestra a continuación.
Puerta RXX
La puerta RXX implementa . La puerta Mølmer-Sørensen, la puerta nativa de los sistemas de trampa de iones, puede expresarse como una suma de puertas RXX.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
rxx(angle) q[0], q[1]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es .
Puerta RZZ
La puerta RZZ requiere un único parámetro: un ángulo expresado en radianes. Esta puerta es simétrica; intercambiar los dos qubits sobre los que actúa no cambia nada.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
rzz(angle) q[0], q[1]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es .
Puerta U
(Anteriormente denominada puerta U3 ) Los tres parámetros permiten construir cualquier puerta de un solo qubit. Tiene una duración de una unidad de tiempo de puerta.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
u(theta, phi, lam) q[0]; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
En IBM Quantum Composer, el valor por defecto para angle es .
Puerta RCCX
La puerta simplificada de Toffoli, también llamada puerta de Margolus.
La puerta de Toffoli simplificada implementa la puerta de Toffoli hasta fases relativas. Esta implementación requiere tres compuertas CX, que es la cantidad mínima posible, como se muestra en https://arxiv.org/abs/quant-ph/0312225. Tenga en cuenta que el Toffoli simplificado no es equivalente al Toffoli, pero se puede utilizar en lugares donde la puerta de Toffoli no se calcula de nuevo.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | rccx a, b, c; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |
RC3X puerta
La puerta de Toffoli simplificada de 3 controles.
La puerta de Toffoli simplificada implementa la puerta de Toffoli hasta fases relativas. Tenga en cuenta que el Toffoli simplificado no es equivalente al Toffoli, pero se puede utilizar en lugares donde la puerta de Toffoli no se calcula de nuevo.
Referencia del compositor | OpenQASM referencia | Q-sphere | Nota sobre las representaciones de la esfera q |
|---|---|---|---|
![]() | rc3x a, b, c, d; | ![]() | La representación de la esfera q muestra el estado después de que la puerta opere sobre el estado de superposición igual inicial donde es el número de qubits necesarios para soportar la puerta. |


































