めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

量子フーリエ変換を「位相差に情報を埋め込む」という視点で理解してみる

enakai00.hatenablog.com

何の話かと言うと

上記の記事で説明した量子フーリエ変換は、本質的には、

 \displaystyle U( {\mid j_1\rangle}\otimes\cdots\otimes {\mid j_n\rangle} ) = \frac{1}{2^{n/2}}
\left( {\mid 0\rangle} + e^{2\pi i[0.j_n]}{\mid 1\rangle}\right)
\left({\mid 0\rangle}+e^{2\pi i[0.j_{n-1}j_n]}{\mid 1\rangle}\right)
\cdots
\left({\mid 0\rangle}+e^{2\pi i[0.j_1\cdots j_n]}{\mid 1\rangle}\right) --- (1)

という線形変換(ユニタリ変換)を量子回路で実装しただけのことですが、「なぜ (1) の表式が量子回路と相性がよいのか?」という部分を踏み込んで考えてみます。

位相差情報の抽出機としての(逆)フーリエ変換

もともとの話の流れでは、数学的に知られていたフーリエ変換

 \displaystyle y_k := \frac{1}{\sqrt{N}}\sum_{j=0}^{N-1}x_j\exp\left(2\pi i\times\frac{jk}{N} \right)

を量子ビットで表現したら、なんとも不思議な (1) の表式が得られた・・・・という事になりますが、実は、(1) はアダマール変換 H の自然な拡張と見なすことができます。

どいういうことかと言うと、容易に分かるように、アダマール変換 H は次のように表すことができます。

 \displaystyle H : {\mid j\rangle} \longrightarrow \frac{1}{\sqrt{2}}\left({\mid 0\rangle} + (-1)^j {\mid 1\rangle}\right)

これは、1量子ビットの生の値を同じ量子ビットの位相差に変換する。つまり、位相差に情報を埋め込む演算とみなすことができます。

実は (1) で1量子ビットの場合を考えると、まさにこの変換に一致しています。つまり、(1) は「量子ビットの値を位相差に埋め込む」という操作を複数量子ビットに自然に拡張したものになっているのです。

そして、逆フーリエ変換はこの反対の操作、つまり、「位相差の情報を取り出す操作」と理解することができます。

こう考えると、位相推定のアルゴリズム(というかそれをやる下記の量子回路)は、かなりスッキリと理解することができます。

ユニタリ演算の固有値という「位相情報」をうまいこと、位相差の情報として埋め込んでおき、それを逆フーリエ変換で取り出しているだけにすぎません。