作者compbell (kiki)
看板C_and_CPP
標題Re: [語法] 請問如何寫迴圈計算矩陣的det值
時間Thu May 25 17:11:09 2006
※ 引述《freelancerr (lancer)》之銘言:
: 請問各位高手...
: 如果要計算矩陣的det值
: c++的語法要怎麼寫呢?
: 感激不盡,小地想了好久想不出來...
考慮 SOURIAU_FRAME algorithm (以下是虛擬碼)
B_0 = I
for(k=0;k<n;k++)
{
A_k=A*B_(k-1)
c=-tr(A_k)/k
B_k = A_k + c*I
}
output 的 c = 常數項
原本是用來求一個矩陣的特徵多項式
不過特徵多項式的常數項就是矩陣的det值乘上 (-1)^n ,n為矩陣的size
就是說 常數項 = detA*(-1)^n
這一個演算法要 O(n^4) 乘法
參考看看吧^^
有錯煩請指正^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.165.137.149
推 ferng1021:應該是 for(k=1; k<=n; k++) 吧:p 05/25 20:52
→ compbell:痾...筆誤...感謝指正:p 05/25 23:34
→ compbell:樓上的,你那招先用高斯消去法的方法不錯,我沒想到XD 05/25 23:49
→ gdgy:有這樣的方法...研究一下... 05/26 12:21