Qiskit Hola Mundo

15/03/2024

El código crea y ejecuta un circuito cuántico básico en un simulador, mostrando estadísticas de las mediciones y proporcionando una introducción al desarrollo de algoritmos cuánticos con Qiskit.



Este código es como un experimento en un laboratorio cuántico virtual. Primero, creamos un circuito cuántico simple que simula lo que pasa cuando lanzamos un qubit (una especie de "moneda" cuántica) al aire. Lo hacemos girar usando algo llamado compuerta Hadamard, y luego vemos qué lado de la "moneda" aterriza cuando la medimos al final.

Luego, usamos una especie de "máquina de simulación" llamada qasm_simulator para ejecutar nuestro experimento virtual muchas veces (10,000 veces, para ser precisos) y ver en qué lado de la "moneda" cae nuestro qubit cada vez. Finalmente, mostramos estos resultados en forma de un gráfico, como si estuviéramos mirando un montón de lanzamientos de monedas y contando cuántas veces cae cara y cuántas veces cae cruz.

# Importación de las librerías necesarias
from qiskit_aer import Aer  # Importa el módulo Aer de Qiskit Aer
from qiskit import QuantumCircuit  # Importa la clase QuantumCircuit de Qiskit
from qiskit.visualization import plot_histogram  # Importa la función plot_histogram de Qiskit Visualization

# Creación de un circuito cuántico con un qubit y un bit clásico
Circuito = QuantumCircuit(1, 1)
Circuito.h(0)  # Aplica una puerta Hadamard al qubit en el índice 0
Circuito.measure(0, 0)  # Realiza una medición del qubit en el índice 0 y guarda el resultado en el bit clásico en el índice 0
Circuito.draw()  # Dibuja el circuito cuántico

# Configuración del simulador cuántico
Procesando = Aer.get_backend('qasm_simulator')  # Obtiene el backend 'qasm_simulator' de Qiskit Aer

# Ejecución del circuito cuántico en el simulador cuántico
Proceso = Procesando.run(Circuito, shots=10000).result()  # Ejecuta el circuito cuántico 10000 veces y obtiene los resultados

# Obtención de los resultados de la ejecución
Resultados = Proceso.get_counts(Circuito)  # Obtiene los conteos de los resultados de la ejecución del circuito
print(Resultados)  # Imprime los resultados en la consola

{'0': 4950, '1': 5050}
# Visualización de los resultados en forma de histograma
plot_histogram(Resultados)  # Grafica un histograma con los resultados obtenidos

Importación de librerías: Importamos las librerías necesarias para ejecutar el código. En este caso, utilizamos módulos de Qiskit, una biblioteca de computación cuántica de código abierto.

Creación del circuito cuántico: Creamos un objeto QuantumCircuit llamado Circuito que representa nuestro circuito cuántico. Este circuito tiene un qubit y un bit clásico, ambos inicializados en el estado 0.

Aplicación de una puerta Hadamard: Aplicamos una puerta Hadamard al qubit en el índice 0 del circuito. La puerta Hadamard es una puerta cuántica que crea una superposición igual de los estados |0⟩ y |1⟩.

Medición del qubit: Medimos el qubit en el índice 0 y guardamos el resultado en el bit clásico en el índice 0. Esto colapsa la superposición del qubit en un estado definido: 0 o 1.

Dibujo del circuito: Se muestra el diagrama del circuito cuántico creado hasta este punto.

Configuración del simulador cuántico: Se obtiene un backend del simulador cuántico llamado 'qasm_simulator' utilizando Qiskit Aer. Este backend simula el comportamiento de un ordenador cuántico de manera clásica.

Ejecución del circuito cuántico: Se ejecuta el circuito cuántico en el simulador cuántico, especificando que se ejecute 10000 veces (shots=10000). Esto produce un conjunto de resultados estadísticos que representan las posibles mediciones que podrían ocurrir en un sistema cuántico real.

Obtención de resultados: Se obtienen los resultados de la ejecución del circuito, es decir, las frecuencias de las diferentes mediciones realizadas. Estos resultados se almacenan en la variable Resultados.

Impresión de resultados: Se imprimen los resultados en la consola para que el usuario pueda ver la distribución de las mediciones.

Visualización de resultados: Se muestra un histograma que representa visualmente la distribución de los resultados obtenidos. Cada barra en el histograma representa la frecuencia de una medición particular.

En resumen, el código crea un circuito cuántico simple, lo ejecuta en un simulador cuántico para obtener estadísticas sobre las mediciones resultantes, imprime y visualiza los resultados. Esto proporciona una introducción básica al desarrollo y ejecución de algoritmos cuánticos utilizando Qiskit.



VER TODAS LAS NOTICIAS
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram