QC - Quantenprogrammierung: Implementierungsprobleme

Foto von NeONBRAND

Wir befinden uns noch im Anfangsstadium von Quantum Computing. Erwarten Sie Überraschungen! Ein Quantenalgorithmus hängt von den verfügbaren Qubits und auch davon ab, wie diese Qubits verbunden sind. Unterschiedliche Modelle von Quantencomputern können dies unterschiedlich machen. Dies ähnelt einem Programm, das auf einem Intel i7-Prozessor ausgeführt wird und für den Prozessor der nächsten Generation fehlschlägt. Dekohärenz ist ein weiteres wichtiges Thema im Quantencomputer. Erwarten Sie nicht, ein laufendes Programm anzuhalten und sich einen Kaffee zu holen. Sobald Sie die Run-Taste drücken, sind Sie unter der Uhr. Das Programm muss schnell beendet sein, bevor die Quanteninformation verfällt. In diesem Artikel werden einige Implementierungsprobleme sowie das Dekohärenzproblem behandelt.

Tor tauschen

Die physikalische Implementierung von Qubits ist möglicherweise nicht symmetrisch. Ein Gatter, das nicht gesteuert wird, kann Qubit-0 als Steuerung und Qubit-1 als Ziel annehmen, aber nicht das Gegenteil.

Stark von Implementierungen abhängig

Hier wird gezeigt, wie 2-Qubit in CNOT-Gate auf IBM Q5 verbunden werden kann.

Wie unten gezeigt, erhalten wir einen Fehler, wenn wir q1 und q2 mit einem nicht gesteuerten Gate verbinden.

Quelle

Q1 als Kontroll-Qubit mit q2 als Ziel ist in dieser Maschine nicht zulässig.

Wenn Sie die Tore neu mischen, ist der Fehler behoben.

Hier ist ein weiteres Beispiel für IBM Q20.

IBM Q 20 Tokyo (20 Qubits) - Geändert von der Quelle

Um diese Einschränkung zu überwinden, können wir zwei Qubits durch Tauschen austauschen.

Hier sind andere Möglichkeiten, um das Problem zu überwinden:

Quelle

Universaltor

Beim klassischen Rechnen ist das NAND-Gatter ein universelles Gatter, das die verbleibenden Operationen aufbauen kann. Aus Gründen der Leistung können wir einige weitere universelle Gates implementieren. Auf diesen physischen Toren sind komplexe Tore aufgebaut. In Quantentoren ist die universelle Menge

Dies kann durch CNOT-, H-, S- und T-Gatter mit etwas Overhead weiter reduziert und mit beliebiger Genauigkeit angenähert werden. In der Praxis implementiert IBM Q (ibmqx4) die folgenden physischen Gates:

wo

Für die Programmierschnittstelle werden in IBM Q alle folgenden Operationen bereitgestellt, die auf den obigen Gattern aufbauen.

Dies führt uns tatsächlich zu einem wichtigen Thema.

Nicht alle Qubits sind gleich

Präzision und Fehler bleiben ein Thema für das Quantencomputing. Wie oben angegeben, haben unterschiedliche Qubits unterschiedliche Gate- und Auslesefehler. Beim Gate-Fehler geht es um die Präzision beim Anwenden eines Quantentors. d.h. wie genau können wir die Überlagerung steuern? Auslesefehler ist der Fehler beim Messen von Qubits. MultiQubit-Gate-Fehler ist der Fehler beim Betreiben des 2-Qubit-Gates. Diese Information kann bei der Implementierung eines Algorithmus berücksichtigt werden. Zumindest sollte dies mit Ihrem Ausführungslauf dokumentiert werden, um einen späteren Vergleich oder eine spätere Bezugnahme zu ermöglichen.

Dekohärenz & Fehler

Wie bereits erwähnt, läuft jedes Quantenprogramm unter der Uhr. Sobald Sie auf die Schaltfläche "Ausführen" klicken, werden die Quanteninformationen aufgrund der Wechselwirkung mit der Umgebung (etwaige elektrische und magnetische Felder in der Nähe) schlechter. Ihr Programm muss abgeschlossen sein, bevor der Quantenzustand zu Müll wird. Sie sollten sich also der Länge der in Ihrem Programm verwendeten physikalischen Quantentore bewusst sein. Da das Programm in logischen Quantentoren geschrieben ist, ist es hilfreich zu wissen, wie physikalische Tore in physikalische Tore übersetzt werden.

Die Qualität der Quantencomputer kann durch die Relaxationszeit (T1), Kohärenzzeit (T2), Auslesefehler und Gatterfehler gemessen werden.

Quelle IBM

Der Dekohärenzprozess wird über T1 und T2 gemessen.

T1 - Energieentspannung: Die für den angeregten | 1 excited-Zustand benötigte Zeit nimmt in Richtung des Grundzustands | 0⟩ ab.

T2 - Dephasierung, die die Überlagerungsphase beeinflusst. T2 beinhaltet den Effekt der Dephasierung sowie die Energieentspannung.

Deshalb werden diese Informationen immer zu Ihrer Information veröffentlicht.

Fehlertoleranz

Fehlertoleranz-Computing wird im Ingenieurwesen schon sehr lange nicht mehr gelehrt. Quantum Computing bringt das Thema zurück. Die Quantenberechnung ist fehleranfällig. Um das Problem auszugleichen, können wir zusätzliche Quantentore zur Fehlererkennung oder Fehlerkorrektur hinzufügen. Dies ist einer der Hauptgründe, warum wir immer viel mehr Qubits benötigen, als wir denken. Das folgende Beispiel ist ein Codierer und ein Decodierer, die einen Qubit-Fehler zulassen.

Quelle: IBM

Nächster

Jetzt beenden wir die Quantentore. Als nächstes lernen wir, einen Quantenalgorithmus zu programmieren.

Hier ist der Link für die ganze Serie: