量子計算理論(森前 著) の演習問題を解く part5

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

今回はpp.37- です。

pp.37.1 CZゲートの対称性


1.CZゲートの対称性(制御ビットと標的ビットを入れ替えても同じ)を示せ
を示せ。*1
2.CNOT→制御ビットと標的ビットを入れ替えたCNOT→CNOTがSWAPゲート(ビットの入れ替え)

U ( | \psi \rangle \otimes | \phi \rangle ) = | \phi \rangle \otimes | \psi \rangle
になっていることを示せ.

  • 解答

1. CZゲートは
 CZ = | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z
とかける。
すなわち対称性を示せとは、
  | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z =  I \otimes | 0 \rangle \langle 0 | +  Z \otimes | 1 \rangle \langle 1 |
を示せということである。
これを示すには、
  I =  | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | , Z =  | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 |
を使う。
やっていこう。

 \begin{eqnarray*}
 | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes Z &=& | 0 \rangle \langle 0 | \otimes ( | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | ) +  | 1 \rangle 
 \langle 1 | \otimes  ( | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 | ) \\
&=& ( | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | ) \otimes | 0 \rangle \langle 0 | + ( | 0 \rangle \langle 0 | -  | 1 \rangle \langle 1 | ) \otimes  | 1 \rangle \langle 1 | \\
&=&  I \otimes | 0 \rangle \langle 0 | +  Z \otimes | 1 \rangle \langle 1 | \\
 \end{eqnarray*}
よって示された。

2. CNOTゲートは
 CNOT = | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X
とかける。

制御ビットと標的ビットを入れ替えたCNOTは
 CNOT = I \otimes | 0 \rangle \langle 0 | +  X \otimes | 1 \rangle \langle 1 |
である。

よって

 \begin{eqnarray*}
U &=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )(  I \otimes | 0 \rangle \langle 0 | +  X \otimes | 1 \rangle \langle 1 | )( | 0 \rangle \langle 0 
 | \otimes I +  | 1 \rangle \langle 1 | \otimes X ) \\
&=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )(  | 0 \rangle \langle 0 | \otimes  | 0 \rangle \langle 0 | +  | 1 \rangle \langle 1 | \otimes  | 0 \rangle \langle 0 | X + X | 0 \rangle \langle 0 | \otimes  | 1 \rangle \langle 1 | + X | 1 \rangle \langle 1 | \otimes | 1 \rangle \langle 1 | X ) \\
&=& ( | 0 \rangle \langle 0 | \otimes I +  | 1 \rangle \langle 1 | \otimes X )( | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes | 0 \rangle \langle 1 | + | 1 \rangle \langle 0 | \otimes | 1 \rangle \langle 1 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | ) \\
&=& | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes X | 0 \rangle \langle 1 
 | + | 1 \rangle \langle 0 | \otimes X | 1 \rangle \langle 1 | ) \\
&=& | 0 \rangle \langle 0 | \otimes | 0 \rangle \langle 0 | + | 0 \rangle \langle 1 | \otimes | 1 \rangle \langle 0 | + | 1 \rangle \langle 1 | \otimes | 1 \rangle \langle 1 | + | 1 \rangle \langle 0 | \otimes | 0 \rangle \langle 1 |) 
 \end{eqnarray*}

このゲートはSWAPゲートになっている。実際に Uを作用させてみると、

 \begin{eqnarray*}
 | 00 \rangle \rightarrow | 00 \rangle \\
 | 01 \rangle \rightarrow | 10 \rangle \\
 | 10 \rangle \rightarrow | 01 \rangle \\
 | 11 \rangle \rightarrow | 11 \rangle
 \end{eqnarray*}

となるので、確かにbitが入れ替わっています!

今回はここまで。

*1:ただしこのような対称性は一般には成り立たない。CZゲートの特徴である。(特徴付けであるかは不明)

量子計算理論(森前 著) の演習問題を解く part4

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

今回はpp.35- です。

pp.35.1 {X,Y,Z,I}ゲート演算の性質


ゲート演算  X, Y, Z, Iについて
1.

 \begin{eqnarray*}
&1.1& X^{2} = Y^{2} = Z^{2} = I \\
&1.2& XY = -YX = iZ, YZ = -ZY = iX, ZX = -XZ = iY
 \end{eqnarray*}
を示せ。
2.  X, Y, Zについて固有値および固有ベクトルを求めよ。
3.  n量子ビットパウリ演算子 Sを次式で定義する。

S \equiv \alpha \otimes_{j=1}^{n} P_{j}, \alpha \in \{ 1, -1, i, -i \}, P_{j} \in \{ I, X, Y, Z \}
このとき Sは掛け算について群をなすことを示せ.
ただし X, Y, Zは以下で定義されている.

X \equiv
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
,
Y \equiv
\begin{pmatrix}
0 & -i \\
i & 0
\end{pmatrix}
,
Z \equiv
\begin{pmatrix}
1 & 0 \\
0 & -1
\end{pmatrix}

I \equiv
\begin{pmatrix}
1 & 0 \\
0 & 1
\end{pmatrix}
さらに

 X = |1 \rangle \langle 0| +  |0 \rangle \langle 1| \\
 Y = i|1 \rangle \langle 0| -  i|0 \rangle \langle 1| \\
 Z = |0 \rangle \langle 0| -  |1 \rangle \langle 1|  \\
 I = |0 \rangle \langle 0| +  |1 \rangle \langle 1|
を満たす。(この式は成分計算で示せる)

  • 解答

1.1,1.2は行列の成分計算で示せる。(簡単なので流石に省略)
2 を示す。
例えばXについては固有値方程式  \lambda ^{2} - Tr(X)\lambda + det(X) = 0 を解くと固有値 \lambdaが得られる。
 \lambda = 1, -1が得られる。
固有ベクトルは各 \lambdaについて存在する。
 \lambda = 1については

X
\begin{pmatrix}
a \\
b
\end{pmatrix}

=

1
\begin{pmatrix}
a \\
b
\end{pmatrix}
を解けば良い。
a = bを得るので、固有ベクトル v_{1}

v_{1}
=
c
\begin{pmatrix}
1 \\
1
\end{pmatrix}

=

c ( |0 \rangle + |1 \rangle )
 c \in \mathbb{C}
である。

同様に、

 v_{-1}
 =
 c
 \begin{pmatrix}
 1 \\
 -1
\end{pmatrix}

 =
 c ( |0 \rangle - |1 \rangle )
 c \in \mathbb{C}

 Y, Zについても同様に計算する。
 Yについて、

v_{1}
=
c
\begin{pmatrix}
1 \\
i
\end{pmatrix}


v_{-1}
=
c
\begin{pmatrix}
1 \\
 -i
\end{pmatrix}

 Z について、

