如何计算完全正交化方法的计算成本和存储?

计算科学 克雷洛夫法 线性系统 格瑞斯
2021-11-30 17:08:52

Saad教授的书中关于Full Orthogonalization Method (FOM)的分析,写道:

算法 6.4 (FOM):

r0=bAx0,β=r02,v1=r0/βDefineHm={hij}i,j=1,,m,SetHm=0;Forj=1,,mwj=AvjFori=1,,jhij=(wj,vi)wj=wjhijviendhj+1,j=wj2vj+1=wj/hj+1,jendym=Hm1(βe1),xm=x0+Vmym.

这是 Krylov 子空间中用于求解Ax=b的 FOM 方法,其中ARn×n是非奇异的。考虑到计算成本和存储,它被写为

算法每个步骤的成本的粗略估计确定如下。如果Nz(A)是 A 的非零元素的数量,则 Arnoldi 过程的 m 步将需要 m 个矩阵向量乘积,代价为2m × Nz(A)每个 Gram-Schmidt 步骤的成本大约为4 × j × n操作,这使 m 步骤的总数达到大约2m2n因此,平均而言,FOM 的一个步骤大约花费大约 2Nz(A) + 2mn. 存储,需要 m 个长度为 n 的向量来保存基础 Vm。必须使用额外的向量来保持当前解和右手边,以及矩阵向量乘积的临时向量。此外,必须保存 Hessenberg 矩阵 Hm。因此,总数大致为

(m+3)n+m22.
在大多数情况下m,相对于 来说很小n,所以这个成本由第一项支配。

我想问一下,一般来说,如何估计计算成本和存储?

0个回答
没有发现任何回复~