[問題] 次の正方行列 A の行列式 ∣A∣ を計算せよ(出典:末尾).
A=a2−1abacadabb2−1bcbdacbcc2−1cdadbdcdd2−1
この問題を解くのに,基本変形を使っていろいろ変形してみましたが,なかなか美しく解けませんでした.しかし,とてもスッキリした解答を4つ知ることができたので紹介したいと思います.本記事の動機は,解法1,2ですが,固有値などを用いない初等的な知識でたどり着ける(でも素敵な)解は,解法3,4を見てください(なお,基礎体としては面倒をさけて複素数とします).
解法1: 固有値シフトとランク1
行列式は固有値の積
前提として,「行列式は固有値の積」を使います.これは,すべての正方行列は正則行列 P によって三角化ができ,できた三角行列 Λ の対角成分に固有値が並びます.三角行列の行列式は対角成分の積なので,
∣A∣=∣PΛP−1∣=∣P∣∣Λ∣∣P−1∣= ∣Λ∣=λ1⋅λ2⋯λn
となることから,行列式は固有値の積が言えます.
固有値シフト
A+αI の固有値は A の固有値をすべて +α したものです.これを固有値シフトと言います.証明は A の固有値は ∣A−λI∣=0 の解なので,これを ∣(A+αI)−(α+λ)I∣=0 と変形すれば分かるでしょう.これを使うと,問題の A は次のように変形できます(この問題では u=v ですが,今後の一般的議論のために分けています).
u=v=abcdとして,A=uv⊤−I
よって, uv⊤ の固有値さえ分かれば A の固有値はそれらから −1 したものであり,それらの積が ∣A∣ だという訳です.
ランク1行列
「ランク1行列」とは,2つの n 次元非零ベクトル u, v を使って,uv⊤ と書くことができる行列で,各列は u の定数倍,各行は v の定数倍になっており,すなわちランクが1の行列です.この行列の固有ベクトルは簡単に求めることができます.
まず,v に垂直なベクトル x は,ランク1行列の固有値0に対応する固有ベクトルです.実際,
(uv⊤)x=u(v⊤x)=u0=0
n 次元なので,v に垂直なベクトルは線形独立に n−1 本あり,これらが固有ベクトルになります.
また,u 自身も固有ベクトルです.
(uv⊤)u=u(v⊤u)=αu,(ここで,α= v⊤uは内積でスカラー)
対応する固有値は,α=v⊤u です.
結局,ランク1行列 uv⊤ の固有値と固有ベクトルは,
ということになります.
uv⊤の固有値 uv⊤−Iの固有値 {0,0,…,0,α} {−1,−1,…,−1,α−1}
よって,
解法1の結論
α=a2+b2+c2+d2 より,
∣A∣=∣vu⊤−1∣=n−1=3個(−1)(−1)⋯(−1)(α−1)=1−a2−b2−c2−d2
解法2: ランク1 update
今度は,A のうち u⊤v (ランク1側)を I に対する摂動(補正:アプデート)として扱います.任意の正則行列 X に対して次の公式が成立します(行列式のランク1アップデート公式).
∣X+uv⊤∣= (1+v⊤X−1u)∣X∣
X が正則の場合にはこの性質が使えます(証明略).この問題では,X=I として,
∣I+uv⊤∣=1+v⊤u
もしくは,
∣I−uv⊤∣∣ uv⊤−I∣=1−v⊤u= (−1)n (1−v⊤u)
これを使えば,
∣A∣=∣uv⊤−I∣=(−1)n(1−v⊤u) =(−1)4(1−α)=1−a2−b2−c2−d2
解法3: 次元を一つ上げる
固有値などを用いずに,ガウスの消去法のみの計算で求める方法があります.この次元を1つ上げる発想は,知らないとなかなかできないでしょう.この方法で,上の式(*1)を証明してしまいます.
A↑=[Inv⊤u1]
という n+1 次の正方行列 A↑ を考えます.この行列を2通りに基本変形します.ブロック三角行列を目指し,その行列式が対角ブロックの行列式の積になることを使います.
∣A↑∣=Inv⊤u1=In0⊤u1−v⊤u=∣In∣(1−v⊤u)=1−v⊤u
∣A↑∣=Inv⊤u1=In−uv⊤v⊤01=∣In−uv⊤∣
これらが等しいことより,
∣In−uv⊤∣=1−v⊤u
で,式(2) に合流します.
解法4: 多重線形性でバラす
これが最も初等的かも知れません.ちなみに数学検定1級でよく出てくる解法でもあります.
W=uv⊤=[w1w2w3w4]
標準基底を,ei として,
∣A∣=a2−1abacadabb2−1bcbdacbcc2−1cdadbdcdd2−1=w1−e1w2−e2w3−e3 w4−e4
と書いてバラします.多項式 (w1−e1)(w2−e2)(w3−e3)(w4−e4) を展開するイメージです.場合の数をカウントすると 2×2×2×2=24=16 の項が現れます.一般には,2n 個の項となります.
∣A∣=w1w2w3w4 + w1w2w3−e4 + w1w2−e3w4 + w1w2−e3−e4 +w1−e2w3w4 + w1e2w3−e4 +w1−e2−e3w4 +w1−e2−e3−e4 +−e1w2w3w4 + −e1w2w3−e4 + −e1w2−e3w4 + −e1w2−e3−e4 +−e1−e2w3w4 + −e1−e2w3−e4 +−e1−e2−e3w4 +−e1−e2−e3−e4
この中で,wi は平行なので,二つ以上含めば0になって,残るのは,
∣A∣=w1−e2−e3−e4 +−e1w2−e3−e4+−e1−e2w3−e4 +−e1−e2−e3w4 +−e1−e2−e3−e4 =−a2−b2−c2−d2+1
16項のうち,ほとんどは列が平行であり 0 となって消えてしまい,5つの項(−a2,−b2,−c2,−d2,1)が残るというわけです.
出典
LINEグループ「線形代数について話そう」にて gomema さんが出した質問に対して,私と atahualpa さんが出した解答をまとめています.ありがとうございました.
残された課題
解法3で,次元を一つ上げて解く,という素敵な解法で解きました.これを直感的に理解したい,と思います.幾何的に「なるほど」と思える説明を求めています.例えば,行列式は各列が張る空間の体積なので, n=2 の問題のとき,3次元でどんな絵が描ける?そんなことです.どなたかよい案があったら教えてください.