Lewati ke konten utama

Prosedur estimasi fase

Selanjutnya, kita akan membahas prosedur estimasi fase, yaitu algoritma kuantum untuk menyelesaikan masalah estimasi fase.

Kita akan mulai dengan pemanasan presisi rendah, yang menjelaskan beberapa intuisi dasar di balik metode ini. Kemudian kita akan membahas transformasi Fourier kuantum, yang merupakan operasi kuantum penting yang digunakan dalam prosedur estimasi fase, beserta implementasi sirkuit kuantumnya. Setelah kita memiliki transformasi Fourier kuantum, kita akan mendeskripsikan prosedur estimasi fase secara umum dan menganalisis kinerjanya.

Pemanasan: memperkirakan fase dengan presisi rendah​

Kita akan mulai dengan beberapa versi sederhana dari prosedur estimasi fase yang memberikan solusi presisi rendah untuk masalah estimasi fase. Ini berguna untuk menjelaskan intuisi di balik prosedur umum yang akan kita lihat sedikit kemudian dalam pelajaran ini.

Menggunakan phase kickback​

Pendekatan sederhana untuk masalah estimasi fase, yang memungkinkan kita mempelajari sesuatu tentang nilai ΞΈ\theta yang kita cari, didasarkan pada fenomena phase kick-back. Seperti yang akan kita lihat, ini pada dasarnya adalah versi satu-Qubit dari prosedur estimasi fase umum yang akan dibahas kemudian dalam pelajaran ini.

Sebagai bagian dari input untuk masalah estimasi fase, kita memiliki sirkuit kuantum uniter untuk operasi U.U. Kita bisa menggunakan deskripsi sirkuit ini untuk membuat sirkuit untuk operasi controlled-UU, yang bisa digambarkan seperti yang disarankan oleh gambar ini (dengan operasi U,U, dilihat sebagai Gate kuantum, di sebelah kiri dan operasi controlled-UU di sebelah kanan).

Versi uncontrolled dan controlled dari operasi uniter

Kita bisa membuat sirkuit kuantum untuk operasi controlled-UU dengan terlebih dahulu menambahkan control qubit ke sirkuit untuk U,U, kemudian mengganti setiap Gate dalam sirkuit untuk UU dengan versi controlled dari Gate tersebut β€” sehingga satu control qubit baru kita secara efektif mengontrol setiap Gate tunggal dalam sirkuit untuk U.U. Ini membutuhkan kita memiliki versi controlled dari setiap Gate dalam sirkuit kita, tapi kita selalu bisa membangun sirkuit untuk operasi controlled ini jika tidak termasuk dalam set Gate kita.

Sekarang perhatikan sirkuit berikut, di mana state input ∣ψ⟩\vert\psi\rangle dari semua Qubit kecuali yang paling atas adalah vektor eigen state kuantum dari U.U.

Sirkuit satu Qubit untuk estimasi fase

Probabilitas hasil pengukuran untuk sirkuit ini bergantung pada nilai eigen dari UU yang bersesuaian dengan vektor eigen ∣ψ⟩.\vert\psi\rangle. Mari kita analisis sirkuit secara rinci untuk menentukan tepatnya bagaimana.

State sirkuit satu Qubit untuk estimasi fase

State awal sirkuit adalah

βˆ£Ο€0⟩=∣ψ⟩∣0⟩\vert\pi_0\rangle = \vert\psi\rangle \vert 0\rangle

dan Gate Hadamard pertama mentransformasi state ini menjadi

βˆ£Ο€1⟩=∣ψ⟩∣+⟩=12∣ψ⟩∣0⟩+12∣ψ⟩∣1⟩.\vert\pi_1\rangle = \vert\psi\rangle \vert +\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle.

Selanjutnya, operasi controlled-UU dilakukan, yang menghasilkan state

βˆ£Ο€2⟩=12∣ψ⟩∣0⟩+12(U∣ψ⟩)∣1⟩.\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{1}{\sqrt{2}} \bigl(U \vert\psi\rangle\bigr) \vert 1\rangle.

Menggunakan asumsi bahwa ∣ψ⟩\vert\psi\rangle adalah vektor eigen dari UU dengan nilai eigen Ξ»=e2Ο€iΞΈ,\lambda = e^{2\pi i\theta}, kita bisa mengekspresikan state ini secara alternatif sebagai berikut.

βˆ£Ο€2⟩=12∣ψ⟩∣0⟩+e2Ο€iΞΈ2∣ψ⟩∣1⟩=βˆ£ΟˆβŸ©βŠ—(12∣0⟩+e2Ο€iΞΈ2∣1⟩)\vert\pi_2\rangle = \frac{1}{\sqrt{2}} \vert\psi\rangle \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert\psi\rangle \vert 1\rangle = \vert\psi\rangle \otimes \left( \frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle\right)

Di sini kita mengamati fenomena phase kickback. Ini sedikit berbeda kali ini dibandingkan dengan algoritma Deutsch dan algoritma Deutsch-Jozsa karena kita tidak bekerja dengan query gate β€” tapi idenya serupa.

Akhirnya, Gate Hadamard kedua dilakukan. Setelah sedikit penyederhanaan, kita mendapatkan ekspresi ini untuk state ini.

βˆ£Ο€3⟩=βˆ£ΟˆβŸ©βŠ—(1+e2Ο€iΞΈ2∣0⟩+1βˆ’e2Ο€iΞΈ2∣1⟩)\vert\pi_3\rangle = \vert\psi\rangle \otimes \left( \frac{1+ e^{2\pi i \theta}}{2} \vert 0\rangle + \frac{1 - e^{2\pi i \theta}}{2} \vert 1\rangle\right)

Pengukuran oleh karena itu menghasilkan outcome 00 dan 11 dengan probabilitas ini:

p0=∣1+e2Ο€iΞΈ2∣2=cos⁑2(πθ)p1=∣1βˆ’e2Ο€iΞΈ2∣2=sin⁑2(πθ).\begin{aligned} p_0 &= \left\vert \frac{1+ e^{2\pi i \theta}}{2} \right\vert^2 = \cos^2(\pi\theta)\\[1mm] p_1 &= \left\vert \frac{1- e^{2\pi i \theta}}{2} \right\vert^2 = \sin^2(\pi\theta). \end{aligned}

Berikut adalah plot probabilitas untuk dua kemungkinan outcome, 00 dan 1,1, sebagai fungsi dari ΞΈ.\theta.

Probabilitas outcome dari phase kickback

Secara alami, kedua probabilitas selalu berjumlah 1.1. Perhatikan bahwa ketika ΞΈ=0,\theta = 0, hasil pengukuran selalu 0,0, dan ketika ΞΈ=1/2,\theta = 1/2, hasil pengukuran selalu 1.1. Jadi, meskipun hasil pengukuran tidak mengungkapkan tepat apa itu ΞΈ,\theta, ia memang memberi kita beberapa informasi tentangnya β€” dan jika kita dijanjikan bahwa ΞΈ=0\theta = 0 atau ΞΈ=1/2,\theta = 1/2, kita bisa belajar dari sirkuit mana yang benar tanpa kesalahan.

Secara intuitif, kita bisa menganggap outcome pengukuran sirkuit sebagai tebakan untuk ΞΈ\theta dengan "akurasi satu bit." Dengan kata lain, jika kita menulis ΞΈ\theta dalam notasi biner dan membulatkannya ke satu bit, kita akan mendapatkan angka seperti ini:

