Temario del curso
Fundamentos y Arquitectura de ProjectQ
- Historia y objetivos de ProjectQ
- Componentes principales: motores, backends y meta-motores
- Pipeline de compilación y transformaciones
Comenzando con ProjectQ
- Instalación de ProjectQ y dependencias
- Inicialización del motor principal y configuración de backend
- Comprensión del backend de simulador predeterminado
Sintaxis y Constructos de ProjectQ
- Asignación de qubits, registros y puertas básicas
- Control, operaciones condicionales y mediciones
- Uso de puertas personalizadas y descomposición de puertas
Motores de Compilador y Técnicas de Optimización
- Pipeline de motores de compilador (optimizadores, traductores, descomponedores)
- Cancelación de puertas, fusión y programación
- Escribir motores de optimización personalizados
Programas Cuánticos y Ejemplos
- Construcción de circuitos simples (estados Bell, teleportación cuántica)
- Trabajar con operaciones controladas y qubits auxiliares
- Circuitos parametrizados y constructos variacionales
Dirigiéndose a Múltiples Backends
- Traduciendo circuitos para IBM Q, Rigetti u otros hardware
- Usando simuladores conscientes del ruido y estimación de fidelidad
- Pruebas, depuración y validación de resultados
Proyecto Mini Práctico
- Definir un algoritmo cuántico (por ejemplo, un fragmento simple de Grover o QFT)
- Implementarlo a través de ProjectQ, optimizarlo y seleccionar el backend
- Analizar la salida, comparar simuladores y refinar el circuito
Resumen y Próximos Pasos
Requerimientos
- Conocimiento de conceptos de computación cuántica (qubits, superposición, puertas)
- Experiencia en programación en Python
- Familiaridad con la representación de circuitos cuánticos
Público Objetivo
- Desarrolladores de software cuántico
- Investigadores e ingenieros que exploran la programación cuántica
- Desarrolladores que tienen la intención de dirigirse a backends cuánticos
Testimonios (1)
Quantum computing algorithms and related theoretical background know-how of the trainer is excellent. Especially I'd like to emphasize his ability to detect exactly when I was struggling with the material presented, and he provided time&support for me to really understand the topic - that was great and very beneficial! Virtual setup with Zoom worked out very well, as well as arrangements regarding training sessions and breaks sequences. It was a lot of material/theory to cover in "only" 2 days, wo the trainer had nicely adjusted the amount according to the progress related to my understanding of the topics. Maybe planning 3 days for absolute beginners would be better to cover all the material and content outlined in the agenda. I very much liked the flexibility of the trainer to answer my specific questions to the training topics, even additionally coming back after the breaks with more explanation in case neccessary. Big thank you again for the sessions! Well done!