Rokiのチラ裏

学生による学習のログ

量子力学と量子コンピューターについての学習メモ #1

量子力学量子コンピュータについての個人的な学習メモ。学習を促すものでも入門記事でもなくあくまで個人的な学習過程でのメモである事に注意。

量子コンピュータ―超並列計算のからくり (ブルーバックス)

量子コンピュータ―超並列計算のからくり (ブルーバックス)

量子コンピュータのメカニズムについて理解を深めるためには、量子力学について理解しなければならない。量子力学について理解するには、量子の代表例であり実験例としても最も多彩に業績の残る”光”についてまずは理解せねばならない。

光を巡る様々な仮説

光を理解するためには簡単に歴史的経緯を振り返ると理解しやすい。

  • かつて光に関して、二つの説が立説されていた。一つは「光は粒子」、もう一つは「光は波」。それぞれニュートンホイヘンスが立説したもの。
  • 前者は、光の直進性に目をつけ光をとても軽い「粒子」であると考えた。一方後者は、ある実験から「光は粒子」という説を真向から否定して立説した。ある実験とは、小さな丸い穴に向けて光を照射して、穴の後ろに配置されたスクリーンでその光を結像させるという実験であり、もし光が直進する粒子だとするならば、その穴がどんなに小さくても、その穴の通りにスクリーンに結像されるはずであるが、実際には波のような縞模様を描いた。これを光の波動説と言う。
  • しかし光を波とした場合、光の直進性の説明が難しくなる。媒質中を伝わる波(または波動)に対し障害物が存在する時、波がその障害物の背後など、つまり一見すると幾何学的には到達できない領域に回り込んで伝わっていく*1のである。これを回折という。
  • 光の波動説が立説されてから暫くは、光は波であると決着がついていたがそれから約20年後、光電効果という現象が波動説での説明を困難にした。光電効果とは、金属に光を当てると、光を当てられた金属から電子が飛び出すという現象の事を示す。光の波動説に則ってこの現象を捉えると、大きな電気と電磁場の波がやってきたために、金属の中の電子が強く揺さぶられるので、もはや金属の中に留まれなくなって飛び出すと考えられる。しかし、実際の実験結果は、光の強さではなく、光の波長によって*2電子が飛び出すかが変化した。光を強くすると、それに応じて飛び出す電子の数は増加したが、どれだけ光を強くしても波長の長い光では電子は飛び出さず、波長の短い光において飛び出す電子の数が増加した。この実験結果を光の波動説で説明することは困難である。
  • この光電効果の実験結果を、うまく説明するに至った説が、アインシュタインによる光量子仮説であり、これは光のエネルギーの基本単位を仮定した。
  • 基本単位は、光の振動数に比例し、光の波長に反比例するというもので、比例定数はプランク定数と呼ばれ、 6 \cdot 10^{-34} である。光のエネルギーは連続的な値を取らず、光量子エネルギーの整数倍である、離散的な値しか持たないと考え、さらに、光が当たった時に電子が呼び出すという現象には、1つの光量子が1つの電子に吸収されてそのエネルギーを得た電子が飛び出すというように考える。まれに2つの光量子が1つの電子に吸収されるかもしれないが、プランク定数に則って計算すると、光が非常に強い場合を除いて、低確率でしか起こり得ずその挙動を無視できる。こう仮定すると、周波数を上げていく過程で電子の飛び出す量が増えることに説明がつき、高周波中に電子の飛び出す量が増えたという結果に対しても、単純に光量子の数が増えるためにあると説明することができる。*3*4
  • 光量子は、現在光子と呼ばれることが多いため、後の記述では「光子」を使う。

結局光とは何なのか

もっとも重要なのは「スリットを通った光は干渉縞を示す」という結果と光電効果に見られた結果を事実として捉えることであり、つまり、断定して言えることは光は波や粒子といったものではないと言うこと。更に、光は基本的には波だが、それぞれの波長の光に対してエネルギーの基本単位があり、その基本単位を分割することはできない、二重性のものであるということ。

波の性質を持つ粒子

光は波であると同時に粒子的な性質を持つ二重性のものであるが、以前まで粒子であると考えられていた電子や原子なども波としての性質を持つことがわかっている。*5*6

量子力学

