Quantum algorithm: Quantum Teleportation Circuit on Qiskit

Spread the love

source YouTube = https://www.youtube.com/watch?v=mMwovHK2NrE&list=PLOFEBzvs-Vvp2xg9-POLJhQwtVktlYGbY&index=5

Ada banyak Quantum algorithm, bisa dilihat di = https://en.wikipedia.org/wiki/Quantum_algorithm

Quantum Teleportation adalah transfer information quantum (quantum state) dari qubit satu ke qubit yang lain (ilustrasi proses copy paste pada sistem komputer klasik).

Melanjutkan dari tutorial Hello World sebelumnya = https://keamanansiber.id/blog/2020/05/18/hello-world-memulai-pemrograman-pada-quantum-computer/

1) membuat quantum circuit dengan 3 quantum bit (qubit) dan 3 classical bit:
from qiskit import *
circuit = QuantumCircuit(3 ,3)
%matplotlib inline
circuit.draw(output=”mpl”)

2) menambahkan x gate pada q0
circuit.x(0)
circuit.barrier()
circuit.draw(output=”mpl”)

3) kita akan teleport quantum state pada q0 (setelah barrier, q0 state = 1) ke dalam q2.

– terlebih dahulu, buat entanglement antara q1 dan q2, seperti pada Hello World:
circuit.h(1)
circuit.cx(1, 2)
circuit.draw(output=”mpl”)

Hadamard gate: adalah metode paling sederhana untuk menghasilkan bit acak dalam qubit. Ini menghasilkan keadaan kuantum yang merupakan superposisi dari 0 dan 1, dengan probabilitas yang sama.
https://en.wikipedia.org/wiki/Quantum_logic_gate#Hadamard_(H)_gate

Controlled NOT gate / CNOT / cX: melakukan operasi NOT pada qubit kedua HANYA ketika quantum state qubit pertama adalah 1. Tetapi jika qubit pertama adalah 0, maka qubit kedua dibiarkan tidak berubah.
https://en.wikipedia.org/wiki/Quantum_logic_gate#Controlled_(cX_cY_cZ)_gates

– apply controlled x pada q0 dan q1, serta H gate pada q0:
circuit.cx(0, 1)
circuit.h(0)
circuit.draw(output=”mpl”)

– lakukan 2 measurement pada q0 dan q1:
circuit.barrier()
circuit.measure([0,1], [0,1])
circuit.draw(output=”mpl”)

circuit.barrier()
circuit.cx(1, 2)
circuit.cz(0, 2)
circuit.measure([2], [2])
circuit.draw(output=”mpl”)

Controlled-Z gate / CZGate: Mirip dengan X gate, namun sedikit perbedaan pada Pauli matriks nya = https://en.wikipedia.org/wiki/Pauli_matrices
Bandingkan antara CXGate dengan CZGate =
https://qiskit.org/documentation/stubs/qiskit.circuit.library.CXGate.html
https://qiskit.org/documentation/stubs/qiskit.circuit.library.CZGate.html

4) tes dengan menjalankan simulasi, apakah betul q0 yang berisi quantum state 1, di teleport ke q2:
simulator = Aer.get_backend(‘qasm_simulator’)
result = execute(circuit, backend = simulator, shots = 1024).result()
from qiskit.visualization import plot_histogram
plot_histogram(result.get_counts(circuit))

Catatan: 100 pada gambar maksudnya c2=1, c1=0, c0=0 (dibaca dari bawah ke atas)
Perhatikan bahwa pada grafik, semua c2 nilainya 1, tidak ada yang 0.

 

Kode program tersedia di GitHub = https://github.com/keamanansiber/qiskit/blob/master/1MemulaiQiskitUntukPemula/QuantumTeleportation.ipynb

Berikutnya = https://keamanansiber.id/blog/2020/05/19/algorithma-bernstein-vazirani-perbanding-performa-komputer-quantum-vs-komputer-biasa/

Tinggalkan Balasan

This site uses Akismet to reduce spam. Learn how your comment data is processed.