CNOTゲート
量子コンピューティングは、量子重ね合わせや量子もつれといった量子力学の原理に大きく依存しています。CNOT ゲート(CX ゲートとも呼ばれます)は2つの量子ビットの状態をもつれさせるために使用でき、そのため非常に重要な量子ゲートです。OpenQASM チュートリアルのこの章では、量子ビットに CNOT ゲートを適用する方法について学びます。
CNOT(または CX)は、量子コンピューティング分野における基本的な2量子ビットゲートです。OpenQASM では CNOT は組み込みゲートであり、2つの量子ビットに CNOT ゲートを適用するための構文が用意されています。
CNOTゲート
CNOT ゲートは2量子ビットゲートであり、制御量子ビットが状態 |1> にある場合に限り、ターゲット量子ビットに条件付き NOT ゲートを適用します。
制御量子ビット qr1[index] とターゲット量子ビット qr2[index] に CNOT ゲートを適用するには、次の構文を使用します。
cx qr1[index], qr2[index];
注意: CNOT は組み込みゲートであるため、cx は予約キーワードです。
例
以下は、量子レジスタ qubits の最初の量子ビットを制御量子ビット、2番目の量子ビットをターゲット量子ビットとして CNOT ゲートを適用する例です。
OPENQASM 2.0;
include "qelib1.inc";
// Define quantum registers
qreg qubits[2];
// Apply CX gate
cx qubits[0], qubits[1];
注意: 制御量子ビットとターゲット量子ビットは、同じ量子レジスタにあっても、異なる量子レジスタにあっても構いません。
以下は、上記の例のコードを図で表現したものです。