Wprowadzenie do Qiskit
Nazwa „Qiskit" to ogólny termin oznaczający zbiór oprogramowania do wykonywania programów na komputerach kwantowych. Wśród tych narzędzi wyróżnia się przede wszystkim open-source'owy Qiskit SDK oraz środowisko uruchomieniowe (dostępne przez Qiskit Runtime), za pośrednictwem którego można wykonywać zadania na jednostkach przetwarzania kwantowego (QPU) IBM®. W miarę jak technologia kwantowa się rozwija, ewoluuje również Qiskit – co roku pojawiają się nowe możliwości rozszerzające tę podstawową kolekcję oprogramowania kwantowego.
Ponadto wiele projektów open-source jest częścią szerszego ekosystemu Qiskit. Narzędzia te nie są częścią samego Qiskit, lecz interfejsują z nim i mogą zapewniać wartościową dodatkową funkcjonalność.
IBM angażuje się w odpowiedzialne rozwijanie obliczeń kwantowych. Dowiedz się więcej i zapoznaj się z naszymi zasadami odpowiedzialnych obliczeń kwantowych w temacie Odpowiedzialne obliczenia kwantowe.
Qiskit SDK
Qiskit SDK (nazwa pakietu qiskit) to open-source'owy SDK do pracy z komputerami kwantowymi na poziomie rozszerzonych (statycznych, dynamicznych i harmonogramowanych) Circuit kwantowych, operatorów i prymitywów. Ta biblioteka jest głównym komponentem Qiskit – jest największym pakietem noszącym tę nazwę, oferującym najszerszy zestaw narzędzi do obliczeń kwantowych, z którym interfejsuje wiele innych komponentów.
Oto niektóre z najbardziej przydatnych funkcji Qiskit SDK:
-
Narzędzia do budowania Circuit (
qiskit.circuit) – do inicjalizowania i manipulowania rejestrami, Circuit, instrukcjami, Gate, parametrami i obiektami przepływu sterowania. -
Biblioteka Circuit (
qiskit.circuit.library) – ogromna gama Circuit, instrukcji i bramka – kluczowe elementy składowe obliczeń kwantowych opartych na obwód. -
Biblioteka informacji kwantowej (
qiskit.quantum_info) – zestaw narzędzi do pracy ze stanami kwantowymi, operatorami i kanałami przy użyciu dokładnych obliczeń (bez szumu próbkowania). Użyj tego modułu, aby określić wejściowe obserwable i analizować wierność wyników z zapytań prymitywów. -
Transpiler (
qiskit.transpiler) – do przekształcania i dostosowywania Circuit kwantowych do topologii konkretnych urządzeń oraz optymalizacji pod kątem wykonania na rzeczywistych jednostkach przetwarzania kwantowego (QPU). -
Prymitywy (
qiskit.primitives) – moduł zawierający podstawowe definicje i implementacje referencyjne prymitywów Sampler i Estimator, na podstawie których różni dostawcy sprzętu kwantowego mogą tworzyć własne implementacje. Więcej informacji o prymitywach Qiskit Runtime znajdziesz w dokumentacji.
Instalacja
Bardziej szczegółowe wprowadzenie do instalacji Qiskit SDK znajdziesz na stronie instalacji. Jeśli jesteś gotowy zainstalować go teraz, po prostu uruchom:
pip install qiskit
Benchmarking i pakiet Benchpress
Benchmarking jest ważny do porównywania względnej wydajności oprogramowania kwantowego na różnych etapach przepływu pracy deweloperskiej. Testy benchmarkingowe dla oprogramowania kwantowego mogą na przykład sprawdzać szybkość i jakość budowania, manipulowania i transpilowania Circuit. IBM Quantum jest zaangażowany w dostarczanie możliwie najbardziej wydajnego SDK, a w tym celu Qiskit SDK jest testowany za pomocą ponad 1000 testów opracowanych przez wiodące uczelnie, laboratoria krajowe i badaczy IBM. Zestaw benchmarkingowy używany do tych testów, o nazwie Benchpress, jest teraz dostępny jako pakiet open-source. Możesz teraz używać pakietu Benchpress do własnej analizy wydajności SDK kwantowego.
Dodatki Qiskit
Dodatki Qiskit (Qiskit addons) to zbiór możliwości badawczych do odkrywania algorytmów w skali użytkowej. Możliwości te bazują na wydajnym fundamencie narzędzi Qiskit do tworzenia i uruchamiania algorytmów kwantowych. Dodatki to modułowe komponenty oprogramowania, które można podłączyć do przepływu pracy, aby skalować lub projektować nowe algorytmy kwantowe. Aby dowiedzieć się więcej o dostępnych dodatkach Qiskit i jak zacząć z nich korzystać, odwiedź dokumentację.
Ekosystem Qiskit
Poza Qiskit istnieje wiele projektów open-source, które używają nazwy „Qiskit", ale nie są częścią samego Qiskit – raczej interfejsują z nim i mogą zapewniać wartościową dodatkową funkcjonalność uzupełniającą główny przepływ pracy Qiskit. Niektóre z tych projektów są utrzymywane przez zespoły IBM Quantum, podczas gdy inne są wspierane przez szerszą społeczność open-source. Qiskit SDK jest zaprojektowany w modularny, rozszerzalny sposób, co ułatwia deweloperom tworzenie takich projektów rozszerzających jego możliwości.
Niektóre popularne projekty w ekosystemie Qiskit to:
- Qiskit Aer (
qiskit-aer) – pakiet do symulatorów komputerów kwantowych z realistycznymi modelami szumu. Zapewnia interfejsy do uruchamiania Circuit kwantowych z szumem lub bez niego przy użyciu wielu różnych metod symulacji. Utrzymywany przez IBM Quantum. - qBraid SDK (
qbraid) – agnostyczny platformowo framework uruchomieniowy kwantowego dla dostawców oprogramowania i sprzętu kwantowego, zaprojektowany do usprawnienia pełnego zarządzania cyklem życia zadań kwantowych – od definiowania specyfikacji programu, przez przesyłanie zadań, aż po post-processing i wizualizację wyników. Utrzymywany przez qBraid. - mthree (
mthree) – pakiet do implementacji M3 (Matrix-free Measurement Mitigation), techniki łagodzenia pomiarów, która rozwiązuje problem skorygowanych prawdopodobieństw pomiaru przy użyciu kroku redukcji wymiarowości, a następnie bezpośredniej faktoryzacji LU lub warunkowej metody iteracyjnej o nominalnej zbieżności w O(1) krokach, którą można obliczać równolegle. Utrzymywany przez IBM Quantum.
Katalog projektów znajdziesz na stronie ekosystemu Qiskit, a także informacje o tym, jak zgłosić swój własny projekt.
Następne kroki
- Dowiedz się o bibliotece Circuit i instrukcji dostępnych w bibliotece Circuit Qiskit.
- Przeczytaj o Transpilerze Qiskit i wielu opcjach transpilacji w sekcji Transpiler.
- Dowiedz się, jak używać prymitywów Qiskit do usprawnienia programowania kwantowego.