- 締切済み
8×8行列ジョルダン標準形の問題
A= [0 -1 1 0 -1 1 -1 1] [1 -3 3 0 -4 0 -2 0] [-2 1 -3 0 1 -2 1 -2] [-1 4 -4 -1 7 0 4 0] [-3 1 -3 0 0 -3 1 -3] [-2 6 -5 0 9 -2 6 -1] [3 1 1 0 3 4 0 4] [3 -6 6 0 -9 2 -6 1] のジョルダンの標準形を求め ジョルダンの標準形に相似変換する行列をを求めよ 次の解答でいいですか? 書き方も含めて、間違いを指摘して下さい。 【解答】 固有多項式 det(A-λE)= =λ^8+8λ^7+28λ^6+56λ^5+70λ^4+56λ^3+28λ^2+8λ+1 =(λ+1)^8 (二項定理の係数になってたので因数分解できました) 固有値:λ=-1(8重根) 固有値-1に対して、B=A+Eと書く。 最初にrank(B)を求める。 B= [1 -1 1 0 -1 1 -1 1] [1 -2 3 0 -4 0 -2 0] [-2 1 -2 0 1 -2 1 -2] [-1 4 -4 0 7 0 4 0] [-3 1 -3 0 1 -3 1 -3] [-2 6 -5 0 9 -1 6 -1] [3 1 1 0 3 4 1 4] [3 -6 6 0 -9 2 -6 2] ⇩(ガウスの消去法) [1 0 0 0 1 0 0 0] [0 1 0 0 1 0 1 0] [0 0 1 0 -1 0 0 0] [0 0 0 0 0 1 0 1] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] よって、rank(B)=4 ジョルダン細胞数の数は固有空間の次元に等しいので、 dim(Ker(B))=8-rank(B)=4個 次にジョルダン細胞の次数を求める。 (m+1)次以上のジョルダン細胞の数は、 rank(A-λE)^m-rank(A-λE)^(m+1) で与えられるから、 rank(B)-rank(B^2)の値が2以上のジョルダン細胞の数を与えるから、B^2を計算。 B^2= [-1 0 -1 0 0 -1 0 -1] [-1 0 -1 0 0 -1 0 -1] [1 0 1 0 0 1 0 1] [2 0 2 0 0 2 0 2] [1 0 1 0 0 1 0 1] [4 0 4 0 0 4 0 4] [0 0 0 0 0 0 0 0] [-4 0 -4 0 0 -4 0 -4] ⇩ [1 0 1 0 0 1 0 1] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] [0 0 0 0 0 0 0 0] よって、rank(B^2)=1 rank(B)-rank(B^2)=4-1=3 2次以上のジョルダン細胞数は3個。 8次の中にジョルダン細胞数が合計で4個、2次以上が3個なので、 ジョルダン細胞の直和は、1次+2次+2次+3次という形になる。 Aの相似形を「~」で書くと、ジョルダン標準形は、次数の低い方からの直和で(➕は、+の丸囲みです) A~J(-1,1)➕J(-1,2)➕J(-1,2)➕J(-1,3) J= -1 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 -1 0 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 -1 1 0 0 0 0 0 0 0 -1 次に固有ベクトルを求める。 求める固有ベクトルを p=[p1 p2 p3 p4 p5 p6 p7 p8]^t (^tは、転置行列)と書く。 p=(p1,p2,p3,p4,p5,p6,p7,p8) (列ベクトルの記述です) として、固有ベクトルを求める Bp=0 [1 0 0 0 1 0 0 0]p=0 [0 1 0 0 1 0 1 0]p=0 [0 0 1 0 -1 0 0 0]p=0 [0 0 0 0 0 1 0 1]p=0 p1+p5=0 p2+p5+p7=0 p3-p5=0 p6+p8=0 p4=任意 t,s,u,vを媒介変数として p=t(-1,0,1,0,1,0,-1,0)+s(0,-1,0,0,0,0,1,0)+u(0,0,0,1,0,0,0,0)+v(0,0,0,0,0,1,0,-1) 独立した固有ベクトルは、 (-1,0,1,0,1,0,-1,0) (0,-1,0,0,0,0,1,0) (0,0,0,1,0,0,0,0) (0,0,0,0,0,1,0,-1) の4つだが、 1次ジョルダン細胞に対するものを一番簡単な(0,0,0,1,0,0,0,0)にする。 それをx=[0 0 0 1 0 0 0 0]^t (転置)と書く。 By≠0、Bz≠0、Bu≠0、B^2u≠0の条件で y=[1 0 0 0 0 0 0 0]^t z=[0 1 0 0 0 0 0 0]^t u=[0 0 1 0 0 0 0 0]^t を設定すると、変換行列Pはジョル細胞の低い方をからの直和に合わせ P=[x By y Bz z B^2•u Bu u] P= 0 1 1 -1 0 -1 1 0 0 1 0 -2 1 -1 3 0 0 -2 0 1 0 1 -2 1 1 -1 0 4 0 2 4 0 0 -3 0 1 0 1 -3 0 0 -2 0 6 0 4 -5 0 0 3 0 1 0 0 1 0 0 3 0 -6 0 -4 6 0 P^(-1)= 0 0 0 1 34 28 16 37 0 0 0 0 4 4 2 5 1 0 0 0 1 2 0 2 0 0 0 0 -8 -9 -3 -11 0 1 0 0 1 -1 1 -1 0 0 0 0 9 12 3 14 0 0 0 0 -4 -3 -2 -4 0 0 1 0 -1 -1 0 -1 P^(-1)AP=J になる。
- みんなの回答 (10)
- 専門家の回答
みんなの回答
- alice_44
- ベストアンサー率44% (2109/4759)
←A No.9 かまってくれて、thanks. それは、できるけど、あまり簡単ではないかと。 (A No.4 からの修正点は少なくて済むが…) Ker(A+E) の基底ベクトル 4 本から J(-1,1) に属する固有ベクトルを選ぶときに、 Span(A+E)^2 を避けて Ker(A+E)∩Span(A+E)^2 の補空間の元を 選べばよいだけの話だけれど… その「だけの話」が、手間的には嬉しくない気が。 困難ではないけどね。 高次のジョルダン胞から!に、あまり教条的には なりたくないが、A No.7~8 の手順に比べて面倒 なのは確かで、No.5 の意見も、まあ尤もかと。
- Tacosan
- ベストアンサー率23% (3656/15482)
ご希望にこたえて突っ込んでみる試み: #7 の (A+E)q=p という式は、p から q ではなくて q から p を求める方向に使うべきだと解る。 のところ, p から q を求める方向に使っても結果的に答えを導くことはできる. 簡単かどうかは知らん.
- alice_44
- ベストアンサー率44% (2109/4759)
あれ? 今回はツッコミが来ないな。 もう、誰も読んでいないかな? A No.7 の記述には、まだ穴がある。 Ker(A+E)^2 の基底を求めたとき 実は { q, u, v } にはならなくて、 dim Ker(A+E)^2 = 7 だから、 基底ベクトルは q を含めて 7 本となる。 Ker(A+E)^3 の基底から r を選んだのと同様に、 6 本の中から Ker(A+E) に含まれないものを 選んで u, v とすればいい。 このとき、Ker(A+E) に含まれないベクトルは 3 本以上在る場合もあるが、その中から 好きな 2 本を u, v としてかまわない。 前段で、Ker(A+E)^2 に含まれないベクトルの 中から r を選ぶときも、同様。 ここで何本のベクトルを選べばよいかを先に 知っておく必要があるから、固有値を求めた後、 変換行列を求める前に、A のジョルダン型を 決めておく必要がある訳だ。 候補となるベクトルが選ぶべき本数以上在る ことは、保証されているから心配ない。 選ばなかったベクトルの中に Ker(A+E) に 含まれないものがあることについては、 次段で Ker(A+E) の基底を取り直すから大丈夫。 そこが、A No.4 で (A+E)x=(固有ベクトル) に 解 x が無かったとき対処に困ることとの違いだ。 また、これも書き漏らしたが、 最後に Ker(A+E) の基底を求める際、 (A+E)u, (A+E)v だけでなく、(A+E)^2 r も含む ものにしておく必要がある。 (A+E)u, (A+E)v, (A+E)^2 r の 3 本が一次独立 であることも、保証されている。 dim Ker(A+E) = 4 だから、基底ベクトルは もう 1 本が在るが、それが J(-1,1) に属する 固有ベクトルになる。
- alice_44
- ベストアンサー率44% (2109/4759)
そうそう、ソレソレ。 A No.4 の手順が行き詰まる理由を考えれば、 (A+E)q=p という式は、p から q ではなくて q から p を求める方向に使うべきだと解る。 よって、Ker(A+E) の基底よりも、むしろ Ker(A+E)3 の基底から先に求めることになる。 今回は、たまたま Ker(A+E)3=R8 だから、 計算する必要はなく、標準基底を使えば済む。 さて、Ker(A+E)3 の基底ベクトルのなかで、 Ker(A+E)2 x=0 の x へ代入すると 式が成立しないものがある。それが、 Ker(A+E)3 における Ker(A+E)2 の一つの補空間 の基底となる。それを r として、 q=(A+E)r, p=(A+E)q で決まる p, q, r を J(-1,3) に割り当てる。 次に、Ker(A+E)2 の基底を求めるのだが、 先の q を含む基底を探すのがポイント。 その基底を{ q, u, v }として、 一方の J(-1,2) に u, (A+E)u を、 もう一方の J(-1,2) に v, (A+E)v を割り当てる。 後は、Ker(A+E) の基底で p, (A+E)u, (A+E)v を 含むものを探し、出てきたベクトルを J(-1,1) に 割り当てれば、完了。
- reiman
- ベストアンサー率62% (102/163)
P=((1)(2)(3)(4)(5)(6)(7)(8))と置くと敢えて P=((6)(7)(8)(4)(5)(2)(3)(1))のように並べる必要はなくそのままでも良い. 但し求める順は(8)(7)(6)(5)(4)(3)(2)(1)の順でなければならない. [i](8)=u,(7),(6)の求め方は B^3u=0は成立するのでB^2u≠0を満たすuを求め(7)=Bu,(6)B^2uとする. [ii](5)=z,(4)の求め方は B^2z=0でrank((Bz B^2u))=2を満たすzを(4)=Bzとする. [iii](3)=y,(2)の求め方は B^2y=0でrank((By Bz B^2u))=3を満たすyを(2)=Byとする. [iv](1)=xの求め方は Bx=0でrank((x By Bz B^2u))=4を満たすxを求める. [ii],[iii]はまとめて B^2z=0でB^2y=0でrank((By Bz B^2u))=3を満たすz,yを求め(4)=Bzとし(2)=Byとする. でもよい.
- reiman
- ベストアンサー率62% (102/163)
(λ 1 0) (0 λ 1) (0 0 λ) へのジョルダン変換はジョルダン細胞の次数が1つ(個数ではない)なので どのようにやってもできます. つまりいい加減にやってもできるので好きなようにやってください. 3次の場合には (λ 1 0) (0 λ 0) (0 0 λ) の形になるものの方が制約が少し入るので少しは考えなければならない. しかしこの様に低次のものはやり方が間違っていても偶然にできる確率が高いのでやはり本題の8次で考えた方がよいでしょう. ジョルダンの証明によれば ジョルダン化行列の列ベクトルについて 次数の高いジョルダン細胞に対するベクトルから求めていかなければなりません. またボトムアップ方式(固有ベクトルからの広義固有ベクトルを求めていく方法)はダメで トップダウン方式(広義固有ベクトルから固有ベクトルを求めていく方法)でなければなりません. しかしジョルダン細胞の次数が1つの場合にはボトムアップ方式でもトップダウン方式でもいいわけです.つまりいい加減にできるわけです.
- alice_44
- ベストアンサー率44% (2109/4759)
なるほど、その通りだ。 (A+E)x = (-1,0,1,0,1,0,-1,0)^t (A+E)x = (0,-1,0,0,0,0,1,0)^t (A+E)x = (0,0,0,1,0,0,0,0)^t (A+E)x = (0,0,0,0,0,1,0,-1)^t を皆解いて、解が無かったものから 低次のジョルダン胞に割り当てていけば よかったね。
- reiman
- ベストアンサー率62% (102/163)
AP=PJ P=((1)(2)(3)(4)(5)(6)(7)(8)) とすると(1)と(2)と(4)と(6)が固有ベクトルとなり固有空間は V=<(1),(2),(4),(6)>となる. もし(1)として(1)の代わりにV'=<(2),(4),(6)>を選んでしまうと正則なPを求めることはできなくなる. また(2)として(2)の代わりにV"=<(6)>を選んでしまうと正則なPを求めることができなくなる. また(4)として(4)の代わりにV"=<(6)>を選んでしまうと正則なPを求めることができなくなる. 逆に v∈<(1),(2),(4)>かつv≠0とすると(6)として(6)の代わりにv+<(6)>の元を選んでしまうと(7)と(8)を求めることができなくなりPは求まらない. また v∈<(1)>かつv≠0とすると(4)として(4)の代わりにv+<(2),(4)>の元を選んでしまうと(5)を求めることができなくなりPは求まらない. v∈<(1)>かつv≠0とすると(2)として(2)の代わりにv+<(2),(4)>の元を選んでしまうと(3)を求めることができなくなりPは求まらない. 今回はAの性質上これらの不都合な点が偶然に回避されがちなのでこれらの問題に遭遇しなかったがAが巧妙に作られるとPを求めることは極めて困難になる. Aが巧妙に作られなくても任意に作られると通常Aの要素は分数になりこの場合にmaximaやmathmaticaなどを使ってPを求めることも困難になる. (勿論ジョルダン関連の関数だけは使わないものとする.) alice_44さんの方法にはこの点の配慮がされていません.
補足
この回答への質問ではないのですが、 (λ 1 0) (0 λ 1) (0 0 λ) へのジョルダン変換はジョルダン細胞の次数が1つ(個数ではない)なので」 とありますが、 これは、3次のジョルダン細胞が1個、つまり次数が3つだと思うのですが?
- alice_44
- ベストアンサー率44% (2109/4759)
固有空間 Ker(A-(-1)E) の基底をテキトーにひと組とって 各ジョルダン胞のひとつめのベクトルに割り当て、後は、 (A-(-1)E)(次のベクトル)=(前のベクトル) を繰り替えして P の列を決めてゆけばいいんだよ。 AP=PJ の各列を眺めて、よく考えてみてください。 例えば、Ker(A+E) の基底を (-1,0,1,0,1,0,-1,0) → J(-1,2) (0,-1,0,0,0,0,1,0) → J(-1,2) (0,0,0,1,0,0,0,0) → J(-1,1) (0,0,0,0,0,1,0,-1) → J(-1,3) と割り当てたなら、 ジョルダン胞の並び順が質問文の J の様であれば、 (-1,0,1,0,1,0,-1,0)^t を P の第 2 列 (0,-1,0,0,0,0,1,0)^t を P の第 4 列 (0,0,0,1,0,0,0,0)^t を P の第 1 列 (0,0,0,0,0,1,0,-1)^t を P の第 6 列 とする。第 2 列と第 4 列は、逆でもいい。 (A+E)q=(0,0,0,0,0,1,0,-1)^t の解 q が P の第 7 列になるし、 (A+E)r=q の解 r が P の第 8 列になる。
- reiman
- ベストアンサー率62% (102/163)
ジョルダンの標準形の決定方法には問題が無い様です. しかし変換行列の求めかたが極めてまずそうです. 最初に1次のジョルダン細胞に対応するベクトルxを決定しているがこれは好ましくないと思います. xは最後に求めた方が良いでしょう. 次に2次のジョルダン細胞に対応するベクトル2個y,zを求めているがy,zを求める条件は不十分でありこの時点でy,zを求めるのも好ましくないと思います. 最後に3次のジョルダン細胞に対応するベクトルuを求めているがこれを求める条件Bu≠0はB^2u≠0から言えるので不要でありまたx,y,zに先駆けてuを求めるのが筋です. ただ無駄な条件はあるもののuだけは正しく求められます. どうやらこの方法の根拠となるジョルダンの標準形の定理の証明が理解できていない様です この方法の根拠となるジョルダンの標準形の定理の証明を見直してその証明方法からジョルダンの標準形に変換する方法を抽出して下さい.
補足
固有値の最小多項式が重根を持つ時のジョルダン標準形に変換する行列の求め方について教えて下さい。 例題の8次だと複雑になるので、3次の例題で示します。 A= 2 1 1 1 3 2 0 -1 1 固有値=2(3重根) B=A-2Eとして、 B= 0 1 1 1 1 2 0 -1 -1 ⇩ 0 1 1 1 0 1 0 0 0 rank(B)=2 dim(Ker(B))=3-2=1 よってジョルダン細胞は、2次が1個。 J= 2 1 0 0 2 1 0 0 2 固有ベクトルをp1=(x,y,z)として、 Bp1=0.....(1) Bp2=p1....(2) Bp3=p2....(3) を満たすp2、p3を設定すると 変換する行列をPは、 P=[p1 p2 p3] p1は、(1)より x=y=-zだから、 p1=(-1,-1,1)と設定。 (2)より、 y+z=-1 x+z=0 だから、一番簡単(x=0)にして p2=(0,-1,0)と設定。 (3)より、 y+z=0 x+z=-1 p3=(-1,0,0)と設定。 よって、 P= -1 0 -1 -1 -1 0 1 0 0 P^(-1)AP=J 以上が普通のやり方ですが、別なやり方を考えました。 以下のようにしてもいいのですか? B^2= 1 0 1 1 0 1 -1 0 -1 B^3=0 最小多項式が(λ-2)^3ということがわかりジョルダン細胞の最大次数は、3であることがわかります。 また、任意のu1=(x,y,z)に対し B^•3u1=0 が成り立ちます。 ここで、u2,u3が0ベクトルにならないように、u1を任意に設定し、次のようなu2,u3を設定します。 u2=B•u1 u3=B•u2=B•Bu1=B^2•u1....(4) (4)式の左からBをかけると B•u3=B^3•u1=0 になります。 整理すると、 Bu3=0 Bu2=u3 Bu1=u2 となり、これは、先述した Bp1=0.....(1) Bp2=p1....(2) Bp3=p2....(3) の関係と同じです。 したがって、変換行列Pは、 P=[u3 u2 u1] =[B^2•u1 Bu1 u1] となります。 u1は任意なので、 Bu1≠0、B^2•u1≠0の条件で何でもいいので u1=(1,0,0)として、 Bu1=(0,1,0) B^2•u1=(1,1,-1) よって P= 1 0 1 1 1 0 -1 0 0 P^(-1)AP=J このやり方でもいいですか?
補足
P= [B^2•u Bu u] は良くても、 P=[x By y Bz z B^2•u Bu u] は、ダメなんですね。 じゃ、3次正方行列で J= λ 1 0 0 λ 0 0 0 λ の時、つまり、rank(A-λE))=1 の時、 (A-λE)p=0 を満たす固有ベクトルは、2個選べるけど そのうち1つを選びそれをp1として、 適当なベクトル(p1とは独立したものだが、固有ベクトルでなくてもいい)をp2として P=[ (A-λE)p2 p2 p1] とするのは、いいですか? また、同じ3次正方行列で固有値λ1(二重根)、λ2(単根) rank(A-λ1E)=2の時、 J= λ1 1 0 0 λ1 0 0 0 λ2 の場合は、適当にp1を設定するのではなく、 (A-λ1E)^2•p1=0 なるp1を求めて、 P=[ (A-λ1)p1 p1 p2] p2はλ2が単根だから Ap2=λ2p2の固有ベクトル でいいですか?