Zum Hauptinhalt springen

Einführung in Qiskit

Der Begriff „Qiskit" bezeichnet eine Sammlung von Software zur Ausführung von Programmen auf Quantencomputern. Das bekannteste dieser Werkzeuge ist das quelloffene Qiskit SDK sowie die Laufzeitumgebung (zugänglich über Qiskit Runtime), mit der du Workloads auf IBM® Quantum Processing Units (QPUs) ausführen kannst. Mit der Weiterentwicklung der Quantentechnologie wächst auch Qiskit – jedes Jahr werden neue Funktionen veröffentlicht, die diese zentrale Sammlung von Quantensoftware erweitern.

Darüber hinaus sind viele Open-Source-Projekte Teil des breiteren Qiskit-Ökosystems. Diese Werkzeuge sind nicht Bestandteil von Qiskit selbst, sondern arbeiten mit Qiskit zusammen und können wertvolle zusätzliche Funktionalität bieten.

IBM ist dem verantwortungsvollen Einsatz von Quantencomputing verpflichtet. Erfahre mehr und lies unsere Grundsätze für verantwortungsvolles Quantencomputing im Abschnitt Responsible quantum computing.

Das Qiskit SDK

Das Qiskit SDK (Paketname qiskit) ist ein quelloffenes SDK für die Arbeit mit Quantencomputern auf der Ebene erweiterter (statischer, dynamischer und geplanter) Quantum Circuits, Operatoren und Primitives. Diese Bibliothek ist die Kernkomponente von Qiskit – es ist das größte Paket unter dem Namen Qiskit mit der umfangreichsten Suite an Werkzeugen für Quantenberechnungen, und viele andere Komponenten bauen auf ihr auf.

Zu den nützlichsten Funktionen des Qiskit SDK gehören:

  • Circuit-Bauwerkzeuge (qiskit.circuit) – Zum Initialisieren und Bearbeiten von Registern, Circuits, Anweisungen, Gates, Parametern und Kontrollfluss-Objekten.

  • Circuit-Bibliothek (qiskit.circuit.library) – Eine umfangreiche Sammlung von Circuits, Anweisungen und Gates – wesentliche Bausteine für schaltungsbasierte Quantenberechnungen.

  • Quantum-Info-Bibliothek (qiskit.quantum_info) – Ein Werkzeugkasten für die Arbeit mit Quantenzuständen, Operatoren und Kanälen mit exakten Berechnungen (ohne Sampling-Rauschen). Verwende dieses Modul, um Eingangs-Observablen festzulegen und die Genauigkeit der Ausgaben aus Primitives-Abfragen zu analysieren.

  • Transpiler (qiskit.transpiler) – Zum Transformieren und Anpassen von Quantum Circuits an die Topologie bestimmter Geräte sowie zur Optimierung für die Ausführung auf realen Quantum Processing Units (QPUs).

  • Primitives (qiskit.primitives) – Das Modul, das die Basisdefinitionen und Referenzimplementierungen der Sampler- und Estimator-Primitives enthält, aus denen verschiedene Anbieter von Quantenhardware ihre eigenen Implementierungen ableiten können. Weitere Informationen zu den Qiskit Runtime Primitives findest du in der Dokumentation.

Installation

Eine ausführlichere Einführung in die Installation des Qiskit SDK findest du auf der Installationsseite. Wenn du es gleich installieren möchtest, führe einfach folgenden Befehl aus:

pip install qiskit

Benchmarking und das Benchpress-Paket

Benchmarking ist wichtig, um die relative Leistung von Quantensoftware in verschiedenen Phasen eines Entwicklungsworkflows zu vergleichen. Benchmarking-Tests für Quantensoftware könnten beispielsweise die Geschwindigkeit und Qualität beim Erstellen, Bearbeiten und Transpilieren von Circuits untersuchen. IBM Quantum ist bestrebt, das leistungsfähigste SDK bereitzustellen – zu diesem Zweck wird das Qiskit SDK mit über 1.000 Tests bewertet, die von führenden Universitäten, nationalen Labors und Forschenden bei IBM entwickelt wurden. Die für diese Tests verwendete Benchmarking-Suite namens Benchpress ist jetzt als Open-Source-Paket verfügbar. Du kannst das Benchpress-Paket verwenden, um eigene Analysen der Quantensoftware-Leistung durchzuführen.

Qiskit Addons

Qiskit Addons sind eine Sammlung von Forschungsfunktionen für die Entdeckung von Algorithmen im Utility-Maßstab. Diese Funktionen bauen auf Qiskits leistungsstarker Grundlage von Werkzeugen zum Erstellen und Ausführen von Quantenalgorithmen auf. Addons sind modulare Softwarekomponenten, die in einen Workflow eingebunden werden, um neue Quantenalgorithmen zu skalieren oder zu entwerfen. Weitere Informationen zu den verfügbaren Qiskit Addons und dem Einstieg in ihre Nutzung findest du in der Dokumentation.

Das Qiskit-Ökosystem

Jenseits von Qiskit gibt es viele Open-Source-Projekte, die den Namen „Qiskit" tragen, aber nicht zu Qiskit selbst gehören. Sie arbeiten mit Qiskit zusammen und können wertvolle zusätzliche Funktionalität als Ergänzung zum zentralen Qiskit-Workflow bieten. Einige dieser Projekte werden von IBM Quantum-Teams gepflegt, andere werden von der breiteren Open-Source-Gemeinschaft unterstützt. Das Qiskit SDK ist modular und erweiterbar gestaltet, sodass Entwickler leicht Projekte erstellen können, die seine Funktionen ausbauen.

Einige beliebte Projekte im Qiskit-Ökosystem sind:

  • Qiskit Aer (qiskit-aer) – Ein Paket für Quantencomputer-Simulatoren mit realistischen Rauschmodellen. Es bietet Schnittstellen zur Ausführung von Quantum Circuits mit oder ohne Rauschen mithilfe verschiedener Simulationsmethoden. Gepflegt von IBM Quantum.
  • qBraid SDK (qbraid) – Ein plattformunabhängiges Quantenlaufzeit-Framework für Anbieter von Quantensoftware und -hardware, das den vollständigen Lebenszyklus von Quantenjobs optimiert – von der Definition von Programmspezifikationen über die Job-Einreichung bis hin zur Nachverarbeitung und Visualisierung von Ergebnissen. Gepflegt von qBraid.
  • mthree mthree – Ein Paket zur Implementierung von M3 (Matrix-free Measurement Mitigation), einer Messminderungstechnik, die korrigierte Messprobabilitäten mithilfe eines Dimensionsreduktionsschritts berechnet, gefolgt von direkter LU-Faktorisierung oder einer vorkonditionierten iterativen Methode, die nominell in O(1)-Schritten konvergiert und parallel berechnet werden kann. Gepflegt von IBM Quantum.

Einen Katalog der Projekte findest du auf der Qiskit-Ökosystem-Seite sowie Informationen darüber, wie du dein eigenes Projekt nominieren kannst.

Nächste Schritte

Empfehlungen
  • Lerne mehr über die Bibliothek der verfügbaren Circuits und Anweisungen in der Qiskit Circuit-Bibliothek.
  • Lies über den Qiskit Transpiler und die vielen Transpilierungsoptionen im Abschnitt Transpiler.
  • Erfahre, wie du Qiskit Primitives zur Vereinfachung der Quantenprogrammierung nutzen kannst.