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?

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-slc docs]

  • 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-pna docs]

  • 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-obp docs]

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 NN Pauliho rotačních hradel MM-qubitového obvodu, počet členů poroste jako O(2N)\mathcal{O}(2^N) směrem k maximu 4M4^M 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 ∑i,j,kGi†OjGk\sum_{i,j,k}G^{\dagger}_iO_jG_k, kde i,j,ki,j,k 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 (0,0,0)(0,0,0) a přidáváním trojic (i,j,k)(i,j,k) 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 (i,j,k)(i,j,k), 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​

Apache License 2.0

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​

  1. [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].

  2. Nicolas Loizeau, et al., Quantum many-body simulations with PauliStrings.jl, arXiv:2410.09654 [quant-ph].

  3. Manuel S. Rudolph, et al., Pauli Propagation: A Computational Framework for Simulating Quantum Systems, arXiv:2505.21606 [quant-ph].

  4. Hrant Gharibyan, et al., A Practical Guide to using Pauli Path Simulators for Utility-Scale Quantum Experiments, arXiv:2507.10771 [quant-ph].

  5. Lukas Broers, et al., Scalable Simulation of Quantum Many-Body Dynamics with Or-Represented Quantum Algebra, arXiv:2506.13241 [quant-ph].

  6. Andrew Eddins, Minh C. Tran, Patrick Rall, Lightcone shading for classically accelerated quantum error mitigation, arXiv:2409.04401 [quant-ph].

  7. 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].