作者robertshih (施抄)
看板Math
標題Re: [線代] Jordan canonical form的求法
時間Sat Nov 12 02:14:36 2011
不好意思, 我剛剛在練習求 Jordan form 時, 遇到一些問題:
首先題目是
[8 0 0 8 8]
[0 0 0 8 8]
A = [0 0 0 0 0], eigenvalue = 8, 0
[0 0 0 0 0]
[0 0 0 0 8]
[1]
[0]
我先解出 N(A-8I) = span{[0]}
[0]
[0]
[0] [1]
[1] [0]
然後解 N((A-8I)^2) = span{[0], [0]}, 找到了一個新的generalized eigenvector
[0] [0]
[1] [0]
[0] [0]
[1] [0]
接著解 N(A-0I) = span{[0], [1]}
[0] [0]
[0] [0]
[0] [0] [-1]
[1] [0] [ 0]
然後解 N((A-0I)^2) = span{[0], [1], [ 0]}
[0] [0] [ 1]
[0] [0] [ 0]
[1 0 0 -1 0] [8 8 ]
[0 1 1 0 0] -1 [ 8 ]
但是取 P = [0 0 0 0 1], P AP卻不是 Jordan form (結果是[ 0 8 ]),
[0 0 0 1 0] [ 0 ]
[0 1 0 0 0] [ 0]
後來查了
http://ccjou.twbbs.org/blog/?p=2673 才知道
[
8 0 0 -1 0]
[0 1
8 0 0]
P 要取成 [0 0 0 0 1] 才會有 Jordan form,
[0 0 0 1 0]
[0 1 0 0 0]
可否請問 e1 與 e3 的取法, 為何要到 8 而不是取 1, 謝謝.
※ 引述《robertshih (施抄)》之銘言:
: 感謝您的回應, 十分受用.
: 想請問一下, 如果有需要將 generalized eigenvectors 一同求出
: (就是要求 A = PJP-1 的 P)
: 這個方法有辦法做到嗎?
: 另外想請問文中 nullity 的判斷方式,
: 是不是對 (A-cI)^m 做高斯消去法得到 rank 後,
: 再用 n - rank = nullity?
: 謝謝
: ※ 引述《TassTW (塔矢)》之銘言:
: : 如同板友推文, 第三步相當繁瑣 只是要看 Jordan form 的話不用那樣做
: : 但光看 minimal polyn 也不夠, 他只能決定最大的 Jordan block
: : 要知道中間的 Jordan blocks 的資訊還是要看 nullity 的改變
: : 我以 J(c,n) 表示 n by n , eigenvalue 為 c 的 Jordan block
: : 前兩步你知道 eignevalues 有哪些
: : 現在只剩判斷 eigenvalue c 的 Jordan blocks 的長相
: : 可以觀察 m = 1,2... 時 (A-cI)^m 的 nullity 來決定
: : 因為每個 J(c,n) 提供的 nullity 如下
: : m 1 2 3 4 5 6
: : ────┼───────────────────────
: : J(c,1) 1 1 1 1 1 1
: : J(c,2) 1 2 2 2 2 2
: : J(c,3) 1 2 3 3 3 3
: : J(c,4) 1 2 3 4 4 4
: : :
: : :
: : 看 (A-cI)^m 到 (A-CI)^{m+1} 的 nullity 變大多少
: : 就知道有幾個 Jordan blocks J(c,m)
: : 結論:
: : null(A-cI)^1 = 有幾個 blocks J(c,≧1)
: : null(A-cI)^2
: : - null(A-cI)^1 = 有幾個 blocks J(c,1)
: : null(A-cI)^3
: : - null(A-cI)^2 = 有幾個 blocks J(c,2)
: : :
: : :
: : :
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.30.46
推 jacky7987 :你後面選[0 1 0 0 1]^T 那要用(A-8I)*[0 1 0 0 1]^T 11/12 02:23
我好像瞭了...
找到 e1 = [1 0 0 0 0]' 的時候 應該解 (A-8I)x = e1 的 null space 解
x = e2 = [0 1/8 0 0 1/8]'
同理, e3 = [0 1 0 0 0]' 解 (A-0I)x = e3 的 null space 解
x = e4 = [-1/8 0 0 1/8 0]'
我是用 matlab 算的, 所以好像都得到很漂亮的數字...
※ 編輯: robertshih 來自: 140.112.30.46 (11/12 02:26)
→ jacky7987 :當作你的基底 11/12 02:24
→ jacky7987 :因為他是用cyclic basis來做的 要了解可能要看點線代 11/12 02:24
推 jacky7987 :相同的你後面選[-1 0 0 1 0]^T當成基底的時候 11/12 02:26
→ jacky7987 :要選(A-0I)*[-1 0 0 1 0]^T=[8 8 0 0 0]當作基底 11/12 02:27
→ jacky7987 :那跟這兩個線性獨立的就是[0 0 1 0 0]^T 11/12 02:27
→ jacky7987 :應該是解(A-8I)=8e_1的才對:) 11/12 02:28
→ robertshih :謝謝你 看來選8真是明智的選法 11/12 02:29
→ jacky7987 :不是因為他原本就是這樣定義的 11/12 02:29
→ jacky7987 :應該說這樣選的 11/12 02:29
→ jacky7987 :因為8才是他的eigenvalue阿:P 11/12 02:30
→ jacky7987 :一次往上推移一格 11/12 02:31
→ jacky7987 :原本[0 1 0 0 1]經過一次(A-8I)變成8e_1 11/12 02:32
→ jacky7987 :8e_1在一次就0了 11/12 02:32
→ Sfly :如果只是要找 Jordan form 其實很快的 11/12 09:18
推 handsomepow :為什麼沒人畫點圖去求Jordan blocks 0.0 11/12 11:50
→ jacky7987 :我以為他要連基底都要找@@ 11/12 13:19
→ jacky7987 :如果單純只是要求Jordan form的話就畫 點圖超快:P 11/12 13:19
→ robertshih :可以請問什麼是點圖嗎?? 11/12 13:51
→ handsomepow :然後次對角線的1 就能釣出廣義特徵向量 11/12 14:22