下一节:可用的软件 上一级:自适应块Lanczos方法 上一节:自适应块Lanczos方法

存储需求与浮点运算。

下表总结了ABLE在不同级别的存储需求。 为清晰起见,我们假设块大小为常数p。 为了在可变块情况下获得存储需求的上限,请将p替换为允许的最大块大小p_{\max}
级别 功能 存储需求
1 基本三项递归 matrix+6pn+3p^2 j^2 + 4pj
2 完全双正交性 额外2jpn
3 半双正交性 额外2jpn+4p^2 j
4 处理崩溃或聚类 无额外需求
注意,matrix表示计算乘积AZA^{\ast}Z所需的存储空间。

为了维持完全或半双正交性,必须存储所有计算出的Lanczos向量\{ Q_i \}\{ P_i \}。 用户必须为此目的分配两个维度为nm的矩形数组的内存。如果内存有限,最佳补救措施是按照[207,110]中所述重新启动,但在ABLE的当前版本中无法实现。

现在,让我们总结一下每个Lanczos步骤执行的浮点运算成本。忽略低阶浮点运算成本。下表总结了ABLE实现中所需的不同类型的操作。

  矩阵- m-内积 m-saxpy m-缩放  
功能 m-向量 乘积     QR分解
  乘积 (X^{\ast} Y) (Y+Xa) (X a)  
基本三项 2 6 8 2 2
完全双正交   2j 2j    
半双正交   2      
这里的m-内积、m-saxpy和m-缩放表示将相应的Level 1 BLAS内积、saxpy和缩放操作推广到多向量操作。 与存储需求一样,为简单起见,我们假设块大小是恒定的。 多向量的维度为n\times p。 m-内积、m-saxpy和m-缩放分别涉及2p^2 n2p(p+1)n2p^2 n次浮点运算。 n\times pp\ll n)矩阵的QR分解(QRD)需要2p^2 n次浮点运算。 请注意,对于特定的问题和数据结构,某些操作可以更高效地执行。

以下偶发事件需要额外的浮点运算:



下一节:可用的软件 上一级:自适应块Lanczos方法 上一节:自适应块Lanczos方法
Susan Blackford 2000-11-20