導航:首頁 > 源碼編譯 > 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的演算法相關的資料

熱點內容
清除電腦文件夾垃圾的方法 瀏覽:223
天河程序員 瀏覽:189
成都程序員公積金 瀏覽:765
程序員為什麼叫程序猿 瀏覽:481
加西貝拉壓縮機價格 瀏覽:786
海信聚好看如何用u盤安裝app 瀏覽:69
加密狗怎麼寫的 瀏覽:557
安卓手機如何能調最大聲音 瀏覽:665
編程開發工具大全 瀏覽:568
如何把安卓系統換成windows 瀏覽:28
android拼接url 瀏覽:22
華為nfc復制加密卡怎麼模擬 瀏覽:772
在pdf中怎麼插入文件 瀏覽:112
單片機中fw縮寫是什麼 瀏覽:375
交換律的演算法怎麼樣看能看出簡便 瀏覽:659
找醫療工作用哪個app 瀏覽:143
夢幻之鄉密碼解壓 瀏覽:596
nvidiasmi命令 瀏覽:757
創新賬戶加密維薩卡 瀏覽:874
解壓密碼很多怎麼辦 瀏覽:749