量子コンピュータ「2050年に実現可能」な9つのステップ!

『ファインマン物理学』解説 後編
竹内 薫 プロフィール

量子計算では、この\(exp{\left(-iHt/h\right)}\)の部分が「計算回路」にあたる。なぜなら、計算回路に\(\psi{\left(0\right)}\)を入力すると(時間の後に)計算結果の\(\psi{\left(t\right)}\)が出力される、と考えるからである。

この\(exp{\left(-iHt/h\right)}\)は、「ユニタリーな時間発展」の演習子と呼ばれる。

ユニタリーは英語では「unitary」で、unit(=単位)という言葉の親戚だ。そのココロは、「大きさが1」ということで、何の大きさが1 なのかといえば、量子力学的な確率が1 なのである。量子力学では、状態を2 乗すると、その状態が実現する(=観測される)確率になるのだが、その総量は時間とともに保存されなくてはならない。

\(\psi{\left(t\right)}\)は「波動関数」とも呼ばれるが、それは「確率の波」であり、波の総量は増えもしなければ減りもしないのである。

で、ここがポイントなのだが、

\(exp{\left(-iHt/h\right)}\) =計算回路

だとして、その計算回路を実現するようなハミルトニアンの具体的な恰好を求めるのが凄く難しいわけ。

ファインマン先生は、計算をやるメモリーのほかに「カーソル・メモリー」というものを考えることによって、この問題を解決した。カーソルとは、もちろん、コンピュータの画面に出てくる、あのカーソルのこと。場所を示す役割をもっている。

 

ファインマン型の量子計算では、入出力としての状態のほかに、いわば「標識」としてのカーソル状態を考える。イメージとしては、計算途中でチラチラと中身を盗み見して、計算が終わっているかどうかをたしかめるのである。でも、全部見てしまうと覗き見がバレるから、カーソルの部分だけを見るようにする。

生成・消滅演算子は、このカーソルの状態を生成・消滅させるのである。

ここらへんで実際のファインマン流の量子計算を見てみることにしよう(以下の例は『Explorations in Quantum Computing』より)。

量子論理ゲートにNOT の平方根の\(\sqrt{NOT}\) と呼ばれるものがある。行列では、

\[
\sqrt{NOT}=\frac{1}{2} \left( \begin{array}{cc}
1+i & 1-i \\
1-i & 1+i 
\end{array}\right)
\]

と書くことができる。あたりまえの話だが、これを2 回かけるとNOT になる。

この\(\sqrt{NOT}\)というのは古典論理(あるいは古典コンピュータ)には存在しない代物である。つまり、純粋に量子論理のゲートなのだ。

で、さきほどのファインマン先生のハミルトニアンの式に出てきたA1A2として(ともに)\(\sqrt{NOT}\)を使って、最終的にNOT 回路をつくるのである。そして、状態1 を入れれば0 が出力され、状態0 を入れれば1 が出力されることをたしかめたいのである。

これは、ある意味、馬鹿みたいな例だといえる。なぜなら、NOT 回路の計算など、コンピュータを使わずとも定義レベルで誰でもできるからであり、ましてや、量子コンピュータを用いる必要などないからだ。

だが、具体的に量子論理ゲートという部品を用いて、計算をやってみるという意味では、きわめてよい例題なのである。

関連記事