TL

量子位相推定(QPE)

ShorやHHLの心臓部を原理から把握。ユニタリの固有位相をビット列として読み出す仕組みと、精度と補助量子ビット数のトレードオフまで腑に落ちます。

応用量子コンピュータ量子位相推定量子フーリエ変換ShorのアルゴリズムHHL量子アルゴリズム最終更新: 2026-06-21
TL;DR要点だけ先に
  • 1.量子位相推定(QPE)は、ユニタリ U の固有状態 |u>(U|u>=e^{2πiφ}|u>)に対し、未知の固有位相 φ をビット列として読み出す基本サブルーチン。位相キックバックで φ を制御レジスタの振幅の周波数に埋め込み、逆QFTでそれを1つの基底状態に復調して測定する。
  • 2.制御レジスタを t 量子ビットにすると φ を約 t ビット精度で得られる。φ が 2^t の逆数の整数倍で表せないときは近い値に高確率で丸まり、上位 n ビットを成功確率 1-ε で保証するには t = n + ceil(log2(2 + 1/(2ε))) の補助量子ビットが要る。
  • 3.QPEはShorの位数発見(位相 s/r を読む)やHHLの線形方程式ソルバ(固有値を逆数に変換する)の中核部品。制御 U^{2^k} の実装コストとコヒーレンス時間が実機での主なボトルネックになる。

QPE が解く問題:固有位相の読み出し

量子位相推定(QPE: Quantum Phase Estimation)は、Shor の素因数分解や HHL 線形方程式ソルバの内部で共通して使われる基本サブルーチンです。解く問題は一言で言えば「ユニタリ演算 U の固有値の位相を、古典的に読めるビット列として取り出す」こと。ユニタリの固有値は必ず絶対値1の複素数なので e^{2πiφ}0 ≤ φ < 1)の形をしており、この φ を推定するのが QPE です。

前提として、U の固有状態 |u> が1つ手元にあり、それを準備できるものとします。

U|u> = e^{2πiφ} |u>     (φ は 0 以上 1 未満の未知の実数)

φ は連続量ですが、QPE は有限個の量子ビットでその2進近似を返します。ここでのキモは「固有状態 |u> は測定しても位相の情報を吐き出さない」という点です。|u> を直接測っても、グローバル位相 e^{2πiφ} は観測不能だからです。QPE はこの隠れた位相を、別に用意した制御レジスタの振幅の周波数へ書き写し、それを読み出せる形に変換する巧妙な手続きです。前提となるユニタリと固有状態の考え方は /quantum/quantum-gates-circuits/ の内容を踏まえると読みやすくなります。

回路の骨格:2つのレジスタ

QPE の回路は2つのレジスタから成ります。

レジスタ量子ビット数役割
制御(カウント)t 個位相 φ を2進小数として書き込み、最後に測定する。t が精度を決める
固有状態(作業)|u> を表現できる数固有状態 |u> を保持。制御 U の適用対象。QPE 中は基本的に |u> のまま

手続きは3段階です。各段で「何が起きているか」を追うのが理解の近道になります。

1. 重ね合わせ生成 : 制御レジスタ t 量子ビットにアダマール H を掛け、
   0..2^t-1 の全整数を等振幅で重ね合わせる。
2. 制御ユニタリ   : 制御ビット k を制御に U^{2^k} を適用(位相キックバック)。
   → 制御レジスタが (1/√2^t) Σ_x e^{2πi·φ·x} |x> になる。
3. 逆QFT + 測定   : 制御レジスタに逆QFT を掛け、φ に対応する基底へ集約して測定。

位相キックバック:φ を振幅の周波数に埋め込む

第2段の「制御 U^{2^k}」がなぜ位相を制御レジスタへ移すのか。ここが QPE で最も本質的な部分です。制御ユニタリは「制御ビットが |1> のときだけ標的に U を掛ける」ゲートですが、標的が U固有状態のときは特別な振る舞いをします。

