行列式の定義#

2次・3次の正方行列に対する行列式#

2次の正方行列

A=(abcd)

に対して、行列式は次のように求めることができる。

|A|=adbc
import numpy as np
A = np.array([
    [1, 2],
    [3, 4],
])

det = 1 * 4 - 2 * 3
assert det == np.linalg.det(A).round(5)  # numpyの計算結果と照合
print(f"det(A) = {det}")
det(A) = -2

3次の正方行列A

A=(a11a12a13a21a22a23a31a32a33)

に対して、行列式は次のようになる

|A|=|a11a12a13a21a22a23a31a32a33|=a11a22a33+a12a23a31+a13a21a32a12a21a33a13a22a31a11a23a32
import numpy as np
A = np.array([
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 10]
])
det = A[0,0] * A[1,1] * A[2,2] \
    + A[0,1] * A[1,2] * A[2,0] \
    + A[0,2] * A[1,0] * A[2,1] \
    - A[0,1] * A[1,0] * A[2,2] \
    - A[0,2] * A[1,1] * A[2,0] \
    - A[0,0] * A[1,2] * A[2,1]

assert det == np.linalg.det(A).round(5)  # numpyの計算結果と照合
print(f"det(A) = {det}")
det(A) = -3

n次正方行列に対する行列式の定義#

性質による定義#

「この性質をもっていれば行列式」という条件を挙げるタイプの定義

(定義)行列式

n 次の正方行列 A=(a1,,an) に対し、次の 3 条件をみたす ただ 1 つの式を n 次行列式とよび、det(A),|A|,|a1,,an| などと書く.

(1) 線型性

|a1,,an| は、各列について線型である。

|a1,,cak+cak,,an|=c|a1,,ak,,an|+c|a1,,ak,,an|

(2) 交代性

i 列と第 j(ij) を入れかえ、他はそのままとすると、値が符号だけ変わる

|a1,,ai,,aj,,an|=|a1,,aji,,aij,,an|

いいかえれば、「異なる 2 つの列が従属 (ai=kaj) ならば、|a1,,an|=0」である。

(3) 規格化

単位行列 I=(e1,,en) に対しては

|I|=1

ライプニッツの明示公式#

置換を用いて陽に定義したものとして、以下の明示公式がある

行列式に対するライプニッツの明示公式

n次の正方行列

A=(a11a12a1na21a22a2nan1an2ann)=(aij)

に対して、Aの成分によって定義される次の数|A|A の行列式という。

|A|=σSnsgn(σ)a1σ(1)a2σ(2)anσ(n)=σSnsgn(σ)i=1naiσ(i)

ここで和は n! 個の置換 σSn すべてにわたる。

例:2次の正方行列の場合
A=(a11a12a21a22)

とすると、M2={1,2}の置換は2!=2個あり

(1212)=ε,(1221)=(1,2)

であるため

sgn(1212)=1,sgn(1221)=1

となり、

|a11a12a21a22|=sgn(1212)a11a22+sgn(1221)a12a21=a11a22a12a21