為什麼這篇降階法鄉民發文收入到精華區:因為在降階法這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者yuchih0519 (昱)看板C_and_CPP標題Re: [問題] 降階法時間Tue Oct...
降階法 在 NiBo妮啵|閱讀,手寫 Instagram 的最佳貼文
2021-09-24 16:49:27
#文末抽書 10/1截止 #人慈 作者|#羅格布雷格曼 #RutgerBregman 譯者|#唐澄暐 類型|#文化研究 #人類學 讀感| 你相信#人性本善 還是#人性本惡?這道問題一直很難有個解。我自己認為,這也是不需要去解的題,畢竟人就是一個難解的生物吧。 這本書是以#性善論 為本,舉出大...
如果只是想要求行列式值的話,
基本上我個人不太建議用降階法或是排列法(行列式值定義),
因為這樣在矩陣變大的時候會很慢!(我的電腦大概10x10以上就感覺得出來了)
用高斯消去法將方陣變成上三角矩陣以後,把主對角線元素全部乘起來就好,
這樣我即使算到20x20都還感覺不出delay...
※ 引述《tyc5116 (累人啊....)》之銘言:
: 請問,降階法用程式該怎麼寫啊,我指的是針對n*n的行列式
: 主要我是要算det值啦
: n*n的動態陣列我搞定了,我用vector of vector弄出來了
: 但對於數學式不知道該怎麼寫(知道原理了)
: 精華區裡面提供的我看不懂他的意思
: 所以我用了一個很傳統的方法表示,以下面例子為例
: 0 1 2
: 3 4 5
: 6 7 8
: det值則為(0*4*8+1*5*6+2*7*3)-(2*4*6+1*3*8+0*7*5)
: ^^^A ^^^B
: 我的方式是擴張該陣列,變成
: 0 1 2 0 1
: 3 4 5 3 4
: 6 7 8 6 7
: 然後一個巢狀迴圈,得到A的值,B的值便是將陣列反轉,再擴張,算出B
: 寫完發現...3*3以上似乎都是對的
: 不過2*2就錯了
: 可見不是一個很好的方法@@
: 有誰可以提供方法嗎.....(因為我精華區的看不懂...@@)
: 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.124.31.121
回c大,老實說關於這點我也有蠻困擾,在主對角線元素(絕對值)比其他元素大很多時,
Rounding Error(捨入誤差)就會很明顯,所以我儘量都用精確度比較高的Double來算,
有沒有人能提供比較低誤差的撇步呀?
補充:高斯消去法的應用除了求反矩陣、行列式值以外,
也有在解聯立方程式(就是國中學的加減消去法)、最小平方法回歸分析時被用到喔!