Sepanjang jawaban ini, norma dari matriks , ‖ A ‖ akan dianggap sebagai norma spektral A (yaitu, nilai singular terbesar dari A ). The solovay-Kitaev teorema menyatakan bahwa mendekati gerbang ke dalam kesalahan ε membutuhkan O ( log c 1A∥A∥AAϵgerbang, untukc<4dalam jumlah dimensi yang tetap.
O(logc1ϵ)
c<4
Untuk bagian pertama:
aproksimasi menimbulkan kesalahan, yang akan menyebar dan menumpuk dalam perhitungan panjang
Yah, itu dapat ditunjukkan dengan induksi bahwa kesalahan yang diakumulasikan melalui penggunaan satu matriks untuk mendekati matriks lainnya bersifat subaditif (lihat misalnya catatan kuliah Andrew Child ). Yaitu, untuk matriks kesatuan dan V i , ‖ U iUiVi .∥Ui−Vi∥<ϵ∀i∈{1,2,…,t}⟹∥Ut…U2U1−Vt…V2V1∥≤tϵ
Apa artinya ini dalam hal pelaksanaan adalah bahwa, untuk kesalahan keseluruhan tidak lebih dari yang harus dicapai, masing-masing kebutuhan gerbang untuk didekati dalam waktu ε / t , atauϵϵ/t
menerapkan aproksimasi ke sirkuit secara keseluruhan
sama dengan menerapkan pendekatan untuk setiap gerbang individu, masing-masing dengan kesalahan individu tidak lebih dari seluruh rangkaian dibagi dengan jumlah gerbang yang Anda aproksimasi.
Dalam hal sintesis gerbang, algoritma ini dilakukan dengan mengambil produk dari gerbang set untuk membentuk sebuah gerbang set baru Γ 0 yang membentuk sebuah ε 2 bersih untuk SU ( d ) (untuk setiap A ∈ SU (ΓΓ0ϵ2SU(d) ). Mulai dari identitas, unitary baru secara rekursif ditemukan dari gerbang baru yang ditetapkan untuk mendapatkan jaring yang lebih ketat di sekitar unitary target. Anehnya, waktu untuk algoritma klasik untuk melakukan operasi ini juga O ( p o l y log 1 / ϵ ) , yang merupakan waktu sub-polinomial. Namun, sesuaiHarrow, Recht, Chuang, dalam d -dimensi, sebagai bola jari-jari ϵ di sekitar SU ( d )A∈SU(d),∃U∈Γ0s.t.∥A−U∥≤ϵ2O(polylog1/ϵ)dϵSU(d) memiliki volume , skala ini secara eksponensial dalam d 2 untuk jumlah dimensi yang tidak tetap.∝ϵd2−1d2
Ini memang berpengaruh pada waktu perhitungan akhir. Namun, karena penskalaan di kedua gerbang dan kompleksitas komputasi klasik adalah sub-polinomial, ini tidak mengubah kelas kompleksitas dari algoritma apa pun, setidaknya untuk kelas yang dianggap umum.
Untuk gerbang, secara keseluruhan (waktu dan gerbang) kompleksitas kemudian t .
O(tpolylogtϵ)
Saat menggunakan model rangkaian kesatuan tanpa pengukuran perantara , jumlah gerbang yang akan diimplementasikan akan selalu diketahui sebelum perhitungan. Namun, layak untuk mengasumsikan ini tidak terjadi ketika pengukuran perantara digunakan, jadi ketika kemudian jumlah gerbang yang ingin Anda perkirakan tidak diketahui, ini mengatakan bahwa tidak diketahui. dan jika Anda tidak tahu apa yang t adalah, Anda jelas tidak bisa mendekati setiap pintu gerbang untuk kesalahan ε / t . Jika Anda tahu batas pada jumlah gerbang (katakanlah, t maks ), maka Anda dapat memperkirakan setiap gerbang dalam ϵ / tttϵ/ttmaxϵ/tmaxuntuk mendapatkan kesalahan keseluruhan dan kompleksitas O ( t≤ϵmeskipunjika tidak ada batas atas pada jumlah gerbang diketahui, maka setiap gerbang akan didekati dengan beberapa (lebih kecil)ϵ′, memberikan kesalahan keseluruhan≤t′ϵuntuk jumlah yang dihasilkan dari gerbang yang diimplementasikan (yang tidak diketahui pada awal)t′, dengan kompleksitas keseluruhanO(t′
O(tpolylogtmaxϵ),
ϵ′≤t′ϵt′O(t′polylog1ϵ′).
2nthϵ/2n
O(polylog2nϵ′)=O(polynlog1ϵ′),
O(polytlog1ϵ),
Ini tidak terlalu buruk, jadi saya berharap (ketika jumlah gerbangnya tidak diketahui) komputer klasik akan dapat terus menghasilkan gerbong yang benar setidaknya secepat prosesor kuantum membutuhkannya. Jika tidak saat ini, semoga sekali prosesor kuantum menjadi cukup baik sehingga ini benar-benar menjadi masalah!
1 Meskipun, kemungkinan bukan yang paling efisien