量子ビットとは何か?

はじめに

量子コンピュータの研究が盛んである。Google、IBM、Intelなどの巨大テック企業が多額の資金を投入し研究を行なっている。昨年には、Googleが世界で初めて量子優越性(Quantum Supremacy)を示したと主張し話題となった(例えばこれ)。今回は、量子コンピュータが計算を行う際の基本単位となる「量子ビット」について簡単な解説を行う。

古典ビット

我々が日常使うコンピュータは数値を2進数で表す。すなわち、コンピュータが計算する際の基本単位は、0か1のどちらか一方の状態をとる「ビット」と呼ばれる量である。量子コンピュータと従来型のコンピュータの比較を行うとき、現在のコンピュータを古典コンピュータと呼び、その基本単位であるビットを古典ビットと呼ぶことが多い。

古典ビットは0か1のどちらか一方の状態をとる。

量子ビット

量子コンピュータが計算する際の基本単位は量子ビット(quantum bit:qビット)と呼ばれ、0状態と1状態の「重ね合わせ」で表される。これを数式で表現すると

(1)    \begin{equation*} |\psi\rangle=a|0\rangle+b|1\rangle \end{equation*}

となる。ここで、|x\rangleは列ベクトルを表し、量子力学ではケットベクトルと呼ばれる量である。|0\rangle|1\rangle

(2)    \begin{eqnarray*} |0\rangle&=&\left( \begin{array}{c} 1 \\ 0 \end{array} \right) \nonumber \\ |1\rangle&=&\left( \begin{array}{c} 0 \\ 1 \end{array} \right) \end{eqnarray*}

で定義される。またabは確率振幅と呼ばれる量であり複素数である。量子力学では、確率振幅の絶対値の2乗が確率を表すので、式(1)は次のように解釈される。すなわち、状態|\psi\rangle|0\rangleである確率が|a|^2|1\rangleである確率が|b|^2である。確率であるから次式が成り立つ。

(3)    \begin{equation*} |a|^2+|b|^2=1 \end{equation*}

これは、状態|\psi\rangleの規格化条件である。(a,b)=(1,0)のとき|\psi\rangle=|0\rangle(a,b)=(0,1)のとき|\psi\rangle=|1\rangleとなるから、量子ビットは古典ビットを包含する概念である。

量子ビットは0と1の重ね合わせの状態で表される。

量子ビットの可視化

式(1)(量子ビット)を視覚的に理解するため、これを3次元空間内に描画してみる。まず最初に、abを極座標で表す。

(4)    \begin{eqnarray*} a&=&r\;{\rm e}^{i\theta_1} \nonumber \\ b&=&s\;{\rm e}^{i\theta_2} \nonumber \end{eqnarray*}

ここで、r,sは正の実数、\theta_1,\theta_2は実数である。規格化条件(3)は

(5)    \begin{equation*} r^2+s^2=1 \end{equation*}

となる。式(4)を式(1)に代入し少し変形すると

(6)    \begin{eqnarray*} |\psi\rangle &=& {\rm e}^{i\theta_1}\left(r|0\rangle+s\;{\rm e}^{i(\theta_2-\theta_1)}|1\rangle\right) \nonumber \\ &=& {\rm e}^{i\delta}\left(r|0\rangle+s\;{\rm e}^{i\phi}|1\rangle\right) \end{eqnarray*}

となる。ただし、\delta=\theta_1,\phi=\theta_2-\theta_1とした。0\leqq\phi\leqq 2\piである。量子力学において物理的に意味があるのは確率振幅の2乗である。従って、式(6)のように式全体にかかる位相({\rm e}^{i\delta})は確率には寄与しないため、これを1に置き換えることができる。

(7)    \begin{equation*} |\psi\rangle=r|0\rangle+s\;{\rm e}^{i\phi}|1\rangle \end{equation*}

r,sは規格化条件(5)を満たすので

(8)    \begin{eqnarray*} r=\cos{\theta} \nonumber \\ s=\sin{\theta} \nonumber \end{eqnarray*}

と書くことができる。どちらも正の数なので、0\leqq\theta\leqq\pi/2として良い。後の便宜のため\theta\theta/2に置き換える。

(9)    \begin{eqnarray*} r=\cos{\frac{\theta}{2}} \nonumber \\ s=\sin{\frac{\theta}{2}} \nonumber \end{eqnarray*}

このとき範囲は0\leqq\theta\leqq\piとなる。上式を式(7)に代入すると

(10)    \begin{equation*} |\psi\rangle=\cos{\frac{\theta}{2}}|0\rangle+\sin{\frac{\theta}{2}}\;{\rm e}^{i\phi}|1\rangle \end{equation*}

を得る。式(2)を代入して計算すると

(11)    \begin{equation*} |\psi\rangle= \left( \begin{array}{c} \cos{\frac{\theta}{2}} \\ \sin{\frac{\theta}{2}}\cos{\phi}+i\sin{\frac{\theta}{2}}\sin{\phi} \end{array} \right) \end{equation*}

となる。最終的に量子ビットの状態|\psi\rangleは、\theta,\phi0\leqq\theta\leqq\pi,0\leqq\phi\leqq 2\piの範囲を動くときの式(11)で表すことができる。ところで、3次元空間内の点を極座標で表すと

(12)    \begin{equation*} \left( \begin{array}{c} x \\ y \\ z \end{array} \right)= \left( \begin{array}{c} \sin{\theta}\cos{\phi} \nonumber \\ \sin{\theta}\sin{\phi} \nonumber \\ \cos{\theta} \nonumber \end{array} \right) \end{equation*}

と書くことできる。\theta,\phi0\leqq\theta\leqq\pi,0\leqq\phi\leqq 2\piの範囲を動くとき、この点は半径1の球面上を動く。すなわち、式(11)と球面上の点は一対一に対応することになる(下図参照)。

SO(3)
FIRST最先端研究開発支援プログラム量子情報処理プロジェクト:量子情報キーワード解説より引用

(\theta,\phi)=(0,0)のとき|\psi\rangle=|0\rangle(\theta,\phi)=(\pi,0)のとき|\psi\rangle=|1\rangleとなる。この球は量子力学ではBloch(ブロッホ)球と呼ばれる。これを地球と見なせば古典ビットは、北極と南極の2点に相当する。一方、量子ビットの状態は、球面上の任意の点に相当する。

古典ビットは北極と南極だけを表すに過ぎないが、量子ビットは球面上の任意の点を表すことができる。

まとめ

今回は、量子ビットの簡単な説明を行なった。量子コンピュータの並列性の高さや高速さの源は、状態の重ね合わせを利用するところにある。その基本単位である量子ビットを視覚的に理解するため、Bloch球の導出を行なった。
古典ビットの状態は2値化されているが、量子ビットの状態は連続値である。したがって、前者はデジタル、後者はアナログと見ることもできる。アナログであるがゆえにノイズに大変敏感である。これに対処するため、現在作られている量子コンピュータは装置自体がかなり大掛かりになるようである。

Kumada Seiya

Kumada Seiya

仕事であろうとなかろうと勉強し続ける、その結果”中身”を知ったエンジニアになれる

最近の記事

  • 関連記事
  • おすすめ記事
  • 特集記事

アーカイブ

カテゴリー

PAGE TOP