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可以是一个函数,它返回MxGmres(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)。
答:详情>>
答:详情>>
问:包皮环切后有瘢痕疙瘩怎么办?我是去年年底做的包皮环切手术,当时伤口裂开了一次,现...
答:我也做过包皮环切手术,裂开处(包皮系带处、阴茎右侧)也有明显的瘢痕疙瘩。但是我勃起时没有疼痛感。我当时伤口里面还有线条没有拆除干净,后来去医院的时候,护士说没什...详情>>
问:请问痛风病人日常生活中要注意些什么?需要每天服什么药物吗?
答:预防痛风饮食 1.戒吃高嘌呤的食物 动物内脏(肝、肠、肾、脑)、海产(鲍鱼、蟹、龙虾、叁文鱼、沙甸鱼、吞拿鱼、鲤鱼、鲈鱼、鳟鱼、鳕鱼)、贝壳食物、肉类(牛、羊、...详情>>