Teleportasi kuantum dan pengekodan superpadu
Kifumi Numata (26 Apr 2024)
Muat turun pdf kuliah asal. Perlu diingat bahawa beberapa petikan kod mungkin sudah lapuk kerana ia adalah imej statik.
Anggaran masa QPU untuk menjalankan eksperimen ini ialah 10 saat.
1. Pengenalan
Untuk menyelesaikan sebarang masalah kuantum berskala utiliti, kita perlu memindahkan maklumat di dalam komputer kuantum dari satu qubit ke qubit yang lain. Terdapat protokol yang sudah diketahui umum untuk melakukan ini, tetapi beberapa yang paling asas digubal dalam konteks penghantaran maklumat antara pihak yang jauh. Sepanjang pelajaran ini, kita kadang-kadang akan menggunakan bahasa yang sesuai dengan konteks ini, seperti "rakan jauh yang menghantar maklumat". Tapi ingat bahawa protokol-protokol ini mempunyai kepentingan yang lebih luas dalam pengkomputeran kuantum. Dalam pelajaran ini kita mempertimbangkan protokol komunikasi kuantum berikut:
- Teleportasi kuantum Menggunakan keadaan yang terbelit dikongsi (kadang-kadang dipanggil e-bit) untuk menghantar keadaan kuantum yang tidak diketahui kepada rakan yang jauh, memerlukan komunikasi klasik tambahan.
- Pengekodan superpadu kuantum Cara menghantar dua bit maklumat dengan menghantar satu qubit tunggal kepada rakan yang jauh (sekali lagi menggunakan qubit yang terbelit dikongsi terlebih dahulu).
Untuk latar belakang lanjut berkaitan topik-topik ini, kami mengesyorkan pelajaran 4 dalam Asas Maklumat Kuantum mengenai Belitan dalam tindakan.
Dalam keterangan di atas, "keadaan kuantum yang tidak diketahui" merujuk kepada keadaan dalam bentuk yang diterangkan dalam pelajaran sebelumnya:
di mana dan ialah nombor kompleks sedemikian sehingga . Ini membolehkan kita menulis keadaan kuantum sebagai
Oleh kerana kita ingin dapat memindahkan maklumat dalam mana-mana keadaan kuantum rawak, menjana keadaan sedemikian adalah tempat kita akan memulakan pelajaran ini.
2. Matriks ketumpatan
Kita juga boleh menulis keadaan kuantum sebagai matriks ketumpatannya. Bentuk ini berguna untuk melambangkan campuran kebarangkalian bagi keadaan kuantum tulen. Dalam kes qubit tunggal, kita boleh menulis
Perlu diperhatikan bahawa matriks ketumpatan adalah penjumlahan linear bagi matriks Pauli, seperti di bawah,
Atau, secara umum,
di mana .
Dan, vektor Bloch ialah .
Sekarang, mari kita buat keadaan kuantum sewenang-wenangnya menggunakan nombor rawak.
# Added by doQumentation — required packages for this notebook
!pip install -q numpy qiskit qiskit-aer qiskit-ibm-runtime
import numpy as np
# create a random 1-qubit state from a random (theta, varphi) to define r vector
np.random.seed(1) # fixing seed for repeatibility
theta = np.random.uniform(0.0, 1.0) * np.pi # from 0 to pi
varphi = np.random.uniform(0.0, 2.0) * np.pi # from 0 to 2*pi
def get_r_vec(theta, varphi):
rx = np.sin(theta) * np.cos(varphi)
ry = np.sin(theta) * np.sin(varphi)
rz = np.cos(theta)
return (rx, ry, rz)
# get r vector
rx, ry, rz = get_r_vec(theta, varphi)
print("theta=" + str(theta), ",varphi=" + str(varphi))
print("(rx, ry, rz) = (" + str(rx) + ", " + str(ry) + ", " + str(rz) + ")")
theta=1.3101132663588946 ,varphi=4.525932273597346
(rx, ry, rz) = (-0.1791150283307452, -0.9494670044331133, 0.2577405946274022)
Kita boleh tunjukkan vektor Bloch ini pada sfera Bloch.
from qiskit.visualization import plot_bloch_vector
r = [rx, ry, rz]
plot_bloch_vector(r)
3. Tomografi keadaan kuantum
Jika kamu hanya mengukur keadaan kuantum dalam asas pengiraan ( dan ), maklumat fasa (maklumat nombor kompleks) akan hilang. Tetapi jika kita mempunyai banyak salinan dengan mengulangi proses persediaan (kita tidak boleh mengklon keadaan, tetapi kita boleh mengulangi proses persediaan), kita boleh menganggar nilai dengan melakukan tomografi keadaan kuantum untuk matriks ketumpatan . Dengan bentuk:
ia berlaku bahawa
Dalam kes ,
Transformasi terakhir persamaan ini adalah untuk