0.a={0a=012a=1.0.a = \begin{cases} 0 & a = 0\\ \frac{1}{2} & a = 1. \end{cases}

Outcome pengukuran bisa dilihat sebagai tebakan untuk bit a.a. Ketika ΞΈ\theta bukan 00 atau 1/2,1/2, ada probabilitas nonzero bahwa tebakannya salah β€” tapi probabilitas membuat kesalahan menjadi semakin kecil saat kita semakin mendekati 00 atau 1/2.1/2.

Wajar untuk bertanya peran apa yang dimainkan oleh dua Gate Hadamard dalam prosedur ini:

  • Gate Hadamard pertama mengatur control qubit ke superposisi seragam dari ∣0⟩\vert 0\rangle dan ∣1⟩,\vert 1\rangle, sehingga ketika phase kickback terjadi, itu terjadi untuk state ∣1⟩\vert 1\rangle dan bukan state ∣0⟩,\vert 0\rangle, menciptakan perbedaan fase relatif yang mempengaruhi outcome pengukuran. Jika kita tidak melakukan ini dan phase kickback menghasilkan fase global, itu tidak akan berpengaruh pada probabilitas mendapatkan outcome pengukuran yang berbeda.

  • Gate Hadamard kedua memungkinkan kita mempelajari sesuatu tentang angka ΞΈ\theta melalui fenomena interferensi. Sebelum Gate Hadamard kedua, state qubit paling atas adalah

    12∣0⟩+e2Ο€iΞΈ2∣1⟩,\frac{1}{\sqrt{2}} \vert 0\rangle + \frac{e^{2\pi i \theta}}{\sqrt{2}} \vert 1\rangle,

    dan jika kita mengukur state ini, kita akan mendapatkan 00 dan 11 masing-masing dengan probabilitas 1/2,1/2, tidak memberi tahu kita apa pun tentang ΞΈ.\theta. Namun dengan melakukan Gate Hadamard kedua, kita menyebabkan angka ΞΈ\theta mempengaruhi probabilitas output.

Menggandakan fase​

Sirkuit di atas menggunakan fenomena phase kickback untuk memperkirakan ΞΈ\theta dengan akurasi satu bit. Satu bit akurasi mungkin sudah cukup dalam beberapa situasi β€” tapi untuk faktorisasi kita akan membutuhkan jauh lebih banyak akurasi dari itu. Pertanyaan wajarnya adalah, bagaimana kita bisa mempelajari lebih banyak tentang ΞΈ?\theta?

Satu hal yang sangat sederhana yang bisa kita lakukan adalah mengganti operasi controlled-UU dalam sirkuit kita dengan dua salinan dari operasi ini, seperti dalam sirkuit ini:

Estimasi fase single-bit yang digandakan

Dua salinan operasi controlled-UU setara dengan operasi controlled-U2U^2. Jika ∣ψ⟩\vert\psi\rangle adalah vektor eigen dari UU dengan nilai eigen Ξ»=e2Ο€iΞΈ,\lambda = e^{2\pi i \theta}, maka state ini juga merupakan vektor eigen dari U2,U^2, kali ini dengan nilai eigen Ξ»2=e2Ο€i(2ΞΈ).\lambda^2 = e^{2\pi i (2\theta)}.

Jadi, jika kita menjalankan versi sirkuit ini, kita secara efektif melakukan komputasi yang sama seperti sebelumnya, kecuali bahwa angka ΞΈ\theta diganti dengan 2ΞΈ.2\theta. Berikut adalah plot yang menggambarkan probabilitas output saat ΞΈ\theta berkisar dari 00 ke 1.1.

Probabilitas outcome dari double-phase kickback

Melakukan ini memang bisa memberi kita beberapa informasi tambahan tentang ΞΈ.\theta. Jika representasi biner dari ΞΈ\theta adalah

ΞΈ=0.a1a2a3β‹―\theta = 0.a_1 a_2 a_3\cdots

maka menggandakan ΞΈ\theta secara efektif menggeser titik biner satu posisi ke kanan:

2ΞΈ=a1.a2a3β‹―2\theta = a_1. a_2 a_3\cdots

Dan karena kita menyamakan ΞΈ=1\theta = 1 dengan ΞΈ=0\theta = 0 saat kita bergerak mengelilingi lingkaran satuan, kita melihat bahwa bit a1a_1 tidak berpengaruh pada probabilitas kita, dan kita secara efektif mendapatkan tebakan untuk bit kedua setelah titik biner jika kita membulatkan ΞΈ\theta ke dua bit. Misalnya, jika kita tahu sebelumnya bahwa ΞΈ\theta adalah 00 atau 1/4,1/4, maka kita bisa sepenuhnya mempercayai outcome pengukuran untuk memberi tahu kita mana yang benar.

Namun belum jelas bagaimana estimasi ini harus didamaikan dengan apa yang kita pelajari dari sirkuit phase kickback asli (yang tidak digandakan) untuk memberi kita informasi paling akurat yang mungkin tentang ΞΈ.\theta. Jadi mari kita mundur sejenak dan mempertimbangkan cara untuk melanjutkan.

Estimasi fase dua Qubit​

Daripada mempertimbangkan dua opsi yang dijelaskan di atas secara terpisah, mari kita gabungkan keduanya menjadi satu sirkuit seperti ini.

Pengaturan awal untuk estimasi fase dengan dua Qubit

Gate Hadamard setelah operasi controlled telah dihapus dan belum ada pengukuran di sini. Kita akan menambahkan lebih banyak ke sirkuit saat kita mempertimbangkan opsi kita untuk mempelajari sebanyak mungkin tentang ΞΈ.\theta.

Jika kita menjalankan sirkuit ini ketika ∣ψ⟩\vert\psi\rangle adalah vektor eigen dari U,U, state Qubit bawah akan tetap ∣ψ⟩\vert\psi\rangle sepanjang seluruh sirkuit, dan fase akan "ditendang" ke state dua Qubit atas. Mari kita analisis sirkuit dengan cermat, melalui gambar berikut.

State untuk estimasi fase dengan dua Qubit

Kita bisa menulis state βˆ£Ο€1⟩\vert\pi_1\rangle seperti ini:

βˆ£Ο€1⟩=βˆ£ΟˆβŸ©βŠ—12βˆ‘a0=01βˆ‘a1=01∣a1a0⟩.\vert\pi_1\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 \vert a_1 a_0 \rangle.

Ketika operasi controlled-UU pertama dilakukan, nilai eigen Ξ»=e2Ο€iΞΈ\lambda = e^{2\pi i\theta} ditendang ke dalam fase ketika a0a_0 (Qubit paling atas) sama dengan 1,1, tapi tidak ketika 0.0. Jadi, kita bisa mengekspresikan state yang dihasilkan seperti ini:

βˆ£Ο€2⟩=βˆ£ΟˆβŸ©βŠ—12βˆ‘a0=01βˆ‘a1=01e2Ο€ia0θ∣a1a0⟩.\vert\pi_2\rangle = \vert\psi\rangle \otimes \frac{1}{2} \sum_{a_0=0}^1 \sum_{a_1=0}^1 e^{2 \pi i a_0 \theta} \vert a_1 a_0 \rangle.

Gate controlled-UU kedua dan ketiga melakukan hal serupa, kecuali untuk a1a_1 daripada a0,a_0, dan dengan ΞΈ\theta diganti dengan 2ΞΈ.2\theta. Kita bisa mengekspresikan state yang dihasilkan seperti ini:

βˆ£Ο€3⟩=βˆ£ΟˆβŸ©βŠ—12βˆ‘a0=01βˆ‘a1=01e2Ο€i(2a1+a0)θ∣a1a0⟩.\vert\pi_3\rangle = \vert\psi\rangle\otimes\frac{1}{2}\sum_{a_0 = 0}^1 \sum_{a_1 = 0}^1 e^{2\pi i (2 a_1 + a_0)\theta} \vert a_1 a_0 \rangle.

Jika kita menganggap string biner a1a0a_1 a_0 sebagai merepresentasikan bilangan bulat x∈{0,1,2,3}x \in \{0,1,2,3\} dalam notasi biner, yaitu x=2a1+a0,x = 2 a_1 + a_0, kita bisa mengekspresikan state ini secara alternatif sebagai berikut.

βˆ£Ο€3⟩=βˆ£ΟˆβŸ©βŠ—12βˆ‘x=03e2Ο€ixθ∣x⟩\vert\pi_3\rangle = \vert \psi\rangle \otimes \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x \theta} \vert x \rangle

Tujuan kita adalah mengekstrak informasi sebanyak mungkin tentang ΞΈ\theta dari state ini.

Pada titik ini kita akan mempertimbangkan kasus khusus, di mana kita dijanjikan bahwa θ=y4\theta = \frac{y}{4} untuk beberapa bilangan bulat y∈{0,1,2,3}.y\in\{0,1,2,3\}. Dengan kata lain, kita memiliki θ∈{0,1/4,1/2,3/4},\theta\in \{0, 1/4, 1/2, 3/4\}, sehingga kita bisa mengekspresikan angka ini secara tepat menggunakan notasi biner dengan dua bit, sebagai .00,00, .01,01, .10,10, atau .11.11. Secara umum, θ\theta mungkin bukan salah satu dari empat nilai ini, tapi memikirkan kasus khusus ini akan membantu kita mengetahui cara paling efektif mengekstrak informasi tentang θ\theta secara umum.

