Asociamos la computación cuántica al diseño de algoritmos complejos y a conocimientos elevados de matemáticas y física. Nada más lejos de la realidad: gracias a dios, el desarrollo de software cuántico se ha democratizado en dos frentes: los lenguajes de programación en alto nivel, y el desarrollo un amplio catálogo de tecnologías de soporte, muy similar a la ingeniería de software tradicional. Hoy revisamos el estado del arte en software cuántico y allanamos el camino a los programadores no especializados.
Programación de software cuántico: Un terreno familiar
No nos engañemos: la computación cuántica es compleja. Sin emabargo, si el campo cuántico se abre a más desarrolladores cada día, es gracias a frameworks y herramientas que abstraen su complejidad. Hemos transicionado de lenguajes de bajo nivel como QASM a entornos basados en Python, más accesibles. Este cambio estratégico permite a los desarrolladores centrarse en la resolución de problemas, no en los detalles físicos subyacentes. Las aplicaciones incluyen descubrimiento de fármacos, optimización logística y ciberseguridad.
La democratización del acceso cuántico se potencia con plataformas en la nube y la integración con frameworks clásicos de aprendizaje automático como PyTorch y TensorFlow. Esto sugiere un futuro de soluciones híbridas cuántico-clásicas, con interfaces familiares para la mayoría de desarrolladores.
Qiskit: El stack de software cuántico de IBM
Un ejemplo (quizás el mejor) de framework de programación cuántica de alto nivel es Qiskit (Quantum Information Software Kit), de IBM Research. Qiskit es una stack de software de código abierto basada en Python, lanzada en 2017. Ofrece herramientas para crear, simular y ejecutar circuitos cuánticos en procesadores reales o simuladores, pero centrado en la usabilidad y la accesibilidad.

Qiskit integra varios componentes correlacionados pero con funcionalidades bien diferenciadas. Algunos de los esenciales son:
Qiskit Terra. UN SDK para construir y manipular circuitos cuánticos, optimizarlos para hardware y gestionar ejecuciones. Proporciona una interfaz y uncompilador agnósticos al hardware.
Qiskit Aer. Un simulador de alto rendimiento. En computación cuántica, los simuladores son esenciales para probar algoritmos antes de usar hardware real, que es caro y sofisticado.
Qiskit Runtime & Serverless. Servicios en la nube de IBM que facilitan la ejecución de código cuántico, abstrayendo el hardware e incorporando arquitecturas serverless.
El ecosistema Qiskit evoluciona constantemente e integra librerías especializadas, como qiskit-finance, qiskit-machine-learning, qiskit-nature o qiskit-optimization. Esta refactorización continua es señal de un proyecto de software maduro y en expansión.
La estructura de Qiskit, desde la construcción de circuitos de bajo nivel hasta los servicios en la nube, sigue una arquitectura en capas similar al desarrollo del software clásico, a pesar de estar orientada a la computación cuántica. Esto sugiere que los recursos cuánticos se consumirán cada vez más como servicios clásicos y a través de interfaces de software familiares.
El camino a seguir: Aplicaciones y evolución
La maduración de la ingeniería de software cuántico no solo permite explorar aplicaciones prácticas en la industria. También debe servir como motivación para investigadores y grupos de desarrollo para adentrarse en la computación cuántica y aprovecharse sus virtudes.
El desarrollo de software cuántico está en sus inicios y queda mucho por explorar. Sin embargo, la evolución de ecosistemas accesibles como Qiskit acelera su progreso. A medida que el hardware cuántico mejora y se vuelve accesible a más instituciones, el software también evoluciona naturalment. Quizás sea el momento de animarse y coquetear con él. Por si hoy te has levantado curioso, aquí tienes una pequeña introducción.
Leave a Reply