二重性のものに対する知見を得て、量子力学について入門する前に、少し用語とこれまでの概要を簡潔にまとめる。

  • 先の実験によって、光は光子からできており、また、電気は電子からできている事が示された。このようなある基本的な単位量のことを、量子と呼ぶ。
  • 先の実験のように、量子による現象や作用は、我々が日常的に体感するスケールでの物理現象における理論、つまり古典力学によって、辻褄の合うよう説明する事ができない。よって、量子スケールの微視的な物理現象を、古典力学と切り分けて定める力学が新たに設けられた。これを、量子力学という。
    つまり古典力学は、量子の集合体としての姿(物質や光などは量子から成り立っているため)における物理現象にのみ正しい理論である。よって量子力学から古典力学を導く事が可能であると考えられると同時に、世の中の全てを量子力学によって解明できるのではないかとの考察をするに値する。

光の偏光

  • 古典論的解釈では、光は電磁波の一種であり、通常その進む方向と直角に電場と磁場が振動する。電場および磁場が特定の(振動方向が規則的な)方向にのみ振動する光のことを偏光という。 電磁波の場合は偏波と呼ぶ。 光波の偏光に規則性がなく、直交している電界成分の位相関係がでたらめな場合を非偏光あるいは自然光と呼ぶ*7
  • 偏光には電場(および磁場)の振動方向が一定である直線偏光、電場(および磁場)の振動が伝播に伴って円を描く円偏光(回転方向によって、右円偏光と左円偏光がある。角運動量を持つ。)、電場(および磁場)の振動が時間に関して楕円を描く、楕円偏光(右楕円偏光と左楕円偏光がある。)がある。以下にその図を示す。左からそれぞれ直線偏光、円偏光、楕円偏光を示している。

Linear polarization diagram Circular polarization diagram Elliptical polarization diagram

By Superborsuk - Transferred from pl.wikipedia, パブリック・ドメイン, Link
Copyrighted free use, Link
By from [1], Copyrighted free use, Link

  • 上図のように、特に直線偏光における進む方向と直角な向きは様々である。電場が水平方向に振動する光を水平偏光、垂直な方向に振動する光を垂直偏光という*8
  • この偏光の性質を工学的に利用したものの代表例として、ある特定の偏光だけを通す性質を持つ、偏光フィルタというものがある。これは、ある特定の方向の偏光だけを通す性質を持つ。例えば垂直偏光だけを通し水平偏光を全く通さない偏光フィルタの場合、当然水平偏光がそのフィルタを通過して到達する事はない。水平と垂直の中間の偏光がこの偏光フィルタに入った場合、その角度に応じて垂直偏光が出てくる。例えば角度45度で入射した場合は、入射した丁度半分のエネルギーを持った垂直偏光が出てくるのである。

Animation polariseur 2.gif
パブリック・ドメイン, Link

  • 二枚の偏光フィルタがあり、それぞれの透過する変更の方向が互いに垂直である場合(例:片方が垂直偏光を遮断する偏光フィルタ、片方が水平方向を遮断する平行フィルタ)、その二枚の偏光フィルタを重ねた部分は光が一切透過できないため真っ黒になる。この場合、1枚目の偏光フィルタによって水平方向の偏光を透過するが、2枚目の偏光フィルタによって水平方向の偏光を遮断するため、当然の原理である。
  • 偏光フィルタと似たような昨日を持つ光学素子として、偏光ビームスプリッタというものがある。偏光フィルタでは、透過する偏光の垂直方向にある偏光を遮断するが、偏光ビームスプリッタは、その偏光を丁度90度直角方向に反射する。

  • この偏光ビームスプリッタに対して45度偏光を入射すると、水平偏光と垂直偏光の2つの偏光に均等なエネルギーで分解されて出てくる。つまり、例えば仮にある光がどのような偏光なのかを調べたいとした時に、偏光ビームスプリッタへ入射して、二つの出射面から出てくる光の強度を検出器で調べれば、その光がどのような偏光なのか分かるのである。水平偏光、または垂直偏光の場合は、どちらか一方だけの検出器で光が検出されるため、それもすぐに断定する事ができるのである。

光子の偏光

  • 光子 1 つに偏光を持たせて偏光ビームスプリッタへ入射した場合、つまり、垂直方向、水平方向の光子を入射すると、それぞれ透過あるいは直角に反射される。しかし、ここに45度偏光の光子を入射するとすると、光子は量子であり、エネルギーの最小単位であるため二つに分割される事はないはずである。もしこれが仮に分割されてしまえば、アインシュタインによる光量子の考え方に反することとなるためである。実際の実験結果は、透過した側で検出される場合と90度反射された側で検出された場合がでたらめに現れる事となる。
  • この実験を幾度も繰り返すと、偏光ビームスプリッタによって透過する光子と反射する光子の割合がほぼ厳密に等しく収束する。この実験を幾度も繰り返すという事は、たくさんの光子、つまり通常の光を用いて実験する事に等しく、この結果は45度偏光を入射した場合の結果と対応している。
  • 1つ1つの光子が偏光ビームスプリッタを通過しようとする際、透過側に出るのか、反射側に出るのかを完全に予想する手段はない。これを不確定性定理という。

