math.luma.dev
検索
/linear-algebra/basics/matrix-determinant

行列式の定義と性質

行列式(determinant)

正方行列(square matrix)A∈Rn×nに対する行列式det⁡A∈Rを定義する。

∣A∣と表記することもある。

まず、再帰的(recursive)な定義を与え、その後に置換(permutation)の偶奇(parity)を用いた定義を与える。

再帰的な定義

n=0について、det⁡∅=1と定義する。

n=k+1について、k×k以下の行列式が定義されているとする。

An×nに対し、Aik×kをAの第n−1列(column)目と第i行(row)目を除いたものとする。

det⁡Aiが定義されているので、

det⁡A=def∑i∈n(−1)(k+i)det⁡Ai⋅ai,k

として定義する。


つまり、一番右の各要素(element)について、行列(matrix)を以下のように分割する。

(a0,0a0,1⋯a0,m−2a1,0a1,1⋯a1,m−2⋮⋮⋯⋮ai−1,0ai−1,1⋯ai−1,m−2a0,m−1a1,m−1⋮ai−1,m−1  ai,0    ai,1  ⋯  ai,m−1  ai,m−1ai+1,0ai+1,1⋯ai+1,m−2⋮⋮⋯⋮an−1,0an−1,1⋯an−1,m−2ai+1,m−1⋮an−1,m−1)

上記の左側の行列式と、右の今見ている要素を掛け合わせ、そしてそれらを、プラス、マイナス、プラス、…と交互に足し合わせる。kによってはマイナスから始まる。

∣a0,0a0,1⋯a0,m−2a0,m−1a1,0a1,1⋯a1,m−2a1,m−1⋮⋮⋱⋮⋮an−1,0an−1,1⋯an−1,m−2an−1,m−1∣n×n=∑i∈n(−1)(k+i)ai,n−1∣⋮⋮⋮⋮ai−1,0ai−1,1⋯ai−1,m−2ai+1,0ai+1,1⋯ai+1,m−2⋮⋮⋮⋮∣k×k

n=1の場合。

∣a0,0∣=(−1)(0+0)(det⁡∅)⋅a0,0=a0,0

n=2の場合。

∣a0,0a0,1a1,0a1,1∣=(−1)(1+0)⋅a0,1⋅∣a1,0∣+(−1)(1+1)⋅a1,1⋅∣a0,0∣=(−1)⋅a0,1⋅a1,0+1⋅a1,1⋅a0,0=a0,0⋅a1,1−a0,1⋅a1,0

置換の偶奇を用いた定義

det⁡An×n=def∑σ∈S(n)sgn⁡(σ)(∏i∈naσ(i),i)

TODO: 以下は別の場所に定義
全単射(bijection)σ:{0,1,⋯ ,n−1}→{0,1,⋯ ,n−1}を
長さnの置換という。σ全体の集合(set)はこの置換は、その不変量(invariable)として偶奇を考えることができる。置換σの偶奇sgn⁡σ∈Nを、σの

証明

それぞれの定義が等価であることを証明する。

P(n)≔[∑i∈n(−1)(k+i)det⁡Ai⋅ai,k=∑σ∈S(n)sgn⁡(σ)(∏i∈naσ(i),i)]

帰納法による。P(0)は明らか。n=k+1とおいて、P(k)⟹P(n)を示す。

置換S(n)をk=n−1を動かさないものと、動かすものに分ける。

  • SFIX(n)≔{σ∈S(n);σ(n−1)=n−1}
  • SMOV(n)≔{σ∈S(n);σ(n−1)≠n−1}

とする。すると、S(n)=SFIX(n)∪SMOV(n)であり、SFIX(n)∩SMOV(n)=∅である。

∑i∈n(−1)(k+i)det⁡Ai⋅ai,k=∑i∈n(−1)(k+i)(∑σ∈S(k)sgn⁡(σ)(∏i∈kaσ(i),i))⋅ai,k(P(k)を展開)=∑i∈n(−1)(k+i)(∑σ∈SFIX(n)sgn⁡(σ)(∏i∈kaσ(i),i))⋅ai,k=∑i∈n∑σ∈SFIX(n)((−1)(k+i)sgn⁡(σ)(∏i∈kaσ(i),i)⋅ai,k)()=∑i∈n∑σ∈SFIX(n)(sgn⁡(σ⋅<i,k>)(∏i∈ka(σ⋅<i,k>)(i),i)⋅a(σ⋅<i,k>)(k),k)=∑i∈n∑σ∈SFIX(n)(sgn⁡(σ⋅<i,k>)(∏i∈na(σ⋅<i,k>)(i),i))=∑σ∈S(n)(sgn⁡(σ)(∏i∈naσ(i),i))