制御-U ( |1>_control ⊗ |u> ) = |1>_control ⊗ (U|u>)
                             = |1>_control ⊗ e^{2πiφ} |u>
                             = e^{2πiφ} |1>_control ⊗ |u>

固有状態には U を掛けても状態が変わらず、位相 e^{2πiφ}係数として前に出るだけです。この位相は数式上どちらの因子にも属せますが、制御ビットが |1> のときにだけ付くので、実質的に制御ビット側の相対位相として作用します。これを位相キックバック(phase kickback)と呼びます。固有状態 |u> は最後まで変化せず、位相だけが制御レジスタへ「蹴り返される」わけです。

制御ビット k には U2^k 回、すなわち U^{2^k} を掛けます。固有状態に対して U^{2^k}|u> = e^{2πi·φ·2^k}|u> なので、制御ビット k|1> 成分には位相 e^{2πi·φ·2^k} が乗ります。全ビットにわたる寄与を集めると、制御レジスタは次の状態になります。

(1/√2^t) Σ_{x=0}^{2^t-1} e^{2πi · φ · x} |x>
なぜ制御ビットごとに冪を上げるのか

制御ビット k に単純な U ではなく U^{2^k} を掛けるのは、位相 φ の各2進桁を対応するビットへ配置するためです。x を2進表記 x = Σ x_k·2^k とすると、指数の肩は φ·x = Σ φ·x_k·2^k。制御ビット k が寄与する位相はちょうど 2^k の重みを持ち、これが2進小数 0.φ_1 φ_2 ... φ_t の各桁に対応します。結果として制御レジスタの状態は、まさに位相 φ を周波数に埋め込んだ「QFT の出力そのもの」の形になります。

逆QFT:周波数を1つの基底に復調する

第2段を終えた制御レジスタの状態 (1/√2^t) Σ_x e^{2πi·φ·x}|x> を、量子フーリエ変換(QFT)の定義と見比べます。QFT は |j>(1/√N)Σ_k e^{2πi·jk/N}|k> へ写す変換でした(N = 2^t)。両者を並べると、上の状態は基底 |φ·2^t> に QFT を掛けた出力とちょうど同じ形をしていることが分かります。

したがって逆QFT(QFT†)を掛ければ、周波数として散らばった位相情報が1つの基底状態に集約されます。QFT と逆QFT の作用の詳細は /quantum/quantum-fourier-transform/ を参照してください。

QFT† [ (1/√2^t) Σ_x e^{2πiφx} |x> ]  ──►  |round(φ · 2^t)>  (φ·2^t が整数の場合は厳密に)

φ2^t の逆数の整数倍でぴったり表せる(φ = j/2^t)とき、逆QFT の出力は基底 |j>確率1で集まり、測定すれば j が得られて φ = j/2^t が厳密に読めます。位相キックバックが「周期 1/φ の波を書き込む変調」、逆QFT が「その波を1点に立ち上げる復調」だと捉えると、役割分担が明快になります。

H と 逆QFT の関係(t=1 の直感)

制御が1量子ビットだけの場合、逆QFT はアダマール H そのものに一致します。制御レジスタが (|0> + e^{2πiφ}|1>)/√2 のとき、H を掛けると測定で 0 を得る確率は cos²(πφ) になります。φ が 0 か 1/2 のように H の基底に乗る値なら確定的に読め、中間値では確率的にしか読めません。この「基底に乗るか否か」という構図が、t を増やしたときの精度問題へそのまま拡張されます。

精度と補助量子ビット数:本質は φ が割り切れない場合

現実の φ は一般に j/2^t の形にぴったり収まりません。このとき逆QFT の出力は単一の基底に集中せず、φ最も近い j/2^t の周辺に山を作った確率分布になります。測定すると最良推定(最も近い t ビット値)が最大確率で出ますが、隣接値が出る確率も残ります。

裾を引く分布:4/π^2 の壁

