Lumaktaw sa pangunahing nilalaman
Ang proyektong ito ay nasa beta. Nakakita ng bug? Mag-bukas ng GitHub issue. May tanong o ideya? Magtanong sa Discussions — gusto naming marinig ang iyong feedback!
Gaano kaganda ang kalidad ng pagsasalin sa pahinang ito?

Mga dressed box

Ang mga pisikal na mekanismo ng noise na nangyayari habang ini-execute ang mga quantum circuit ay contextual. Kapag sabay na nag-a-apply ng mga operasyon sa magkakahiwalay na set ng mga qubit, maaaring magkaiba ang noise profile ng kabuuang operasyon sa mga noise profile ng mga bumubuo nito kung isa-isa silang ia-apply. Gayundin, para sa mga operasyong ideally ay nagko-commute sa parehong mga qubit, maaaring hindi magko-commute ang noise profile ng bawat operasyon at puwedeng maging ibang-iba kung babaguhin ang pagkakasunod ng mga operasyon. Kaya, kailangang malaman ng mga protocol para sa pagsugpo, pag-mitigate, at pagwawasto ng noise ang context kung saan ito lumilitaw.

Gumagamit ang Samplomatic ng mga box instruction para pag-isipan ang mga koleksyon ng mga operasyon ng circuit na dapat ituring na may matatag na noise context, at gumagamit ng mga annotation sa mga box para makapag-declare at makapag-configure ang mga user ng intensyong iyon. Bawat box ay isang scope na may hawak na set ng mga qubit, mga operasyong umaaksyon sa mga qubit na iyon, at listahan ng mga annotation. Ang mga annotation ng Samplomatic ay tumutukoy ng mga directive at dressing. Tinutukoy ng mga directive kung ano ang gagawin sa box, halimbawa, i-twirl ang box. Ang mga dressing ay mga grupo ng mga parameterized gate na idadagdag sa kaliwa o kanang bahagi ng box, halimbawa, isang layer ng mga single qubit gate. Isinasama ng mga gate sa isang dressing ang mga gate mula sa box at ang mga operasyong kailangan para isagawa ang mga directive, tulad ng sumusunod:

  • Mga gate sa box na compatible at nasa parehong panig ng mga parameterized gate.

  • Mga twirling gate na kinuha mula sa isang set para i-randomize ang box.

  • Mga noise injection gate na kinuha mula sa isang Pauli Lindblad map.

  • Mga basis changing gate na tinukoy ng user.

Tandaan na ang mga directive ay maaaring magbago ng mga dressing ng ibang mga box.

Halimbawa​

Sabihin nating gusto nating i-twirl ang sumusunod na circuit, sa pamamagitan ng pagdaragdag ng mga random na Pauli gate bago at pagkatapos ng mga parallel na entangling gate na hindi nagbabago sa lohikal na nilalaman ng circuit, pero nagbabago sa epektibong noise model.

../_images/undressed_pauli.drawio.png

Circuit na ite-twirl gamit ang Pauli.

Nagagawa ito sa pamamagitan ng pag-stratify ng circuit sa mga box at pagdaragdag ng mga twirl annotation.

../_images/dressed_pauli_twirl.drawio.png

Circuit na may mga Pauli twirling directive. Ginagamit ang simbolong @ para tukuyin ang mga directive, at ang dressing ay nasa kaliwa bilang default.

Bawat dressed box ay naglalaman ng isang layer ng mga single-qubit gate at isang layer ng mga two-qubit entangling gate sa magkakahiwalay na pares ng mga qubit. Ang layer ng mga entangling gate ay napapalibutan ng mga layer ng mga random na Pauli gate sa paraang hindi nagbabago ang lohikal na aksyon ng box. Ang mga random na Pauli layer na ito ay virtual gaya ng virtual Z gate. Hindi sila nagdaragdag ng mga operasyon sa circuit, kundi kumikilos bilang directive para baguhin kung paano ipinapatupad ang mga katabing single-qubit gate.

../_images/pauli_twirl.drawio.png

Circuit na may mga dressing at mga gate mula sa mga directive. Ang mga dressing ay ang mga putol-putol na box. Ang mga Pauli layer na pinag-ugnay ng mga arrow ay nagkakansela sa isa't isa. Ang huling Pauli layer ay ia-apply bilang mga bit flip sa mga resulta ng measurement.

Ang random na Pauli layer sa pagitan ng mga entangling gate at mga single-qubit gate ay isinasama sa layer ng mga single-qubit gate at ipinapatupad sa dressing nito. Ang isa pang random na Pauli layer ay isasama sa dressing ng susunod na dressed box.

Bilang buod, ang left (o right) twirl directive ay nagpapatupad ng random na Pauli sa dressing ng box na ito at nag-a-apply ng Pauli na nagbabalik nito sa dressing ng susunod (o nakaraang) box. Katulad nito ang mga inject noise at basis change directive.

Randomization ng circuit gamit ang mga virtual gate​

Gumagamit ang Samplomatic ng balangkas ng mga virtual gate para pag-isipan ang mga circuit na may mga dressed box. Sa konsepto, at gaya ng pagkaka-implement sa isang Samplex instance na nabuo ng proseso ng build(), ang mga virtual gate ay nalilikha sa hangganan ng box na kabaligtaran ng dressing nito. Ang mga virtual gate na ito ay inililipat sa circuit sa isang itinakdang paraan at kailangang isama sa isang dressing. Kung lahat ng virtual gate ay maisasama sa isang dressing, maaaring buuin nang procedural ang mga randomization ng circuit.

../_images/dressed_box.drawio.png

Circuit na may mga twirl, basis change, at inject noise directive.

Ang mga gate sa panig ng dressing na compatible sa template parametrization ng dressing ay maaaring isama rito, kaya nababawasan ang bilang ng mga pisikal na gate. Tinatawag itong mga easy gate. Ang natitirang bahagi ng box ay tinatawag na hard at ipinapatupad nang ganoon.

../_images/dressed_box_uncollected.drawio.png

Mga halimbawa ng mga circuit na may nakabiting mga virtual gate. Ang mga virtual gate sa kabilang panig ng dressing ay walang mapaglagyan.

../_images/dressed_box_collected.drawio.png

Mga halimbawa ng mga circuit kung saan lahat ng virtual gate ay isinama sa mga dressing. Ang mga measurement ay may mga Pauli gate na isinama sa pamamagitan ng pagkonsidera sa bitflip na dulot ng mga ito.

../_images/dressed_box_mixed_collect.drawio.png

Masalimuot na halimbawa kung saan nakolekta lahat ng virtual gate. Ang mga virtual gate na nalikha ng isang box ay maaaring isama sa iba't ibang dressing.

Nagbibigay-daan ito sa mga konstruksyon kung saan hindi kailangang magkapareho ang lapad ng mga dressed box.