重ね合わせ

量子力学量子コンピュータ実用化における核心である重ね合わせについて理解する。重ね合わせの理解には、先ほどの偏光ビームスプリッタの代わりに半透鏡という道具を用いて、実験を元に考察する。

半透鏡

半透鏡とは、入射した光の丁度半分の光だけが透過し、半分の光が反射する性質を持つ鏡である。実用例としては、マジックミラーなどが挙げられる。明るい空間とくらい空間をマジックミラーで仕切ると、暗い空間にいる人は自分のいる空間からの光が鏡を反射してくるのよりも、明るい空間からの光が鏡を通過してくる方が強いため、明るい空間の様子が分かるが、明るい空間にいる人から見ると、自分のいる空間の光がか鏡で反射する方が暗い空間からの光よりも強いため、一見ただの鏡のように見える。これが、マジックミラーの原理である。

干渉計

  • 半透鏡に単一の光子と比較して強い光を入射すると、偏光ビームスプリッタのように、半分は透過し、半分は反射される。半分になった光をそれぞれ鏡で更に反射させて、戻ってきた交点にまた半透鏡を置くと、その鏡の位置によって、半透鏡から出る光の一方が強まったり、両方同じ強さで出たりする。これを干渉計という*9*10。このような干渉計などで2つの光が重なり、その2つの光の山谷がぴったり重なり合う状態を、位相差が0の状態位相が一致した状態という。またそうでない場合を、位相がずれた状態という。
  • 半透鏡に1つの光子を入射したとしても、光子は2つに分割される事はない。よって、光子は2つの出口からでたらめに検出される。これは、半透鏡は光子をでたらめに反射しているように思える。
  • 次に、干渉計に光子を入射する。この場合、干渉計の一方の出力から光子が射出される確率は経路の長さに応じて変化する。つまり、2つの経路が全く同じ長さであれば単一の光子ではない強い光を入射した時と同じように、必ず射出される出口とそうでない出口が確定し、経路の長さが波長の半分だけ異なる場合は、必ず射出される出口とそうでない出口が入れ替わり、確実にそのように射出される。
  • つまり、半透鏡は、光子をでたらめに反射しているのではない。光子が1粒になったとしても、それは波としての性質を持つ事がここでも伺える。しかし、半透鏡はたった1 粒の光子から、どのように両方の経路の差を知る事ができているのか。これは、確率波という概念で説明される。半透鏡に光子を入射した時の光子は、粒ではなく、ある振幅を持った2つの経路の確率波であるという*11。この概念は、干渉計の中で光子が、単純にどちらかの経路にのみ存在するというわけではないし、更に、光子が二つに分割されてそれぞれの経路へ進行したわけでもない事を示す、今まで通りの量子力学らしい正に辻褄合わせのような概念である*12
  • このような確率波の概念でしか説明する事のできない、つまり、ある振り幅を持った2つの確率波として表される状態にあるとしか言えない状態を、重ね合わせ状態という。
  • 重ね合わせ状態は、どちらの状態にあるかを知る、つまり観測しようとすると、重ね合わせ状態が崩壊してしまう。つまり、でたらめにどちらかの経路に存在するという状態になる。これを重ね合わせ状態の破壊コヒーレンスという。ちょうど、先の偏光ビームスプリッタの実験は、重ね合わせ状態を破壊しているといえる。

物理学とコンピュータ

量子力学の理論をコンピューターの演算処理の原理として応用しようというものが、量子力学とコンピュータの関係性であり、これを量子コンピュータという。この確率波と重ね合わせ状態を駆使して膨大な並列計算を一気に行おうというアイデア量子コンピュータの根本にある。そもそも、今私もこのエントリを執筆しているのに用いるコンピュータは、古典力学的な物理法則に則って動作している。しかし、その根本を構成するにあたる現代的な物理学、量子力学の物理法則に則ってコンピュータが動作すれば、この世界の最大限の能力を引き出して演算処理を実行する事ができるのである。

量子ビット

量子ビットは、従来のビットの概念とは異なり、0と1の二つの状態だけでなく、その重ね合わせ状態をとる。これはまず、0と1の中間の状態を持っている、もしくは確率的に0または1の状態であるというようなものではない。先の実験の考察から、重ね合わせ状態を説明するには、確率波という概念が必要であった。つまり量子ビットは、0または1の二つの状態をとる確率波そのものである量子ビットの状態を知るには、0または1である確率に関する情報の他に、位相という情報が必要になる。0または1である確率を、重みという。
量子ビットは、ブロッホ球といわれる、三次元球体で表現する事ができ、その状態は、球面状の1点で表される。