v_{1}
=
c
\begin{pmatrix}
1 \\
0
\end{pmatrix}


v_{-1}
=
c
\begin{pmatrix}
0 \\
1
\end{pmatrix}

3. について、示す。*1

群であるためには以下を満たす必要がある。
3.1 積について閉じている
3.2 単位元が存在する
3.3 逆元が存在する
3.4 結合法則
これらを確認すれば良いのである。

また、 n量子ビット演算子は1量子ビットテンソル積なので、1量子ビットについて示せば(各量子ビットは独立なのだから)十分である。

3.1
 S = \{ \alpha P |  \alpha \in \{ 1, -1, i, -i\}, P \in \{ X, Y, Z, I\} \}の中から任意の2つを選んできて積を作ったときに、
それがまた Sの要素であることを示せば良い。
これは1.により明らか。

3.2
単位行列 I単位元である。

3.3
 {X, Y, Z, I} について、これに掛けると単位元単位行列)になるものを見つければ良い。
1.の結果により  XX = I なのだから、 Xの逆元はX自身である。
同様に Y,Z,Iの逆元も自分自身である。

3.4
結合法則は、行列表示が結合法則を持っていることから従う。

以上により群をなしていることが示された。

補足


 \begin{eqnarray*}
&1.1& X^{2} = Y^{2} = Z^{2} = I \\
&1.2& XY = -YX = iZ, YZ = -ZY = iX, ZX = -XZ = iY
 \end{eqnarray*}
は実は極めて重要な性質である。
 \sigma_{1} = X, \sigma_{2} = Y, \sigma_{3} = Z
とおく。行列のカッコ積[ , ]を [A, B] \equiv AB -BA で(非可換性として)定義する。上記の性質は
 [\sigma_{i}, \sigma_{j}] = i \epsilon_{ijk} \sigma_{k}
と表現できる。ここで \epsilon_{ijk}はエディントンのイプシロンあるいはレビチビタの記号と呼ばれる。
エディントンのイプシロン - Wikipedia

カッコ積が入っていて、かつこのような性質を満たす \sigmaたちから成る代数はリー代数と呼ばれる。
パウリ行列 - Wikipedia
リー代数 - Wikipedia

リー代数については過去記事でも紹介しています。

他のリー代数については、例えばベクトルの外積があります。
三次元ベクトルからなる集合に、カッコ積をベクトルの外積として定義します。
(基底ベクトルを \vec{e_{1}} ,\vec{e_{2}}, \vec{e_{3}}とします。)
 [ \vec{e_{i}},  \vec{e_{j}} ]  \equiv \vec{e_{i}} \times \vec{e_{j}}
すると、 \vec{e_{1}} \times \vec{e_{2}} = \vec{e_{3}}などベクトルの外積の性質から
  [ \vec{e_{i}},  \vec{e_{j}} ] = \epsilon_{ijk} \vec{e_{k}}
と書けます。
外積に隠れていたリー代数が見つかりました!

今回はここまで。

*1:そもそも本書では、ここの”掛け算”の定義が示されていない点は不十分と思う。(掛け算 は行列表現における行列積で定義されているのである) また、”群”の説明がない点も不親切である。

量子計算理論(森前 著) の演習問題を解く part3

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

今回はpp.25- です。

pp.25.1 複素確率ベクトルの保存



 \begin{eqnarray*}

 \sum_{\beta \in \{0,1\}^{n}} p_{\beta,\alpha}^{*} p_{\beta,\gamma} = \delta_{\alpha , \gamma}
 \end{eqnarray*}
