最小剩余法
X = MINRES法(A,B)
minres (A, b, tol)
MINRES法(A,B,TOL,麦克斯特)
minres (A, b,托尔,麦克斯特米)
麦克斯特minres (A, b,托尔,M1, M2)
麦克斯特minres (A, b,托尔,M1, M2, x0)
[X,旗] = MINRES法(A,B,...)
[x,国旗,relres] = minres (A, b,…)
[X,旗,relres,ITER] = MINRES法(A,B,...)
[x,国旗,relres, iter resvec] = minres (A, b,…)
[X,旗,relres,ITER,resvec,resveccg] = MINRES法(A,B,...)
X = MINRES法(A,B)
试图找到一个最低标准残留的溶液X
线性方程组A * X = B
。的ñ
——- - - - - -ñ
系数矩阵一个
必须是对称的,但不一定是正定的。它应该是大而稀疏。列向量b
必须有长度ñ
。您可以指定一个
作为一个功能手柄,afun
,这样afun (x)
回报* x
。
参数化功能介绍了如何给函数提供额外的参数afun
,以及预调节功能mfun
如下所述,如果需要的话。
如果MINRES法
收敛,则显示一条消息到该效果。如果MINRES法
未能迭代或暂停出于任何原因的最大数目后收敛,则输出警告消息显示所述相对残余规范(b * x) /规范(b)
和迭代号,在该方法停止或失败。
minres (A, b, tol)
指定方法的容忍度。如果托尔
是[]
, 然后MINRES法
使用默认的,1E-6
。
MINRES法(A,B,TOL,麦克斯特)
指定最大迭代次数。如果麦克斯特
是[]
, 然后MINRES法
使用默认的,分(N,20)
。
minres (A, b,托尔,麦克斯特米)
和麦克斯特minres (A, b,托尔,M1, M2)
使用对称正定预调节器中号
或M = M1 * M2
有效地解决了系统INV(SQRT(M))* A * INV(SQRT(M))* Y = INV(SQRT(M))* B
对于ÿ
然后返回x =发票(sqrt (M)) * y
。如果中号
是[]
然后MINRES法
适用于无预条件。中号
可以是函数句柄吗mfun
,这样MFUN(x)的
回报中号\ X
。
麦克斯特minres (A, b,托尔,M1, M2, x0)
指定初始猜测。如果X0
是[]
, 然后MINRES法
使用默认的全零向量。
[X,旗] = MINRES法(A,B,...)
也返回一个收敛标志。
国旗 |
收敛 |
---|---|
|
|
|
|
|
预调节器 |
|
|
|
在一个计算的标量的 |
每当国旗
不是0
,解决方案X
返回的是与上计算所有的迭代极小范残留。不显示任何消息,如果国旗
输出指定。
[x,国旗,relres] = minres (A, b,…)
还返回相对剩余值规范(b * x) /规范(b)
。如果国旗
是0
,relres < =托尔
。
[X,旗,relres,ITER] = MINRES法(A,B,...)
也返回迭代次数在该X
被计算,其中0 <= ITER <=麦克斯特
。
[x,国旗,relres, iter resvec] = minres (A, b,…)
也返回的估计向量MINRES法
在每次迭代的剩余规范,包括范数(B-A * X0)
。
[X,旗,relres,ITER,resvec,resveccg] = MINRES法(A,B,...)
还返回在每一次迭代的共轭梯度残余规范估计向量。
n = 100;= 1 (n, 1);A = spdiags([-2*on 4*on -2*on],-1:1,n,n);b =和(2);托尔= 1平台以及;麦克斯特= 50;M1 = spdiags (4 * 0 n, n);x = minres (A, b,托尔,麦克斯特,M1);MINRES法收敛在迭代49与相对残余4.7E-014的溶液中
这个例子替换了矩阵一个
在具有手柄的矩阵矢量乘积函数前面的例子afun
。示例包含在一个文件中run_minres
那
呼叫MINRES法
与功能手柄@好玩儿
作为第一个参数。
包含afun
作为一个嵌套函数,这样在所有变量run_minres
可用于afun
。
下面显示的代码run_minres
:
函数X1 = run_minres N = 100;= 1 (n, 1);A = spdiags([-2*on 4*on -2*on],-1:1,n,n);b =和(2);托尔= 1平台以及;麦克斯特= 50;M = spdiags(4 *上,0,N,N);X1 = MINRES法(@ afun,B,TOL,麦克斯特,M);函数y = afun(X)Y = 4 * X;Y(2:N)= Y(2:N) - 2 *×(1:N-1); y(1:n-1) = y(1:n-1) - 2 * x(2:n); end end
当你进入
X1 = run_minres;
MATLAB®软件显示消息
MINRES法收敛在迭代49与相对残余4.7E-014的溶液中
使用一个不对称不定矩阵PCG
。
A = DIAG([20:-1:1,-1:-1:-20]);b =和(2);%真正的解决办法是所有的人的载体。X = PCG(A,B);%从错误在第一次迭代。
显示以下消息:
PCG停在迭代1而未收敛到所需的公差1E-006,因为标量变得过小或过大,继续计算。所述迭代返回(编号0)具有相对残余1
然而,MINRES法
可以处理不定矩阵一个
。
x = minres (A, b, 1 e-6, 40);minres在39次迭代时收敛到相对残差为1.3e-007的解
[1]巴雷特,R.,M。莓果,T.F。陈等人,用于线性方程组的求解模板:构建块的迭代方法,SIAM,费城,1994年。
[2]佩奇,C. C.和M. A.桑德斯,“线性方程组的稀疏不定系统解决方案”。SIAM J. NUMER。肛门,第12卷,1975年,第617-629。