CNOTゲート

量子もつれを生成する2量子ビットゲート。量子のif文。

Sohum Thakkar
Sohum Thakkar · CEO, Qolour
2026年5月7日

CNOT(制御NOT)ゲートは量子コンピューティングで最も重要なゲートです。

CNOTはif文の量子版です。こう言います:

まず、量子ビットを反転するとはどういう意味か

量子ビットを反転する方法は多くあります。3つを紹介します。それぞれ|0⟩(北極)から始まり|1⟩(南極)で終わりますが、異なる経路を取ります:

量子ビットを反転する3つの方法
Xゲート
xまわり180°
Yゲート
yまわり180°
別のゲート
(x + y)まわり180°

3つすべてが|0⟩|1⟩に、逆も同様に反転します。1つを選ぶ必要があります!

CNOTの反転は具体的にはXゲート、x軸まわりの180°回転です。

なので実際にCNOTはこう言います:

それがどう見えるか見てみましょう。

制御された反転はどう見えるか?

1つ目の量子ビットが|1⟩のとき

1つ目の量子ビットは|1⟩(下)なので、CNOTは2つ目にXゲートを適用します。

制御 · |1⟩
標的 · |0⟩
CNOT0%

2つ目の量子ビットはXを適用するのとまったく同じく|0⟩から|1⟩に反転しました。状態は|11⟩になります。1つ目は変わりません。それがボスです。CNOTは2つ目にしか触れません。

1つ目の量子ビットが|0⟩のとき

1つ目の量子ビットが代わりに|0⟩だったらどうなるでしょうか?どう思いますか?

予測してから、自分で確認:

制御 · |0⟩
標的 · |0⟩
CNOT0%

何も変わりません。1つ目の量子ビットは|0⟩だったので、if文はトリガーされませんでした。状態は|00⟩のままです。

重ね合わせ中

ここからが面白いケースです。1つ目を|0⟩|1⟩中間、50-50の重ね合わせに設定したらどうでしょう?(最初にアダマールを適用してそうします。)つまり、次の状態から始まることになります:

1√2(|0⟩ + |1⟩) |0⟩

今、1つ目の量子ビットには2つの可能性(または世界)があります。下の可視化ではで色付けします。最初、の両方の世界で、2つ目の量子ビットは「上」の位置にあることに注意してください。世界はその量子ビット上で重なり合うので、白になります。

しかし、CNOTを実行すると、の世界との世界が分かれます。の世界では1つ目の量子ビットが0の位置にあり、の世界では1の位置にあるので、の世界だけが反転します。

制御 · |+⟩
Entanglement0%
標的 · |0⟩
CNOT0%
1つ目の量子ビットは重ね合わせから始まります。両方の球に何が起きるか見てください。

2つの世界が並列に走っているところを想像してください:

  • 赤の世界:1つ目の量子ビットは最初から|0⟩でした。CNOTは何もしません。|00⟩で終わります。
  • 青の世界:1つ目の量子ビットは最初から|1⟩でした。CNOTは2つ目の量子ビットを反転します。|11⟩で終わります。

量子力学は1つを選びません。元の50-50分割で重み付けされた両方を保持します。結果は(|00⟩ + |11⟩)/√2ベル状態:非常に有名なもつれペア。

今測定したら何が起きますか?

2つの量子ビットは今相関しています。1つ目の量子ビットを測定して下だと分かれば、の世界にいると分かります。したがって、もう一方の量子ビットも下に違いありません!

1つ目の量子ビット
Entanglement100%
2つ目の量子ビット
「Zで測定」を押して、両方の世界が一緒に崩壊するのを見てください。

量子系を測定すると崩壊を引き起こします。つまり他のすべての世界が消えます。

量子もつれは測定結果間の依存関係です。明らかに結果はお互いに依存しているので、測定前は確実にもつれています!しかし測定後、依存はもうありません。

別の可視化

余談ですが、先ほどの可視化はZ基底測定から生じる2つの世界を示していました(だから世界がz軸上に配置されていました)。

しかしZ軸で測定する必要はありません。任意の方向で測定できます。球のあちこちに、可能性のある未来の状態はもっとたくさんあります。

