Programación  Qiskit

Lenguaje de programación de Qiskit

La computación cuántica representa un nuevo paradigma en computación que utiliza los principios fundamentales de la mecánica cuántica para realizar cálculos. Si estás leyendo esto, sin duda habrás escuchado que la promesa de la computación cuántica radica en la posibilidad de realizar de manera eficiente un puñado de tareas como la factorización en números primos, simulación cuántica, búsqueda, optimización y programas algebraicos como el machine learning; cálculos que en tamaño están más allá de las capacidades incluso de las computadoras clásicas más grandes.

El poder de la computación cuántica se basa en dos pilares de la mecánica cuántica, la interferencia y el entrelazamiento que resaltan los aspectos ondulatorios y de partículas de la computación cuántica, respectivamente. Qiskit es un kit de desarrollo de software (Software Development Kit, SDK) para realizar cálculos cuánticos que utilizan estos principios de la mecánica cuántica usando el lenguaje de los circuitos cuánticos. Compuestos por compuertas cuánticas, instrucciones y lógica de control clásica, los circuitos cuánticos permiten expresar algoritmos complejos y aplicaciones de manera abstracta que pueden ser ejecutados en una computadora cuántica. En esencia, Qiskit es un motor de construcción, optimización y ejecución de circuitos cuánticos. Las capas de aplicaciones y algoritmos adicionales aprovechan los circuitos cuánticos, a menudo en combinación con recursos computacionales clásicos, para resolver problemas de optimización, química cuántica, física, machine learning y finanzas.

Lo primero que debes hacer es elegir cómo vas a ejecutar e instalar los paquetes. Hay tres formas principales de hacer esto:

Qiskit es compatible con Python 3.7 o posterior. Sin embargo, tanto Python como Qiskit son ecosistemas en evolución y, a veces, cuando se producen nuevas versiones en uno u otro, puede haber problemas de compatibilidad.

Deberás descargar Python en tu sistema local para comenzar. Se recomienda Jupyter para interactuar con Qiskit.

Recomiendo utilizar entornos virtuales de Python para separar claramente Qiskit de otras aplicaciones y mejorar tu experiencia.

Crea un entorno mínimo con solo Python instalado en él.

python3 -m venv /path/to/virtual/environment

Activa tu nuevo entorno.

source /path/to/virtual/environment/bin/activate

Nota: si estás usando Windows, usa los siguientes comandos en PowerShell.

python3 -m venv c:\path\to\virtual\environment c:\path\to\virtual\environment\Scripts\Activate.ps1

A continuación, instala el paquete Qiskit.

pip install qiskit

Si los paquetes se instalaron correctamente, puedes ejecutar pip list para ver los paquetes activos en tu entorno virtual.

Si tienes la intención de utilizar la funcionalidad de visualización o los cuadernos de Jupyter, se recomienda instalar Qiskit con el soporte adicional de visualization:

pip install qiskit[visualization]

Vale la pena señalar que si eres usuario de zsh (que es el shell predeterminado en las versiones más recientes de macOS), deberás poner qiskit[visualization] entre comillas:

pip install 'qiskit[visualization]'

Soporte de la Plataforma

Qiskit se esfuerza por admitir tantas plataformas como sea posible, pero debido a las limitaciones en los recursos de prueba disponibles y la disponibilidad de la plataforma, no todas las plataformas son compatibles. El soporte de plataforma para Qiskit se divide en 3 niveles con diferentes grados de soporte para cada nivel. Para plataformas fuera de estas, es probable que Qiskit todavía se pueda instalar, pero no se ha probado y tendrás que compilar Qiskit (y probablemente las dependencias de Qiskit) desde la fuente.

Además, Qiskit solo es compatible con CPython. Actualmente, no se admite la ejecución con otros intérpretes de Python.

Nivel 1

Las plataformas compatibles con el nivel 1 se prueban completamente en upstream como parte de los procesos de desarrollo para garantizar que cualquier cambio propuesto funcione correctamente. Los binarios precompilados se construyen, prueban y publican en PyPI como parte del proceso de lanzamiento. Se espera que estas plataformas se puedan instalar con solo un entorno de Python en funcionamiento, ya que todas las dependencias están disponibles en estas plataformas.

Las plataformas de nivel 1 actualmente son:

  • Linux x86_64 (distribuciones compatibles con la especificación de empaquetado manylinux 2014).
  • macOS x86_64 (10.9 o superior)
  • Windows 64 bit

Nivel 2

Las plataformas de nivel 2 no se prueban en upstream como parte del proceso de desarrollo. Sin embargo, los binarios precompilados se construyen, prueban y publican en PyPI como parte del proceso de lanzamiento y se puede esperar que estos paquetes se instalen solo con un entorno de Python en funcionamiento.

Las plataformas de nivel 2 actualmente son:

  • Linux i686 (distribuciones compatibles con la especificación de empaquetado manylinux 2014) para Python < 3.10
  • Windows 32 bit para Python < 3.10
  • Linux aarch64 (distribuciones compatibles con la especificación de empaquetado manylinux 2014)

Nivel 3

Las plataformas de nivel 3 no se prueban en upstream como parte del proceso de desarrollo. Los binarios precompilados se construyen y publican en PyPI como parte del proceso de lanzamiento, sin ninguna prueba. Es posible que no se puedan instalar solo con un entorno de Python en funcionamiento y pueden requerir un compilador C/C++ o programas adicionales para crear dependencias desde el origen como parte del proceso de instalación. El soporte para estas plataformas es únicamente de mejores intenciones.