相対エントロピーから情報と物理を組み立てる 第6部 第3章 §6.3.2 ★★★ 掛け算の置換 Ua の固有値は e2πis/r。固有ベクトルの和が ∣1⟩ なので、準備の難しい固有ベクトルを作らずに位相推定ができる
掛け算のユニタリと固有ベクトル
n 量子ビットのレジスタの計算基底 ∣y⟩(0≤y<2n)に対し、
Ua∣y⟩={∣aymodN⟩∣y⟩(0≤y<N)(N≤y<2n)(6.3.3)
と定める。a が N と互いに素なので y↦aymodN は {0,…,N−1} の並べ替えで、Ua は置換行列、したがってユニタリである。
∣1⟩ に Ua を繰り返し当てると ∣1⟩,∣a⟩,∣a2⟩,…(modN)を巡り、r 回で戻る。この r 個の基底が張る部分空間の上で Ua は巡回置換で、その固有ベクトルは
∣us⟩=r1k=0∑r−1e−2πisk/r∣akmodN⟩,s=0,1,…,r−1(6.3.4)
である。実際、Ua を当てると ∣ak⟩ が ∣ak+1⟩ に移るので、和の添字を k′=k+1 に付け替えると
Ua∣us⟩=r1k′=1∑re−2πis(k′−1)/r∣ak′modN⟩=e2πis/r∣us⟩
となる(k′=r の項は ar≡1 なので k′=0 の項と同じ)。固有値の位相は φs=s/r で、位相の分母が求めたい位数である。
固有ベクトル ∣us⟩ そのものを準備するには r を知っている必要がある。ところが式 (6.3.4) を s について足すと、k=0 の項は1の r 乗根の和として消え、
r1s=0∑r−1∣us⟩=∣1⟩(6.3.5)
が残る。簡単に準備できる ∣1⟩ が、r 個の固有ベクトルの等しい重みの重ね合わせになっている。∣1⟩ を入れて位相推定を走らせると、固有ベクトルが互いに直交しているので、結果は「s を {0,…,r−1} から一様に選び、∣us⟩ で位相推定をした」ときの分布に一致する。s が何になるかは選べないが、どの s でも位相 s/r の分母に r が含まれている。
回路
位相推定(第6部第2章)は、第1のレジスタの t 個の量子ビットに Hadamard ゲートを当て、j 番目の量子ビットで制御した Ua2j を第2のレジスタに当て、第1のレジスタに逆量子 Fourier 変換を当てて測る(図 6.3.1)。制御した Ua2j を全部当てた直後の状態は
2t/21x=0∑2t−1∣x⟩∣axmodN⟩(6.3.6)
で、第2のレジスタに関数 f(x)=axmodN の値が重ね合わせで書かれている。f は周期 r の関数なので、この章の問題は「関数の周期を求める問題」とも言える。
Ua2j を「Ua を 2j 回」当てると手間が 2t に比例してしまう。しかし Ua2j=Ua2jmodN で、a2jmodN は前の値を2乗して N で割る操作(反復2乗)を j 回行えば古典の計算で求まる。したがって各ゲートは「決まった数 a2jmodN を掛けて N で割った余りを取る」1回の掛け算の回路で済む。

図 6.3.1 位数を求める回路。上の t 量子ビットが位相を書き込む第1のレジスタ、下の n 量子ビットが ∣1⟩ から始める第2のレジスタ。j 番目の量子ビットで制御した Ua2j は、古典の計算で先に求めた a2jmodN を掛ける1回の掛け算の回路である。第2のレジスタは測らなくてよい。
出力の分布
∣us⟩ に対する位相推定で m を得る確率は、第6部第2章の式 (6.2.8) で求めたとおり
P(m∣s)=Ft(rs−2tm),Ft(δ):=2t1x=0∑2t−1e2πixδ2=22tsin2(πδ)sin2(π2tδ)(6.3.7)
である。∣1⟩ から始めると s が一様に混ざるので、出力 m の分布は
P(m)=r1s=0∑r−1Ft(rs−2tm)(6.3.8)
になる。Ft(δ) は δ=0 で 1、δ が 1/2t の整数倍(0 以外)で 0 になる、幅 1/2t の鋭い山である。したがって P(m) はm≈2ts/r の r か所に山を持つ。r が 2t を割り切るときは山の位置がちょうど整数になり、P(m) はそこに 1/r ずつ乗った分布になる。図 6.3.2 は N=21、a=2(r=6)、t=9 の分布で、式 (6.3.8) と、状態ベクトルを直接計算した分布が一致することを検算で確かめてある。

図 6.3.2 N=21、a=2(位数 r=6)、t=9 の出力の分布 P(m)(確率 0.002 未満の m は省いた)。山は 512s/6 の近くに立つ。s=0,3 では 512s/6 が整数なので山は1本で高さ 1/6、s=1,2,4,5 では最も近い整数の確率が 0.114 で、両隣にすそが残る。
例題 6.3.2 N=15、a=7 の固有ベクトルと出力 ★★
オリジナルN=15、a=7 とする。
- (1) ∣1⟩ の軌道を書き、固有ベクトル ∣u0⟩,…,∣u3⟩ と固有値を求めよ。
- (2) 式 (6.3.5) を成分で確かめよ。
- (3) t=3 のとき、出力 m の分布を求めよ。t をどれだけ増やしても分布の形が変わらない理由を述べよ。
解答
(1) 7⋅1=7、7⋅7=49≡4、7⋅4=28≡13、7⋅13=91≡1 なので軌道は 1→7→4→13→1、r=4 である。式 (6.3.4) で e−2πis/4=(−i)s なので
∣us⟩=21(∣1⟩+(−i)s∣7⟩+(−1)s∣4⟩+is∣13⟩),U7∣us⟩=is∣us⟩
で、固有値は 1,i,−1,−i である。
(2) ∣7⟩ の係数の和は 21∑s(−i)s=21(1−i−1+i)=0、∣4⟩ と ∣13⟩ も同様に 0 で、∣1⟩ の係数の和は 21⋅4=2 である。21∑s∣us⟩=∣1⟩ となり、式 (6.3.5) が成り立つ。
(3) 位相 s/4 は 3 ビットの2進小数 0.000,0.010,0.100,0.110 でちょうど書けるので、∣us⟩ に対する位相推定は確率1で m=8s/4=2s を出す。s が一様に混ざるので P(m)=1/4(m=0,2,4,6)、他の m は 0 である。t を増やしても r=4 が 2t を割り切る限り位相は t ビットで正確に書けて、m=2ts/4 に 1/4 ずつ乗る形は変わらない(t=8 なら m=0,64,128,192)。r が2の冪のときだけ起こる特別な場合で、一般の r では図 6.3.2 のようなすそが残る。
AI(Claude)が書いた教材を、木下が勉強しながら公開しています。式と数値は検算していますが、誤りが残っているかもしれません。誤りのご指摘・削除のご依頼をいただければ直します。 連絡先:support@tecktom.com