Skip to content

Instantly share code, notes, and snippets.

@qnighy
Last active July 27, 2020 08:04
Show Gist options
  • Star 12 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save qnighy/8bab5da1b626156eb69ede1fc66bfd86 to your computer and use it in GitHub Desktop.
Save qnighy/8bab5da1b626156eb69ede1fc66bfd86 to your computer and use it in GitHub Desktop.
いろいろな標準形

Jordan標準形 (Jordan normal form)

K:代数閉体, V:有限次元のK-線形空間, f : V → V 線形写像のとき、Vの基底を上手く選ぶと表現行列がJordanブロックを対角線上に並べた行列になる。

この標準形はJordanブロックの順列を除いて一意である。

計算方法1: 固有方程式を解き固有値を得る。(A-λI)x=0となるxを探す。(A-λI)y=xとなるyを探す。これを止まるまで繰り返すことで基底の一部が得られる。別の固有ベクトルや別の固有値に対しても同様のことを行う。

有理標準形 (Frobenius normal form)

K:体, V:有限次元のK-線形空間, f : V → V 線形写像のとき、Vの基底を上手く選ぶと表現行列がコンパニオンブロックを対角線上に並べた行列になる。 特に、左上寄りのコンパニオンブロックの特性多項式を右下寄りのコンパニオンブロックで割り切れるように選ぶことができる。

この行列は一意である。

計算方法1: Jordan標準形がある場合、次の操作を行うで最初のコンパニオンブロックを得られる: 各固有値ごとに、その固有値に対応するJordanブロックのうち最大のものを選んでくる。それらの特性多項式の積に対応するコンパニオン行列を計算する。

計算方法2: ベクトルxを適当に取り、xの生成する安定部分空間(xの最小消去多項式)を計算する。Ay=xとなるyで安定部分空間に入っていないものがあればyについてやり直す。{x, Ax, ..., A^kx}を基底の一部として採用する。 (である程度うまくいく気がするけど未検証)

階数標準形 (rank normal form)

K:体, V, W:有限次元のK-線形空間, f : V → W 線形写像のとき、V, Wの基底を上手く選ぶと表現行列が diag(1, 1, ..., 1, 0, 0, ..., 0) になる。

このとき、出現する1の個数はrank(f)に一致するため、この行列は一意である。

計算方法: 行変形+列変形

縮約行階段形 (reduced row echelon form)

K:体, V, W:有限次元のK-線形空間, f : V → W 線形写像, Vの基底が所与のとき、Wの基底を上手く選ぶと表現行列が縮約行階段行列になる。つまり:

  • 全てのゼロ行は全ての非ゼロ行より下にある。
  • 下にある非ゼロ行ほど、その主係数(行内の非ゼロ要素のうち最も左側にあるもの)の位置が右寄りになる。
  • 全ての非ゼロ行の主係数は1で、主係数から見て真上方向にある要素は全て0である。

この行列は一意である。

計算方法: 行変形

Sylvester標準形? (Sylvester normal form?) (Sylvesterの慣性法則/Sylvester's law of inertia)

V:有限次元の複素線形空間, f : V → V* 対称双線型形式のとき、Vの基底を上手く選ぶと表現行列が diag(1, 1, ..., 1, -1, -1, ..., -1, 0, 0, ..., 0) になる。

このとき、出現する1と-1の数はfの符号であるため、この行列は一意である。

計算方法: ユニタリ対角化して対角成分の符号を見る

Schur標準形 (Schur normal form)

V:計量空間, f : V → V 線形写像のとき、Vの正規直交基底を上手く選ぶと表現行列が上三角行列になる。

特に、 f∘f* = f*∘f ⇔ Schur標準形が対角行列 (←正規行列の対角化)。この対角成分はfの固有値に対応するため、順列を除いて一意である。

さらに、

  • f=f* ⇔ 固有値が実数 (←エルミート行列の対角化)
  • f∘f*=id ⇔ 固有値の絶対値が1(←ユニタリー行列の対角化)

特異値標準形 (singular value normal form)

V, W:計量空間, f : V → W 線形写像のとき、V, Wの正規直交基底を上手く選ぶと表現行列が(非正方)対角行列になる。 特に、対角成分が非負実数で、左上から右下にかけて広義単調減少するように取れる。

対角成分はfの特異値に対応するため、この行列は一意である。

計算方法1: AA* か A*A のうち小さいほうを対角化して、大きいほうの正規直交基底はGram-Schmidtとかで補う

QR分解 (QR decomposition)

V, W:計量空間, f : V → W 線形写像, Vの正規直交基底が所与のとき、Wの正規直交基底を上手く選ぶと表現行列が(非正方)上三角行列になる。

計算方法: Gram-Schmidt, Householder, Givens掃き出し

単因子標準形 (Smith normal form)

R:可換PID, M, N:有限次元のR-自由加群, f : M → N 加群準同型のとき、M, Nの基底を上手く選ぶと表現行列が(非正方)対角行列になる。 特に、左上寄りの対角成分が左下寄りの対角成分を整除するように取ることができる。

この行列は対角成分の単数倍を除いて一意である。

エルミート標準形 (Hermite normal form)

R:可換PID, M, N:有限次元のR-自由加群, f : M → N 加群準同型, Mの基底が所与のとき、Nの基底を上手く選ぶと表現行列が階段様の行列になる。つまり:

  • 全てのゼロ行は全ての非ゼロ行より下にある。
  • 下にある非ゼロ行ほど、その主係数(行内の非ゼロ要素のうち最も左側にあるもの)の位置が右寄りになる。

特にR=Zのとき、縮約階段形のような行列を取ることができる。これは以下の追加の制約を課したものである:

  • 各非ゼロ行の主係数は正で、主係数aから見て真上方向にある要素は全て0以上a未満である。

この制約を満たす行列は一意である。

@kim-tom
Copy link

kim-tom commented Jul 14, 2019

Excellent!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment