Přeskočit na hlavní obsah

Spouštění kvantových obvodů

Podívej se na video o kvantových obvodech a primitivech od Olivie Lanes, nebo ho otevři v samostatném okně na YouTube.

Přehled lekce

Tato lekce nabídne přehled základů spouštění kvantových výpočtů v užitečném měřítku – od kvantového hardwaru až po principy, které je třeba zvážit při navrhování kvantového obvodu (Circuit). V ideálním případě budeš po skončení lekce vědět:

  1. Co jsou vlastně kvantové počítače IBM®. Abys mohl/a optimálně navrhovat své kvantové obvody (Circuits), musíš znát základy hardwarových vlastností těchto strojů.

  2. Co je Qiskit, co jsou primitiva a jak je můžeme využít k vytváření a spouštění kvantových obvodů (Circuits).

  3. Typický pracovní postup, který dodržujeme při spouštění experimentů ve velkém měřítku. To zahrnuje výběr nejvhodnějších primitiv pro tvůj případ použití, mapování problému na kvantový obvod (Circuit) a aplikaci zmírňování a potlačování chyb, díky nimž dokážeme ze strojů vytěžit co nejvíce.

Hardware – kvantové procesory IBM

Abychom pochopili, jak při navrhování rozsáhlých kvantových obvodů (Circuits) dělat optimální rozhodnutí, potřebujeme trochu vědět o samotném hardwaru, který tyto obvody poběží. Pojďme si proto stručně říct něco o fyzických qubitech a kvantových procesorech IBM.

Kvantové procesory IBM jsou postaveny na supravodivých transmon qubitech, což jsou elektrické obvody složené z Josephsonova přechodu a kondenzátoru zapojeného paralelně. Josephsonův přechod je nelineární induktor vzniklý ze dvou překrývajících se vrstev supravodivého kovu s izolační bariérou mezi nimi. Při velmi nízkých teplotách se elektrony v supravodičích spojují do párů známých jako Cooperovy páry. Cooperovy páry mohou spontánně tunelovat přes izolační bariéru z jedné strany přechodu na druhou. Toto tunelové chování dává vznik nelineárním vlastnostem, které tvoří základ našeho qubitu.

Na čipu jsou vyrobeny mikrovlnné přenosové linky, které přivádějí mikrovlnné signály ke qubitům. Když na tyto linky přivedeme přesně kalibrované mikrovlnné pulzy – se specifickou frekvencí, amplitudou, tvarem a délkou trvání – můžeme přimět qubity k provádění konkrétních operací. Na tom jsou postaveny naše kvantové brány (Gates). Čip je navržen tak, aby sousední qubity byly propojeny ve specifické mřížkové struktuře nazvané heavy-hex mřížka. Tato propojenost – takzvaná topologie – procesorů je důležitým faktorem při navrhování obvodů, jak si povíme dále v lekci.

Instrukce pro mikrovlnné pulzy putují z tvého počítače přes cloud do řídící elektroniky při pokojové teplotě, která tyto instrukce interpretuje a fyzicky generuje pulzy. Po vytvoření pulzů v řídících zařízeních při pokojové teplotě cestují kabely do dilučního chladiče a nakonec ke kvantovému čipu. Signál vstupuje do rezonátorů, prochází přes drátový spoj a teče po přenosové lince do qubitů.

IBM má desítky kvantových počítačů po celém světě a nedávno jsme upgradovali náš výpočetní park tak, aby obsahoval výhradně procesory s více než 100 qubity. Některé z nich se nacházejí v datovém centru IBM Quantum ve státě New York a jsou nasazeny přes cloud pro použití všemi – a některé jsou vyhrazené instalace na místě, které podporují partnery v síti IBM Quantum® Network. Na quantum.cloud.ibm.com se můžeš přihlásit a zjistit, ke kterým procesorům máš přístup.