最後、∑i∈n∑σ∈SFIX(n)は(σ⋅<i,k>)(i)を介してS(n)全体をイテレートすることを用いた。これは、もとのシグマ2つは、kの移動先iで分岐していると考えるとよい。

■

行列式の性質

行と列は対称的

σは全単射なのでσ−1を考えて、

det⁡An×n=∑σ∈S(n)sgn⁡(σ)∏i∈naσ(i),i=∑σ∈S(n)sgn⁡(σ)∏i∈nai,σ−1(i)

になるが、当然ながらσ−1全体の集合全体もまたS(n)になる。

そのため、

det⁡An×n=∑σ∈S(n)sgn⁡(σ)∏i∈nai,σ(i)

が言える。

以下で述べる列に対する性質は、行に対しても成り立つことになる。

これは、∣A∣=∣tA∣であるということに他ならない。

列の定数倍

∣⋯c⋅ak⋯∣=c∣⋯ak⋯∣

証明

(左辺)=∑σsgn⁡(σ)⋅aσ(0),0‾⋯(c⋅aσ(k),k‾)⋯aσ(n−1),n−1‾(の定義)=c⋅∑σsgn⁡(σ)⋅aσ(0),0‾⋯aσ(k),k‾⋯aσ(n−1),n−1‾=(右辺)
■

列の線形性(linearity)

∣⋯ak+a′k⋯∣=∣⋯ak⋯∣+∣⋯a′k⋯∣

列の交代性

∣⋯ai⋯aj⋯∣=−∣⋯aj⋯ai⋯∣

証明

置換σと、iとjの互換(swap)<i,j>を適用することをσ⋅<i,j>とかく。つまり、

