「量子コンピュータの頭の中」を理解する

1. 量子コンピュータへのいざない
1.1. 量子コンピュータへの期待
1.2. 量子コンピュータの歴史
1.3. 古典コンピュータと量子コンピュータの違い
1.3.1. なぜ量子コンピュータは早いのか
指数関数的に巨大なユニタリ行列のかけ算を高速に実行できるから

1.3.2. 古典ビットと量子ビット
・ビット (bit)
古典コンピュータの情報の単位
n古典ビットでは 2n通りの情報を表せる
n古典ビットで同時に持てる値は1通り

・測定 (measurement)
演算した結果を読み取ること
古典コンピュータの並列計算では同時に複数の計算を行い、複数の結果を測定できる

・量子ビット (quantum bit = qubit)
量子コンピュータの情報の単位
1量子ビットは「|0⟩」または「|1⟩」という記号を使って表す

2量子ビットの場合は「|00⟩」「|01⟩」「|10⟩」「|11⟩」
2量子ビットで表せる情報は 2^2 = 4通り
量子ビットは 2^2通りの値を同時に持てる
演算も2^2通りの情報を1度に動作できる

測定で得られる情報はそのうちの1個だけ
測定の結果も確率的に決まってしまう
なので、量子コンピュータでは目的の計算結果を得る確率が高くなるように演算を行う必要がある

・量子アルゴリズム (quantum algorithm)
量子コンピュータで普通に計算しても高速にはならない。
効果的に使うにはアルゴリズムに工夫が必要。

1.3.3. 量子コンピュータの速さとユニタリ行列
n量子ビットで表せる情報の種類が2n通りなので、数式としては2n次元ベクトル(vector)で表せる。
ベクトルで表した時の絶対値が大きい成分ほど、その成分に対応する量子ビットを測定で得る確率が高くなる。
量子コンピュータによる計算はn量子ビットの情報を別の量子ビットの情報に変換する処理 = 2n x 2n 次行列で表せる。
量子コンピュータで計算できる形には制約があるため ユニタリ行列 (unitary matrix) という種類の行列になる。
ユニタリ行列を計算すれば古典コンピュータでも量子コンピュータをシミュレートできる。

1.4 量子コンピュータによくある誤解

2. 量子コンピュータ入門以前
2.1 量子コンピュータは「行列」の世界

0 件のコメント:

その他の記事