Každý procesor uvádí tři výkonnostní metriky, o nichž jsme hovořili v předchozí lekci. Pro připomenutí jsou to: počet qubitů, EPLG a CLOPS.

  • Počet qubitů. Toto je samo o sobě srozumitelné: jde o celkový počet qubitů dostupných na jednom kvantovém procesoru. Pro relativně velký problém v užitečném měřítku se musíš ujistit, že používáš procesor s dostatečným počtem qubitů. Samotný počet qubitů ale není jediné, na čem záleží.

  • EPLG, neboli „errors per layered gate" (chyby na vrstvovanou bránu). Jde o míru kvality qubitů a kvantových bran (Gates). Měří průměrnou chybu, kterou každá brána vnáší do obvodu, jenž propléká sousední qubity v řetězu 100 qubitů. Čím menší číslo, tím lépe.

  • CLOPS, neboli „circuit layer operations per second" (operace na vrstvu obvodu za sekundu). Tato hodnota vyjadřuje rychlost procesoru. Měří, kolik vrstev určitého benchmarkingového obvodu zvaného quantum volume circuit dokáže kvantová procesová jednotka (QPU) provést za jednotku času. Čím vyšší číslo, tím rychleji počítáme.

Důležitost každé z těchto metrik se liší v závislosti na konkrétní aplikaci. V budoucích lekcích si na reálných příkladech ukážeme, jak každý z těchto faktorů může ovlivnit výsledek výpočtu.

Software: Qiskit a Qiskit Runtime

Pro překlad kvantového problému do instrukcí pro kvantový počítač budeš používat Qiskit – open-source sadu nástrojů pro vývoj softwaru určenou pro práci na kvantových počítačích, kterou vyvinulo IBM. Existuje také ekosystém Qiskit Ecosystem – sbírka softwarových tutoriálů a funkcí, které stavějí na základních funkcionalitách Qiskitu nebo je rozšiřují – a Qiskit Runtime – kvantová výpočetní služba a programovací model, který uživatelům umožňuje navrhovat a optimalizovat kvantové pracovní zátěže a efektivně je spouštět pomocí primitiv Qiskit Runtime.

Primitivum je malý stavební blok, který lze použít k návrhu většího obvodu (Circuit) nebo úlohy. Dvě primitiva, která jsou pro nás nejdůležitější, jsou Sampler a Estimator – o nich si povíme více za chvíli.

S nedávným vydáním Qiskit v1.0 se Qiskit stal výkonnějším a stabilnějším než kdykoli předtím. Takže pokud teprve začínáš, přicházíš ve správnou chvíli! Pro ty z vás, kteří Qiskit již znají, bude potřeba stáhnout a přeinstalovat nejnovější verzi. Kompletní průvodce instalací najdeš v příručce Instalace Qiskitu.

Kvantové obvody (Circuits)

Teď jsme připraveni probrat základy kvantových programů: kvantové obvody (Circuits). Tato část bude sloužit pouze jako rychlé shrnutí – pokud kvantové obvody neznáš, doporučujeme se s nimi nejprve podrobněji seznámit v lekci Kvantové obvody v kurzu „Základy kvantové informace", než budeš pokračovat dále.

Kvantový obvod (Circuit) je síť kvantových bran (Gates) a měření propojených dráty, které reprezentují qubity, jak je znázorněno níže. Kvantové obvody (Circuits) lze číst jako noty, zleva doprava, počínaje časem 0 na levé straně. Virtuální qubity – ty, které ještě nebyly přiřazeny k fyzickému qubitu na procesoru – jsou seřazeny vzestupně shora dolů.

Brány (Gates) jsou na drátech příslušných qubitů znázorněny různými symboly. Jednoqubitové brány (Gates) – jako Hadamardova brána zobrazená níže (políčko s H) – ovlivňují pouze qubit, na jehož drátu jsou umístěny. Vícekvantové brány (Gates) – jako brána CNOT, také zobrazená níže (znaménko plus v kroužku s čárou připojenou k q0) – ovlivňují dva nebo více qubitů. U zobrazené brány CNOT se stav q1 mění podle stavu q0. Po provedení všech bran (Gates) můžeme qubity změřit, což je znázorněno černými branami se symbolem měření. Výsledky měření se zapisují do klasických registrů – oboustranně ohraničená sběrnice „meas" níže.

Příklad jednoduchého kvantového obvodu

Jednou důležitou charakteristikou obvodu (Circuit) je jeho hloubka. Hloubka kvantového obvodu je minimální počet „vrstev" kvantových bran (Gates), prováděných paralelně, potřebných k dokončení obvodu. Kvantové brány (Gates) mohou být prováděny paralelně (současně), pokud nemají žádné qubity společné. Pokud ale dvě nebo více bran (Gates) působí na stejný qubit, nelze je provádět paralelně – musí být provedeny ve dvou samostatných vrstvách, jedna za druhou.

Existuje ještě jeden, méně zřejmý způsob, jak určit hloubku obvodu, a to formou jakési hry. Pravidla jsou jednoduchá: začni od libovolného drátu qubitu na levé straně, pohybuj se doprava a počítej brány (Gates), na které narážíš. Na sousední drát se můžeš přesunout pouze tehdy, je-li propojen s tvým současným drátem vícekvantovou branou (Gate). Cílem je maximalizovat počet bran (Gates), na které narazíš. Tento maximální počet se rovná hloubce obvodu.

Příklad devítivrstveného obvodu

Protože implementace kvantových bran (Gates) vyžaduje čas, hloubka obvodu (Circuit) přibližně odpovídá době, kterou kvantový počítač potřebuje k provedení obvodu. Některé stroje jsou pro obvody s velkou hloubkou vhodnější než jiné, a to kvůli dekoherenčním časům qubitů na procesoru. Proto je třeba znát hloubku obvodu (Circuit), abychom věděli, zda ho lze spustit na konkrétním zařízení.

Navrhování kvantového Circuit: Qiskit patterns

Jak tedy postupovat při navrhování a spouštění kvantového Circuit? Nejjednodušší způsob, jak pochopit typický pracovní postup v kvantových výpočtech, jsou Qiskit patterns. Qiskit patterns jsou konceptuální rámec, který uživatelům umožňuje spouštět kvantové úlohy pomocí určitých kroků s modulárními nástroji. Kvantové výpočetní úlohy tak může provádět výkonná heterogenní (CPU/GPU/QPU) výpočetní infrastruktura. Jednotlivé kroky lze provádět jako službu a mohou zahrnovat správu prostředků, což umožňuje plynulou skládatelnost nových funkcí v průběhu jejich vývoje.

Zde jsou hlavní kroky, které zkušení uživatelé Qiskit pravděpodobně dobře znají.

  1. Mapování (Map). Tento krok formalizuje, jak vzít obecný problém, o jehož řešení máš zájem, a přijít na to, jak ho namapovat na kvantový počítač v podobě kvantového Circuit.

  2. Optimalizace (Optimize). V tomto kroku využíváme Qiskit Transpiler k tomu, abychom Circuit rozmístili a nasměrovali na skutečný fyzický hardware s Qubit. To zahrnuje převod jednotlivých kvantových Gate na sekvence operací prováděných na hardwaru i optimalizaci rozložení Gate.

  3. Spuštění (Execute). Qiskit Runtime primitives poskytují rozhraní k hardwaru IBM Quantum, které umožňuje spouštět transpilované Circuit. Tento krok zahrnuje také použití technik pro potlačení a zmírnění chyb, které lze do velké míry abstrahovat od uživatele.

  4. Postprocessing (Post-process). V tomto kroku se zpracovávají data přímo z kvantového procesoru a uživateli se předávají užitečné výsledky vztahující se k původnímu problému. V podstatě se sem řadí veškerá další analýza získaných dat.

Map

Krok Map se v zásadě ptá: „Jak přeložím svůj problém do kvantového Circuit, který lze rozumně spustit na kvantovém hardwaru?" Není pochyb o tom, že mapování je náročný problém a aktivní oblast výzkumu. Neexistuje žádná spolehlivá metoda zaručující úspěch, ale existují doporučená vodítka a příklady problémů, které už mapovat umíme.

První vodítko říká: nech klasické počítače dělat to, v čem jsou lepší. Úlohy, které jsou pro klasické počítače snadné, pravděpodobně z kvantového počítače nijak neprofitují. Kvantové počítače jsou určeny pro problémy, které jsou klasicky obtížné. Pokud ovšem Qiskit nebo kvantový počítač používáš úplně poprvé, nemusíš se zatím trápit hledáním výpočetně složitého problému. Rozlož ho na menší, zvládnutelné části, na nichž se naučíš postupovat předtím, než se pustíš rovnou do projektu na úrovni utility.

Dále přeložte výsledky svého problému, které chceš měřit nebo pochopit, do podoby střední hodnoty nebo účelové funkce. Účelová funkce je problémově specifická funkce, která definuje cíl problému jako něco, co se má minimalizovat nebo maximalizovat. Lze ji použít k tomu, abys viděl/a, jak dobře si vede zkušební stav nebo řešení s ohledem na tento cíl. Tento princip lze uplatnit v různých aplikacích v oblasti chemie, strojového učení, financí, optimalizace a dalších — nezáleží na tom, z jakého oboru k problému přistupuješ.

