1量子ビットがもつ、2つの複素数で表される連続的な情報から、0 もしくは 1 のデジタルな値を得るためには、
「測定(measure)」もしくは「観測(observe)」と呼ばれる操作を行います。
1量子ビットの情報は、ブロッホ球の球面上でイメージできますが、この測定という行為は、
測定したい軸(ブロッホ球の原点を通る直線)を1つ選び、その軸に投影して、その位置により
確率的に、どちらの値になるかが決まるということになります。
通常は、測定したい軸(ブロッホ球の原点を通る直線)として、\({\left| 0 \right\rangle}\) と、\({\left| 1 \right\rangle}\) の軸(「基底」と呼ばれる)が使われます。
\({\alpha\left|0\right\rangle+\beta\left|1\right\rangle}\) を、基底 \({ \left| 0 \right\rangle , \left| 1 \right\rangle }\) で測定すると、 \(|\alpha |^{2} \) の確率で \({ \left| 0 \right\rangle }\) が得られ、 \(|\beta |^{2} \) の確率で \({ \left| 1 \right\rangle }\) が得られます。
このように、測定する基底を使って表させた \( \alpha , \beta \) を「複素確率振幅」と呼び、その2乗の確率で、基底の値 \({ \left| 0 \right\rangle , \left| 1 \right\rangle }\) が得られます。
OpenQL (ja) | Open Quantum Library
2017/09/22
2017/09/21
量子コンピューターはデジタル?アナログ?
量子コンピューターが扱う情報は量子ビットです。量子ビットは、複素数を2つ含む情報で、連続的な情報です。
そのため、量子コンピューターが扱う情報は、アナログ的な情報と言えます。量子ビットの操作(演算)は、
アナログ的に進みます。その情報を観測すると、確率的に 0 もしくは 1 の値が得られることになり、結果としては
デジタルな情報となります。
アナログ機器かデジタル機器かの議論は様々な見解があります。
量子コンピューターは内部ではアナログ情報を扱っていますが、ここでは、アナログ機器ではないという解釈をとります。
量子コンピューターは、Shor 氏による「量子誤り訂正符号」の理論のもと、理論的に精度保証ができる機構を有すること
可能であると判明しています。これにより、情報を精度を高く保つことができるようになり、アナログ機器ではなく
演算精度をもつことができるデジタル機器であると考えられます。
そのため、量子コンピューターが扱う情報は、アナログ的な情報と言えます。量子ビットの操作(演算)は、
アナログ的に進みます。その情報を観測すると、確率的に 0 もしくは 1 の値が得られることになり、結果としては
デジタルな情報となります。
アナログ機器かデジタル機器かの議論は様々な見解があります。
量子コンピューターは内部ではアナログ情報を扱っていますが、ここでは、アナログ機器ではないという解釈をとります。
量子コンピューターは、Shor 氏による「量子誤り訂正符号」の理論のもと、理論的に精度保証ができる機構を有すること
可能であると判明しています。これにより、情報を精度を高く保つことができるようになり、アナログ機器ではなく
演算精度をもつことができるデジタル機器であると考えられます。
2017/09/20
CNOT演算の行列表記
2量子ビットに対しての CNOT演算 を行列で表記すると、
\(\left(\begin{array}{cccc} 1 && 0 && 0 && 0 \\ 0 && 1 && 0 && 0 \\ 0 && 0 && 0 && 1 \\ 0 && 0 && 1 && 0 \end{array}\right)\)
となります。
\(\left(\begin{array}{cccc} 1 && 0 && 0 && 0 \\ 0 && 1 && 0 && 0 \\ 0 && 0 && 0 && 1 \\ 0 && 0 && 1 && 0 \end{array}\right)\)
となります。
2017/09/19
N個の量子ビットを表すためのベクトル
1量子ビットは、\(|\alpha |^{2}+|\beta |^{2}=1\) で規格化された \(\left(\begin{array}{c} \alpha \\ \beta \end{array}\right)\) と2要素のベクトルで表現されます。
2量子ビットをケット・ベクトルで表すと、\(|\alpha |^{2}+|\beta |^{2}+|\gamma |^{2}+|\delta |^{2}=1\) を満たす \(\alpha, \beta, \gamma, \delta \) で規格化された
\(\alpha{\left|00\right\rangle}+\beta{\left|01\right\rangle}+\gamma{\left|10\right\rangle}+\delta {\left|11\right\rangle}\)
となります。これをベクトル表記で表すと、
\(\left(\begin{array}{c} \alpha \\ \beta \\ \gamma \\ \delta \end{array}\right)\)
です。
一般的に、N個の量子ビットは、2N個の複素数を要素にもつベクトルで表現されます。
2量子ビットをケット・ベクトルで表すと、\(|\alpha |^{2}+|\beta |^{2}+|\gamma |^{2}+|\delta |^{2}=1\) を満たす \(\alpha, \beta, \gamma, \delta \) で規格化された
\(\alpha{\left|00\right\rangle}+\beta{\left|01\right\rangle}+\gamma{\left|10\right\rangle}+\delta {\left|11\right\rangle}\)
となります。これをベクトル表記で表すと、
\(\left(\begin{array}{c} \alpha \\ \beta \\ \gamma \\ \delta \end{array}\right)\)
です。
一般的に、N個の量子ビットは、2N個の複素数を要素にもつベクトルで表現されます。
2017/09/18
ベクトルのノルムと規格化
任意のベクトル x について、 \({\left\langle x\middle|x \right\rangle \geqq 0}\) が成り立ちます。
その平方根、\({\left(\left\langle x\middle|x \right\rangle\right)^{1/2}}\) をノルムといい、\(\| x \|\) と表します。
任意のケットベクトル x を、そのノルムで割った \({ \left| x \right\rangle / \| x \|}\) を計算し、 \({\left| x \right\rangle}\) と改めることを、ケット・ベクトル x の規格化といいます。
量子情報科学では、物理状態に対応するケット・ベクトル(とそれに対応するブラ・ベクトル)は、常に規格化しておくことにします。すると、任意のケット・ベクトルについて、
\({\left\langle x\middle|x \right\rangle = 1}\)
が常に成り立ちます。
その平方根、\({\left(\left\langle x\middle|x \right\rangle\right)^{1/2}}\) をノルムといい、\(\| x \|\) と表します。
任意のケットベクトル x を、そのノルムで割った \({ \left| x \right\rangle / \| x \|}\) を計算し、 \({\left| x \right\rangle}\) と改めることを、ケット・ベクトル x の規格化といいます。
量子情報科学では、物理状態に対応するケット・ベクトル(とそれに対応するブラ・ベクトル)は、常に規格化しておくことにします。すると、任意のケット・ベクトルについて、
\({\left\langle x\middle|x \right\rangle = 1}\)
が常に成り立ちます。
2017/09/17
量子ビット操作と行列演算
量子ビットは \({\alpha\left|0\right\rangle+\beta\left|1\right\rangle}\) と表現しますが、これをベクトル表記で表すと、
\({\alpha\left(\begin{array}{c} 1 \\ 0 \end{array}\right)+\beta\left(\begin{array}{c} 0 \\ 1 \end{array}\right)=\left(\begin{array}{c} \alpha \\ \beta \end{array}\right)}\) となります。
量子ビット操作は、この量子ビットを別の量子ビットに変換することを意味します。
この操作は、\( 2 \times 2\) 行列で表わせます。
例えば、ユニタリー変換は変数 \(\theta,\phi,\lambda\) を使って
\({\left(\begin{array}{cc} e^{-i(\phi+\lambda)/2}cos(\theta/2) && -e^{-i(\phi-\lambda)}sin(\theta/2) \\ e^{i(\phi-\lambda)/2}sin(\theta/2) && e^{-i(\phi+\lambda)/2}cos(\theta/2) \end{array}\right)}\)
となります。
\({\alpha\left(\begin{array}{c} 1 \\ 0 \end{array}\right)+\beta\left(\begin{array}{c} 0 \\ 1 \end{array}\right)=\left(\begin{array}{c} \alpha \\ \beta \end{array}\right)}\) となります。
量子ビット操作は、この量子ビットを別の量子ビットに変換することを意味します。
この操作は、\( 2 \times 2\) 行列で表わせます。
例えば、ユニタリー変換は変数 \(\theta,\phi,\lambda\) を使って
\({\left(\begin{array}{cc} e^{-i(\phi+\lambda)/2}cos(\theta/2) && -e^{-i(\phi-\lambda)}sin(\theta/2) \\ e^{i(\phi-\lambda)/2}sin(\theta/2) && e^{-i(\phi+\lambda)/2}cos(\theta/2) \end{array}\right)}\)
となります。
2017/09/16
2量子ビットの量子演算:CNOT演算
1量子ビットの重要な量子操作がユニタリー変換でした。
2量子ビットの重要な量子操作として、CNOT演算があります。"CNOT" の "C" は、制御(Controlled)の "C" です。日本語では「制御NOT」とも呼ばれます。
"NOT" は、古典計算でイメージされるとおり、1を 0 に、0 を 1 に変換する否定演算です。2つの量子ビットの操作では、一方の量子ビットが制御のための量子ビットの役割を務め、もう一方の量子ビットが操作対象の量子ビットとなります。
制御ビットの値(0 または 1)により、操作対象となる量子ビットに NOT操作を行うかが影響して作用します。
上位ビットが制御ビットの CNOT を操作すると、次のようになります。
\({CNOT \left|0\right\rangle\left|0\right\rangle=\left|00\right\rangle}\)
\({CNOT \left|0\right\rangle\left|1\right\rangle=\left|01\right\rangle}\)
\({CNOT \left|1\right\rangle\left|0\right\rangle=\left|11\right\rangle}\)
\({CNOT \left|1\right\rangle\left|1\right\rangle=\left|10\right\rangle}\)
CNOT が作用する前(左辺)と、CNOT が作用した後(右辺)では敢えて、ケット・ベクトルの記載を変えてあります。専門書では、左辺も2量子ビットを1つのケットの中で表現しています。
CNOT の特徴は、量子もつれ(エンタングルメント)状態を作るのに用います。
2量子ビットの重要な量子操作として、CNOT演算があります。"CNOT" の "C" は、制御(Controlled)の "C" です。日本語では「制御NOT」とも呼ばれます。
"NOT" は、古典計算でイメージされるとおり、1を 0 に、0 を 1 に変換する否定演算です。2つの量子ビットの操作では、一方の量子ビットが制御のための量子ビットの役割を務め、もう一方の量子ビットが操作対象の量子ビットとなります。
制御ビットの値(0 または 1)により、操作対象となる量子ビットに NOT操作を行うかが影響して作用します。
上位ビットが制御ビットの CNOT を操作すると、次のようになります。
\({CNOT \left|0\right\rangle\left|0\right\rangle=\left|00\right\rangle}\)
\({CNOT \left|0\right\rangle\left|1\right\rangle=\left|01\right\rangle}\)
\({CNOT \left|1\right\rangle\left|0\right\rangle=\left|11\right\rangle}\)
\({CNOT \left|1\right\rangle\left|1\right\rangle=\left|10\right\rangle}\)
CNOT が作用する前(左辺)と、CNOT が作用した後(右辺)では敢えて、ケット・ベクトルの記載を変えてあります。専門書では、左辺も2量子ビットを1つのケットの中で表現しています。
CNOT の特徴は、量子もつれ(エンタングルメント)状態を作るのに用います。
登録:
コメント (Atom)