Přeskočit na hlavní obsah

Úvod do Qiskitu

Název „Qiskit" je obecný termín označující kolekci softwaru pro spouštění programů na kvantových počítačích. Nejvýznamnějším z těchto softwarových nástrojů je open-source Qiskit SDK a běhové prostředí (přístupné přes Qiskit Runtime), prostřednictvím kterého můžeš spouštět úlohy na kvantových procesorových jednotkách (QPU) od IBM®. S tím, jak se kvantová technologie vyvíjí, vyvíjí se i Qiskit – každý rok jsou vydávány nové funkce, které rozšiřují tuto základní sbírku kvantového softwaru.

Kromě toho je mnoho open-source projektů součástí širšího ekosystému Qiskit. Tyto softwarové nástroje nejsou přímo součástí Qiskitu, ale rozhraní s ním spolupracují a mohou poskytovat cennou dodatečnou funkcionalitu.

IBM je oddána odpovědnému vývoji kvantových počítačů. Více informací a přehled našich principů odpovědného přístupu ke kvantovým technologiím najdeš v tématu Odpovědné kvantové počítání.

Qiskit SDK

Qiskit SDK (název balíčku qiskit) je open-source SDK pro práci s kvantovými počítači na úrovni rozšířených (statických, dynamických a naplánovaných) kvantových Circuit, operátorů a primitiv. Tato knihovna je základní součástí Qiskitu; je to největší balíček pod názvem Qiskit s nejširší sadou nástrojů pro kvantové výpočty a mnoho dalších komponent s ní spolupracuje.

Mezi nejužitečnější funkce Qiskit SDK patří:

  • Nástroje pro sestavování Circuit (qiskit.circuit) – Pro inicializaci a manipulaci s registry, Circuit, instrukcemi, Gate, parametry a objekty řídicího toku.

  • Knihovna Circuit (qiskit.circuit.library) – Rozsáhlá škála Circuit, instrukcí a Gate – klíčové stavební bloky pro kvantové výpočty založené na obvod.

  • Knihovna kvantových informací (qiskit.quantum_info) – Sada nástrojů pro práci s kvantovými stavy, operátory a kanály pomocí přesných výpočtů (bez šumu vzorkování). Pomocí tohoto modulu můžeš specifikovat vstupní observably a analyzovat věrnost výstupů z dotazů na primitiva.

  • Transpiler (qiskit.transpiler) – Pro transformaci a přizpůsobení kvantových Circuit konkrétní topologii zařízení a optimalizaci pro spuštění na skutečných kvantových procesorových jednotkách (QPU).

  • Primitiva (qiskit.primitives) – Modul obsahující základní definice a referenční implementace primitiv Sampler a Estimator, ze kterých mohou různí poskytovatelé kvantového hardwaru odvodit vlastní implementace. Více informací o primitivech Qiskit Runtime najdeš v dokumentaci.

Instalace

Podrobnější úvod do instalace Qiskit SDK najdeš na stránce instalace. Pokud jsi připraven/a ho nainstalovat hned, jednoduše spusť:

pip install qiskit

Benchmarking a balíček Benchpress

Benchmarking je důležitý pro porovnání relativního výkonu kvantového softwaru v různých fázích vývojového pracovního postupu. Benchmarkingové testy pro kvantový software mohou například zkoumat rychlost a kvalitu sestavování, manipulace a transpilace Circuit. IBM Quantum je odhodláno dodávat co nejvýkonnější SDK, a proto je Qiskit SDK testován pomocí více než 1 000 testů vyvinutých předními univerzitami, národními laboratořemi a výzkumníky z IBM. Benchmarkingová sada používaná pro tyto testy, pojmenovaná Benchpress, je nyní dostupná jako open-source balíček. Balíček Benchpress teď můžeš použít k vlastní analýze výkonu kvantového SDK.

Qiskit addons

Qiskit addons jsou kolekce výzkumných možností pro objevování algoritmů v užitkovém měřítku. Tyto možnosti stavějí na výkonném základu nástrojů Qiskit pro vytváření a spouštění kvantových algoritmů. Addons jsou modulární softwarové komponenty, které se zapojují do pracovního postupu za účelem škálování nebo navrhování nových kvantových algoritmů. Chceš-li se dozvědět více o dostupné sadě Qiskit addons a o tom, jak s nimi začít, navštiv dokumentaci.

Ekosystém Qiskit

Kromě Qiskitu existuje mnoho open-source projektů, které používají název „Qiskit", ale nejsou přímo součástí Qiskitu; spíše s ním spolupracují a mohou poskytovat cennou dodatečnou funkcionalitu doplňující základní pracovní postup Qiskit. Některé z těchto projektů jsou spravovány týmy IBM Quantum, zatímco jiné jsou podporovány širší open-source komunitou. Qiskit SDK je navržen modulárním a rozšiřitelným způsobem, aby bylo pro vývojáře snadné vytvářet podobné projekty rozšiřující jeho schopnosti.

Mezi oblíbené projekty v ekosystému Qiskit patří:

  • Qiskit Aer (qiskit-aer) – balíček pro simulátory kvantových počítačů s realistickými modely šumu. Poskytuje rozhraní pro spouštění kvantových Circuit se šumem i bez šumu pomocí různých simulačních metod. Spravuje IBM Quantum.
  • qBraid SDK (qbraid) – platformově agnostický framework pro kvantový běh pro poskytovatele jak kvantového softwaru, tak hardwaru, navržený tak, aby zjednodušil kompletní správu životního cyklu kvantových úloh – od definování specifikací programu přes odesílání úloh až po postprocesing a vizualizaci výsledků. Spravuje qBraid.
  • mthree mthree – balíček pro implementaci M3 (Matrix-free Measurement Mitigation), techniky zmírňování chyb při měření, která řeší opravené pravděpodobnosti měření pomocí kroku redukce dimenzionality, po němž následuje buď přímá LU faktorizace, nebo podmíněná iterativní metoda, která nominálně konverguje v O(1) krocích a lze ji počítat paralelně. Spravuje IBM Quantum.

Katalog projektů najdeš na stránce ekosystému Qiskit, stejně jako informace o tom, jak nominovat vlastní projekt.

Další kroky

Doporučení
  • Přečti si o knihovně Circuit a instrukcí dostupných v Qiskitu v knihovně Circuit.
  • Přečti si o Transpiler Qiskit a mnoha možnostech transpilace v sekci Transpiler.
  • Zjisti, jak používat primitiva Qiskit pro zjednodušení kvantového programování.