Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JesusCastroFernandez/b1541dc3dd2af0cb4b83f53e1aa065b8 to your computer and use it in GitHub Desktop.
Save JesusCastroFernandez/b1541dc3dd2af0cb4b83f53e1aa065b8 to your computer and use it in GitHub Desktop.
Circuito Cuántico
from qiskit import QuantumCircuit, Aer, execute
from qiskit.visualization import plot_histogram
# Definición del circuito cuántico
num_qubits = 3 # Número total de qubits
num_shots = 1000 # Número de ejecuciones del circuito
circuit = QuantumCircuit(num_qubits, num_qubits)
# Preparación del estado inicial
circuit.h(2) # Superposición inicial del electrón
# Compuertas para simular las rendijas
circuit.h(0) # Compuerta Hadamard en la rendija 1
circuit.x(1) # Compuerta X en la rendija 2
# Compuertas de control para el electrón
circuit.cswap(0, 2, 1) # Compuerta de cambio controlado (cswap) entre rendijas y electrón
# Medición de los qubits
circuit.measure(range(num_qubits), range(num_qubits))
# Ejecución del circuito en un simulador cuántico
simulator = Aer.get_backend('qasm_simulator')
job = execute(circuit, simulator, shots=num_shots)
result = job.result()
counts = result.get_counts()
# Visualización de los resultados
plot_histogram(counts)
@JesusCastroFernandez
Copy link
Author

La implementación de un circuito cuántico que simule el experimento de la doble rendija y la realización de mediciones para obtener probabilidades.

En este código, se utiliza la librería Qiskit para crear y ejecutar un circuito cuántico que simule el experimento de la doble rendija. El circuito consta de tres qubits: dos qubits para representar las rendijas y un qubit adicional para representar el electrón. Se aplican las compuertas cuánticas adecuadas para obtener la función de onda final. Luego, se realiza una medición de los qubits y se ejecuta el circuito en un simulador cuántico.

La salida del código será un histograma que muestra la distribución de las mediciones realizadas. Cada resultado en el histograma corresponde a una medición del estado final del circuito, indicando en qué rendija ha pasado el electrón.

Nota: Es importante tener en cuenta que la implementación exacta del circuito puede variar según las compuertas disponibles en el lenguaje y la plataforma cuántica que estés utilizando. Además, este código utiliza un simulador cuántico para ejecutar el circuito, pero también se puede ejecutar en un dispositivo cuántico real si está disponible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment