本稿では、量子計算の中でもかなりマニアックな部類になるかもしれませんが、測定型量子計算についてゆるめに解説していきます。
今回はおもに 観測に基づく量子計算や量子計算理論などの書籍を参考にしてます。
1)背景
2000年代初頭にラッセンドルフとブリーゲルによって、新しいタイプの量子計算モデルが提唱されました。これは最初にクラスター状態と呼ばれる特殊な量子状態を用意して、その後1量子ビットの測定を繰り返して計算を行うという、それまでの量子計算は全く異なる仕組みの量子計算となります。
測定だけすれば計算ができる、とはどういうことか、と感じるかもしれませんが、直感的には以下のようなイメージです。
量子力学には不確定性原理という概念があり、ざっくり言えばある2つの物理量の間にある関係で、片方の物理量を測定するともうひとつの物理量にも影響を与えるというものです。代表的なものは位置と運動量の関係で、位置を精度良く測定しようとすると運動量はゆらいでしまう(逆も然り)、といった概念です。
(実はこの不確定性原理は2000年代に入り、従来の不確定性原理を超えて精密に測定できることが日本の数学者小澤正直さんによって証明されました。その後実験でも確認され、現在は小澤の不等式が正しいという見解になってます。)
これは位置の観測という行為によって、運動量のゆらぎを大きくしたと考えることができ、観測によって量子状態に影響を与えたと捉えることができます。
この性質を量子計算に積極的に応用したのが測定型量子計算で、はじめに系全体にわたって特殊な量子状態をつくり、1量子ビットずついい感じに観測を繰り返すことで、系全体の状態が変わっていき、最終的に所望の状態を得る、というものになります。
2)詳細の説明
ここから測定型量子計算について、一歩踏み込んで勝手に説明していきます。
なんで観測するだけ計算ができるのかについて、まずは簡単のため2量子ビットで考えていきます。
標的ビット、演算用の補助ビットをそれぞれ
\[
\begin{align}
&|\psi\rangle = a|0\rangle + b|1\rangle \\
&|+\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle + |1\rangle \right)
\end{align}
\]
とします。\(I\)は\( I=|0\rangle\langle 0| + |1\rangle\langle 1| \)となる恒等演算子で、\(Z\)は、\(Z=|0\rangle\langle 0| – |1\rangle\langle 1| \)となるパウリの\(Z\)演算子として、この2つの演算子を使って定義できる\(CZ\)ゲートと呼ばれるゲート:
\[
CZ \equiv |0\rangle \langle 0|\otimes I + |1\rangle \langle 1|\otimes Z
\]
を上記2つの量子ビット系に作用させます:
\[
\begin{align} CZ(|\psi\rangle|+\rangle) &=|0\rangle\langle 0|\psi\rangle\otimes I|+\rangle + |1\rangle\langle 1|\psi \rangle\otimes Z|+\rangle \\ &= a|0\rangle|+\rangle + b|1\rangle|-\rangle \end{align}
\]
ここで\( |-\rangle = (|0\rangle – |1\rangle)/\sqrt{2} \)としました。
次に1つ目の量子ビットに対して、基底\( |0\rangle + e^{i\theta}|1\rangle \)の射影演算子
\[
P(\theta )= \left( |0\rangle + e^{i\theta}|1\rangle \right)
\left( \langle 0| + e^{-i\theta} \langle 1|\right)
\]
で測定を実施します:
\[
\begin{align}
P(\theta )\otimes I \left( a|0\rangle|+\rangle + b|1\rangle|-\rangle\right)
&= aP(\theta)|0\rangle \otimes |+\rangle + bP(\theta)|1\rangle \otimes|-\rangle \\
&=\left(|0\rangle + e^{i\theta}|1\rangle\right)
\otimes\left( a|+\rangle + be^{-i\theta}|-\rangle \right)
\end{align}
\]
2つ目の量子ビットについて、多少天下りですが、z軸に対して\(\ -\theta\)だけ回転する演算子を\( e^{i\theta Z}=\cos(\theta)I + i\sin(\theta)Z \)とすると
\[
\begin{align}
a|+\rangle + be^{-i\theta}|-\rangle
&= He^{i\theta Z/2} |\psi\rangle \\
&\equiv J(\theta)|\psi\rangle
\end{align}
\]
と整理することができます。実際、オイラーの公式\( \ e^{ix}=\cos x + i\sin x \)を利用すると
\[
\begin{align}
e^{i\theta Z/2}|\psi\rangle
&= \left\{\cos\left(\frac{\theta}{2}\right)I
+ i\sin\left(\frac{\theta}{2}\right) Z\right\}|\psi\rangle \\
&=\cos\left(\frac{\theta}{2}\right)(a|0\rangle+b|1\rangle )
+ i\sin\left(\frac{\theta}{2}\right)(a|0\rangle – b|1\rangle)\\
&=ae^{i\theta/2}|0\rangle + be^{-i\theta/2}|1\rangle\\
&=e^{i\theta/2}\left( a|0\rangle + be^{-i\theta}|1\rangle\right)
\end{align}
\]
となるので、(位相の定数倍は同じ状態とみなすため)、全体にかかる位相差\(e^{i\theta/2}\)を無視すると、
\[
\begin{align}
He^{i\theta Z/2}|\psi\rangle
&=\left(\frac{|0\rangle + |1\rangle}{\sqrt{2}}\langle 0| + \frac{|0\rangle – |1\rangle}{\sqrt{2}}\langle 1|\right)
\left( a|0\rangle + be^{-i\theta}|1\rangle\right) \\
&=a\frac{|0\rangle + |1\rangle}{\sqrt{2}}
+be^{-i\theta}\frac{|0\rangle – |1\rangle}{\sqrt{2}}\\
&=a|+\rangle + be^{-i\theta}|-\rangle
\end{align}
\]
となることがわかります。すなわち、初め\(\ |\psi\rangle\)だった状態を、測定によって、\(\ |\psi\rangle\)に\(J(\theta)\)という演算子を作用させた状態が得られたことになります。アダマール演算子と回転演算子で、任意の1量子ビットを表すことができるため、つまり\(\theta\)をいい感じに指定すれば所望の状態に変化させることができることになります。
これが測定によって演算をさせることができる仕組みになります。
3)まとめ
今回簡単のため2量子ビットで測定によって演算させることを示してみました。
たくさんの量子ビットの場合についても記載したかったのですが長くなってきたので、今回はここまでにしたいと思います。
(よくもまぁ測定型量子計算なんてものを思いつくなぁ、とつくづく思います。世の中頭のいい人はたくさんいますね。。)
最後まで読んでいただきありがとうございます。
質問等はコメント欄かお問合せにてよろしくおねがいいたします。