量子ゲート入門 — 状態を「回す」操作
古典コンピュータの AND や NOT にあたるのが量子ゲート。その正体は、ブロッホ球の上で状態の矢印を回転させる操作です。X・H・Z…と押しながら、矢印がくるりと回る様子を体感しましょう。
1. ゲート=ブロッホ球の回転
前章で見たとおり、1量子ビットの状態はブロッホ球面上の1点(矢印)で表せます。量子ゲートはこの矢印をある軸のまわりに、決まった角度だけ回す操作です。代表的なゲートを回転として書くと:
- X ゲート:x軸まわりに180°回転。|0⟩ ↔ |1⟩ を入れ替える「量子版NOT」。
- Z ゲート:z軸まわりに180°回転。|1⟩ の振幅の符号だけを反転する(確率は変えない!)。
- H ゲート(アダマール):x軸とz軸の中間の斜め軸まわりに180°回転。|0⟩ を重ね合わせ |+⟩ に変える。
- S・T ゲート:z軸まわりに90°・45°だけ回す「小刻みな位相回転」。
下の操作盤でゲートを押すと、矢印が対応する軸(緑の線)のまわりに回転します。押した履歴は下に量子回路図として並んでいきます。
1量子ビットゲート操作盤 — ブロッホ球で回す
オレンジの矢印=現在の状態、緑の線=直前のゲートの回転軸、紫の点=回転の軌跡。|0⟩ から H を押すと赤道(|+⟩)へ、そこから Z を押すと反対側(|−⟩)へ回ります。Z は |0⟩ に対しては何も起きない(回転軸上にあるため)ことも確かめてみてください。
POINT — 1量子ビットゲートはすべて回転
どんな1量子ビットゲートも「軸と角度」の組で書ける回転にすぎない。回転は状態をつぶしたり伸ばしたりしない — 矢印の長さ(=全確率1)は必ず保たれる。これが次節以降で出てくるユニタリ性の幾何学的な意味。
2. H ゲートの魔法 — 2回掛けると戻る
いちばん量子らしいゲートが H(アダマール)です。|0⟩ に1回掛けると半々の重ね合わせ |+⟩ に、もう1回掛けると確率100%で |0⟩ に戻ります。「半々にする操作を2回やったら半々のまま」という古典の直感が通用しません。
H|0⟩ = |+⟩ = (|0⟩+|1⟩)/√2 H|+⟩ = |0⟩
戻れるのは、振幅の足し引き(干渉)で |1⟩ の成分が打ち消し合うから
ただし条件があります — 途中で測定しないこと。下の実験で「H → H」と「H → 測定 → H」を比べてみてください。
H → H は戻る。あいだに測定を挟むと壊れる
実験①: H → H と押す → P(0) が 100% に戻る。実験②: H → 測定 → H と押す → 測定で重ね合わせが壊れ、最後は 50/50 のまま。同じ「Hを2回」でも、覗いたかどうかで結末が変わります。
注意 — 量子ゲートは可逆、古典の AND は不可逆
古典の AND は「出力 0」から入力を復元できない(00 か 01 か 10 か分からない)— 情報を捨てる不可逆な操作。一方、量子ゲートは回転なので逆回転すれば必ず元に戻せる(X も H も自分自身が逆操作)。量子計算の途中で情報を捨てる操作はただ一つ、測定だけ。
3. ゲートの正体は行列 — ユニタリ変換
状態 |ψ⟩ = α|0⟩ + β|1⟩ を縦に並べたベクトル (α, β) と見ると、ゲートは2×2行列の掛け算です。たとえば H は:
H = 1/√2 ⎡ 1 1 ⎤
⎣ 1 −1 ⎦ |ψ′⟩ = U|ψ⟩, U†U = I U†U = I がユニタリ性の条件。「転置して複素共役を取ると逆行列になる」=長さを変えない回転
⎣ 1 −1 ⎦ |ψ′⟩ = U|ψ⟩, U†U = I U†U = I がユニタリ性の条件。「転置して複素共役を取ると逆行列になる」=長さを変えない回転
下のデモでゲートと入力状態を選ぶと、行列とベクトルの積の計算過程がそのまま表示されます。右の円で、結果のベクトルの長さがつねに1のまま(=確率の合計が1のまま)であることに注目してください。
行列 × 状態ベクトル — 計算過程と「長さを保つ回転」
「ゲートを適用」を続けて押すと、出力が次の入力になって連続適用できます。S や T を掛けると振幅に虚数 i が現れます — 実数の円では位相が見えないため破線表示になります(ここでブロッホ球が必要になる、というわけです)。
一歩先へ — 万能ゲートセット
古典で NAND さえあれば何でも作れるように、量子でも H・T と(2量子ビットの)CNOT があれば、どんな量子計算でも任意の精度で組み立てられることが知られている(万能ゲートセット)。CNOT は次章「複数量子ビット」で登場する。
4. まとめ — ゲートの3つの顔
- 幾何の顔:ゲート=ブロッホ球上の回転(軸と角度)。X は x 軸180°、H は斜め軸180°、S・T は z 軸の小刻み回転。
- 代数の顔:ゲート=2×2のユニタリ行列。U†U = I、つまり長さ(全確率)を保つ変換。
- 情報の顔:ゲートは可逆で情報を捨てない。捨てるのは測定だけ。H→H が戻るのは干渉のおかげで、途中の測定はそれを壊す。
次章では量子ビットを2個以上に増やします。状態空間が一気に膨らみ、CNOT と「もつれ」が登場します。