Přeskočit na hlavní obsah
Tento projekt je v betě. Našel jsi chybu? Otevřít issue na GitHubu. Máš otázku nebo nápad? Zeptej se v Discussions — rádi si poslechneme tvou zpětnou vazbu!
Jaká je kvalita překladu na této stránce?

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 backpropagate provádí OBP.

  • Dvě nezávislé možnosti řízení kompromisu hloubka ↔ přesnost:

    • OperatorBudget omezuje, jak velká může observable během zpětné propagace narůst.

    • TruncationErrorBudget omezuje, 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 funkcemi plot_* 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​

Apache License 2.0

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​

    1. Fuller et al., “Improved quantum computation using operator backpropagation,” npj Quantum Inf. 12, 51 (2026). [arXiv]