2
大学数学基礎解説
文献あり

縦長行列の行列式

274
0

正方行列の行列式を縦長行列(行数が列数以上である行列)に対して拡張した概念であるCullis行列式について,少し勉強したので紹介します.

注:本記事は 矩形行列の行列式 の内容を参考に書いていますが,(自分用に)一部 矩形行列の行列式 とは違う記号を使ってしまっているので注意してください.

この記事『矩形行列の行列式』意味
[n]I{1,,n}
In1nn次単位行列
A^i,jAi,jAの第i行と第j列を取り除いた行列
Sn,kSkI{1,k}から{1,,n}への単射全体の集合
Cul-sgnsgnICullis符号

注:矩形行列の行列式 に合わせて行列の成分は複素数として考えますが,一般の可換環の元を成分にしても本記事の内容はおそらく成り立つのではないかと思います.

記号と導入

  • nNに対して,[n]:={1,,n}とおく(n=0のときは[0]:=とする).
  • n,kNに対して,n×k(複素)行列全体の集合をMn,k(C)とする.
  • n×n行列Aの行列式をdetn,n(A)と書く.

このとき,次のことが成り立つのだった.

第1列に関する余因子展開

A=(ai,j)n×nMn,n(C)に対して,次式が成り立つ.
detn,n(A)=i=1n(1)i1ai,1detn1,n1(A^i,1).
ただしA^i,jは,Aから第i行と第j列を取り除いて得られる(n1)×(n1)行列とした.

n=1の場合の余因子展開
det1,1((a1,1))=a1,1det0,0(())
を成り立たせるためには,det0,0(()):=1と考えるのが妥当であることに注意しておく.

Cullis行列式

Cullis行列式の定義

正方行列の余因子展開を踏まえて,行列式を次のように一般化する.

Cullis行列式 (cf. 矩形行列の行列式 p.55 定義1.4.1)

