[問題] 請問求特徵值的eig()的問題已回收

看板MATLAB作者時間15年前 (2009/04/01 23:01), 編輯推噓2(206)
留言8則, 3人參與, 最新討論串1/1
請問eig()這個方法是否會有某些限制或是問題? 假如一個矩陣是實對稱 且可以寫成A'*A這樣形式的話 這樣的一個矩陣的特徵值應該都會是大於等於零(正半定) 可是我們在做某個圖形辦識的實驗時發現 用eig()求這樣的一個半正定矩陣的特徵值時會有找到不少負的特徵值 請問有人有這樣的經驗嗎? 謝謝! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.82.246

04/01 23:31, , 1F
浮點運算誤差吧...跑出虛部都有可能了
04/01 23:31, 1F

04/02 13:43, , 2F
先驗證看看所分解出的A是否為實數矩陣?
04/02 13:43, 2F

04/02 13:43, , 3F
否則特徵值有負,代表你的矩陣本來就屬於負定
04/02 13:43, 3F

04/02 13:46, , 4F
且若要用可分解成A'*A方式,A還必須為非奇異矩陣
04/02 13:46, 4F

04/02 13:48, , 5F
否則要用對任意非全零實數陣列X,滿足X'AX>=0來判斷
04/02 13:48, 5F

04/03 17:17, , 6F
實對稱不就是實數矩陣了嗎 我也遇到類似的問題
04/03 17:17, 6F

04/03 17:18, , 7F
不過我的矩陣是Hermitian的 有人可以幫忙解決這個問題嗎
04/03 17:18, 7F

04/03 18:29, , 8F
他的原矩陣是實對稱矩陣,但不保證分解出的A矩陣為實數
04/03 18:29, 8F
文章代碼(AID): #19qu7beG (MATLAB)