行列式の交代性と転置不変性

行列式の交代性と転置不変性

行列式の交代性と面積の符号

行列式の交代性

 2 本のベクトル $\boldsymbol{u}, \boldsymbol{v}$ を
 
\[\boldsymbol{u}=\begin{bmatrix}u_1\\u_2\end{bmatrix}
,\quad \boldsymbol{v}=\begin{bmatrix}v_1\\v_2\end{bmatrix}\]
について行列式を
 
\[\det(\boldsymbol{u},\boldsymbol{v})
=\begin{vmatrix}u_1 & v_1 \\ u_2 & v_2 \end{vmatrix}\]
で定めるとき、$\boldsymbol{u}$ と $\boldsymbol{v}$ を入れ替えると符号が逆転します。
 
\[\begin{align*}\det(\boldsymbol{v},\boldsymbol{u})
&=\begin{vmatrix}v_1 & u_1 \\ v_2 & u_2 \end{vmatrix}\\[6pt]
&=v_1u_2-v_2u_1\\[6pt]
&=-(u_1v_2-u_2v_2)\\[6pt]
&=-\det(\boldsymbol{u},\boldsymbol{v})\end{align*}\]
 行列式の行を入れ替えても符号が逆転します。
 
\[\begin{align*}\begin{vmatrix}u_2 & v_2 \\ u_1 & v_1 \end{vmatrix}
&=u_2v_1-u_1v_2\\[6pt]
&=-(u_1v_2-u_2v_1)\\[6pt]
&=-\det(\boldsymbol{u},\boldsymbol{v})\end{align*}\]
 一般の $n$ 次元の行列式においても、行または列を 1 回入れ替えると符号が逆転するという法則があります。これを 行列式の交代性 といいます。
 

面積の符号

 行列式の交代性から明らかなように、行列式によって定義された面積は負の値になることがあります。

 例として、ベクトル $\boldsymbol{u}=\begin{bmatrix}1\\4\end{bmatrix}$ と $\boldsymbol{v}=\begin{bmatrix}3\\1\end{bmatrix}$ を考えます。

 matplotlib vector u, v plot

 行列式 $\mathrm{det}(\boldsymbol{u},\boldsymbol{v})$ を計算してみると、
 
\[\mathrm{det}(\boldsymbol{u},\boldsymbol{v})
=\begin{vmatrix}1 & 3\\4 & 1\end{vmatrix}=1\cdot 1-3\cdot 4=-11\]
となります。行列式の交代性により、$\boldsymbol{u}$ と $\boldsymbol{v}$ を入れ替えると符号が逆転して
 
\[\mathrm{det}(\boldsymbol{v},\boldsymbol{u})=11\]
となります。一般にベクトル $\boldsymbol{a}$ がベクトル $\boldsymbol{b}$ に時計回りに回転させて一致するとき、$\mathrm{det}(\boldsymbol{a},\boldsymbol{b})$ は負の値となり、$\mathrm{det}(\boldsymbol{b},\boldsymbol{a})$ は正の値となります ($\boldsymbol{b}$ は $\boldsymbol{a}$ に反時計回りに回転させて一致します)。
 

行列式の転置不変性

 ベクトル $\boldsymbol{u}, \boldsymbol{v}$ を
 
\[\boldsymbol{u}=\begin{bmatrix}u_1\\u_2\end{bmatrix}
,\quad \boldsymbol{v}=\begin{bmatrix}v_1\\v_2\end{bmatrix}\]
について行列式を
 
\[\det(\boldsymbol{u},\boldsymbol{v})
=\begin{vmatrix}u_1 & v_1 \\ u_2 & v_2 \end{vmatrix}\]
と定めましたが、行と列を入れ替えて、
 
\[\begin{vmatrix}u_1 & u_2 \\ v_1 & v_2 \end{vmatrix}\]
のように書いても行列式の値は変わりません。一般に $n$ 次元の行列式において、成分を対角線上で折り返しても値は保持されます。この性質を行列式の 転置不変性 といいます。4 次元の行列式
 
\[\begin{vmatrix}5 & 9 & 2 & 7\\
1 & 3 & 9 & 5\\
6 & 2 & 0 & 4\\
2 & 6 & 3 & 3\end{vmatrix}\]
について転置不変性を確認してみましょう。手計算では大変なので、SciPy の scipy.linalg.det()関数を使って計算します。

# リストSLA014

import numpy as np
from scipy.linalg import det

# 配列を定義
x = np.array([[5, 9, 2, 7],
              [1, 3, 9, 5],
              [6, 2, 0, 4],
              [2, 6, 3, 3]])

# xの行列式を計算
print("det(x) = {:.2f}".format(det(x)))

# xを転置して行列式を計算
print("det(tx) = {:.2f}".format(det(x.T)))
det(x) = -568.00
det(tx) = -568.00