小行列式 minor と Flag minor

  • nxn正方行列から、m x m (m \le n)正方行列はたくさん作れる
  • 抜き出す行と列とを同じにすれば、2^n個 (0x0行列、nxn行列も含めて)作れるが
  • 抜き出す行と列とを違えれば、もっと多くなる
  • そんなすべての本当にすべての正方行列の行列式がすべて正になるような行列をTotal positiveと言う(非負になるときは、Total non-negative)
  • ちょっと数が多すぎるが、その数を制約するやりかたに、Flag minorと言う取り出し方がある
  • これは、n行から、m行を取り出す。この取り出し方は、 _nC_m通り
  • 列の取り出し方は、左詰めで、第1列から第m列にする
  • このような取り出し方で取り出される部分正方行列の行列式をFlag minorと呼ぶ
  • このFlag minorには、次のような関係がある
  • 行列の行の順を考慮して、b_1 < a < b_2なる関係にあるような、順序番号 b_1,a,b_2があるとする
  • それ以外の順番は増えてもよいものとして、それらを、S=(s_1,s_2,...)とすると
  • T_1 : (S,a), T_2 : (S,b)のペアと、U_1 : (S,b[1),U_2:(S,a)のペアと、V_1 : (S,b_2),V_2 : (S,a)のペアとを考えた時
  • det(T_1) \times det(T_2) = det(U_1) \times det(U_2) + det(V_1) \times det(V_2)という関係がある
    • ただし、det(T_1),...はいずれも、Flag minor
  • この関係があるので、Flag minorの値の間には相互関係がある
  • この相互関係をたどると、すべてのFlag minorが正であることを確認するためには、限定されたFlag minorが正であることを確認すれば事足りることが解る
  • 実際、Flag minorの数は2^n-2あるが、符号を確かめるべきFlag minorの数は\frac{(n-1)(n+2)}{2}であることが知られている
  • さらに、2(n-1)個のある取り方をしたFlag minorを固定すると、残りの確認すべきFlag minorの数は\frac{(n-1)(n-2)}{2}と知られており、この\frac{(n-1)(n-2)}{2}個のFlag minorsの団同士に団代数的構造が入っていることが知られている
  • こちらを参照
  • 具体的には、確かめればよい、Flag minorのセットには次のようなものがある
    • \Delta_1,\Delta_{1,2},...,\Delta_{1,2,...,(n-1)}\Delta_{n},\Delta_{n,n-1},...,\Delta_{n,n-1,....,2}。これが固定分で、全部で2(n-1)個
    • 入れ替え可能だが、とりあえず固定する例として、\Delta_2,\Delta_3,...,\Delta_{n-1},\Delta_{2,3},\Delta_{3,4},\Delta_{4,5},...,\Delta_{n-2,n-1},\Delta_{2,3,4},...,\Delta_{n-3,n-2,n-1},....\Delta_{2,3,4,...,n-1}
    • この個数は、n-2+n-3+n-4+...+1 = \frac{(n-1)(n-2)}{2}
  • Flag minorのPtolemy 的関係の実験が以下のRコード
n <- 8
M <- matrix(rnorm(n^2),n,n)

a <- 5
b <- c(3,6)

commons <- c(2,4,7)

t1 <- sort(c(commons,b))
t2 <- sort(c(commons,a))

u1 <- sort(c(commons,b[1]))
u2 <- sort(c(commons,b[1],a))

v1 <- sort(c(commons,b[2]))
v2 <- sort(c(commons,b[2],a))

det(M[t1,1:length(t1)]) * det(M[t2,1:length(t2)])

det(M[u1,1:length(u1)]) * det(M[v2,1:length(v2)]) + det(M[u2,1:length(u2)]) * det(M[v1,1:length(v1)])