CNOT(制御NOT)ゲートは量子コンピューティングで最も重要なゲートです。
CNOTはif文の量子版です。こう言います:
まず、量子ビットを反転するとはどういう意味か
量子ビットを反転する方法は多くあります。3つを紹介します。それぞれ|0⟩(北極)から始まり|1⟩(南極)で終わりますが、異なる経路を取ります:
3つすべてが|0⟩を|1⟩に、逆も同様に反転します。1つを選ぶ必要があります!
CNOTの反転は具体的にはXゲート、x軸まわりの180°回転です。
なので実際にCNOTはこう言います:
それがどう見えるか見てみましょう。
制御された反転はどう見えるか?
1つ目の量子ビットが|1⟩のとき
1つ目の量子ビットは|1⟩(下)なので、CNOTは2つ目にXゲートを適用します。
2つ目の量子ビットはXを適用するのとまったく同じく|0⟩から|1⟩に反転しました。状態は|11⟩になります。1つ目は変わりません。それがボスです。CNOTは2つ目にしか触れません。
1つ目の量子ビットが|0⟩のとき
1つ目の量子ビットが代わりに|0⟩だったらどうなるでしょうか?どう思いますか?
予測してから、自分で確認:
何も変わりません。1つ目の量子ビットは|0⟩だったので、if文はトリガーされませんでした。状態は|00⟩のままです。
重ね合わせ中
ここからが面白いケースです。1つ目を|0⟩と|1⟩の中間、50-50の重ね合わせに設定したらどうでしょう?(最初にアダマールを適用してそうします。)つまり、次の状態から始まることになります:
今、1つ目の量子ビットには2つの可能性(または世界)があります。下の可視化では赤と青で色付けします。最初、赤と青の両方の世界で、2つ目の量子ビットは「上」の位置にあることに注意してください。世界はその量子ビット上で重なり合うので、白になります。
しかし、CNOTを実行すると、赤の世界と青の世界が分かれます。赤の世界では1つ目の量子ビットが0の位置にあり、青の世界では1の位置にあるので、青の世界だけが反転します。
2つの世界が並列に走っているところを想像してください:
- 赤の世界:1つ目の量子ビットは最初から
|0⟩でした。CNOTは何もしません。|00⟩で終わります。 - 青の世界:1つ目の量子ビットは最初から
|1⟩でした。CNOTは2つ目の量子ビットを反転します。|11⟩で終わります。
量子力学は1つを選びません。元の50-50分割で重み付けされた両方を保持します。結果は(|00⟩ + |11⟩)/√2、ベル状態:非常に有名なもつれペア。
今測定したら何が起きますか?
2つの量子ビットは今相関しています。1つ目の量子ビットを測定して下だと分かれば、青の世界にいると分かります。したがって、もう一方の量子ビットも下に違いありません!
量子系を測定すると崩壊を引き起こします。つまり他のすべての世界が消えます。
量子もつれは測定結果間の依存関係です。明らかに結果はお互いに依存しているので、測定前は確実にもつれています!しかし測定後、依存はもうありません。
別の可視化
余談ですが、先ほどの可視化はZ基底測定から生じる2つの世界を示していました(だから世界がz軸上に配置されていました)。
しかしZ軸で測定する必要はありません。任意の方向で測定できます。球のあちこちに、可能性のある未来の状態はもっとたくさんあります。
次の可視化は、任意の方向の測定について、可能性のある未来の状態それぞれに固有の色を与えます。再び、2つの量子ビット上の相関した世界は同じ色で塗られます。
この可視化は完全に把握するためにしばらく座る必要があります。役立つ量子もつれのガイドがあります。
真理値表
4つの古典入力に対して:
| 入力 | 制御 | 標的(前) | 標的(後) | 出力 |
|---|---|---|---|---|
| |00⟩ | 0 | 0 | 0 | |00⟩ |
| |01⟩ | 0 | 1 | 1 | |01⟩ |
| |10⟩ | 1 | 0 | 1 (反転) | |11⟩ |
| |11⟩ | 1 | 1 | 0 (反転) | |10⟩ |
1つ目の量子ビットは決して変わりません。2つ目は1つ目が1のときに正確に反転します。CNOTは自己逆元です:2回適用すると元の状態に戻ります。
行列
計算基底(順序|00⟩, |01⟩, |10⟩, |11⟩)で、CNOTは:
左上2×2ブロックは恒等(1つ目の量子ビット = 0は2つ目をそのままにする)で、右下2×2ブロックはパウリ-Xゲート(1つ目の量子ビット = 1は2つ目を反転する)です。
実世界でCNOTはどう実行されるか
CNOTは実際の量子ビット上であらゆる方法で実行されます。
電子スピン量子ビット(イオントラップなど)では、もつれさせたい2つの電子に2つの異なるレーザーが照射されます。1つ目の電子が上を向いていれば、レーザーを吸収し、トラップ全体にマイクロ振動を作ります。2つ目のレーザーがその振動を2つ目の量子ビットの反転に変換します。これにより電子スピン間に量子もつれが生まれます。

なぜCNOTは重要か
単一量子ビットゲートだけでは2つの量子ビットをもつれさせられません。各量子ビットを一日中独立して回転させても、独立したままです。本当に多量子ビット的なことをするには、少なくとも1つの2量子ビットゲートが必要で、CNOTが標準です。
2つの特定の単一量子ビットゲート(アダマールとTゲート)と組み合わせると、CNOTは普遍ゲートセットを形成します。任意の数の量子ビットに対するあらゆる量子演算を、その3つから望む精度で構築できます。ほとんどの量子ハードウェアベンダーは正確にこのゲートセットをネイティブ演算として実装しています。
関連概念
- アダマールゲート:CNOTの前に通常1つ目の量子ビットで実行するゲート。
- パウリ-X(NOT):1つ目が1のときCNOTが2つ目に適用するゲート。
- 量子ゲートとは? 包括的な概念。
- ブロッホ球:2つの球それぞれが表すもの。
よくある質問
CNOTゲートは何をしますか?
CNOTは2量子ビットゲートです。1つ目が|1⟩状態のときのみ、2つ目の量子ビットを反転します。1つ目が|0⟩なら、2つ目はそのままです。
なぜCNOTは量子もつれを生成するのですか?
CNOTの真理値表は何ですか?
4つの古典入力に対して:
| 入力 | 出力 |
|---|---|
| |00⟩ | |00⟩ |
| |01⟩ | |01⟩ |
| |10⟩ | |11⟩ |
| |11⟩ | |10⟩ |
CNOTは可逆ですか?
はい。すべての量子ゲートと同様、CNOTはユニタリなので可逆です。実際、自己逆元です:CNOTを2回適用すると元の場所に戻ります。
なぜCNOTはそれほど重要なのですか?
単一量子ビットゲートは量子もつれを生成できません。複数の量子ビットにわたって本当に量子的なことをするには、少なくとも1つの2量子ビットゲートが必要で、CNOTが標準的な選択です。HとTと組み合わせて、CNOTは普遍ゲートセットを形成します。つまり、任意の量子演算をその3つから構築できます。
CNOTの行列は何ですか?
計算基底での4×4行列。ブロック形式では、(1つ目の量子ビット = 0)部分空間上で2×2恒等、(1つ目の量子ビット = 1)部分空間上でパウリ-X:まさに「1つ目が1のときだけ2つ目を反転」。