
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:
Contador de ejecuciones: {'00': 1}
Statevector resultante: [0.5+0.j 0.5+0.j 0.5+0.j 0.5+0.j]
|00⟩: (0.5000000000000001+0j)
|01⟩: (0.5000000000000001+0j)
|10⟩: (0.5000000000000001+0j)
|11⟩: (0.5000000000000001+0j)
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:

Nos quedará así:

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