Bloch sphere.svg
By Smite-Meister - 投稿者自身による作品, CC 表示-継承 3.0, Link

以下に要点をまとめる。

  1. ブロッホ球は、ブラ-ケット記法という記法によって、式にする事ができる。ブラ-ケット記法は、量子の状態を  | 0 \rangle,| 1 \rangle で表す。この時例えば、 a | 0\rangle は、|0\rangle の振り幅が a b | 1\rangle は、 |1\rangle の振り幅が b である事を示す。
  2. ブロッホ球の緯度と経度それぞれの軸は、緯度が |0\rangle|1\rangle かの重さを、経度が重ね合わせ状態の位相の違いを表している。
    尚、上図のように示される状態は、次の式  | \psi \rangle = \cos ( \frac{\theta}{2})| 0 \rangle+\exp(\iota\alpha) \sin (\frac{\theta}{2}) | 1 \rangle に対応している。
  3. 0の状態の量子ビットは北緯90度の北極に対応し、式では、  | \psi \rangle = | 0\rangle と表される。
  4. 1の状態の量子ビットは、南緯90度の南極に対応し、式では、  | \psi \rangle = | 1\rangle と表される。
  5.  a | 0\rangle b | 1\rangle が成り立つ時、2.にて上掲された式から、次の式  |\psi\rangle = a|0\rangle+b|1\rangle が成り立つ。例えばこの状態でこの量子ビットを観測、つまり、量子ビット|0\rangle または |1\rangle の確率を知りたい場合、それぞれの係数を2乗したもので得る事ができる。つまり、4で前掲された条件の場合、 \mathrm{|a|}^2|0\rangle である確率、 \mathrm{|b|}^2 が、 |1\rangle である確率を表す事となり、 \mathrm{|a|}^2 + \mathrm{|b|}^2 = 1 が成り立つ。よって例えば  a = 1,b = 0 であれば、量子ビット|0\rangle の状態であり、 a = 0, b = 1 であれば、量子ビット|1\rangle の状態である事がいえる。
  6. 例えば、赤道上の1点であった場合、丁度0と1が同じ割合だけ重なり合ったような状態の量子ビットに対応する。式では、  | + \rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle または  | - \rangle = \frac{1}{\sqrt{2}}|0\rangle - \frac{1}{\sqrt{2}}|1\rangle と表される。それぞれブロッホ球上の裏表の関係に値する。

量子ビットから成るコンピューターの構成

このような量子ビットをビットの代わりに用いる時、当然ながら従来のコンピューターでビットが扱われるパーツが取って代わる事になる。つまり、メモリとレジスタが、量子ビットによって構成された量子メモリと量子レジスタに代わる。2ビットの従来型メモリで考えた場合、そのメモリには、00、01、10、11のいずれかの値が乗る事になるが、2つの量子ビットである場合は |00\rangle|01\rangle|10\rangle|11\rangle のどれか1つではなく、これらの重ね合わせ状態となる事ができる(式で表すならば、2つの量子ビットをそれぞれ a,b として、全ての状態が同じ重さである場合は、 a = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle,b = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle という関係にある。)ので、量子ビット数の増加による一度に扱える重ね合わせ状態の数は、従来のビットとは比べ物にならないほど爆発的に飛躍する。これが、大規模な並列計算を支援するのである。

量子ゲート

古典的な計算では、演算に論理回路を使う事で演算するが、量子ビットでは量子論理回路を使う。量子論理回路は、量子ビットを入出力に持ち、量子ビットに対して量子ゲートを作用させる。量子ゲートには様々な種類があるが、量子ゲートにおける万能ゲートは回転ゲート制御ノットゲートの二つである。

回転ゲート

1つの量子ビットに対してのみ作用するゲートで、三次元で表された量子ビットをある与えられた角度だけ回転させる。

  • \psi = |0\rangley軸方向に180度回転させた場合、 \psi = |1\rangle となる。これを更にy軸方向に180度回転させれば、 \psi = |0\rangle となる。これは、古典ゲートのNOTゲートに相当し、これを\piゲートと言う。
  • \psi = |0\rangley軸方向に90度回転させた場合、 \psi = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle となる。更に90度回転させた場合、  \psi = |1\rangle となり、これを更に2回90度回転させていくと  \psi  = \frac{1}{\sqrt{2}}|0\rangle - \frac{1}{\sqrt{2}}|1\rangle\psi = |0\rangle というように戻ってくる。

