Medir-No Medir Circuito 2: Hadamard 2 Qubits

Circuito sencillo de dos qubits, cada uno de ellos con una puerta Hadamard.



Repetiremos el ejercicio del anterior ejemplo, con dos qbits en lugar de uno para ver la diferencia de resultados.

from qiskit import QuantumCircuit
import matplotlib.pyplot as plt
from qiskit_aer import Aer
import numpy as np


# Crear un circuito cuántico con 2 qubits
qc = QuantumCircuit(2,2)

# Aplicar una puerta Hadamard a cada qubit
qc.h(0), qc.h(1)

# Medimos todos los qubits
# qc.measure_all()
# qc.measure(0,0)
# qc.measure(1,1)

# Dibujar el circuito
qc.draw(output='mpl')

 

# LO EJECUTAMOS Y VEMOS LOS RESULTADOS

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

# Ejecutar el circuito
job = Procesando.run(qc, shots=1).result()

# __________ Mostrar contador de ejecuciones _________________
counts = job.get_counts(qc)
print("Contador de ejecuciones: ")
print(counts) 
# ____________________________________________________________


# __________ Mostrar los vectores de estado __________________
# Obtener el vector de estado resultante
statevector = job.get_statevector(qc)
# Convertir el Statevector a un array de numpy
statevector_array = np.asarray(statevector)

print(" ")
print("Statevector resultante:")
print(statevector_array)

# Imprimir los estados base y sus correspondientes amplitudes de probabilidad
n = qc.num_qubits
for i, amplitude in enumerate(statevector_array):
    binary_state = format(i, f'0{n}b')
    print(f"|{binary_state}⟩: {amplitude}")
# ____________________________________________________________

# Visualizar el estado final en la esfera de Bloch
from qiskit.visualization import plot_bloch_multivector, plot_state_city 
import matplotlib.pyplot as plt 

plot_bloch_multivector(statevector)

 

RESULTADO:

En el ejemplo anterior, con 1 qubit, teníamos dos posibles resultados, ∣0⟩ y ∣1⟩, con la misma probabilidad, por lo tanto |1/√2|2

ya que |1/√2|2+|1/√2|2=1      y  1/√2 = 0.7071067811865476

En este caso, hay CUATRO posibles resultados: ∣00⟩, ∣01⟩, ∣10⟩ y ∣11⟩ con la misma probabilidad: 0,5

ya que |1/2|2+|1/2|2+|1/2|2+|1/2|2=1      y  1/2 = 0.5

 

Representados en la esfera de Bloch quedaría:

 

 

Ahora incluiremos una medición en el circuito:

Nos quedará así:

Y al ejecutarlo podemos obtener cualquiera de los 4 resultados posibles:

 

 

 



VOLVER
linkedin facebook pinterest youtube rss twitter instagram facebook-blank rss-blank linkedin-blank pinterest youtube twitter instagram