Pertama kita akan mendefinisikan vektor state dua Qubit untuk setiap kemungkinan nilai y∈{0,1,2,3}.y \in \{0, 1, 2, 3\}.

βˆ£Ο•y⟩=12βˆ‘x=03e2Ο€ix(y4)∣x⟩=12βˆ‘x=03e2Ο€ixy4∣x⟩\vert \phi_y\rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i x (\frac{y}{4})} \vert x \rangle = \frac{1}{2} \sum_{x = 0}^3 e^{2\pi i \frac{x y}{4}} \vert x \rangle

Setelah menyederhanakan eksponensial, kita bisa menuliskan vektor-vektor ini sebagai berikut.

βˆ£Ο•0⟩=12∣0⟩+12∣1⟩+12∣2⟩+12∣3βŸ©βˆ£Ο•1⟩=12∣0⟩+i2∣1βŸ©βˆ’12∣2βŸ©βˆ’i2∣3βŸ©βˆ£Ο•2⟩=12∣0βŸ©βˆ’12∣1⟩+12∣2βŸ©βˆ’12∣3βŸ©βˆ£Ο•3⟩=12∣0βŸ©βˆ’i2∣1βŸ©βˆ’12∣2⟩+i2∣3⟩\begin{aligned} \vert\phi_0\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle + \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_1\rangle & = \frac{1}{2} \vert 0 \rangle + \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle - \frac{i}{2} \vert 3 \rangle \\[3mm] \vert\phi_2\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{1}{2} \vert 1 \rangle + \frac{1}{2} \vert 2 \rangle - \frac{1}{2} \vert 3 \rangle \\[3mm] \vert\phi_3\rangle & = \frac{1}{2} \vert 0 \rangle - \frac{i}{2} \vert 1 \rangle - \frac{1}{2} \vert 2 \rangle + \frac{i}{2} \vert 3 \rangle \end{aligned}

Vektor-vektor ini ortogonal: jika kita memilih pasangan mana pun dari mereka dan menghitung produk dalamnya, kita mendapatkan 0.0. Masing-masing juga merupakan vektor satuan, sehingga {βˆ£Ο•0⟩,βˆ£Ο•1⟩,βˆ£Ο•2⟩,βˆ£Ο•3⟩}\{\vert\phi_0\rangle, \vert\phi_1\rangle, \vert\phi_2\rangle, \vert\phi_3\rangle\} adalah basis ortonormal. Oleh karena itu kita tahu langsung bahwa ada pengukuran yang bisa membedakan mereka dengan sempurna β€” artinya, jika kita diberi salah satunya tapi tidak tahu yang mana, maka kita bisa mengetahui yang mana tanpa kesalahan.

Untuk melakukan diskriminasi seperti itu dengan sirkuit kuantum, kita pertama bisa mendefinisikan operasi uniter VV yang mentransformasi state basis standar menjadi empat state yang tercantum di atas.

V∣00⟩=βˆ£Ο•0⟩V∣01⟩=βˆ£Ο•1⟩V∣10⟩=βˆ£Ο•2⟩V∣11⟩=βˆ£Ο•3⟩\begin{aligned} V \vert 00 \rangle & = \vert\phi_0\rangle \\ V \vert 01 \rangle & = \vert\phi_1\rangle \\ V \vert 10 \rangle & = \vert\phi_2\rangle \\ V \vert 11 \rangle & = \vert\phi_3\rangle \end{aligned}

Untuk menuliskan VV sebagai matriks 4Γ—4,4\times 4, cukup dengan mengambil kolom-kolom VV sebagai state βˆ£Ο•0⟩,…,βˆ£Ο•3⟩.\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle.

V=12(11111iβˆ’1βˆ’i1βˆ’11βˆ’11βˆ’iβˆ’1i)V = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Ini adalah matriks istimewa, dan kemungkinan besar beberapa pembaca pernah menemuinya sebelumnya: ini adalah matriks yang berkaitan dengan transformasi Fourier diskret berdimensi 44. Mengingat fakta ini, mari kita sebut dengan nama QFT4\mathrm{QFT}_4 daripada V.V. Nama QFT\mathrm{QFT} adalah singkatan dari quantum Fourier transform β€” yang pada dasarnya hanyalah transformasi Fourier diskret, dipandang sebagai operasi uniter. Kita akan membahas transformasi Fourier kuantum secara lebih rinci dan umum sebentar lagi.

QFT4=12(11111iβˆ’1βˆ’i1βˆ’11βˆ’11βˆ’iβˆ’1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix}

Kita bisa melakukan invers dari operasi ini untuk pergi ke arah lain, untuk mentransformasi state βˆ£Ο•0⟩,…,βˆ£Ο•3⟩\vert\phi_0\rangle,\ldots,\vert\phi_3\rangle menjadi state basis standar ∣0⟩,…,∣3⟩.\vert 0\rangle,\ldots,\vert 3\rangle. Jika kita melakukan ini, maka kita bisa mengukur untuk mengetahui nilai y∈{0,1,2,3}y\in\{0,1,2,3\} mana yang mendeskripsikan ΞΈ\theta sebagai ΞΈ=y/4.\theta = y/4. Berikut adalah diagram sirkuit kuantum yang melakukan ini.

Estimasi fase dengan dua Qubit

Singkatnya, jika kita menjalankan sirkuit ini ketika θ=y/4\theta = y/4 untuk y∈{0,1,2,3},y\in\{0,1,2,3\}, state tepat sebelum pengukuran berlangsung akan menjadi ∣ψ⟩∣y⟩\vert \psi\rangle \vert y\rangle (untuk yy yang dikodekan sebagai string biner dua bit), sehingga pengukuran akan mengungkapkan nilai yy tanpa kesalahan.

Sirkuit ini dimotivasi oleh kasus khusus bahwa θ∈{0,1/4,1/2,3/4}\theta \in \{0,1/4,1/2,3/4\} β€” tapi kita bisa menjalankannya untuk pilihan UU dan ∣ψ⟩\vert \psi\rangle apa pun, dan karenanya nilai ΞΈ\theta apa pun, yang kita inginkan. Berikut adalah plot probabilitas output yang dihasilkan sirkuit untuk pilihan ΞΈ\theta yang sewenang-wenang.

Probabilitas outcome dari estimasi fase dua Qubit

Ini adalah peningkatan yang jelas dibandingkan varian satu Qubit yang dijelaskan sebelumnya dalam pelajaran ini. Ini tidak sempurna β€” bisa memberi kita jawaban yang salah β€” tapi jawabannya sangat condong ke nilai-nilai yy di mana y/4y/4 mendekati ΞΈ.\theta. Khususnya, outcome paling mungkin selalu sesuai dengan nilai y/4y/4 yang paling dekat dengan ΞΈ\theta (menyamakan ΞΈ=0\theta = 0 dan ΞΈ=1\theta = 1 seperti sebelumnya), dan dari plot terlihat bahwa nilai xx terdekat ini selalu muncul dengan probabilitas tepat di atas 40%.40\%. Ketika ΞΈ\theta tepat di tengah antara dua nilai tersebut, seperti ΞΈ=0.375\theta = 0.375 misalnya, dua nilai yy yang sama-sama dekat memiliki kemungkinan yang sama.

Bersiap untuk menggeneralisasi ke banyak Qubit​

Mengingat peningkatan yang baru saja kita peroleh dengan menggunakan dua control qubit daripada satu, bersamaan dengan invers dari transformasi Fourier kuantum berdimensi 4,4, wajar untuk mempertimbangkan menggeneralisasikannya lebih jauh β€” dengan menambahkan lebih banyak control qubit. Saat kita melakukan ini, kita mendapatkan prosedur estimasi fase umum. Kita akan melihat bagaimana ini bekerja sebentar lagi, tapi untuk mendeskripsikannya dengan tepat kita perlu membahas transformasi Fourier kuantum secara lebih umum, untuk melihat bagaimana ia didefinisikan untuk dimensi lain dan untuk melihat bagaimana kita bisa mengimplementasikannya (atau inversnya) dengan sirkuit kuantum.

Transformasi Fourier kuantum​

Transformasi Fourier kuantum adalah operasi uniter yang bisa didefinisikan untuk sembarang dimensi bilangan bulat positif N.N. Di bagian ini, kita akan melihat bagaimana operasi ini didefinisikan dan bagaimana operasi ini bisa diimplementasikan dengan Circuit kuantum pada mm Qubit dengan biaya O(m2)O(m^2) ketika N=2m.N = 2^m.