アダマールゲート

回転ゲートの一種で、ブロッホ球上のz軸とx軸方向に45度傾いた方の軸周りに180度回転させるゲートである\psi = |0\rangleアダマールゲートを作用させると、  \psi = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle に、再び作用させると \psi = |0\rangle に戻る。\psi = |1\rangleアダマールゲートを作用させると  \psi = \frac{1}{\sqrt{2}}|0\rangle - \frac{1}{\sqrt{2}}|1\rangle に 、再び作用させると \psi = |1\rangle に戻る。アダマールゲートを  Hとした時、 H|0\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}} H|0\rangle = \frac{|0\rangle - |1\rangle}{\sqrt{2}} が成り立つ。

制御ノットゲート

制御NOTゲートは、2つの量子ビットの入力に対して2つの量子ビットを入出力する。入力された2つの量子ビットの一方を制御ゲート、もう一方を目標ゲートとする(実際はやみくもにこれらが決まるのではない)。このゲートは、この2つの量子ビットに対して制御ビットが1の場合のみ、信号ビットを反転させる。例えば  |a\rangle が制御ビット、 |b\rangle が信号ビットとし、制御NOTゲートへ入力する時、 |a\rangle = |0\rangle である場合、 |b\rangle = |0\rangle であろうが  |b\rangle = |1\rangle であろうが信号ビット |b\rangle は変化しない。  |a\rangle = |1\rangle である場合、 |b\rangle = |0\rangle であれば  |b\rangle = |1\rangle に、 |b\rangle = |1\rangle であれば  |b\rangle = |0\rangle というように信号ビットが反転する。制御NOTゲートは、制御ビットの重ね合わせ状態に依存して信号ビットが変動するため、2つの量子ビットの状態を切り離して考える事ができなくなる事がある。これを量子もつれ合い状態や、エンタングル状態という。回転ゲートが1つの量子ビットの状態をある状態から別の状態に変化させる事しかできないのに対して、量子もつれあい状態を唯一作る事ができるのが、制御NOTゲートである。制御NOTゲートが対象とする制御ビットは必ずしも一つだけでなければならないわけではなく、以下のツイートのように二重制御NOTゲートと呼ばれる、2つの制御ビットの値が両方とも|1\rangleの時だけ信号ビットを反転させるなどといったような回路も組める。

量子ビットを上から a_0,b_0,c_0,c_1 とした場合、上記の状態は式  |a_0,b_0,c_0,c_1\rangle = |1,1,0,0\rangle と表せる。そして、この回路を通すと、  |a_0,b_0,c_0,c_1\rangle = |1,1,0,1\rangle という状態になったと言える。上記のような演算の場合、古典回路で何ら問題がないわけだが、この回路が強力なのは、重ね合わせ状態の量子ビットを入力できる点である。例えば入力が、  |a_0,b_0,c_0,c_1\rangle = |0,0,0,0\rangle + |0,1,0,0\rangle + |1,0,0,0\rangle + |1,1,0,0\rangle という重ね合わせ状態の量子ビットだったとした場合、演算の結果、 |a_0,b_0,c_0,c_1\rangle = |0,0,0,0\rangle + |0,1,1,0\rangle + |1,0,1,0\rangle + |1,1,0,1\rangle を得ることができるのである。しかし、この状態をそのまま観測しても4つの答えを同時に得ることは当然ながら出来ず、どれか1つをでたらめに得られる。

次回では、このような問題に対する解決策や量子コンピュータにおけるアルゴリズムについて取り上げる。

*1:https://ja.wikipedia.org/wiki/回折

*2:光の波長については前提知識があったので省略している。一応、光の波長について参考となりそうなものを貼っておく:https://www.konicaminolta.jp/instruments/knowledge/color/part2/02.html

*3:光が粒子のような性質も持つことを更に確定的なものとした実験に、コンプトン散乱がある。

*4:更に詳しい歴史的経緯はWikipediaに分かりやすく網羅されている。

*5:ド・ブロイの仮説によるド・ブロイ波などを参照

*6:古典論、つまり電子を粒子とした論では説明のできない実験事実の代表例として、「水素原子がなぜ安定に存在できるのか」という問題に対する考察を参照

*7:https://ja.wikipedia.org/wiki/偏光

*8:参考:http://www.luceo.co.jp/technical/pdf/henkou1-1.pdf

*9:https://www.ibm.com/developerworks/jp/cloud/library/cl-quantum-computing/index.html

*10:マクスウェルの方程式参照

*11:光子がその経路に存在する確率は、確率波の振幅の二乗である

*12:アインシュタインも、最後までこの考え方には納得していなかったらしい