Měj také na paměti, že hardware, který budeš používat, má specifickou topologii, jak jsme probírali v části o hardwaru. Některé Qubit jsou propojené a některé nejsou — budeš muset namapovat svůj problém do Circuit, který respektuje topologii heavy-hex procesorů IBM Quantum.

Prozatím je nejdůležitější mít na paměti, že tato fáze vyžaduje praxi. Je třeba dobře rozumět nejen svému problému, ale také možnostem hardwaru — a v budoucích lekcích si ukážeme konkrétní příklady a případy použití, abychom viděli, jak všechny tyto aspekty vyvážit.

Optimize

Dále budeme muset zvolit kvantový procesor s dostatečným počtem Qubit dostatečně vysoké kvality, abychom mohli spustit náš kvantový Circuit. Při těchto rozhodnutích se řiď třemi metrikami, které jsme probrali v části o hardwaru: počtem Qubit, EPLG a CLOPS.

Poté optimalizujeme náš Circuit pro vybraný hardware. Nejprve potřebujeme efektivně provést layout a routing Circuit. Layout označuje mapování virtuálních Qubit v Circuit na fyzické Qubit na procesoru. Routing označuje úpravu Circuit tak, aby propojení mezi virtuálními Qubit v Circuit odpovídalo propojení fyzických Qubit na procesoru. Při fázi layoutu a routingu je třeba mít na paměti několik věcí.

  1. Ne všechny Qubit jsou propojeny. Některé jsou na čipu velmi daleko od sebe a je třeba pokud možno omezit nebo eliminovat interakce na velké vzdálenosti. Mohl/a bys aplikovat sekvenci SWAP Gate mezi sousedními Qubit, abys informaci Qubit přemístil/a, ale SWAP Gate jsou nákladné a náchylné k chybám, takže existují i lepší způsoby, jak to udělat. Snaž se vyhnout příliš mnoha nákladným SWAP Gate.

  2. Layout a routing jsou iterativní procesy. Lze je provést ručně, ale existuje také nástroj Qiskit nazvaný mapomatic, který dokáže doporučit rozložení fyzických Qubit na základě přibližných chybovostí. Transpiler (o němž brzy pohovoříme) také umí poskytnout informovaný návrh.

Dále můžeme skládat sekvence jednoqubitových Gate působících na stejný Qubit do jediné Gate — a někdy se také můžeme zbavit nepotřebných Gate nebo jejich kombinací. Například některé kombinace Gate lze zredukovat na jednodušší kombinace — a někdy může být kombinace Gate dokonce ekvivalentní operaci identity, takže ji lze jednoduše odstranit. To lze provést automaticky pomocí Qiskit Transpiler — ale pokud chceš mít větší kontrolu, lze to udělat i ručně Gate po Gate.

Jakmile jsme vylepšili layout Circuit, routing a počty Gate — ať ručně, nebo pomocí Transpiler — zpravidla chceme Circuit vizualizovat, abychom se ujistili, že časování všech Gate dává smysl. V Transpiler existuje argument, který lze nastavit, aby se zobrazila časová osa Circuit a bylo ověřeno, že vše je seřazeno tak, jak bychom očekávali.

Qiskit Transpiler

Jak bylo zmíněno dříve, Qiskit Transpiler lze použít jako pomoc v raných fázích pracovního postupu patterns. Podívejme se nyní na jeho možnosti podrobněji. Dokáže přepsat zadaný vstupní Circuit tak, aby odpovídal topologii konkrétního kvantového zařízení, a optimalizovat Circuit pro spuštění a odolnost vůči šumu. Také přepisuje zadaný Circuit do základních Gate konkrétního kvantového procesoru, který jsi zvolil/a k použití.