Matriks yang menggambarkan transformasi Fourier kuantum diturunkan dari operasi analog pada vektor NN-dimensi yang dikenal sebagai transformasi Fourier diskrit. Operasi ini bisa dipahami dengan berbagai cara. Misalnya, kita bisa memikirkan transformasi Fourier diskrit dalam istilah matematis abstrak murni sebagai pemetaan linear. Atau kita bisa memikirkannya dalam istilah komputasi, di mana kita diberikan vektor NN-dimensi berisi bilangan kompleks (menggunakan notasi biner untuk mengkodekan bagian riil dan imajiner dari entri, misalkan) dan tujuannya adalah menghitung vektor NN-dimensi yang diperoleh dengan menerapkan transformasi Fourier diskrit. Fokus kita adalah pada cara ketiga, yaitu melihat transformasi ini sebagai operasi uniter yang bisa dilakukan pada sistem kuantum.

Ada algoritma efisien untuk menghitung transformasi Fourier diskrit pada vektor input tertentu yang dikenal sebagai transformasi Fourier cepat. Algoritma ini memiliki aplikasi dalam pemrosesan sinyal dan banyak area lainnya, dan dianggap oleh banyak orang sebagai salah satu algoritma terpenting yang pernah ditemukan. Ternyata, implementasi transformasi Fourier kuantum ketika NN adalah pangkat 2 yang akan kita pelajari didasarkan pada struktur dasar yang sama yang membuat transformasi Fourier cepat itu mungkin.

Definisi transformasi Fourier kuantum​

Untuk mendefinisikan transformasi Fourier kuantum, pertama-tama kita akan mendefinisikan bilangan kompleks Ο‰N,\omega_N, untuk setiap bilangan bulat positif N,N, seperti ini:

Ο‰N=e2Ο€iN=cos⁑(2Ο€N)+isin⁑(2Ο€N).\omega_N = e^{\frac{2\pi i}{N}} = \cos\left(\frac{2\pi}{N}\right) + i \sin\left(\frac{2\pi}{N}\right).

Ini adalah bilangan pada lingkaran satuan kompleks yang kita peroleh jika kita mulai dari 11 dan bergerak berlawanan arah jarum jam sebesar sudut 2Ο€/N2\pi/N radian, atau sepersekian 1/N1/N dari keliling lingkaran. Berikut beberapa contoh:

Ο‰1=1Ο‰2=βˆ’1Ο‰3=βˆ’12+32iΟ‰4=iΟ‰8=1+i2Ο‰16=2+22+2βˆ’22iΟ‰100β‰ˆ0.998+0.063i\begin{gathered} \omega_1 = 1\\[1mm] \omega_2 = -1\\[1mm] \omega_3 = -\frac{1}{2} + \frac{\sqrt{3}}{2} i\\[2mm] \omega_4 = i\\[1mm] \omega_8 = \frac{1+i}{\sqrt{2}}\\[3mm] \omega_{16} = \frac{\sqrt{2 + \sqrt{2}}}{2} + \frac{\sqrt{2 - \sqrt{2}}}{2} i\\[2mm] \omega_{100} \approx 0.998 + 0.063 i \end{gathered}

Sekarang kita bisa mendefinisikan transformasi Fourier kuantum NN-dimensi, yang digambarkan oleh matriks NΓ—NN\times N yang baris dan kolomnya dikaitkan dengan state basis standar ∣0⟩,…,∣Nβˆ’1⟩.\vert 0\rangle,\ldots,\vert N-1\rangle. Kita hanya akan membutuhkan operasi ini ketika N=2mN = 2^m adalah pangkat 22 untuk estimasi fase, tetapi operasi ini bisa didefinisikan untuk sembarang bilangan bulat positif N.N.

QFTN=1Nβˆ‘x=0Nβˆ’1βˆ‘y=0Nβˆ’1Ο‰Nxy∣x⟩⟨y∣\mathrm{QFT}_N = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \sum_{y = 0}^{N-1} \omega_N^{xy} \vert x \rangle\langle y\vert

Seperti yang sudah dinyatakan, ini adalah matriks yang terkait dengan transformasi Fourier diskrit NN-dimensi. Seringkali faktor depan 1/N1/\sqrt{N} tidak disertakan dalam definisi matriks ini, tetapi kita perlu menyertakannya untuk mendapatkan matriks uniter.

Berikut adalah transformasi Fourier kuantum, ditulis sebagai matriks, untuk beberapa nilai NN yang kecil.

QFT1=(1)\mathrm{QFT}_1 = \begin{pmatrix} 1 \end{pmatrix} QFT2=12(111βˆ’1)\mathrm{QFT}_2 = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 1\\[1mm] 1 & -1 \end{pmatrix} QFT3=13(1111βˆ’1+i32βˆ’1βˆ’i321βˆ’1βˆ’i32βˆ’1+i32)\mathrm{QFT}_3 = \frac{1}{\sqrt{3}} \begin{pmatrix} 1 & 1 & 1\\[2mm] 1 & \frac{-1 + i\sqrt{3}}{2} & \frac{-1 - i\sqrt{3}}{2}\\[2mm] 1 & \frac{-1 - i\sqrt{3}}{2} & \frac{-1 + i\sqrt{3}}{2} \end{pmatrix} QFT4=12(11111iβˆ’1βˆ’i1βˆ’11βˆ’11βˆ’iβˆ’1i)\mathrm{QFT}_4 = \frac{1}{2} \begin{pmatrix} 1 & 1 & 1 & 1\\[1mm] 1 & i & -1 & -i\\[1mm] 1 & -1 & 1 & -1\\[1mm] 1 & -i & -1 & i \end{pmatrix} QFT8=122(1111111111+i2iβˆ’1+i2βˆ’1βˆ’1βˆ’i2βˆ’i1βˆ’i21iβˆ’1βˆ’i1iβˆ’1βˆ’i1βˆ’1+i2βˆ’i1+i2βˆ’11βˆ’i2iβˆ’1βˆ’i21βˆ’11βˆ’11βˆ’11βˆ’11βˆ’1βˆ’i2i1βˆ’i2βˆ’11+i2βˆ’iβˆ’1+i21βˆ’iβˆ’1i1βˆ’iβˆ’1i11βˆ’i2βˆ’iβˆ’1βˆ’i2βˆ’1βˆ’1+i2i1+i2)\mathrm{QFT}_8 = \frac{1}{2\sqrt{2}} \begin{pmatrix} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\\[2mm] 1 & \frac{1+i}{\sqrt{2}} & i & \frac{-1+i}{\sqrt{2}} & -1 & \frac{-1-i}{\sqrt{2}} & -i & \frac{1-i}{\sqrt{2}}\\[2mm] 1 & i & -1 & -i & 1 & i & -1 & -i\\[2mm] 1 & \frac{-1+i}{\sqrt{2}} & -i & \frac{1+i}{\sqrt{2}} & -1 & \frac{1-i}{\sqrt{2}} & i & \frac{-1-i}{\sqrt{2}}\\[2mm] 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1\\[2mm] 1 & \frac{-1-i}{\sqrt{2}} & i & \frac{1-i}{\sqrt{2}} & -1 & \frac{1+i}{\sqrt{2}} & -i & \frac{-1+i}{\sqrt{2}}\\[2mm] 1 & -i & -1 & i & 1 & -i & -1 & i\\[2mm] 1 & \frac{1-i}{\sqrt{2}} & -i & \frac{-1-i}{\sqrt{2}} & -1 & \frac{-1+i}{\sqrt{2}} & i & \frac{1+i}{\sqrt{2}}\\[2mm] \end{pmatrix}

Perhatikan, khususnya, bahwa QFT2\mathrm{QFT}_2 adalah nama lain untuk operasi Hadamard.

Keunitaran​

Mari kita verifikasi bahwa QFTN\mathrm{QFT}_N adalah uniter, untuk sembarang pilihan N.N. Salah satu cara melakukannya adalah dengan menunjukkan bahwa kolom-kolomnya membentuk basis ortonormal. Kita bisa mendefinisikan vektor yang sesuai dengan kolom nomor y,y, mulai dari y=0y = 0 hingga y=Nβˆ’1,y = N-1, seperti ini:

βˆ£Ο•y⟩=1Nβˆ‘x=0Nβˆ’1Ο‰Nxy∣x⟩.\vert\phi_y\rangle = \frac{1}{\sqrt{N}} \sum_{x = 0}^{N-1} \omega_N^{xy} \vert x \rangle.