ならば
状態遷移 S(\{p_{z',z}\})の前後で

 \sum_{z} |c_{z}|^{2} = 1 が保たれていることを示せ

  • 解答


\begin{eqnarray*}
 | \psi^{'} \rangle \equiv S(\{p_{z',z}\}) | \psi \rangle = \sum_{z} \sum_{z'} p_{z',z} |z' \rangle \langle z| ) | \psi \rangle
\end{eqnarray*}
とおく。この複素ベクトルのノルムが1であることを示せば、直交性から
係数の二乗和も1といえる。
以下でノルムを計算する。


\begin{eqnarray*}
 \langle \psi^{'} | \psi^{'} \rangle &=& (\sum_{z} \sum_{z'} p^{*}_{z',z} \langle \psi | z \rangle \langle z' | )(\sum_{w} \sum_{w'} p_{w',w} | w' \rangle \langle w | \psi \rangle ) \\
&=& \sum_{z,z',w,w'} p^{*}_{z',z} p_{w',w} \langle \psi | z \rangle \langle z' | w' \rangle \langle w | \psi \rangle \\
&=& \sum_{z,z',w,w'} p^{*}_{z',z} p_{w',w} \langle \psi | z' \rangle \delta_{z'w'} \langle w | \psi \rangle \\
&=& \sum_{z,z',w} p^{*}_{z',z} p_{z',w} \langle \psi | z' \rangle \langle w | \psi \rangle \\
\end{eqnarray*}
ここで

\begin{eqnarray*}
 \sum_{\beta \in \{0,1\}^{n}} p_{\beta,\alpha}^{*} p_{\beta,\gamma} = \delta_{\alpha , \gamma}
\end{eqnarray*}
の条件を使うと、

\begin{eqnarray*}
 \sum_{z,z',w} p^{*}_{z',z} p_{z',w} \langle \psi | z' \rangle \langle w | \psi \rangle &=& \sum_{z,z',w} \delta_{z w} \langle \psi | z' \rangle \langle w | \psi \rangle \\
&=& \sum_{z,z'} \langle \psi | z' \rangle \langle z | \psi \rangle \\
&=& | \psi |^{2} \\
&=&1
\end{eqnarray*}
よって示された。



pp.27.1 測定の性質



\begin{eqnarray*}
1&.& \langle \psi | ( |z \rangle \langle z| ) | \psi \rangle = |c_{z}|^{2} \\
2&.& \frac{ |z \rangle \langle z | \psi \rangle }{ \langle z | \psi \rangle} = | z \rangle \\
3&.& \langle \psi | ( | 1 \rangle \langle 1 | \otimes I^{\otimes n-1} ) | \psi \rangle = \sum_{z:z_{1} = 1} |c_{z}|^{2} \\
4&.& \frac{ ( | 1 \rangle \langle 1 | \otimes I^{\otimes n-1} ) | \psi \rangle }{ \sqrt{ \langle \psi | ( | 1 \rangle \langle 1 | \otimes I^{\otimes n-1} ) | \psi \rangle }} = \frac{\sum_{z:z_{1} = 1} c_{z}|z \rangle }{\sqrt{ \sum_{z:z_{1} = 1} |c_{z}|^{2}} }
 \end{eqnarray*}

  • 解答

1.

\begin{eqnarray*}
 \psi = \sum c_{z} |z \rangle
 \end{eqnarray*}
であるから、代入して

 \begin{eqnarray*}
 \langle \psi | ( |z \rangle \langle z| ) | \psi \rangle &=& \sum_{z''} c^{*}_{z''} \langle z'' | ( z \rangle \langle z | ) \sum_{z'} c_{z'} | z' \rangle \\
 &=& \sum_{z''} c^{*}_{z''} \delta_{z'' z} \sum_{z'} c_{z'} | \delta_{z z'} \\
 &=& c^{*}_{z} c^{*}_{z} \\
 &=& |c_{z}|^{2} 
 \end{eqnarray*}

2.
 \langle z| \psi \rangle \in \mathbb{C} なので、分母と分子で約分すればよい。

3.
第一量子ビットが0であるものと1であるものにわける。

 \begin{eqnarray*}
 | \psi \rangle = \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle +  \sum_{y \in \{0,1\}^{n-1}} c_{0y} | 0y \rangle
 \end{eqnarray*}
この表式を使うと

 \begin{eqnarray*}
 | 1 \rangle \langle 1 | \otimes I^{\otimes n-1} ) | \psi \rangle = \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle + 0
 \end{eqnarray*}
よって

 \begin{eqnarray*}
(与式の左辺) &=& \langle \psi | ( \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle ) \\
&=& ( \sum_{y \in \{0,1\}^{n-1}} c_{1y}^{*} \langle 1y | +  \sum_{y \in \{0,1\}^{n-1}} c_{0y}^{*} \langle 0y | ) ( \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle  )  \\
&=& ( \sum_{y \in \{0,1\}^{n-1}} c_{1y}^{*} \langle 1y | ) ( \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle  )  \\
&=& \sum_{y,y'} c_{1y}^{*} c_{1y'} \delta_{y y'} \\
&=& \sum_{y} c_{1y}^{*} c_{1y} \\
&=& \sum_{y} |c_{1y}|^{2} \\
&=& \sum_{z:z_{1}=1} |c_{z}|^{2} \\
 \end{eqnarray*}

よって示された。

4.
分子は 3. の途中で示したとおり明らか。

 \begin{eqnarray*}
 | 1 \rangle \langle 1 | \otimes I^{\otimes n-1} ) | \psi \rangle = \sum_{y \in \{0,1\}^{n-1}} c_{1y} | 1y \rangle
 \end{eqnarray*}
分母は③の題意そのものであるからすでに示した。
よって4.が証明できた。


今回はここまで。
次回からついに量子ゲート演算が本格的に登場します。

量子計算理論(森前 著) の演習問題を解く part2

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

二章はチューリングマシンから始まりますが、あまり詳しくないのでpp.15- (古典的確率状態)から書いていきます。
今回はpp.19- です。

pp.19.1 古典的確率状態の遷移(演算子


H = (\frac{1}{2}|00 \rangle+\frac{1}{2}|11 \rangle)\langle 00| + (\frac{1}{3}|00 \rangle+\frac{2}{3}|10 \rangle)\langle 01| + (\frac{2}{4}|01 \rangle+\frac{1}{4}|00 + \frac{1}{4}|11 \rangle)\langle 10| + (\frac{3}{5}|10 \rangle+\frac{2}{5}|11 \rangle)\langle 11
としたときに、 H| 0 0 \rangle , H| 0 1 \rangle , H| 1 0 \rangle , H| 1 0 \rangle を確認せよ

  • 解答

直交性を使う。 | 0 0 \rangleに作用させたときは \langle 0 0| 0 0 \rangle = 1だから、この項だけが残る。
 H| 00 \rangle =  (\frac{1}{2}|00 \rangle+\frac{1}{2}|11 \rangle) \langle 0 0| 0 0 \rangle = (\frac{1}{2}|00 \rangle+\frac{1}{2}|11 \rangle)
全く同様に、
 H| 01 \rangle =  (\frac{1}{3}|00 \rangle+\frac{2}{3}|10 \rangle)
 H| 10 \rangle =  (\frac{2}{4}|01 \rangle+\frac{1}{4}|00 + \frac{1}{4}|11 \rangle)
 H| 11 \rangle =   (\frac{3}{5}|10 \rangle+\frac{2}{5}|11 \rangle)

pp.19.2 確率行列


1. 今日晴れなら、明日晴れる確率は1/2,曇りの確率は1/2
2. 今日曇りなら、明日晴れる確率は1/3,雨の確率は2/3
3. 今日雨なら、明日曇りの確率は1/4,雨の確率は3/4
を表す3x3確率行列を書け

  • 解答

晴れ、曇り、雨を以下のように定義する。

 |\phi_{1} \rangle
=
\begin {pmatrix}
1 \\
0 \\
0 
\end {pmatrix}


 |\phi_{2} \rangle
=
\begin {pmatrix}
0 \\
1 \\
0 
\end {pmatrix}


 |\phi_{3} \rangle
=
\begin {pmatrix}
0 \\
0 \\
1 
\end {pmatrix}

pp19.1の演習問題から、題意を満たす確率遷移Hは

H = (\frac{1}{2} |\phi_{1} \rangle + \frac{1}{2} |\phi_{2} \rangle ) \langle \phi_{1} | + (\frac{1}{3} |\phi_{1} \rangle + \frac{2}{3} |\phi_{3} \rangle ) \langle \phi_{2} | + (\frac{1}{4} |\phi_{2} \rangle + \frac{3}{4} |\phi_{3} \rangle ) \langle \phi_{3} |

これを行列表現すればよい。
例えば、

(\frac{1}{2} |\phi_{1} \rangle + \frac{1}{2} |\phi_{2} \rangle ) \langle \phi_{1} |
=
\begin{pmatrix}
1/2 \\
1/2 \\
0
\end{pmatrix}

\begin{pmatrix}
1 & 0 & 0
\end{pmatrix}

=

\begin{pmatrix}
1/2 & 0 & 0 \\
1/2 & 0 & 0 \\
0 & 0 & 0 
\end{pmatrix}

である。このようにして計算するとただちに

H = 
\begin{pmatrix}
1/2 & 1/3 & 0 \\
1/2 & 0 & 1/4 \\
0 & 2/3 & 3/4 
\end{pmatrix}

を得る。*1

pp.19.3 確率ベクトルの保存


確率的古典計算機のある状態を表す状態ベクトル

 | \psi \rangle  \equiv \sum_{z \in \{0,1\}^{n}} c_{z} |z \rangle
とする。
これは c_{z} \geq 0 かつ  \sum_{z \in \{0,1\}^{n}} c_{z} = 1 を満たす。(古典的確率ベクトル)
確率ベクトル |\psi \rangle に確率的遷移の演算子 S( \{p_{z', z} \})を作用させた状態もまた確率ベクトルであることを示せ。
ただし確率的遷移の演算子
 
S( \{p_{z', z} \}) \equiv \sum_{z \in \{0,1\}^{n}} \sum_{z' \in \{0,1\}^{n}} p_{z',z} |z' \rangle \langle z| \\
p_{z',z} \geq 0 \\
\sum_{z' \in \{0,1\}^{n}} p_{z',z} = 1 \\
である。
(状態  |z \rangle \rightarrow |z' \rangle の遷移を表す。)

  • 解答


 | \psi' \rangle = S( \{p_{z', z} \}) |\psi \rangle
とおく。方針は

 | \psi' \rangle = \sum_{z} d_{z} |z \rangle
の形に持ち込んで、このときの係数 d_{z}が確率ベクトルの条件を満たしていることを証明すれば良い。
*2


 | \psi' \rangle   \\
= S( \{p_{z', z} \}) |\psi \rangle  \\
= \sum_{z \in \{0,1\}^{n}} \sum_{z' \in \{0,1\}^{n}} p_{z',z} |z' \rangle \langle z| (\sum_{z'' \in \{0,1\}^{n}} c_{z''} |z'' \rangle ) \\
= \sum_{z \in \{0,1\}^{n}} \sum_{z' \in \{0,1\}^{n}} \sum_{z'' \in \{0,1\}^{n}} p_{z',z} |z' \rangle \langle z| c_{z''} |z'' \rangle   \\
ここで直交性より \langle z | z'' \rangle = \delta_{z''z}を使う。


 | \psi ' \rangle \\
= \sum_{z \in \{0,1\}^{n}} \sum_{z' \in \{0,1\}^{n}} \sum_{z'' \in \{0,1\}^{n}} p_{z',z} |z' \rangle c_{z''} \delta_{z''z}   \\
= \sum_{z \in \{0,1\}^{n}} \sum_{z' \in \{0,1\}^{n}}  p_{z',z} |z' \rangle c_{z'} \\

(z''についての和はz''=zのときを除いて0になるので)

これをよくみると、


 | \psi \rangle = \sum_{z'} d_{z'} |z' \rangle \\
d_{z'} \equiv \sum_{z}  p_{z',z} c_{z}
という形になっている。
先の方針通り、 d_{z'} が確率ベクトルたる条件を満たしているかを確認する。

 d_{z'} \geq 0は定義から自明。
 \sum_{z'} d_{z'} = 1 を示そう。


 \sum_{z'} d_{z'} = \sum_{z'} \sum_{z}  p_{z',z} c_{z} = \sum_{z} c_{z} \times (\sum_{z'} p_{z',z}) = \sum_{z} c_{z} \times 1 = 1 \times 1 = 1

となるので示せた!

今回はここまで。

*1:1番目の列ベクトルをみると、これは題意の1.を表している。同様に各列ベクトルはそれぞれ題意に対応している。 なぜ?と思った人は線形代数の教科書を参照してほしい。演算子は線形に作用しているので、”基底の構成要素 | \phi_{1,2,3} \rangle Hによる行き先を 決めてしまえば一般のベクトルの行き先、すなわち行列成分は決まってしまう” という事実が現れている

*2:以降の計算は難しそうに見えるが、実際のところ式をいじくり回しているだけなので、あまり本質的でもない。

量子計算理論(森前 著) の演習問題を解く part1.1

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本も参考に、コントロールゲート(トフォリゲート含む)を直感的に理解してみます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

量子ビットのコントロールNOTゲート

コントロールNOTゲート、あるいは制御NOTゲートとは二量子ビットの系

 |q_{1} q_{0} \rangle , q_{0,1} \in \{0,1\}^{2}
に対して

制御ビット q_{1} が1であるときにのみ標的ビットq_{0}を反転させるようなゲート演算CNOTです。
すなわち、

 CNOT |0 0 \rangle = |0 0 \rangle \\
 CNOT |0 1 \rangle = |0 1 \rangle \\
 CNOT |1 0 \rangle = |1 1 \rangle \\
 CNOT |1 1 \rangle = |1 0 \rangle \\
です。
CNOTは次のようにかけます。

 CNOT = |0 \rangle \langle 0| \otimes I +  |1 \rangle \langle 1| \otimes NOT

この記事では、これを納得しましょう!

演算子表現に納得するには


 CNOT = |0 \rangle \langle 0| \otimes I +  |1 \rangle \langle 1| \otimes NOT
は一見よくわからない表式にみえます。
これを納得するには、自分で作ってみればよいです。

まず制御bitが0か1かで動作が変わるのだから、制御ビットの情報をなんとかして抜く必要がありますね。
それには 、制御bitについて \langle 1| との内積を取ればいいのです。
直交性から、制御bitが |0 \rangleのときには0,  |1 \rangleのときには1が得られます。

しかし \langle 1| というのはベクトルであって、演算子ではありません。
演算子であるためには、 |1 \rangle \langle 1| のようにする必要があります。
これは |1 \rangle 方向への射影演算子と呼ばれるものです。

これで、制御bitが |0 \rangleのときには0,  |1 \rangleのときには  |1 \rangleが得られます。
制御bitの0/1に応じて、標的bitのほうにはNOTを作用させたりさせなかったりするのだから、NOTとテンソル積をとってみます。

CNOT (?) = |1 \rangle \langle 1| \otimes NOT
としてみましょう。
作用は、

CNOT (?) | 1 0 \rangle = ( |1 \rangle \langle 1| \otimes NOT) | 1 0 \rangle  = |1 1 \rangle
となりました。おお!うまくいっていますね!

でも実はまだ今ひとつです。制御bitが0だと

CNOT (?) | 0 1 \rangle = ( |1 \rangle \langle 1| \otimes NOT) | 0 1 \rangle  = 0
となるので状態が消えてしまいました。制御bitの直交性を利用して作ったので当然そうなります。
どうすればいいでしょうか。制御bitが0のときは入力がそのまま出てきてほしいので、
 |0 \rangle \langle 0|  と  Iテンソル積を取るとよいでしょう。

これをさっきのやつに足してみると

CNOT (??) =  ( |0 \rangle \langle 0| \otimes I) + ( |1 \rangle \langle 1| \otimes NOT)
です。作用をみてみると、

CNOT (??)| 0 1 \rangle =  ( |0 \rangle \langle 0| \otimes I)| 0 1 \rangle + ( |1 \rangle \langle 1| \otimes NOT) | 0 1 \rangle \\
=| 0 1 \rangle + 0 \\
=| 0 1 \rangle
よって、制御bitが0のときにちゃんと入力がそのまま出てくるようになりました。

制御bitが1のときの動作も変わりないでしょうか?確かめてみましょう。

CNOT (??)| 1 0 \rangle =  ( |0 \rangle \langle 0| \otimes I)| 1 0 \rangle + ( |1 \rangle \langle 1| \otimes NOT) | 1 0 \rangle \\
=0 +  | 1 1 \rangle \\
=| 1 1 \rangle
変わりなくうまくいっていますね!
制御bitが1のときと0のときの動作を独立に考えて、それを足しただけなのにうまくいきました*1
この表式こそ、理解したかったCNOTの表式そのものですね!


 CNOT = |0 \rangle \langle 0| \otimes I +  |1 \rangle \langle 1| \otimes NOT

量子ビットのコントロールNOTゲート

量子ビットのコントロールNOTも、楽勝で作れます。
まず制御bitが1つで、標的bitが2つの場合を考えますと、

 CNOT = |0 \rangle \langle 0| \otimes I  \otimes I +  |1 \rangle \langle 1| \otimes NOT \otimes NOT
となることが容易に予想できるでしょう。
制御bitが1つで標的bitが1つ(真ん中のbitとします)、最後のbitは何も関与しない場合*2

 CNOT = |0 \rangle \langle 0| \otimes I  \otimes I +  |1 \rangle \langle 1| \otimes NOT \otimes I
です。

少しむずかしいのは制御bitが2つのパターンです。ここで制御bitは左側の2bitとします。
両方の制御bitが1のときだけ標的bitを反転させる場合を作ってみましょう。 |11 \rangle への射影を考えるのがポイントです。

 CNOT = |00 \rangle \langle 00|  \otimes I +  |01 \rangle \langle 01|  \otimes I + |10 \rangle \langle 10|  \otimes I + |11 \rangle \langle 11|  \otimes NOT
ふむふむ。これはよくみると納得できると思います。

しかし更に、これは別の表現もできます。ここがポイント。

 CNOT =  (I \otimes I -|11 \rangle \langle 11|) \otimes I + |11 \rangle \langle 11|  \otimes NOT

何が起こったのかわからないみなさん、大丈夫です。私も一見わかりませんでした!

ここは射影演算子の「完全性」と呼ばれる性質を使いました。それは、以下の関係式です。
1量子ビット系では

 I =  |0 \rangle \langle 0| +   |1 \rangle \langle 1|
2量子ビット系では

 I \otimes I =  |00 \rangle \langle 00| +   |01 \rangle \langle 01| + |10 \rangle \langle 10| +   |11 \rangle \langle 11|
です。直感的には「量子状態を各基底に射影して分解したあとに全部足し合わせると元に戻るので、射影演算子の和は恒等演算子といえる」 

完全性を適応すると、先程の変な表式もすぐわかると思います!
ちなみにこれがトフォリゲートでした。

コントロールUゲート

一般に、標的bitに作用させるのはNOTでなくてもいいはずです。
任意のユニタリゲートを作用させるものを単にコントロールゲートといいます。


さて、だいぶゲートの作り方がわかってきましたかね。
ここらへんはいちいち検索して調べると忙しいので、直感的に理解しておくこと、慣れることは重要そうです。*3
今回はここまで。

*1:一般にうまくいくわけではない

*2:これは単に二量子ビットのコントロールNOTと同じ

*3:私も勉強始めたばかりなので確証はありません

量子計算理論(森前 著) の演習問題を解く part1

こんにちは。Kumaです。

最近、量子コンピュータについて勉強しています。
今回は有名な以下の本の演習問題について、解答が載っていないので一部書いてみたいとおもいます。
f:id:phymath1991:20181224165540p:plain
量子計算理論 量子コンピュータの原理 | 森北出版株式会社

二章はチューリングマシンから始まりますが、あまり詳しくないのでpp.15- (古典的確率状態)から書いていきます。

pp.15.1 Xゲートの確認


X =
\begin{pmatrix}
0 & 1 \\
1 & 0
\end{pmatrix}
としたときに、 X | 0 \rangle = | 1 \rangle および  X | 1 \rangle = | 0 \rangle を示せ。

  • 解答

行列演算で示す。

 | 0 \rangle
 =
\begin{pmatrix}
1 \\
0
\end{pmatrix}
および

 | 1 \rangle
 =
\begin{pmatrix}
0 \\
1
\end{pmatrix}

なので

 X | 0 \rangle

=

 \begin{pmatrix}
0 & 1 \\
1 & 0
 \end{pmatrix}

 \begin{pmatrix}
1 \\
0
 \end{pmatrix}

=

 \begin{pmatrix}
0 \\
1
 \end{pmatrix}

=

 | 1 \rangle

と示される。同様に


 X | 1 \rangle

=

 \begin{pmatrix}
0 & 1 \\
1 & 0
 \end{pmatrix}

 \begin{pmatrix}
0 \\
1
 \end{pmatrix}

=

 \begin{pmatrix}
1 \\
0
 \end{pmatrix}

=

 | 0 \rangle

pp.16.1 トフォリゲートの確認

トフォリゲートを「三量子ビットに作用する演算であって、第一および第二量子ビットが1のときに限り第三量子ビットを反転させるもの」とする。即ち
 T = ( I \otimes I - |11\rangle \langle 11| ) \otimes I + |11 \rangle \langle 11| \otimes X
ただし Iは恒等演算子であって  I = | 0 \rangle  \langle 0 | +  | 1 \rangle  \langle 1 | である。
また加算記号 \oplusはmod 2 の加算である。
このとき、任意の a,b,c \in {0,1}に対して T |a,b,c \rangle = |a,b,c \oplus ab \rangle を示せ。

  • 解答

確認しながらやっていく。まずは
 Iは恒等演算子であって  I = | 0 \rangle  \langle 0 | +  | 1 \rangle  \langle 1 | である。”
を理解しよう。
 I | 0 \rangle = | 0 \rangle かつ  I | 1 \rangle = | 1 \rangle であれば納得できそうである。これを示そう。
 I | 0 \rangle =(| 0 \rangle  \langle 0 | +  | 1 \rangle  \langle 1 | ) | 0 \rangle = | 0 \rangle  \langle 0 |  0 \rangle + | 1 \rangle  \langle 1 |  0 \rangle
ここで、 \langle 0 |  0 \rangle = 1 , \langle 1 |  1 \rangle = 1, \langle 0 |  1 \rangle = \langle 1 |  0 \rangle = 0 を思い出そう。(直交性)
すると
 I | 0 \rangle = 1 *  | 0 \rangle + 0* | 1 \rangle =  | 0 \rangle となり示された。
同様にして  I | 1 \rangle = 0 *  | 0 \rangle + 1* | 1 \rangle =  | 1 \rangle も示せるので、 Iがたしかに恒等写像になっていることがわかった。
*1

次にトフォリゲートを理解しよう。
" T = ( I \otimes I - |11\rangle \langle 11| ) \otimes I + |11 \rangle \langle 11| \otimes X
というゲートが「三量子ビットに作用する演算であって、第一も第二量子ビットも1のときに限り第三量子ビットを反転させるもの」といえることを確認する。"

具体的にみて納得しよう。例えば T|0 0 0 \rangle = |0 0 0 \rangle,  T|0 1 0 \rangle = |0 1 1 \rangle などを確認したい。*2
初めに T|0 0 0 \rangle = |0 0 0 \rangle を確認する。
 T|0 0 0 \rangle \\

=

 ( I \otimes I - |11\rangle \langle 11| ) \otimes I + |11 \rangle \langle 11| \otimes X|0 0 0 \rangle \\

=

 ( I \otimes I  \otimes I |)0 0 0 \rangle - (|11\rangle \langle 11| \otimes I |)0 0 0 \rangle +  (|11 \rangle \langle 11| \otimes X|)0 0 0 \rangle \\

ここで、出てきた  |11\rangle \langle 11| \otimes I という演算子がちょっと難しいので解説する。
まず、テンソル \otimes の左右で独立と思って良い。つまりこの場合はテンソル積の左 |11\rangle \langle 11| と右 I でわけて考える。
テンソル積の左は第一量子ビットと第二量子ビットで作られる空間 例えば |0_{q_{1}} 0_{q_{2}} \rangle に対して作用する二量子ビット演算子である。
テンソル積の右は、第三量子ビットだけで作られる空間  例えば |0_{q_{3}} \rangle に対して作用する一量子ビット演算子である。
つまり  |11\rangle \langle 11| \otimes I |0 0 0 \rangle は、 |11\rangle \langle 11| 0_{q_{1}} 0_{q_{2}} \rangle = 0*| 11 \rangle = 0 *3かつ  I |0_{q_{3}} \rangle  = | 0 \rangle より
 |11\rangle \langle 11| \otimes I |0 0 0 \rangle = 0 となる。
*4
よって
 T|0 0 0 \rangle \\

=


 ( I \otimes I  \otimes I |)0 0 0 \rangle - (|11\rangle \langle 11| \otimes I |)0 0 0 \rangle +  (|11 \rangle \langle 11| \otimes X|)0 0 0 \rangle \\

=

 |000 \rangle - 0 + 0 \\

=

 |0 0 0 \rangle



全く同様にして他の入力に対する演算も確かめられる。
例えば、
 T|1 1 0 \rangle \\

=


 ( I \otimes I  \otimes I |)1 1 0 \rangle - (|11\rangle \langle 11| \otimes I |)1 1 0 \rangle +  (|11 \rangle \langle 11| \otimes X|)1 1 0 \rangle \\

=

 |110 \rangle - |110 \rangle + |111 \rangle \\

=

 |1 1 1 \rangle

 T|1 0 0 \rangle \\

=


 ( I \otimes I  \otimes I |)1 0 0 \rangle - (|11\rangle \langle 11| \otimes I |)1 0 0 \rangle +  (|11 \rangle \langle 11| \otimes X|)1 0 0 \rangle \\

=

 |100 \rangle - 0 + 0 \\

=

 |100 \rangle

確かに入力の第一量子ビットも第二量子ビットも1,つまり |1 1 * \rangle のときだけ第三量子ビットが反転しそうである。
これを納得できれば*5、題意は簡単に示せる。
まず a=b=1のとき、ab = 1 であり、 aかbのいずれかが0のときは ab = 0 である]
そしてあるbit  cに対して1とmod 2加算( c \oplus 1)を行うと、bitは反転する( \bar{c})。0であればbitは変化しない。
そのため、明らかに
"任意の a,b,c \in {0,1}に対して T |a,b,c \rangle = |a,b,c \oplus ab \rangle " を満たす事(トフォリゲートの別表現)がわかる。

今回はここまで。

*1:これは |0\rangle 方向成分と |1\rangle 方向成分に分解してから足し合わせる という(つまり何もしない)演算をしていることになる。

*2:ここで、トフォリゲートは第一量子ビットと第二量子ビットに対しては何も操作しない。これらのビットは第三ビットへの演算を決めるだけの役割なので、トフォリゲートにおける制御ビットあるいはコントロールビットと呼ばれる。

*3:直交性を使った

*4:テンソル積の左側の演算は直交性より0となるので、右側の演算に関係なく状態が0(消滅)となる。 0 と |0 \rangle の違いに注意しよう

*5:8通り全部試せばよいが、ここでは紙面の都合上やらない

光の偏波とパウリ行列の関係

この記事は日曜数学アドベントカレンダーの12/16ぶんです。
adventar.org


こんにちは。Kumaです。
この記事ではいよいよ「光の偏波」と「パウリ行列」の関係をみます。

光の偏波を記述するためのフレームとして
射影演算子とパウリ行列がとても自然であることを示します。

エルミート行列のパウリ行列展開

2x2エルミート行列 Hは、パウリ行列 \sigma_{1}, \sigma_{2}, \sigma_{3}単位行列  I の結合で書くことができます。

H = \frac{1}{2} ( h_{0}I + h_{1}\sigma_{1} + h_{2}\sigma_{2} + h_{3}\sigma_{3} )
ここで  h_{0}, h_{1}, h_{2}, h_{3} すべて実数であって次の式を満たします。
 h_{0} = trace(IH), h_{1} = trace(\sigma_{1}H), h_{2} = trace(\sigma_{2}H), h_{3} = trace(\sigma_{3}H)

f:id:phymath1991:20181209203724p:plain:w500
エルミート演算子のパウリ行列展開
これは以前の記事で証明しています。
electrodynamics.hatenablog.com

他方、二成分の複素ベクトル \psi


\psi =
\begin{pmatrix}
 \alpha \\
 \beta
\end{pmatrix}

に対して


\psi \otimes \psi

=

\begin{pmatrix}
 \alpha \alpha^{\star} & \alpha \beta^{\star} \\
 \beta \alpha^{\star} & \beta \beta^{\star}

\end{pmatrix}
は射影演算子といいます。
\psi \otimes \psi | \psi >< \psi |と書くこともあります。
射影演算子は明らかにエルミート行列なので、パウリ行列展開が可能です。

f:id:phymath1991:20181209204138p:plain:w500
射影演算子の展開

射影演算子のパウリ行列展開の係数(”成分”)の性質

さらに射影演算子のパウリ行列展開における係数(”成分”)である実数 \psi_{0,1,2,3}を考えます。
ここで \psiのノルム |\alpha|^{2}+|\beta|^{2}=1であるとします。すると \psi_{0} = 1 \psiによらず成り立つ*1ので
 \psi_{0}は定数です。自由度ではないので無視しましょう。
結局、射影演算子を考えることでノルム1の2成分複素ベクトル \psi は 実数のベクトル
 \vec{\psi}
=

\begin{pmatrix}
 \psi_{1} \\
 \psi_{2} \\
 \psi_{3} \\
\end{pmatrix}
に対応しました。
さらにこれらは独立ではありません。
それを確認するために、成分表示を定義から求めてみると

 \psi_{1} = |\alpha|^{2} - |\beta|^{2} \\
 \psi_{2} = \alpha^{\star}\beta + \beta^{ \star}\alpha = 2Re[\alpha \beta^{\star} ] \\
 \psi_{3} = -j(\alpha^{\star}\beta -\beta^{ \star}\alpha) = -2Im[\alpha \beta^{\star} ] \\
となります。上記からも
 \psi_{1}^{2}+\psi_{2}^{2}+\psi_{3}^{2} = 1 という関係式を満たすことがわかります。
すなわち、  \vec{\psi} は三次元空間における半径1の球面と1:1に対応します。

f:id:phymath1991:20181209204622p:plain:w500
射影演算子の”座標成分”の球面表示

複素ベクトルのユニタリ変換

二成分複素ベクトルに戻って、 \psiのユニタリ変換を考えてみましょう。
ユニタリ変換とは、内積を保つ変換です。2つのベクトルの成す角度を変えないような変換であり、直感的には”回転”と思えます。
これは \vec{\psi}の世界ではどのように表現されるでしょうか。
ユニタリ変換は行列でかけます。一般には複素行列ですが簡単のために実数のものを取ってきましょう。
”回転”というイメージからもわかるように、次のものはユニタリ変換の一種です。

 U(\theta) =

\begin{pmatrix}
 cos\theta & -sin\theta \\
 sin\theta & cos\theta
\end{pmatrix}

これを \psiに作用させると、

 \psi^{\prime}
=
 U(\theta) \psi
=
\begin{pmatrix}
 \alpha cos\theta  -\beta sin\theta \\
 \alpha sin\theta + \beta cos\theta
\end{pmatrix}

となります。射影演算子の成分表示を求めると

 \psi_{1}^{\prime} = (|\alpha|^{2}-|\beta|^{2})cos2\theta -2Re[\alpha \beta^{\star}]sin2\theta \\
 \psi_{2}^{\prime} = (|\alpha|^{2}-|\beta|^{2})sin2\theta +2Re[\alpha \beta^{\star}]cos2\theta \\
 \psi_{3}^{\prime} = -2Im[\alpha \beta^{\star}]
となります。ここで倍角の公式を使っています。
これはよくみると、

\begin{pmatrix}
 \psi_{1}^{\prime} \\
 \psi_{2}^{\prime} \\
 \psi_{3}^{\prime} \\
\end{pmatrix}
=
\begin{pmatrix}
 cos2\theta & -sin2\theta & 0 \\
 sin2\theta & cos2\theta & 0 \\
 0 & 0 & 1
\end{pmatrix}
\begin{pmatrix}
 \psi_{1}\\
 \psi_{2} \\
 \psi_{3}\\
\end{pmatrix}
とかけます。

R_{z}(2\theta)
=
\begin{pmatrix}
 cos2\theta & -sin2\theta & 0 \\
 sin2\theta & cos2\theta & 0 \\
 0 & 0 & 1
\end{pmatrix}
は三次元幾何においてz軸まわりの回転操作に相当します。
すなわち

 \psi^{\prime}
=
 U(\theta) \psi
という変換を考えたときに対応する \vec{\psi}

 \vec{\psi}^{\prime}
=
 R_{z}(2\theta) \vec{\psi}
と移されます。

f:id:phymath1991:20181209211231p:plain:w500
複素ベクトルと実数ベクトルの対応
f:id:phymath1991:20181209214949p:plain:w500

奇妙なことが起こっている

実数ベクトルの世界では回転が2倍になってみえているようでした。
すると、実数ベクトルの世界で一周、すなわち 2\pi回転したときに複素ベクトルの世界では \piしか回転していないわけです。
つまりある1つの実数ベクトルに対応する複素ベクトルは2つ存在することになります。
( \psi U(\pi) \psi が同じ実数ベクトル  \vec{\psi} を与えるという意味です。)

このような2:1の回転の関係にあるようなものをスピノール(Spin-or)といいます。
名前の由来は後で説明します。

こんなへんてこな対応を持っている世界を考えてなにかいいことがあるのでしょうか・・・

光の偏波との関係

その”へんてこな対応の世界”を実際にお見せします。
それこそが光の偏波状態といわれる概念です。
electrodynamics.hatenablog.com
偏光 - Wikipedia

以前の記事では時間依存性を sin(\omega t)で書いていますが、オイラーの公式から e^{j \omega t}と書いても構いません。
すると光のベクトル表現は

e
=
\begin{pmatrix}
 e_{x}e^{j \omega t + \delta_{x}} \\
 e_{y}e^{j \omega t + \delta_{y}}
\end{pmatrix}
とかけます。光の偏波状態とはtを媒介変数とみたときのベクトル eの軌跡(直線、円、楕円)のことでした。
偏波状態に着目するのであれば、振幅 e_{x}, e_{y}の比だけに意味があり、位相 \delta_{x}, \delta_{y}の差だけに意味があります。
(軌跡自体の”大きさ”や”始点”には興味がないからです)
そこで、 e_{x}^{2} + e_{y}^{2} = 1としても一般性を失いません。*2
さらに e^{j \omega t}は省略して書くことにしましょう。
すると、偏波状態は以下の手続きで書けます。
まずノルム1の二成分複素ベクトル eを考えて

e
=
\begin{pmatrix}
 \alpha \\
 \beta
\end{pmatrix}
とします。これは光学の分野ではJonesベクトルと呼ばれます。*3
ジョーンズ計算法 - Wikipedia

更に

e^{\dagger}e
:=
\begin{pmatrix}
 \alpha\alpha^{\star} & \alpha\beta^{\star} \\
 \alpha^{\star}\beta & \beta\beta^{\star} 
\end{pmatrix}
という行列を作ります。この行列の嬉しい点は、 eに任意の位相回転を与えても、それが複素共役でキャンセルされて
影響しないことです。すなわち”位相差にだけ着目したい”という偏波状態の要請を自然に満たします。
この行列をウォルフのコヒーレンシー行列といいます。

我々はこれとそっくり同じものを知っています。
そう、コヒーレンシー行列とは光のベクトルからできる射影演算子です!

射影演算子であれば、パウリ行列展開を考えることで実数のベクトルに対応させることができます。
それは、光学の世界ではStokesベクトルと呼ばれています。*4
その定義は

 \vec{S}
:=
\begin{pmatrix}
 S_{1} \\
 S_{2} \\
 S_{3} 
\end{pmatrix}
=
\begin{pmatrix}
 |\alpha|^{2} - |\beta|^{2} \\
 \alpha^{\star}\beta + \beta^{ \star}\alpha\\
 -j(\alpha^{\star}\beta -\beta^{ \star}\alpha)
\end{pmatrix}
=
\begin{pmatrix}
 |\alpha|^{2} - |\beta|^{2} \\
 2Re[\alpha \beta^{\star} ] \\
 -2Im[\alpha \beta^{\star} ] 
\end{pmatrix}

です。
Stokes parameters - Wikipedia
(Representations in fixed bases など)

確かに射影演算子のパウリ行列展開からできる実数ベクトルと全く同じですね!


\vec{\psi}
=
\begin{pmatrix}
 |\alpha|^{2} - |\beta|^{2} \\
2Re[\alpha \beta^{\star} ] \\
 -2Im[\alpha \beta^{\star} ] 
\end{pmatrix}

これが球面と1:1対応することもすでにみました。
この球面は光学の世界ではポアンカレと呼ばれています!

ちなみに  U(\theta)の作用の物理的な意味としては、例えば

  • 光の測定器のほうを \theta 回してから測定する
  • xに対してy方向だけに位相差を与える

に相当します。
後者の操作は異方性を有する物体を通すことで可能です。異方性の物体中ではx方向とy方向で光の速度が異なり、位相差が生まれます。

これで、すべてが繋がってきました。光の偏波状態を書くものとしては光のベクトルそのものを考えるよりも
射影演算子を考えるべきで、それはパウリ行列展開という道具を介して実数のベクトルと球面座標でかけるのです。
これをJonesベクトル、コヒーレンシー行列、Stokesベクトル、ポアンカレ球などと呼ぶわけです。

しかし、複素ベクトル⇔実ベクトル対応は1つ難点があるのでした。それは2:1対応だということです。
つまり、 e U(\pi) eは同じ偏波状態(コヒーレンシー行列)を与え、もちろんStokesベクトルも同じになるのです。
偏波の場合、これは何を意味するのでしょうか?
以下の図をみるとわかります。

f:id:phymath1991:20181209215247p:plain:w500
π回転ぶんの偏波状態の不定

Jonesベクトルが \pi回転すると正負がひっくり返ります。しかしこれは振動の初期位相が \piずれることと同じです。
すなわち、偏波状態としては変わらないのです。(偏波状態は軌跡=曲線のことで、その開始位置はどうでもよいのです)
だから \psi U(\pi) \psi はその偏波状態を考えるときには同一視するべきで、2:1対応が自然になるのです。
逆に、 \pi回転以外は描く直線の角度自体が変わってしまうので偏波状態としても異なります。

なぜスピノールというのか

量子力学をご存知でしょうか。
量子力学では、粒子の状態は複素数で表され、実際に測定できるのはその絶対値のみです。
電子のスピンと呼ばれる状態も考慮したい場合、状態は2成分の複素数に拡張されます。
実際に測定できるのはその絶対値のみであり、かつ確率解釈するためにはそのノルムは1でなければなりません。
そして、絶対値のみを測定できるということは位相回転 e^{j\theta}は物理に影響しない(扱う上で無視したい)ということです。
・・・・なんだか、我々はこれを記述するのに便利そうなものをつい最近みた気がしました。
そう!射影演算子とパウリ行列展開、そしてスピノールです!
詳細はEMANさんのサイトなどを読み進めると参考になるでしょう。
EMANの物理学・物理数学・SU(2)

ピノール(Spin-or)は電子のスピンを記述する言語でもあることから、その名前がついたというわけです。

実数三次元世界で \theta回すと二成分複素ベクトルで表されるスピノールは \frac{\theta}{2}回ります。(これらは射影演算子を介してつながっています)
実数三次元世界でぐるっと一周してきても、スピノールはまだ半周しかしていない。
つまり最初と異なったスピンの状態(正負反転)になっているのです。
しかし量子力学において、我々は絶対値しか測定できないので正負の符号は物理的には区別できないのです!
(1週回ってきてからスピンを測定しても何事も起きていないように見える)
自然はスピノールの存在を”うまいこと隠してきた”に思えます。

なぜいま偏波

偏波とパウリ行列が実は思いの外、相性がいいということがわかりました。
偏波というのは実は我々が意識せずに使っています。いま、この瞬間も。
それは、光通信です。

我々はふだん意識せずに通信回線を使っています。
そのような通信回線は、長距離(数十~数百km)を伝送するために必ず光ファイバを経由しています。*5

そして、現在の光ファイバ通信技術は大きく2つの技術で支えられています。

  • コヒーレント:光の振幅と位相をコントロールして任意の情報を表現させる技術です
  • 偏波多重:直交する偏波2つに異なる情報を載せて伝送する技術です

そう!偏波!ここに偏波が使われているのです!
偏波多重信号を生成したり、それを分離したりするためにはJones表現やStokes表現が必須となっています。
現在でもなおこの応用研究は続いており、例えば情報をStokes空間上に埋め込んで送る方法*6なども出てきています。

まとめ

  • 偏波はいつだってアツイ。
  • 代数の理論から偏波を記述する道具を得た。この方法ならパウリ行列を3つのみならず増やすことでもっと高次元の”偏波”も考えられる!*7

それでは!!
-------------------------------------------------------------------

*1:過去記事参照

*2:これはエネルギーを規格化したことに相当します。更にエネルギー保存系を考える限りは、これはどんな時刻でも満たされていなければなりません

*3:state vector ともいいます

*4:birefringence vectorともいいます

*5:よく「光ファイバってどこで使われているの?」と聞かれます。 光ファイバを経由しない通信は基本的にはないと思って良いです。無線であっても、最終的には集約されて光へ変換され、光ファイバ伝送となります。無線も光も電磁波ですが、この業界では 光 は100THz級の高周波を指す用語です。特に光ファイバでは193THz程度を使います。

*6:実はStokesベクトルは測定が容易という特徴があります。 S_{1}は強度測定器だけで測定可能で、その他の成分については既知かつ実装が容易な座標変換(偏光板)で S_{2} \rightarrow S_{1}のように変換したあとで S_{1}を測れば得られるからです。そこで、安価な通信にとってはJonesベクトルに情報を埋め込むよりも嬉しいのです

*7:このような研究も存在します。その場合、多くの性質はより複雑な等式を満たします。「数学をやっていたら工学もわかっちゃった」、なんて素晴らしいことでしょう!数学やろうぜ!