非直交基底の成分分解 の履歴(No.9)

更新


非直交基底の成分分解

nn 次元数ベクトル空間 KnK^n に、 必ずしも直交せず、正規化もされていない基底 {bi}\{\bm b_i\} を取る。

基底であるから任意のベクトル x\bm x を成分分解して、

x=i=1nxibi()\bm x=\sum_{i=1}^n x_i\bm b_i\hspace{3cm}(*)

と表せるのであるが、この係数 {xi}\{x_i\} をどうやって求めたらよいかというのがここでの問題。

もしも {bi}\{\bm b_i\} が正規直交基底であったなら、xi=(bi,x)x_i=(\bm b_i, \bm x) として簡単に求まるのであるが、これは、

(bi,x)=j=1nxj(bi,bj)=j=1nxjδij=xi \begin{aligned} (\bm b_i,\bm x)&=\sum_{j=1}^n x_j(\bm b_i,\bm b_j)\\ &=\sum_{j=1}^n x_j\delta_{ij}=x_i\\ \end{aligned}

すなわち、

(bi,bj)=δij(\bm b_i,\bm b_j)=\delta_{ij}

となることをうまく使っているのだった(他の項がゼロになり、求めたい項の係数が1になる)。

{bi}\{\bm b_i\} が必ずしも正規直交でない場合にはこれが成り立たないため困るののだけれど、もし任意の jj に対して

(βi,bj)=δij(\bm \beta_i,\bm b_j)=\delta_{ij}

を満たす βi\bm\beta_i を発見できれば、やはり (βi,x)=xi(\bm \beta_i, \bm x)=x_i とするだけで求められる! というのが以下の道筋となる。

目次

逆基底

基底 {bi}\{\bm b_i\} の「逆基底(仮)」をここでは {βi}\{\bm \beta_i\} と書くことにする。任意の i,ji,j に対して

(βj,bi)=δij(\bm \beta_j,\bm b_i)=\delta_{ij}

を満たすことが逆基底(仮)の定義である。下で解説する通り、数学的には βj\bm \beta_j^\dagger が本来の逆基底であるが、ここでは分かりやすさを優先して「逆基底(仮)」を定義しておく。

つまり、βj\bm \beta_j

  • (βj,bj)=1(\bm \beta_j,\bm b_j)=1
  • bj\bm b_j 以外と直交

つまり、bj\bm b_j 以外で張られる空間の直交補空間の元で、その bj\bm b_j 方向の成分が 1/bj1/\|\bm b_j\| であるようなベクトルである。そして、

inverse_basis.png
  • 一般に bj\bm b_j平行ではない
    • bj\bm b_jbj\bm b_j 以外の基底と直交しないのだから当然
  • {bi}\{\bm b_i\} が正規直交なら βj=bj\bm \beta_j=\bm b_j と取れる。
    • 一般には、βj=kbj\bm \beta_j=k\bm b_j ただし k=1|k|=1 である。

たとえば n=3n=3 のとき、β1\bm\beta_1b2,b3\bm b_2,\bm b_3 が張る空間 V2,3V_{2,3} の直交補空間 V2,3V_{2,3}^\perp のベクトルで、その b1\bm b_1 方向成分の長さが 1/b11/\|\bm b_1\| であるようなものだ。

成分を求めるには

上述のとおり、逆基底(仮)が求まりさえすれば、

(βj,x)=xj(\bm \beta_j,\bm x)=x_j

のように簡単に成分を求められる。

逆基底の求め方(逆行列を使う)

(βi,bj)=βibi=δij(\bm \beta_i,\bm b_j)={\bm \beta_i}^\dagger\bm b_i=\delta_{ij}

であるから、βi{\bm \beta_i}^\dagger を並べた行列 B\mathcal B^\dagger と、 bi\bm b_i を並べた行列 BB とを掛け合わせれば、

