Qiskit Bosons
qiskit-bosons erweitert das Qiskit SDK um Werkzeuge für die Arbeit an bosonischen Systemen. In seinem Umfang bietet es Folgendes:
-
Eine effiziente Datenstruktur zur Darstellung und Manipulation bosonischer Operatoren
-
Ein Framework zur Implementierung von Boson-zu-Qubit-Kodierungen, aufgebaut um gemeinsame Niveau-Kodierungen (unär mit oder ohne Projektoren, Standard-Binär, Gray), sowie eine Bibliothek gängiger Mapper
-
Ein Framework und eine Bibliothek von Gates zum Ausdrücken bosonischer Circuits
-
Eine Transpilations-Pipeline, die in den Qiskit-Transpiler-Prozess integriert ist, um bosonische Circuits zu qubitbasierten Circuits zu synthetisieren
Erste Schritte
Dieses Paket deckt den gesamten Weg von einem bosonischen Operator bis zu einem Qubit-Circuit ab. Du kannst im bosonischen Bereich sowohl mit der Operator- als auch mit der Circuit-Darstellung arbeiten, bevor du eine Trunkierung und eine Boson-zu-Qubit-Kodierung wählst, die sich in die Multi-Repräsentations-Transpiler-Pipeline von Qiskit einfügen.
Alle diese Funktionen werden in mehreren Anleitungen erklärt, die dir den Einstieg erleichtern. Für einen Gesamtüberblick beginne mit der Bose-Hubbard-Anleitung.
Technische Diskussion
Designabsichten
Dieses Paket ist bewusst so gestaltet, dass es sich an Qiskit orientiert: Es baut auf einem in Rust implementierten Kern auf und bietet erstklassige Sprachbindungen für Python. Seine API soll Parallelen zu Qiskit ziehen, um sich nahtlos in die Workflows von Nutzern mit Erfahrung in der Qiskit-Programmierung einzufügen. Auch wenn es derzeit keine C-API gibt, ist die Architektur darauf ausgelegt, eine solche zu unterstützen, falls sie irgendwann einmal nötig wird. Die Architektur dieses Pakets ist außerdem bewusst analog zu der von qiskit-fermions.
Ein Kernprinzip beim Entwurf von qiskit-bosons war die Entkopplung der bosonischen Circuit-Darstellung von ihrer Qubit-Form. Genauer gesagt: Die bosonischen Circuits sind für sich genommen aussagekräftig und benötigen keine Abbildung in den Qubit-Raum, um interpretierbar zu sein. Außerdem darf die bosonische Circuit-Darstellung keine Annahmen über die später angewandte Trunkierung und Boson-zu-Qubit-Kodierung treffen. Beide gehen erst zur Transpilationszeit ein.
Deprecation-Richtlinie
Wir folgen Semantic Versioning und orientieren uns an den Prinzipien der Deprecation-Richtlinie von Qiskit. Gelegentlich können wir Breaking Changes vornehmen, um die Nutzererfahrung zu verbessern. Wenn möglich, behalten wir alte Schnittstellen bei und markieren sie als veraltet, solange sie neben den neuen bestehen können. Jede wesentliche Verbesserung, jeder Breaking Change und jede Deprecation wird in den Versionshinweisen dokumentiert.
Mitwirken
Der Quellcode ist auf GitHub verfügbar.
Die Entwickleranleitung befindet sich in CONTRIBUTING.md im Stammverzeichnis des Repositorys dieses Projekts. Mit deiner Teilnahme verpflichtest du dich, den Verhaltenskodex von Qiskit einzuhalten.
Wir verwenden GitHub Issues, um Anfragen und Fehler zu verfolgen.
Dieses Paket zitieren
Wenn du dieses Paket in deiner Forschung verwendest, nutze die Datei CITATION.bib im Repository dieses Projekts, um die passenden Referenzen zu zitieren.