tecktom.com

当てる道具:2つの反射の積は回転

2026年10月15日8分で読めますAI生成教科書『虎の巻』第6部 第4章 Grover と探索の下界
目次
  1. 2つの反射
  2. 2次元の平面に閉じる
  3. 回路で書く
  4. 木下の層

AI 生成・木下が未勉強

相対エントロピーから情報と物理を組み立てる 第6部 第4章 §6.4.2 ★★★ オラクル O^v\hat O_v と平均のまわりの反射 R^s\hat R_s はどちらも反射で、2つの反射の積は角 2θ2\theta の回転になる。Grover のアルゴリズムはこの回転を kk 回くり返すだけである

2つの反射

すべての候補の一様な重ね合わせ

∣s⟩=1N∑y=0N−1∣y⟩=H⊗n∣0⋯0⟩(6.4.8)| s \rangle =\frac1{\sqrt N}\sum_{y=0}^{N-1}| y \rangle =H^{\otimes n}| 0\cdots0 \rangle\tag{6.4.8}

から始める。HH は Hadamard ゲート H∣b⟩=(∣0⟩+(−1)b∣1⟩)/2H| b \rangle =(| 0 \rangle +(-1)^b| 1 \rangle )/\sqrt2 である。∣s⟩| s \rangle は「当たりについて何も知らない」状態で、計算基底で測るとどの候補も確率 1/N1/N で出る。

位相オラクル O^v=1−2∣v⟩⟨v∣\hat O_v=\mathbf 1-2| v \rangle \langle v | は、∣v⟩| v \rangle の成分の符号だけを反転し、∣v⟩| v \rangle に直交する成分はそのまま残す。NN 次元の空間で見ると、∣v⟩| v \rangle に直交する超平面についての反射である。もう1つの演算子を

R^s=2∣s⟩⟨s∣−1=H⊗n(2∣0⋯0⟩⟨0⋯0∣−1)H⊗n(6.4.9)\hat R_s=2| s \rangle \langle s |-\mathbf 1=H^{\otimes n}\bigl(2| 0\cdots0 \rangle \langle 0\cdots0 |-\mathbf 1\bigr)H^{\otimes n}\tag{6.4.9}

と定める。R^s\hat R_s は ∣s⟩| s \rangle の成分を残し、∣s⟩| s \rangle に直交する成分の符号を反転するので、∣s⟩| s \rangle を通る直線についての反射である。成分で書くと (R^sc)y=2cˉ−cy(\hat R_s\bm{c})_y=2\bar c-c_y(cˉ=1N∑ycy\bar c=\frac1N\sum_yc_y は振幅の平均)で、各振幅を平均のまわりに折り返す操作になっている。Grover の1回の反復を

G^v=R^sO^v(6.4.10)\hat G_v=\hat R_s\hat O_v\tag{6.4.10}

と定める。1回の反復でオラクルを1回使う。

2次元の平面に閉じる

当たり ∣v⟩| v \rangle と、当たり以外の一様な重ね合わせ

∣r⟩=1N−1∑y≠v∣y⟩(6.4.11)| r \rangle =\frac1{\sqrt{N-1}}\sum_{y\neq v}| y \rangle\tag{6.4.11}

は直交する単位ベクトルで、∣s⟩| s \rangle は

∣s⟩=sin⁡θ ∣v⟩+cos⁡θ ∣r⟩,sin⁡θ=1N(6.4.12)| s \rangle =\sin\theta\,| v \rangle +\cos\theta\,| r \rangle ,\qquad\sin\theta=\frac1{\sqrt N}\tag{6.4.12}

