量子位相推定

量子位相推定回路

量子位相推定回路の作り方・使い方

量子位相推定回路の仕組みの前に、回路の作り方と使い方を具体的に見ていきましょう。 ここでは例として の固有位相を取り出す場合について考えます。 前回見たように には固有状態が 2 つありますが、今回はこのうち固有位相が π の場合について考えることとします。

量子位相推定回路には入力と出力が必要です。 入力として、固有位相を取り出したい QPU 命令 (今回は ) の固有状態を与えます。 出力として、求めた固有位相を書き出すための (複数) 量子ビットを準備します。

量子位相推定回路: 入力と前半

量子位相推定回路の入力と前半は次のようになります。 最初の 4 量子ビットは求めた固有位相を書き出すためのもので、必要なビット数は求める精度によって変化します (ビット数の決めかたは最後に説明します)。 最後の 1 量子ビットは入力用で、固有位相を取り出したい QPU 命令 (今回は ) の固有状態を与えます。

量子位相推定回路の前半では、最初に出力用ビットを で等しい重ね合わせ状態にします。 そして制御付き ( つき) で固有位相を取り出したい QPU 命令を繰り返し呼び出します。 呼出し方のパターンとしては、1 ビット目を制御として を 1 回、2 ビット目を制御として を 2 回, 3 ビット目を制御として を 4 回、... という風に 2 倍に増やしながら固有位相を取り出したい QPU 命令を入力ビットに適用します。 この回路は位相キックバックと呼ばれ、次回に詳しく説明します。

量子位相推定回路: 後半と測定

量子位相推定回路の後半は逆 QFT 回路そのままです。 最後に出力用の 4 量子ビットをすべて測定し、固有位相を読み出します。 の固有位相は π (180°) なので、これを 4 量子ビットにエンコードした値を読み出すことができます (後で説明します)。

量子位相推定を動かしてみよう

どんな値が出力として得られるか、 の固有位相 π を取り出す上記回路を動かしてみましょう。実行するとすぐ分かるように、100% の確率で 8 (二進数で 1000) が得られます。 これが の固有位相である π を表していることになります。

量子位相推定の出力を解釈する

出力の 8 を固有位相として解釈するには、出力用量子ビットの数が 4 つであることを使います。 出力用量子ビットのビット数は出力する固有位相角度の分解能を表します。 たとえば 4 ビットの場合 16 通りの値が表せるので、4 ビットで表現できる角度は 360° を 16 分割した 360/16 = 22.5° 刻みとなります。

π = 180° を 22.5° の倍数で表現すると、22.5° x 8 = 180° なので、8 でぴったり 180° が表現できます。

出力用量子ビット数を増やせば分解能も高まります。 出力用量子ビットを 1 増やすごとに刻み幅は 1/2 になるので、より微妙な角度も表現しやすくなります。

精度を高める

(2π/3) の固有位相 2π/3 を推定してみましょう。 出力用量子ビット数を 3 にした場合、次の回路になります。

測定結果は 68.8% で 011 (10 進数で 3) となります。 3 量子ビットの場合、分解能は 45° 刻みなので、011 は 45° x 3 = 135° と読み取ることができます。 これは実際の値 120° と比較すると、誤差が +15° あります。

出力用量子ビットを 4 にして精度を上げてみましょう。

精度は上がっているでしょうか? 測定結果は 68.5% で 0101 (10 進数で 5) となります。 4 量子ビットの場合、分解能は 22.5° 刻みなので、0101 は 22.5° x 5 = 112.5° と読み取ることができます。 これは実際の固有位相 120° と比較すると誤差が -7.5° であり、3 量子ビットでの誤差 +15° よりも小さくなっています。 確かに、出力用量子ビット数を増やすことで精度が上がりました。

出力用量子ビット数を増やすと、実は精度だけでなく固有位相の近似値が測定できる確率も改善します。 4 量子ビットの例では、最も高い確率で測定できる 0101 (68.5%) の右隣 0110 は 17.2% の確率で測定できます。 0110 (10 進数で 6) は 22.5° x 6 = 135° なので、これは 3 量子ビットでの最良値と同じ値です。 これはつまり、4 量子ビットの場合には、3 量子ビットでの最良値と同じ (135°) かそれより良い値 (112.5°) が測定できていることになります。 135° (0110) と 112.5° (0101) の確率を足すと 17.2% + 68.5% = 85.7% なので、3 量子ビットでの最良値が測定できる確率 68.8% よりも高まっています。 このように、精度を 3 量子ビット (45° 刻み) で考えた時、4 量子ビットでは固有位相の近似値の精度と、近似値が測定できる確率も改善します。

一般に、精度を \(n\) ビットに指定したとき、少なくとも \(1 - \epsilon\) の確率で固有位相の近似値を得るために必要な量子位相推定回路の量子ビット数 \(t\) は、次の式で計算できることが知られています。

\(t = n + \left\lceil \log \left(2 + \frac{1}{2\epsilon} \right) \right\rceil\)

まとめ

量子位相推定回路の作り方と使い方を見てきました。 作り方は、前半の位相キックバック (次回に仕組みを説明します) と後半の逆 QFT を組合わせるだけです。 使う時の注意点として、入力として固有位相に対応する固有状態が必要です。 また、出力用の量子ビット数を増やすほど取り出せる相対位相の精度と成功確率を上げることができます。