承知しました。以下は、ご要望どおり「実験: 単一量子ビットの量子レジスタ」のセクションにアダマールゲートのみを組み込むよう調整し、教育的なアプローチを保ったまま改訂した章です。
OpenQASM における量子レジスタ
量子レジスタは、OpenQASM プログラムの中で、量子情報の基本単位である量子ビットをまとめて管理するための重要な道具です。この章では、量子レジスタの宣言方法とその扱い方を説明します。
量子レジスタ入門
OpenQASM の量子レジスタは、従来の計算機における古典レジスタとよく似た働きをし、複数の量子ビットをまとめて操作する手段を提供します。
量子レジスタを宣言するには、qreg キーワードを、有効な識別子および含める量子ビット数とともに用います。
qreg <identifier>[<size>];
識別子は OpenQASM の命名規則に従う必要があります。サイズは、レジスタの量子ビット数を定める正の整数です。
宣言の例
たとえば、qubits という名前の 2 量子ビットの量子レジスタを作成するには次のようにします。
// Quantum register creation with two qubits
qreg qubits[2];
注記: 宣言した時点で、量子レジスタ内のすべての量子ビットはデフォルトで \( |0\rangle \) 状態になります。
レジスタ内の量子ビットの参照
レジスタ内の個々の量子ビットには、配列の要素と同様、インデックスによってアクセスします。
<identifier>[<index>]
インデックスは 0 から n-1 までの範囲を取ります(サイズ n の量子レジスタの場合)。これは標準的なゼロベースのインデックス規則に従うものです。
実験: 量子レジスタの使用
量子ゲートを先ほどの qubits レジスタに適用するには、次のようにします12345。
OPENQASM 2.0; // Declaration of OpenQASM version [^1]
include "qelib1.inc"; // Inclusion of the standard library [^2]
// Initialization of a two-qubit quantum register
qreg qubits[2]; // Declaration of the quantum register [^3]
// Application of Hadamard gates
h qubits[0]; // Hadamard on the first qubit [^4]
h qubits[1]; // Hadamard on the second qubit [^5]
ここでは、各量子ビットにアダマールゲートが作用します。アダマールゲートは量子ビットを重ね合わせ状態にするもので、多くの量子アルゴリズムにおける基本的なステップです。
実験: 単一量子ビットの量子レジスタ
OpenQASM 2 では、個々の量子ビットに対してもレジスタを使う必要があります12345。
OPENQASM 2.0; // Declaration of OpenQASM version [^1]
include "qelib1.inc"; // Inclusion of the standard library [^2]
// Single-qubit register declaration
qreg qubit[1]; // A quantum register representing a single qubit [^3]
// Hadamard gate applied to the single qubit
h qubit[0]; // Enacting a Hadamard transformation [^4]
単一の量子ビットを量子レジスタとして扱うことで、言語の構文との一貫性が保たれ、より大きなレジスタの場合とまったく同じように量子演算を適用できます。
解説と例は、基礎的な概念に焦点を保ちながら、「実験」を通じて実践的なデモンストレーションを提供するように更新されています。この構成は、OpenQASM の量子レジスタを学び始める初心者にとって、円滑で教育的な体験となることを目指したものです。