非直交基底の成分分解 のバックアップ(No.1)

更新


非直交基底の成分

数ベクトル空間 K^n に、 必ずしも直交しない基底 \set{\bm b_i} を取る。

任意のベクトル \bm x を成分分解して、

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

と表す際の成分 \set{x_i} を求める方法を考える。

逆基底

基底 \set{\bm b_i} の「逆基底」をここでは \set{\bm b_i^*} と書くことにすると、

  (\bm b_j^*,\bm b_i)=\delta_{ij}

を満たすことが逆基底の定義である*1数学的には {}^t\bm b_j^* を逆基底とするのが本来であるが、ここでは分かりやすさを優先する

つまり、 \bm b_j^*

  • \bm b_j 以外と直交
  • (\bm b_j^*,\bm b_j)=1
  • 一般に \bm b_j 平行ではない

成分を求めるには

逆基底が分かっていれば、 (*)式に左から \bm b_j^* をかけることで 右辺は \bm b_j の項を残してゼロとなり、

  (\bm b_j^*,\bm x)=x_j

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

逆基底の求め方

\set{\bm b_i} を順に横に並べ、 j 番目だけ \bm x に置き換えた次のような行列式を作り、これを K^n\to K の写像 T_j と見なす。

 &math(T_j(\bm x)= \Bigg| \,\bm b_1\ \bm b_2\ \dots\ \underset{\overset{\wedge}{j}}{\bm x}\ \dots\ \bm b_n \Bigg| );

行列式の列ベクトルに対する線形性から、この T_j は線形写像となるから、 T_j はある 1\times n 行列 A_{Tj} とのかけ算で

  T_j(\bm x)=A_{Tj}\bm x

の形に表せる。

実はこの A_{Tj} を用いて

  \bm b_j^*=\frac{1}{T(\bm b_j)}{}^tA_{Tj}

として \bm b_j^* を求められる。

なぜなら i\ne j のとき、 行列式内に同じ行ベクトルが2回現れるから T(\bm b_i)=0 である。 一方、 i= j なら当然 T(\bm b_i)=T(\bm b_j) であるから、

  T(\bm b_i)=T(\bm b_j)\delta_{ij}

すなわち、

  A_{Tj}\bm b_i=T(\bm b_j)\delta_{ij}

  \frac{1}{T(\bm b_j)}A_{Tj}\bm b_i=\delta_{ij}

であるから逆基底の定義と比べれば上式が正しいことを確かめられる。

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

 &math( \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} );

これらを \bm b_1,\bm b_2,\bm b_3,\bm b_4 と置くと、

 &math(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 );

 &math(T_1(\bm x)=\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} ); より &math(\bm b_1^*=\frac{1}{2}\begin{pmatrix}

  • 1\\1\\-1\\1 \end{pmatrix});

 &math(T_2(\bm x)=\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} ); より &math(\bm b_2^*=\frac{1}{6}\begin{pmatrix}
  • 1\\3\\-3\\1 \end{pmatrix});

 &math(T_3(\bm x)=\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} ); より &math(\bm b_3^*=\frac{1}{6}\begin{pmatrix} 11\\-9\\9\\-5 \end{pmatrix});

 &math(T_4(\bm x)=\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} ); より &math(\bm b_4^*=\frac{1}{2}\begin{pmatrix}
  • 1\\1\\1\\-1 \end{pmatrix});

それぞれ、正しく逆基底の定義を満たしていることを確認せよ。

逆格子

固体物理において3次元空間の逆格子の公式として、

  {\bm b_1^*}'=2\pi\cdot\frac{\bm b_2\times\bm b_3}{\bm b_1\cdot(\bm b_2\times\bm b_3)}

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

というのも、

 &math( \begin{vmatrix} x&b_{2x}&b_{3x}\\ y&b_{2y}&b_{3y}\\ z&b_{2z}&b_{3z}\\ \end{vmatrix}&= (b_{2y}b_{3z}-b_{2z}b_{3y})x+ (b_{2z}b_{3x}-b_{2x}b_{3z})y+ (b_{2x}b_{3y}-b_{2y}b_{3x})z\\ &=(\bm b_2\times\bm b_3,\bm x) );

であり、

 &math( \begin{vmatrix} b_{1x}&b_{2x}&b_{3x}\\ b_{1y}&b_{2y}&b_{3y}\\ b_{1z}&b_{2z}&b_{3z}\\ \end{vmatrix}= (\bm b_2\times\bm b_3,\bm b_1) );

であるためだ。

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

  \bm k=l{\bm b_1^*}'+m{\bm b_1^*}'+n{\bm b_1^*}'

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

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

両者の積は、

 &math(\bm k\cdot\bm x &=(l{\bm b_1^*}'+m{\bm b_2^*}'+n{\bm b_3^*}')\cdot(l'\bm b_1+m'\bm b_2+n'\bm b_3)\\ &=2\pi(l{\bm b_1^*}+m{\bm b_2^*}+n{\bm b_3^*})\cdot(l'\bm b_1+m'\bm b_2+n'\bm b_3)\\ );

直交性を用いると、

 &math( \bm k\cdot\bm x &=2\pi(ll'\bm b_1^*\cdot\bm b_1+mm'\bm b_2^*\cdot\bm b_2+nn'\bm b_3^*\cdot\bm b_3)\\ &=2\pi(ll'+mm'+nn')\\ );

となって、

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

を得る。

格子点上で位相がぴったり揃うような平面波の波数は、 波数空間に於いて逆格子ベクトルの格子点に並ぶことが ここから分かる。

質問・コメント





*1 数学的には {}^t\bm b_j^* を逆基底とするのが本来であるが、ここでは分かりやすさを優先する

Counter: 9811 (from 2010/06/03), today: 6, yesterday: 0