BB=(β1β2β3)(b1b2b3)=((β1,b1)(β1,b2)(β2,b1)(β2,b2))=(δ11δ12δ21δ22)=E \mathcal B^\dagger B= \begin{pmatrix} \hspace{7mm}\bm \beta_1^\dagger\hspace{7mm}\\ \bm \beta_2^\dagger\\ \bm \beta_3^\dagger\\ \vdots\\ \end{pmatrix} \begin{pmatrix} \rule{0mm}{7mm}\\ \bm b_1&\bm b_2&\bm b_3&\cdots\\ \rule{0mm}{7mm}\\ \end{pmatrix}= \begin{pmatrix} (\bm \beta_1,\bm b_1)&(\bm \beta_1,\bm b_2)&\cdots&&\\ (\bm \beta_2,\bm b_1)&(\bm \beta_2,\bm b_2)\\ \vdots&&\ddots\\ \\ \end{pmatrix}= \begin{pmatrix} \delta_{11}&\delta_{12}&\cdots&&\\ \delta_{21}&\delta_{22}&\\ \vdots&&\ddots&\\ \\ \end{pmatrix}=E

のように単位行列となる。すなわち、

B=B1つまり(β1β2β3)=(b1b2b3)1 \mathcal B^\dagger=B^{-1}\hspace{1cm}\text{つまり}\hspace{1cm} \begin{pmatrix} \hspace{7mm}{\bm \beta_1}^\dagger\hspace{7mm}\\ {\bm \beta_2}^\dagger\\ {\bm \beta_3}^\dagger\\ \vdots\\ \end{pmatrix}= \begin{pmatrix} \rule{0mm}{7mm}\\ \bm b_1&\bm b_2&\bm b_3&\cdots\\ \rule{0mm}{7mm}\\ \end{pmatrix}^{-1}

の関係がある。

つまり、基底ベクトルを列ベクトルに持つ行列の逆行列を求め、 その列ベクトルのエルミート共役を取れば逆基底ベクトルを求められる。
(基底ベクトルは一次独立であるから BB には必ず逆行列が存在し、逆基底ベクトルも必ず存在する)

次の4つのベクトルは R4\mathbb{R}^4 の基底となる。

(1234),(2211),(1111),(0110) \begin{pmatrix} 1\\2\\3\\4 \end{pmatrix}, \begin{pmatrix} 2\\2\\-1\\-1 \end{pmatrix}, \begin{pmatrix} 1\\1\\1\\1 \end{pmatrix}, \begin{pmatrix} 0\\1\\1\\0 \end{pmatrix}

これらを列ベクトルとする行列を作り、その逆行列を求めよう。

( B   E  )=(12101000221101003111001041100001)(12101000021121000721301009304001)(121010000211210001442602002111011)(10011100021121000035872000021111)(20022200063363000035872000021111)(20022200060224200061016144000021111)(200011110600133100601199500021111)( E   B ) \begin{aligned} &\bigg(\ B\ \ \ E\ \ \bigg)=\begin{pmatrix} 1&2&1&0&1&0&0&0\\ 2&2&1&1&0&1&0&0\\ 3&-1&1&1&0&0&1&0\\ 4&-1&1&0&0&0&0&1\\ \end{pmatrix}\sim \begin{pmatrix} 1&2&1&0&1&0&0&0\\ 0&-2&-1&1&-2&1&0&0\\ 0&-7&-2&1&-3&0&1&0\\ 0&-9&-3&0&-4&0&0&1\\ \end{pmatrix}\\&\sim \begin{pmatrix} 1&2&1&0&1&0&0&0\\ 0&-2&-1&1&-2&1&0&0\\ 0&-14&-4&2&-6&0&2&0\\ 0&-2&-1&-1&-1&0&-1&1\\ \end{pmatrix}\sim \begin{pmatrix} 1&0&0&1&-1&1&0&0\\ 0&-2&-1&1&-2&1&0&0\\ 0&0&3&-5&8&-7&2&0\\ 0&0&0&-2&1&-1&-1&1\\ \end{pmatrix}\\&\sim \begin{pmatrix} 2&0&0&2&-2&2&0&0\\ 0&-6&-3&3&-6&3&0&0\\ 0&0&3&-5&8&-7&2&0\\ 0&0&0&-2&1&-1&-1&1\\ \end{pmatrix}\sim \begin{pmatrix} 2&0&0&2&-2&2&0&0\\ 0&-6&0&-2&2&-4&2&0\\ 0&0&6&-10&16&-14&4&0\\ 0&0&0&-2&1&-1&-1&1\\ \end{pmatrix}\\&\sim \begin{pmatrix} 2&0&0&0&-1&1&-1&1\\ 0&-6&0&0&1&-3&3&-1\\ 0&0&6&0&11&-9&9&-5\\ 0&0&0&-2&1&-1&-1&1\\ \end{pmatrix}\sim\bigg(\ E\ \ \ \mathcal B^\dagger\ \bigg) \end{aligned}

