Qiskit Bosons
qiskit-bosons étend le SDK Qiskit avec des outils pour travailler sur les systèmes bosoniques. Dans son périmètre, il fournit les éléments suivants :
-
Une structure de données efficace pour la représentation et la manipulation d'opérateurs bosoniques
-
Un framework pour implémenter des encodages boson-vers-qubit, construit autour d'encodages de niveaux partagés (unaire avec ou sans projecteurs, binaire standard, Gray), et une bibliothèque de mappers courants
-
Un framework et une bibliothèque de portes pour exprimer des circuits bosoniques
-
Un pipeline de transpilation intégré au processus de transpileur de Qiskit pour synthétiser des circuits bosoniques en circuits à base de qubits
Premiers pas
Ce package couvre tout le chemin depuis un opérateur bosonique jusqu'à un circuit de qubits. Tu peux travailler dans le régime bosonique, avec à la fois la représentation d'opérateurs et celle de circuits, avant de choisir une troncature et un encodage boson-vers-qubit qui s'intègrent au pipeline de transpileur multi-représentation de Qiskit.
Toutes ces fonctionnalités sont expliquées dans plusieurs guides pour t'aider à démarrer. Pour une vue d'ensemble de bout en bout, commence par le guide Bose-Hubbard.
Discussion technique
Intentions de conception
Ce package est délibérément conçu pour s'aligner sur Qiskit : il s'appuie sur un cœur implémenté en Rust et fournit des bindings de langage officiels pour Python. Son API vise à établir des parallèles avec Qiskit afin de s'intégrer sans heurt aux workflows des utilisateurs qui ont l'expérience de la programmation avec Qiskit. Bien qu'il n'existe pas d'API C pour le moment, l'architecture est prévue pour en accueillir une si le besoin s'en fait sentir un jour. L'architecture de ce package est aussi délibérément analogue à celle de qiskit-fermions.
Un principe central de la conception de qiskit-bosons a été de découpler sa représentation de circuit bosonique de sa forme en qubits. Pour être plus précis : les circuits bosoniques ont un sens en eux-mêmes et n'ont pas besoin d'une correspondance vers l'espace des qubits pour être interprétables. De plus, la représentation de circuit bosonique ne peut faire aucune hypothèse sur la troncature et l'encodage boson-vers-qubit appliqués ensuite. Les deux n'interviennent qu'au moment de la transpilation.
Politique de dépréciation
Nous suivons le versionnage sémantique et nous nous guidons sur les principes de la politique de dépréciation de Qiskit. Nous pouvons occasionnellement introduire des changements incompatibles afin d'améliorer l'expérience utilisateur. Lorsque c'est possible, nous conserverons les anciennes interfaces et les marquerons comme dépréciées, tant qu'elles peuvent coexister avec les nouvelles. Chaque amélioration substantielle, changement incompatible ou dépréciation sera documenté dans les notes de version.
Contribuer
Le code source est disponible sur GitHub.
Le guide du développeur se trouve dans CONTRIBUTING.md, à la racine du dépôt de ce projet. En participant, tu t'engages à respecter le code de conduite de Qiskit.
Nous utilisons les issues GitHub pour suivre les demandes et les bugs.
Citer ce package
Si tu utilises ce package dans tes recherches, utilise le fichier CITATION.bib du dépôt de ce projet pour citer la ou les références appropriées.