量子位相推定

固有位相

固有状態に対応する位相回転

本節では、振幅増幅や QFT と並び重要なサブルーチンである、量子位相推定を紹介します。 量子位相推定は、振幅増幅や QFT とはかなり異質のサブルーチンです。 状態ベクトルから情報を取り出すのではなく、QPU 命令に関する情報を取り出すという特徴があります。 一見わかりづらいですが、動作イメージをつかむためにいくつかの新しい概念を導入します。

固有状態と固有位相

といった QPU 命令は、それぞれ固有状態と呼ばれるユニークな状態ベクトルを持ちます。 たとえば以下のように、\(|0\rangle\) の確率が 85.3553%、\(|1\rangle\) の確率が 14.6447% の量子ビットに を適用しても、その状態はまったく変わりません。 このように、固有状態とは QPU 命令を適用しても変化しない状態ベクトルのことで、QPU 命令それぞれが独自の (固有の) 状態ベクトルを持っています。

ある QPU 命令の固有状態は 1 つとは限りません。上の固有状態の \(|0\rangle\) と \(|1\rangle\) を入れ替え、\(|0\rangle\) の位相を π 回転したものも、同じく の固有状態です。

「左と右の状態ベクトルはまったく違うじゃないか!」と思うかもしれません。 しかし位相で説明したように、量子コンピュータでは \(|0\rangle\) と \(|1\rangle\) の位相差 (相対位相) のみが意味を持つのでした。 上の左右を見比べてみると、\(|0\rangle\) と \(|1\rangle\) の確率は等しく、またそれぞれの位相差は π であるため、これらは実は同じものです。

=

このように、見た目は異なるが実は等しい状態ベクトルの組について、その位相差を固有位相と呼びます。 上の固有状態では固有位相は π です。また最初の固有状態には左右で位相差はないので固有位相は 0 です。

QPU 命令 固有状態
(適用前)
固有状態
(適用後)
固有位相
0
π

すべての QPU 命令はそれぞれ固有の固有状態とそれに対応する固有位相を持ちます。 例として , , , の固有状態と固有位相を示します。 それぞれの固有状態は などで簡単に作れるものばかりなので、実際に Qni で確認しておくことをおすすめします。

QPU 命令 固有状態 固有位相
0
π
0
π
(= π )
0
π
Φ (Φ は任意の角度)
0
Φ

量子位相推定は何ができるか?

量子位相推定は QPU 命令 (および QPU 命令のセット) の固有位相を取り出すためのサブルーチンです。 なぜ固有位相を取り出す必要があるのか、現時点では分からなくても大丈夫です。 固有状態と付随する固有位相はそれぞれの QPU 命令に固有であり、演算内容を一意的に特徴付ける重要な情報です。 実際にショアの量子因数分解アルゴリズムや、量子機械学習、量子化学計算など非常に多くのアルゴリズムの一部として、量子位相推定は使われます。