Qiskit Paulice
qiskit-paulice este un pachet pentru încorporarea unor verificări Pauli eficiente hardware în circuite Clifford arbitrare, pe conectivități arbitrare de qubiți, folosind coduri stabilizatoare spațiu-timp. Aceste verificări pot fi folosite pentru a detecta erori logice în timpul execuției circuitului. Postselectarea doar a eșantioanelor fără erori detectate poate îmbunătăți fidelitatea stărilor eșantionate cu un procesor cuantic, în schimbul unor qubiți auxiliari și al unei creșteri a costului de eșantionare. Această metodă este potrivită în special pentru hardware-ul pe termen scurt, deoarece are un cost mult mai redus în qubiți și porți în comparație cu calculul cuantic tolerant la erori, având în același timp un cost de eșantionare mai bun decât metodele de atenuare a erorilor precum ZNE sau PEC [1].
Deși verificările Pauli spațiu-timp pot fi folosite pentru a implementa rutine independente de detectare a erorilor, ele sunt relevante și în contextul atenuării și corectării erorilor. Detectarea erorilor poate completa tehnici de atenuare a erorilor, precum anularea probabilistică a erorilor (PEC), captând o parte din zgomotul care afectează porțile și măsurătorile, reducând impactul canalului de zgomot inversat și, astfel, costul de eșantionare. Ele pot fi privite și ca un pas timpuriu către toleranța practică la erori, deoarece implementarea codurilor stabilizatoare pentru a proteja qubiții de date de erorile logice este un concept central al corectării tradiționale a erorilor. Deoarece această metodă oferă acces la starea cuantică la nivel de execuție individuală, poate fi folosită atât în fluxuri de lucru bazate pe eșantionare, cât și în cele bazate pe valori de așteptare.
Primii pași
Un ghid simplu care te ajută să începi rapid cu acest pachet este disponibil în ghidul de pornire rapidă.
Exemple de utilizare
Această tehnică a fost folosită pentru a îmbunătăți fidelitatea eșantioanelor din circuite dominate de porți Clifford, folosind 97 de qubiți fizici pentru a codifica 2415 porți logice de încâlcire pe 70 de qubiți logici [2].
Discuție tehnică
Găsirea unor seturi bune de verificări Pauli spațiu-timp
Un set de verificări Pauli spațiu-timp este „bun” dacă fiecare verificare este validă, are pondere mică și este eficientă.
O verificare este alcătuită dintr-un număr de rotații Pauli controlate, , plasate pe anumite fire ale circuitului, : . Pentru o verificare dată, controalele se află pe un singur qubit auxiliar, iar rotațiile au loc pe firele unui singur qubit țintă. Pentru circuitele Clifford, o verificare este validă dacă produsul ei retropropagat este un stabilizator al stării pregătite de circuitul ideal: , unde este retropropagatorul lui de la până la începutul circuitului, iar este mulțimea tuturor stabilizatorilor circuitului.
O verificare are pondere mică dacă necesită puține porți de încâlcire pentru a fi implementată. Algoritmul de alegere a verificărilor va favoriza verificările cu pondere mică care oferă cea mai eficientă detectare a erorilor.
O verificare este eficientă dacă captează mult mai multe erori decât introduce. O verificare Pauli este alcătuită dintr-un număr de porți de încâlcire și introduce astfel un zgomot suplimentar de porți în calcul. Este important să te asiguri că fiecare verificare suplimentară aduce o capacitate suplimentară de detectare a erorilor. Eficiența unui set de verificări poate fi aproximată compunând erorile Pauli descoperite de verificări într-un canal de zgomot postselectat și calculându-i impactul. Minimizarea costului de eșantionare pentru implementarea canalului de zgomot invers neacoperit este o euristică solidă pentru alegerea verificărilor bune, deoarece indică cât de multă eroare nu pot detecta verificările. O abordare mai lentă, dar mai realistă, este să efectuezi o eșantionare Monte Carlo din starea zgomotoasă și să calculezi empiric rata de eroare logică a distribuției postselectate. Ambele abordări sunt disponibile ca funcții de cost integrate în funcția qiskit_paulice.add_pauli_checks.
Postselectarea eșantioanelor pe baza datelor de sindrom
În acest pachet, o verificare este implementată folosind porți de încâlcire între un qubit auxiliar și un qubit țintă. Fiecare qubit auxiliar începe în , deci stabilizează starea sa de intrare. Propagarea înainte a lui de la începutul qubitului auxiliar prin întregul circuit verificat produce un operator Pauli la ieșire, care poate avea pondere mai mare și se poate extinde în circuitul încărcăturii utile. Indicii qubiților pe care acest operator de ieșire are termeni diferiți de identitate se numesc suportul verificării, iar verificarea este trecută dacă biții, , din suportul verificării au paritate pară: . Un eșantion este păstrat dacă fiecare verificare produce pentru verificarea sa de paritate.
Funcționalități software
-
Creare automată a modelului de zgomot din datele de benchmark ale backendului
-
Găsirea verificărilor accelerată cu Rust
-
3 algoritmi integrați pentru găsirea verificărilor
-
Suport pentru dopajul cu porți RZ
-
Suport pentru combinarea detectării erorilor cu atenuarea erorilor
Probleme cunoscute
-
Zgomotul de inactivitate nu este furnizat prin
NoiseModel.get_backendși este ignorat la alegerea verificărilor -
Deși mulți pași stocastici din algoritm pot fi controlați cu o sămânță aleatorie, unele funcționalități au o aleatoriețe care nu poate fi controlată cu o sămânță. Mai exact, următoarele valori ale argumentelor pentru
add_pauli_checksvor produce o alegere nedeterministă a verificărilor:cost="LER",method="genetic"șimethod="windowed_genetic". Pentru un comportament determinist foloseșteadd_pauli_checks(..., cost="gamma", method="windowed"), care sunt valorile implicite.
Lucrări viitoare
-
Gestionarea zgomotului de inactivitate la alegerea verificărilor
-
Aleatoriețe controlabilă pentru funcția de cost a ratei de eroare logică și pentru algoritmii de căutare genetici
Contribuie
Codul sursă este disponibil pe GitHub.
Ghidul pentru dezvoltatori se află în CONTRIBUTING.md, în rădăcina depozitului acestui proiect. Prin participare, ești de acord să respecți codul de conduită al Qiskit.
Citarea acestui pachet
Dacă folosești acest pachet în cercetarea ta, folosește fișierul CITATION.bib din depozitul acestui proiect pentru a cita referința (referințele) potrivită(e).
Licență
Politica de depreciere
Urmăm versionarea semantică. Ocazional, este posibil să facem modificări incompatibile pentru a îmbunătăți experiența utilizatorului. Când este posibil, vom păstra interfețele vechi și le vom marca drept depreciate, atât timp cât pot coexista cu cele noi. Fiecare îmbunătățire substanțială, modificare incompatibilă sau depreciere va fi documentată în notele de lansare.
Referințe
-
Simon Martiel, Ali Javadi-Abhari, Low-overhead error detection with spacetime codes, arXiv:2504.15725 [quant-ph].
-
Simon Martiel, et al., Sampling hard circuits with verifiably high fidelity, arXiv:2607.25941 [quant-ph].