Mengambil hasil kali dalam antara dua vektor ini memberikan ekspresi berikut:

βŸ¨Ο•zβˆ£Ο•y⟩=1Nβˆ‘x=0Nβˆ’1Ο‰Nx(yβˆ’z)\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \sum_{x = 0}^{N-1} \omega_N^{x (y - z)}

Kita bisa mengevaluasi penjumlahan seperti ini menggunakan rumus berikut untuk jumlah NN suku pertama deret geometri.

1+Ξ±+Ξ±2+β‹―+Ξ±Nβˆ’1={Ξ±Nβˆ’1Ξ±βˆ’1ifΒ Ξ±β‰ 1NifΒ Ξ±=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Secara spesifik, kita bisa menggunakan rumus ini ketika Ξ±=Ο‰Nyβˆ’z.\alpha = \omega_N^{y-z}. Ketika y=z,y = z, kita punya Ξ±=1,\alpha = 1, sehingga menggunakan rumus dan membagi dengan NN menghasilkan

βŸ¨Ο•yβˆ£Ο•y⟩=1.\langle \phi_y \vert \phi_y \rangle = 1.

Ketika y≠z,y\neq z, kita punya α≠1,\alpha \neq 1, sehingga rumus mengungkapkan ini:

βŸ¨Ο•zβˆ£Ο•y⟩=1NΟ‰NN(yβˆ’z)βˆ’1Ο‰Nyβˆ’zβˆ’1=1N1βˆ’1Ο‰Nyβˆ’zβˆ’1=0.\langle \phi_z \vert \phi_y \rangle = \frac{1}{N} \frac{\omega_N^{N(y-z)} - 1}{\omega_N^{y-z} - 1} = \frac{1}{N} \frac{1 - 1}{\omega_N^{y-z} - 1} = 0.

Ini terjadi karena Ο‰NN=e2Ο€i=1,\omega_N^N = e^{2\pi i} = 1, sehingga Ο‰NN(yβˆ’z)=1yβˆ’z=1,\omega_N^{N(y-z)} = 1^{y-z} = 1, membuat pembilang nol, sementara penyebutnya tidak nol karena Ο‰Nyβˆ’zβ‰ 1.\omega_N^{y-z} \neq 1. Secara intuitif, apa yang kita lakukan adalah menjumlahkan sejumlah titik yang tersebar di sekeliling lingkaran satuan, dan titik-titik tersebut saling meniadakan dan menghasilkan 00 ketika dijumlahkan.

Kita sudah menetapkan bahwa {βˆ£Ο•0⟩,…,βˆ£Ο•Nβˆ’1⟩}\{\vert\phi_0\rangle,\ldots,\vert\phi_{N-1}\rangle\} adalah himpunan ortonormal,

βŸ¨Ο•zβˆ£Ο•y⟩={1y=z0yβ‰ z,\langle \phi_z \vert \phi_y \rangle = \begin{cases} 1 & y=z\\ 0 & y\neq z, \end{cases}

yang mengungkapkan bahwa QFTN\mathrm{QFT}_N adalah uniter.

Gate fase terkontrol​

Untuk mengimplementasikan transformasi Fourier kuantum dengan Circuit kuantum, kita perlu menggunakan Gate fase terkontrol. Ingat bahwa operasi fase adalah operasi uniter Qubit tunggal berbentuk

PΞ±=(100eiΞ±)P_{\alpha} = \begin{pmatrix} 1 & 0\\[1mm] 0 & e^{i\alpha} \end{pmatrix}

untuk sembarang bilangan riil Ξ±.\alpha. Versi terkontrol dari Gate ini memiliki matriks berikut:

CPΞ±=(100001000010000eiΞ±)CP_{\alpha} = \begin{pmatrix} 1 & 0 & 0 & 0\\[1mm] 0 & 1 & 0 & 0\\[1mm] 0 & 0 & 1 & 0\\[1mm] 0 & 0 & 0 & e^{i\alpha} \end{pmatrix}

Untuk Gate terkontrol ini, sebenarnya tidak masalah Qubit mana yang menjadi kontrol dan mana yang menjadi target karena dua kemungkinan itu setara. Kita bisa menggunakan simbol-simbol berikut untuk merepresentasikan Gate ini dalam diagram Circuit kuantum.

Quantum circuit diagram representation for controlled-phase gates

Untuk bentuk ketiga, label Ξ±\alpha juga terkadang ditempatkan di sisi garis kontrol atau di bawah kontrol bawah jika itu lebih mudah.

Untuk melakukan transformasi Fourier kuantum ketika N=2mN = 2^m dan mβ‰₯2,m\geq 2, kita perlu melakukan operasi pada mm Qubit yang aksinya pada state basis standar bisa dijelaskan sebagai

∣y⟩∣aβŸ©β†¦Ο‰2may∣y⟩∣a⟩,\vert y \rangle \vert a \rangle \mapsto \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle,

di mana aa adalah sebuah bit dan y∈{0,…,2mβˆ’1βˆ’1}y \in \{0,\ldots,2^{m-1} - 1\} adalah bilangan yang dikodekan dalam notasi biner sebagai string mβˆ’1m-1 bit. Ini bisa dilakukan menggunakan Gate fase terkontrol dengan menggeneralisasi contoh berikut, di mana m=5.m=5.

Quantum circuit diagram for phase injection

Secara umum, untuk sembarang pilihan mβ‰₯2,m\geq 2, Qubit paling atas yang sesuai dengan bit aa bisa dipandang sebagai kontrol, dengan Gate fase PΞ±P_{\alpha} berkisar dari Ξ±=Ο€/2mβˆ’1\alpha = \pi/2^{m-1} pada Qubit yang sesuai dengan bit paling tidak signifikan dari yy hingga Ξ±=Ο€2\alpha = \frac{\pi}{2} pada Qubit yang sesuai dengan bit paling signifikan dari y.y. Gate fase terkontrol ini semuanya berkomutasi satu sama lain dan bisa dilakukan dalam urutan apa pun.

Implementasi Circuit dari QFT​

Sekarang kita akan melihat bagaimana kita bisa mengimplementasikan transformasi Fourier kuantum dengan Circuit ketika dimensi N=2mN = 2^m adalah pangkat 2.2. Sebenarnya ada beberapa cara untuk mengimplementasikan transformasi Fourier kuantum, tetapi ini adalah metode paling sederhana yang dikenal. Setelah kita tahu cara mengimplementasikan transformasi Fourier kuantum dengan Circuit kuantum, mudah untuk mengimplementasikan inversnya: kita bisa mengganti setiap Gate dengan inversnya (atau, secara setara, transposa konjugat) dan menerapkan Gate dalam urutan terbalik. Setiap Circuit kuantum yang terdiri dari Gate uniter saja bisa diinverskan dengan cara ini.

Implementasinya bersifat rekursif, sehingga itulah cara paling alami untuk menjelaskannya. Kasus dasar adalah m=1,m=1, di mana transformasi Fourier kuantum adalah operasi Hadamard.

Untuk melakukan transformasi Fourier kuantum pada mm Qubit ketika mβ‰₯2,m \geq 2, kita bisa melakukan langkah-langkah berikut, yang aksinya akan kita jelaskan untuk state basis standar berbentuk ∣x⟩∣a⟩,\vert x \rangle \vert a\rangle, di mana x∈{0,…,2mβˆ’1βˆ’1}x\in\{0,\ldots,2^{m-1} - 1\} adalah bilangan bulat yang dikodekan sebagai mβˆ’1m-1 bit menggunakan notasi biner dan aa adalah satu bit.

  1. Pertama terapkan transformasi Fourier kuantum 2mβˆ’12^{m-1}-dimensi ke mβˆ’1m-1 Qubit paling bawah/paling kiri untuk mendapatkan state ini:

    (QFT2mβˆ’1∣x⟩)∣a⟩=12mβˆ’1βˆ‘y=02mβˆ’1βˆ’1Ο‰2mβˆ’1xy∣y⟩∣a⟩.\Bigl(\mathrm{QFT}_{2^{m-1}} \vert x \rangle\Bigr) \vert a\rangle = \frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \vert y \rangle \vert a \rangle.

    Ini dilakukan dengan secara rekursif menerapkan metode yang dijelaskan untuk satu Qubit lebih sedikit, menggunakan operasi Hadamard pada satu Qubit sebagai kasus dasar.

  2. Gunakan Qubit paling atas/paling kanan sebagai kontrol untuk menyuntikkan fase Ο‰2my\omega_{2^m}^y untuk setiap state basis standar ∣y⟩\vert y\rangle dari mβˆ’1m-1 Qubit yang tersisa (seperti dijelaskan di atas) untuk mendapatkan state ini:

    12mβˆ’1βˆ‘y=02mβˆ’1βˆ’1Ο‰2mβˆ’1xyΟ‰2may∣y⟩∣a⟩.\frac{1}{\sqrt{2^{m-1}}} \sum_{y = 0}^{2^{m-1} - 1} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert a \rangle.
  3. Lakukan Gate Hadamard pada Qubit paling atas/paling kanan untuk mendapatkan state ini:

    12mβˆ‘y=02mβˆ’1βˆ’1βˆ‘b=01(βˆ’1)abΟ‰2mβˆ’1xyΟ‰2may∣y⟩∣b⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert y \rangle \vert b \rangle.
  4. Permutasikan urutan Qubit sehingga bit paling tidak signifikan menjadi bit paling signifikan, dengan semua Qubit lainnya digeser ke atas/kanan:

    12mβˆ‘y=02mβˆ’1βˆ’1βˆ‘b=01(βˆ’1)abΟ‰2mβˆ’1xyΟ‰2may∣b⟩∣y⟩.\frac{1}{\sqrt{2^{m}}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b \rangle \vert y \rangle.

Sebagai contoh, berikut adalah Circuit yang kita dapatkan untuk N=32=25.N = 32 = 2^5. Dalam diagram ini, Qubit diberi nama yang sesuai dengan vektor basis standar ∣x⟩∣a⟩\vert x\rangle \vert a\rangle (untuk input) dan ∣b⟩∣y⟩\vert b\rangle \vert y\rangle (untuk output) agar lebih jelas.

Quantum circuit diagram for the 32-dimensional quantum Fourier transform

Analisis​

Rumus kunci yang perlu kita verifikasi bahwa Circuit yang baru saja dijelaskan mengimplementasikan transformasi Fourier kuantum 2m2^m-dimensi adalah ini:

(βˆ’1)abΟ‰2mβˆ’1xyΟ‰2may=Ο‰2m(2x+a)(2mβˆ’1b+y).(-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} = \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)}.

Rumus ini berlaku untuk sembarang pilihan bilangan bulat a,a, b,b, x,x, dan y,y, tetapi kita hanya membutuhkannya untuk a,b∈{0,1}a,b\in\{0,1\} dan x,y∈{0,…,2mβˆ’1βˆ’1}.x,y\in\{0,\ldots,2^{m-1}-1\}. Rumus ini bisa diperiksa dengan mengembangkan perkalian dalam eksponen di ruas kanan,

Ο‰2m(2x+a)(2mβˆ’1b+y)=Ο‰2m2mxbΟ‰2m2xyΟ‰2m2mβˆ’1abΟ‰2may=(βˆ’1)abΟ‰2mβˆ’1xyΟ‰2may, \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} = \omega_{2^m}^{2^m xb} \omega_{2^m}^{2xy} \omega_{2^m}^{2^{m-1}ab} \omega_{2^m}^{ay} = (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay},

