導航:首頁 > 源碼編譯 > res的演算法

res的演算法

發布時間:2023-11-14 23:52:46

❶ 求簡要介紹一下gmres演算法。謝謝。

視圖求解線性方程組A*x=b的解x。nXn的稀疏矩陣A必須是方程且應是大型稀疏矩陣。列向量b的長度必須為n。參數A可以是一個函數afun以使得afun(x)返回A*x,對於這一語法格式,gmres並不重新啟動,迭代的最大次數為min(n,10)。
如果gmres收斂,則顯示這一結果的信息。如果gmres在最大迭代步後沒有收斂或者由於某種原因而停止,則列印警告信息,顯示相對殘差范數norm(b-A*x)/norm(b)並且顯示該方法停止或者失效時的迭代步數。

Gmres(A,b,restart)
在每一次重新開始內部迭代時才重新開始方法。外部迭代的最大數目為min(n/restart,10),總迭代的最大步數為restart*min(n/restart,10).如果restart為n或者[],則gmres並不重新開始,則總迭代的最大數目為min(n,10)
Gmres(A,b,restart,tol)
指定方法的誤差。如果tol為[],則函數gmres將使用默認值1e-6.
Gmres(A,b,restart,tol,maxit)
指定外部迭代的最大次數,也就是說,迭代的總次數不超過restart*matrix。如果參數maxit為[],則矩陣gmres使用默認值min(n/restart,10);如果參數restart為n或者[],則總迭代的最大次數為maxit(而非restart*matxit)。
Gmres(A,b,restart,tol,maxit,M)和 Gmres(A,b,restart,tol,maxit,M1,M2)
使用預處理矩陣M或者M=M1*M2有效地求解方程組inv(M)*A*x=inv(M)*b.如果M為[],則函數gmres不適應預處理矩陣,M可以是一個函數,它返回M\x
Gmres(A,b,restart,tol,maxit,M1,M2,x0)
指定初始的猜測值。如果x0為[],則函數gmres將使用默認值,一個全為零的向量。
Gmres(afun,b,restart,tol,maxit,m1fun,m2fun,x0,p1,p2,…)
將參數傳遞到函數afun(x,p1,p2,…),m1fun(x,p1,p2,…)和m2fun(x,p1,p2,…)中。
[x,flag]=gmres(A,b,…)
返回一個收斂標志符:

Flag=0

函數gmres在maxit外部迭代步數之內收斂到期望的誤差

Flag=1

函數gmres迭代maxit次但沒有收斂

Flag=2

預處理矩陣M為病態條件陣

Flag=3

函數gmres停滯(兩個連續迭代步的結果相同)

當flag的值不為0時,返回的解x是在所有迭代過程中得到的具有最小范數殘差的結果。如果指定輸出flag,則不顯示任何消息。
[x,flag,relres]=gmres(A,b,…)
返回相當殘差范數norm(b-A*x)/norm(b),如果flag的值為0,則relres<=tol,
[x,flag,relres,iter]=gmres(A,b,…)
返回計算x時外部和內部迭代次數,其中0<=iter(1)<=maxit且0<=iter(2)<=restart.
[x,flag,relres,iter,resvec]=gmres(A,b,…)
返回每一個內部迭代時的殘差范數向量,包含norm(b-A*x0).

閱讀全文

與res的演算法相關的資料

熱點內容
調度系統軟體python 瀏覽:203
微信大轉盤抽獎源碼 瀏覽:497
壓縮機損壞的表現 瀏覽:862
同步數據伺服器怎麼用 瀏覽:634
163郵箱伺服器的ip地址 瀏覽:50
伺服器跟域是什麼 瀏覽:128
rails啟動命令 瀏覽:465
logistic命令怎麼用 瀏覽:738
c語言點滴pdf 瀏覽:747
linuxrtc編程 瀏覽:258
linux打包並壓縮命令 瀏覽:644
aes加密的證書格式 瀏覽:99
oracledbcalinux 瀏覽:844
酬勤任務app怎麼被特邀 瀏覽:199
android應用文件夾 瀏覽:1002
平面設計法則pdf 瀏覽:339
3d圓角命令怎麼用 瀏覽:569
程序員買意外險還是重疾險 瀏覽:621
遼寧的dns伺服器地址雲空間 瀏覽:448
我的世界伺服器斷開後怎麼連接 瀏覽:415