大学数学

【線形代数】
行列式の絶対値=n次元平行体の体積、の証明

n次元平行体の体積、と書かれた黒板

行列式の大きさは図形的には、

行列を構成する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つの一次独立なベクトルで張られる平行体を例に、
定義の意味を解説したいと思います。

3つの一次独立なベクトル

まず、次元を落として行くとx3のみが残るので

この時点での体積は長さの|x3|です。

1次元の体積はベクトルの長さ

次に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

線形代数

-大学数学