0knに対して,Cullis行列式detn,k:Mn,k(C)Cを次のように帰納的に定める.
detn,k(A):={1(k=0),i=1n(1)i1ai,1detn1,k1(A^i,1)(k1).
ただしA^i,1は,Aから第i行と第1列を取り除いて得られる(n1)×(k1)行列とした.

もちろんk=nの場合は,Cullis行列式detn,nは普通の意味での行列式に一致する.

k=1の場合:交代和

detn,1((a1,1an,1))=i=1n(1)i1ai,1.

次の行列のCullis行列式を計算せよ.
(1)(123456)(2)(46912810)(3)(916372458263)

この解答中では,行列AのCullis行列式を|A|で表す.

  1. 計算例|123456|=1|46|3|26|+5|24|=1(46)3(26)+5(24)=2+1210=0.
  2. 計算例|46912810|=4|1210|9|610|+8|612|=4(1210)9(610)+8(612)=8+3648=4.
  3. 計算例|916372458263|=9|725863|3|165863|+4|167263|2|167258|=9(7|83|5|23|+6|28|)3(1|83|5|63|+6|68|)+4(1|23|7|63|+6|62|)2(1|28|7|68|+5|62|)=9(7(83)5(23)+6(28))3(1(83)5(63)+6(68))+4(1(23)7(63)+6(62))2(1(28)7(68)+5(62))=9(35+536)3(51512)+4(121+24)2(6+14+20)=943(22)+42228=36+66+856=54.
(cf. 矩形行列の行列式 p.147 系2.5.3 (i))

k,nk<nを満たす正の整数とし,1を並べた列ベクトルを1~n:=(1)n×1Mn,1(C)とする.
このとき,AMn,k(C)に対して次式が成り立つことを示せ.
detn,k+1((A,1~n))={0(n,k の偶奇が一致している場合),detn,k(A)(n,k の偶奇が異なる場合).

解答例

kに関する帰納法で示す.k=1のときは
detn,2((A,1~n))=i=1n(1)i1ai,1detn1,1(1~n1)=detn,1(A)detn1,1(1~n1)={0(n が奇数の場合),detn,1(A)(n が偶数の場合).
k2のときは,帰納法の仮定より
detn,k+1((A,1~n))=i=1n(1)i1ai,1detn1,k((A^i,11~n1))={0(n1,k1 の偶奇が一致している場合),i=1n(1)i1ai,1detn1,k1(A^i,1)(n1,k1 の偶奇が異なる場合)={0(n,k の偶奇が一致している場合),detn,k(A)(n,k の偶奇が異なる場合).

Cullis行列式の多重線形性と交代性

Cullis行列式detn,kは,正方行列の行列式と同様に,列に関する多重線形性と交代性を満たす.

多重線形性 (cf. 矩形行列の行列式 p.63 定理1.4.11 (i), (ii))

1knのとき,detn,kは列に関して多重線形性を満たす.

nに関する帰納法で示す.n=1のときは
det1,1((a1,1+λb1))=ai,1+λbi=det1,1((a1,1))+λdet1,1((b1)).
n2のとき,第j[k]列に関する線形性を示す.j=1の場合は
detn,k((a1,1+λb1a1,2a1,kan,1+λbnan,2an,k))=i=1n(1)i1(ai,1+λbi)detn1,k1((a1,2a1,kai1,2ai1,kai+1,2ai+1,kan,2an,k))=i=1n(1)i1ai,1detn1,k1((a1,2a1,kai1,2ai1,kai+1,2ai+1,kan,2an,k))+λi=1n(1)i1bidetn1,k1((a1,2a1,kai1,2ai1,kai+1,2ai+1,kan,2an,k))=detn,k((a1,1a1,2a1,kan,1an,2an,k))+λdetn,k((b1a1,2a1,kbnan,2an,k)).
j2の場合は,帰納法の仮定よりdetn1,k1が多重線形性をもつことから
detn,k((a1,1a1,2a1,j+λb1a1,kan,1an,2an,j+λbnan,k))=i=1n(1)i1ai,1detn1,k1((a1,2a1,j+λb1a1,kai1,2ai1,j+λbi1ai1,kai+1,2ai+1,j+λbi+1ai+1,kan,2an,j+λbnan,k))=i=1n(1)i1ai,1(detn1,k1((a1,2a1,ja1,kai1,2ai1,jai1,kai+1,2ai+1,jai+1,kan,2an,jan,k))+λdetn1,k1((a1,2b1a1,kai1,2bi1ai1,kai+1,2bi+1ai+1,kan,2bnan,k)))=i=1n(1)i1ai,1detn1,k1((a1,2a1,ja1,kai1,2ai1,jai1,kai+1,2ai+1,jai+1,kan,2an,jan,k))+λi=1n(1)i1ai,1detn1,k1((a1,2b1a1,kai1,2bi1ai1,kai+1,2bi+1ai+1,kan,2bnan,k))=detn,k((a1,1a1,2a1,ja1,kan,1an,2an,jan,k))+λdetn,k((a1,1a1,2b1a1,kan,1an,2bnan,k)).

交代性 (cf. 矩形行列の行列式 p.63 定理1.4.11 (iii))

1knのとき,detn,kは列に関して交代性を満たす.

nに関する帰納法で示す.n2のときは自明.
n3のとき,第j列と第m(j<m)を入れ替えることを考えると,j>1であれば
detn,k((a1,1a1,2a1,ma1,ja1,kan,1an,2an,man,jan,k))=i=1n(1)i1ai,1detn1,k1((a1,2a1,ma1,ja1,kai1,2ai1,mai1,jai1,kai+1,2ai+1,mai+1,jai+1,kan,2an,man,jan,k))=i=1n(1)i1ai,1detn1,k1((a1,2a1,ja1,ma1,kai1,2ai1,jai1,mai1,kai+1,2ai+1,jai+1,mai+1,kan,2an,jan,man,k))=detn,k((a1,1a1,2a1,ja1,ma1,kan,1an,2an,jan,man,k)).
j=1であれば
detn,k((a1,ma1,2a1,1a1,kan,man,2an,1an,k))=i=1n(1)i1ai,mdetn1,k1((a1,2a1,1a1,kai1,2ai1,1ai1,kai+1,2ai+1,1ai+1,kan,2an,1an,k))=i=1n(1)i1ai,m(1)m2detn1,k1((a1,1a1,2a1,m1a1,m+1a1,kai1,1ai1,2ai1,m1ai1,m+1ai1,kai+1,1ai+1,2ai+1,m1ai+1,m+1ai+1,kan,1an,2an,m1an,m+1an,k))=i=1n(1)i1ai,m(1)m2(p=1i1(1)p1ap,1detn2,k2((a1,2a1,m1a1,m+1a1,kap1,2ap1,m1ap1,m+1ap1,kap+1,2ap+1,m1ap+1,m+1ap+1,kai1,2ai1,m1ai1,m+1ai1,kai+1,2ai+1,m1ai+1,m+1ai+1,kan,2an,m1an,m+1an,k))+p=i+1n(1)p2ap,1detn2,k2((a1,2a1,m1a1,m+1a1,kai1,2ai1,m1ai1,m+1ai1,kai+1,2ai+1,m1ai+1,m+1ai+1,kap1,2ap1,m1ap1,m+1ap1,kap+1,2ap+1,m1ap+1,m+1ap+1,kan,2an,m1an,m+1an,k)))=p=1n(1)pap,1(1)m2(i=p+1n(1)i2ai,mdetn2,k2((a1,2a1,m1a1,m+1a1,kap1,2ap1,m1ap1,m+1ap1,kap+1,2ap+1,m1ap+1,m+1ap+1,kai1,2ai1,m1ai1,m+1ai1,kai+1,2ai+1,m1ai+1,m+1ai+1,kan,2an,m1an,m+1an,k))+i=1p1(1)i1(1)2ai,mdetn2,k2((a1,2a1,m1a1,m+1a1,kai1,2ai1,m1ai1,m+1ai1,kai+1,2ai+1,m1ai+1,m+1ai+1,kap1,2ap1,m1ap1,m+1ap1,kap+1,2ap+1,m1ap+1,m+1ap+1,kan,2an,m1an,m+1an,k)))=p=1n(1)p1ap,1(1)m2detn1,k1((a1,ma1,2a1,m1a1,m+1a1,kap1,map1,2ap1,m1ap1,m+1ap1,kap+1,map+1,2ap+1,m1ap+1,m+1ap+1,kan,man,2an,m1an,m+1an,k))=p=1n(1)p1ap,1detn1,k1((a1,2a1,ma1,kap1,2ap1,map1,kap+1,2ap+1,map+1,kan,2an,man,k))=detn,k((a1,1a1,2a1,ma1,kan,1an,2an,man,k)).
ただし,途中で次の式変形を用いた:
i=1np=1i1=1p<in=p=1ni=p+1n,i=1np=i+1n=1i<pn=p=1ni=1p1.

任意の列に関する余因子展開 (cf. 矩形行列の行列式 p.146 系2.5.2 (i))

A=(ai,j)n×kMn,k(C)j0[k]に対して,
detn,k(A)=i=1n(1)ij0ai,j0detn1,k1(A^i,j0)
が成り立つことを示せ.ここで,A^i,j0Aの第i行と第j0列を取り除いて得られる(n1)×(k1)行列とした.

解答例

Aの第j列をajCnとしてAj0:=(aj0,a1,,aj01,aj0+1,,ak)とおくと
detn,k(Aj0)=i=1n(1)i1ai,j0detn1,k1(A^i,j0).
これと交代性detn,k(Aj0)=(1)j01detn,k(A)より所望の等式を得る.

多重線形性と交代性について

前節で,Cullis行列式detn,kが多重線形性と交代性を満たすことを示した.
ここで一旦,多重線形性と交代性から導かれる性質をいくつか見てみる.

(cf. 矩形行列の行列式 p.65 定義1.4.14 (i))

n,kを正の整数とする.

  • Sn,k:={σσ は [k] から [n] への単射}.
  • Sn,k:={σSn,kσ(1)<<σ(k)}.
  • σSn,kに対して,σSn,kを次式で定める:
    σ(i):=(σ(1),,σ(k) のうち小さい方から i 番目の数).
  • S3,2={(12123),(12123),(12123),(21123),(21123),(21123)}.
  • S3,2={(12123),(12123),(12123)}.
  • (2431123456)=(1234123456).
  • #Sn,k=nPk#Sn,k=nCkが成り立つ.
  • k=nの場合,Sn,nn次対称群であり,Sn,nは恒等置換id[n]からなる1元集合である.
  • k>nの場合,Sn,k=である.
有限列の転倒数 (cf. 矩形行列の行列式 p.117 註6)

Xを全順序集合とし,a:[k]Xを長さkの有限列とする.
このとき,a転倒数(a)
(a):=#{(i,j)[k]2i<j かつ a(i)>a(j)}
と定める.

kを正の整数,Xを全順序集合とし,σ:[k][k]τ:[k]Xを単射とする.
このとき,(1)(τσ)=(1)(τ)(1)(σ)が成り立つことを示せ.

解答例

σ,τの単射性より,:={(i,j)[k]2i<j}は次の4つの集合の非交和で表せる:
1:={(i,j)σ(i)<σ(j) かつ τ(σ(i))<τ(σ(j))},2:={(i,j)σ(i)<σ(j) かつ τ(σ(i))>τ(σ(j))},3:={(i,j)σ(i)>σ(j) かつ τ(σ(i))<τ(σ(j))},4:={(i,j)σ(i)>σ(j) かつ τ(σ(i))>τ(σ(j))}.
このとき,まず
(σ)=#{(i,j)σ(i)>σ(j)}=#(34)=#3+#4,(τσ)=#{(i,j)τ(σ(i))>τ(σ(j))}=#(24)=#2+#4
である.さらに,σは全単射だから
(τ)=#{(i,j)τ(i)>τ(j)}=#{(i,j)[k]2σ(i)<σ(j) かつ τ(σ(i))>τ(σ(j))}=#{(i,j)σ(i)<σ(j) かつ τ(σ(i))>τ(σ(j))}+#{(j,i)σ(i)<σ(j) かつ τ(σ(i))>τ(σ(j))}=#2+#3
となる.したがって(τσ)+2#3=(τ)+(σ)より所望の等式を得る.

一般に,多重線形性と交代性を満たす写像については次のことが成り立つ.

n,kを正の整数とし,Cnの標準基底をe1,,enとする.
写像d:(Cn)kCが多重線形性と交代性を満たすとき,任意のn×k行列A=(ai,j)n×kに対して
d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,ka2,kan,k))=σSn,k(1)(σ)d(eσ(1),eσ(2),,eσ(k))j=1kaσ(j),j
が成り立つ.

まず多重線形性から
d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,ka2,kan,k))=i1=1nai1,1d(ei1,(a1,2a2,2an,2),,(a1,ka2,kan,k))==i1=1ni2=1nik=1nai1,1ai2,2aik,kd(ei1,ei2,,eik)=σ:[k][n]aσ(1),1aσ(2),2aσ(k),kd(eσ(1),eσ(2),,eσ(k))
である.この最後の和について,σが単射でないときは交代性からd(eσ(1),eσ(2),,eσ(k))=0となるので,単射なσに関する項だけが残り,さらに交代性から
d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,ka2,kan,k))=σSn,kaσ(1),1aσ(2),2aσ(k),kd(eσ(1),eσ(2),,eσ(k))=σSn,kaσ(1),1aσ(2),2aσ(k),k(1)(σ)d(eσ(1),eσ(2),,eσ(k))
となる.

