Saltar al contenido principal

Introducción a Qiskit

El nombre "Qiskit" es un término general que hace referencia a una colección de software para ejecutar programas en computadoras cuánticas. Entre estas herramientas destaca el SDK de Qiskit de código abierto, y el entorno de ejecución (al que se accede mediante Qiskit Runtime) a través del cual puedes ejecutar cargas de trabajo en las unidades de procesamiento cuántico (QPUs) de IBM®. A medida que la tecnología cuántica evoluciona, Qiskit también lo hace, con nuevas capacidades lanzadas cada año que amplían esta colección central de software cuántico.

Además, muchos proyectos de código abierto forman parte del ecosistema más amplio de Qiskit. Estas herramientas de software no son parte de Qiskit en sí, sino que se integran con él y pueden aportar funcionalidades adicionales de gran valor.

IBM está comprometida con el desarrollo responsable de la computación cuántica. Conoce más y revisa nuestros principios de computación cuántica responsable en el tema Computación cuántica responsable.

El SDK de Qiskit

El SDK de Qiskit (nombre del paquete qiskit) es un SDK de código abierto para trabajar con computadoras cuánticas a nivel de circuitos cuánticos extendidos (estáticos, dinámicos y programados), operadores y primitivas. Esta biblioteca es el componente central de Qiskit; es el paquete más grande bajo el nombre Qiskit, con el conjunto de herramientas más amplio para la computación cuántica, y muchos otros componentes se integran con él.

Algunas de las características más útiles del SDK de Qiskit incluyen:

  • Herramientas de construcción de circuitos (qiskit.circuit) - Para inicializar y manipular registros, circuitos, instrucciones, puertas, parámetros y objetos de flujo de control.

  • Biblioteca de circuitos (qiskit.circuit.library) - Una amplia variedad de circuitos, instrucciones y puertas: bloques de construcción clave para los cómputos cuánticos basados en circuitos.

  • Biblioteca de información cuántica (qiskit.quantum_info) - Un conjunto de herramientas para trabajar con estados cuánticos, operadores y canales, usando cálculos exactos (sin ruido de muestreo). Usa este módulo para especificar observables de entrada y analizar la fidelidad de los resultados de las consultas a primitivas.

  • Transpilador (qiskit.transpiler) - Para transformar y adaptar circuitos cuánticos a la topología específica de un dispositivo, y optimizarlos para su ejecución en unidades de procesamiento cuántico (QPUs) reales.

  • Primitivas (qiskit.primitives) - El módulo que contiene las definiciones base e implementaciones de referencia de las primitivas Sampler y Estimator, a partir de las cuales distintos proveedores de hardware cuántico pueden derivar sus propias implementaciones. Consulta más información sobre las primitivas de Qiskit Runtime en la documentación.

Instalación

Para una introducción más detallada sobre cómo instalar el SDK de Qiskit, consulta la página de instalación. Si ya estás listo para instalarlo, simplemente ejecuta:

pip install qiskit

Benchmarking y el paquete Benchpress

El benchmarking es importante para comparar el rendimiento relativo del software cuántico en las distintas etapas de un flujo de desarrollo. Las pruebas de benchmarking para software cuántico pueden, por ejemplo, analizar la velocidad y calidad al construir, manipular y transpilar circuitos. IBM Quantum está comprometida a ofrecer el SDK con el mayor rendimiento posible; con ese fin, el SDK de Qiskit se evalúa con más de 1.000 pruebas desarrolladas por universidades líderes, laboratorios nacionales e investigadores de IBM. El conjunto de benchmarking utilizado para estas pruebas, llamado Benchpress, está ahora disponible como un paquete de código abierto. Ahora puedes usar el paquete Benchpress para realizar tu propio análisis del rendimiento del SDK cuántico.

Complementos de Qiskit

Los complementos de Qiskit son una colección de capacidades de investigación para el descubrimiento de algoritmos a escala de utilidad. Estas capacidades se construyen sobre la base de alto rendimiento de herramientas de Qiskit para crear y ejecutar algoritmos cuánticos. Los complementos son componentes de software modulares que se integran en un flujo de trabajo para escalar o diseñar nuevos algoritmos cuánticos. Para obtener más información sobre el conjunto de complementos de Qiskit disponibles y cómo comenzar a usarlos, visita la documentación.

El ecosistema de Qiskit

Más allá de Qiskit, existen muchos proyectos de código abierto que usan el nombre "Qiskit" pero no forman parte de Qiskit en sí; más bien, se integran con Qiskit y pueden aportar una funcionalidad adicional valiosa que complementa el flujo de trabajo central de Qiskit. Algunos de estos proyectos son mantenidos por los equipos de IBM Quantum, mientras que otros son respaldados por la comunidad de código abierto en general. El SDK de Qiskit está diseñado de forma modular y extensible para que sea fácil para los desarrolladores crear proyectos como estos que amplíen sus capacidades.

Algunos proyectos populares en el ecosistema de Qiskit incluyen:

  • Qiskit Aer (qiskit-aer) - un paquete para simuladores de computación cuántica con modelos de ruido realistas. Proporciona interfaces para ejecutar circuitos cuánticos con o sin ruido usando múltiples métodos de simulación diferentes. Mantenido por IBM Quantum.
  • qBraid SDK (qbraid) - un marco de ejecución cuántica independiente de la plataforma para proveedores de software y hardware cuántico, diseñado para simplificar la gestión del ciclo de vida completo de los trabajos cuánticos: desde la definición de las especificaciones del programa hasta el envío del trabajo y el posprocesamiento y la visualización de los resultados. Mantenido por qBraid.
  • mthree mthree - un paquete para implementar M3 (Matrix-free Measurement Mitigation), una técnica de mitigación de medición que resuelve probabilidades de medición corregidas mediante un paso de reducción de dimensionalidad seguido de factorización LU directa o un método iterativo precondicionado que converge nominalmente en O(1) pasos, y puede calcularse en paralelo. Mantenido por IBM Quantum.

Puedes encontrar un catálogo de proyectos en la página del ecosistema de Qiskit, así como información sobre cómo nominar tu propio proyecto.

Próximos pasos

Recomendaciones
  • Aprende sobre la biblioteca de circuitos e instrucciones disponible en la biblioteca de circuitos de Qiskit.
  • Lee sobre el transpilador de Qiskit y las muchas opciones de transpilación en la sección Transpilador.
  • Descubre cómo usar las primitivas de Qiskit para agilizar la programación cuántica.