Pertanyaan ini merupakan kelanjutan dari estimasi fase Quantum dan algoritma HHL - diperlukan pengetahuan tentang nilai eigen? .
Dalam pertanyaan yang dikaitkan di atas, saya bertanya tentang perlunya HHL untuk memiliki informasi tentang eigenspectrum dari matriks dipertimbangkan. Ternyata algoritma HHL membutuhkan sebuah matriks dengan nilai eigen agar berfungsi dengan benar.λ j ∈ [ 0 , 1 )
Setelah kondisi ini, diberikan matriks , untuk menerapkan algoritma HHL kita perlu memeriksa salah satu kondisi di bawah ini:
- Nilai eigen dari matriks semuanya berada dalam .
- Sepasang yang terikat (dari bawah untuk dan dari atas untuk ) nilai eigen dari matriks . Batas ini kemudian dapat digunakan untuk mengubah skala matriks sehingga kondisi 1. divalidasi. L M λ j A A
Kelompok pertanyaan pertama: Saya membaca banyak makalah tentang HHL dan tidak satupun dari mereka yang menyebutkan batasan ini. Mengapa? Apakah pembatasan ini diketahui tetapi dianggap lemah (yaitu, mudah untuk memiliki informasi semacam ini)? Atau batasannya tidak diketahui? Apakah ada makalah penelitian yang menyebutkan batasan ini?
Mari kita bicara tentang analisis kompleksitas HHL. Dari algoritma sistem linear Quantum: primer (Dervovic, Herbster, Mountney, Severini, Usher & Wossnig, 2018) , kompleksitas HHL (dan beberapa perbaikan) ditulis dalam gambar di bawah ini.
Analisis kompleksitas tidak memperhitungkan (setidaknya saya tidak menemukannya) pengetahuan yang diperlukan pada eigenspectrum.
Kasus di mana matriks dianggap memiliki sifat yang cukup baik untuk memperkirakan nilai eigennya secara analitis tidak umum (setidaknya untuk matriks dunia nyata) dan diabaikan.
Dalam jawaban ini , @DaftWullie menggunakan teorema lingkaran Gershgorin untuk memperkirakan batas atas dan bawah eigenspectrum. Masalah dengan pendekatan ini adalah bahwa dibutuhkan operasi ( jika amplifikasi amplitudo berlaku). Jumlah operasi ini menghancurkan kompleksitas logaritmik dari HHL (dan itu hanya keuntungan dari algoritma klasik dalam waktu yang bersamaan).O ( √
Kelompok pertanyaan kedua: Apakah ada algoritma yang lebih baik dalam hal kompleksitas? Jika tidak, lalu mengapa algoritma HHL masih disajikan sebagai peningkatan eksponensial dari pada algoritma klasik?
Jawaban:
Pembatasan nilai eigen biasanya diberikan dalam bentuk nomor kondisi . Ini adalahκ yang Anda lihat di semua runtimes di tabel Anda. κ = | λm a x/ λm i n| di mana λm a x dan λm i n adalah nilai eigen maksimum dan minimum masing-masing.
Di semua runtime yang tercantum dalam tabel Anda, diasumsikan bahwa nomor kondisi diketahui. Orang biasanya tidak berpikir "menghitung angka kondisi" sebagai bagian dari algoritma untuk menyelesaikan , misalnya. Jika nomor kondisi lebih besar, sistem lebih sulit untuk dipecahkan, dan jika lebih kecil sistem lebih mudah untuk dipecahkan (dengan asumsi semua parameter lain, termasuk kesalahan maksimum yang diinginkan dipertahankan tetap).A x = b ϵ
Dalam hal perlu mengetahui bahwa dan , ada banyak contoh di mana kita dapat mengetahui batasan pada nilai eigen tanpa benar-benar melalui upaya menghitung nilai eigen. Dengan cara ini, HHL bisa menjadi cara yang bagus untuk menemukan keadaan yang Anda cari, tanpa biaya menghitung nomor kondisi atau nilai eigen apa pun.λm a x< M λm i n> L
Izinkan saya memberikan satu contoh dunia nyata. Katakanlah saya ingin menemukan keadaan getaran molekul sehingga setelah ps berevolusi di bawah Hamiltonian , molekul berakhir pada keadaan . Ini dapat dijelaskan dengan persamaan:| ψ⟩ t = 10 H | b⟩
di mana memenuhi persamaan ini adalah apa yang ingin Anda ketahui. Anda dapat menemukan Anda inginkan dengan menggunakan algoritma HHL dengan dan .| ψ⟩ | ψ⟩ A = e- sayaℏHt | ψ⟩ = | x ⟩
Memperoleh nilai eigen terkecil dan terbesar dari molekul Hamiltonian hingga presisi yang sewenang-wenang sangat mahal pada sebuah pengomputer klasik, tetapi mengetahui bahwa mereka berada dalam kisaran dapat ditentukan tanpa biaya sama sekali. Misalnya, jika molekulnya adalah dimer nitrogen, kita tahu keadaan getaran terendah dan tertinggi memiliki energi (nilai eigen) antara 0 dan 10 eV dan karena kita memiliki dan . Anda dapat mengonversi eV ke Hz, dan ps ke detik untuk mengevaluasi( L , M) e0= 1 L = 1 M.= e- sayaℏ10 e V ⋅ 10 p s M. secara numerik, dan kemudian Anda bisa mendapatkan batas bawah dan atas yang perlu Anda gunakan saat menskalakan matriks Anda seperti yang Anda jelaskan dalam pertanyaan sebelumnya. Pada titik mana pun saya perlu menghitung nilai eigen dari Hamiltonian molekul 14-elektron (yang akan sangat sulit dan akan mengalahkan tujuan menggunakan HHL, karena jika saya bisa menghitung nilai eigen saya hanya bisa menghitung dan membalikkannya untuk mendapatkan ). Saya hanya menggunakan energi disosiasi molekul untuk menghasilkan batasan pada energi vibrasinya. Saya bisa membuat batasan yang lebih baik dengan menggunakan pendekatan semi klasik WKB , juga dengan biaya yang jauh lebih sedikit daripada benar-benar menghitung nilai eigen, tetapi contoh pertama sudah cukup.SEBUAH | ψ⟩
Jadi sekarang mari kita menjawab semua pertanyaan pribadi Anda:
Dari 539 makalah yang telah (saat ini) mengutip makalah HHL asli, banyak dari mereka tidak akan mengetahui detail yang lebih baik seperti ketergantungan kinerjanya pada jumlah kondisi atau nilai eigen. Beberapa makalah tentu akan tahu bahwa kinerja algoritma akan tergantung pada nomor kondisi atau nilai eigen dari matriks, yaitu, makalah yang tercantum dalam tabel Anda tentang peningkatan algoritma HHL. Robin Kothari juga menyebutkannya, misalnya, di awal pembicaraannya pada tahun 2016 tentang algoritma CKS (yang disebutkan dalam tabel Anda).
Algoritme yang Anda sebutkan, disarankan oleh DaftWulie, untuk memperkirakan batasan pada nilai eigen, tidak akan ditingkatkan melebihi karena biaya dominan dalam algoritma tersebut adalah dalam menelusuri semua baris untuk nilai maksimum dan minimum. Biaya segala sesuatu yang lain adalah kecil karena matriks diasumsikan memiliki sparsity dari . Tidak ada cara untuk melakukan pencarian ini lebih cepat dalam waktu yang lebih cepat dari (kecuali Anda memiliki pengetahuan ekstra lain tentang sistem) karena algoritma Grover telah terbukti optimal.O ( N--√) N s ⋘ N O ( N--√)
Anda benar, orang harus menyebutkan peringatan algoritma lebih sering di makalah mereka. Dalam hal pertanyaan spesifik Anda "mengapa algoritma HHL masih disajikan sebagai peningkatan eksponensial atas algoritma klasik," Saya pikir penulis asli HHL melakukan uji tuntas mereka dalam menjelaskan algoritme dan peringatannya, dalam hal mereka mengatakan bahwa ada eksponensial scaling tetapi biaya tumbuh kuadratik dengan jumlah kondisi dan sparsity dan berbanding terbalik dengan ukuran kesalahan yang bersedia Anda toleransi. Mengapa kebanyakan orang lain setelah HHL tidak menyebutkan semua peringatan? Yah banyak dari mereka tidak tahu peringatan, dan mereka yang mungkin merasa itu tidak perlu karena menghitung angka kondisi bukan bagian dari algoritma. Mengetahui nomor kondisi akan memberi tahu Anda seberapa baik algoritma akan bekerja,
sumber