Wo setzen wir den Fehlerkorrekturcode in die Quantenschaltung ein?


11

Zunächst einmal: Ich bin ein Anfänger im Quantencomputing.

Ich hätte gerne eine Ressource (oder eine Antwort, wenn es nicht kompliziert ist), die erklärt, wo wir die Fehlerkorrekturcodes in eine Quantenschaltung einfügen.

In der Tat weiß ich, dass wir verschiedene mögliche Fehler haben können (Bit-Flip, Phase-Flip usw.), und wir haben einen Algorithmus, um sie zu korrigieren. Was ich aber gerne wissen würde, ist, ob es einige Strategien gibt, wo wir den Fehlerkorrekturalgorithmus platzieren. Ist es nach jedem Gate am Hauptalgorithmus beteiligt? Gibt es eine intelligentere Strategie, um eine einzelne Korrektur für eine Reihe von Toren durchzuführen?

Wenn die Antwort "kompliziert" ist, hätte ich gerne eine Ressource, um all dies zu lernen (ich finde viele Dinge für den Fehlerkorrekturcode, aber ich habe nichts darüber gefunden, wo wir die Korrektur durchführen müssen).


4
Ihre Frage bezieht sich also auf fehlertolerantes Quantencomputing, oder? Ich meine, Sie möchten wissen, wie die Fehlerkorrektur verwendet wird, um Quantenalgorithmen so ausführen zu können, dass keine Fehler die Ausgabe eines solchen Algorithmus verfälschen.
Josu Etxezarreta Martinez

1
@ JosuEtxezarretaMartinez in der Tat!
StarBucK

Die kurze Antwort lautet: überall!
DaftWullie

Antworten:


9

Aufgrund Ihrer Frage denke ich, dass Sie nicht nach dem richtigen Begriff gesucht haben. Fehlerkorrekturcodes sind Methoden, um mögliche Fehler zu erkennen und zu korrigieren, die bei Qubits aufgrund des Dekohärenzeffekts auftreten.

Der Begriff fehlertolerantes Quantencomputing bezieht sich auf das Paradigma von Quantengeräten, die auch dann effektiv arbeiten, wenn ihre Elementarkomponenten nicht perfekt sind, und die von Ihnen gesuchten Fehlerkorrekturcodes sind die Grundlage für die Erstellung solcher Berechnungen. Ich ermutige Sie, selbst nach Informationen zur Fehlertoleranz zu suchen, da dies ein ziemlich großer Bereich im Quantencomputer ist. Ich empfehle Ihnen jedoch dringend den Text Fehlertolerante Quantenberechnung von Preskill. In einem solchen Artikel spricht der Autor zwar über Fehlerkorrekturcodes, geht aber anschließend tief in das fehlertolerante Konzept ein, und ich denke, dass es viele Ihrer Zweifel an dem Thema lösen wird.


6

Beim fehlertoleranten Quantencomputing wird zwischen physischen und logischen Qubits unterschieden.

Die logischen Qubits sind diejenigen, die wir in unserem Algorithmus verwenden. Wenn unsere Eingabe also eine Zahl ist, die binär über Qubits gespeichert ist (wie im Shor-Algorithmus), dann sind diese Qubits logische Qubits. Wenn wir nach einer Quanten-Fourier-Transformation für eine Sammlung von Qubits fragen, sind dies auch logische Qubits. Wir erwarten, dass logische Qubits und die Operationen, die wir an ihnen ausführen, völlig fehlerfrei sind, genau wie wir es mit den Bits und Operationen in normalen Computern tun.nn

Die physischen Qubits sind diejenigen, die tatsächlich existieren, und sie sind laut. Diese verwenden wir, um logische Qubits zu erstellen, aber normalerweise sind viele physische Qubits erforderlich, um ein logisches Qubit zu erstellen. Dies liegt an der großen Redundanz, die erforderlich ist, um Fehler erkennen und korrigieren zu können.

Das Design des tatsächlichen Codes, der auf physischen Qubits ausgeführt wird, erfolgt in Schichten. Ein Softwareentwickler für die Quantenfehlerkorrektur entwirft die logischen Qubits, indem er das Programm schreibt, das zur Implementierung des Quantenfehlerkorrekturcodes erforderlich ist. Für jede Operation, die jemand in einem Algorithmus benötigt, entwirft er eine fehlerkorrekturkompatible Version, die die Operation an den logischen Qubits so ausführt, dass ihre Unvollkommenheiten erkannt und korrigiert werden können.

Dann kommt der Programmierer und schreibt sein Programm. Sie müssen überhaupt nicht an physische Qubits oder Fehlerkorrekturen denken.

Schließlich kombiniert der Compiler alles, um die fehlertolerante Version des Programms zu erstellen, die auf den physischen Qubits ausgeführt werden soll. Dies sieht nicht so aus, wie es vom Programmierer geschrieben wurde. Es sieht nicht nach einer ständigen Abwechslung von Dingen aus, die der Programmierer geschrieben hat, gefolgt von Fehlerkorrekturen, um sie zu bereinigen. Es wird sich fast vollständig damit befassen, nur die ständig auftretenden Fehler zu erkennen und zu korrigieren, mit geringfügigen Störungen, um den Algorithmus zu implementieren.

Als Referenz denke ich, dass es am besten ist, etwas zu empfehlen, das erklärt, wie Operationen an logischen Qubits auf physischen Qubits über einen Fehlerkorrekturcode implementiert werden. Eine meiner eigenen Arbeiten erledigt diese Aufgabe, indem sie dies auf verschiedene Weise erklärt, um logische Operationen im Oberflächencode zu erhalten. Es enthält auch Verweise auf viele Werke anderer auf demselben Gebiet.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.