φ が 2^t の逆数で割り切れないとき、逆QFT 出力の確率分布は sinc 関数状の裾を引きます。最も近い t ビット近似 |b> を測定で得る確率は 4/π^2 ≈ 0.405 以上が保証されますが、それ以上でない場合もあります。つまり t ビットのレジスタは「t ビット精度を約4割の確率で当てる」だけで、確実ではありません。精度と成功確率は別の量であり、両方を上げるには制御レジスタを設計値より広げる必要があります。

そこで、追加の補助量子ビットを制御レジスタに足して成功確率を底上げします。上位 n ビットを 1 - ε 以上の確率で正しく得たい場合、必要な制御レジスタ幅 t は次の見積もりで与えられます。

t = n + ceil( log2( 2 + 1/(2ε) ) )

追加分 ceil(log2(2 + 1/(2ε))) が「裾の確率をどこまで削るか」を決めるバッファです。例えば上位10ビットを 99%(ε = 0.01)の確率で当てたいなら、追加は ceil(log2(2 + 50)) = ceil(log2(52)) = 6 ビットで、合計 t = 16 量子ビットになります。目的の精度 n に対し、成功確率を上げるコストは追加ビット数の対数でしか増えない、という点が重要です。

意味増やしたときの効果
n欲しい位相の有効ビット数(精度)分解能が 2 のべきで細かくなる。制御ビットに 1:1 で必要
ε上位 n ビットを外す許容確率小さくするほど追加バッファが要るが、コストは log スケール
制御ビット数 tn + ceil(log2(2 + 1/(2ε)))回路幅と、必要な制御 U の総回数を直接決める

Shor と HHL での役割

QPE 単体は「位相を読む」だけの部品ですが、対象のユニタリ U を差し替えることで様々なアルゴリズムの中核になります。

Shor の位数発見では、U を剰余乗算ユニタリ U|y> = |a·y mod N> に取ります。この U の固有位相はちょうど s/rr は求めたい位数、s は整数)になるため、QPE で s/r を読み、連分数展開で分母 r を復元します。素因数分解が QPE の一適用例に帰着する全体像は /quantum/shor-factoring-algorithm/ で扱っています。ここで固有状態 |u_s> を事前に用意できない問題は、|1> が全固有状態の一様重ね合わせになっている事実で回避され、どの s が出ても連分数で r に辿り着けます。

HHL 線形方程式ソルバでは、U = e^{iAt}A は解きたい連立方程式の係数行列、エルミート)を対象にします。A の固有値 λ_jU の固有位相 λ_j t/(2π) として現れるので、QPE で各固有値をレジスタに書き出します。その値を条件付き回転で逆数 1/λ_j に変換し、最後に逆QPE で位相レジスタを掃除する——これが A x = b を量子的に解く骨格です。QPE は「行列の固有値を計算基底の数値として取り出す」役目を担います。

試験・面接で問われる勘所
  • 入力と出力:入力は固有状態 |u> と制御 U^{2^k} を実装する能力、出力は固有位相 φt ビット近似。グローバル位相は測れないが、制御化すると相対位相として読めるのが要点。
  • 位相キックバックの向き:固有状態は不変で、位相が制御レジスタへ「蹴り返される」。だから作業レジスタは |u> のまま保たれる。
  • 逆QFT の役割:周波数に埋め込まれた φ を1つの基底へ復調する。順QFT ではなく逆QFT である点に注意。
  • 精度 ≠ 成功確率t ビットで t ビット精度は得られるが確率は約 4/π²。確率を 1-ε に上げるには t = n + ceil(log2(2 + 1/(2ε)))
  • 応用の切り分け:Shor は U=剰余乗算 で位相 s/r、HHL は U=e^{iAt} で固有値。QPE 自体は汎用の「固有位相リーダ」。

実機での制約

理論上のゲート数は穏当でも、実機での QPE には固有の壁があります。最大のコストは制御 U^{2^k} の実装です。k が制御レジスタの最上位に近づくと U2^k 回相当(U^{2^{t-1}} は約 2^{t-1} 回分)適用する必要があり、素朴に展開すると回路深さが位相ビット数に対して指数的に膨らみます。Shor のように U を繰り返し二乗法で効率実装できる特別な構造がなければ、この段が支配的になります。

