無題
今回は、2つの量子ビットを連動させる「CXゲート(制御NOTゲート)」を導入します。Hゲートと組み合わせることで、量子ビット間に相関を持たせる「量子もつれ(Entanglement)」の基本回路を作成します。
1. サンプルコードの作成
2量子ビットの回路を作成し、0番目の量子ビットにHゲートを、その0番目を制御ビットとして1番目にCXゲートを適用します。これを sample2.py として保存しました。
from qiskit import QuantumCircuit # 2量子ビットの量子回路を作成 qc = QuantumCircuit(2) # 0番目にHゲートを適用 qc.h(0) # 0番目を制御ビット、1番目をターゲットビットとしてCXゲートを適用 qc.cx(0, 1) # 回路をテキスト形式で描画 print(qc.draw(output='text'))
2. 実行結果
ターミナルでスクリプトを実行すると、以下のように回路が表示されます。
% python sample2.py
┌───┐
q_0: ┤ H ├──■──
└───┘┌─┴─┐
q_1: ─────┤ X ├
└───┘
3. 回路のポイント
実行結果を見ると、0番目の H ゲートから伸びた線が、1番目の X ゲートへと繋がっているのがわかります。これが「量子もつれ」を生み出すベル状態の基本形です。回路図の表示レイアウトは環境によって多少ズレが生じることがありますが、重要なのは「どのゲートがどの量子ビットに接続されているか」という論理構造です。
複数の量子ビットを連携させることで、量子コンピュータ特有の計算処理への足掛かりができました。
次のステップ
回路の構造を確認できるようになったので、次は「測定(Measure)」を追加して、観測によってこの量子もつれ状態がどう確定するのかを実験してみます。