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 przy użyciu IBM Quantum Compute Service (wcześniej znane jako Qiskit Runtime Service), 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 IBM Quantum 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ć interfejsu prymitywów do usprawnienia programowania kwantowego.