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 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 Kita bisa menggunakan deskripsi sirkuit ini untuk membuat sirkuit untuk operasi controlled-, yang bisa digambarkan seperti yang disarankan oleh gambar ini (dengan operasi dilihat sebagai Gate kuantum, di sebelah kiri dan operasi controlled- di sebelah kanan).
Kita bisa membuat sirkuit kuantum untuk operasi controlled- dengan terlebih dahulu menambahkan control qubit ke sirkuit untuk kemudian mengganti setiap Gate dalam sirkuit untuk dengan versi controlled dari Gate tersebut — sehingga satu control qubit baru kita secara efektif mengontrol setiap Gate tunggal dalam sirkuit untuk 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 dari semua qubit kecuali yang paling atas adalah vektor eigen state kuantum dari
Probabilitas hasil pengukuran untuk sirkuit ini bergantung pada nilai eigen dari yang bersesuaian dengan vektor eigen Mari kita analisis sirkuit secara rinci untuk menentukan tepatnya bagaimana.
State awal sirkuit adalah
dan Gate Hadamard pertama mentransformasi state ini menjadi
Selanjutnya, operasi controlled- dilakukan, yang menghasilkan state
Menggunakan asumsi bahwa adalah vektor eigen dari dengan nilai eigen kita bisa mengekspresikan state ini secara alternatif sebagai berikut.
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.
Pengukuran oleh karena itu menghasilkan outcome dan dengan probabilitas ini:
Berikut adalah plot probabilitas untuk dua kemungkinan outcome, dan sebagai fungsi dari
Secara alami, kedua probabilitas selalu berjumlah Perhatikan bahwa ketika hasil pengukuran selalu dan ketika hasil pengukuran selalu Jadi, meskipun hasil pengukuran tidak mengungkapkan tepat apa itu ia memang memberi kita beberapa informasi tentangnya — dan jika kita dijanjikan bahwa atau kita bisa belajar dari sirkuit mana yang benar tanpa kesalahan.
Secara intuitif, kita bisa menganggap outcome pengukuran sirkuit sebagai tebakan untuk dengan "akurasi satu bit." Dengan kata lain, jika kita menulis dalam notasi biner dan membulatkannya ke satu bit, kita akan mendapatkan angka seperti ini:
Outcome pengukuran bisa dilihat sebagai tebakan untuk bit Ketika bukan atau ada probabilitas nonzero bahwa tebakannya salah — tapi probabilitas membuat kesalahan menjadi semakin kecil saat kita semakin mendekati atau
Wajar untuk bertanya peran apa yang dimainkan oleh dua Gate Hadamard dalam prosedur ini:
-
Gate Hadamard pertama mengatur control qubit ke superposisi seragam dari dan sehingga ketika phase kickback terjadi, itu terjadi untuk state dan bukan state 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 melalui fenomena interferensi. Sebelum Gate Hadamard kedua, state qubit paling atas adalah
dan jika kita mengukur state ini, kita akan mendapatkan dan masing-masing dengan probabilitas tidak memberi tahu kita apa pun tentang Namun dengan melakukan Gate Hadamard kedua, kita menyebabkan angka mempengaruhi probabilitas output.
Menggandakan fase
Sirkuit di atas menggunakan fenomena phase kickback untuk memperkirakan 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
Satu hal yang sangat sederhana yang bisa kita lakukan adalah mengganti operasi controlled- dalam sirkuit kita dengan dua salinan dari operasi ini, seperti dalam sirkuit ini:
Dua salinan operasi controlled- setara dengan operasi controlled-. Jika adalah vektor eigen dari dengan nilai eigen maka state ini juga merupakan vektor eigen dari kali ini dengan nilai eigen
Jadi, jika kita menjalankan versi sirkuit ini, kita secara efektif melakukan komputasi yang sama seperti sebelumnya, kecuali bahwa angka diganti dengan Berikut adalah plot yang menggambarkan probabilitas output saat berkisar dari ke
Melakukan ini memang bisa memberi kita beberapa informasi tambahan tentang Jika representasi biner dari adalah
maka menggandakan secara efektif menggeser titik biner satu posisi ke kanan:
Dan karena kita menyamakan dengan saat kita bergerak mengelilingi lingkaran satuan, kita melihat bahwa bit tidak berpengaruh pada probabilitas kita, dan kita secara efektif mendapatkan tebakan untuk bit kedua setelah titik biner jika kita membulatkan ke dua bit. Misalnya, jika kita tahu sebelumnya bahwa adalah atau 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 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.
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
Jika kita menjalankan sirkuit ini ketika adalah vektor eigen dari state qubit bawah akan tetap sepanjang seluruh sirkuit, dan fase akan "ditendang" ke state dua qubit atas. Mari kita analisis sirkuit dengan cermat, melalui gambar berikut.
Kita bisa menulis state seperti ini:
Ketika operasi controlled- pertama dilakukan, nilai eigen ditendang ke dalam fase ketika (qubit paling atas) sama dengan tapi tidak ketika Jadi, kita bisa mengekspresikan state yang dihasilkan seperti ini:
Gate controlled- kedua dan ketiga melakukan hal serupa, kecuali untuk daripada dan dengan diganti dengan Kita bisa mengekspresikan state yang dihasilkan seperti ini:
Jika kita menganggap string biner sebagai merepresentasikan bilangan bulat dalam notasi biner, yaitu kita bisa mengekspresikan state ini secara alternatif sebagai berikut.
Tujuan kita adalah mengekstrak informasi sebanyak mungkin tentang dari state ini.
Pada titik ini kita akan mempertimbangkan kasus khusus, di mana kita dijanjikan bahwa untuk beberapa bilangan bulat Dengan kata lain, kita memiliki sehingga kita bisa mengekspresikan angka ini secara tepat menggunakan notasi biner dengan dua bit, sebagai . . . atau . Secara umum, mungkin bukan salah satu dari empat nilai ini, tapi memikirkan kasus khusus ini akan membantu kita mengetahui cara paling efektif mengekstrak informasi tentang secara umum.
Pertama kita akan mendefinisikan vektor state dua qubit untuk setiap kemungkinan nilai
Setelah menyederhanakan eksponensial, kita bisa menuliskan vektor-vektor ini sebagai berikut.
Vektor-vektor ini ortogonal: jika kita memilih pasangan mana pun dari mereka dan menghitung produk dalamnya, kita mendapatkan Masing-masing juga merupakan vektor satuan, sehingga 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 yang mentransformasi state basis standar menjadi empat state yang tercantum di atas.
Untuk menuliskan sebagai matriks cukup dengan mengambil kolom-kolom sebagai state
Ini adalah matriks istimewa, dan kemungkinan besar beberapa pembaca pernah menemuinya sebelumnya: ini adalah matriks yang berkaitan dengan transformasi Fourier diskret berdimensi . Mengingat fakta ini, mari kita sebut dengan nama daripada Nama 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.
Kita bisa melakukan invers dari operasi ini untuk pergi ke arah lain, untuk mentransformasi state menjadi state basis standar Jika kita melakukan ini, maka kita bisa mengukur untuk mengetahui nilai mana yang mendeskripsikan sebagai Berikut adalah diagram sirkuit kuantum yang melakukan ini.
Singkatnya, jika kita menjalankan sirkuit ini ketika untuk state tepat sebelum pengukuran berlangsung akan menjadi (untuk yang dikodekan sebagai string biner dua bit), sehingga pengukuran akan mengungkapkan nilai tanpa kesalahan.
Sirkuit ini dimotivasi oleh kasus khusus bahwa — tapi kita bisa menjalankannya untuk pilihan dan apa pun, dan karenanya nilai apa pun, yang kita inginkan. Berikut adalah plot probabilitas output yang dihasilkan sirkuit untuk pilihan yang sewenang-wenang.
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 di mana mendekati Khususnya, outcome paling mungkin selalu sesuai dengan nilai yang paling dekat dengan (menyamakan dan seperti sebelumnya), dan dari plot terlihat bahwa nilai terdekat ini selalu muncul dengan probabilitas tepat di atas Ketika tepat di tengah antara dua nilai tersebut, seperti misalnya, dua nilai 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 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 Di bagian ini, kita akan melihat bagaimana operasi ini didefinisikan dan bagaimana operasi ini bisa diimplementasikan dengan Circuit kuantum pada qubit dengan biaya ketika
Matriks yang menggambarkan transformasi Fourier kuantum diturunkan dari operasi analog pada vektor -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 -dimensi berisi bilangan kompleks (menggunakan notasi biner untuk mengkodekan bagian riil dan imajiner dari entri, misalkan) dan tujuannya adalah menghitung vektor -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 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 untuk setiap bilangan bulat positif seperti ini:
Ini adalah bilangan pada lingkaran satuan kompleks yang kita peroleh jika kita mulai dari dan bergerak berlawanan arah jarum jam sebesar sudut radian, atau sepersekian dari keliling lingkaran. Berikut beberapa contoh:
Sekarang kita bisa mendefinisikan transformasi Fourier kuantum -dimensi, yang digambarkan oleh matriks yang baris dan kolomnya dikaitkan dengan state basis standar Kita hanya akan membutuhkan operasi ini ketika adalah pangkat untuk estimasi fase, tetapi operasi ini bisa didefinisikan untuk sembarang bilangan bulat positif
Seperti yang sudah dinyatakan, ini adalah matriks yang terkait dengan transformasi Fourier diskrit -dimensi. Seringkali faktor depan 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 yang kecil.
Perhatikan, khususnya, bahwa adalah nama lain untuk operasi Hadamard.
Keunitaran
Mari kita verifikasi bahwa adalah uniter, untuk sembarang pilihan Salah satu cara melakukannya adalah dengan menunjukkan bahwa kolom-kolomnya membentuk basis ortonormal. Kita bisa mendefinisikan vektor yang sesuai dengan kolom nomor mulai dari hingga seperti ini:
Mengambil hasil kali dalam antara dua vektor ini memberikan ekspresi berikut:
Kita bisa mengevaluasi penjumlahan seperti ini menggunakan rumus berikut untuk jumlah suku pertama deret geometri.
Secara spesifik, kita bisa menggunakan rumus ini ketika Ketika kita punya sehingga menggunakan rumus dan membagi dengan menghasilkan
Ketika kita punya sehingga rumus mengungkapkan ini:
Ini terjadi karena sehingga membuat pembilang nol, sementara penyebutnya tidak nol karena Secara intuitif, apa yang kita lakukan adalah menjumlahkan sejumlah titik yang tersebar di sekeliling lingkaran satuan, dan titik-titik tersebut saling meniadakan dan menghasilkan ketika dijumlahkan.
Kita sudah menetapkan bahwa adalah himpunan ortonormal,
yang mengungkapkan bahwa 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
untuk sembarang bilangan riil Versi terkontrol dari Gate ini memiliki matriks berikut:
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.
Untuk bentuk ketiga, label juga terkadang ditempatkan di sisi garis kontrol atau di bawah kontrol bawah jika itu lebih mudah.
Untuk melakukan transformasi Fourier kuantum ketika dan kita perlu melakukan operasi pada qubit yang aksinya pada state basis standar bisa dijelaskan sebagai
di mana adalah sebuah bit dan adalah bilangan yang dikodekan dalam notasi biner sebagai string bit. Ini bisa dilakukan menggunakan Gate fase terkontrol dengan menggeneralisasi contoh berikut, di mana
Secara umum, untuk sembarang pilihan qubit paling atas yang sesuai dengan bit bisa dipandang sebagai kontrol, dengan Gate fase berkisar dari pada qubit yang sesuai dengan bit paling tidak signifikan dari hingga pada qubit yang sesuai dengan bit paling signifikan dari 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 adalah pangkat 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 sirkuit 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 di mana transformasi Fourier kuantum adalah operasi Hadamard.
Untuk melakukan transformasi Fourier kuantum pada qubit ketika kita bisa melakukan langkah-langkah berikut, yang aksinya akan kita jelaskan untuk state basis standar berbentuk di mana adalah bilangan bulat yang dikodekan sebagai bit menggunakan notasi biner dan adalah satu bit.
-
Pertama terapkan transformasi Fourier kuantum -dimensi ke qubit paling bawah/paling kiri untuk mendapatkan state ini:
Ini dilakukan dengan secara rekursif menerapkan metode yang dijelaskan untuk satu qubit lebih sedikit, menggunakan operasi Hadamard pada satu qubit sebagai kasus dasar.
-
Gunakan qubit paling atas/paling kanan sebagai kontrol untuk menyuntikkan fase untuk setiap state basis standar dari qubit yang tersisa (seperti dijelaskan di atas) untuk mendapatkan state ini:
-
Lakukan Gate Hadamard pada qubit paling atas/paling kanan untuk mendapatkan state ini:
-
Permutasikan urutan qubit sehingga bit paling tidak signifikan menjadi bit paling signifikan, dengan semua qubit lainnya digeser ke atas/kanan:
Sebagai contoh, berikut adalah Circuit yang kita dapatkan untuk Dalam diagram ini, qubit diberi nama yang sesuai dengan vektor basis standar (untuk input) dan (untuk output) agar lebih jelas.
Analisis
Rumus kunci yang perlu kita verifikasi bahwa Circuit yang baru saja dijelaskan mengimplementasikan transformasi Fourier kuantum -dimensi adalah ini:
Rumus ini berlaku untuk sembarang pilihan bilangan bulat dan tetapi kita hanya membutuhkannya untuk dan Rumus ini bisa diperiksa dengan mengembangkan perkalian dalam eksponen di ruas kanan,
di mana kesetaraan kedua memanfaatkan pengamatan bahwa
Transformasi Fourier kuantum -dimensi didefinisikan sebagai berikut untuk setiap
Jika kita menulis dan sebagai
untuk dan kita mendapatkan
Akhirnya, dengan memikirkan state basis standar dan sebagai pengkodean biner bilangan bulat dalam rentang
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 menunjukkan jumlah Gate yang kita butuhkan untuk setiap kemungkinan pilihan Jika transformasi Fourier kuantum hanyalah operasi Hadamard, jadi
Jika maka dalam Circuit di atas kita butuh Gate untuk transformasi Fourier kuantum pada qubit, ditambah Gate fase terkontrol, ditambah Gate Hadamard, ditambah Gate swap, sehingga
Kita bisa mendapatkan ekspresi bentuk tertutup dengan menjumlahkan:
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 Secara asimtotik ini bukan peningkatan besar: kita masih mendapatkan Circuit berukuran untuk melakukan
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 total biaya tetap kuadratik.
Sebenarnya mungkin untuk mengaproksimasi transformasi Fourier kuantum cukup dekat dengan jumlah Gate sub-kuadratik dengan menggunakan fakta bahwa sangat dekat dengan operasi identitas ketika 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.
Perhatikan bahwa, untuk setiap qubit kontrol baru yang ditambahkan di atas, kita menggandakan jumlah kali operasi uniter dilakukan. Ini ditunjukkan dalam diagram oleh pangkat pada untuk setiap operasi uniter terkontrol.
Cara paling langsung untuk mengimplementasikan operasi controlled- untuk beberapa pilihan adalah cukup dengan mengulang operasi controlled- sebanyak kali. Jika memang metodologi inilah yang digunakan, harus diakui bahwa penambahan qubit kontrol berkontribusi signifikan terhadap ukuran Circuit: jika kita memiliki qubit kontrol, seperti yang digambarkan diagram, total salinan operasi controlled- diperlukan. Ini berarti biaya komputasi yang signifikan dikeluarkan seiring bertambahnya — tetapi seperti yang akan kita lihat, ini juga menghasilkan aproksimasi yang jauh lebih akurat.
Penting untuk dicatat, bagaimanapun, bahwa untuk beberapa pilihan mungkin saja membuat Circuit yang mengimplementasikan operasi untuk nilai yang besar dengan cara yang lebih efisien daripada sekadar mengulang kali Circuit untuk 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:
Kasus khusus
Sejalan dengan apa yang kita lakukan dalam kasus pertama-tama kita akan mempertimbangkan kasus khusus bahwa untuk Dalam kasus ini state sebelum transformasi Fourier kuantum invers bisa ditulis secara alternatif seperti ini:
Jadi, ketika transformasi Fourier kuantum invers diterapkan, state menjadi
dan pengukuran mengungkapkan (dikodekan dalam biner).
Membatasi probabilitas
Untuk nilai lainnya, yaitu yang tidak berbentuk untuk bilangan bulat hasil pengukuran tidak akan pasti, tetapi kita bisa membuktikan batas pada probabilitas untuk hasil yang berbeda. Ke depannya, mari kita pertimbangkan sembarang pilihan yang memenuhi
Setelah transformasi Fourier kuantum invers dilakukan, state Circuit adalah ini:
Jadi, ketika pengukuran pada qubit teratas dilakukan, kita melihat setiap hasil dengan probabilitas
Untuk lebih memahami probabilitas-probabilitas ini, kita akan menggunakan rumus yang sama yang kita lihat sebelumnya, untuk jumlah bagian awal deret geometri.
Kita bisa menyederhanakan penjumlahan yang muncul dalam rumus untuk dengan mengambil Berikut yang kita dapatkan.
Jadi, dalam kasus bahwa kita menemukan bahwa (seperti yang sudah kita ketahui dari mempertimbangkan kasus khusus ini), dan dalam kasus bahwa kita menemukan bahwa
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
Pertama, panjang tali busur (digambar biru) tidak mungkin lebih besar dari panjang busur (digambar ungu):
Menghubungkan panjang-panjang ini dari arah lain, kita melihat bahwa rasio panjang busur terhadap panjang tali busur paling besar ketika dan dalam kasus ini rasionya adalah setengah keliling lingkaran dibagi diameter, yaitu Dengan demikian, kita punya
dan sehingga
Analisis berdasarkan hubungan-hubungan ini mengungkapkan dua fakta berikut.
-
Misalkan adalah bilangan riil dan memenuhi
Ini berarti bahwa adalah aproksimasi -bit terbaik untuk atau tepat berada di tengah antara dan atau sehingga itu adalah salah satu dari dua aproksimasi terbaik untuk
Kita akan membuktikan bahwa haruslah cukup besar dalam kasus ini. Berdasarkan asumsi yang kita pertimbangkan, berikut bahwa sehingga kita bisa menggunakan pengamatan kedua di atas yang menghubungkan panjang busur dan tali busur untuk menyimpulkan bahwa
Kita juga bisa menggunakan pengamatan pertama tentang panjang busur dan tali busur untuk menyimpulkan bahwa
Memanfaatkan kedua ketidaksetaraan ini pada mengungkapkan
Ini menjelaskan pengamatan kita bahwa hasil terbaik terjadi dengan probabilitas lebih dari dalam versi estimasi fase yang dibahas sebelumnya. Ini sebenarnya bukan 40%, melainkan dan bahkan batas ini berlaku untuk setiap pilihan
-
Sekarang misalkan memenuhi
Ini berarti ada aproksimasi yang lebih baik untuk di antara dan
Kali ini kita akan membuktikan bahwa tidak terlalu besar. Kita bisa mulai dengan pengamatan sederhana bahwa
yang mengikuti dari fakta bahwa dua titik mana pun pada lingkaran satuan bisa berbeda dalam nilai absolut sebanyak-banyaknya
Kita juga bisa menggunakan pengamatan kedua tentang panjang busur dan tali busur dari atas, kali ini bekerja dengan penyebut daripada pembilangnya, untuk menyimpulkan
Menggabungkan kedua ketidaksetaraan mengungkapkan
Perhatikan bahwa, meskipun batas ini cukup baik untuk tujuan kita, ini cukup kasar — probabilitasnya biasanya jauh lebih rendah dari
Kesimpulan penting dari analisis ini adalah bahwa aproksimasi yang sangat dekat dengan kemungkinan besar akan terjadi — kita akan mendapatkan aproksimasi -bit terbaik dengan probabilitas lebih dari — sedangkan aproksimasi yang meleset lebih dari lebih kecil kemungkinannya terjadi, dengan probabilitas yang dibatasi di atas oleh
Mengingat jaminan-jaminan ini, mungkin untuk meningkatkan kepercayaan kita dengan mengulangi prosedur estimasi fase beberapa kali, untuk mengumpulkan bukti statistik tentang Penting untuk dicatat bahwa state 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 -bit terbaik untuk dengan probabilitas lebih dari sementara probabilitas untuk meleset lebih dari dibatasi oleh 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 dari waktu. Hasilnya, kita akan sangat mungkin mendapatkan aproksimasi yang dalam jarak dari nilai Memang, kemungkinan kecil bahwa kita meleset lebih dari berkurang secara eksponensial seiring bertambahnya jumlah kali prosedur dijalankan.
Berikut adalah dua plot yang menunjukkan probabilitas untuk tiga nilai berturut-turut untuk ketika dan sebagai fungsi dari (Hanya tiga hasil yang ditampilkan untuk kejelasan. Probabilitas untuk hasil lainnya diperoleh dengan menggeser secara siklik fungsi dasar yang sama.)