ここから、

β1=12(1111), β2=16(1331), β3=16(11995), β4=12(1111) \bm \beta_1=\frac{1}{2}\begin{pmatrix}-1\\1\\-1\\1\end{pmatrix}, \ \bm \beta_2=\frac{1}{6}\begin{pmatrix}-1\\3\\-3\\1\end{pmatrix}, \ \bm \beta_3=\frac{1}{6}\begin{pmatrix}11\\-9\\9\\-5\end{pmatrix}, \ \bm \beta_4=\frac{1}{2}\begin{pmatrix}-1\\1\\1\\-1\end{pmatrix}

を得る。

例えば、x=(14714)\bm x=\begin{pmatrix}-1\\ -4\\ 7\\ 14\end{pmatrix} と置くと、

x=i=14(βi,x)bi=[12(1111)(14714)](1234)+[16(1331)(14714)](2211)+[16(11995)(14714)](1111)+[12(1111)(14714)](0110)=2(1234)3(2211)+3(1111)5(0110)成分分解=(14714) \begin{aligned} \bm x=&\sum_{i=1}^4(\bm\beta_i,\bm x)\bm b_i\\ =&\left[ \frac{1}{2} {\small \begin{pmatrix}-1\\1\\-1\\1 \end{pmatrix}\cdot \begin{pmatrix}-1\\ -4\\ 7\\ 14\end{pmatrix} }\right] \begin{pmatrix}1\\2\\3\\4\end{pmatrix}+ \left[ \frac{1}{6} {\small \begin{pmatrix}-1\\3\\-3\\1 \end{pmatrix}\cdot \begin{pmatrix}-1\\ -4\\ 7\\ 14\end{pmatrix} }\right] \begin{pmatrix}2\\2\\-1\\-1\end{pmatrix}\\ &+ \left[ \frac{1}{6} {\small \begin{pmatrix} 11\\-9\\9\\-5 \end{pmatrix}\cdot \begin{pmatrix}-1\\ -4\\ 7\\ 14\end{pmatrix} }\right] \begin{pmatrix}1\\1\\1\\1\end{pmatrix}+ \left[ \frac{1}{2} {\small \begin{pmatrix}-1\\1\\1\\-1 \end{pmatrix}\cdot \begin{pmatrix}-1\\ -4\\ 7\\ 14\end{pmatrix} }\right] \begin{pmatrix}0\\1\\1\\0\end{pmatrix}\\=& \underbrace{ 2\begin{pmatrix}1\\2\\3\\4\end{pmatrix}- 3\begin{pmatrix}2\\2\\-1\\-1\end{pmatrix}+ 3\begin{pmatrix}1\\1\\1\\1\end{pmatrix}- 5\begin{pmatrix}0\\1\\1\\0\end{pmatrix}}_\text{成分分解}= \begin{pmatrix}-1\\-4\\7\\14\end{pmatrix}\\ \end{aligned}

が成り立ち、正しく成分分解されることを確認できる。

逆基底の求め方(外積を使う)

{bi}\{\bm b_i\} を順に横に並べ、jj 番目だけ x\bm x に置き換えた行列式を作り、これを KnKK^n\to K の写像 TjT_j とみなす。

Tj(x)=b1 b2  xj  bnT_j(\bm x)= \Bigg| \,\bm b_1\ \bm b_2\ \dots\ \underset{\overset{\wedge}{j}}{\bm x}\ \dots\ \bm b_n \Bigg|

この TjT_j は線形なので、 その表現行列である 1×n1\times n 行列(nn 次元横ベクトル)を tj\bm t_j^\dagger と書けば

Tj(x)=tjx=(tj,x)T_j(\bm x)=\bm t_j^\dagger\bm x=(\bm t_j,\bm x)

のように標準内積で表せる。(行列式を展開すればこの形になるということ)

実はこの tj\bm t_j から、