コヒーレンス時間との競合

制御 U^{2^k} の連鎖で回路が深くなるほど、実行中にデコヒーレンスやゲート誤差が蓄積し、読み出すべき位相そのものがノイズに埋もれます。逆QFT の微小な位相回転(2π/2^k)も同様に誤差に弱く、位相ビット数を増やすほど精度向上とノイズ悪化がせめぎ合います。誤り耐性のない現行機では、深い制御ユニタリを避ける反復位相推定(IPE)や、逆QFT の遠方回転を省く近似が実用上ほぼ必須です。測定で状態が壊れる制約については /quantum/measurement-collapse/ も参照してください。

反復位相推定(Iterative Phase Estimation, IPE)は、制御レジスタを1量子ビットに縮め、位相の各桁を最下位から順に測定・古典フィードバックしながら求める変種です。回路幅を t から1へ落とせるため、補助量子ビットに乏しい NISQ 機での QPE 実装ではしばしばこちらが選ばれます。精度と成功確率のトレードオフは基本の QPE と同じ枠組みで整理できます。

まとめ

量子位相推定の要点は次の4点に集約されます。第一に、QPE はユニタリ U の固有状態 |u> に対し固有位相 φU|u> = e^{2πiφ}|u>)をビット列として読み出す基本サブルーチンで、位相キックバックで φ を制御レジスタの振幅の周波数に埋め込むこと。第二に、その周波数を逆QFTで1つの計算基底へ復調し、測定で φ の2進近似を得ること。第三に、制御レジスタ t ビットは t ビット精度を与えるが成功確率は約 4/π^2 にとどまり、上位 n ビットを 1-ε で当てるには t = n + ceil(log2(2 + 1/(2ε))) の補助量子ビットが要ること。第四に、U を差し替えることで Shor の位数発見(位相 s/r)や HHL(固有値の逆数化)の中核になり、実機では制御 U^{2^k} の深さとコヒーレンス時間の競合が主なボトルネックになること。

量子コンピューティング Article

量子位相推定(QPE)を実務で読む

TL;DRは入口です。実際に選ぶ・使う段階では、何を解決するか、何と比較するか、導入後にどこで詰まるかまで見る必要があります。

解決すること

量子コンピュータ

比較で見る軸

難易度: advanced / カテゴリ: 量子コンピューティング / タグ数: 6

導入後に効く点

制御レジスタを t 量子ビットにすると φ を約 t ビット精度で得られる。φ が 2^t の逆数の整数倍で表せないときは近い値に高確率で丸まり、上位 n ビットを成功確率 1-ε で保証するには t = n + ceil(log2(2 + 1/(2ε))) の補助量子ビットが要る。

先に潰すリスク

用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。

数字・仕様の読み方
難易度
advanced
カテゴリ
量子コンピューティング
タグ数
6

判断チェックリスト

  • 自社の用途が「量子コンピュータ / 量子位相推定」に近いか確認する。
  • 強みである「量子位相推定(QPE)は、ユニタリ U の固有状態 |u>(U|u>=e^{2πiφ}|u>)に対し、未知の固有位相 φ をビット列として読み出す基本サブルーチン。位相キックバックで φ を制御レジスタの振幅の周波数に埋め込み、逆QFTでそれを1つの基底状態に復調して測定する。」が本当に評価軸になるか確認する。
  • 注意点の「用語だけ覚えても、設計・実装・運用でどこに効くかを確認しないと判断を誤る。」を運用で吸収できるか確認する。
  • 公開値や仕様値は、対象プラン・対象機種・対象リージョンまで確認する。
  • 既存システム、ID、ネットワーク、監視、バックアップとの接続方法を先に洗い出す。
  • 小さく試してから、本番移行、権限設計、障害時手順、コスト監視を決める。

次に確認する観点

量子コンピュータ量子位相推定量子フーリエ変換ShorのアルゴリズムHHL量子コンピュータ量子位相推定量子フーリエ変換