Lewati ke konten utama
Proyek ini masih dalam tahap beta. Menemukan bug? Buat isu GitHub. Punya pertanyaan atau ide? Tanya di Discussions — kami sangat menghargai masukan kamu!
Bagaimana kualitas terjemahan di halaman ini?

Dressed box

Mekanisme noise fisik yang terjadi saat eksekusi circuit kuantum bersifat kontekstual. Saat operasi diterapkan secara bersamaan pada himpunan qubit yang terpisah, profil noise dari operasi secara keseluruhan bisa berbeda dari profil noise tiap bagian penyusunnya kalau diterapkan sendiri-sendiri. Demikian juga, untuk operasi yang idealnya komutatif pada qubit yang sama, profil noise yang terkait dengan masing-masing operasi mungkin tidak komutatif dan bisa jadi sama sekali berbeda kalau urutan operasinya diubah. Karena itu, protokol untuk menekan, memitigasi, dan mengoreksi noise perlu tahu konteks tempat noise itu muncul.

Samplomatic memakai instruksi box untuk menalar kumpulan operasi circuit yang harus diperlakukan punya konteks noise yang stabil, dan memakai anotasi pada box agar pengguna bisa mendeklarasikan dan mengonfigurasi maksud tersebut. Setiap box adalah sebuah scope yang memiliki sekumpulan qubit, operasi yang bekerja pada qubit-qubit itu, dan daftar anotasi. Anotasi Samplomatic menentukan directive dan dressing. Directive menentukan apa yang dilakukan terhadap box, misalnya melakukan twirl pada box. Dressing adalah kelompok gate berparameter yang ditambahkan di sisi kiri atau kanan box, misalnya satu layer gate single-qubit. Gate dalam sebuah dressing menggabungkan gate dari box dan operasi yang diperlukan untuk menjalankan directive, seperti berikut:

  • Gate di dalam box yang kompatibel dengan dan berada di sisi yang sama dengan gate berparameter.

  • Gate twirling yang disampel dari sebuah himpunan untuk mengacak box.

  • Gate injeksi noise yang disampel dari sebuah peta Pauli Lindblad.

  • Gate pengubah basis yang ditentukan pengguna.

Perlu diingat bahwa directive bisa mengubah dressing box lain.

Contoh​

Misalkan kita ingin melakukan twirl pada circuit berikut, dengan menambahkan gate Pauli acak sebelum dan sesudah gate entangling paralel, yang tidak mengubah isi logis circuit, tetapi mengubah model noise efektifnya.

../_images/undressed_pauli.drawio.png

Circuit yang akan di-twirl dengan Pauli.

Ini dicapai dengan menstratifikasi circuit menjadi box dan menambahkan anotasi twirl.

../_images/dressed_pauli_twirl.drawio.png

Circuit dengan directive Pauli twirling. Simbol @ dipakai untuk menentukan directive, dan dressing secara default berada di sebelah kiri.

Setiap dressed box berisi satu layer gate single-qubit dan satu layer gate entangling dua-qubit pada pasangan qubit yang terpisah. Layer gate entangling diapit oleh layer gate Pauli acak sedemikian rupa sehingga aksi logis box tidak berubah. Layer Pauli acak ini bersifat virtual, sama seperti gate Z virtual. Layer ini tidak menambah operasi ke circuit, melainkan bertindak sebagai directive untuk mengubah cara gate single-qubit di dekatnya diimplementasikan.

../_images/pauli_twirl.drawio.png

Circuit dengan dressing dan gate dari directive. Dressing adalah box putus-putus. Layer Pauli yang dihubungkan dengan panah saling menghapus. Layer Pauli terakhir akan diterapkan sebagai bit flip pada hasil pengukuran.

Layer Pauli acak di antara gate entangling dan gate single-qubit digabungkan ke dalam layer gate single-qubit dan diimplementasikan di dressing-nya. Layer Pauli acak yang lain akan digabungkan ke dalam dressing dari dressed box berikutnya.

Singkatnya, directive twirl kiri (atau kanan) mengimplementasikan Pauli acak di dressing box ini dan menerapkan Pauli yang membatalkannya di dressing box berikutnya (atau sebelumnya). Directive inject noise dan basis change bekerja secara analog.

Pengacakan circuit dengan gate virtual​

Samplomatic memakai kerangka gate virtual untuk menalar circuit dengan dressed box. Secara konseptual, dan seperti yang diimplementasikan dalam instance Samplex yang dihasilkan oleh proses build(), gate virtual dihasilkan di batas box yang berlawanan dengan dressing-nya. Gate virtual ini dipindahkan melalui circuit dengan cara yang telah ditentukan dan perlu digabungkan ke dalam sebuah dressing. Kalau semua gate virtual bisa digabungkan ke dalam dressing, pengacakan circuit bisa dibangun secara prosedural.

../_images/dressed_box.drawio.png

Circuit dengan directive twirl, basis change, dan inject noise.

Gate di sisi dressing yang kompatibel dengan parametrisasi template dressing bisa digabungkan ke dalamnya, sehingga jumlah gate fisik berkurang. Gate ini disebut gate easy. Sisa box disebut hard dan diimplementasikan apa adanya.

../_images/dressed_box_uncollected.drawio.png

Contoh circuit dengan gate virtual yang menggantung. Gate virtual di sisi dressing yang berlawanan tidak punya tempat untuk diimplementasikan.

../_images/dressed_box_collected.drawio.png

Contoh circuit di mana semua gate virtual digabungkan ke dalam dressing. Pada pengukuran, gate Pauli digabungkan dengan memperhitungkan bit flip yang ditimbulkannya.

../_images/dressed_box_mixed_collect.drawio.png

Contoh kompleks di mana semua gate virtual terkumpul. Gate virtual yang dihasilkan satu box bisa digabungkan ke dalam dressing yang berbeda.

Ini memungkinkan konstruksi di mana dressed box tidak perlu punya lebar yang sama.