(translator=roro, ChineseSource=roro-20020630-8\bicgstab.html, EnglishSource=c:\matlabr12\help\techdoc\ref\bicgstab.html)
MATLAB Function Reference    
bicgstab

雙共軛梯度平衡(BiConjugate Gradients Stabilized)法

Syntax

Description

x = bicgstab(A,b) 解線性方程式 A*x = bxA 為 n*n 的係數矩陣而行向量 b 的長度也必須為 nA 可為函數 afunafun(x) 回傳 A*x

bicgstab 收歛,相關訊息將顯示出來。若 bicgstab 經過最大次數的重覆或任何理由被停止以致於沒有收歛,將會列印出一警告訊息顯示相關剩餘 norm(b-A*x)/norm(b),而該作法下的重覆數字也將停止。

bicgstab(A,b,tol) 定義方法的誤差。若 tol[],則 bicgstab 使用預設值 1e-6

bicgstab(A,b,tol,maxit) 定義最大重覆次數。若 maxit[],則 bicgstab 使用預設值 min(n,20)

bicgstab(A,b,tol,maxit,M)bicgstab(A,b,tol,maxit,M1,M2) 使用先決條件 MM = M1*M2 並有效地解方程式 inv(M)*A*x = inv(M)*bx。若 M[],bicgstab 不使用任何先決控制條件。M 可為函式 mfun 其可回傳 M\x。

bicgstab(A,b,tol,maxit,M1,M2,x0) 定義初始的推測。若 x0[],則 bicgstab 使用預設值。即全為零的向量。

bicgstab(afun,b,tol,maxit,m1fun,m2fun,x0,p1,p2,...) 傳送參數 p1,p2,... 至函式 afun(x,p1,p2,...), m1fun(x,p1,p2,...), 和 m2fun(x,p1,p2,...)

[x,flag] = bicgstab(A,b,...) 亦回傳收歛旗標。


旗標
收歛性
0
bicgstab maxit 次內收歛至期望的誤差 tol。
1
bicgstab 重覆 maxit 次但並沒有收歛。
2
先決條件 M 不夠完善。
3
bicgstab 沉滯(stagnated)。(兩次連續的重覆視為相同)。  
4

bicgstab 計算的數值變得太小或太大以致於沒辦法繼續做計算。

flag 不為 0 時,解 x 回傳經由所有重覆次數的最小基準餘數(minimal norm residual)。若有定義 flag 的輸出,則不會顯示任何訊息。

[x,flag,relres] = bicgstab(A,b,...) 亦回傳相關剩餘 norm(b-A*x)/norm(b)。若 flag0, relres <= tol。

[x,flag,relres,iter] = bicgstab(A,b,...) 亦回傳 x 計算時的重覆次數,即 0 <= iter <= maxititer 可為整數再加上 0.5,以表示經過半次重覆時的收歛。

[x,flag,relres,iter,resvec] = bicgstab(A,b,...) 亦回傳在每一次重覆的剩餘基準估計向量,包括 norm(b-A*x0)

Example

範例 1

另外選擇使用矩陣向量乘法的函式

及先決反解(preconditioner backsolve)函式

如同 bicgstab 的輸入

注意 afunmfun 皆必須接收 bicgstab 額外的輸入 n=21

範例 2

flag1 因為 bicgstab 經預設的 20 次重覆後沒有收歛。

flag12 因為上三角 U1 在其對角線有一個零。此方法在第一次重覆去使用反斜線解方程式 U1*y = r 時會失敗。

flag20 因為當以微誤差為 1e-6 的前提下使用不完全 LU 分解在第六次重覆(iter2 的值)時 bicgstab 收歛值誤差值  3.1757e-016relres2 的值)。resvec2(1) = norm(b)resvec2(13) = norm(b-A*x2)。可藉由繪製 bicgstab 每一半點的相關剩餘及每一次重覆結束的過程了解。

See Also

bicg, cgs, gmres, lsqr, luinc, minres, pcg, qmr, symmlq

@ (function handle), \ (backslash)

References

[1]  Barrett, R., M. Berry, T. F. Chan, et al., Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods, SIAM, Philadelphia, 1994.

[2]  van der Vorst, H. A., "BI-CGSTAB: A fast and smoothly converging variant of BI-CG for the solution of nonsymmetric linear systems", SIAM J. Sci. Stat. Comput., March 1992,Vol. 13, No. 2, pp. 631-644.


 bicg bin2dec