Dressed boxy
Fizyczne mechanizmy szumu występujące podczas wykonywania obwodów kwantowych są kontekstowe. Gdy operacje na rozłącznych zbiorach kubitów są stosowane jednocześnie, profil szumu całej operacji może różnić się od profili szumu jej składowych zastosowanych osobno. Podobnie w przypadku operacji, które idealnie komutują na tych samych kubitach: profil szumu związany z poszczególnymi operacjami może nie komutować i może być zupełnie inny, jeśli zmieni się kolejność operacji. Dlatego protokoły tłumienia, łagodzenia i korekcji szumu muszą znać kontekst, w którym on powstaje.
Samplomatic używa instrukcji box do wnioskowania o zbiorach operacji obwodu, które powinny być traktowane jako mające stabilny kontekst szumu, a adnotacje na boxach pozwalają użytkownikom zadeklarować i skonfigurować tę intencję. Każdy box jest zakresem, który posiada zbiór kubitów, operacje działające na tych kubitach oraz listę adnotacji. Adnotacje Samplomatic określają dyrektywy i dressingi. Dyrektywy określają, co zrobić z boxem, na przykład wykonać twirling boxa. Dressingi to grupy sparametryzowanych bramek dodawanych po lewej lub prawej stronie boxa, na przykład warstwa bramek jednokubitowych. Bramki w dressingu zawierają bramki z boxa oraz operacje wymagane do realizacji dyrektyw, takie jak:
-
Bramki w boxie, które są zgodne z sparametryzowanymi bramkami i znajdują się po tej samej stronie co one.
-
Bramki twirlingu losowane ze zbioru w celu zrandomizowania boxa.
-
Bramki wstrzykiwania szumu losowane z mapy Pauli Lindblada.
-
Bramki zmiany bazy określone przez użytkownika.
Zwróć uwagę, że dyrektywy mogą zmieniać dressingi innych boxów.
Przykład
Załóżmy, że chcemy wykonać twirling poniższego obwodu, dodając losowe bramki Pauliego przed równoległymi bramkami splatającymi i po nich, które nie zmieniają logicznej zawartości obwodu, ale zmieniają efektywny model szumu.
Obwód do twirlingu Pauliego.
Osiąga się to przez podzielenie obwodu na warstwy boxów i dodanie adnotacji twirlingu.
Obwód z dyrektywami twirlingu Pauliego. Symbol @ służy do określania dyrektyw, a dressing domyślnie znajduje się po lewej stronie.
Każdy dressed box zawiera warstwę bramek jednokubitowych i warstwę dwukubitowych bramek splatających na rozłącznych parach kubitów. Warstwa bramek splatających jest otoczona warstwami losowych bramek Pauliego w taki sposób, że logiczne działanie boxa pozostaje niezmienione. Te losowe warstwy Pauliego są wirtualne w taki sam sposób jak wirtualna bramka Z. Nie dodają operacji do obwodu, lecz działają jako dyrektywa zmieniająca sposób implementacji sąsiednich bramek jednokubitowych.
Obwód z dressingami i bramkami z dyrektyw. Dressingi to pudełka zaznaczone linią przerywaną. Warstwy Pauliego połączone strzałkami znoszą się wzajemnie. Ostatnia warstwa Pauliego zostanie zastosowana jako odwrócenia bitów w wynikach pomiarów.
Losowa warstwa Pauliego między bramkami splatającymi a bramkami jednokubitowymi jest składana z warstwą bramek jednokubitowych i implementowana w jej dressingu. Druga losowa warstwa Pauliego zostanie złożona z dressingiem następnego dressed boxa.
Podsumowując, dyrektywa twirlingu lewostronnego (lub prawostronnego) implementuje losową bramkę Pauliego w dressingu tego boxa i stosuje bramkę Pauliego, która ją cofa, w dressingu następnego (lub poprzedniego) boxa. Dyrektywy wstrzykiwania szumu i zmiany bazy działają analogicznie.
Randomizacja obwodu za pomocą wirtualnych bramek
Samplomatic używa koncepcji wirtualnych bramek do wnioskowania o obwodach z dressed boxami. Koncepcyjnie, a także w implementacji w instancji Samplex tworzonej przez proces build(), wirtualne bramki są generowane na granicy boxa po stronie przeciwnej do jego dressingu. Te wirtualne bramki są przesuwane przez obwód w ustalony sposób i muszą zostać złożone z dressingiem. Jeśli wszystkie wirtualne bramki można złożyć z dressingami, randomizacje obwodu można budować proceduralnie.
Obwód z dyrektywami twirlingu, zmiany bazy i wstrzykiwania szumu.
Bramki po stronie dressingu, które są zgodne z parametryzacją szablonu dressingu, można z nim złożyć, zmniejszając liczbę fizycznych bramek. Nazywa się je łatwymi bramkami. Pozostała część boxa nazywana jest trudną i jest implementowana bez zmian.
Przykłady obwodów z wiszącymi wirtualnymi bramkami. Wirtualne bramki po przeciwnej stronie dressingu nie mają gdzie zostać zaimplementowane.
Przykłady obwodów, w których wszystkie wirtualne bramki są złożone z dressingami. W pomiarach bramki Pauliego są składane z uwzględnieniem odwrócenia bitu, które wywołują.
Złożony przykład, w którym zebrane są wszystkie wirtualne bramki. Wirtualne bramki generowane przez jeden box mogą być składane z różnymi dressingami.
Pozwala to na konstrukcje, w których dressed boxy nie muszą mieć tej samej szerokości.