Przejdź do głównej treści

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

Rekomendacje
  • 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.