n,kを正の整数とし,Cnの標準基底をe1,,enとする.
与えられた写像f:Sn,kCに対して
d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,ka2,kan,k)):=σSn,k(1)(σ)f(σ)j=1kaσ(j),j(A=(ai,j)n×kMn,k(C))
で写像d:(Cn)kCを定めたとき,この写像dは多重線形性と交代性を満たすことを示せ.

解答例

多重線形性:j[k]b1,,bn,λCに対して
d((a1,1a2,1an,1),,(a1,j1a2,j1an,j1),(a1,ja2,jan,j)+λ(b1b2bn),(a1,j+1a2,j+1an,j+1),,(a1,ka2,kan,k))=σSn,k(1)(σ)f(σ)aσ(1),1aσ(j1),j1(aσ(j),j+λbσ(j))aσ(j+1),j+1aσ(k),k=σSn,k(1)(σ)f(σ)aσ(1),1aσ(j1),j1aσ(j),jaσ(j+1),j+1aσ(k),k+λσSn,k(1)(σ)f(σ)aσ(1),1aσ(j1),j1bσ(j)aσ(j+1),j+1aσ(k),k=d((a1,1a2,1an,1),,(a1,j1a2,j1an,j1),(a1,ja2,jan,j),(a1,j+1a2,j+1an,j+1),,(a1,ka2,kan,k))+λd((a1,1a2,1an,1),,(a1,j1a2,j1an,j1),(b1b2bn),(a1,j+1a2,j+1an,j+1),,(a1,ka2,kan,k)).
交代性:任意の互換τSk,kに対して
d((a1,τ(1)a2,τ(1)an,τ(1)),(a1,τ(2)a2,τ(2)an,τ(2)),,(a1,τ(k)a2,τ(k)an,τ(k)))=σSn,k(1)(σ)f(σ)j=1kaσ(j),τ(j)=σSn,k(1)(στ)f(στ)j=1kaσ(τ(j)),τ(j)=σSn,k(1)(σ)f(σ)j=1kaσ(j),j=d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,ka2,kan,k)).

