Qiskit Bosons
qiskit-bosons estende l'SDK Qiskit con strumenti per lavorare su sistemi bosonici. Nel suo ambito offre quanto segue:
-
Una struttura dati efficiente per la rappresentazione e la manipolazione di operatori bosonici
-
Un framework per implementare codifiche da bosone a qubit, costruito attorno a codifiche di livello condivise (unaria con o senza proiettori, binaria standard, Gray), e una libreria di mapper comuni
-
Un framework e una libreria di Gate per esprimere circuiti bosonici
-
Una pipeline di transpilazione integrata con il processo del Transpiler di Qiskit per sintetizzare circuiti bosonici in circuiti basati su qubit
Per iniziare
Questo pacchetto copre l'intero percorso da un operatore bosonico a un circuito di qubit. Puoi lavorare nel regime bosonico con entrambe le rappresentazioni, operatore e circuito, prima di scegliere un troncamento e una codifica da bosone a qubit che si inseriscono nella pipeline di transpilazione multi-rappresentazione di Qiskit.
Tutte queste funzionalità sono spiegate in diverse guide per aiutarti a iniziare. Per una panoramica completa, parti dalla guida a Bose-Hubbard.
Discussione tecnica
Intenzioni di progettazione
Questo pacchetto è progettato deliberatamente per essere allineato a Qiskit: si basa su un nucleo implementato in Rust e fornisce binding di prima parte per Python. La sua API intende tracciare parallelismi con Qiskit per integrarsi senza attriti nei workflow degli utenti con esperienza nella programmazione con Qiskit. Sebbene al momento non esista un'API C, l'architettura è predisposta per supportarne una se in futuro dovesse servire. L'architettura di questo pacchetto è inoltre deliberatamente analoga a quella di qiskit-fermions.
Un principio fondamentale nella progettazione di qiskit-bosons è stato il disaccoppiamento tra la rappresentazione del circuito bosonico e la sua forma in qubit. In modo più preciso: i circuiti bosonici hanno un significato di per sé e non richiedono una mappatura nello spazio dei qubit per essere interpretabili. Inoltre, la rappresentazione del circuito bosonico non può fare alcuna ipotesi sul troncamento e sulla codifica da bosone a qubit applicati in seguito. Entrambi entrano in gioco solo al momento della transpilazione.
Politica di deprecazione
Seguiamo il versionamento semantico e ci ispiriamo ai principi della politica di deprecazione di Qiskit. Occasionalmente potremmo introdurre modifiche incompatibili per migliorare l'esperienza utente. Quando possibile, manterremo le vecchie interfacce contrassegnandole come deprecate, finché possono coesistere con le nuove. Ogni miglioramento sostanziale, modifica incompatibile o deprecazione sarà documentato nelle note di rilascio.
Contribuire
Il codice sorgente è disponibile su GitHub.
La guida per gli sviluppatori si trova in CONTRIBUTING.md, nella radice del repository di questo progetto. Partecipando, ci si aspetta che tu rispetti il codice di condotta di Qiskit.
Usiamo le issue di GitHub per tracciare richieste e bug.
Citare questo pacchetto
Se usi questo pacchetto nella tua ricerca, utilizza il file CITATION.bib nel repository di questo progetto per citare i riferimenti appropriati.