と、この2つで張られる平面の中にある。O^v\hat O_v は ∣v⟩| v \rangle と ∣r⟩| r \rangle をそれぞれ −∣v⟩-| v \rangle と ∣r⟩| r \rangle に写し、R^s\hat R_s は R^s∣ϕ⟩=2⟨s∣ϕ⟩∣s⟩−∣ϕ⟩\hat R_s| \phi \rangle =2\langle s | \phi \rangle | s \rangle -| \phi \rangle なので ∣s⟩| s \rangle を含む平面の中のベクトルを同じ平面の中に写す。したがってG^v\hat G_v はこの平面を保つ。∣s⟩| s \rangle から始めれば、状態はいつまでもこの2次元の平面の中にとどまる。NN 次元の問題が、平面の中の幾何の問題になった。

補題 6.4.1(2つの反射の積 ★★★)

平面の中で、原点を通る直線 ℓ1\ell_1 についての反射を F^1\hat F_1、ℓ1\ell_1 から角 α\alpha だけ回った直線 ℓ2\ell_2 についての反射を F^2\hat F_2 とする。積 F^2F^1\hat F_2\hat F_1 は、ℓ1\ell_1 から ℓ2\ell_2 へ向かう向きに角 2α2\alpha だけ回す回転である。

証明

直線 ℓ1\ell_1 を横軸に取り、角 β\beta の向きの直線についての反射を行列で書くと F(β)=(cos⁡2βsin⁡2βsin⁡2β−cos⁡2β)F(\beta)=\begin{pmatrix}\cos2\beta&\sin2\beta\\ \sin2\beta&-\cos2\beta\end{pmatrix} である(角 β\beta の単位ベクトルを動かさず、それに直交する単位ベクトルの符号を反転することを、直接代入して確かめられる)。積を計算すると

F(α)F(0)=(cos⁡2αsin⁡2αsin⁡2α−cos⁡2α)(100−1)=(cos⁡2α−sin⁡2αsin⁡2αcos⁡2α),F(\alpha)F(0)=\begin{pmatrix}\cos2\alpha&\sin2\alpha\\ \sin2\alpha&-\cos2\alpha\end{pmatrix}\begin{pmatrix}1&0\\0&-1\end{pmatrix} =\begin{pmatrix}\cos2\alpha&-\sin2\alpha\\ \sin2\alpha&\cos2\alpha\end{pmatrix},

これは角 2α2\alpha の回転の行列である。

平面の中で O^v\hat O_v は ∣r⟩| r \rangle の直線についての反射、R^s\hat R_s は ∣s⟩| s \rangle の直線についての反射で、2つの直線は角 θ\theta をなす。補題から次が従う。

定理 6.4.2(Grover の反復は回転 ★★★)

平面 span⁡{∣r⟩,∣v⟩}\operatorname{span}\{| r \rangle ,| v \rangle \} の中で、G^v\hat G_v は ∣r⟩| r \rangle から ∣v⟩| v \rangle へ向かう向きの角 2θ2\theta の回転である。したがって

G^vk∣s⟩=sin⁡((2k+1)θ)∣v⟩+cos⁡((2k+1)θ)∣r⟩,(6.4.13)\hat G_v^k| s \rangle =\sin\bigl((2k+1)\theta\bigr)| v \rangle +\cos\bigl((2k+1)\theta\bigr)| r \rangle ,\tag{6.4.13}

kk 回の反復の後に計算基底で測って当たりが出る確率は

Pk=sin⁡2((2k+1)θ)(6.4.14)P_k=\sin^2\bigl((2k+1)\theta\bigr)\tag{6.4.14}

である。

∣s⟩| s \rangle は ∣r⟩| r \rangle から角 θ\theta の向きにあり、反復のたびに 2θ2\theta ずつ ∣v⟩| v \rangle のほうへ回る。kk 回の後の角は (2k+1)θ(2k+1)\theta で、これが π/2\pi/2 に届けば状態は ∣v⟩| v \rangle そのものになる。図 6.4.1 にこの様子を描いた。振幅の言葉で言い直すと、O^v\hat O_v が当たりの振幅だけを負にし、R^s\hat R_s が平均のまわりで折り返すので、平均より大きく下に飛び出した当たりの振幅が、折り返されて平均より大きく上に出る。当たりの振幅は1回の反復で 1/N1/\sqrt N の約2倍ずつ増え、当たりの確率は振幅の2乗なので、kk 回の後には (2k+1)2/N(2k+1)^2/N ほどになる。古典の成功確率 (6.4.1) が kk に比例するのに対し、量子の成功確率は k2k^2 に比例して増える。

