[閒聊] 有關矩陣解法

看板Prob_Solve作者 (MPS model)時間13年前 (2011/04/07 10:44), 編輯推噓1(103)
留言4則, 1人參與, 最新討論串1/1
第一次逛到這個版...看完文章後隨興po個文...希望不會違反版規~ (小弟已經畢業多年了...所以不是為了作論文或是作業才PO閒聊的...XD) 在CFD中, 常會遇到要求解 N by N 線性矩陣... Ex: pressure Poisson equation by mesh-dependent or meshless methods) 一般來說都是用某些Basis function離散化後~組成線性系統再進行求解... 組成的線性系統多半為大型稀疏矩陣(當然也會有滿矩陣的啦! 但那是另一個題目了~) 為了計算更有效率...都會選擇一些存取非零矩陣的scheme.... (通常是儲存非零矩陣元素的值與其index) 但是當矩陣大到某個程度...記憶體loading就會隨之增加... 上述方法當矩陣過大(Ex: 3D FVM求解複雜幾何形狀之流場, N很容易大於十萬)... 記憶體loading就大概GB就成了基本單位了~ 請問一下有更有效率的儲存方法嗎?(Apply FFT!?) 再者....當稀疏矩陣過大(如上述情況), 求解矩陣有更有效率的方法嗎(假設矩陣不會病態, 非對稱且稀疏)?? 一般來說解矩陣方法分兩類, 直接法與疊代法... 直接法大概是LU分解了~ (有人說FFT也是直接法, 但是小弟認為他是在某些限制條件下才可求解) 疊代法就多樣了...如: SOR, CG, BiCG系列, GMRES, Multigrid... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.56.1.205

10/07 04:05, , 1F
大型稀疏矩陣用Krylo space solvers如你所舉CG,BiCG,GMRES
10/07 04:05, 1F

10/07 04:08, , 2F
迭代次數與condition number 相關
10/07 04:08, 2F

10/07 04:10, , 3F
現成的解線性系統函式庫如PETCS,hypre等有許多模組供選用
10/07 04:10, 3F

10/07 04:12, , 4F
配合使用preconditioner效率很好,問題太大就使用平行運算
10/07 04:12, 4F
文章代碼(AID): #1DdIKT_J (Prob_Solve)