βj=1Tj(bj)tj\bm \beta_j=\frac{1}{\overline{T_j}(\bm b_j)}\bm t_j

とすることで βj\bm \beta_j を求められる。

  • i/=ji\ne j のとき (tj,bi)=Tj(bi)=0(t_j,\bm b_i)=T_j(\bm b_i)=0 ← 行列式の内に同じ行ベクトルが2回現れるから
  • i=ji=j のときは (tj,bi)=Tj(bi)=Tj(bj)(t_j,\bm b_i)=T_j(\bm b_i)=T_j(\bm b_j)

に注意せよ(βj\beta_j は内積の左側に入れるので複素共役の 1/Tj(bj)1/\overline T_j(\bm b_j) になっている)。

どこに外積が出てきた?

n1n-1 個の nn 次元ベクトル a1,a2,,an1\bm a_1,\bm a_2,\dots,\bm a_{n-1} のベクトル積(外積) a1×a2××an1\bm a_1\times\bm a_2\times\dots\times\bm a_{n-1} は、

x a1 a2  an1=(a1×a2××an1,x)\Bigg|\,\bm x\ \bm a_1\ \bm a_2\ \dots\ \bm a_{n-1}\Bigg|\,=\,(\,\bm a_1\times\bm a_2\times\dots\times\bm a_{n-1},\,\bm x\,)

を満たすベクトルとして定義される

この定義を用いると、

tj=(1)j1b1×b2×(j番目欠)×bn\bm t_j=(-1)^{j-1}\bm b_1\times\bm b_2\times\dots(j番目欠)\dots\times\bm b_n

βj=(1)j1b1×b2×(j番目欠)×bn b1 b2  bn  \bm \beta_j=\frac{(-1)^{j-1}\bm b_1\times\bm b_2\times\dots(j番目欠)\dots\times\bm b_n}{\overline{{}^{\ }\Bigg|\,\bm b_1\ \bm b_2\ \dots\ \bm b_n\Bigg|}^{\ }}

と表せる。

  • nn 次元のベクトル積は n1n-1 個のベクトルの積のみが定義される。n1n-1 個以外は定義されない。
  • 符号の (1)j1(-1)^{j-1} は、行列式内で x\bm x の列を一番左に持ってくるのに必要な互換の回数に対応する。

上の例の b1,b2,b3,b4\bm b_1,\bm b_2,\bm b_3,\bm b_4 に対して、

T1(b1)=T2(b2)=T3(b3)=T4(b4)=1210221131114110=6← 分母は共通になるT_1(\bm b_1)=T_2(\bm b_2)=T_3(\bm b_3)=T_4(\bm b_4)= \begin{vmatrix} 1&2&1&0\\ 2&2&1&1\\ 3&-1&1&1\\ 4&-1&1&0 \end{vmatrix}=6\hspace{1cm}\text{← 分母は共通になる}

T1(x)T1(b1)=16x210y211z111w110=12(x+yz+w)=12(1111)(xyzw)\displaystyle\frac{T_1(\bm x)}{T_1(\bm b_1)}=\frac{1}{6}\begin{vmatrix} x&2&1&0\\ y&2&1&1\\ z&-1&1&1\\ w&-1&1&0 \end{vmatrix}=\frac{1}{2}(-x+y-z+w)=\frac{1}{2}\begin{pmatrix} 1&-1&1&-1 \end{pmatrix} \begin{pmatrix}x\\y\\z\\w\end{pmatrix} より β1=12(1111)\bm \beta_1=\frac{1}{2}\begin{pmatrix}-1\\1\\-1\\1 \end{pmatrix}

T2(x)T2(b2)=161x102y113z114w10=16(x+3y3z+w)=16(1331)(xyzw)\displaystyle\frac{T_2(\bm x)}{T_2(\bm b_2)}=\frac{1}{6}\begin{vmatrix} 1&x&1&0\\ 2&y&1&1\\ 3&z&1&1\\ 4&w&1&0 \end{vmatrix}=\frac{1}{6}(-x+3y-3z+w)=\frac{1}{6}\begin{pmatrix}-1&3&-3&1 \end{pmatrix} \begin{pmatrix}x\\y\\z\\w\end{pmatrix} より β2=16(1331)\bm \beta_2=\frac{1}{6}\begin{pmatrix}-1\\3\\-3\\1 \end{pmatrix}

