Introducción a Qiskit: La computación cuántica al alcance de todos#

¿Qué es Qiskit y para qué sirve?#

Qiskit es un kit de herramientas de código abierto desarrollado por IBM para la programación de computadoras cuánticas. Permite crear, ejecutar y analizar circuitos cuánticos tanto en simuladores como en hardware cuántico real. Aunque la computación cuántica es un campo emergente, cada vez más ingenieros y científicos se interesan en aprender sobre sus principios fundamentales, ya que las computadoras cuánticas podrían resolver ciertos problemas mucho más rápido que las computadoras clásicas.

En la vida cotidiana, Qiskit puede resultar útil para:

  1. Optimización: Resolver problemas complejos de optimización en áreas como logística, diseño de materiales y sistemas de comunicación.

  2. Simulación de sistemas cuánticos: Estudiar moléculas y reacciones químicas complejas, un avance clave en la química cuántica y la farmacología.

  3. Aprendizaje automático: Qiskit permite implementar algoritmos cuánticos que podrían acelerar tareas de aprendizaje automático y análisis de datos.

  4. Ciberseguridad: Probar nuevos métodos de criptografía cuántica para asegurar la transmisión de datos.

Paso a paso: Instalación y Primer Programa en Qiskit#

1. Instalación de Qiskit#

Lo primero es instalar el paquete Qiskit utilizando pip. Asegúrate de tener una versión actualizada de Python.

pip install qiskit

2.Importar los Módulos Necesarios#

Una vez instalado, puedes empezar por importar los módulos básicos de Qiskit.


from qiskit import QuantumCircuit
from qiskit import execute
from qiskit.visualization import plot_bloch_multivector
from mpl_toolkits import mplot3d

qc = QuantumCircuit(1)
initial_state = [0,1]

qc.initialize(initial_state, 0)

2. Verificar la instalación#

Para verificar que la instalación se realizó correctamente, abre un archivo o la terminal de Python e importa Qiskit:

import qiskit

Si no recibes errores, entonces la instalación fue exitosa.

3. Crear o cargar tu archivo Python#

Si ya tienes un archivo de Python que contiene tu código (por ejemplo mi_codigo.py), asegúrate de que tenga todo lo necesario para correr en Qiskit, como la importación de módulos y la configuración de tu circuito cuántico. Ejemplo básico de lo que podría tener tu archivo:

from qiskit import QuantumCircuit, Aer, transpile, execute

# Crear un circuito cuántico
qc = QuantumCircuit(2, 2)
qc.h(0)
qc.cx(0, 1)
qc.measure([0, 1], [0, 1])

# Usar el simulador de Qiskit para correr el circuito
simulator = Aer.get_backend('qasm_simulator')
compiled_circuit = transpile(qc, simulator)

# Ejecutar el circuito
job = execute(compiled_circuit, simulator)
result = job.result()

# Imprimir los resultados
print(result.get_counts(qc))

4. Ejecutar el archivo Python#

Una vez que tengas tu archivo Python listo, puedes ejecutarlo desde la terminal o tu entorno de desarrollo (como VSCode, PyCharm, o Jupyter Notebook). Para ejecutarlo en la terminal, navega hasta el directorio donde está tu archivo y escribe:

python mi_codigo.py

Esto ejecutará tu archivo Python que contiene el código de Qiskit y mostrará los resultados en la terminal.

5. Explorar los resultados#

Si tu código incluye un simulador, deberías ver los resultados en forma de un diccionario con los conteos de las diferentes mediciones. Por ejemplo:

{'00': 512, '11': 512}

Este resultado muestra cuántas veces el circuito midió los estados cuánticos 00 y 11 al ejecutar la simulación.

6. (Opcional) Ejecutar en un computador cuántico real#

Si tienes una cuenta en IBM Quantum, puedes ejecutar el mismo circuito en un computador cuántico real. Para hacerlo, necesitas conectarte a tu cuenta con Qiskit usando:

from qiskit import IBMQ

# Cargar tu cuenta de IBMQ
IBMQ.load_account()

# Elegir un backend cuántico real
provider = IBMQ.get_provider('ibm-q')
backend = provider.get_backend('ibmq_quito')  # Ejemplo de backend

# Ejecutar el circuito en el backend real
job_real = execute(compiled_circuit, backend)
result_real = job_real.result()

# Mostrar los resultados
print(result_real.get_counts(qc))

Esto te permitirá correr tu circuito en hardware cuántico y obtener los resultados de un dispositivo real.