Qiskit Bosons
qiskit-bosons rozšiřuje Qiskit SDK o nástroje pro práci s bosonickými systémy. V rámci svého zaměření poskytuje následující:
-
Efektivní datovou strukturu pro reprezentaci a manipulaci s bosonickými operátory
-
Framework pro implementaci kódování bosonů na qubity, postavený na sdílených kódováních úrovní (unární s projektory i bez nich, standardní binární, Grayovo), a knihovnu běžných mapperů
-
Framework a knihovnu hradel pro vyjadřování bosonických obvodů
-
Transpilační pipeline integrovanou s procesem transpilátoru Qiskitu pro syntézu bosonických obvodů na obvody založené na qubitech
Začínáme
Tento balíček pokrývá celou cestu od bosonického operátoru ke qubitovému obvodu. V bosonickém režimu můžeš pracovat s reprezentací operátorů i obvodů, než zvolíš truncaci a kódování bosonů na qubity, které se zapojí do multireprezentační transpilační pipeline Qiskitu.
Všechny tyto funkce jsou vysvětleny v několika návodech, které ti pomohou začít. Pro komplexní přehled začni s návodem k Bose-Hubbardovu modelu.
Technická diskuse
Záměry návrhu
Tento balíček je záměrně navržen tak, aby odpovídal Qiskitu: staví na jádru implementovaném v Rustu a poskytuje oficiální vazby jazyka pro Python. Jeho API se snaží vytvářet paralely s Qiskitem, aby se plynule začlenilo do pracovních postupů uživatelů se zkušeností s programováním v Qiskitu. Ačkoli v současnosti neexistuje C API, architektura je připravena jej podporovat, pokud by to v budoucnu bylo potřeba. Architektura tohoto balíčku je také záměrně analogická architektuře qiskit-fermions.
Základním principem návrhu qiskit-bosons bylo oddělení bosonické reprezentace obvodu od její qubitizované podoby. Přesněji: bosonické obvody mají smysl samy o sobě a k jejich interpretaci není potřeba mapování do qubitového prostoru. Bosonická reprezentace obvodu navíc nemůže činit žádné předpoklady o truncaci a kódování bosonů na qubity, které se použijí později. Obojí vstupuje do hry až v čase transpilace.
Zásady zastarávání
Řídíme se sémantickým verzováním a vycházíme z principů zásad zastarávání Qiskitu. Občas můžeme provést zásadní změny, abychom zlepšili uživatelskou zkušenost. Pokud to bude možné, ponecháme stará rozhraní a označíme je jako zastaralá, dokud mohou existovat vedle nových. Každé podstatné vylepšení, zásadní změna či zastarání bude zdokumentováno v poznámkách k vydání.
Přispívání
Zdrojový kód je dostupný na GitHubu.
Příručka pro vývojáře se nachází v CONTRIBUTING.md v kořeni repozitáře tohoto projektu. Účastí se zavazuješ dodržovat kodex chování Qiskitu.
Pro sledování požadavků a chyb používáme GitHub issues.
Citování tohoto balíčku
Pokud tento balíček používáš ve výzkumu, použij soubor CITATION.bib v repozitáři tohoto projektu k citaci příslušných odkazů.