Qiskit Bosons
qiskit-bosons rozszerza Qiskit SDK o narzędzia do pracy z układami bozonowymi. W swoim zakresie zapewnia:
-
Wydajną strukturę danych do reprezentowania i przetwarzania operatorów bozonowych
-
Szkielet do implementowania kodowań bozon-kubit, zbudowany wokół wspólnych kodowań poziomów (unarne z projektorami lub bez, standardowe binarne, Graya), oraz bibliotekę typowych mapperów
-
Szkielet i bibliotekę bramek do wyrażania obwodów bozonowych
-
Potok transpilacji zintegrowany z procesem transpilera Qiskit, który syntezuje obwody bozonowe w obwody oparte na kubitach
Zacznij
Ten pakiet obejmuje całą ścieżkę od operatora bozonowego do obwodu kubitowego. W reżimie bozonowym możesz pracować zarówno z reprezentacją operatorową, jak i obwodową, zanim wybierzesz obcięcie i kodowanie bozon-kubit, które wpinają się w wielo-reprezentacyjny potok transpilera Qiskit.
Wszystkie te funkcje są opisane w kilku przewodnikach, które ułatwiają start. Na kompleksowy przegląd zacznij od przewodnika Bose-Hubbard.
Omówienie techniczne
Założenia projektowe
Ten pakiet jest celowo zaprojektowany zgodnie z Qiskit: opiera się na rdzeniu zaimplementowanym w Rust i udostępnia oficjalne wiązania do Pythona. Jego API ma wzorować się na Qiskit, aby płynnie wpasować się w przepływy pracy użytkowników z doświadczeniem w programowaniu w Qiskit. Chociaż obecnie nie istnieje API w C, architektura jest przygotowana tak, by je obsłużyć, jeśli kiedykolwiek zajdzie taka potrzeba. Architektura tego pakietu jest też celowo analogiczna do architektury qiskit-fermions.
Główną zasadą projektu qiskit-bosons było oddzielenie reprezentacji obwodu bozonowego od jego postaci kubitowej. Dokładniej: obwody bozonowe mają sens same w sobie i nie wymagają odwzorowania na przestrzeń kubitów, aby dało się je interpretować. Ponadto reprezentacja obwodu bozonowego nie może czynić żadnych założeń co do obcięcia i kodowania bozon-kubit stosowanych później. Oba pojawiają się dopiero w czasie transpilacji.
Polityka wycofywania
Stosujemy wersjonowanie semantyczne i kierujemy się zasadami z polityki wycofywania Qiskit. Od czasu do czasu możemy wprowadzać zmiany łamiące zgodność, aby poprawić doświadczenie użytkowników. Gdy to możliwe, zachowamy stare interfejsy i oznaczymy je jako przestarzałe, dopóki mogą współistnieć z nowymi. Każde istotne ulepszenie, zmiana łamiąca zgodność lub wycofanie zostanie opisane w informacjach o wydaniu.
Współtworzenie
Kod źródłowy jest dostępny na GitHubie.
Przewodnik dla deweloperów znajduje się w CONTRIBUTING.md w katalogu głównym repozytorium tego projektu. Uczestnicząc, zobowiązujesz się przestrzegać kodeksu postępowania Qiskit.
Do śledzenia próśb i błędów używamy zgłoszeń na GitHubie.
Cytowanie tego pakietu
Jeśli używasz tego pakietu w swoich badaniach, skorzystaj z pliku CITATION.bib w repozytorium tego projektu, aby zacytować odpowiednie źródła.