Pauliho propagace
Balíček pauli-prop poskytuje pythonové rozhraní akcelerované v Rustu pro provádění Pauliho propagace.
Pauliho propagace je rámec pro aproximaci vývoje operátorů v Pauliho bázi pod působením jiných operátorů, například hradel kvantových obvodů a šumových kanálů. Tento přístup může být účinný, pokud se očekává, že zúčastněné operátory zůstanou v Pauliho bázi řídké.
Podprogramy v tomto balíčku lze použít k implementaci technik zmírňování chyb, jako je lightcone shading [6] a propagated noise absorption [7], operator backpropagation [8] pro snížení hloubky obvodu a klasické simulace středních hodnot [1-5].
Začínáme
Jednoduchý průvodce, který ti pomůže s tímto balíčkem rychle začít, je k dispozici v rychlém startu.
Příklady použití
Pauliho propagaci lze použít jako nízkoúrovňový engine k implementaci různých technik. Několik příkladů jejího využití:
-
Lightcone shading ke snížení režie vzorkování pravděpodobnostního rušení chyb (PEC) při zmírňování středních hodnot v 1D a 2D Isingově modelu s příčným polem [6] [
qiskit-addon-slcdocs] -
Pohlcení informací o modelu šumu do cílové observabli ke zmírnění středních hodnot ve 2D Isingově modelu s příčným polem [7] [
qiskit-addon-pnadocs] -
Ořezávání koncových hradel pro vytvoření Trotterových obvodů s nižší hloubkou pro časový vývoj 2D spinového modelu [8] [
qiskit-addon-obpdocs]
Technická diskuse
Podrobnosti o softwaru
-
Pythonové rozhraní akcelerované v Rustu
-
Podpora zašuměných simulací [průvodce]
-
Možnost zkracovat členy během evoluce na základě absolutní tolerance koeficientů, pevného počtu členů ve vyvíjeném operátoru, nebo kombinace obojího
-
Možnost provádět Pauliho propagaci ve Schrödingerově i Heisenbergově obraze
-
Nová technika pro aproximaci konjugace operátoru ve tvaru Pauliho součtu jiným Pauliho operátorem. Tato heuristická implementace hladově generuje příspěvky do součinu, u nichž se očekává, že budou nejvýznamnější. Další informace najdeš v dodatku B práce [7].
-
Jednovláknové
Výpočetní nároky
Paměťové i časové nároky rutin Pauliho propagace obecně rostou s velikostí, do jaké smí vyvíjený operátor narůst.
propagate_through_rotation_gates(): Když je Pauliho operátor propagován v Pauliho bázi pod působením posloupnosti Pauliho rotačních hradel -qubitového obvodu, počet členů poroste jako směrem k maximu jedinečných Pauliho složek. Aby se řídila spotřeba paměti, operátor se po aplikaci každého hradla zkracuje, což zavádí určitou chybu úměrnou velikostem koeficientů zkrácených členů. Paměťové nároky jsou lineární ve velikosti vyvinutého operátoru a doba běhu roste lineárně jak s velikostí operátoru, tak s počtem hradel.
propagate_through_operator(): Konjuguje jeden operátor v Pauliho bázi jiným hladovým sčítáním členů v součtu , kde jsou řídké indexy přes Pauliho bázi. Tato implementace seřadí koeficienty v každém operátoru sestupně podle velikosti a poté prohledává 3D indexový prostor, aby našla členy s největšími koeficienty, počínaje počátkem a přidáváním trojic až do zadané meze. Čas strávený hledáním lze často učinit zanedbatelným zvětšením kroku hledání v prostoru , což pro tento podprogram přináší kubické zrychlení. Při našem profilování lze značný čas strávit řazením operátorů a prováděním Pauliho násobení pro generování členů nového operátoru.
Přispívání
Zdrojový kód je k dispozici na GitHubu.
Příručka pro vývojáře se nachází v souboru CONTRIBUTING.md v kořeni repozitáře tohoto projektu. Účastí se zavazuješ dodržovat kodex chování Qiskit.
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 citaci příslušných odkazů.
Licence
Zásady zastarávání
Řídíme se sémantickým verzováním. Občas můžeme provést zásadní změny, abychom zlepšili uživatelský zážitek. Kdykoli je to možné, ponecháme staré rozhraní a označíme je jako zastaralé, pokud může koexistovat s novými. Každé podstatné vylepšení, zásadní změna nebo zastarání bude zdokumentováno v poznámkách k vydání.
Odkazy
-
[Tomislav Begušić, Johnnie Gray, Garnet Kin-Lic Chan, Fast and converged classical simulations of evidence for the utility of quantum computing before fault tolerance, arXiv:2308.05077 [quant-ph].
-
Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].
-
Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].
-
Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].
-
Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].
-
Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].
-
Andrew Eddins, et al., Computing noise-canceling observables via Pauli propagation, arXiv:2606.20441 [quant-ph].
8 Bryce Fuller, et al., Improved Quantum Computation using Operator Backpropagation, arXiv:2502.01897 [quant-ph].