第 14 回 量子コンピュータ
本日の内容
このドキュメントは
http://edu.net.c.dendai.ac.jp/
上で公開されています。
我々のコンピュータの理論は、最終的には実際のコンピュータと関連しなけ
ればなりません。
そのためには、物理的に動作するコンピュータの計算を考えなければなりま
せん。
現代の物理学では力学は相対論的量子力学によるとされています。
そのため、コンピュータもそれを原理とした動作を前提としなければなりま
せん。
しかし、相対論的量子力学は日常的にはニュートン力学などの古典論で近似されます。
そのため、現代コンピュータは半導体を使用してはいますが、基本的な計算原理は古典
的な電磁気学などに基づいています。
そして、現代コンピュータの動作速度はムーアの法則に従えず、徐々に限界へと近づ
いています。
ファインマンが提唱し、ドイチェが形式化した量子コンピュータは、量子力学
に基づいたコンピュータです。
そして、ショーアにより、素因数分解を行う高速なアルゴリズムと、グルーバー
による選択問題の高速なアルゴリズムが開発されたことにより、現在に至るま
で、量子コンピュータの実現の研究が盛んに行われています。
本章では、量子コンピュータの概要を述べます。
概要
古典力学は原子レベルの微細な現象を説明できず破綻することが分かり、微
細な現象を説明できる力学が必要となりました。
そこで登場したのが量子力学です。
しかし、従来の力学とは大きく異なるため、本
質を理解するのはなかなか難しいです。
さらに、物質の本質的な状態は
正確に測定できない(不確定性原理)という性質があります。
これは、従来の物理の根底にある、この世のものは目で見えたように存在す
るという素朴実在論という哲学をひっくり返しました。
さらに、量子力学では仮
定している本質を知る術がないという性質から、正当性を証明することを不
可能にしています。
但し、様々な実験結果を良く説明する理論の中ではもっともシンプルな理論で
あるため、支持されています。
量子力学の基本原理は次の通りです。
- 物体の状態
は複素ヒルベルト空間の列ベクトル
(状態ベクトル)で表せるとする(有限次元、無限次
元を問わない)。
有限個の物理量が得られるものは有限次元、無限個の物理量が得られるものは
無限次元である。
-
我々は物体を観測することでしか認知できない。
観測は複素ヒルベルト空間の自己共役演算子により行われ、得られる観測
値は固有値のどれかになる。
-
自己共役演算子
の
固有値
に属する固有ベクトル空間
に関して、固有値aへの射影演算子を
と定義するとき、
が観測される確率は
となる(Born の確率規則)
-
閉じた系において状態
から状態
に時間発展するとき、ユニタリ行列
Uにより、
となる。
なお、ヒルベルト空間とは完備な内積空間のことです。
列ベクトル
に対して、
エルミート転置行ベクトルを
と書きます。
そして、
,
の内積を
で表します。
自己共役演算子とは複素ヒルベルト空間
の関数
が
を満たすことです。
例えば、転置複素行列が元の行列と等しい、エルミート行列は
自己共役演算子になります。
自己共役演算子の固有値はすべて実数になりますので、量子力学の枠組みで
の観測値はすべて実数です。
ユニタリ行列Uとは
を満たす行列のことである。
さらに、列ベクトル
から作った行列
は自己共役演算子になります。この自己共役演算子は
に平行な成分を取り出すため、
への射影演算子と呼ばれます。
なお、固有ベクトルは、相互に長さ1で直交するように正規化するものとする。
さらに、任意の自己共役演算子のすべての固有ベクトルを集めると、そのヒ
ルベルト空間の任意のベクトルを線形結合で表せるという
完全系をなすことが知られている。
状態
に対して
固有ベクトル
ごとの係数を返す関数(波動関数)
を仮定すると、状態ベクトルを次のように表現できる。
,
さらに、各固有ベクトル同士は直交するように選んでいるので、以下が導かれる。
,
,
固有値 a に対応する固有ベクトルから得られる射影演算子の和を
で表す。
これを用いると、状態 ψ に対して a が観測される確率は次で表さ
れる。
古典論の破綻
熱源から放射される電磁波のスペクトル分布がプランクの法則で説明される
ことが分かり、電磁波のエネルギーがエネルギーの最小単位に振動数を掛け
たもの
の整数倍である
ことを仮定することで導かれることも分かりました。
原子の構造が、原子核と電子からなるものと分かって来たとき、原子の大きさ
が定まらないことや、電子が粒子としたときに、軌道が存在することや、さら
に、軌道に止まることが古典論では何も説明できないことが分かって来まし
た。
さらにシュテルン・ゲルラッハ(SternGerlach)の実験が行われました。
これは、銀の蒸気を不均一な磁界の中に通す実験です。
銀の蒸気は電気的に中性なので、ローレンツ力による影響は受けません。
しかし、それでも銀の粒子に磁気モーメントがあれば、不均一な磁界におい
ては磁気の不均一さによる影響を受けるはずです。つまり、この実験は銀の粒子の磁
気モーメントを計測する実験となります。
そして、実際に磁気モーメントの影響を調べたところ、一定の分布ではなく、たった
2種類に均等に分類されました。
後に、ナトリウム、水素でも測定しましたが、同じ結果が得られました。
これは、電子は2種類だけの磁気モーメントを等確率で持つことを示してい
ます。
後に、平行な二本のスリットに電子を一個ずつ発射すると、スリットの後ろ
に干渉縞ができる実験が行われました。
また、アインシュタイン、ポドルスキー、ローゼンは一つの素粒子から生ま
れた二つの粒子を遠隔で観測した場合、(例えば、磁気モーメントの無い粒
子から二つの電子が生まれた場
合、二つの磁気モーメントは互いに逆になっているなどの)相関関係が生じ
るには観測の因果が 光速を越えなければならないことを指摘しましたが、
実際に測定すると相関関係が存在することが分かりました。
また、ベル不等式という、古典論で仮定される局所実在論という目の前の
物体はそのまま存在し、遠隔の物体とは因果律を越えないことを仮定するこ
とで得られる不等式が破られることも実験で分かりました。
量子論の基礎
シュテルン・ゲルラッハの実験により、電子に磁気モーメントがあることが分
かりました。
そして、そこから、電子に2種類の回転モーメントがあることが分かりました。
これを電子のスピンと呼び、 +1, -1 や +1/2, -1/2 や +, - などと表します。
ここではこの電子のスピンに話を絞って進めます。
電子の磁気モーメント
内部状態を二次元複素数ベクトル空間の長さ1の列ベクトル
,
で表します。
これを観測して、 +1, -1 が得られるような自己共役演算子
を求めます。
つまり、これが二つの固有値 +1 と -1 を持つ条件を求めます。
が固有値qを持つ場合、固有ベクトルpを用いると、次のように書けます。
これで、 qは +1 と -1 、また
はエルミート転置行列ですから、
a, dは実数,
ですが、さらに
次が得られます。
,
これを満たす以下の3つの行列をパウリ行列と呼びます。
,
,
パウリの行列には様々な性質があります。例えば、これに単位行列を加える
と、あらゆるエルミート行列がパウリ行列の実数倍の和で表されるなどです。
パウリ行列のそれぞれに対して、長さ 1 の固有ベクトルを求めると次の様になります。
,
,
を
σ x
で観測すると、 +1, -1 が観測される確率はそれぞれ
,
を
σ y
で観測すると、 +1, -1 が観測される確率はそれぞれ
,
を
σ z
で観測すると、 +1, -1 が観測される確率はそれぞれ
,
重ね合わせ
,
,
を
で観測することを考える。
それぞれ、 + か - が観測されるが、これは、それぞれの状態が+の状
態と -の状態の重ね合わせになっていると考えられる。
の固有ベクトルは、
,
より、各状態は以下のように固有ベクトルの線形結合で書ける。
,
,
観測確率は、観測値である固有値に対応する固有ベクトルの係数の和の二乗
になるので、それぞれ以下のようになる。
,
|
|
,
|
|
,
|
|
このように、同じ確率が現象が観測される二つの状態の重ね合わせで、干渉
により一つの現象が確率されないことが起こりうる。
に対して、 a が観測される確率を求めると、
次のように、単純な足し算ではなく、干渉項が現れるのが分かる。
ゆらぎ
状態
に対する物理量
とその平均値
に対して、
ばらつきを次のように定義する。
。
分散と、標準偏差は次のように定義される。
,
.
不確定性原理
二つの演算子
,
に対して、交換子を次のように定義する。
ここで
と置くと、エルミート共役を取ることにより、以下のように
は自己共役演算子になる。
不確定性原理
自己共役演算子
,
が、ある実定数 k に対して、
となるとき、
つまり次が成り立つ。
導出
まず、
を示す。
さて、任意の実数 λ に対して、
は自己共役演算子になります。
したがって、任意の状態ベクトル
に対して、
のノルムは常に非負になります。
つまり以下が任意の λ で成り立ちます。
この式を整理すると、以下のように λ に関する二次不等式が得られ
ます。
より、
この二次不等式が常に成立するのは判別式が非正の場合。
つまり求める条件は以下の通り。
時間発展
閉じた系において状態
から状態
に時間発展するとき、ユニタリ行列
Uにより、
となるとき、次のシュレディンガー方程式を導出できます。
qubit とテンソル積
量子コンピュータでは、1bitの情報、つまり、0または1のどちらかを保持する
情報の単位をqubitと呼ぶ。
具体的には0 を表す現象と 1 を表す現象のどちらかを観測できるような物理
現象で情報を保持する。
そのため、qubit は以下のように表される。
状態 0 を
とし、
とし、
これをパウリの σzで観測すると、
0 を観測する確率が
,
1 を観測する確率が
となる。
複数の状態
,
に対して、テンソル積
を考える。
これは、内積空間 V, W に対して、それぞれの正規直交基底が
,
である時、
,
の時、
なお、この場合、基底どうしのテンソル積は単なる直積として考える。
また、テンソル積を
や、
や、
とも表す。
さらに、
と
の内積を考える。
と定義することにより、
また、
状態が複素ヒルベルト空間の元であれば、テンソル積で得られた複合状態は次
元が違うが複素ヒルベルト空間の元なので、量子力学の公理を満たすことが
できる。
非クローン化定理
観測されていない任意の量子状態をコピーすることはできないことを示しま
す。
これを示すには仮に二つの量子状態に対してコピーができたとき、必ず満たす
べき状態が導かれるため、任意の状態のコピーにならないことを示します。
まず、状態 ψ と φ のコピーができるとします。これは初期の任意
状態 s があるユニタリ行列 U によって、 ψ や φ に遷移できるこ
とを意味します。
この二つの内積を取ります。
つまり、どのようなユニタリ行列でもコピーができる状態は平行か直交かし
かなく、任意の状態のコピーはできないということです。
量子コンピュータの基本構成
量子コンピュータは入力に対して、入力に対応した qubit を作り、さ
らにその入力の長さに対応したユニタリ行列を構成し、qubit にユニタリ行
列を適用し、最終的に特定の qubit の観測を出力とします。
ユニタリ行列の積はユニタリ行列なので、原理的には一つのユニタリ行列で最
終状態にすることはできます。
しかし、そのユニタリ行列の複雑度を考える上で、ユニタリ行列を基本的な
操作の組み合わせに分解することを考えます。
さらに、基本的な操作の組み合わせで計算を定義する事自体が、
量子計算のプログラミングとなります。
2状態系のBloch 球表示
観測すると2つの状態のうちの一つが観測される状態 ψ は、2つの正規直交基底
と
により、次で表される。
a を(広く使われている表記に合わせて)
と置き、同じく bも
と置く。すると、状態の表記を次のように表示できる。
ここで、全体の係数
は、観測の確率と関係なく、また、
と置くことで、2状態系の状態を二つの角度を表す実数
で表すことができる。
これは、半径1の三次元球の表面の極座標になるので、この2状態系を2実数
の極座標で表すことを Bloch 球表現と呼ぶ。
単一qubitに対するZ-Y変換(定理4.1)
パウリ行列について次の関数を定義する
単一qubitに対するユニタリ行列 U に対して、次の実数の α,
β, γ, δ が存在する。
制御Not
ユニタリ行列の分解
量子Fourier変換
位数発見
量子探索
コンピュータとは、計算をさせる装置である以上、何らかの物理法則にした
がっています。
我々の世界を支配している物理法則は相対論的量子力学ですから、この力学
に基づいた計算原理を考える必要があります。
現在の電子コンピュータは、シャノンが示したbool演算を実現する電子回路を
原理として動作しています。
しかし、これらと異なる原理による計算が不可能というわけではありません。
ここでは、量子力学を原理とした計算について紹介します。
量子 bit
量子コンピュータで行う計算も情報処理に違いありませんので、情報の単位
は bit になります。
量子状態でbitを保持できるとします。
量子状態は人間による観測によって確定して、情報を取り出すことができま
す。
但し、量子状態は通常は確率的な値になります。つまり 1 bit を表す量子
状態を観測すると、確率 a で 0 が取り 出せ、確率 b で 1 が取り出せる
ということになります。
この量子bit(q bit)の実現方法も色々議論されてい
ますが、ここでは実現法ではな
く、数学モデルについて説明します。
量子状態には、重ね合わせという概念があります。
これは複数の状態が同時に重ね合わさっていて、人間が観測することにより、
一つの状態に収束しそれが観測されるという概念です。
これをコペンハーゲン解釈といいます。
量子力学の問題点を指摘するための、「シュレーディンガーの猫」という思考
実験があります。これは、箱の中に猫を綴じ込め、α線の発生源、
観測器、毒ガス発生器を仕組み、α線が観測されたら毒ガスが発生し、猫が
死ぬように作られた装置を考えます。
一時間以内にα線が観測される確率が 50% であるとします。すると、コペンハーゲ
ン解釈によると、箱の中の猫は、生きている猫と死んでいる猫が量子状態で
重ね合わさっていると考えることができます。
この生きている猫と死んでいる猫の重ね合わせの状態というのは、人間の思
考として俄に受け入れがたいものですが、コペンハーゲン解釈ではそう考え
るもので、しかも、実際に見ようとすると一つの状態に収束してしまうので、
決して重ね合わせ状態を観測することはできません。
ここで、Dirac の記号を導入します。
行ベクトルを
と書き、ブラベクトルと呼びます。
一方、
列ベクトルを
と書き、ケットベクトルと呼びます。
すると、内積は
と書けます。
さて、量子ビット(q bit) に関しての数学モデルを考えます。0 の状態と 1
の状態をそれぞれ線形代数の位置ベクトルとし、正規直交基底であるとしま
す。
0状態の基底を
で表し、
1状態の基底を
で表すと、これは二次元の正規直交基底なので次が成り立ちます。
これの重ね合わせは
と書けます(a,bは複素数)。
状態ベクトルが常に大きさが1であるとすると、
という制約が必要です。
この時、 0, 1 がそれぞれ観測される確率は、
になります。
多 q bit
さて、複数の量子ビットの取扱いをどうするかですが、基本的には同じ考え
方をします。
2 bit の場合、取りうる状態は 00, 01, 10, 11 です。
この 4 状態はそれぞれ別の状態なので、正規直交基底になります。
4次元の正規直交基底なので次のようになります。
これらの状態の重ね合わせを次のように書きます。
つまり、これは4次元単位球の表面の位置ベクトルを意味します。
を観測して、 00, 01, 10, 11 が観測される確率は、それぞれ
になります。
このように単純にビット数が増えると、次元が増えます。
これを演算として扱う、テンソル積を導入します。
これは、内積空間 V, W に対して、それぞれの基底が
,
である時、
の意味は前述した通り、次元を拡張するだけです。
n個の q bit はこの様に2n次元の基底の重ね合わせで表現されます。
量子計算
さて、この q bit を物理現象に基づいて計算させることを考えます。
これは量子力学に従います。
先ほども述べたように、大きさ 1 で正規化するので、実際にこの量子計算
は q bit に対するユニタリ行列の積になります。
さらに、研究により、複雑なユニタリ行列は以下のような基本的なユニタリ
行列を多次元に拡張(0を挿入)の積で表せることが分かっています。
- Hadamard
-
- 位相
-
- 制御NOT
-
- π/8ゲート
-
従って、これらのユニタリ行列と対応した物理現象が起きるような装置を作
成すれば、量子コンピュータが実現できるようになります。
一つのq bit を実現するのに、2次元のベクトルが必要で、
上記のユニタリ行列が2または4次元なので、これは従来のコンピュータの概
念では論理ゲートにあたります。
つまり、ある q bit の列、
に対して上記のユニタリ行列 U1, U2,...,Un があって、
を計算するのに、実際は個々の特定の q bit に対して、上記の定めら
れた演算を行う回路のようなものを考えれば良いことになります。
二次元複素ベクトル空間
また、複素数
に対して、共役 を
で表します。
また、大きさは
とします。
行列
に対して、転置行列を
で表します。
また、エルミート行列
は
で表します。
さらに、単位行列を I としたとき、ユニタリ行列 U は下記を満たす
正方行列です。
一様な磁場の中での陽子などの
スピンを考えると、
特定の量子が重ね合わさっている状態で、観測すると 0 の情報か 1 の情報が
得られます。
このように、行列力学的な解釈として現象が二現象の重ね合わせになるような
ものをデータの保存を行う単位として選びます。
この時、状態として、二つの現象を区別する単位ベクトルを
と
とし、これの重ね合わせを計算の単位(1bit)とすることとします。
これを Qbit と呼びます。
φ=φ0 (1,0) + φ1 (0,1)
となっているような状態の時、
に対応した現象が実際に観測される確率は、
|φ1^2/(φ1^2+φ2^2)
となります。
さらにこの現象が複数存在し、直積的な関係のあるような状況を考える。
つまり、
と
の直積
を考える。
最初の2現象と次の2現象に関して、起きうる現象は
最初が で、次が
最初が で、次が
など4通りの組み合わせがある。
これに対して、それぞれ単位ベクトルを用意し、
と単位ベクトル同士の直積を定義する。
などと定義します。
これは、
|φ1> = φ10(1,0)+φ11(0,1)
|φ2> = φ20(1,0)+φ21(0,1)
単位ベクトル (1,0,0,0), (0,1,0,0), (0,0,1,0), (0,0,0,1)
,
,
,
に対し
て、
これを
|φ1,φ2> と書くと
φ10φ20(1,0,0,0)+
φ11φ20(0,1,0,0)+
φ10φ21(0,0,1,0)+
φ11φ21(0,0,0,1)
を意味します。
同様の意味で 以下を
|φ1,...,φn> のような表記をします。
n 個の 2x2 の正方行列
について、下記の様に積を定義する。特に
をテンソル積と言う。
(n Qbit に対して、 2n 個の計算があることに注意)
量子チューリング機械
量子チューリング機械はテープとして、 Qbit が連続してあるようなものを考
えます。
また、状態遷移関数は
δ(p,a,b,q,d)=c という
状態が p, ヘッドが a を読んでいるとき(観測ではなく)、新たに b を書き込
み、状態を q に移し、ヘッドの方向を d に移動する事象の確率振幅を
|c|2 と定義する。
このとき、行列 Mδ のc1 行 c2 列は、 c2 から c1 への 1 ステッ
プの遷移と対応したδの値になる。
ただし、ここでも Mδ はユニタリ行列になる。
NOT
|x> → |1-x>
AND
f(x,y,0)=x,y, x and y
|0> <0| x |0> <0| x I +
|0> <0| x |1> <1| x I +
|1> <1| x |0> <0| x I +
|1> <1| x |1> <1| x (0 1 ; 1 0)
Shor のアルゴリズム
実は、 n Qbit のベクトルに対して、離散フーリエ変換を行ったときの nQbit
の関数表は量子多項式時間で求めることができます。
Shor は量子コンピュータを使って、多項式時間で高い確率で、因数分解と、
離散対数問題が解けることを示しました。
yr = 1 mod n となるようなもっとも小さい r を y の mod n
のオーダーと言います。
もし、非自明な r が求まると、 n の素因数分解ができます。
- 入力を n とします
- n2≤q≤2n2 となる「なめらかな整数」q を
選びます
- n と互いに素な整数 x をランダムに選びます
- 同じ x を用いてオーダー log q 回繰り返す
- 二つの量子変数 reg1, reg2 を用意する
- reg1 は 0 から q-1 までの全ての値の重ね合わせとする
- reg1 の各値 a に対して、xa mod n の値の重ね合わせを
reg2 に入れる
- reg2 を観測する。 k' が観測されると、reg1 には xa' = k
mod n となるような a' が観測できる
- この、 a' を離散フーリエ変換する
- フーリエ変換の結果を観測すると、ある値 c' が得られる。
これは、 q/r の λ 倍になっている
- c'/q の連分数展開を行うと λ/r が求められる
- これによりサンプルがいくつか分かり、最終的に r が求まる。
- gcd(xr/2-1,n) と gcd(xr/2+1,n) より n を素因
数分解する
Groover の選択問題
関数 f(x) が特定の x=x0 で f(x0)=1 になり、他の x では f(x)=0 となるよ
うなことを考えます。
- 清水明 「新版量子論の基礎 その本質のやさしい理解のために」新物理学ライブラリ別巻2, サイエンス社(2003)
- Michael A. Nielsen, Isaac L. Chuang 著、木村達也訳「量子コンピュータと量子通信 I 量子力学とコンピュータ科学」オーム社(2004)
- Michael A. Nielsen, Isaac L. Chuang 著、木村達也訳「量子コンピュータと量子通信 II 量子コンピュータとアルゴリズム」オーム社(2005)
- Michael A. Nielsen, Isaac L. Chuang 著、木村達也訳「量子コンピュータと量子通信 III 量子通信・情報処理と誤り訂正」オーム社(2005)
- ランダウ、リフシッツ著、広重徹、水戸巌訳「力学」増訂第3版、
ランダウ=リフシッツ理論物理学教程、東京図書(1974)
- 高橋康「解析力学を学ぶための解析力学入門」増補第2版、講談
社サイエンティフィック(2000)
坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科