T3(x)T3(b3)=1612x022y131z141w0=16(11x9y+9z5w)=16(11995)(xyzw)\displaystyle\frac{T_3(\bm x)}{T_3(\bm b_3)}=\frac{1}{6}\begin{vmatrix} 1&2&x&0\\ 2&2&y&1\\ 3&-1&z&1\\ 4&-1&w&0 \end{vmatrix}=\frac{1}{6}(11x-9y+9z-5w)=\frac{1}{6}\begin{pmatrix} 11&-9&9&-5 \end{pmatrix} \begin{pmatrix}x\\y\\z\\w\end{pmatrix} より β3=16(11995)\bm \beta_3=\frac{1}{6}\begin{pmatrix} 11\\-9\\9\\-5 \end{pmatrix}

T4(x)T4(b4)=1612x022y131z141w0=12(x+y+zw)=12(1111)(xyzw)\displaystyle\frac{T_4(\bm x)}{T_4(\bm b_4)}=\frac{1}{6}\begin{vmatrix} 1&2&x&0\\ 2&2&y&1\\ 3&-1&z&1\\ 4&-1&w&0 \end{vmatrix}=\frac{1}{2}(-x+y+z-w)=\frac{1}{2}\begin{pmatrix}-1&1&1&-1 \end{pmatrix} \begin{pmatrix}x\\y\\z\\w\end{pmatrix} より β4=12(1111)\bm \beta_4=\frac{1}{2}\begin{pmatrix}-1\\1\\1\\-1 \end{pmatrix}

このように、上記と同じ結果が得られる。

ここでは省いたが実は行列式を求めるところは手計算でまじめにやるとかなり大変なので、 いっぺんにすべてを求めるのであれば逆行列を使う方がずっといい。

直交しない空間への成分分解

全体空間が Kn=V+˙WK^n=V\dot +W のように必ずしも直交しない2つの部分空間の直和で書けるとき、

VV の基底を b1,b2,,bm\bm b_1,\bm b_2,\dots,\bm b_m

WW の基底を bm+1,bm+2,,bn\bm b_{m+1},\bm b_{m+2},\dots,\bm b_n

とすれば、両者を合わせた b1,b2,,bn\bm b_1,\bm b_2,\dots,\bm b_nKnK^n の基底となる。

対応する逆基底を β1,β2,,βn\bm \beta_1,\bm \beta_2,\dots,\bm \beta_n とすると、 任意の xKn\bm x\in K^n

x=i=1n(βi,x)bi=i=1m(βi,x)biV +i=m+1n(βi,x)biW=xV+xW \begin{aligned} \bm x &=\sum_{i=1}^n (\bm \beta_i,\bm x)\bm b_i\\ &=\underbrace{\sum_{i=1}^m (\bm \beta_i,\bm x)\bm b_i}_{\in\,V}\ \,+ \underbrace{\sum_{i=m+1}^n (\bm \beta_i,\bm x)\bm b_i}_{\in\,W}\\ &=\bm x_V+\bm x_W \end{aligned}

のように VV 成分と WW 成分とに一意に分解できる。

さらに、

xV=i=1m(βi,x)bi=i=1mbi(βi,x)=i=1mbiβiPV x=PVx \begin{aligned} \bm x_V &=\sum_{i=1}^m (\bm \beta_i,\bm x)\bm b_i\\ &=\sum_{i=1}^m \bm b_i(\bm \beta_i,\bm x)\\ &=\underbrace{\sum_{i=1}^m \bm b_i{\bm \beta_i}^\dagger}_{P_V}\ \bm x\\ &=P_V\bm x \end{aligned}

として VV への射影演算子が得られる。

PV=i=1mbiβiP_V=\sum_{i=1}^m \bm b_i{\bm \beta_i}^\dagger

正規直交基底の時には βi=bi\bm \beta_i=\bm b_i と取れるため、 以前に見た通り

PV=i=1mbibiP_V=\sum_{i=1}^m \bm b_i\bm b_i^\dagger

に戻って、つじつまが合ってる。