よって,多重線形性と交代性を満たす写像d:(Cn)kCは,各σSn,kに対するd(eσ(1),eσ(2),,eσ(k))の値だけで決まる
(なおk>nの場合(=縦長でない場合)はSn,k=よりd=0となる.)

特にk=nの場合,これはよく知られた行列式の特徴づけとなっている.

正方行列の行列式の特徴づけ (cf. 矩形行列の行列式 p.45 定理1.3.9)

nを正の整数とし,Cnの標準基底をe1,,enとする.
写像d:(Cn)nCが多重線形性と交代性を満たすとき,任意のn×n行列A=(ai,j)n×nに対して
d((a1,1a2,1an,1),(a1,2a2,2an,2),,(a1,na2,nan,n))=d(e1,e2,,en)σSn,n(1)(σ)i=1naσ(i),idetn,n(A)
が成り立つ.

この命題から,次のことが成り立つ.

n,kを正の整数とする.
写像d:Mn,k(C)Cが列に関する多重線形性と交代性を満たすとき,任意のn×k行列AMn,k(C)と任意のk×k行列BMk,k(C)に対して
d(AB)=d(A)detk,k(B)
が成り立つことを示せ.

解答例

AMn,k(C)に対して,写像dA:(Ck)kC
dA(b1,,bk):=d((Ab1,,Abk))(b1,,bkCk)
で定めると,このdAは多重線形性と交代性を満たす.よって任意のB=(b1,,bk)Mk,k(C)に対して
dA(b1,,bk)=dA(e1,,ek)detk,k(B),
つまりd(AB)=d(A)detk,k(B)が成り立つ.(ここで,e1,,ekCkの標準基底とした.)

