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 = 10H| b⟩
e- i Ht| ψ⟩= | 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= 1L = 1M.= e- sayaℏ10 e V ⋅ 10 p sM.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:
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?
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).
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?
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--√)Ns ⋘ NO ( 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,