Ich studiere Quantencomputing und Information. Ich habe mich mit der Phrase 'Surface Code' abgefunden, kann aber keine kurze Erklärung finden, was es ist und wie es funktioniert. Hoffentlich könnt ihr mir dabei helfen.
Hinweis: Wenn Sie möchten, können Sie auch komplizierte Mathematik verwenden. Ich bin in gewissem Maße mit der Quantenmechanik vertraut.
error-correction
terminology
Iwanowitsch
quelle
quelle
Antworten:
Die Oberflächencodes sind eine Familie von Quantenfehlerkorrekturcodes, die auf einem 2D-Gitter von Qubits definiert sind. Jeder Code innerhalb dieser Familie verfügt über Stabilisatoren, die in der Masse gleich definiert sind, sich jedoch in ihren Randbedingungen voneinander unterscheiden.
Die Mitglieder der Oberflächencodefamilie werden manchmal auch durch spezifischere Namen beschrieben: Der torische Code ist ein Oberflächencode mit periodischen Randbedingungen, der planare Code ist einer, der in einer Ebene definiert ist, usw. Der Begriff "Oberflächencode" wird manchmal auch verwendet austauschbar mit 'Planarcode', da dies das realistischste Beispiel für die Oberflächencodefamilie ist.
Die Oberflächencodes sind derzeit ein großes Forschungsgebiet, daher zeige ich Sie nur auf einige gute Einstiegspunkte (zusätzlich zu dem oben verlinkten Wikipedia-Artikel).
Topologisches Quantenspeicher (Papier)
Oberflächencodes: Auf dem Weg zur praktischen Quantenberechnung im großen Maßstab (Papier)
Meine Blog-Serie, die Oberflächencodes vorstellt
Die Oberflächencodes können auch auf Qudits verallgemeinert werden. Mehr dazu finden Sie hier .
quelle
Die Terminologie von 'Oberflächencode' ist ein wenig variabel. Es kann sich auf eine ganze Klasse von Dingen beziehen, auf Varianten des Toric-Codes auf verschiedenen Gittern, oder auf den Planar-Code, die spezifische Variante auf einem quadratischen Gitter mit offenen Randbedingungen.
Der Toric Code
Ich werde einige der grundlegenden Eigenschaften des Toric-Codes zusammenfassen. Stellen Sie sich ein quadratisches Gitter mit periodischen Randbedingungen vor, dh die obere Kante wird mit der unteren Kante und die linke Kante mit der rechten Kante verbunden. Wenn Sie dies mit einem Blatt Papier versuchen, erhalten Sie eine Donutform oder einen Torus. Auf diesem Gitter platzieren wir ein Qubit an jeder Kante eines Quadrats.
Stabilisatoren
Als nächstes definieren wir eine ganze Reihe von Operatoren. Für jedes Quadrat auf dem Gitter (bestehend aus 4 Qubits in der Mitte jeder Kante) schreiben wir wobei auf jedes der 4 Qubits eine Pauli- X- Drehung angewendet wird . Die Bezeichnung p bezieht sich auf "Plakette" und ist nur ein Index, damit wir später über den gesamten Plakettensatz hinweg zählen können. An jedem Scheitelpunkt des Gitters (umgeben von 4 Qubits) definieren wir A s = Z Z Z Z . s bezieht sich auf die Sternform und lässt uns noch einmal alle diese Begriffe zusammenfassen.
Wir stellen fest, dass sich alle diese Begriffe gegenseitig austauschen. Es ist trivial für weil Pauli-Operatoren mit sich selbst und mir pendeln . Bei [ A s , B p ] = 0 ist mehr Sorgfalt geboten. Beachten Sie, dass diese beiden Terme entweder 0 oder 2 Stellen gemeinsam haben und dass Paare verschiedener Pauli-Operatoren [ X X , Z Z ] = 0 austauschen[As,As′]=[Bp,Bp′]=0 I [As,Bp]=0 [XX,ZZ]=0 .
Codespace
Da alle diese Operatoren pendeln, können wir einen simultanen Eigenzustand von allen definieren, einen Zustand so dass ∀ s : A s | & psgr; ⟩ = | & psgr; ⟩| & psgr;⟩
Dies definiert den Codespace des Codes. Wir sollten bestimmen, wie groß es ist.
Logische Operatoren
Es gibt verschiedene Konventionen, um die verschiedenen Operatoren zu kennzeichnen. Ich gehe mit meinem Favoriten (der wahrscheinlich weniger beliebt ist):
Fehlererkennung und -korrektur
Fehler beim Korrigieren des Schwellenwerts
Der Planare Code
Details sind größtenteils identisch mit dem Toric-Code, außer dass die Randbedingungen des Gitters nicht periodisch, sondern offen sind. Dies bedeutet, dass die Stabilisatoren an den Rändern etwas anders definiert werden. In diesem Fall enthält der Code nur ein logisches Qubit anstelle von zwei.
quelle