物理学において、電子のスピンの挙動を示す、「パウリ行列」は、
3DCGで回転の計算に用いられる、「
ここでは、「エルミート行列」や「ユニタリー行列」の定義や、
量子情報で用いられる量子ビットの計算に必要な、
「テンソル積(直積)」と「クロネッカー積」を導入し、
パウリ行列と
最後に、
また、「rotation Calculator」のページに、
JavaScriptで書かれた、回転行列を用いて計算するスクリプトを作成した。
※2ch/5chにて、画像番号付きの画像に直接リンクした者がいるようだが、
ページの改修時に、画像番号をずらした際、別画像が表示される、
或いは、それを避けるため、その番号の画像をサーバに残さざるを得なくなる、
等の支障を来すことになるため、画像への直接リンクは避けてほしい。
二乗すると、2行2列の単位行列になる行列を考えて、
の様に、変数a、b、c、dを置くと、1行2列成分、及び、2行1列成分より、
「a+d=0」又は「b=c=0」
である。1の約数は、自然数の範囲では1のみだが、
実数の範囲では±1、複素数の範囲では±1、±iの4つが存在する。
従って、複素数の範囲で考えると、前者(a+d=0)の場合は、
(a, d)=(1, -1), (-1, 1),
(i, -i), (-i, i), (0, 0)
の5通りが考えられるが、(0, 0)以外は、(1, -1)と
その-1倍と±i倍に過ぎないので、
実質、(0, 0)と(1, -1)の2通りである。
さらに、1行1列成分、及び、2行2列成分より、
(a, d)=(0, 0)のとき、bc=1を満たすのは、
(b, c)=(1, 1), (-1, -1),
(i, -i), (-i, i)
の4通り、しかし、これは、(1, 1), (-i, i)とその-1倍に過ぎないので、
実質的には、(1, 1), (-i, i)の2通りである。
また、(a, d)=(1, -1)のときは、
1行1列成分、及び、2行2列成分より、bc=0であり、さらに、
1行2列成分、及び、2行1列成分より、必然的に、b=c=0となる。
∴(a, b, c, d)
=(0, 1, 1, 0), (0, -i, i, 0), (1, 0, 0, -1)
後者(b=c=0)の場合、1行1列成分、及び、2行2列成分は、
「bc=0」且つ「a2=d2=1」
となるが、「a=d=±1」は、2行2列の単位行列自身と、
その-1倍に他ならないので、あまり意味はない。一方、
「a=1, d=-1」
とすると、「a+d=0」も成立するが、
「又は」なので、両方とも0でも特に問題はない。
しかし、これは既出であり、勿論、「a=-1, d=1」は、
その-1倍なので、同一扱いとして候補に含めない。
従って、上記の条件を満たす行列は、
の3種類である。これを「パウリ行列(Pauli matrices)」と呼ぶ。
また、2行2列の単位行列はやEやI等で表すが、
これは、「恒等演算子」とも呼ばれるので、
ここでは、以降、1で表すことにする。
特に、2行2列の単位行列の場合、この恒等演算子:
をパウリ行列に含めて、
の様に表すことがある。パウリ行列は、大学の学部2~3年の量子力学で登場するが、
その際、天下り的に与えられることが多い。しかし、「2乗すると単位行列になる行列」
を探す、という思想が背景にあることを理解していれば、丸暗記せずに済む。
パウリ行列には、以下の様な性質がある。
|
― | 実正方行列:A 転置行列:tA |
複素正方行列:A |
---|---|---|
差が0(零行列) |
tA-A=0⇔tA=A
:対称行列 |
A†-A=0⇔A†=A
:エルミート行列 |
和が0(零行列) |
tA+A=0⇔tA=-A
:反対称行列 (歪対称行列、交代行列) |
A†+A=0⇔A†=-A
:反エルミート行列 (歪エルミート行列) |
積が1(単位行列) |
tAA=1⇔tA=A-1
:直交行列(orthogonal matrix) |
A†A=1⇔A†=A-1
:ユニタリー行列(unitary matrix) |
※直交行列(orthogonal matrix)のうち、行列式が1のもの全体が
行列の乗法に関してなす群を、「特殊直交群」と呼び、
n次の(n行n列の)特殊直交群をSO(n)群と書く。
n=2ならSO(2)群、n=3ならSO(3)群である。
また、ユニタリー行列(unitary matrix)のうち、行列式が1のもの全体が
行列の乗法に関してなす群を、「特殊ユニタリ群」と呼び、
n次の(n行n列の)特殊ユニタリ群をSU(n)群と書く。
n=2ならSU(2)群、n=3ならSU(3)群である。
さらに、エルミート行列の性質を述べると、
|
また、パウリ行列の積は、
及び、
である。従って、
を得る。ここで、クロネッカーのデルタδij:
及び、レビ・チビタの記号(3階の反対称テンソル)εijk:
を用いれば、より簡潔に、
と表すこともできる。さらに、パウリ行列の
交換関係と反交換関係も、δijとεijkを用いて、
と表すことができる。
また、「パウリ行列」σx,σy,
σzを利用すれば、
a2+b2+c2
という式を因数分解することができる。
これは、複素数の範囲でも因数分解できないので、
2行2列の単位行列を1で表す
(或いは、EやI等で表す)ことによって、
(aσx
+bσy
+cσz)2
=a2σx2
+b2σy2
+c2σz2
+ab(σx σy+σy σx)
+bc(σy σz+σz σy)
+ca(σz σx+σx σz)
=(a2+b2+c2)1
と展開できるから、逆に、
(a2+b2+c2)1=
(aσx
+bσy
+cσz)2
の様に分解出来る。パウリは、この計算を巧く使って、
電子の二価性(「上向きスピン」、「下向きスピン」)を示した。
量子コンピュータの情報の基本単位は、
「量子ビット(quantum bit)」または「キュービット」と呼ばれる。
1量子ビットは、二状態系であり、「ケット」記号を用いて記述されるが、
その表現は、テキストによって異なっている。
例えば、2進数のアナロジーから|0>と|1>で表現しても、
電子のスピンのアナロジーから、|↑>と|↓>で表現してもよい。
或いは、|α>と|β>で記述しているテキストも存在する。
ここでは、2進数表記である、|0>と|1>を主に使っていくことにしよう。
1量子ビットは、ケット記号や列ベクトルを用いて、
の様に表せる。
一方、これを転置した行ベクトルを用いた表記として、
<0|=<↑|=<α|=(1 0)
<1|=<↓|=<β|=(0 1)
の様に表したものをケットに対して、「ブラ」と呼ぶ。
「ブラ(bra)」と「ケット(ket)」は、「括弧」を意味する、
「ブラケット(bracket)」に由来するが、両者の内積
も「ブラケット」と呼ぶ。「ケット」と「ブラ」は、非可換であり、
掛ける順番を逆にした場合には、積の交換法則は成立せず、
の様に2行2列の行列になるが、単位行列1やパウリ行列は、
これらの行列を用いて、次の様に表現することもできる。
1量子ビットにパウリ行列を作用させると、
となる。結果をまとめたものが次の表である。
― | σx | σy | σz |
|0> | |1> | i|1> | |0> |
|1> | |0> | -i|0> | -|1> |
ベクトル同士の積には、スカラー積(内積)や
ベクトル積(外積)の他にも、テンソル積(直積)がある。
ここで、テンソル積(直積)を導入するのは、
1量子ビット同士のテンソル積(直積)から、
2量子ビットを生成する為である。
x軸、y軸、z軸の各方向の単位ベクトル
(基本ベクトル)を、e1,
e2,e3とすると、
スカラー積(内積)は、上述のクロネッカーのデルタを用いて、
ei・ej
=δij ((i, j, k)={1, 2, 3})
と表せる。ベクトル積(外積)は、これもやはり上述の
レビ・チビタの記号(3階の反対称テンソル)を用いて、
ei × ej
=εijk ek ((i, j, k)={1, 2, 3})
と表せる。
これに対し、ベクトルa及び、ベクトルbが、
で与えられたとき、そのテンソル積(直積)は、
の様に定義される。また、行列A及び、行列Bが、
で与えられたとき、テンソル積(直積)の行列版である、
クロネッカー積も、同様の記号を用いて、
の様に定義される。
1量子ビット同士のテンソル積(直積)を用いて、2量子ビットを生成することができる。
2量子ビットは、ケット記号や列ベクトルを用いて、
の様に表せる。2量子ビットにおいても、
ケットを転置した行ベクトルを用いた表記として、
<0|=<00|=<↑↑|=<αα|=(1 0 0 0)
<1|=<01|=<↑↓|=<αβ|=(0 1 0 0)
<2|=<10|=<↓↑|=<βα|=(0 0 1 0)
<3|=<11|=<↓↓|=<ββ|=(0 0 0 1)
の様にブラを表現することができる。
※計算基底のブラを考える時には、2進数の順番を
「そのまま」にしておくのが普通である。
ここで、
σ1x,
σ1y,
σ1zは、
「左から1番目の量子ビットにのみ」
作用する演算子であると定義し、
σ2x,
σ2y,
σ2zは、
「左から2番目の量子ビットにのみ」
作用する演算子であると定義すると、
これらは、クロネッカー積を用いて、
次の様に表現することが出来る。
ここでは、左から順に、
|
2量子ビットに、これらのパウリ行列を
作用させた結果をまとめると、次の表の様になる。
但し、ケット記号内の数字は、4進法の表記で示してある。
― | σ1x | σ1y | σ1z | σ2x | σ2y | σ2z |
|0> | |2> | i|2> | |0> | |1> | i|1> | |0> |
|1> | |3> | i|3> | |1> | |0> | -i|0> | -|1> |
|2> | |0> | -i|0> | -|2> | |3> | i|3> | |2> |
|3> | |1> | -i|1> | -|3> | |2> | -i|2> | -|3> |
二電子状態として、三重項(
これらに、スピン角運動量演算子を作用させ、固有値、固有状態を考えるとき、
2量子ビットと、「左から1番目の量子ビットにのみ」、及び、
「左から2番目の量子ビットにのみ」作用するパウリ行列の考え方を応用できる。
一電子状態に対する、スピン角運動量演算子は、
パウリ行列σx, σy,
σzに
ディラック定数ℏ(≒1.05×10-34)[J・sec]を掛けて2で割り、
ベクトルの様に束ねた演算子であるから、ベクトルの様に
矢線を付けるか、太字にしてsで表す。或いは、
演算子であることを明示する為に、「ハット記号」、或いは、
「サーカムフレックス」と呼ばれる記号「^」 を付けて、ŝと表す。
ここでは、強調の為、その両方を用いて、ŝと表すことにしよう。
更に、スピン角運動量演算子の二乗の演算子ŝ2も計算すると、
となる。ここで、ŝ2を
|0>=|↑>=|α>
|1>=|↓>=|β>
に作用させると、その固有値が、3ℏ2/4である
ことが分かり、ŝzを
|0>=|↑>=|α>
|1>=|↓>=|β>
に作用させると、その固有値が、±ℏ/2の2つであることも分かる。
同様に、二電子状態に対して、σ1x,
σ1y,
σ1z及び、
σ2x,
σ2y,
σ2zに
ディラック定数ℏを掛けて2で割り、ベクトルの様に束ねた演算子も、
ベクトルの様に矢線を付けるか、太字にして、それぞれ、
s1, s2で表す。
或いは、演算子であることを明示する為に、
「ハット記号」、或いは、「サーカムフレックス」と呼ばれる
記号「^」 を付けて、
ŝ1, ŝ2と表す。
やはり、ここでは、強調の為、
その両方を用いて、ŝ1,
ŝ2で表すことにしよう。
続いて、二電子状態に対して、全体のスピンを大文字Ŝ、
個々のスピンを小文字ŝ1,
ŝ2で表すと、前者は後者の総和となって、
Ŝ=
ŝ1+ŝ2
で表される。更に、この演算子の二乗の演算子Ŝ2は、
と計算することが出来る。ここで、パウリ行列の積:
を上式に代入すると、スピン角運動量演算子の
二乗の演算子Ŝ2の行列表示:
を得る。また、同様にして、二電子状態全体の
スピン角運動量演算子のz成分Ŝzの行列表示:
も得られる。
|0>=|00>=|↑↑>=|αα>
(|1>+|2>)/√2=(|01>+|10>)/√2
=(|↑↓>+|↓↑>)/√2
=(|αβ>+|βα>)/√2
|3>=|11>=|↓↓>=|ββ>
の3つを「三重項(triplet)」状態、或いは、
そのまま片仮名で「トリプレット」状態と呼び、
(|1>-|2>)/√2=(|01>-|10>)/√2
=(|↑↓>-|↓↑>)/√2
=(|αβ>-|βα>)/√2
を「一重項(singlet)」状態、或いは、
そのまま片仮名で「シングレット」状態と呼ぶ。
これらに、Ŝ2及び、Ŝzを作用させるのだが、
まずは、行列表示を用いずに計算してみることにしよう。
Ŝ2を三重項(トリプレット)に作用させると、
という計算結果が得られ、その固有値が2ℏ2であることが分かる。
また、Ŝ2を一重項(シングレット)に作用させると、
という計算結果が得られ、その固有値が0であることも分かる。
同様に、Ŝzを三重項(トリプレット)に作用させると、
という計算出来て、3つの固有値として、ℏ, 0, -ℏが導出される。
そして、Ŝzを一重項(シングレット)に作用させると、
という計算結果から、その固有値が0であることも示される。
今度は、行列表示を用いて計算してみよう。
分かり易くするため、先程の計算とは記号を変えてある。
Ŝ2を三重項(トリプレット)
及び、一重項(シングレット)に作用させると、
となって、三重項(トリプレット)のとき、固有値が2ℏ2、
一重項(シングレット)のとき、固有値が0であることがより簡単に導出できる。
同様に、Ŝzを三重項(トリプレット)
及び、一重項(シングレット)に作用させると、
となって、こちらも、三重項(トリプレット)のとき、固有値がℏ, 0, -ℏの3つであること、
一重項(シングレット)のとき、固有値が0であることがより簡単に導出できる。
2量子ビットのときと同様、3量子ビットも、1量子ビット同士のテンソル積(直積)を用いて、
生成することができ、ケット記号や列ベクトルを用いて、
の様に表せる。同様に、ケットを転置し、行ベクトル表記として、3量子ビットのブラ:
<0|=<000|=<↑↑↑|=<ααα|=(1 0 0 0 0 0 0 0)
<1|=<001|=<↑↑↓|=<ααβ|=(0 1 0 0 0 0 0 0)
<2|=<010|=<↑↓↑|=<αβα|=(0 0 1 0 0 0 0 0)
<3|=<011|=<↑↓↓|=<αββ|=(0 0 0 1 0 0 0 0)
<4|=<100|=<↓↑↑|=<βαα|=(0 0 0 0 1 0 0 0)
<5|=<101|=<↓↑↓|=<βαβ|=(0 0 0 0 0 1 0 0)
<6|=<110|=<↓↓↑|=<ββα|=(0 0 0 0 0 0 1 0)
<7|=<111|=<↓↓↓|=<βββ|=(0 0 0 0 0 0 0 1)
も表現することができる。
パウリ行列も同様に、「左から1番目の量子ビットにのみ」作用する演算子
σ1x,
σ1y,
σ1zは、
「左から2番目の量子ビットにのみ」作用する演算子
σ2x,
σ2y,
σ2zは、
「左から3番目の量子ビットにのみ」作用する演算子
σ3x,
σ3y,
σ3zは、
の様に表現することが出来る。ここでも、左から順に、
|
3量子ビットに、これらのパウリ行列を
作用させた結果をまとめると、次の表の様になる。
但し、ケット記号内の数字は、8進法の表記で示してある。
― | σ1x | σ1y | σ1z | σ2x | σ2y | σ2z | σ3x | σ3y | σ3z |
|0> | |4> | i|4> | |0> | |2> | i|2> | |0> | |1> | i|1> | |0> |
|1> | |5> | i|5> | |1> | |3> | i|3> | |1> | |0> | -i|0> | -|1> |
|2> | |6> | i|6> | |2> | |0> | -i|0> | -|2> | |3> | i|3> | |2> |
|3> | |7> | i|7> | |3> | |1> | -i|1> | -|3> | |2> | -i|2> | -|3> |
|4> | |0> | -i|0> | -|4> | |6> | i|6> | |4> | |5> | i|5> | |4> |
|5> | |1> | -i|1> | -|5> | |7> | i|7> | |5> | |4> | -i|4> | -|5> |
|6> | |2> | -i|2> | -|6> | |4> | -i|4> | -|6> | |7> | i|7> | |6> |
|7> | |3> | -i|3> | -|7> | |5> | -i|5> | -|7> | |6> | -i|6> | -|7> |
複素数:z=x+iyは、実数部xと虚数部yを持つ、「二元数」であった。
このとき、虚数単位:iには、i2=-1という性質があった。
ここでは、これを拡張した、「四元数(quaternion)」を考える。
四元数:Q=w+Ix+Jy+Kzは、「クォータニオン」とも呼ばれる。
ここで、I、J、Kは、「クォータニオン単位」と呼び、虚数単位:iとの区別の為、
大文字で表すことにする。また、以降は「四元数」を「クォータニオン」と呼ぶ。
クォータニオン単位:I、J、Kには、自身を二乗すると-1になるという、
虚数単位の様な性質と、互いの積が
また、クォータニオン単位同士の積は、非可換である。掛けられる側をA、
掛ける側をBとして、ABの群表を書いたものを次に示す。
A \ B | 1 | I | J | K | -1 | -I | -J | -K |
1 | 1 | I | J | K | -1 | -I | -J | -K |
I | I | -1 | K | -J | -I | 1 | -K | J |
J | J | -K | -1 | I | -J | K | 1 | -I |
K | K | J | -I | -1 | -K | -J | I | 1 |
-1 | -1 | -I | -J | -K | 1 | I | J | K |
-I | -I | 1 | -K | J | I | -1 | K | -J |
-J | -J | K | 1 | -I | J | -K | -1 | I |
-K | -K | -J | I | 1 | K | J | -I | -1 |
上述の関係を鑑みれば、パウリ行列とクォータニオン単位の構造が
酷似していることに気付くであろう。
各クォータニオン単位I、J、Kは、パウリ行列を用いて、
と表現することが出来る。ここで、-i 倍ではなく、
i 倍すると、順序が逆になってしまうので、注意が必要である。
パウリ行列の積の積の関係式において、各クォータニオン単位を-i 倍すると、
(-iσx)2
=(-iσy)2
=(-iσz)2=-1
(-iσx)(-iσy)
=-(-iσy)(-iσx)
=-iσz
(-iσy)(-iσz)
=-(-iσz)(-iσy)
=-iσx
(-iσz)(-iσx)
=-(-iσx)(-iσz)
=-iσy
となって、各クォータニオン単位間の関係:
を得る。また、パウリ行列をを用いて、クォータニオンを表すと、
となって、クォータニオンが、実数部を単位行列の実数倍、
虚数部を反エルミート行列とする、
行列の和で構成されていることが分かる。
クォータニオンを表した行列:
の固有方程式:
を解くと、二次方程式の解の公式より、その固有値λが
で表されることが分かった。ここで、
と置くと、複素数の場合と同様に扱えることが分かるだろう。
クォータニオン、或いは四元数は、超複素数系と呼ばれ、
その内部に複素数を含む、メタ的な概念である。
上述の固有値に対応する複素数Q及び、その
で与えられ、その絶対値を|Q|とすると、
となる。また、偏角を
とすると、
及び、
であることが分かる。ここでは、複素数Qがプラス、
その
Q=QRe+iQIm
=|Q|(cos θ+i sin θ)=|Q|eiθ
と表現できる。ここで、w=0を満たすものを純虚四元数と呼び、
を満たすものを単位四元数、或いは、アイデンティティ・クォータニオンと呼ぶ。
両方の条件を満たすものは、特に、単位純虚四元数と呼ぶ。
今、線型写像:
を考える。単位四元数qとその
純虚四元数vとv’ 及びそれらの関係を
と定義する。この定義に従って計算した結果を確かめよう。
x軸を中心に回転する場合は、一般的にロール(roll)と呼ばれる。
y=0, z=0として、
qx=w+Ix=
cos θ+I sin θ=eIθ
q*x=w-Ix=
cos θ-I sin θ=e-Iθ
v'=Ia'+Jb'+Kc'
=qvq*
=(cos θ+I sin θ)
(Ia+Jb+Kc)(cos θ-I sin θ)
={-a sin θ
+Ia cos θ
+J(b cos θ-c sin θ)
+K(b sin θ+c cos θ)}
(cos θ-I sin θ)
=a(-sin θ cos θ+cos θ sin θ)
+Ia(cos2θ+sin2θ)
+J(b cos2θ-c sin θ cos θ
-b sin2θ-c cos θ sin θ)
+K(b sin θ cos θ+c cos2θ
+b cos θ sin θ-c sin2θ)
=Ia+J(b cos 2θ-c sin 2θ)
+K(b sin 2θ+c cos 2θ)
を得る。この計算は、回転行列:
を掛けたものと等価である。
y軸を中心に回転する場合は、一般的にピッチ(pitch)と呼ばれる。
x=0, z=0として、
qy=w+Jy=
cos θ+J sin θ=eJθ
q*y=w-Jy=
cos θ-J sin θ=e-Jθ
v'=Ia'+Jb'+Kc'
=qvq*
=(cos θ+J sin θ)
(Ia+Jb+Kc)(cos θ-J sin θ)
={-b sin θ
+I(a cos θ+c sin θ)
+Jb cos θ
+K(-a sin θ+c cos θ)}
(cos θ-J sin θ)
=b(-sin θ cos θ+cos θ sin θ)
+Ia(cos2θ+c sin θ cos θ
-sin2θ+c cos θ sin θ)
+Jb(cos2θ+sin2θ)
+K(-a sin θ cos θ+c cos2θ
-a cos θ sin θ-c sin2θ)
=I(a cos 2θ+c sin 2θ)
+Jb+K(-a sin 2θ+c cos 2θ)
を得る。この計算は、回転行列:
を掛けたものと等価である。
z軸を中心に回転する場合は、一般的にヨー(yaw)と呼ばれる。
x=0, y=0として、
qz=w+Kz=
cos θ+K sin θ=eKθ
q*z=w-Kz=
cos θ-K sin θ=e-Kθ
v'=Ia'+Jb'+Kc'
=qvq*
=(cos θ+K sin θ)
(Ia+Jb+Kc)(cos θ-K sin θ)
={-c sin θ+I(a cos θ-b sin θ)
+J(a sin θ+b cos θ)
+Kc cos θ}(cos θ-K sin θ)
=a(-sin θ cos θ+cos θ sin θ)
+I(a cos2θ-b sin θ cos θ
-a sin2θ-b cos θ sin θ)
+J(a sin θ cos θ+b cos2θ
+a cos θ sin θ-bsin2θ)
+Kc(cos2θ+sin2θ)
=I(a cos 2θ-b sin 2θ)
+J(a sin 2θ+b cos 2θ)+Kc
を得る。この計算は、回転行列:
を掛けたものと等価である。
※書籍や文献の扱う分野によっては、
x-y平面内での回転をロール(roll)、
x-z平面内での回転をピッチ(pitch)、
y-z平面内での回転をヨー(yaw)
と定義しているものもある。このように、
定義には、複数の流儀があり得る為、
テキストの文脈には、注意をする必要がありそうだ。
これらの計算途中で、三角関数の2倍角の公式を用いていることからも明らかに、
計算結果は、2θの回転が行われたことを示している。
逆に言えば、x軸を中心にα、
y軸を中心にβ、z軸を中心にγ、
回転させる効果を持つクォータニオンは、それぞれ、
で与えられる。勿論、これらに対応する回転行列はそれぞれ、
である。
|