Conozca la computación cuántica con Quantum Katas

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 la programación con Q#.

Aprendizaje práctico

Los tutoriales y ejercicios recopilados en este proyecto resaltan el aprendizaje práctico: ofrecen tareas de programación que abarcan determinados temas que progresan desde muy sencillo a muy desafiante. Cada tarea requiere que complete un código; las primeras tareas pueden requerir solo una línea y las últimas pueden requerir un fragmento variable de código.

Lo más importante es que los katas incluye marcos de pruebas que configuran, ejecutan y validan las soluciones a las tareas. Esto le permite obtener comentarios inmediatos sobre su solución y reconsiderar su enfoque en caso de que fuera incorrecto.

Puede usar katas para aprender en el entorno que prefiera:

  • Cuadernos de Jupyter en línea dentro del entorno del enlazador
  • Cuadernos de Jupyter que se ejecutan en su máquina local
  • Visual Studio
  • Visual Studio Code

¿Qué se puede aprender con Quantum Katas?

Explore los aspectos básicos y los fundamentos de la informática cuántica o profundice en los algoritmos y protocolos cuánticos. Le recomendamos que siga esta ruta de aprendizaje al principio para adquirir una idea sólida de los conceptos fundamentales de la computación cuántica. Por supuesto, puede omitir los temas con los que está familiarizado, como la aritmética compleja, y aprender los algoritmos en el orden que desee.

Introducción a los conceptos de 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

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

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

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.

Recursos

Vea la serie completa de Quantum Katas

Ejecutar los katas online