# CIRCUITO 6: TELEPORTACIÓN # Cómo crear un circuito de teleportación cuántica: # Este circuito realiza la teleportación cuántica del estado del qubit 0 al qubit 2 # Los resultados del qubit 2 deberían corresponderse con el estado inicial del qubit 0, # demostrando así la teleportación. from qiskit import QuantumCircuit from qiskit_aer import Aer from qiskit.visualization import plot_histogram # Crear un circuito cuántico con 3 qubits y 3 bits clásicos qc = QuantumCircuit(3, 3) # qc.x(0) si incilizamos a "1" el qubit 0, entonces la medición del qubit 2 será siempre "1"; # en caso contrario siempre "0" # Preparar el estado de Bell entre qubit 1 y qubit 2 qc.h(1) qc.cx(1, 2) # Teleportar el estado del qubit 0 al qubit 2 qc.cx(0, 1) qc.h(0) # Medir los qubits 0 y 1 qc.measure([0, 1], [0, 1]) # Aplicar puertas condicionales en el qubit 2 basado en las medidas qc.cx(1, 2) qc.cz(0, 2) # Medir el qubit 2 qc.measure(2, 2) # Dibujar el circuito qc.draw(output='mpl', style={'figwidth': 8, 'figheight': 4})
# CIRCUITO-06 : LO EJECUTAMOS # 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(qc, 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(qc) # Obtiene los conteos de los resultados de la ejecución del circuito print(Resultados) # Imprime los resultados en la consola
{'001': 2513, '000': 2605, '011': 2494, '010': 2388}
Ikusten dugu 2 bita (lehena ezkerretik) beti dela 0, q0 qubitak '0'an hasi delako;
q0 qubita "1" jartzen badugu hasieran, ikusiko dugu 2 qubitaren neurketa "1" izango dela beti.