di mana kesetaraan kedua memanfaatkan pengamatan bahwa

Ο‰2m2mxb=(Ο‰2m2m)xb=1xb=1.\omega_{2^m}^{2^m xb} = \bigl(\omega_{2^m}^{2^m}\bigr)^{xb} = 1^{xb} = 1.

Transformasi Fourier kuantum 2m2^m-dimensi didefinisikan sebagai berikut untuk setiap u∈{0,…,2mβˆ’1}.u\in\{0,\ldots,2^m - 1\}.

QFT2m∣u⟩=12mβˆ‘v=02mβˆ’1Ο‰2muv∣v⟩\mathrm{QFT}_{2^m} \vert u\rangle = \frac{1}{\sqrt{2^m}} \sum_{v = 0}^{2^m - 1} \omega_{2^m}^{uv} \vert v\rangle

Jika kita menulis uu dan vv sebagai

u=2x+av=2mβˆ’1b+y\begin{aligned} u & = 2x + a\\ v & = 2^{m-1}b + y \end{aligned}

untuk a,b∈{0,1}a,b\in\{0,1\} dan x,y∈{0,…,2mβˆ’1βˆ’1},x,y\in\{0,\ldots,2^{m-1} - 1\}, kita mendapatkan

QFT2m∣2x+a⟩=12mβˆ‘y=02mβˆ’1βˆ’1βˆ‘b=01Ο‰2m(2x+a)(2mβˆ’1b+y)∣b2mβˆ’1+y⟩=12mβˆ‘y=02mβˆ’1βˆ’1βˆ‘b=01(βˆ’1)abΟ‰2mβˆ’1xyΟ‰2may∣b2mβˆ’1+y⟩.\begin{aligned} \mathrm{QFT}_{2^m} \vert 2x + a\rangle & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 \omega_{2^m}^{(2x+ a)(2^{m-1}b + y)} \vert b 2^{m-1} + y\rangle\\[2mm] & = \frac{1}{\sqrt{2^m}} \sum_{y = 0}^{2^{m-1} - 1} \sum_{b=0}^1 (-1)^{ab} \omega_{2^{m-1}}^{xy} \omega_{2^m}^{ay} \vert b 2^{m-1} + y\rangle. \end{aligned}

Akhirnya, dengan memikirkan state basis standar ∣x⟩∣a⟩\vert x \rangle \vert a\rangle dan ∣b⟩∣y⟩\vert b \rangle \vert y \rangle sebagai pengkodean biner bilangan bulat dalam rentang {0,…,2mβˆ’1},\{0,\ldots,2^m-1\},

∣x⟩∣a⟩=∣2x+a⟩∣b⟩∣y⟩=∣2mβˆ’1b+y⟩,\begin{aligned} \vert x \rangle \vert a\rangle & = \vert 2x + a \rangle\\ \vert b \rangle \vert y \rangle & = \vert 2^{m-1}b + y\rangle, \end{aligned}

kita melihat bahwa Circuit di atas mengimplementasikan operasi yang diperlukan. Jika metode untuk melakukan transformasi Fourier kuantum ini terlihat luar biasa, itu memang begitu: ini pada dasarnya adalah transformasi Fourier cepat dalam bentuk Circuit kuantum.

Akhirnya, mari kita hitung berapa banyak Gate yang digunakan dalam Circuit yang baru saja dijelaskan. Gate fase terkontrol tidak ada dalam set Gate standar yang kita bahas di pelajaran sebelumnya, tetapi untuk memulai kita akan mengabaikan ini dan menghitung masing-masingnya sebagai satu Gate.

Mari kita biarkan sms_m menunjukkan jumlah Gate yang kita butuhkan untuk setiap kemungkinan pilihan m.m. Jika m=1,m=1, transformasi Fourier kuantum hanyalah operasi Hadamard, jadi

s1=1.s_1 = 1.

Jika mβ‰₯2,m\geq 2, maka dalam Circuit di atas kita butuh smβˆ’1s_{m-1} Gate untuk transformasi Fourier kuantum pada mβˆ’1m-1 Qubit, ditambah mβˆ’1m-1 Gate fase terkontrol, ditambah Gate Hadamard, ditambah mβˆ’1m-1 Gate swap, sehingga

sm=smβˆ’1+(2mβˆ’1).s_m = s_{m-1} + (2m - 1).

Kita bisa mendapatkan ekspresi bentuk tertutup dengan menjumlahkan:

sm=βˆ‘k=1m(2kβˆ’1)=m2.s_m = \sum_{k = 1}^m (2k - 1) = m^2.

Kita sebenarnya tidak membutuhkan sebanyak Gate swap yang dijelaskan metode ini. Jika kita sedikit mengatur ulang Gate, kita bisa mendorong semua Gate swap ke kanan dan mengurangi jumlah Gate swap yang diperlukan menjadi ⌊m/2βŒ‹.\lfloor m/2\rfloor. Secara asimtotik ini bukan peningkatan besar: kita masih mendapatkan Circuit berukuran O(m2)O(m^2) untuk melakukan QFT2m.\mathrm{QFT}_{2^m}.

Jika kita ingin mengimplementasikan transformasi Fourier kuantum hanya menggunakan Gate dari set Gate standar kita, kita perlu membangun atau mengaproksimasi setiap Gate fase terkontrol dengan Gate dari set kita. Jumlah yang diperlukan tergantung pada seberapa banyak akurasi yang kita butuhkan, tetapi sebagai fungsi dari mm total biaya tetap kuadratik.

