Przejdź do głównej treści
Ten projekt jest w wersji beta. Znalazłeś błąd? Otwórz zgłoszenie na GitHub. Masz pytanie lub pomysł? Zapytaj w Discussions — chętnie poznamy Twoją opinię!
Jak oceniasz jakość tłumaczenia tej strony?

Shaded lightcones (SLC)

Two copies of the same brickwork circuit ending in a measurement. On the left, a conventional lightcone is uniformly shaded yellow. On the right, a shaded lightcone fades from yellow to transparent according to how much each gate matters to the measured observable.

qiskit-addon-slc to pakiet do obliczania zacieniowanego stożka świetlnego (SLC) [1] obserwabli względem obwodu kwantowego. W kontekście probabilistycznej redukcji błędów (PEC) zacieniowane stożki świetlne są podobne do konwencjonalnych binarnych stożków świetlnych w tym, że niełagodzenie błędów poza stożkiem może zmniejszyć wariancję (tj. koszt próbkowania). Zacieniowanie stożka pozwala pójść z tą strategią dalej, przypisując skale generatorom błędów Pauliego wewnątrz przyczynowego stożka świetlnego. Błędy o mniejszych skalach mniej wpływają na obserwablę; ich obcięcie z modelu szumu może zmniejszyć wariancję (tj. koszt próbkowania) kosztem pewnego obciążenia. Pakiet qiskit-addon-slc daje użytkownikom możliwość zacieniowania stożka świetlnego i kontrolowania kompromisu między kosztem próbkowania a obciążeniem.

Pierwsze kroki​

Prosty przewodnik, który pomoże ci szybko zacząć pracę z tym pakietem, jest dostępny w przewodniku szybkiego startu.

Przykłady zastosowań​

Ta technika została użyta do obniżenia kosztu próbkowania probabilistycznej redukcji błędów (PEC) w eksperymentach z operatorowym echem Loschmidta na 56 kubitach na procesorze IBM Heron. [2].

Omówienie techniczne​

Przegląd metody​

Zacieniowane stożki świetlne są obliczane i używane w 5 krokach:

  1. Oblicz granicę wpływu każdego składnika błędu Pauliego na obserwablę na końcu obwodu (granica w przód)

  2. Oblicz granicę wpływu każdego składnika błędu Pauliego na stan początkowy na początku obwodu (granica wstecz)

A three-qubit circuit with four unitary layers and a grid of error terms E1 to E12 between them. Error term E8 is highlighted. One arrow from E8 back to the initial state rho is labeled backward bound, and another arrow from E8 to the final observable A is labeled forward bound.

  1. Przybliż wkład obciążenia dla każdego składnika błędu Pauliego, używając granic w przód i wstecz oraz stopy błędu danego składnika

Two 3-by-4 grids of numbered error terms, one shaded by backward bound and one by forward bound. Arrows from both point to a third grid labeled partition and merge, which combines the two sets of bounds and highlights term 8.

  1. Ustal priorytety składników błędu na podstawie ich stopy błędu i granic. Obcinaj z modelu szumu składniki o najmniejszym wpływie na wartość oczekiwaną obserwabli, aż zostanie osiągnięta podana przez użytkownika tolerancja obciążenia. Alternatywnie można dodawać do modelu szumu najbardziej wpływowe składniki błędu, aż wykorzystany zostanie podany przez użytkownika budżet kosztu próbkowania.

A row of numbered error terms sorted from most to least impactful, starting with term 8 and ending with terms 1, 2, 10 and 12. The last five terms, shaded darkest, are separated from the rest and labeled truncate.

  1. Złagodź obcięty model szumu. Dzięki modelowi wykonania kierowanego z Qiskit Runtime wskazanie składników błędu do zignorowania podczas próbkowania PEC jest proste. Szczegóły znajdziesz w samouczku.

The prioritized list of retained error terms, 8, 11, 7, 5, 6, 3 and 4, with an arrow pointing to a three-qubit circuit. Each retained term appears in the circuit as an inverse noise gate, labeled lambda inverse, between the unitary layers.

Funkcje oprogramowania​

  • Równoległe asynchroniczne obliczanie granic

  • Propagacja przyspieszona w Rust

  • Umożliwia obliczanie granic z wyprzedzeniem (tj. przed właściwym uczeniem szumu)

Znane problemy​

  • Windows nie jest obsługiwany

  • InjectNoise(site=”before”) nie jest obsługiwane

  • Nie obsługuje szczegółowego scalania granic

Przyszłe prace​

  • Przyspieszone w Rust obliczanie wartości własnych do wyznaczania granic w przód

Współtworzenie​

Kod źródłowy jest dostępny na GitHubie.

Przewodnik dla deweloperów znajduje się w pliku CONTRIBUTING.md w katalogu głównym repozytorium tego projektu. Uczestnicząc, zobowiązujesz się przestrzegać kodeksu postępowania Qiskit.

Do śledzenia próśb i błędów używamy zgłoszeń GitHub.

Cytowanie tego pakietu​

Jeśli używasz tego pakietu w swoich badaniach, skorzystaj z pliku CITATION.bib w repozytorium tego projektu, aby zacytować odpowiednie źródła.

Licencja​

Apache License 2.0

Polityka wycofywania​

Stosujemy wersjonowanie semantyczne. Czasami możemy wprowadzać zmiany łamiące zgodność, aby poprawić doświadczenie użytkownika. Gdy to możliwe, zachowamy stare interfejsy i oznaczymy je jako wycofywane, o ile mogą współistnieć z nowymi. Każde istotne ulepszenie, zmiana łamiąca zgodność lub wycofanie zostanie opisane w informacjach o wydaniu.

Współtworzenie​

Kod źródłowy jest dostępny na GitHubie.

Przewodnik dla deweloperów znajduje się w pliku CONTRIBUTING.md. Uczestnicząc, zobowiązujesz się przestrzegać kodeksu postępowania Qiskit.

Do śledzenia próśb i błędów używamy zgłoszeń GitHub.

Bibliografia​

  1. Andrew Eddins, et al., Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401v1 [quant-ph].

  2. Samantha V. Barron, et al., Observable Estimation in the Absence of Classical Verification, arXiv:2607.25998 [quant-ph].