Qiskit má čtyři vestavěné transpilační pipeliny odpovídající různým úrovním optimalizace, a pokud ještě nejsi obeznámen/a s optimalizací kvantových Circuit, doporučujeme použít jednu z nich. Ve výchozím nastavení zahrnuje proces transpilace těchto šest kroků:

  1. Inicializace. Tato fáze spouští veškeré počáteční průchody, které jsou nutné před tím, než začneme Circuit vkládat do Backend. Obvykle jde o rozbalení vlastních instrukcí a převod Circuit na pouhé jedno- a dvouqubitové Gate.

  2. Layout. Tato fáze mapuje virtuální Qubit v Circuit na fyzické Qubit na Backend. Více podrobností viz Layout Stage.

  3. Routing. Tato fáze se spouští po aplikaci layoutu a vkládá do původního Circuit Gate (například SWAP Gate), aby byl kompatibilní s propojením Backend. Více podrobností viz Routing Stage.

  4. Překlad. Tato fáze překládá Gate v Circuit do sady základních Gate cílového Backend. Více podrobností viz Translation Stage.

  5. Optimalizace. Tato fáze opakovaně spouští hlavní optimalizační smyčku, dokud není splněna podmínka (například dosažení určité cílové hloubky). Máme k dispozici čtyři různé úrovně optimalizace, popsané níže.

  6. Plánování (Scheduling). Tato fáze je určena pro průchody plánování s ohledem na hardware. Na vysoké úrovni si lze plánování představit jako vkládání prodlev do Circuit, aby se zohlednil čas nečinnosti Qubit mezi prováděním instrukcí.

K dispozici jsou čtyři úrovně optimalizace v rozsahu od 0 do 3, přičemž vyšší úrovně optimalizace vyžadují více času a výpočetního úsilí, ale mohou přinést lepší Circuit. Optimalizační úroveň 0 je určena pro experimenty s charakterizací zařízení, a jako taková pouze mapuje vstupní Circuit na omezení cílového Backend bez jakýchkoli optimalizací. Optimalizační úroveň 3 vynakládá nejvíce úsilí na optimalizaci Circuit. Nicméně, protože mnohé z optimalizačních technik v Transpiler jsou založeny na heuristice, větší výpočetní úsilí ne vždy vede ke zlepšení kvality výstupního Circuit. Pokud tě toto téma zajímá více, viz dokumentace Transpiler v dokumentaci Qiskit.

Potlačení chyb (Error suppression)

Prvním krokem ke snížení chyb v Circuit je optimalizace layoutu, routingu a minimalizace počtu Gate, což jsme již provedli, ať pomocí Transpiler, nebo vlastními silami. Pohovořme nyní o sofistikovanějších metodách potlačení chyb.

Potlačení chyb označuje třídu technik, které transformují Circuit během kompilace za účelem minimalizace chyb. Liší se od zmírňování chyb, o němž budeme hovořit později v části „Execute" níže. Dvě nejběžnější formy potlačení chyb, které používáme, jsou dynamické oddělování (dynamical decoupling) a Pauliho twirling:

  1. Dynamické oddělování se používá k efektivnímu vyrušení části environmentálního šumu, který vzniká, když Qubit nečinně čeká. Aplikací série Gate v konkrétních časech lze dosáhnout toho, že šum nahromaděný v jedné části doby nečinnosti přibližně vyruší šum v druhé části.
  2. Pauliho twirling je způsob vkládání náhodných Gate nikoli za účelem zrušení šumu, jako u dynamického oddělování, ale za účelem jeho zjednodušení. Vkládáním náhodných Gate se brání rychlému hromadění efektů různých chyb a šum se stává snadněji charakterizovatelným, protože nyní má stochastickou povahu. Tato metoda také tvoří základ výkonné techniky zmírňování chyb, o níž budeme hovořit níže.

Spuštění

Teď jsme připraveni spustit kvantový program. Primitiva Qiskit Runtime poskytují rozhraní ke kvantovému hardwaru IBM Quantum a zároveň uživateli abstrahují potlačení a zmírňování chyb. Máš na výběr ze dvou primitiv: Sampler a Estimator.

Sampler Qiskit Runtime spouští Circuit opakovaně na kvantovém zařízení, provádí měření při každém běhu a rekonstruuje rozdělení pravděpodobnosti z načtených bitových řetězců. Čím více běhů (shots) provede, tím přesnější budou výsledky — to ale vyžaduje více času a kvantových prostředků. Konkrétně počítá pravděpodobnost získání každého možného stavu standardní báze měřením stavu připraveného Circuit.

Estimator Qiskit Runtime pomocí složitého algebraického procesu odhaduje střední hodnotu na reálném kvantovém zařízení tak, že rozkládá pozorovatelnou veličinu na kombinaci jiných pozorovatelných veličin se známými vlastními bázemi.

Krok Spuštění je také okamžik, kdy si můžeš vybrat strategii zmírňování chyb. Zmírňování chyb označuje techniky, které uživatelům umožňují snižovat chyby v Circuit tím, že modelují šum zařízení přítomný v době spuštění. Typicky to přináší předběžnou kvantovou režii spojenou s trénováním modelu a klasickou post-procesní režii pro zmírnění chyb v surových výsledcích pomocí vygenerovaného modelu. Za tuto režii získáme podstatně přesnější výsledky.

