[閒聊] 矩陣解法
呵...小弟以下的敘述都是以Fortran撰寫~但是近幾年都陸續遇到瓶頸~
雖說是數值分析的範疇...為求精進只好請教各位大大了~
若不合板規的話小弟自D~
一般來說...CFD運算都會求解矩陣...(只考慮稀疏的正定矩陣的話)
假若是正定矩陣...
那大概CG是比較快的方法了~(有數學證明可以解釋n by n矩陣理論值可以n次收斂)
若是遇到unstructure mesh的話....組合出來的線性系統矩陣未必會對稱...
從Numerical recipes得到的訊息是可以採用BiCG求解...
為了求穩定~也有不少人採用GMRES....
在特殊的限制下FFT也蠻被利用的~但他不是矩陣解法...
不少商用軟體則是採用Multigrid method...
目前為止小弟的PC(32位元)大概求解百萬點(3D問題, 雙精度)FEM運算...
大概會花費1G多左右的RAM~(已寫成只存非零一維陣列了)
矩陣解法與副程式源自於Numerical recipes改寫(Fortran)...
疊代至收斂(收斂門檻為1.0E-06)解一次時間大約要花20多分鐘...
其他各門派的BiCG也大致求解速度差異不大~(廢話~只是撰寫的效率問題罷了...被毆~)
不知各位先進知道更快的方法嗎??
另外對於特徵值問題...小弟採用過SVD...(亦源自於NR的改寫)
有更快的方法嗎???
最後...對於調件數比未知數多的least square矩陣~
在未知數頗多的狀況下求解亦是很慢~
小弟參考過的文章都是說明可用BiCG or GMRES求解最佳解...
還有更快的嗎???
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.56.1.205
→
06/21 20:41, , 1F
06/21 20:41, 1F
推
06/21 20:43, , 2F
06/21 20:43, 2F
推
06/24 13:56, , 3F
06/24 13:56, 3F
→
06/25 20:00, , 4F
06/25 20:00, 4F
Fortran 近期熱門文章
PTT數位生活區 即時熱門文章