# introduccion-a-la-computacion-cuantica-con-qiskit
Introducción a la computación cuántica con Qiskit
Volver a la portada del cursoInstalación y Configuración
Sección 2 · Fundamentos de Qiskit
Instalación y configuración
Antes de escribir el primer circuito conviene dejar un entorno limpio y reproducible. Qiskit se instala con pip como cualquier biblioteca de Python, pero está dividido en varios paquetes y cada uno cumple un papel. En esta lección instalarás lo necesario para todo el curso y comprobarás que funciona con un circuito real.
Los paquetes que vas a usar
qiskit: el núcleo. Define circuitos, puertas, el transpilador, la información cuántica (Statevector) y las primitivas de referencia.qiskit-aer: un simulador de alto rendimiento que además puede imitar el ruido de un procesador real.qiskit-ibm-runtime: el cliente para ejecutar en los procesadores de IBM Quantum. También incluye backends falsos que replican procesadores reales sin conexión.- Visualización:
matplotlibypylatexencdibujan circuitos e histogramas.
Un entorno virtual para el curso
Qiskit cambia rápido entre versiones, así que aislar el curso en un entorno virtual evita conflictos con otros proyectos. Necesitas Python 3.10 o posterior. En la terminal:
# En la terminal (no en Python):
# python -m venv .venv
# Windows: .venv\Scripts\activate
# macOS / Linux: source .venv/bin/activate
# pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc jupyter
Si trabajas en notebooks, abre Jupyter desde la misma terminal donde activaste el entorno. Así el kernel usa las bibliotecas que acabas de instalar.
Verificar la instalación
El primer paso después de instalar es confirmar que Python encuentra cada paquete y qué versión tiene. Este curso se probó con Qiskit 2.5, Qiskit Aer 0.17 y Qiskit IBM Runtime 0.50.
import qiskit
import qiskit_aer
import qiskit_ibm_runtime
print("Qiskit:", qiskit.__version__)
print("Qiskit Aer:", qiskit_aer.__version__)
print("Qiskit IBM Runtime:", qiskit_ibm_runtime.__version__)
Tu primer circuito de prueba
Una instalación sana debe poder crear un circuito, dibujarlo y ejecutarlo. El siguiente ejemplo prepara un estado de Bell (dos qubits entrelazados) y lo ejecuta con StatevectorSampler, un simulador exacto incluido en el núcleo:
from qiskit import QuantumCircuit
from qiskit.primitives import StatevectorSampler
qc = QuantumCircuit(2)
qc.h(0)
qc.cx(0, 1)
qc.measure_all()
print(qc.draw("text"))
sampler = StatevectorSampler(seed=42)
resultado = sampler.run([qc], shots=1000).result()
print(resultado[0].data.meas.get_counts())
Deberías ver solo los resultados 00 y 11, cada uno cerca de 500 veces. No aparece 01 ni 10: los dos qubits siempre coinciden. Esa correlación es el entrelazamiento, y lo estudiarás a fondo más adelante.
Cuenta de IBM Quantum (opcional por ahora)
Para ejecutar en hardware real necesitas una cuenta gratuita en IBM Quantum Platform. Allí obtienes una clave de API y un identificador de instancia (CRN). Se guardan una sola vez en tu equipo:
from qiskit_ibm_runtime import QiskitRuntimeService
# Ejecuta esto una sola vez, con tus propios datos:
# QiskitRuntimeService.save_account(
# channel="ibm_quantum_platform",
# token="TU_CLAVE_DE_API",
# instance="TU_CRN",
# set_as_default=True,
# )
# Después, en cualquier script:
# service = QiskitRuntimeService()
Nunca pegues la clave directamente en un notebook que vayas a compartir o subir a un repositorio. Con save_account queda guardada en un archivo local de configuración.
Trampas comunes
- Tutoriales con
executeoAer.get_backend. Son de versiones anteriores a Qiskit 1.0 y ya no funcionan. Usa primitivas (Sampler,Estimator) oAerSimulator. - Canal
ibm_quantum. Se retiró en 2025; el canal vigente esibm_quantum_platform. - Kernel equivocado en Jupyter. Si
import qiskitfalla dentro del notebook pero funciona en la terminal, el notebook usa otro entorno. - Mezclar versiones. Actualiza
qiskit,qiskit-aeryqiskit-ibm-runtimejuntos.
Cierre
Si ves los conteos del estado de Bell, tu entorno está listo. Guarda los comandos de instalación en un archivo requirements.txt para reconstruir el entorno en cualquier equipo con un solo comando.