Im Herzen von Wien
Hauptquartier
Löwengasse 14 / Lokal 2
1030 Wien, Österreich
Klassische Register in OpenQASM
So wie Qubits die Bausteine des Quantencomputings sind, bilden klassische Bits die Grundlage des klassischen Rechnens. OpenQASM bietet die Möglichkeit, Bits zu klassischen Registern zusammenzufassen, was besonders nützlich ist, wenn Sie mit Messergebnissen aus Quantenoperationen arbeiten. Dieses Kapitel zeigt Ihnen, wie Sie klassische Register in OpenQASM erstellen und mit ihnen arbeiten.
Klassische Register verstehen
Ein klassisches Register ähnelt einem Array in der klassischen Programmierung, ist jedoch dafür ausgelegt, Bits zu speichern, welche die binären Zustände 0 oder 1 darstellen.
In OpenQASM wird ein klassisches Register mit dem Schlüsselwort creg, einem Bezeichner und der Anzahl der Bits als Größe deklariert:
creg <identifier>[<size>];
Der Bezeichner muss den Namenskonventionen von OpenQASM entsprechen und die Größe muss eine positive ganze Zahl sein.
Experiment: Ein klassisches Register erstellen und verwenden
Sehen wir uns ein Experiment an, in dem wir ein klassisches Register erstellen, um das Ergebnis von Quantenmessungen aufzuzeichnen123456:
OPENQASM 2.0; // Specify OpenQASM version [^1]
include "qelib1.inc"; // Include the standard quantum library [^2]
// Quantum register with a single qubit and classical register with two bits
qreg qubit[1]; // Single-qubit quantum register [^4]
creg bits[2]; // Two-bit classical register [^3]
// Prepare qubit in a superposition state
h qubit[0]; // Apply Hadamard gate to the qubit [^5]
// Measure the qubit and store the result in the first bit of classical register
measure qubit[0] -> bits[0]; // Measurement operation [^6]
// The second bit remains in its initial state (0)
In diesem kombinierten Experiment enthält ein Quantenregister ein einzelnes Qubit, das wir mit einem Hadamard-Gatter in einen Superpositionszustand versetzen. Anschließend messen wir den Zustand des Qubits und speichern das Messergebnis im ersten Bit unseres klassischen Zwei-Bit-Registers. Das zweite Bit des Registers bleibt unverändert und veranschaulicht die Möglichkeit, mehrere Messergebnisse zu speichern oder zusätzliche Bits für andere klassische Berechnungen zu nutzen.
Klassische Ein-Bit-Register
OpenQASM erlaubt zwar keine Deklaration einzelner klassischer Bits, Sie können jedoch ein Ein-Bit-Register für Szenarien deklarieren, die nur ein Bit benötigen:
// One-bit classical register declaration
creg flag[1]; // Single-bit register named 'flag' [^3]
Zusammenfassend sind klassische Register in OpenQASM unverzichtbar, um die Ergebnisse von Quantenmessungen zu erfassen und aufzubewahren, und ermöglichen so die weitere Verarbeitung, die in Quantenalgorithmen benötigt wird.