Sebenarnya mungkin untuk mengaproksimasi transformasi Fourier kuantum cukup dekat dengan jumlah Gate sub-kuadratik dengan menggunakan fakta bahwa PΞ±P_{\alpha} sangat dekat dengan operasi identitas ketika Ξ±\alpha sangat kecil β€” yang berarti kita bisa saja meninggalkan sebagian besar Gate fase terkontrol tanpa mengalami terlalu banyak kerugian dalam hal akurasi.

Prosedur umum dan analisis​

Sekarang kita akan memeriksa prosedur estimasi fase secara umum. Idenya adalah memperluas versi dua Qubit dari estimasi fase yang kita pertimbangkan di atas dengan cara alami yang disarankan oleh diagram berikut.

Phase estimation procedure

Perhatikan bahwa, untuk setiap Qubit kontrol baru yang ditambahkan di atas, kita menggandakan jumlah kali operasi uniter UU dilakukan. Ini ditunjukkan dalam diagram oleh pangkat pada UU untuk setiap operasi uniter terkontrol.

Cara paling langsung untuk mengimplementasikan operasi controlled-UkU^k untuk beberapa pilihan kk adalah cukup dengan mengulang operasi controlled-UU sebanyak kk kali. Jika memang metodologi inilah yang digunakan, harus diakui bahwa penambahan Qubit kontrol berkontribusi signifikan terhadap ukuran Circuit: jika kita memiliki mm Qubit kontrol, seperti yang digambarkan diagram, total 2mβˆ’12^m - 1 salinan operasi controlled-UU diperlukan. Ini berarti biaya komputasi yang signifikan dikeluarkan seiring bertambahnya mm β€” tetapi seperti yang akan kita lihat, ini juga menghasilkan aproksimasi ΞΈ\theta yang jauh lebih akurat.

Penting untuk dicatat, bagaimanapun, bahwa untuk beberapa pilihan UU mungkin saja membuat Circuit yang mengimplementasikan operasi UkU^k untuk nilai kk yang besar dengan cara yang lebih efisien daripada sekadar mengulang kk kali Circuit untuk U.U. Kita akan melihat contoh spesifik dari ini dalam konteks faktorisasi bilangan bulat nanti dalam pelajaran ini, di mana algoritma efisien untuk eksponensiasi modular yang dibahas dalam pelajaran sebelumnya datang menyelamatkan.

Sekarang mari kita analisis Circuit yang baru saja dijelaskan. State segera sebelum transformasi Fourier kuantum invers terlihat seperti ini:

12mβˆ‘x=02mβˆ’1(Ux∣ψ⟩)∣x⟩=βˆ£ΟˆβŸ©βŠ—12mβˆ‘x=02mβˆ’1e2Ο€ixθ∣x⟩.\frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \bigl( U^x \vert\psi\rangle \bigr) \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i x\theta} \vert x\rangle.

Kasus khusus​

Sejalan dengan apa yang kita lakukan dalam kasus m=2,m=2, pertama-tama kita akan mempertimbangkan kasus khusus bahwa ΞΈ=y/2m\theta = y/2^m untuk y∈{0,…,2mβˆ’1}.y\in\{0,\ldots,2^m-1\}. Dalam kasus ini state sebelum transformasi Fourier kuantum invers bisa ditulis secara alternatif seperti ini:

βˆ£ΟˆβŸ©βŠ—12mβˆ‘x=02mβˆ’1e2Ο€ixy2m∣x⟩=βˆ£ΟˆβŸ©βŠ—12mβˆ‘x=02mβˆ’1Ο‰2mxy∣x⟩=βˆ£ΟˆβŸ©βŠ—QFT2m∣y⟩.\vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} e^{2\pi i \frac{xy}{2^m}} \vert x\rangle = \vert\psi\rangle \otimes \frac{1}{\sqrt{2^m}} \sum_{x = 0}^{2^m - 1} \omega_{2^m}^{xy} \vert x\rangle = \vert\psi\rangle \otimes \mathrm{QFT}_{2^m} \vert y\rangle.

Jadi, ketika transformasi Fourier kuantum invers diterapkan, state menjadi

∣ψ⟩∣y⟩\vert\psi\rangle \vert y\rangle

dan pengukuran mengungkapkan yy (dikodekan dalam biner).

Membatasi probabilitas​

Untuk nilai ΞΈ\theta lainnya, yaitu yang tidak berbentuk y/2my/2^m untuk bilangan bulat y,y, hasil pengukuran tidak akan pasti, tetapi kita bisa membuktikan batas pada probabilitas untuk hasil yang berbeda. Ke depannya, mari kita pertimbangkan sembarang pilihan ΞΈ\theta yang memenuhi 0≀θ<1.0\leq \theta < 1.

Setelah transformasi Fourier kuantum invers dilakukan, state Circuit adalah ini:

βˆ£ΟˆβŸ©βŠ—12mβˆ‘y=02mβˆ’1βˆ‘x=02mβˆ’1e2Ο€ix(ΞΈβˆ’y/2m)∣y⟩.\vert \psi \rangle \otimes \frac{1}{2^m} \sum_{y=0}^{2^m - 1} \sum_{x=0}^{2^m-1} e^{2\pi i x (\theta - y/2^m)} \vert y\rangle.

Jadi, ketika pengukuran pada mm Qubit teratas dilakukan, kita melihat setiap hasil yy dengan probabilitas

py=∣12mβˆ‘x=02mβˆ’1e2Ο€ix(ΞΈβˆ’y/2m)∣2.p_y = \left\vert \frac{1}{2^m} \sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} \right\vert^2.

Untuk lebih memahami probabilitas-probabilitas ini, kita akan menggunakan rumus yang sama yang kita lihat sebelumnya, untuk jumlah bagian awal deret geometri.

