Dressed box
I meccanismi fisici di rumore che si verificano durante l'esecuzione dei circuiti quantistici sono contestuali. Quando si applicano operazioni contemporaneamente su insiemi disgiunti di qubit, il profilo di rumore dell'operazione complessiva può differire dai profili di rumore delle singole parti applicate in isolamento. Allo stesso modo, per operazioni che idealmente commutano sugli stessi qubit, il profilo di rumore associato alle singole operazioni potrebbe non commutare e potrebbe essere del tutto diverso se l'ordine delle operazioni cambiasse. Pertanto, i protocolli per sopprimere, mitigare e correggere il rumore devono conoscere il contesto in cui esso si manifesta.
Samplomatic usa le istruzioni box per ragionare su insiemi di operazioni del circuito che dovrebbero essere trattati come dotati di un contesto di rumore stabile, e usa le annotazioni sui box per consentire agli utenti di dichiarare e configurare tale intento. Ogni box è uno scope che possiede un insieme di qubit, le operazioni che agiscono su tali qubit e un elenco di annotazioni. Le annotazioni di Samplomatic specificano direttive e dressing. Le direttive specificano cosa fare con il box, ad esempio applicare il twirling al box. I dressing sono gruppi di gate parametrizzati da aggiungere sul lato sinistro o destro del box, ad esempio un livello di gate a singolo qubit. I gate di un dressing incorporano i gate del box e le operazioni necessarie per attuare le direttive, come le seguenti:
-
Gate nel box compatibili con i gate parametrizzati e situati dallo stesso lato.
-
Gate di twirling campionati da un insieme per randomizzare il box.
-
Gate di iniezione del rumore campionati da una mappa di Pauli Lindblad.
-
Gate di cambio di base specificati dall'utente.
Nota che le direttive possono alterare i dressing di altri box.
Esempio
Supponiamo di voler applicare il twirling al circuito seguente, aggiungendo gate di Pauli casuali prima e dopo i gate entangling paralleli, che non modificano il contenuto logico del circuito ma modificano il modello di rumore effettivo.
Circuito su cui applicare il Pauli twirling.
Ciò si ottiene stratificando il circuito in box e aggiungendo annotazioni di twirl.
Circuito con direttive di Pauli twirling. Il simbolo @ serve a specificare le direttive; per impostazione predefinita il dressing è a sinistra.
Ogni dressed box contiene un livello di gate a singolo qubit e un livello di gate entangling a due qubit su coppie disgiunte di qubit. Il livello di gate entangling è circondato da livelli di gate di Pauli casuali in modo tale che l'azione logica del box resti invariata. Questi livelli di Pauli casuali sono virtuali, nello stesso modo in cui lo è un gate Z virtuale. Non aggiungono operazioni al circuito, ma agiscono invece come una direttiva per alterare il modo in cui vengono implementati i gate a singolo qubit adiacenti.
Circuito con dressing e gate derivanti dalle direttive. I dressing sono i box tratteggiati. I livelli di Pauli collegati da frecce si annullano a vicenda. L'ultimo livello di Pauli verrà applicato come bit flip ai risultati di misura.
Il livello di Pauli casuale tra i gate entangling e i gate a singolo qubit viene composto nel livello di gate a singolo qubit e implementato nel suo dressing. L'altro livello di Pauli casuale verrà composto nel dressing del dressed box successivo.
Riassumendo, la direttiva di twirl sinistro (o destro) implementa un Pauli casuale nel dressing di questo box e applica il Pauli che lo annulla nel dressing del box successivo (o precedente). Le direttive di iniezione del rumore e di cambio di base sono analoghe.
Randomizzazione del circuito con gate virtuali
Samplomatic usa il framework dei gate virtuali per ragionare sui circuiti con dressed box. Concettualmente, e come implementato in un'istanza di Samplex prodotta dal processo build(), i gate virtuali vengono generati al confine del box opposto al suo dressing. Questi gate virtuali vengono spostati attraverso il circuito in modo prestabilito e devono essere composti in un dressing. Se tutti i gate virtuali possono essere composti in un dressing, le randomizzazioni del circuito possono essere costruite in modo procedurale.
Circuito con direttive di twirl, cambio di base e iniezione del rumore.
I gate sul lato del dressing che sono compatibili con la parametrizzazione del template del dressing possono essere composti in esso, riducendo il numero di gate fisici. Questi sono chiamati gate easy. Il resto del box è detto hard e viene implementato così com'è.
Esempi di circuiti con gate virtuali pendenti. I gate virtuali sul lato opposto del dressing non hanno alcun posto in cui essere implementati.
Esempi di circuiti in cui tutti i gate virtuali sono composti nei dressing. Nelle misure i gate di Pauli vengono composti tenendo conto del bitflip che inducono.
Esempio complesso in cui tutti i gate virtuali vengono raccolti. I gate virtuali generati da un box possono essere composti in dressing diversi.
Ciò consente costruzioni in cui i dressed box non devono avere la stessa larghezza.