Was ist Oberflächencode? (Quantum Error Correction)

21

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.

Iwanowitsch
quelle
1
Herzlich willkommen! Zur Verdeutlichung: Sollen Antworten davon ausgehen, dass Sie bereits einen Blick auf torische Codes und Stabilisierungscodes auf Wikipedia-Ebene geworfen haben ?
Agaitaarino
2
Ich kenne keine Toric Codes oder Stabilizer Codes: | Aber ich werde darüber lesen
Iwanowitsch
1
Nett! Dann sollte das ein guter Anfang sein, denke ich. Ich schlage vor, mir diese vielleicht kurz anzuschauen und einige Details in die Frage einzubeziehen: Dinge, die Sie bereits zu verstehen glauben, und andere, die noch nicht so viel Sinn ergeben. Nach der Beantwortung könnte dies eine sehr hilfreiche Frage und Antwort für diejenigen sein, die hinter Ihnen her sind: Dies sind wichtige Konzepte, und die Terminologie ist in der Tat ein wenig verwirrend.
Agaitaarino
4
Ich kenne mich nicht mit Briefing aus, aber unter arxiv.org/abs/1208.0928 habe ich angefangen, etwas über den Oberflächencode zu lernen.
Craig Gidney

Antworten:

10

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).

Die Oberflächencodes können auch auf Qudits verallgemeinert werden. Mehr dazu finden Sie hier .

James Wootton
quelle
Funktioniert der Oberflächencode nur für topologische Quantencomputer?
Iwanowitsch
2
Die Oberflächencodes würden für alle Qubits funktionieren. In gewisser Weise erstellen Sie mit Oberflächencodes einen topologischen Quantencomputer mit nicht-topologischen Qubits.
James Wootton
13

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.

Bildbeschreibung hier eingeben

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.

Bp=XXXX,
Xp
EINs=ZZZZ.
s

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[EINs,EINs]=[Bp,Bp]=0ich[EINs,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; |ψ Dies definiert den Codespace des Codes. Wir sollten bestimmen, wie groß es ist.

s:EINs|ψ=|ψp:Bp|ψ=|ψ.

N×NN22N2N2EINsBp±1EINs2=Bp2=ich

sEINs=pBp=ichEINsBp

Logische Operatoren

X1,LZ1,LX2,LZ2,L

[X1,L,X2,L]=0[X1,L,Z2,L]=0[Z1,L,Z2,L]=0[Z1,L,X2,L]=0
{X1,L,Z1,L}=0{X2,L,Z2,L}=0

Es gibt verschiedene Konventionen, um die verschiedenen Operatoren zu kennzeichnen. Ich gehe mit meinem Favoriten (der wahrscheinlich weniger beliebt ist):

  • ZZ1,L

  • ZX2,LZ2,L

  • XZ2,L

  • XX1,L

XZ

|ψx,y:Z1,L|ψx,y=(-1)x|ψx,y,Z2,L|ψx,y=(-1)y|ψx,y

NN

Fehlererkennung und -korrektur

EINsBp±1

X-1+1XXX

Fehler beim Korrigieren des Schwellenwerts

NNNXZpp=0,1111%. Es hat auch einen endlichen fehlertoleranten Schwellenwert (bei dem Sie fehlerhafte Messungen und Korrekturen mit einer Fehlerrate pro Qubit zulassen).

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.

DaftWullie
quelle