Conozca la computación cuántica con Quantum Katas
ka·ta | kah-tuh
Patrón para aprender, practicar e implementar nuevas aptitudes, métodos y procesos.
Quantum Katas es una serie de tutoriales de código abierto para el aprendizaje autodidacta de los elementos de la computación cuántica y el lenguaje de programación con Q#.
Aprendizaje práctico
Los tutoriales y ejercicios recopilados en Quantum Katas resaltan la experiencia práctica para reforzar el aprendizaje de los conceptos. Las tareas de programación abarcan una variedad de conceptos cuánticos que progresan de muy sencillo a bastante difícil. Por cada tarea requiere que complete un código faltante; las primeras katas pueden requerir solo una línea y los ejercicios pueden requerir un fragmento variable de código.
Lo más importante es que los katas incluye marcos de pruebas que ejecutan y validan sus soluciones a los ejercicios. Esto le permite obtener comentarios inmediatos sobre sus soluciones y reconsiderar su enfoque en caso de que fuera incorrecto. Y si se bloquea, la mayoría de los katas tienen un libro complementario con las soluciones y explicaciones correctas.
Puede usar katas de su elección al escoger en su entorno:
- Cuadernos de Jupyter Notebook en un entorno de Binder en línea preconfigurado, sin necesidad de instalación
- Cuadernos de Jupyter que se ejecutan en su máquina local
- Visual Studio en el equipo local
- Visual Studio Code en el equipo local
¿Qué conceptos cubre Quantum Katas?
Cada kata explora un concepto fundamental de la computación cuántica, con algunos que abarcan los conceptos básicos y algunos profundizan más en los algoritmos y protocolos cuánticos. Se recomienda la siguiente ruta de aprendizaje para empezar y asegurarse de que tiene una comprensión sólida de los conceptos fundamentales de la computación cuántica. Por supuesto, puede saltar los temas cómodos para usted y explorar los katas en el orden que quiera.
Introducción a la computación cuántica
Kata | Descripción |
---|---|
Aritmética compleja | En este tutorial se explica parte de los conocimientos matemáticos necesarios para trabajar con la computación cuántica, como los números imaginarios y complejos. |
Álgebra lineal | El álgebra lineal se usa para representar las operaciones y los estados cuánticos en la computación cuántica. En este tutorial se describen los conceptos básicos, como las matrices y los vectores. |
Concepto de cúbit | Obtenga más información sobre los cúbits, uno de los conceptos principales de la computación cuántica. |
Puertas cuánticas de un solo cúbit | Este tutorial es una introducción a las puertas cuánticas de un solo cúbit, que sirven como bloques de construcción de los algoritmos cuánticos y transforman los estados cuánticos de los cúbits de varias maneras. |
Sistemas de varios cúbits | Este tutorial es una introducción a los sistemas de varios cúbits, su representación en notación matemática y en código de Q#, y el concepto de entrelazamiento. |
Puertas cuánticas de varios cúbits | Este tutorial es una continuación del tutorial Puertas cuánticas de un solo cúbit y se centra en la aplicación de las puertas cuánticas a sistemas de varios cúbits. |
Conceptos básicos de la computación cuántica
Kata | Descripción |
---|---|
Reconocimiento de puertas cuánticas | Una serie de ejercicios diseñados para ayudarle a familiarizarse con las puertas cuánticas básicas en Q#. Incluye ejercicios para puertas básicas de uno o varios cúbits, puertas adyacentes y controladas, y cómo usar las puertas para modificar el estado de un cúbit. |
Creación de una superposición cuántica | Use estos ejercicios para familiarizarse con el concepto de superposición y programación en Q#. Incluye ejercicios para puertas básicas de uno y varios cúbits, superposición y control de flujo y recursividad en Q#. |
Distinción de los estados cuánticos mediante medidas | Resuelva estos ejercicios mientras aprende sobre la medición cuántica y los estados ortogonales y no ortogonales. |
Medidas combinadas | Obtenga información sobre las medidas de la paridad conjuntas y cómo usar la operación Measure para distinguir los estados cuánticos. |
Algoritmos cuánticos
Kata | Descripción |
---|---|
Teleportabilidad cuántica | Este kata explora el teletransporte cuántico, un protocolo que permite comunicar un estado cuántico utilizando únicamente la comunicación clásica y el entrelazamiento cuántico previamente compartido. |
Codificación superdensa | La codificación superdensa es un protocolo que permite la transmisión de dos bits de información clásica mediante el envío de un solo cúbit con el entrelazamiento cuántico previamente compartido. |
Algoritmo de Deutsch-Jozsa | Este algoritmo es famoso por ser uno de los primeros ejemplos de un algoritmo cuántico que es exponencialmente más rápido que cualquier algoritmo clásico determinista. |
Exploración de las propiedades generales del algoritmo de búsqueda de Grover | Introducción general a uno de los algoritmos más famosos de la computación cuántica. Resuelve el problema de encontrar una entrada a un cuadro negro (oráculo) que produce una salida determinada. |
Implementación del algoritmo de búsqueda de Grover | Este kata profundiza en el algoritmo de búsqueda de Grover y abarca la escritura de oráculos, la ejecución de los pasos del algoritmo y, por último, cómo funciona todo junto. |
Solución de problemas reales con el algoritmo de Grover: problemas de SAT | Una serie de ejercicios en los que se usa el algoritmo de Grover para solucionar problemas realistas, usando problemas de satisfacibilidad booleana (SAT) como ejemplo. |
Solución de problemas reales con el algoritmo de Grover: problemas de color de grafos | Este kata explora el algoritmo de Grover, esta vez para resolver problemas de satisfacción de restricciones, mediante un problema de coloreado de grafos como ejemplo. |
Protocolos y bibliotecas de Quantum
Kata | Descripción |
---|---|
Protocolo BB84 para la distribución cuántica de claves | Aprenda e implemente un protocolo de distribución de claves cuánticas, BB84, que usa cúbits para intercambiar claves criptográficas. |
Código de corrección de errores de volteo de bits | Explore la corrección de errores cuánticos con los códigos de corrección de errores cuánticos (QEC) más sencillos: los códigos de volteo de bits de tres cúbits. |
Estimación de la fase | Los algoritmos de estimación de fase son unos de los bloques de creación fundamentales de la computación cuántica. Estos ejercicios explican la estimación de fase cuántica y cómo preparar y ejecutar rutinas de estimación de fase en QQ#. |
Aritmética cuántica: creación de sumadores de acarreo en cascada | Una serie detallada de ejercicios que explora la suma con acarreo en serie en un equipo cuántico. Cree un sumador cuántico in situ, expándalo con un algoritmo diferente y, por último, cree un restador cuántico in situ. |
Juegos de entrelazamiento cuántico
Kata | Descripción |
---|---|
Juego CHSH | Explore el entrelazamiento cuántico con una implementación del juego CHSH. En este juego no local se muestra cómo se puede usar el entrelazamiento cuántico para aumentar las probabilidades de que los jugadores ganen más allá de lo que sería posible con una estrategia puramente clásica. |
Juego GHZ | El juego GHZ es otro juego no local, pero con tres jugadores. |
Juego del cuadrado mágico de Mermin-Peres | Una serie de ejercicios que exploran la pseudotelepatía cuántica para resolver un juego de cuadrados mágicos. |
Pasos siguientes
- Explore la serie completa de Quantum Katas
- Ejecución de Quantum Katas en línea