次の可視化は、任意の方向の測定について、可能性のある未来の状態それぞれに固有の色を与えます。再び、2つの量子ビット上の相関した世界は同じ色で塗られます。

この可視化は完全に把握するためにしばらく座る必要があります。役立つ量子もつれのガイドがあります。

制御 · |+⟩
Entanglement0%
標的 · |0⟩
CNOT0%

真理値表

4つの古典入力に対して:

入力制御標的(前)標的(後)出力
|00⟩000|00⟩
|01⟩011|01⟩
|10⟩101 (反転)|11⟩
|11⟩110 (反転)|10⟩

1つ目の量子ビットは決して変わりません。2つ目は1つ目が1のときに正確に反転します。CNOTは自己逆元です:2回適用すると元の状態に戻ります。

行列

計算基底(順序|00⟩, |01⟩, |10⟩, |11⟩)で、CNOTは:

CNOT =1000010000010010

左上2×2ブロックは恒等(1つ目の量子ビット = 0は2つ目をそのままにする)で、右下2×2ブロックはパウリ-Xゲート(1つ目の量子ビット = 1は2つ目を反転する)です。

実世界でCNOTはどう実行されるか

CNOTは実際の量子ビット上であらゆる方法で実行されます。

電子スピン量子ビット(イオントラップなど)では、もつれさせたい2つの電子に2つの異なるレーザーが照射されます。1つ目の電子が上を向いていれば、レーザーを吸収し、トラップ全体にマイクロ振動を作ります。2つ目のレーザーがその振動を2つ目の量子ビットの反転に変換します。これにより電子スピン間に量子もつれが生まれます。

イオントラップで電子スピンをもつれさせる2つのレーザーの図解
イオントラップで電子スピンをもつれさせる2つのレーザー。

なぜCNOTは重要か

単一量子ビットゲートだけでは2つの量子ビットをもつれさせられません。各量子ビットを一日中独立して回転させても、独立したままです。本当に多量子ビット的なことをするには、少なくとも1つの2量子ビットゲートが必要で、CNOTが標準です。

2つの特定の単一量子ビットゲート(アダマールとTゲート)と組み合わせると、CNOTは普遍ゲートセットを形成します。任意の数の量子ビットに対するあらゆる量子演算を、その3つから望む精度で構築できます。ほとんどの量子ハードウェアベンダーは正確にこのゲートセットをネイティブ演算として実装しています。

よくある質問

CNOTゲートは何をしますか?

CNOTは2量子ビットゲートです。1つ目が|1⟩状態のときのみ、2つ目の量子ビットを反転します。1つ目が|0⟩なら、2つ目はそのままです。

なぜCNOTは量子もつれを生成するのですか?

1つ目の量子ビットにアダマールを適用して重ね合わせに置き、それからCNOTを実行します。今、2つの量子ビットは相関しています。1つを測定すると、すぐにもう一方の結果がわかります。|00⟩から始めて、この正確な順序(HからCNOT)はベル状態、最も単純なもつれペアを与えます。

CNOTの真理値表は何ですか?

4つの古典入力に対して:

入力出力
|00⟩|00⟩
|01⟩|01⟩
|10⟩|11⟩
|11⟩|10⟩
CNOTは可逆ですか?

はい。すべての量子ゲートと同様、CNOTはユニタリなので可逆です。実際、自己逆元です:CNOTを2回適用すると元の場所に戻ります。

なぜCNOTはそれほど重要なのですか?

単一量子ビットゲートは量子もつれを生成できません。複数の量子ビットにわたって本当に量子的なことをするには、少なくとも1つの2量子ビットゲートが必要で、CNOTが標準的な選択です。HTと組み合わせて、CNOTは普遍ゲートセットを形成します。つまり、任意の量子演算をその3つから構築できます。

CNOTの行列は何ですか?

計算基底での4×4行列。ブロック形式では、(1つ目の量子ビット = 0)部分空間上で2×2恒等、(1つ目の量子ビット = 1)部分空間上でパウリ-X:まさに「1つ目が1のときだけ2つ目を反転」。

Qubiを入手

もつれ量子ビットを手に。

手で持てる量子ビットのペアを作りました。概念を腑に落とすのに役立ち、実際の量子コンピュータにも接続できます!