(σ⋅<i,j>)(k)={jif k=iiif k=jσ(k)otherwise

となる。

(左辺)=∑σsgn⁡(σ)∏k∈naσ(k),k‾(の定義)=∑σsgn⁡(σ)(∏k∈n∖{i,j}aσ(k),k‾)aσ(i),i‾aσ(j),j‾(iとjは分ける)=∑σ(−sgn⁡(σ⋅<i,j>))(∏k∈n∖{i,j}aσ(k),k‾)aσ(i),i‾aσ(j),j‾(iとjのを考える)=−∑σsgn⁡(σ⋅<i,j>)(∏k∈n∖{i,j}aσ(k),k‾)aσ(i),i‾aσ(j),j‾(に関する)=−∑σsgn⁡(σ⋅<i,j>)(∏k∈n∖{i,j}a(σ⋅<i,j>)(k),k‾)a((σ⋅<i,j>)(j),i‾a((σ⋅<i,j>)(i),j‾(先述の定義より)=−∑σsgn⁡(σ′)(∏k∈n∖{i,j}aσ′(k),k‾)aσ′(j),i‾aσ′(i),j‾(σ′≔σ⋅<i,j>とした)=−∑σ′sgn⁡(σ′)(∏k∈n∖{i,j}aσ′(k),k‾)aσ′(j),i‾aσ′(i),j‾(後述)=(右辺)

最後は、S(n)⋅<i,j>={σ⋅<i,j>;σ∈S(n)}=S(n)であるから、σ′はすべてのS(n)の要素をイテレートする。

注目すべきは、最後の行のiとjが互いに逆になっている点だ。

■

同じ値を持つ列がある場合、行列式は零(zero)

∣⋯ai⋯ai⋯∣=−∣⋯ai⋯ai⋯∣

つまり、A=−Aという形になるが、(ai,j)=−(ai,j)=(−ai,j)より、ai,j=0となる。

零列を含む場合、行列式は零

0⋅0=0であるので、

∣⋯0⋯∣=∣⋯0⋅0⋯∣=0⋅∣⋯0⋯∣=0

となる。

ある列の定数倍を、異なる列に加えても行列式は変化しない

∣⋯ai⋯(aj+c⋅ai)⋯∣=∣⋯ai⋯aj⋯∣+(c⋅∣⋯ai⋯aj⋯∣)=∣⋯ai⋯(ai+aj)⋯∣+0=∣⋯ai⋯aj⋯∣

次数(degree)の低下

ある列が、ひとつの要素を除いて0である場合、次のように、より小さな行列の行列式のみを考えれば良くなる。

他の性質から、交換を2回以下行うことで、(符号の変化を除いて)以下のような形のみ考えれば良いことになる。

∣a0,00⋯0a1,0a1,1⋯a0,m−1⋮⋮⋱⋮an−1,0an−1,1⋯an−1,m−1∣=a0,0∣a1,1⋯a1,m−1⋮⋱⋮an−1,1⋯an−1,m−1∣

定義行列式の定義と性質を用いるとすぐにわかる。

系: 上三角行列(upper triangular matrix)の行列式は対角成分(main diagonal)の総積(product)

行列式の定義と性質を繰り返し適用すると以下のようになる。

∣a0,0a0,1⋯a0,m−1a1,1⋯a1,m−1⋱⋮an−1,m−1∣=a0,0⋅a1,1⋯an−1,m−1

下三角行列(lower triangular matrix)についても同様である。

このことから、det⁡I=1も従う。

基本行列(elementary matrix)と行列式

今までの性質を基本行列で表現し直していく。

  • ∣Pi(c)A∣=c∣A∣
    • A=Iを代入すると、∣Pi(c)∣=cより、∣Pi(c)∣⋅∣A∣とも書ける
  • ∣Pi,j(c)A∣=∣A∣
    • A=Iを代入すると、∣Pi,j(c)∣=1より、∣Pi,j(c)∣⋅∣A∣とも書ける
  • ∣Pi,jA∣=−∣A∣
    • A=Iを代入すると、∣Pi,j∣=−1より、∣Pi,j∣⋅∣A∣とも書ける

系: 基本行列Pについて、∣PA∣=∣P∣⋅∣A∣

右側に関する∣AP∣=∣A∣⋅∣P∣も同様に、列基本変形(elementary column operation)を考えるとよい。行列式は行と列に関して対称であることを思い出す。

系: 基本行列の行列式は0ではない

定理: 正方行列Aについて。A が正則行列(invertible)   ⟺  ∣A∣≠0

証明

⟹について。

正則行列Aについて、簡約化(matrix reduction)を考える。

P0P1⋯Pp−1A=I  ⟹∣P0P1⋯Pp−1A∣=∣I∣(両辺のを考える)  ⟺  ∣P0∣⋅∣P1∣⋯∣Pp−1∣⋅∣A∣=∣I∣(TODO をp回適用)

となるが、∣I∣=1であるため、∣A∣≠0。

⟸については、対偶を考える。正則行列でない正方行列Aについて、簡約化を考える。

PA=X  ⟹∣PA∣=∣X∣(両辺の)  ⟺  ∣P∣⋅∣A∣=∣X∣(上記の議論より)

Xは零行を含む。含まなかったらX=IとなってAが正則行列でないことに反する。よって∣X∣=0である。

上記議論より∣P∣≠0なので、∣A∣=0となる。

■

定理: ∣AB∣=∣A∣⋅∣B∣

証明

Aが正則行列の場合について。簡約化を考えてPA=I、A=P−1=Pp−1−1⋯P1−1P0−1となる。行列式の定義と性質をp回適用して

∣AB∣=∣Pp−1−1⋯P1−1P0−1B∣=∣Pp−1−1∣⋯∣P1−1∣⋅∣P0−1∣⋅∣B∣

となる。


Aが正則行列でない場合について。TODOより、ABも正則行列でないため、両辺はそれぞれ0だとわかる。

■

系: ∣A−1∣=∣A∣−1

証明

AA−1=I  ⟹∣AA−1∣=∣I∣(両辺の)  ⟺  ∣A∣⋅∣A−1∣=1(TODO)  ⟺  ∣A−1∣=∣A∣−1
■

行列式の計算方法

ガウスの消去法(Gaussian elimination)に似た方法で、上三角行列を目指せばよい。