これをCullis行列式detn,kに適用すると,次の命題を得る.

Cullis行列式の右乗法性 (cf. 矩形行列の行列式 p.157 系2.6.2)

1knのとき,AMn,k(C)BMk,k(C)に対して
detn,k(AB)=detn,k(A)detk,k(B)
が成り立つ.

AMn,n(C)BMn,k(C)に対して,
detn,k(AB)=detn,n(A)detn,k(B)
は成り立たないことがある.実際,たとえば
det3,2((110111011)(123456))=det3,2((46912810))=4

det3,3((110111011))det3,2((123456))=(1)0=0
は等しくない.

2次正方行列の積み上げ (矩形行列の行列式 p.283 定理4.3.5 の特別な場合)

縦長行列AMn,k(C)と正の整数mに対して,Aを縦にm個重ねて得られるmn×k行列をAmと書くことにする.たとえば
(1001)2=(10011001),(1234)3=(123412341234)
である.A2次正方行列のとき,det2m,2(Am)=mdet2,2(A)が成り立つことを示せ.

解答例

すべての成分が1である2m×1行列を1~2mと書くと,Cullis行列式の列に関する多重線形性・右乗法性と問題2より
det2m,2(Am)=det2m,2((1001)mA)=det2m,2((1001)m)det2,2(A)=det2m,2((1101)m)det2,2(A)=det2m,2(((10)m,1~2m))det2,2(A)=det2m,1((10)m)det2,2(A)=((10)+(10)++(10)m terms)det2,2(A)=mdet2,2(A).

Cullis行列式の別定義

Cullis行列式の明示公式と特徴づけ

Cullis行列式detn,kは,列に関する多重線形性と交代性に加えて,各σSn,kに対するdetn,k((eσ(1),eσ(2),,eσ(k)))の値で特徴づけられるのだった.
そこで,detn,k((eσ(1),eσ(2),,eσ(k)))を計算してみよう.

表記の都合上,Cnの標準基底をe1n,e2n,,ennと表す.
σ(1)<σ(2)<<σ(k)に注意して繰り返し余因子展開すると
detn,k((eσ(1)n,eσ(2)n,,eσ(k)n))=(1)σ(1)1detn1,k1((eσ(2)1n1,,eσ(k)1n1))=(1)σ(1)1(1)σ(2)2detn2,k2((eσ(3)2n2,,eσ(k)2n2))==(1)σ(1)1(1)σ(2)2(1)σ(k1)(k1)detn(k1),1((eσ(k)(k1)n(k1)))=(1)σ(1)1(1)σ(2)2(1)σ(k1)(k1)(1)σ(k)k=(1){σ(1),,σ(k)}{1,,k}
となる.そこで,次の定義をする.

Cullis符号 (cf. 矩形行列の行列式 p.51 定義1.3.14, p.65 定義1.4.14)

