[閒聊] 矩陣解法

看板Fortran作者 (MPS model)時間13年前 (2011/06/21 19:42), 編輯推噓2(202)
留言4則, 4人參與, 最新討論串1/1
呵...小弟以下的敘述都是以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
換電腦~~~XD
06/21 20:41, 1F

06/21 20:43, , 2F
Lanczos, Jacobi-Davidson, 可以算eigenvectors
06/21 20:43, 2F

06/24 13:56, , 3F
你可以試試看skyline法,老闆把他程式改寫後變挺快的
06/24 13:56, 3F

06/25 20:00, , 4F
Thx!現在是用CRS format儲存與計算, 有位有時未必會對稱...
06/25 20:00, 4F
文章代碼(AID): #1E08EItb (Fortran)
文章代碼(AID): #1E08EItb (Fortran)