Simulace přírody
Podívej se na toto video od Olivie Lanesové o simulaci přírody pomocí kvantových počítačů, nebo otevři video v samostatném okně na YouTube.
Tato lekce využívá obsah z následujícího tutoriálu:
Tutoriál: zmírňování chyb v užitečném měřítku pomocí pravděpodobnostního zesilování chyb
Introduction
Jednou z nejpůsobivějších aplikací kvantových počítačů je jejich schopnost simulovat přírodní jevy. V této lekci prozkoumáme, jak se kvantové počítače používají k řešení problémů kvantové dynamiky — konkrétně jak nám pomáhají pochopit časový vývoj kvantového systému.
Nejprve se obecně podíváme na kroky, které jsou součástí provádění těchto simulací. Poté se zaměříme na konkrétní příklad: experiment, který IBM představilo v roce 2023 a který předvedl koncept kvantové užitečnosti. Tento experiment slouží jako výborná případová studie pro pochopení praktických kroků a důsledků simulace kvantové dynamiky na skutečném kvantovém hardwaru. Na konci budeš mít jasnější představu o tom, jak výzkumníci přistupují k těmto výzvám a proč je kvantová simulace tak slibná pro prohlubování našeho porozumění přírodnímu světu.
Richard Feynman pronesl na Caltechu v roce 1959 vysoce vlivnou přednášku. Proslavila se pod názvem „There's Plenty of Room at the Bottom" — hravou narážkou na obrovské, neprobádané možnosti na mikroskopické škále. Feynman argumentoval, že velká část fyziky na atomární a subatomární úrovni teprve čeká na své odhalení.
Význam přednášky vzrostl v 80. letech s postupem technologií. V tomto období se Feynman k těmto myšlenkám vrátil v další důležité přednášce na Caltechu, kde představil článek nazvaný „Simulating Nature with Computers". Tam položil odvážnou otázku: mohly by počítače provádět přesné simulace, které replikují chování přírody na kvantové úrovni? Feynman navrhl, že namísto spoléhání se na hrubé aproximace při modelování atomárních procesů bychom mohli použít počítače, které využívají samotné zákony kvantové mechaniky — nejen k modelování přírody, ale k jejímu napodobování.
Právě tento typ fyzikální simulace budeme v této lekci zkoumat.
Vzpomeň si na tuto časovou osu zavedenou v předchozí epizodě. Na jednom konci spektra vidíme problémy, které jsou jednoduché vyřešit a nevyžadují vyšší rychlost, kterou by mohlo přinést kvantové počítání.
Na opačném konci jsou extrémně náročné problémy, které vyžadují plně bezchybné kvantové počítače — technologii, která zatím není k dispozici. Naštěstí se předpokládá, že mnoho simulačních problémů spadá někde doprostřed této časové osy, do rozsahu, kde lze dnešní kvantové počítače již účinně využít. Existuje mnoho důvodů, proč se na tuto perspektivu těšit a být jí zaujat, neboť simulace přírody tvoří základ pro celou řadu slibných aplikací.
Následující informace popisují obecný postup při simulacích přírody a poté konkrétní příklad tohoto postupu určený k replikaci výsledků ze známé studie.
Obecný postup
Než může kdokoli aplikovat kvantové výpočty na tyto zajímavé oblasti, je důležité nejprve pochopit základní kroky typického simulačního postupu:
- Identifikace hamiltonovu systému
- Kódování hamiltoniánu
- Příprava stavu
- Časový vývoj stavu
- Optimalizace obvodu
- Spuštění obvodu
- Post-zpracování
Proces začíná identifikací kvantového systému, který nás zajímá. To pomáhá určit hamiltonián, který řídí jeho časový vývoj, a také smysluplný popis jeho počátečních vlastností – tedy jeho stavu. Dále je potřeba zvolit vhodnou metodu pro implementaci časového vývoje tohoto stavu. Poznamenej, že první čtyři kroky tohoto postupu jsou součástí kroku Mapování v rámci frameworku Qiskit patterns.
Po nastavení obvodu časového vývoje následují fáze, v nichž se provádí samotný experiment. To obvykle zahrnuje optimalizaci kvantového obvodu implementujícího algoritmus časového vývoje, spuštění obvodu na kvantovém hardwaru a post-zpracování výsledků. Tyto kroky odpovídají posledním třem krokům frameworku Qiskit patterns.
Dále si vysvětlíme, co tyto kroky znamenají, než přejdeme ke kódování.
1. Identifikace hamiltonovu systému
Prvním nezbytným krokem při provádění simulačního experimentu je identifikace hamiltoniánu, který popisuje daný systém. V mnoha případech je hamiltonián dobře znám. Často ho ale konstruujeme sečtením energetických příspěvků z menších částí systému. Typicky se to vyjadřuje jako součet členů:
kde každý člen působí na jeden z lokálních subsystémů (například na jednu částici nebo malou skupinu částic) celkového hamiltoniánu . V případě nerozlišitelných elementárních částic je důležité určit, zda systém obsahuje fermiony nebo bosony. Fermiony se řídí Pauliho vylučovacím principem, což znamená, že žádné dva identické fermiony nemohou obsadit stejný kvantový stav – jako například elektrony. Na rozdíl od fermionů mohou bosony existovat ve stejném kvantovém stavu ve více exemplářích, a tento rozdíl ovlivňuje statistiku systému i způsob jeho modelování.
V praxi se lidé často zajímají o fyzikální systémy, v nichž se předpokládá, že prvky jsou dobře oddělené nebo označené, a tedy rozlišitelné – například spiny na mřížce.
Tento systém se skládá z magnetických dipólových spinů uspořádaných na mřížce, které jsou považovány za rozlišitelné částice na základě jejich adresy. Systém je popsán transverzálním Isingovým modelem a jeho hamiltonián je konstruován jako součet dvou částí:
Kde první člen představuje interakční energii mezi sousedními spiny. Zde označuje, že sumujeme přes všechny páry spinů přímo spojených na mřížce, a jsou Pauliho-Z matice reprezentující stav spinů na místech a a je konstanta vazby určující sílu této interakce. Druhý člen představuje vliv vnějšího magnetického pole působícího na celý systém. Zde je Pauliho-X matice působící na jednotlivý spin na místě a udává sílu tohoto vnějšího pole.
2. Kódování hamiltoniánu
Dalším krokem je převedení hamiltoniánu do formy, kterou může zpracovat kvantový počítač – tomu říkáme kódování. Tento proces kódování závisí kriticky na typu částic v systémech: rozlišitelné nebo nerozlišitelné, a v případě nerozlišitelných částic pak fermiony nebo bosony.
Máš-li systém s rozlišitelnými částicemi, jako jsou spiny pevně umístěné na mřížce, na které jsme se výše stručně podívali, hamiltonián je již často zapsán v jazyce kompatibilním s qubity. Pauliho-Z operátor například přirozeně popisuje stav spinu nahoru nebo dolů, takže není potřeba žádné speciální kódování.
Při simulaci nerozlišitelných částic – fermionů nebo bosonů – je nutné použít transformaci kódování. Tyto částice jsou popsány pomocí speciálního matematického rámce nazývaného druhá kvantizace, který sleduje obsazovací číslo každého kvantového stavu zavedením operátorů kreace a anihilace, kde kreační operátor přidá jednu částici do stavu , zatímco anihilační operátor jednu částici ze stavu odebere. Na základě tohoto rámce druhé kvantizace lze fermiony transformovat pomocí Bravyi-Kitaevovy a Jordan-Wignerovy transformace. Jordan-Wignerova transformace definuje fermiónový kreační operátor
, který obsadí -tý kvantový stav fermionem, a fermiónový anihilační operátor , který fermion z -tého stavu odstraní. Více podrobností o Jordan-Wignerově transformaci najdeš v Kvantové výpočty v praxi, epizoda 5 – Mapování. Podobně i bosony vyžadují vlastní metody kódování, například Holstein-Primakoffovu transformaci, aby mohly být reprezentovány qubity.
V konečném důsledku, ať už je cesta přímá nebo vyžaduje převod, cíl je stejný: vyjádřit hamiltonián systému ve formě Pauliho spinových operátorů, kterým kvantový počítač rozumí a které dokáže spustit.
3. Příprava stavu
Po zakódování požadovaného hamiltoniánu do sady hradel kvantového počítače je dalším důležitým krokem výběr vhodného počátečního kvantového stavu, od kterého simulaci zahájíme. Volba počátečního stavu ovlivňuje nejen konvergenci variačních algoritmů, jako je Variational Quantum Eigensolver (VQE), ale také přesnost a efektivitu časového vývoje a vzorkování. Počáteční stav v podstatě slouží jako výchozí bod výpočtu a vytváří základ pro získávání užitečných pozorovatelných veličin z modelovaného kvantového systému. V ideálním případě by tento stav měl představovat fyzikálně smysluplnou konfiguraci studovaného systému.
Pro mnohé simulace v kvantové chemii může být dobrým výchozím bodem Hartreeho-Fockův stav. V jazyce druhé kvantizace je Hartreeho-Fockův stav () vytvořen aplikací kreačních operátorů () pro každý z orbitálů s nejnižší energií na vakuový stav (), tedy stav bez elektronů.
Navíc snadno připravitelný ansatz s výrazným překryvem se skutečným základním stavem může sloužit jako dobrý počáteční stav pro chemické problémy, například při hledání energie základního stavu.
Obecněji lze libovolný -qubitový stav zapsat jako superpozici stavů výpočetní báze s koeficienty , které splňují normalizační podmínky. Příprava takového stavu může být obecně ře šena aplikací konkrétního operátoru na počáteční stav, jímž je podle konvence obvykle stav samých nul standardní báze.
Tento proces však často vyžaduje exponenciální počet hradel CNOT, takže je obecně náročný na prostředky. Zaměřujeme se proto obvykle na přípravu počátečních stavů, jejichž implementace klade skromnější nároky na prostředky. Z tohoto důvodu se tedy zpravidla soustředíme na přípravu méně složitých počátečních stavů. Obvyklou a praktickou volbou je produktový stav, ve kterém qubity nejsou provázány, a lze ho připravit pomocí pouze jednoqubitových operací, což výrazně snižuje nároky na prostředky při přípravě stavu i celkovou složitost. 4. Časový vývoj stavu
Nyní, když je počáteční stav nastaven, můžeme konečně zahájit samotnou simulaci – zkoumat, jak se stav systému po určitém čase změnil na . V kvantové mechanice je tento vývoj popsán jedinou matematickou operací zvanou operátor časového vývoje:
kde jsme podle konvence nastavili . Aplikací tohoto operátoru na náš počáteční stav získáme finální stav:
Přímá implementace úplného operátoru do kvantového obvodu je však typicky nemožná, pokud je náš hamiltonián součtem různých částí. Proto potřebujeme trotterizaci.
Jednoduše řečeno, trotterizace je technika pro aproximaci exponenciace matice (zde hamiltoniánu ), zejména pokud exponent obsahuje nekomutující operátory (). Hamiltonián se často skládá z více operátorů, které nekomutují. V takovém případě nelze jejich exponenciály oddělit:
Užitečným přístupem je střídavé aplikování exponenciál časového vývoje po krátkých intervalech , celkem -krát. V případě těchto dvou nekomutujících příspěvků bychom zapsali
Chyba zavedená touto aproximací se nazývá Trotterova chyba. Tuto chybu lze snížit zvýšením , ale za cenu vyšší náročnosti. Existují také pokročilejší vzorce vyšších řádů (druhého řádu a další varianty). Například vzorec druhého řádu nabízí lepší přesnost díky aplikaci kroků v symetrickém vzoru.
Zde označuje počet nekomutujících členů v hamiltoniánu, které mají být tímto způsobem rozloženy, a je počet malých časových kroků, na něž je tento vývoj rozdělen. Všimni si obráceného pořadí operátorů ve druhém součinu při zpracování druhého řádu.
Další podrobnosti najdeš v části o trotterizaci v kurzu Algoritmy kvantové diagonalizace. 5. Optimalizace obvodu
Po vygenerování trotterizovaného obvodu je krok mapování dokončen a můžeme přistoupit k optimalizaci obvodu. Tento proces zahrnuje několik klíčových úkolů:
- Stanovení rozložení qubitů, které mapuje abstraktní qubity obvodu na fyzické qubity hardwaru. Tento krok je nezbytný, protože architektura hardwaru má často specifická omezení propojitelnosti, zatímco návrhy kvantových obvodů obvykle předpokládají, že libovolný qubit může interagovat s jakýmkoli jiným.
- Vkládání swap hradel podle potřeby, aby bylo umožněno vzájemné působení qubitů, které nejsou na zařízení přímo propojeny.
- Překlad hradel obvodu do instrukcí architektury instrukční sady (ISA), které může hardware přímo provádět.
- Provádění optimalizací obvodu za účelem snížení hloubky obvodu a počtu hradel. Tuto optimalizaci lze také aplikovat dříve, na virtuální obvod ještě před přiřazením qubitů ke konkrétním hardwarovým spojením.
Je důležit é poznamenat, že velká část tohoto optimalizačního procesu je automaticky řešena nástroji v Qiskitu. Přesný způsob fungování prozkoumáme později v této lekci.
6. Spuštění obvodu
Po dokončení kroku optimalizace jsme připraveni spustit obvod pomocí primitivu. Uvažujeme simulační experiment, jehož cílem je pochopit, jak se určité vlastnosti systému mění v čase. K tomuto účelu je nejpříhodnější volbou primitiv Estimator, protože umožňuje měřit střední hodnoty pozorovatelných veličin odpovídajících těmto vlastnostem.
Dále používáme možnosti zahrnující techniky potlačení a zmírnění chyb, abychom zlepšili přesnost Estimatoru. Nakonec spustíme experiment a shromáždíme výsledky.
7. Postprocessing
Posledním krokem je postprocessing nasbíraných dat. Ten zahrnuje extrakci naměřených středních hodnot, nebo – pokud byl použit primitiv Sampler – vzorkované rozdělení pravděpodobnosti ve výpočetní bázi. Pokud potřebujeme pouze střední hodnoty příslušných pozorovatelných veličin, lze je přímo získat z primitivu Estimator, a to jak jako surové výsledky, tak s aplikovaným zmírněním chyb. Tyto naměřené střední hodnoty často slouží jako výchozí bod pro další výpočty zahrnující jiné sledované veličiny. Takové dodatečné výpočty obvykle nevyžadují kvantové výpočty a lze je efektivně provádět na klasickém počítači.
Replikace článku „Utility"
Tato část je přehledovým průvodcem tutoriálem Utility-scale error mitigation with probabilistic error amplification, který replikuje výsledek článku Evidence for the Utility of Quantum Computing Before Fault Tolerance. Důrazně doporučujeme, abys měl/a otevřený odkazovaný tutoriál souběžně s touto lekcí.
Nyní se podíváme na konkrétní příklad z velmi vlivného článku, který IBM publikovalo v roce 2023 pod názvem Evidence for the Utility of Quantum Computing Before Fault Tolerance, často označovaného jako „Utility paper".
Po svém vydání se tato práce rychle stala průlomovou studií v komunitě kvantových výpočtů. Její hlavní teze je, že hlučný kvantový počítač využívající 127 qubitů a 2 880 hradel doká že produkovat přesné střední hodnoty pro kvantové obvody, které jsou mimo dosah metod klasické simulace hrubou silou, jež se pokoušejí o přesnou simulaci týchž obvodů.
Tato studie byla obzvláště významná, protože prokázala, že kvantové počítače lze využít k ověřování nebo porovnávání výsledků s přibližnými metodami klasické simulace, jako jsou algoritmy tenzorových sítí – zejména ve scénářích, kde přesné řešení předem není známé.
Dalším pozoruhodným aspektem této práce je, že byla hojně reprodukována: výzkumníci a uživatelé nyní mají možnost experiment replikovat a ověřit pomocí cloudově přístupných kvantových systémů IBM a softwarového frameworku Qiskit. V následující části tě provedeme kroky potřebnými k provedení této replikace krok za krokem prostřednictvím tutoriálu IBM.
V této lekci probíráme konkrétní kroky potřebné k přeložení problému do vstupů, které může kvantové zařízení zpracovat. Zaměřujeme se na simulaci dynamiky celkové magnetizace v systému magnetických dipólových spinů uspořádaných na mřížce, vystavených vnějšímu magnetickému poli. Tento systém lze popsat Isingovým modelem s transverzálním magnetickým polem. Reprezentujeme jej pomocí parametrizovaného kvantového obvodu, kde parametry odpovídají nastavitelným hodnotám interakcí spin-spin () a síle vnějšího, transverzálního magnetického pole (, parametrizovaného pomocí ).
Protože se tato série jmenuje Quantum Computing in Practice, zaměříme se na další podrobnosti experimentálních technik používaných ke zlepšení kvality výsledků. Jeden důležitý postup zahrnuje identifikaci a odstranění „špatných" qubitů – těch s nízkou věrností hradel nebo krátkými dobami dekoherence – které by mohly významně ovlivnit výsledek experimentu. Takové problematické qubity mohou vznikat v důsledku špatné kalibrace nebo interakcí se dvouúrovňovými systémy (TLS). Jejich odstraněním se mění nativní topologie hardwaru, čímž se efektivně mění mřížka, na které je systém simulován.
Dále si povíme, jak sestavit parametrizovaný kvantový obvod implementující časový vývoj systému pomocí Trotterizace. Klíčovou součástí tohoto procesu je identifikace provázaných vrstev v obvodu, které hrají rozhodující roli v hlavní technice zmírnění chyb.
Qiskit patterns krok 1: Map
Tutoriál provádí krok mapování podobně jako obecný přístup popsaný výše. Konkrétně pro tento problém tutoriál:
- Vytváří parametrizovaný obvod Isingova modelu
- Vytváří provázané vrstvy a odstraňuje špatné qubity
- Generuje Trotterizovanou verzi obvodu
V tutoriálu začínáme brzy v notebooku vytvořením série pomocných funkcí. Tyto funkce jsou navrženy tak, aby zjednodušily postup při dalším pokračování. Nejsou povinnou součástí procesu, ale jde o dobrou běžnou praxi při práci na podobných experimentech: rozložení problému na zvládnutelné komponenty. Funkce zahrnují
- Odstranění spojení qubitů
- Definování spojení qubitů
- Sestavení spojení vrstev
- Sestavení provázané vrstvy
- Definování Trotterizovaného obvodu
Pojďme se nyní trochu více ponořit do témat souvisejících s těmito funkcemi. Spojení vrstev
Spojení vrstev definují, jak qubity interagují se svými sousedy během simulace. Naše kvantová zařízení využívají těžce-hexagonální rozložení, charakteristický vzor pro propojení qubitů. V rámci tohoto rozložení lze spojení mezi qubity – označovaná jako „hrany" – rozdělit do tří různých sad. Důležité je, že žádná dvě spojení ve stejné sadě nesdílejí qubit. Tato organizace řeší klíčové hardwarové omezení: na skutečném kvantovém počítači se qubit může podílet pouze na jednom dvouqubitovém hradlu v daném čase.
Strukturováním všech spojení do tří oddělených vrstev lze dvouqubitová hradla aplikovat na celé zařízení ve třech po sobě jdoucích kolech. Tím je zajištěno, že žádný qubit není zapojen do více než jednoho hradla na vrstvu. Tato hradla implementují interakci ZZ v Isingově modelu a opakují se v každém časovém kroku simulace (každý Trotterův krok).
Dále se využívá technika zvaná twirling, která upravuje charakteristiky šumu v zařízení. Twirling transformuje šum tak, že i jednoduché šumové modely se stávají přesnějšími reprezentacemi fyzikálních chyb. Toto zpřesnění umožňuje přesnější charakterizaci šumu, které lze následně využít ke zlepšení strategií zmírnění chyb. Odstraňování „špatných" qubitů
Dalším krokem je odstranění „špatných" qubitů ze seznamu fyzických qubitů dostupných pro experiment. Qubit se může stát „špatným" z různých důvodů. Někdy jde jednoduše o špatnou kalibraci, kterou lze napravit rekalibrací. V jiných případech je problém složitější a souvisí s takzvaným defektem dvouúrovňového systému (TLS). Tyto TLS defekty způsobují fluktuace parametrů qubitů a relaxaci. Jejich řešení často vyžaduje zahřátí celého systému a jeho opětovné ochlazení – proces, který může trvat dlouhou dobu a není proveditelný při vzdáleném přístupu ke kvantovému hardwaru přes cloud.
Nejjednodušším přístupem je prozatím vyloučit tyto problematické qubity z fondu fyzických qubitů, které budou v experimentu použity. IBM Quantum Platform® usnadňuje identifikaci podvýkonných qubitů na QPU. Můžeš buď otevřít QPU a vizualizovat jejich vlastnosti přímo na platformě, nebo si data z platformy stáhnout jako soubor CSV. Poté vytvoř seznam qubitů k vyloučení a odstraň je z celkové sady fyzických qubitů na zařízení.
Odstraněním nespolehlivých qubitů zajistíš, že chování systému bude předvídatelnější, což zlepší přesnost experimentu. Umožní to také lepší modelování šumu, které je nezbytné pro implementaci účinných strategií zmírnění chyb. Trotterizovaný obvod
Nyní je čas sestavit náš Trotterizovaný obvod. Jak bylo probíráno dříve, Trotterizace rozděluje časový vývoj na diskrétní kroky, takže je třeba zvolit, kolik kroků použít. Pro tento příklad zvolíme šest kroků. Obecně jde o vyvažování Trotterovy chyby – aproximační chyby zavedené algoritmem – s chybami způsobenými dekoherencí. Zvyšování počtu Trotterových kroků snižuje aproximační chybu, ale vyžaduje hlubší kvantov é obvody, které jsou náchylnější k šumu způsobenému dekoherencí.
Obvod bude definován pomocí několika parametrů: parametr theta představující sílu vnějšího magnetického pole, spojení mezi vrstvami, počet kroků, počet qubitů a samozřejmě volba backendového zařízení. Protože magnetizace systému závisí na síle vnějšího magnetického pole, je přínosné spustit simulaci při různých hodnotách magnetického pole. Tato variace odpovídá různým úhlům rotace pro hradlo RX v obvodu.
from qiskit.circuit import Parameter
num_steps = 6 #Trotter steps
theta = Parameter("theta")
circuit = trotter_circuit(
theta, layer_couplings, num_steps, qubits = good_qubits, backend = backend
)
num_params = 12
# 12 parameter values for Rx between [0,p/2].
#Reshape to outer product broadcast with observables
parameter_values = np.linespace(0,np.pi/2,num_params).reshape((num_params,1))
num_params = parameter_values.size
Qiskit patterns krok 2: Optimize
Nyní, když jsme vygenerovali náš obvod, dalším krokem je jeho optimalizace. První část tohoto procesu zahrnuje definování správce průchodů. V kontextu Qiskit SDK je transpilace proces transformace vstupního obvodu do podoby vhodné pro spuštění na kvantovém zařízení. Tato transformace probíhá prostřednictvím posloupnosti kroků označovaných jako průchody transpilátoru.
Správce průchodů je objekt, který obsahuje seznam těchto průchodů transpilátoru a může je aplikovat na obvod. Chceš-li jej vytvořit, inicializuješ PassManager s požadovaným seznamem průchodů transpilátoru. Správce průchodů nakonec vytvoří ISA obvod — obvod vyjádřený v termínech architektury instrukční sady (ISA) backendu. To znamená, že obvod je reprezentován pomocí hradel, která jsou nativní pro hardware backendu, i když zatím neobsahuje časovací informace potřebné ke spuštění obvodu na zařízení.
Qiskit patterns krok 3: Spuštění pomocí primitiv
Nyní je čas spustit náš obvod. Jako primární nástroj pro tento experiment použijeme Estimator, protože naším cílem je měřit celkovou magnetizaci systému. Estimator je speciálně navržen pro odhadování očekávaných hodnot pozorovatelných veličin, takže je zde ideální volbou. V této fázi je také nezbytné nakonfigurovat nastavení pro mitigaci chyb. Použijeme extrapolaci nulového šumu (ZNE) ke zlepšení přesnosti výsledků. V tutoriálu uvidíš, že zadáváme dvě nebo více hodnot šumového faktoru, při nichž se vyhodnocují extrapolované modely, a jako metodu amplifikace volíme „Probabilistic Error Amplification" (PEA). PEA je pro tento experiment upřednostňována, protože se výrazně lépe škáluje než jiné možnosti, což je zásadní při práci se systémy o 100 a více qubitech.
Toto vše je potřeba ke spuštění experimentu.
Mezihry o mitigaci chyb
Než přejdeme k post-processinghu, věnujme chvíli vyjasnění toho, co se rozumí extrapolací nulového šumu (ZNE). Tohoto konceptu jsme se dotkli v dřívějších epizodách, ale stojí za to si ho stručně připomenout. ZNE je technika mitigace chyb navržená ke snížení dopadu neznámého šumu, který vzniká při provádění kvantových obvodů, za předpokladu, že tento šum lze kontrolovaně škálovat. Metoda vychází z předpokladu, že očekávané hodnoty se se šumem mění podle známé funkce:
kde představuje intenzitu šumu, kterou lze záměrně zesilovat.
Proces implementace ZNE sestává z následujících kroků:
- Zesil šum obvodu pro různé šumové faktory , , … .
- Proveď každý obvod se zesíleným šumem a změř odpovídající očekávané hodnoty , , ….
- Extrapoluj tyto výsledky zpět na limit nulového šumu \langle .
Tato technika nám umožňuje odhadnout, jaký by byl výsledek v případě absence šumu, čímž zlepšuje přesnost kvantových výpočtů.
Hlavní výzvou při efektivní implementaci ZNE je vyvinout přesný šumový model pro očekávanou hodnotu a zesilovat šum kontrolovaným a dobře pochopitelným způsobem. Mezi běžné techniky zesilování chyb v ZNE patří škálování délky pulzů prostřednictvím kalibrace, opakování hradel pomocí identitních cyklů a přidávání šumu vzorkováním Pauliho kanálů — metoda známá jako Probabilistic Error Amplification (PEA).
Mezi těmito metodami je PEA často upřednostňovanou volbou z několika důvodů:
- Protahování pulzů je výpočetně nákladné.
- Skládání hradel, které využívá vkládání identit, postrádá silné teoretické záruky zachování šumového vychýlení.
- PEA je použitelná pro jakýkoli obvod spuštěný s nativním šumovým faktorem, přestože vyžaduje předchozí naučení šumového modelu.
PEA funguje na základě předpokladu vrstvového šumového modelu podobného tomu, který se používá při probabilistickém rušení chyb (PEC). Na rozdíl od PEC však předchází exponenciální vzorkování, jejichž nároky typicky rostou s šumem obvodu. Tato efektivita činí z PEA praktický a robustní přístup k zesilování šumu v ZNE, který usnadňuje spolehlivější mitigaci kvantových chyb. Abychom mohli charakterizovat šumový model, musíme nejprve identifikovat odlišné vrstvy dvouqubitových operací v obvodu. Pro každou z těchto vrstev aplikujeme na dvouqubitová hradla proceduru Pauliho twirlingu, která pomáhá zajistit, aby šum bylo možné přesně popsat útlumovým šumovým modelem. Dále opakujeme páry identitních vrstev v různých hloubkách a nakonec přizpůsobujeme hodnoty věrnosti pro určení chybových sazeb každého šumového kanálu.
Přestože je přínosné rozumět této metodě konceptuálně, její ruční implementace v Qiskitu je mnohem jednodušší, jak ukazuje přiložený tutoriál.
Qiskit patterns krok 4: Post-process
Po dokončení experimentu si můžeš prohlédnout výsledek jeho post-processingem. Tečkovaná šedá čára v zobrazených datech představuje výsledky získané pomocí přibližných klasických metod, přičemž chyba aproximace byla snížena na nízký práh. Nezpracované datové body pro různé faktory šumu, zvolené na začátku, jsou od této tečkované čáry viditelně posunuty. Naproti tomu plná modrá čára zobrazuje data po aplikaci našeho ZNE zpracování, které výsledky znatelně přiblíží přesným hodnotám. Souhrnně řečeno, hodnoty získané za normálních podmínek šumu (faktor šumu nf=1.0) vykazují výraznou odchylku od přesných výsledků. Mezitím se hodnoty po mitigaci úzce shodují s přesnými hodnotami, což dokládá účinnost techniky mitigace šumu na základě PEA.
Shrnutí
Krátké shrnutí toho, co jsme se naučili:
- Kvantová simulace je jednou z nejslibnějších oblastí aplikací v krátkodobém až střednědobém horizontu.
- Má široké uplatnění – od farmaceutického průmyslu přes fyziku vysokých energií až po materiálové vědy a další obory.
- Práce o utility od IBM, publikovaná v roce 2023, ukázala cestu k využití kvantových počítačů pro vědecké objevy a my jsme prošli přidruženým tutoriálem, který k této práci patří.
- Kroky pro řešení simulačního problému od začátku do konce jsou poměrně přímočaré a doufáme, že toto video a tutoriál teď můžeš využít jako průvodce pro další simulační problémy.
Dotazník po kurzu
Gratulujeme k dokončení tohoto kurzu! Věnuj prosím chvíli tomu, abys nám pomohl/a vylepšit náš kurz – vyplň následující krátký dotazník. Tvá zpětná vazba bude využita ke zlepšení obsahu a uživatelského zážitku. Děkujeme!
Note: This survey is provided by IBM Quantum and relates to the original English content. To give feedback on doQumentation's website, translations, or code execution, please open a GitHub issue.