1+Ξ±+Ξ±2+β‹―+Ξ±Nβˆ’1={Ξ±Nβˆ’1Ξ±βˆ’1ifΒ Ξ±β‰ 1NifΒ Ξ±=11 + \alpha + \alpha^2 + \cdots + \alpha^{N-1} = \begin{cases} \frac{\alpha^N - 1}{\alpha - 1} & \text{if } \alpha\neq 1\\[2mm] N & \text{if } \alpha=1 \end{cases}

Kita bisa menyederhanakan penjumlahan yang muncul dalam rumus untuk pyp_y dengan mengambil Ξ±=e2Ο€i(ΞΈβˆ’y/2m).\alpha = e^{2\pi i (\theta - y/2^m)}. Berikut yang kita dapatkan.

βˆ‘x=02mβˆ’1e2Ο€ix(ΞΈβˆ’y/2m)={2mΞΈ=y/2me2Ο€i(2mΞΈβˆ’y)βˆ’1e2Ο€i(ΞΈβˆ’y/2m)βˆ’1ΞΈβ‰ y/2m\sum_{x=0}^{2^m - 1} e^{2\pi i x (\theta - y/2^m)} = \begin{cases} 2^m & \theta = y/2^m\\[2mm] \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1} & \theta\neq y/2^m \end{cases}

Jadi, dalam kasus bahwa ΞΈ=y/2m,\theta = y/2^m, kita menemukan bahwa py=1p_y = 1 (seperti yang sudah kita ketahui dari mempertimbangkan kasus khusus ini), dan dalam kasus bahwa ΞΈβ‰ y/2m,\theta \neq y/2^m, kita menemukan bahwa

py=122m∣e2Ο€i(2mΞΈβˆ’y)βˆ’1e2Ο€i(ΞΈβˆ’y/2m)βˆ’1∣2.p_y = \frac{1}{2^{2m}} \left\vert \frac{e^{2\pi i (2^m \theta - y)} - 1}{e^{2\pi i (\theta - y/2^m)} - 1}\right\vert^2.

Kita bisa mempelajari lebih banyak tentang probabilitas-probabilitas ini dengan memikirkan bagaimana panjang busur dan panjang tali busur pada lingkaran satuan saling berhubungan. Berikut adalah gambar yang mengilustrasikan hubungan yang kita butuhkan untuk sembarang bilangan riil δ∈[βˆ’12,12].\delta\in \bigl[ -\frac{1}{2},\frac{1}{2}\bigr].

Illustration of the relationship between arc and chord lengths

Pertama, panjang tali busur (digambar biru) tidak mungkin lebih besar dari panjang busur (digambar ungu):

∣e2Ο€iΞ΄βˆ’1βˆ£β‰€2Ο€βˆ£Ξ΄βˆ£.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \leq 2\pi\vert\delta\vert.

Menghubungkan panjang-panjang ini dari arah lain, kita melihat bahwa rasio panjang busur terhadap panjang tali busur paling besar ketika Ξ΄=Β±1/2,\delta = \pm 1/2, dan dalam kasus ini rasionya adalah setengah keliling lingkaran dibagi diameter, yaitu Ο€/2.\pi/2. Dengan demikian, kita punya

2Ο€βˆ£Ξ΄βˆ£βˆ£e2Ο€iΞ΄βˆ’1βˆ£β‰€Ο€2,\frac{2\pi\vert\delta\vert}{\bigl\vert e^{2\pi i \delta} - 1\bigr\vert} \leq \frac{\pi}{2},

dan sehingga

∣e2Ο€iΞ΄βˆ’1∣β‰₯4∣δ∣.\bigl\vert e^{2\pi i \delta} - 1\bigr\vert \geq 4\vert\delta\vert.

Analisis berdasarkan hubungan-hubungan ini mengungkapkan dua fakta berikut.

  1. Misalkan ΞΈ\theta adalah bilangan riil dan y∈{0,…,2mβˆ’1}y\in \{0,\ldots,2^m-1\} memenuhi

    βˆ£ΞΈβˆ’y2mβˆ£β‰€2βˆ’(m+1).\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq 2^{-(m+1)}.

    Ini berarti bahwa y/2my/2^m adalah aproksimasi mm-bit terbaik untuk ΞΈ,\theta, atau tepat berada di tengah antara y/2my/2^m dan (yβˆ’1)/2m(y-1)/2^m atau (y+1)/2m,(y+1)/2^m, sehingga itu adalah salah satu dari dua aproksimasi terbaik untuk ΞΈ.\theta.

    Kita akan membuktikan bahwa pyp_y haruslah cukup besar dalam kasus ini. Berdasarkan asumsi yang kita pertimbangkan, berikut bahwa ∣2mΞΈβˆ’yβˆ£β‰€1/2,\vert 2^m \theta - y \vert \leq 1/2, sehingga kita bisa menggunakan pengamatan kedua di atas yang menghubungkan panjang busur dan tali busur untuk menyimpulkan bahwa

    ∣e2Ο€i(2mΞΈβˆ’y)βˆ’1∣β‰₯4∣2mΞΈβˆ’y∣=4β‹…2mβ‹…βˆ£ΞΈβˆ’y2m∣.\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \geq 4 \vert 2^m \theta - y \vert = 4 \cdot 2^m \cdot \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Kita juga bisa menggunakan pengamatan pertama tentang panjang busur dan tali busur untuk menyimpulkan bahwa

    ∣e2Ο€i(ΞΈβˆ’y/2m)βˆ’1βˆ£β‰€2Ο€βˆ£ΞΈβˆ’y2m∣.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \leq 2\pi \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert.

    Memanfaatkan kedua ketidaksetaraan ini pada pyp_y mengungkapkan

    pyβ‰₯122m16β‹…22m4Ο€2=4Ο€2β‰ˆ0.405.p_y \geq \frac{1}{2^{2m}} \frac{16 \cdot 2^{2m}}{4 \pi^2} = \frac{4}{\pi^2} \approx 0.405.

    Ini menjelaskan pengamatan kita bahwa hasil terbaik terjadi dengan probabilitas lebih dari 40%40\% dalam versi m=2m=2 estimasi fase yang dibahas sebelumnya. Ini sebenarnya bukan 40%, melainkan 4/Ο€2,4/\pi^2, dan bahkan batas ini berlaku untuk setiap pilihan m.m.

  2. Sekarang misalkan y∈{0,…,2mβˆ’1}y\in \{0,\ldots,2^m-1\} memenuhi

    2βˆ’mβ‰€βˆ£ΞΈβˆ’y2mβˆ£β‰€12.2^{-m} \leq \Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \leq \frac{1}{2}.

    Ini berarti ada aproksimasi yang lebih baik z/2mz/2^m untuk ΞΈ\theta di antara ΞΈ\theta dan y/2m.y/2^m.

    Kali ini kita akan membuktikan bahwa pyp_y tidak terlalu besar. Kita bisa mulai dengan pengamatan sederhana bahwa

    ∣e2Ο€i(2mΞΈβˆ’y)βˆ’1βˆ£β‰€2,\left\vert e^{2\pi i (2^m \theta - y)} - 1\right\vert \leq 2,

    yang mengikuti dari fakta bahwa dua titik mana pun pada lingkaran satuan bisa berbeda dalam nilai absolut sebanyak-banyaknya 2.2.

    Kita juga bisa menggunakan pengamatan kedua tentang panjang busur dan tali busur dari atas, kali ini bekerja dengan penyebut pyp_y daripada pembilangnya, untuk menyimpulkan

    ∣e2Ο€i(ΞΈβˆ’y/2m)βˆ’1∣β‰₯4βˆ£ΞΈβˆ’y2m∣β‰₯4β‹…2βˆ’m.\left\vert e^{2\pi i (\theta - y/2^m)} - 1\right\vert \geq 4\Bigl\vert \theta - \frac{y}{2^m}\Bigr\vert \geq 4 \cdot 2^{-m}.

    Menggabungkan kedua ketidaksetaraan mengungkapkan

    py≀122m416β‹…2βˆ’2m=14.p_y \leq \frac{1}{2^{2m}} \frac{4}{16 \cdot 2^{-2m}} = \frac{1}{4}.

    Perhatikan bahwa, meskipun batas ini cukup baik untuk tujuan kita, ini cukup kasar β€” probabilitasnya biasanya jauh lebih rendah dari 1/4.1/4.

Kesimpulan penting dari analisis ini adalah bahwa aproksimasi yang sangat dekat dengan ΞΈ\theta kemungkinan besar akan terjadi β€” kita akan mendapatkan aproksimasi mm-bit terbaik dengan probabilitas lebih dari 40%40\% β€” sedangkan aproksimasi yang meleset lebih dari 2βˆ’m2^{-m} lebih kecil kemungkinannya terjadi, dengan probabilitas yang dibatasi di atas oleh 25%.25\%.

Mengingat jaminan-jaminan ini, mungkin untuk meningkatkan kepercayaan kita dengan mengulangi prosedur estimasi fase beberapa kali, untuk mengumpulkan bukti statistik tentang ΞΈ.\theta. Penting untuk dicatat bahwa state ∣ψ⟩\vert\psi\rangle dari kumpulan Qubit bawah tidak berubah oleh prosedur estimasi fase, sehingga bisa digunakan untuk menjalankan prosedur sebanyak yang kita inginkan. Khususnya, setiap kali kita menjalankan Circuit, kita mendapatkan aproksimasi mm-bit terbaik untuk ΞΈ\theta dengan probabilitas lebih dari 40%,40\%, sementara probabilitas untuk meleset lebih dari 2βˆ’m2^{-m} dibatasi oleh 25%.25\%. Jika kita menjalankan Circuit beberapa kali dan mengambil hasil yang paling sering muncul, oleh karena itu sangat mungkin bahwa hasil yang paling sering muncul tidak akan menjadi salah satu yang terjadi paling banyak 25%25\% dari waktu. Hasilnya, kita akan sangat mungkin mendapatkan aproksimasi y/2my/2^m yang dalam jarak 1/2m1/2^m dari nilai ΞΈ.\theta. Memang, kemungkinan kecil bahwa kita meleset lebih dari 1/2m1/2^m berkurang secara eksponensial seiring bertambahnya jumlah kali prosedur dijalankan.

Berikut adalah dua plot yang menunjukkan probabilitas untuk tiga nilai berturut-turut untuk yy ketika m=3m = 3 dan m=4m=4 sebagai fungsi dari ΞΈ.\theta. (Hanya tiga hasil yang ditampilkan untuk kejelasan. Probabilitas untuk hasil lainnya diperoleh dengan menggeser secara siklik fungsi dasar yang sama.)

Plot showing outcome probabilities for three-qubit phase estimation

Plot showing outcome probabilities for four-qubit phase estimation

Source: IBM Quantum docs β€” updated 15 Jan 2026
English version on doQumentation β€” updated 7 Mei 2026
This translation based on the English version of approx. 27 Mar 2026