Zpětná propagace operátoru
Tento balíček implementuje zpětnou propagaci operátoru (OBP) pro snížení hloubky obvodů při výpočtech očekávaných hodnot. Tato technika propaguje observable zpětně přes hradla na konci kvantového obvodu, což vede k mělčímu obvodu za cenu nárůstu počtu bází pro měření observable. S dalším zpětným propagováním operátoru obvodem velikost observable roste exponenciálně, což vede k režii klasických i kvantových zdrojů. U některých obvodů je však výsledné rozdělení Pauliho observables koncentrovanější než exponenciální škálování v nejhorším případě, což znamená, že některé členy hamiltoniánu s malými koeficienty lze ořezat a snížit tak kvantovou režii. Chybu, která tím vzniká, lze řídit, aby se našel vhodný kompromis mezi přesností a efektivitou.
Existuje několik způsobů, jak zpětnou propagaci operátoru provést. Tento balíček používá metodu založenou na Cliffordově poruchové teorii, jejíž výhodou je, že režie způsobená zpětnou propagací různých hradel je určena tím, jak moc je dané hradlo ne-Cliffordovské. To vede ke zvýšené efektivitě u některých rodin obvodů oproti metodám OBP založeným na tenzorových sítích, které mají v současnosti vysokou klasickou režii i v případech, kdy kvantová režie zůstává mírná.
Tento balíček je vhodný pro odhad očekávaných hodnot obecných kvantových obvodů a Pauliho observables; u obvodů s vysokou „magií“ (velmi ne-Cliffordovských) se však chyba observable vzniklá ořezáváním pravděpodobně stane neúnosnou dříve, než se observable propaguje smysluplnou částí obvodu. U obvodů blízkých Cliffordovým může být možné propagovat observable mnohem větší částí obvodu při zachování relativně malých mezí chyby.
Začínáme
Jednoduchého průvodce, který ti pomůže rychle začít s tímto balíčkem, najdeš v průvodci rychlým startem.
Příklady použití
Tato technika byla použita k implementaci Trotterových obvodů s nižší hloubkou pro časový vývoj 2D spinového modelu [1].
Technický rozbor
-
Jediný vstupní bod: funkce
backpropagateprovádí OBP. -
Dvě nezávislé možnosti řízení kompromisu hloubka ↔ přesnost:
-
OperatorBudgetomezuje, jak velká může observable během zpětné propagace narůst. -
TruncationErrorBudgetomezuje, jak velká chyba může během zpětné propagace vzniknout.
-
-
Účinnost závisí na tom, jak moc je obvod Cliffordovský: u obvodů s vysokou magií (tj. velmi ne-Cliffordovských) mají členy přidané do observable tendenci mít větší koeficienty, takže vzniká větší chyba ořezávání dříve, což při pevném rozpočtu chyby omezuje úsporu hloubky. Obvody blízké Cliffordovým lze ořezávat agresivněji a při stejném rozpočtu je zpětně propagovat hlouběji.
-
Plně introspektovatelné: každý běh vrací objekt
OBPMetadata, který zaznamenává počty Pauliho členů na řez, počty QWC skupin a nahromaděnou chybu ořezávání, s pomocnými funkcemiplot_*pro vizualizaci růstu operátoru a chyby vůči hloubce obvodu — užitečné pro ladění rozpočtů dříve, než investuješ čas na QPU.
Přispívání
Příručka pro vývojáře se nachází v CONTRIBUTING.md v kořenovém adresáři repozitáře tohoto projektu. Účastí se zavazuješ dodržovat kodex chování Qiskitu.
Pro sledování požadavků a chyb používáme GitHub issues.
Citování tohoto balíčku
Pokud tento balíček používáš ve svém výzkumu, použij soubor CITATION.bib v repozitáři tohoto projektu k citování příslušných odkazů.
Licence
Zásady zastarávání
Tento balíček se řídí sémantickým verzováním. Občas můžeme provést zásadní změny, abychom zlepšili uživatelský zážitek. Pokud to bude možné, ponecháme staré rozhraní a označíme je jako zastaralé, dokud může koexistovat s novým. Každé podstatné vylepšení, zásadní změna nebo zastarání bude zdokumentováno v poznámkách k vydání.
Reference
-
- Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]