Ke zmírňování chyb lze použít více technik. Probereme tři z nich, v rostoucím pořadí podle odolnosti vůči chybám — a zároveň tedy v rostoucím pořadí podle výpočetních nákladů. Měj na paměti, že jde o aktivní oblast výzkumu — takže nové techniky budeme pravděpodobně vynalézat i nadále a ty stávající postupně vylepšovat.

Na úrovni odolnosti 0 Transpiler s tvým Circuit nic nedělá.

Na úrovni 1 zavádí metodu nazvanou Twirled Readout Error eXtinction (T-REX). T-REX využívá Pauliho otáčení, jak bylo zmíněno v části o potlačování chyb. Jak jsme uvedli, vkládání náhodných Gate do Circuit dokáže i velmi složitý, těžko modelovatelný šum učinit stochastickým, a tedy mnohem snáze zohlednitelným nebo odečitatelným při post-processingu.

Na úrovni odolnosti 2 se přidává Zero Noise Extrapolation (ZNE). Jde o oblíbenou techniku, s níž jsme v poslední době dosahovali velkých úspěchů. Myšlenka za ZNE může být trochu překvapivá — ve skutečnosti přidáváme šum na ten, který tam už je! To nám ale umožňuje extrapolovat v opačném směru a předpovědět, jak by výsledky vypadaly při čím dál menším šumu.

Přidávat šum lze několika různými způsoby. Například můžeme prodloužit Gate, aby trvaly déle a byly tak náchylnější k chybám, nebo spouštět další Gate, které výsledně tvoří operaci identity — Circuit se tedy funkčně nemění, ale záměrně vzorkujeme více šumu. Musíš to ale dělat pro každý Circuit a každou střední hodnotu, kterou chceš sledovat — takže výpočetní náklady mohou být značné.

Specifickým typem ZNE je Probabilistic Error Amplification (PEA). Jakmile jsme se pro daný Gate naučili model šumu, PEA funguje tak, že z tohoto modelu vzorkuje chyby a záměrně je vkládá do Circuit. V Qiskit zatím není dostupná, ale bude k dispozici v průběhu tohoto roku.

Poslední technikou zmírňování chyb, o které budeme mluvit, je Probabilistic Error Cancellation (PEC). PEC není na 3. úrovni odolnosti — jde o speciální funkci, kterou musíš v Qiskit zapnout ručně, protože potřebné výpočetní prostředky se ve srovnání s ostatními technikami zmírňování chyb špatně škálují. Nejprve se musíš seznámit se šumem, který ovlivňuje tvůj Circuit — spusť obvody pro učení nebo charakterizaci šumu pro každou jedinečnou vrstvu dvouQubitových Gate v Circuit. Tyto výsledky ti umožní popsat šum pomocí Pauliho operátorů. Jakmile tyto šumové členy znáš, můžeš Circuit upravit tak, aby měly efektivně zabudované opačné Pauliho Gate, které tyto šumové kanály vyruší. V jistém smyslu je tento postup podobný tomu, jak fungují sluchátka s potlačením hluku. Tento způsob rušení šumu je však velmi nákladný — čas potřebný ke spuštění roste rychle a exponenciálně s počtem Gate — takže pro velmi velký Circuit nemusí být nejlepší volbou.

Post-processing

Fáze post-processingu je místo, kde vizualizujeme a analyzujeme výstup kvantového Circuit. K dispozici je řada nástrojů Qiskit, například moduly pro vizualizaci a kvantové informace. Nebudeme je zde probírat podrobně, ale v akci je uvidíme, až se v budoucích lekcích ponoříme do konkrétních příkladů aplikací.

Závěr

Doufáme, že tato lekce ti poskytla rychlý přehled hlavních úvah a pracovního postupu, který používáme, když chceme spustit utility-scale kvantový výpočet. Byla nabita informacemi a mnoho z nich se pořádně nevstřebá, dokud neuvidíme konkrétní příklady, kde jsou tyto teoretické koncepty uvedeny do praxe. Přesně o to jde ve zbytku kurzu. Koneckonců, tento kurz se nejmenuje Quantum Computing in Practice jen tak!

Příště se podíváme na konkrétní příklad toho, jak pomocí pracovního postupu Qiskit patterns navrhnout a spustit Circuit, který řeší klasický problém z teorie grafů — MaxCut.