Re: [問題] Eigen與matlab算出來的eigenvector不同
※ 引述《lin780222 (饅頭)》之銘言:
: 複數3X3矩陣求eigenvalue及eigenvector,Eigen求出的3個eigenvalue與matlab一致,
: 但當求出的eigenvalue虛部不為0的時候,Eigen與matlab所求出的eigenvector不同。
: 餵入的資料(Input):
: 3x3矩陣A
: row1:11 -12 13
: row2:-4 -5 6
: row3:-2 -3 -4
: 拜託各位了,實在不清楚哪裡出問題,試了好久QQ
因為一般求 eigen value 的演算法是近似的解析解
實作細節不同,本來就會有不同的誤差,這很正常
想要代數解的話,就要避開浮點數運算誤差,用有理數去算
eigen 是 template library
可以試試看套用 boost::rational
typedef Matrix<boost::rational<int>, 3, 3> Matrix3r;
Matrix3r m;
m << 11, -12, 13,
-4, -5, 6,
-2, -3, -4;
不過我不確定 boost::rational 跟 eigen 相處好不好。
你可能要自己試試看會不會動。
以前我線性代數作業都是寫程式用電腦算
一步一步列出運算順序,我再抄到紙上 -_-||
--
To iterate is human, to recurse, divine.
遞迴只應天上有, 凡人該當用迴圈. L. Peter Deutsch
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.43.156.82
推
01/04 00:04, , 1F
01/04 00:04, 1F
→
01/04 00:05, , 2F
01/04 00:05, 2F
→
01/04 00:06, , 3F
01/04 00:06, 3F
→
01/04 00:07, , 4F
01/04 00:07, 4F
→
01/05 11:12, , 5F
01/05 11:12, 5F
→
01/06 13:01, , 6F
01/06 13:01, 6F
推
01/06 23:14, , 7F
01/06 23:14, 7F
→
01/06 23:15, , 8F
01/06 23:15, 8F
推
01/06 23:20, , 9F
01/06 23:20, 9F
推
01/06 23:23, , 10F
01/06 23:23, 10F
→
01/06 23:25, , 11F
01/06 23:25, 11F
→
01/07 16:28, , 12F
01/07 16:28, 12F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章