OpenQASM における測定
量子測定は、量子ビットの状態を私たちが解釈できる古典ビットに変換する、量子コンピューティングにおける重要な操作です。この章では、OpenQASM における測定の構文を解説し、量子ビットの状態を古典レジスタに取り込む方法を示します。
量子測定の理解
OpenQASM における量子測定は、デフォルトで計算基底(Z 基底)で行われ、観測時に量子ビットの状態を \( |0\rangle \) または \( |1\rangle \) のいずれかに収縮させます。この過程は、0 または 1 の確定した値を持つ古典ビットを読み出すことに類似しています。OpenQASM を使えば、個々の量子ビットの測定も量子レジスタ全体の測定も簡単に行えます。
単一量子ビットの測定
単一量子ビットの状態の測定には measure コマンドを使用します。量子レジスタの特定の量子ビットを測定し、その状態を古典レジスタに格納するための構文は次のとおりです:
measure <quantum_register>[<qubit_index>] -> <classical_register>[<bit_index>];
実験:最初の量子ビットの測定
これを説明するために、量子レジスタから単一の量子ビットを測定してみましょう1234:
OPENQASM 2.0; // Define the OpenQASM version [^1]
include "qelib1.inc"; // Include the standard library [^2]
// Declaration of quantum and classical registers
qreg qubit[1]; // Single-qubit quantum register [^3]
creg bit[1]; // Single-bit classical register [^3]
// Measure the qubit and save the result in the classical bit
measure qubit[0] -> bit[0]; // Measurement command [^4]
この実験では、量子レジスタの量子ビットの測定された状態に対応する古典ビットが得られます。
量子レジスタの測定
量子レジスタ内のすべての量子ビットを同時に測定するには、同じ measure キーワードを使用します:
measure <quantum_register> -> <classical_register>;
実験:複数の量子ビットの測定
OPENQASM 2.0; // Define the OpenQASM version [^1]
include "qelib1.inc"; // Include the standard library [^1]
// Declare quantum and classical registers with matching sizes
qreg qubits[2]; // Quantum register with two qubits [^3]
creg bits[2]; // Classical register with two bits [^3]
// Execute measurements on all qubits and store the results
measure qubits -> bits; // Measurement command for all qubits [^4]
このシナリオでは、qubits レジスタの各量子ビットの測定された状態が、bits レジスタの対応するビットに格納されます。例えば、qubits[0] の状態は bits[0] に格納され、以下同様です。
注意: OpenQASM の measure コマンドは汎用的であり、プログラムの必要に応じて、単一量子ビットの測定にもレジスタ全体の測定にも対応します。
量子ビットを測定し、その結果を古典情報として格納できることは OpenQASM の基本的な特徴であり、量子操作と従来のコンピューティングの間の橋渡しをします。