この式を、「逆基底 βi\bm\beta_i を掛けて bi\bm b_i の係数を求めてから bi\bm b_i を掛ければ成分そのものが得られるから、必要な成分を全部集めれば射影が求まる」と読めるようになっていればOKだ。

逆格子の基本ベクトル

固体物理において3次元空間の「逆格子の基本ベクトル」を求めるための公式として、

β1=2πb2×b3b1(b2×b3)=  2π(b1を除いた外積) (b1を除いた外積とb1の内積) {\bm \beta_1}'=2\pi\cdot\frac{\bm b_2\times\bm b_3}{\bm b_1\cdot(\bm b_2\times\bm b_3)}\hspace{1cm}=\ \ 2\pi\frac{(\bm b_1\,\text{を除いた外積})}{\ (\bm b_1\,\text{を除いた外積と}\,\bm b_1\,\text{の内積)}\ }

のようなものを学ぶが、これは係数 2π2\pi を除けば上記の逆基底そのものである。

波数ベクトル k\bm k が基本逆格子ベクトルの整数倍の和であり、

k=lβ1+mβ1+nβ1\bm k=l{\bm \beta_1}'+m{\bm \beta_1}'+n{\bm \beta_1}'

実ベクトル x\bm x が基本格子ベクトルの整数倍の和であるとき、

x=lb1+mb2+nb3\bm x=l'\bm b_1+m'\bm b_2+n'\bm b_3

両者の積は、

kx=(lβ1+mβ2+nβ3)(lb1+mb2+nb3)=2π(lβ1+mβ2+nβ3)(lb1+mb2+nb3)=2π(llβ1b1+mmβ2b2+nnβ3b3+ 0他は消える)=2π(ll+mm+nn) \begin{aligned} \bm k\cdot\bm x &=(l{\bm \beta_1}'+m{\bm \beta_2}'+n{\bm \beta_3}')\cdot(l'\bm b_1+m'\bm b_2+n'\bm b_3)\\ &=2\pi(l{\bm \beta_1}+m{\bm \beta_2}+n{\bm \beta_3})\cdot(l'\bm b_1+m'\bm b_2+n'\bm b_3)\\ &=2\pi(ll'\bm \beta_1\cdot\bm b_1+mm'\bm \beta_2\cdot\bm b_2+nn'\bm \beta_3\cdot\bm b_3\underbrace{+\ 0}_\text{他は消える})\\[-10px] &=2\pi(ll'+mm'+nn')\\ \end{aligned}

となって、

eikx=1e^{i\bm k\cdot\bm x}=1

を得る。

すなわち、波数空間に於いて逆格子ベクトルの格子点に来る波数の平面波は 実空間の格子点上で位相がぴったり揃うことになり、 これが固体物理のいろんなところで役に立つことになる。

本来の逆基底

上では「直交するベクトル」という感覚や逆格子ベクトルとの整合性を重視して、 縦ベクトルである逆基底(仮) βi\bm \beta_i を考えたが、 数学的には逆基底はそのエルミート共役、すなわち横ベクトルとして定義される。

すなわち、

bi=βi\bm b^i=\bm \beta_i^\dagger

このとき、(βi,x)=βix=bix(\bm \beta_i,\bm x)={\bm \beta_i}^\dagger\bm x=\bm b^i\bm x であるから、 逆格子の定義は

bibj=δij\bm b^i\,\bm b_j=\delta_{ij}

逆行列や外積を用いた定義は、

bi=(0 0  1 0)i番目だけが1(b1 b2  bn)1=(1)i1b1 b2  bnb1×b2×(i番目欠)×bn\begin{aligned} \bm b^i &=\underbrace{(0\ 0\ \dots\ 1\ \dots 0)}_{i\,\text{番目だけが}\,1}\Bigg(\bm b_1\ \bm b_2\ \dots\ \bm b_n\Bigg)^{-1}\\[6mm] &=\frac{(-1)^{i-1} }{\bigg|\bm b_1\ \bm b_2\ \dots\ \bm b_n\bigg|}\,\bm b_1\times\bm b_2\times\dots(i番目欠)\dots\times\bm b_n \end{aligned}

となる。このように定義された逆基底は「双対基底」とも呼ばれる。

質問・コメント





Counter: 11174 (from 2010/06/03), today: 1, yesterday: 2