Peran gerbang T dan pabrik T dalam komputasi kuantum
Artikel ini menjelaskan peran gerbang T dan pabrik T dalam komputasi kuantum toleran terhadap kesalahan. Memberikan algoritma kuantum, estimasi sumber daya yang diperlukan untuk menjalankan gerbang T dan pabrik T menjadi sangat penting untuk menentukan kelayakan algoritma. Azure Quantum Resource Estimator menghitung jumlah status T yang diperlukan untuk menjalankan algoritma, jumlah qubit fisik untuk satu pabrik T, dan runtime pabrik T.
Set gerbang kuantum universal
Menurut kriteria DiVincenzo komputer kuantum yang dapat diskalakan harus dapat menerapkan serangkaian gerbang kuantum universal. Set universal berisi semua gerbang yang diperlukan untuk melakukan komputasi kuantum apa pun, yaitu, komputasi apa pun harus diurai kembali ke urutan gerbang universal yang terbatas. Minimal, komputer kuantum harus dapat memindahkan satu qubit ke posisi apa pun pada Bloch Sphere (menggunakan gerbang qubit tunggal), serta memperkenalkan entanglemen dalam sistem, yang membutuhkan gerbang multi-qubit.
Hanya ada empat fungsi yang memetakan satu bit ke satu bit pada komputer klasik. Sebaliknya, terdapat jumlah transformasi kesatuan yang tak terbatas pada satu qubit pada komputer kuantum. Oleh karena itu, tidak ada serangkaian operasi atau gerbang kuantum primitif yang terbatas, dapat mereplikasi set transformasi uniter tak terbatas yang diizinkan dalam komputasi kuantum. Tidak seperti komputasi klasik, ini berarti tidak memungkinkan bagi komputer kuantum untuk mengimplementasikan setiap program kuantum yang memungkinkan menggunakan dengan tepat sejumlah gerbang yang terbatas. Dengan demikian komputer kuantum tidak dapat bersifat universal dalam arti yang sama dari komputer klasik. Akibatnya, saat kita mengatakan bahwa satu set gerbang bersifat universal untuk komputasi kuantum, kita sebenarnya mengatakan sesuatu yang sedikit lebih lemah daripada yang kita maksud dengan komputasi klasik.
Untuk universalitas, diperlukan bahwa komputer kuantum hanya memperkirakan setiap matriks uniter dalam kesalahan terbatas menggunakan urutan gerbang panjang terbatas.
Dengan kata lain, satu set gerbang adalah gerbang universal yang ditetapkan jika ada transformasi kesatuan yang dapat ditulis kira-kira sebagai produk gerbang dari set ini. Diperlukan bahwa untuk setiap kesalahan yang ditentukan terikat, ada gerbang $G_, G_{2}, \ldots, G_N${1} dari set gerbang sehingga
$$ G_N G_{N-1}\cdots G_2 G_1 \approx U. $$
Karena konvensi untuk perkalian matriks adalah mengalikan dari kanan ke kiri operasi gerbang pertama dalam urutan ini, $G_N$, sebenarnya yang terakhir diterapkan ke vektor status kuantum. Pada keadaan yang lebih formal, set gerbang seperti itu dikatakan universal jika untuk setiap toleransi kesalahan $\epsilon>0$ terdapat $G_1, \ldots, G_N$ sedemikian rupa sehingga jarak antara $G_N\ldots G_1$ dan $U$ paling banyak adalah $\epsilon$. Idealnya, nilai $N$ yang diperlukan untuk mencapai jarak $\epsilon$ ini harus berskala secara poli-logaritmik dengan $1/\epsilon$.
Misalnya, set yang dibentuk oleh gerbang Hadamard, CNOT dan T adalah set universal, dari mana komputasi kuantum apa pun (pada sejumlah qubit) dapat dihasilkan. Kumpulan gerbang Hadamard dan T menghasilkan gerbang qubit tunggal apa pun:
$$H=\frac{1}{\sqrt{ 1 amp; 1 \\ 1 &-1 \end{bmatrix}, \qquad T=\begin{bmatrix} 1 & 0 \\ 0 & e^{i\pi/4}\end{bmatrix}.&{2}}\begin{bmatrix} $$
Dalam komputer kuantum, gerbang kuantum dapat diklasifikasikan ke dalam dua kategori: Gerbang Clifford dan gerbang non-Clifford, dalam hal ini, gerbang T. Program kuantum yang dibuat hanya dari gerbang Clifford dapat disimulasikan secara efisien menggunakan komputer klasik, dan oleh karena itu, gerbang non-Clifford diperlukan untuk mendapatkan keuntungan kuantum. Dalam banyak skema koreksi kesalahan kuantum (QEC) yang disebut gerbang Clifford mudah diimplementasikan, yaitu mereka membutuhkan sangat sedikit sumber daya dalam hal operasi dan qubit untuk menerapkan toleransi kesalahan, sedangkan gerbang non-Clifford cukup mahal ketika membutuhkan toleransi kesalahan. Dalam set gerbang kuantum universal, gerbang T umumnya digunakan sebagai gerbang non-Clifford.
Sekumpulan standar gerbang Clifford qubit tunggal, disertakan secara default dalam Q#, sertakan
$$ H=\frac{{1}{\sqrt{{2}}\begin{bmatrix} 1 & 1 \\ 1 &-1 \end{bmatrix} , \qquad S =\begin{bmatrix} 1 & 0 \\ 0 & i \end{bmatrix}= T^2, \qquad X=\begin{bmatrix} 0 & 1 \\ 1& 0 \end{bmatrix}= HT^4H, $$
$$ Y =\begin{bmatrix} 0 & -i i \\ & 0 \end{bmatrix}=T^2HT^4 HT^6, \qquad Z=\begin{bmatrix}1& 0\\ 0&-1 \end{bmatrix}=T^4. $$
Bersama dengan gerbang non-Clifford (gerbang T), operasi ini dapat terdiri dari perkiraan transformasi unitaris pada satu qubit.
Pabrik T di Azure Quantum Resource Estimator
Persiapan gerbang T non-Clifford sangat penting karena gerbang kuantum lainnya tidak cukup untuk komputasi kuantum universal. Untuk menerapkan operasi non-Clifford untuk algoritma skala praktis, diperlukan gerbang T tingkat kesalahan rendah (atau status T). Namun, mereka bisa sulit untuk langsung diimplementasikan pada qubit logis, dan juga bisa sulit untuk beberapa qubit fisik.
Dalam komputer kuantum toleran terhadap kesalahan, status T tingkat kesalahan rendah yang diperlukan diproduksi menggunakan pabrik penyulingan status T, atau pabrik T untuk singkatnya. Pabrik T ini biasanya melibatkan urutan putaran penyulingan, di mana setiap putaran mengambil banyak status T bising yang dikodekan dalam kode jarak yang lebih kecil, memprosesnya menggunakan unit penyulingan, dan menghasilkan lebih sedikit lebih sedikit status T bising yang dikodekan dalam kode jarak yang lebih besar, dengan jumlah putaran, unit distilasi, dan jarak semua parameter yang dapat bervariasi. Prosedur ini diulang, di mana status T output dari satu putaran disalurkan ke putaran berikutnya sebagai input.
Berdasarkan durasi pabrik T, Azure Quantum Resource Estimator menentukan seberapa sering pabrik T dapat dipanggil sebelum melebihi total runtime algoritma, dan dengan demikian berapa banyak status T yang dapat diproduksi selama runtime algoritma. Biasanya, lebih banyak status T diperlukan daripada apa yang dapat diproduksi dalam pemanggilan satu pabrik T selama runtime algoritma. Untuk menghasilkan lebih banyak status T, Estimator Sumber Daya menggunakan salinan pabrik T.
Estimasi fisik pabrik T
Estimator Sumber Daya menghitung jumlah total status T yang diperlukan untuk menjalankan algoritma, dan jumlah qubit fisik untuk satu pabrik T dan runtimenya.
Tujuannya adalah untuk menghasilkan semua status T dalam runtime algoritma dengan salinan pabrik T sebanyak mungkin. Diagram berikut menunjukkan contoh runtime algoritma dan runtime satu pabrik T. Anda dapat melihat bahwa runtime pabrik T lebih pendek dari runtime algoritma. Dalam contoh ini, satu pabrik T dapat menyaring satu status T. Dua pertanyaan muncul:
- Seberapa sering pabrik T dapat dipanggil sebelum akhir algoritma?
- Berapa banyak salinan putaran distilasi pabrik T yang diperlukan untuk membuat jumlah status T yang diperlukan selama runtime algoritma?
Sebelum akhir algoritma, pabrik T dapat dipanggil delapan kali, yang disebut putaran penyulingan. Misalnya, jika Anda membutuhkan status 30 T, satu pabrik T dipanggil delapan kali selama runtime algoritma dan dengan demikian, itu membuat delapan status T. Kemudian Anda memerlukan empat salinan putaran penyulingan pabrik T yang berjalan secara paralel untuk menyaring status 30 T yang diperlukan.
Catatan
Perhatikan bahwa salinan pabrik T dan pemanggilan pabrik T tidak sama.
Pabrik penyulingan status T diimplementasikan dalam urutan putaran, di mana setiap putaran terdiri dari satu set salinan unit penyulingan yang berjalan secara paralel. Estimator Sumber Daya menghitung berapa banyak qubit fisik yang diperlukan untuk menjalankan satu pabrik T dan berapa lama pabrik T berjalan, di antara parameter lain yang diperlukan.
Anda hanya dapat melakukan pemanggilan penuh pabrik T. Oleh karena itu, mungkin ada situasi di mana akumulasi runtime semua pemanggilan pabrik T kurang dari runtime algoritma. Karena qubit digunakan kembali oleh putaran yang berbeda, jumlah qubit fisik untuk satu pabrik T adalah jumlah maksimum qubit fisik yang digunakan untuk satu putaran. Runtime pabrik T adalah jumlah runtime dalam semua putaran.
Catatan
Jika tingkat kesalahan gerbang T fisik lebih rendah dari tingkat kesalahan status T logis yang diperlukan, Estimator Sumber Daya tidak dapat melakukan estimasi sumber daya yang baik. Ketika Anda mengirimkan pekerjaan estimasi sumber daya, Anda mungkin menemukan bahwa pabrik T tidak dapat ditemukan karena tingkat kesalahan status T logis yang diperlukan terlalu rendah atau terlalu tinggi.
Untuk informasi selengkapnya, lihat Lampiran C dari Menilai persyaratan untuk menskalakan ke keuntungan kuantum praktis.