6 ユニタリ演算子
f-denshi.com    [目次へ]最終更新日:06/12/21  
サイト検索

1.ユニタリ演算子(ユニタリ行列)

[1] 直交行列[#] の成分は実数ですが,それを複素数へ拡張した行列をユニタリ行列と言います。すなわち,

定義:
U*UUU*E  [ 単位行列 ]   ←直交行列では U*tU でした。

を満たす複素正方行列,言い換えると,逆行列が,

U-1U*

で与えられる行列をユニタリ行列 ( または,ユニタリ演算子ユニタリ作用素 ) という。

また,ユニタリ行列によるベクトル空間のベクトル(とくに基底ベクトル)の変換: yUx をユニタリ変換と言います。         

[2] この定義からすぐにわかる基本的な性質を述べておくと,

ユニタリ変換(行列) U [ U*= U-1 ] の性質 

(1) ユニタリ変換に対して任意のベクトルの内積は不変: ( Ux,Uy ) = (x,y )
(2) 固有値,行列式は絶対値1の複素数: |λ| = 1,|detU| = 1, Ux = λx
(3) ユニタリ変換に対してベクトルのノルムは不変:  ||Ux || = ||x ||

証明:
(1) (Ux,Uy )=(x,U*Uy )=(x,Ey )=(x,y )    ←公式[#] を使いました。
(2) U の固有値をλ,固有ベクトルをx として,(1)の結果を用いると,
     (x,x)=(Ux,Ux )=(λxx )=λλ*(x,x ) ⇒   |λ|2=λλ*=1
一方,
   1=detE=det(U*U)=detU*detU=|detU|2 ⇒ |detU|=1   ←公式 [#] を用いました。
(3) (1)の結果より,

(x,x) = (Ux,Ux)  ⇔  ||x || =  =
(x,x ) (Ux,Ux )

 (これらの性質はユニタリ変換が広義の回転,鏡映,反転などの幾何学的な変換操作に対応していることから理解できます。)

[3] n 次元列ベクトルuk の要素を n 個並べてつくられる行列 [#] を考えると,

定理1
    正方行列 U

U = (u1,u2, ・・・,un)   

が,ユニタリ行列であることと,

u1,u2,・・・,un

正規直交基底であることは同値である。  (列と行の役割を交換しても同様。)

なぜなら,

U =(u1,u2, ・・・,un)= u11 u12・・・・ u1n  ;  u1 u11  u2 u12 , ・・・
u21 u22・・・・ u2n u21 u22
: : ・・・・ : :
un1 un2・・・・ unn un1 un2
U* u1* ; u1* = ( u11*,u21*,・・・,un1* ),u2* = ( u12*,u22*,・・・,un2* ),・・・  
u2*
:
un*

と表すと,   (テンソル積モドキの計算です↓)

 U*U u1* (u1,u2, ・・・,un)= u1*u1 u1*u2 ・・・ u1*un
u2* u2*u1 u2*u2 ・・・ u2*un
:   :    :   ・・・  :
un* un*u1 un*u2,・・・ un*un

すなわち,

条件:U*UE (成分では,

uks*ukt = δst)

  と us*ut = δst であることは同値。  
U がユニタリ行列 ⇔ {u1,u2, ・・・,un}が正規直交系
(UU*を考えても同様な結果になる。)

[4] この性質に関して他にもいろいろな言い方ができます。

定理2

正規直交基底(正規直交座標系)を正規直交基底に写す座標変換はユニタリ変換である。

逆に,

ユニタリ行列は正規直交基底を正規直交基底に写す座標変換行列である。 

証明:

  2つの正規直交基底 {e1,e2,・・・,en} ⇔ {b1,b2,・・・,bn} 間の基底変換が行列: U ≡ [ ujk]  を用いて,

bj ukjek     ( j =1,2,・・・,n )  

と表せるならば [#],内積 (bj,bk )=δjk なので,

δjk  =(bj,bk )   
   =(u1je1+u2je2+・・・+unjen,u1ke1+u2ke2+・・・+unken)
                正規直交基底(ej,ek )=δjk なので
   =u1ju1k*+u2ju2k*+・・・+unjunk*  
   =(uj,uk)  

すなわち,定理1より Uはユニタリ行列でなければならない。この証明の後半をブラケット記法[#]でもう一度書いておくと,

δjk  =<bk|bj >   
    =(u*1ke1|+u*2ke2|+・・・+u*nken| )( u1j|e1>+u2j|e2>+・・・+unj|en>)
                正規直交基底 <ej|ek>=δjk なので
    =u1ju1k*+u2ju2k*+・・・+unjunk*  
    =<uk|uj>  

となります。量子力学の基本をマスターするためにはこの記号にぜひ慣れておいてください。

[5] 逆に,正規直交基底,{|e1>,|e2>,・・・,|en> },<ej|ek>=δjk の各基底ベクトルがユニタリ変換により, 

|b1>=U|e1
|b2>=U|e2
 ・・・・・・・・
|bn>=U|en

 ⇔
  
b1|=<e1|U*
b2|=<e2|U*
  ・・・・・・・・
bn|=<en|U* 
まとめて書いて,

基底ベクトル:  |bk>=U|ek> つまり, <bk|=<ek|U* 

と基底変換されるとしたときのベクトル,|b1>,|b2>,・・・,|bn> それぞれの関係がどうなっているかというと,

bj|bk>=<ej|U*U|ek>=<ej|E|ek>=<ej|ek
         =δjk

すなわち,{e1,e2,・・・,en}が正規直交基底ならば,{b1,b2,・・・,bn} も正規直交系であることがわかります。

[6] 応用上,特に重要なユニタリ行列としては,

回転:  cosθ -sinθ 0   z軸のまわりで
sinθ cosθ 0
0 0 1
反転:  −1 0 0
0 −1 0
0 0 −1
鏡像:  1 0 0     xz平面に関して
0 −1 0
0 0 1

などがあります。(これは直交行列でもある。)ただし,量子力学では,位置以外の物理量の期待値と呼ばれる<aTa>が”回転”するように演算子を回転させてやる必要があり,回転の表現行列は上に示したようには簡明ではありません。

[7] 

定理3

ユニタリ行列Uは適当なユニタリ行列Vを用いて対角化できて,
V-1UV= eiθ1 0 ・・・・ 0  
0 eiθ2・・
0 ・・・・ 0
0 0 ・・・・ eiθn
と表される。 θk∈R; k=1,2,・・・,n 

証明

対角化できることはユニタリ行列だけではなく,一般的に正規行列 TT*=T*T を満たす) について成り立つ性質です。こちらを見てください。⇒ [#]  

ユニタリ演算子は,固有値はすべて大きさ1の複素数で,対角化されるとそれらが対角線上に並ぶので,上記のように表すことができます。


2.テンソル積を用いた演算子の表現

量子力学で必要となる ブラ・ケット記法 を用いたユニタリ演算子の処方の説明です。

[1] 二つのベクトルxy のテンソル積[#]から作られる行列,

|x><y|=
x1 (y*1,y*2,・・・,y*n)= x1y*1・・・・・・・x1y*n
x2 ・・・・・・・・・・・・・・
: ・・・・・・・・・・・・・・
xn xny*1・・・・・・・xny*n

は線形演算子(2階テンソル)でした[#]。  特に二つのベクトルxy として,

正規直交基底 Σ={|e1>,|e2>,・・・,|en>} 

からある基底ベクトルを選んで作った,

Λk = |ek><ek|   

射影演算子と呼ばれます。その理由は,V 上の任意のベクトル,

|x >= x1|e1>+x2|e2>+・・・+xn|en

に作用して, xk|ek> を抜き出す働きがあるからです。実際に計算すれば,

Λk|x>=|ek><ek|[ x1|e1>+x2|e2>+・・・+xn|en> ]
    =|ek> [ xkek|ek> ]         ( ← <ek|ej>=0, k≠j より )
    =xk|ek

なお,射影演算子については,ページを改めて後ほど詳しく説明します。

[2] 一方,j ≠ k も含めた基底ベクトルから作られるテンソル積の成分は,

|ej><ek|= 0・・・  0 ・・・・・0
0・・・  0 ・・・・・0
0・・・ ・・・・・0 j 行目
・・・ ・・ ・・・・・・
0・・・  0 ・・・・・0
  k 列目

と書くことができ, j 行k 列成分だけが 1 で他は 0 という行列となります。この表現を用いれば,
j  行 k  列成分が c で他成分が 0  」 である行列は,

|ej>c<ek|                                                

と表されることもわかります。

この結果から,恒等演算子E ( n次単位行列 ) は,k 行 k 列成分 ( k=1,2,・・,n ) だけに 1 が並ぶので,

E = |ek><ek|

のように表現できことがわかりますね。実際,任意のベクトル, |x >=Σ|ej>xj  にたいして,

E|x > = ( |ek><ek|)( xj|ej>)
       = ( |ek>( xjek|ej>)
       = ( |ek>( xkek|ek>)
       = ( |ek xk
       = |x

と計算できます。   

[3] 任意の線形演算子を2つの恒等演算子で挟むと

T |ejej|T|ekek|

これは,[2]の|ejcek|と比較すれば, j 行 k 列 成分が ej|T|ek である行列,

 T e1|T|e1> <e1|T|e2> ・・・・<e1|T|en
e2|T|e1> <e2|T|e2> ・・・・<e2|T|en
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
en|T|e1> <en|T|e2> ・・・・<en|T|en

であることがわかります。これを基底 Σ={|e1>,|e2>,・・・,|en>} における線形演算子 T行列表現[#] ともいいます。

また,E は他の演算子(行列)の任意の位置(←行列計算ができるような)に幾つでも挿入できます。例えば,任意の線形演算子を AB として,

AB =EAEBE = |ejej|A|ekek|B|emem|
  = |ej ajkbkm em|

などとすることが可能です。 これは演算子 AB の積 AB の基底Σを用いた行列表現の j 行m 列成分[#]が,

ajkbkm

で与えられることを示しています[#]。 ただし, ajk=<ej|A|ekbkmek|B|emは,それぞれ行列ABの(j,k)成分,(k,m)成分です。

[4] さて,今度は異なる2つの正規直交基底,Σ={e1,e2,・・・,en } と Σ’= {b1,b2,・・・,bn } の間で作られるテンソル積:|bj><ej|について考えます。

ユニタリ演算子のテンソル積表現

2つの正規直交基底を,Σ={e1,e2,・・・,en},および,Σ’={b1,b2,・・・,bn}とする。
このとき,テンソル積,
U = |bk><ek|
       =|b1><e1|+|b2><e2|+・・・+|bn><en|
U* |ek><bk|
を考えると,

(1) U はユニタリ演算子である。
(2) U はΣ’からΣへの座標変換の行列である。

これがユニタリ演算子であることは,

UU*= ( |bk><ek|)( |ej><bj|)
    |bk><ek|ej><bj|    ← <ek|ej>=δjk
    |bk><bk|)
   E

からわかります。  一方,座標変換:  Σ→Σ’  であることは,

U|ek>=(|b1><e1|+|b2><e2|+・・・・・+|bn><en|) |ek
    = |b1><e1|ek>+・・・+|bk><ek|ek>+・・・+|bn><en|ek
    = |bk

から確かめられます。 ⇒ [#]

また,<bk|=<ek|U* も同様に計算して確かめてください。

[5] ここで,U|ek>=|bk> の両辺に左から<ej|を作用させる,もしくは,<bk|=<ek|U* の右から|ej>を作用させれば,

ej|U|ek>  = <ej|bk

および,

ek|U*|ej> = <bk|ej

なる関係が得られます。この関係を用いれば任意の(ケット)ベクトルx の成分表示[#]

bk|x>=<bk|E|x>  

       = bk|ej><ej|x
       = ek|U*|ej><ej|x

と書くことができます。ベクトル,行列成分すべての結果を書き出せば,

b1|x e1|U*|e1> <e1|U*|e2> ・・・<e1|U*|en e1|x
b2|x e2|U*|e1> <e2|U*|e2> ・・・<e2|U*|en e2|x
: ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・ :
bn|x en|U*|e1> <en|U*|e2> ・・・<en|U*|en en|x

これは,ベクトルの基底変換

 x’=U*x     ( x =Ux’ ) 

を成分で示していることになっています[#]

[6] 基底変換によって一般の線形演算子T の行列がどのように変換するかは,

bj|T|bk=<bj|ETE|bk>                     

          = bj|es><es|T|et><et|bk
          = ej|U*|eses|T|etet|U|ek

これは,線形演算子の基底変換,

TU*TU 

の j 行 k 列成分を (左辺はΣ’,右辺はΣを基底として) 表したものに他なりません 。




[目次へ]