図

図 6.4.1 Grover の反復を平面 span⁡{∣r⟩,∣v⟩}\operatorname{span}\{| r \rangle ,| v \rangle \} の中で見る。O^v\hat O_v は ∣r⟩| r \rangle の直線について折り返し(赤)、R^s\hat R_s は ∣s⟩| s \rangle の直線について折り返す。2つの反射の積 G^v\hat G_v は角 2θ2\theta の回転で、状態は反復のたびに ∣v⟩| v \rangle のほうへ 2θ2\theta ずつ回る。図は θ=14∘\theta=14^\circ(N≈17N\approx17)で描いた。

回路で書く

R^s\hat R_s の中の 2∣0⋯0⟩⟨0⋯0∣−12| 0\cdots0 \rangle \langle 0\cdots0 |-\mathbf 1 は、全体の符号 −1-1 を除けば「すべての量子ビットが 00 のときだけ符号を反転する」ゲートである。全体の符号は測定の確率を変えないので無視してよい。これは各量子ビットを XX で挟んだ多重制御 ZZ ゲートで作れて、多重制御のゲートは補助の量子ビットと Toffoli ゲートを nn に比例する数だけ使って組める(第6部第1章)。したがって1回の反復の手間はオラクル1回と n=log⁡2Nn=\log_2N に比例する数のゲートで、全体の手間は問い合わせの回数で決まる。

例題 6.4.2 4つの候補なら1回で当たる ★★

オリジナルN=4N=4、当たりを v=1v=1 とする。

  1. θ\theta を求め、1回の反復の後の成功確率を式 (6.4.14) から求めよ。
  2. 振幅のベクトル c=(c0,c1,c2,c3)\bm{c}=(c_0,c_1,c_2,c_3) に O^1\hat O_1 と R^s\hat R_s を順にかけ、1回の反復で ∣s⟩| s \rangle が ∣1⟩| 1 \rangle に移ることを直接確かめよ。
  3. 古典の手順で1回の問い合わせを使ったときの成功確率と比べよ。
解答

(1) sin⁡θ=1/2\sin\theta=1/2 なので θ=π/6\theta=\pi/6。1回の後の角は 3θ=π/23\theta=\pi/2 で、P1=sin⁡2(π/2)=1P_1=\sin^2(\pi/2)=1 である。

(2) ∣s⟩| s \rangle の振幅は 12(1,1,1,1)\frac12(1,1,1,1)。O^1\hat O_1 をかけると 12(1,−1,1,1)\frac12(1,-1,1,1) で、振幅の平均は cˉ=14⋅12(1−1+1+1)=14\bar c=\frac14\cdot\frac12(1-1+1+1)=\frac14。R^s\hat R_s は各振幅を 2cˉ−cy2\bar c-c_y に写すので、2cˉ=122\bar c=\frac12 から (12−12, 12+12, 12−12, 12−12)=(0,1,0,0)(\frac12-\frac12,\ \frac12+\frac12,\ \frac12-\frac12,\ \frac12-\frac12)=(0,1,0,0)、すなわち ∣1⟩| 1 \rangle になる。当たりの振幅 −12-\frac12 が平均 14\frac14 のまわりで折り返されて 11 になり、ほかの振幅 12\frac12 は 00 になった。

(3) 式 (6.4.1) から P1cl=2/4=1/2P_1^{\mathrm{cl}}=2/4=1/2 である。古典の手順で確実に当てるには3回の問い合わせが要る。

木下の勉強ステータス

木下はまだこの記事を勉強していません。

AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com

← AI生成教科書『虎の巻』の記事一覧へ