行列式の大きさは図形的には、
行列を構成するn個の独立なベクトルで
張られる平行体の体積を意味します。
これは
- 2次元では平行四辺形
- 3次元では平行六面体
の体積を計算するための道具となり
n次元については、
多重積分の座標変換の際
ヤコビアンが利用される理由でもあります。
この記事では、線形代数の知識を用いて
行列式の絶対値がn次元平行体の体積である事を証明します。
行列の基本変形、シュミットの正規直交化など
多次元の体積
始めに(ユークリッド距離の入った)
実空間Rnのk個の一次独立なベクトル
\( \{ \vec{x}_1 , \cdots , \vec{x}_k \} \)
で張られるk次元の平行体
\( P = \{ t_1 \vec{x}_1 + \cdots +t_k \vec{x}_k \, | \, 0 \leq t_i \leq 1 , \; i = 1, \cdots , k \} \)
の体積vol(P)を定義します。
1次元
1次元の時は
\( P = \{ t_1 \vec{x}_1 \, | \, 0 \leq t_1 \leq 1 \} \)
であり、体積は長さを意味するので
1次元の体積
\( vol(P) := |\vec{x}_1| \)
の様に定義されます。
k次元
k次元については補題が必要です。
補題
ベクトルx1は二つのベクトルB、C
\( \vec{x}_1 = \vec{B} + \vec{C} \)
に分解される。
ここでBとCは
\( \vec{B} \perp \vec{x}_i \quad (i = 2, \cdots , k) \)
\( \vec{C} \in \left<\vec{x}_2, \cdots , \vec{x}_k \right> \)
を満たす。
証明
一次独立なk-1個のベクトル
\( \{ \vec{x}_2, \cdots , \vec{x}_k \} \)
にシュミットの正規直交化を施して
\( \{ \vec{a}_2, \cdots , \vec{a}_{k} \} \)
を得る。
ポイント
\( \left<\vec{x}_2, \cdots , \vec{x}_k \right> = \left<\vec{a}_2, \cdots , \vec{a}_k \right> \)
$$ \vec{B} := \vec{x}_1 - \sum_{i=2}^k (\vec{x}_1 \cdot \vec{a}_i)\, \vec{a}_i \hspace{20cm}$$
によりベクトルBを定めれば
\( \vec{B} \perp \vec{a}_i \quad (i = 2, \cdots , k) \)
なのでxiについても
\( \vec{B} \perp \vec{x}_i \quad (i = 2, \cdots , k) \)
また、
$$ \vec{C} := \sum_{i=2}^k (\vec{x}_1 \cdot \vec{a}_i)\, \vec{a}_i \hspace{20cm}$$
によりベクトルCを定めればCは
{a2, ..., ak}で生成されるベクトル空間の元。
\( \vec{C} \in \left<\vec{a}_2, \cdots , \vec{a}_k \right> \)
であり
\( \vec{C} \in \left<\vec{x}_2, \cdots , \vec{x}_k \right> \)
ベクトルBとCの和は
\( \vec{x}_1 = \vec{B} + \vec{C} \quad \square\)
体積の定義
\( P = \{ t_1 \vec{x}_1 + \cdots +t_k \vec{x}_k \, | \, 0 \leq t_i \leq 1 , \; i = 1, \cdots , k \} \)
の体積を補題とk-1次元の平行体
\( P' = \{ t_2 \vec{x}_2 + \cdots +t_k \vec{x}_k \, | \, 0 \leq t_i \leq 1 , \; i = 2, \cdots , k \} \)
の体積で定義します。
k次元の体積
\( vol(P) := |\vec{B}| \times vol(P') \)
次元を落として行くと
最終的には1次元にたどり着くので、
帰納的にk次元まで定義できた事になります。
定義の意味
3つの一次独立なベクトルで張られる平行体を例に、
定義の意味を解説したいと思います。
まず、次元を落として行くとx3のみが残るので
この時点での体積は長さの|x3|です。
次にx2を、x3と平行なベクトルCと直交するベクトルBに分解して
先程の体積|x3|に|B|を掛けます。
平行四辺形の面積を底辺×高さで求める事に対応します。
続いてx1を、x2とx3で張られる平面上の
ベクトルCと直交するベクトルBに分解して
先程の体積(面積)に|B|を掛けます。
平行六面体の体積を底面積×高さで求める事に対応します。
4次元以降の体積を求めたい時は
同様に、それまでの、どのベクトルとも直交する
ベクトルBの大きさを体積に掛ける操作を繰り返します。
行列式の幾何学的意味
体積の定義が済んだので定理を証明します。
定理
実空間Rnのk個の一次独立なベクトル
\( \{ \vec{x}_1 , \cdots , \vec{x}_k \} \)
で張られるk次元の平行体
\( P = \{ t_1 \vec{x}_1 + \cdots +t_k \vec{x}_k \, | \, 0 \leq t_i \leq 1 , \; i = 1, \cdots , k \} \)
の体積vol(P)は、k×n行列A
$$ A:= \begin{pmatrix}\vec{x}_1 \\ \vec{x}_2 \\ \vdots \\ \vec{x}_k \end{pmatrix} \hspace{20cm}$$
とその転置ATを用いて
\( vol(P)^2 = det(A A^\top) \)
の様に書かれる。
これは特にk=nの時
\( vol(P) = |det(A)| \)
である。
証明
帰納法で示す。
k=1の時は
\( det(A A^\top) = det(\vec{x}_1 \vec{x}_1^\top ) = |\vec{x}_1|^2 = vol(P)^2 \)
なので成立。
k-1次元の平行体に対して定理を認め、
k次元について考える。
補題を用いて
\( \vec{x}_1 = \vec{B} +\vec{C} \)
と分解しAの一行目をBに換えた行列を
$$ \tilde{A}:= \begin{pmatrix}\vec{B} \\ \vec{x}_2 \\ \vdots \\ \vec{x}_k \end{pmatrix} \hspace{20cm}$$
と書く事にする。
\( \vec{C} \in \left<\vec{x}_2, \cdots , \vec{x}_k \right> \)
より適当なα2、…、αkをとり
\( \vec{C} = \alpha_2 \vec{x}_2 +\cdots +\alpha_k \vec{x}_k \)
ここで一行目にm行目のαm倍を加える基本行列Emを用意する。
例えばE2、Ekは
$$ E_2 := \begin{pmatrix} 1 & \alpha_2 & \cdots & 0 \\ 0 & 1 & \cdots & 0\\ \vdots & & \ddots & \vdots \\ 0 & \cdots & 0 & 1 \end{pmatrix} \hspace{20cm}$$
$$ E_k := \begin{pmatrix} 1 & 0 & \cdots & \alpha_k \\ 0 & 1 & \cdots & 0\\ \vdots & & \ddots & \vdots \\ 0 & \cdots & 0 & 1 \end{pmatrix} \hspace{20cm}$$
である。
左側から、これらの行列を掛ければ
\( E_2 \cdots E_k \tilde{A}=A \)
また両辺の転置をとり
\( A^\top = \tilde{A}^\top E_k^\top \cdots E_2^\top \)
定理の右辺は
\( det(A A^\top) =det( E_2 \cdots E_k \tilde{A} \tilde{A}^\top E_k^\top \cdots E_2^\top )\)
\(\quad\quad\quad\quad\;\; =det( E_2 \cdots E_k) \cdot det( \tilde{A} \tilde{A}^\top) \cdot det( E_k^\top \cdots E_2^\top )\)
\(\quad\quad\quad\quad\;\;= 1 \cdot det( \tilde{A} \tilde{A}^\top) \cdot 1 \)
\( \quad\quad\quad\quad\;\;= det( \tilde{A} \tilde{A}^\top) \)
の様に書き換えられる。
次にAから一行目を取り除いた行列を
$$ D:= \begin{pmatrix} \vec{x}_2 \\ \vdots \\ \vec{x}_k \end{pmatrix} \hspace{20cm}$$
と書いて計算を続ける。
$$ \tilde{A} \tilde{A}^\top = \begin{pmatrix} \vec{B} \\ D \end{pmatrix} \begin{pmatrix} \vec{B}^\top & D^\top \end{pmatrix} = \begin{pmatrix} \vec{B}\vec{B}^\top & \vec{B}D^\top \\ D\vec{B}^\top & DD^\top \end{pmatrix} \hspace{20cm}$$
ベクトルBは
\( \vec{B} \perp \vec{x}_i \quad (i = 2, \cdots , k) \)
を満たすので
$$= \begin{pmatrix} \vec{B}\vec{B}^\top & 0 \\ 0& DD^\top \end{pmatrix} \hspace{20cm} $$
行列式は
\( det(\tilde{A} \tilde{A}^\top ) = det( \vec{B}\vec{B}^\top )\cdot det( DD^\top ) \)
となる。
帰納法の仮定により
\( = |\vec{B}|^2 \cdot vol(P')^2 = vol(P)^2 \)
以上で
\( vol(P)^2 = det(A A^\top) \)
が示された。
特にk=nの時、Aは正方行列なので
\( vol(P)^2 = det(A) \cdot det( A^\top) \)
転置の行列式の値は等しく
\( = \{det(A)\}^2 \)
体積は定義より0以上で
\( vol(P) = |det(A)| \)
が求まる。\(\square\)
掛ける順の任意性(補足)
行列式の値は行を入れ換えても
符号が変わるだけです。
定義においてはxkを起点に、
順次xk-1、xk-2、…、x1まで掛けて
体積を定めましたが
定理より実は、どのベクトルを起点に
どの様な順で掛けても同じ体積になります。
直方体で言うと
- 縦×横×高さ
- 高さ×横×縦
いずれも体積が求まる事に対応します。
参考文献
論文
The Determinant: a Means to Calculate Volume