Nの有限部分集合cに対して,cCullis符号Cul-sgn(c)
Cul-sgn(c):=(1)c[#c]
で定義する.また,これを用いて写像sgnn,k:Sn,k{±1}
sgnn,k(σ):=(1)(σ)Cul-sgn({σ(1),,σ(k)})
で定義する.(特にk=nのときはsgnn,n(σ)=(1)(σ)であり,通常の置換の符号と一致する.)

  • Cul-sgn([n])=(1)n(n+1)2n(n+1)2=1.
  • Cul-sgn({1,2,4,6})=(1)(1+2+4+6)(1+2+3+4)=(1)3=1.

このとき,Cullis行列式は
detn,k(A)=σSn,ksgnn,k(σ)j=1kaσ(j),j=σSn,k(1)(σ)Cul-sgn({σ(1),,σ(k)})j=1kaσ(j),j
と表せる.また,正方行列のときと同様に次の特徴づけができる.

Cullis行列式の特徴づけ

1knのとき,次の3条件を満たす写像d:Mn,k(C)CはCullis行列式detn,kに一致する.

  • dは列に関して多重線形性をもつ.
  • dは列に関して交代性をもつ.
  • 任意のσSn,kに対して,d((eσ(1),eσ(2),,eσ(k)))=Cul-sgn({σ(1),σ(2),,σ(k)})である.

交代性から,3つ目の条件は「任意のσSn,kに対して,d((eσ(1),eσ(2),,eσ(k)))=sgnn,k(σ)である.」で置き換えてもよい.

2つの定義の同値性

前節の特徴づけをCullis行列式の定義にしてもよい.

Cullis行列式の別定義 (cf. 矩形行列の行列式 p.120 定義2.3.2, p.123 命題2.3.6)

1knに対して,次の3条件を満たす一意的な写像detn,k:Mn,k(C)CCullis行列式という.

  • detn,kは列に関して多重線形性をもつ.
  • detn,kは列に関して交代性をもつ.
  • 任意のσSn,kに対して,detn,k((eσ(1),eσ(2),,eσ(k)))=Cul-sgn({σ(1),σ(2),,σ(k)})である.

つまり,各A=(ai,j)n×kに対してdetn,k(A)は次式で表せる:
detn,k(A)=σSn,ksgnn,k(σ)j=1kaσ(j),j.

この節では余因子展開による定義を忘れて,上の別定義からdetn,kの余因子展開を導出する.
計算のため,A^i,jの成分の定義を明確にしておく.

n×k行列A=(ai,j)(i0,j0)[n]×[k]に対して,(Aから第i0行と第j0列を取り除いて得られる)(n1)×(k1)行列A^i0,j0=(a^i0,j0,i,j)を次式で定める:
a^i0,j0,i,j:={ai,j(i<i0 かつ j<j0 の場合),ai+1,j(ii0 かつ j<j0 の場合),ai,j+1(i<i0 かつ jj0 の場合),ai+1,j+1(ii0 かつ jj0 の場合).

σSn,kに対して,写像σ^:[k1][n1]
σ^(j):={σ(j+1)(σ(j+1)<σ(1) の場合),σ(j+1)1(σ(j+1)>σ(1) の場合)
で定めると,次のことが成り立つ.

  1. i,j[k1]について,σ^(i)<σ^(j)σ(i+1)<σ(j+1)は同値である.
  2. σ^Sn1,k1.
  3. 転倒数の差(σ)(σ^)は,σ(j+1)<σ(1)を満たすj[k1]の個数に等しい.
  4. sgnn1,k1(σ^)=(1)σ(1)1sgnn,k(σ).

  1. σ^(i)<σ^(j)かつσ(i+1)σ(j+1)を満たすi,j[k1]がもしあれば,σ^(i)<σ^(j)よりijであることに注意すれば
    σ^(i)<σ^(j)σ(j+1)<σ(i+1)σ^(i)+1
    となり矛盾するので,σ^(i)<σ^(j)ならばσ(i+1)<σ(j+1)である.
    逆にσ(i+1)<σ(j+1)かつσ^(i)σ^(j)を満たすi,j[k1]がもしあれば
    σ(i+1)<σ(j+1)σ^(j)+1σ^(i)+1σ(i+1)+1
    となるから,上のすべてで等号成立しなければならない.するとσ(j+1)=σ^(j)+1σ^(i)=σ(i+1)よりσ(i+1)<σ(1)<σ(j+1)=σ(i+1)+1を得て矛盾するので,σ(i+1)<σ(j+1)ならばσ^(i)<σ^(j)でもある.
  2. i,j[k1]σ^(i)=σ^(j)を満たすとき,(1)よりσ(i+1)=σ(j+1)だから,σの単射性よりi=jとなる.よってσ^も単射である.
  3. (σ)=#{(i,j)[k]21<i<j かつ σ(i)>σ(j)}+#{j[k]1<j かつ σ(1)>σ(j)}=#{(i,j)[k1]2i<j かつ σ(i+1)>σ(j+1)}+#{j[k1]σ(1)>σ(j+1)}=#{(i,j)[k1]2i<j かつ σ^(i)>σ^(j)}+#{j[k1]σ(1)>σ(j+1)}=(σ^)+#{j[k1]σ(1)>σ(j+1)}.
  4. σ^の定義と(3)より
    j=1k1σ^(j)=j=1k1σ(j+1)((k1)((σ)(σ^)))=j=1kσ(j)σ(1)k+1+(σ)(σ^)
    が成り立つから
    j=1k1σ^(j)k(k1)2+(σ^)=(j=1kσ(j)k(k+1)2)σ(1)+1+(σ)
    より
    (1)(σ^)Cul-sgn({σ^(1),,σ^(k1)})=(1)σ(1)+1(1)(σ)Cul-sgn({σ(1),,σ(k)})
    を得る.

A=(ai,j)n×kMn,k(C)σSn,kに対して
j=2kaσ(j),j=j=1k1a^σ(1),1,σ^(j),j.

σ(j+1)<σ(1)かどうかで積を分けると
j=2kaσ(j),j=(j=1σ(j+1)<σ(1)k1aσ(j+1),j+1)(j=1σ(j+1)>σ(1)k1aσ(j+1),j+1)=(j=1σ^(j)<σ(1)k1aσ^(j),j+1)(j=1σ^(j)σ(1)k1aσ^(j)+1,j+1)=(j=1σ^(j)<σ(1)k1a^σ(1),1,σ^(j),j)(j=1σ^(j)σ(1)k1a^σ(1),1,σ^(j),j)=j=1k1a^σ(1),1,σ^(j),j.

i[n]に対して,{σSn,kσ(1)=i}σσ^Sn1,k1は全単射である.

次の写像Sn1,k1ττˇ{σSn,kσ(1)=i}が逆写像になる:
τˇ(j):={i(j=1 の場合),τ(j1)(j2 かつ τ(j1)<i の場合),τ(j1)+1(j2 かつ τ(j1)i の場合).

1列に関する余因子展開

AMn,k(C)に対して
detn,k(A)=i=1n(1)i+1ai,1detn1,k1(A^i,1).

detn,k(A)=σSn,ksgnn,k(σ)j=1kaσ(j),j=i=1nσSn,kσ(1)=i(1)σ(1)+1sgnn1,k1(σ^)aσ(1),1j=1k1a^σ(1),1,σ^(j),j=i=1n(1)i1ai,1σ^Sn1,k1sgnn1,k1(σ^)j=1k1a^i,1,σ^(j),j=i=1n(1)i1ai,1detn1,k1(A^i,1).

補小行列式展開

余因子展開は,1つの列を選んで,行列式の計算をより小さいサイズの行列式計算へ帰着する手法であった.
これを一般化した,2つ以上の列を選ぶ展開式を紹介する.

(cf. 矩形行列の行列式 p.51 定義1.3.14)

集合SmNに対して,Sm元部分集合全体の集合をCmSとする.

Sが有限集合のとき,#CmS=#SCmが成り立つ.

補行列

1mknAMn,k(C)とし,ICm[n]JCm[k]の元を小さい順にそれぞれi1,,imIj1,,jmJとする.

  • Aから第i1,,im行と第j1,,jm列を取り出して得られるm×m行列をAI,Jとする.
    AI,J:=(ai1,j1ai1,j2ai1,jmai2,j1ai2,j2ai2,jmaim,j1aim,j2aim,jm)
  • Aから第i1,,im行と第j1,,jm列をすべて取り除いて得られる(nm)×(km)行列をA^I,J:=A[n]I,[k]Jとする.(このA^I,Jを,AI,J補行列という.)

A=(1112131415212223242531323334354142434445515253545561626364657172737475),I={1,4,6},J={2,3,5}
のとき,
AI,J=(121315424345626365),A^I,J=(2124313451547174)
である.

1mnに対して,集合X
X:={(I,x)ICm1[n] かつ x[n]I}
で定め,写像f:XCを考える.このとき
ICm1[n]i[n]If(I,i)=ICm[n]iIf(I{i},i)
が成り立つ.


集合Yと写像σ:XY
Y:={(I,y)ICm[n] かつ yI}σ(I,x):=(I{x},x)
で定めると,Y(I,y)(I{y},y)Xσの逆写像となるからσは全単射であり
ICm1[n]i[n]If(I,i)=(I,i)Xf(I,i)=(I,i)Yf(σ1(I,i))=ICm[n]iIf(I{i},i).
補小行列式展開 (cf. 矩形行列の行列式 p.145 定理2.5.1)

1mknのとき,AMn,k(C)JCm[k]に対して
detn,k(A)=ICm[n](1)IJdetm,m(AI,J)detnm,km(A^I,J).
m=1のときは通常の余因子展開に一致する.)

mに関する帰納法で示す.m=1のときは既に示した.
m2のとき,Jの元を小さい順にj1,,jmとし,J:=J{jm}とおくと,帰納法の仮定と各ICm1[n]に対する小行列式detnm+1,km+1(A^I,J)の(Aの第jm列だった列に関する)余因子展開より
detn,k(A)=ICm1[n](1)IJdetm1,m1(AI,J)detnm+1,km+1(A^I,J)=ICm1[n](1)IJdetm1,m1(AI,J)i[n]I(1)i#{xIx<i}jm+(m1)ai,jmdetnm,km(A^I{i},J)=ICm1[n]i[n]I(1)I{i}J(1)#{xI{i}x<i}+m1ai,jmdetm1,m1(AI,J)detnm,km(A^I{i},J)=ICm[n]iI(1)IJ(1)#{xIx<i}+m1ai,jmdetm1,m1(AI{i},J)detnm,km(A^I,J)=ICm[n](1)IJdetm,m(AI,J)detnm,km(A^I,J).

(m,k,n)=(2,3,4)の場合の一例

A=(a1,1a1,2a1,3a2,1a2,2a2,3a3,1a3,2a3,3a4,1a4,2a4,3),J={1,2}C2[3]
に対する補小行列式展開は
det3,4(A)=|a1,1a1,2a2,1a2,2||a3,3a4,3||a1,1a1,2a3,1a3,2||a2,3a4,3|+|a1,1a1,2a4,1a4,2||a2,3a3,3|+|a2,1a2,2a3,1a3,2||a1,3a4,3||a2,1a2,2a4,1a4,2||a1,3a3,3|+|a3,1a3,2a4,1a4,2||a1,3a2,3|.
ただし,行列BのCullis行列式を|B|で表した.

Cullis行列式の実装例 (Java)

以下のソースコードを paiza.IO 等にコピペすれば,いろいろな行列のCullis行列式を計算させることができると思います.
※筆者はプログラミング初心者です.ソースコードが見苦しかったり不備があったりするかもしれませんがご了承ください.

      import java.util.*;
public class Main {
    public static void main(String[] args) {
        int[][] A = {
            {9,1,6},
            {3,7,2},
            {4,5,8},
            {2,6,3},
        };
        System.out.println(det(A)); // 54
    }
    public static int det(int[][] matrix){
        int n = matrix.length;
        if(n==0)return 1;
        int k = matrix[0].length;
        if(n<k)throw new RuntimeException();
        if(k==0)return 1;
        int result = 0;
        for(int i0=0; i0<n; i0++){// 第1列に関して余因子展開
            int[][] submatrix = new int[n-1][k-1];
            for(int i=0; i<n-1; i++){
                submatrix[i] = Arrays.copyOfRange(matrix[i+((i<i0)?0:1)],1,k);
            }
            result += (i0%2==0?1:-1) * matrix[i0][0] * det(submatrix);
        }
        return result;
    }
}
    

誤りや改善点がありましたら,ご指摘いただけると嬉しいです.
また,Cullis行列式に興味を持った方はぜひ『矩形行列の行列式』を読んでみてください.
ここまでお読みいただき,ありがとうございました.

参考文献

投稿日:2024331
更新日:112
OptHub AI Competition

この記事を高評価した人

高評価したユーザはいません

この記事に送られたバッジ

バッジはありません。
バッチを贈って投稿者を応援しよう

バッチを贈ると投稿者に現金やAmazonのギフトカードが還元されます。

投稿者

コメント

他の人のコメント

コメントはありません。
読み込み中...
読み込み中
  1. 記号と導入
  2. Cullis行列式
  3. Cullis行列式の定義
  4. Cullis行列式の多重線形性と交代性
  5. 多重線形性と交代性について
  6. Cullis行列式の別定義
  7. Cullis行列式の明示公式と特徴づけ
  8. 2つの定義の同値性
  9. 補小行列式展開
  10. Cullis行列式の実装例 (Java)
  11. 参考文献