下一节:预处理的一般框架
上一级:预条件特征值求解器
上一节:预条件特征值求解器
引言
我们考虑一类广义的对称正定特征值问题,其形式为
(A - \lambda B)x=0
其中A和B是n阶实对称矩阵,且假设A为正定矩阵。
这描述了一个具有离散谱的正则矩阵束A - \lambda B,包含n个实数特征值,其中某些可能为无穷大,
\lambda_1 \leq \lambda_2 \leq \cdots \leq \lambda_n。若B为非奇异矩阵,则所有特征值均为有限值。若B为半正定矩阵(例如,B=I),则所有特征值均为正数,
我们考虑计算矩阵束A - \lambda B的最小m个特征值的问题。当B为不定矩阵时,考虑矩阵束B - \mu A及其特征值更为方便,
\mu = \frac 1 \lambda, \quad\mu_{\min} = \mu_n \leq \cdots \leq \mu_1 = \mu_{\max},
我们希望计算最大的m个特征值,即\mu_1, \ldots, \mu_m。计算最小m个特征值\mu_i的问题可以通过将B替换为-B来重新表述为前述问题。在屈曲问题中,最大的和最小的特征值\mu_i都具有重要意义。
众所周知,满足(B - \mu_i A) x_i = 0的(右)特征向量x_i可以选择为正交的,具体含义如下:
(x_i,A x_j) = (x_i, B x_j) = 0, \qquad i \neq j.
一类重要的特征值问题是网格特征值问题,源自数学物理中自伴微分算子的边界值问题的离散化。网格特征值问题具有以下典型特性:
这类问题出现在结构力学等领域,其中通常称A为刚度矩阵,B为质量矩阵。质量矩阵通常是正定的,但在某些应用中,例如在屈曲问题中,矩阵B仅为非负的,甚至是非定的,而A为正定的。
为了简洁起见,在本节的其余部分,我们仅处理矩阵束B - \mu A。当B=I且\lambda = 1 / \mu时,我们的结果和论证可以直接应用于矩阵束A - \lambda I。
现在,我们简要考虑两种传统的广义特征值问题求解方法。
一种流行的方法是基于移位-逆变换算子的乘法:
x^{(i+1)}=(B - \mu A)^{-1}Ax^{(i)};
参见第4.3节。该方法允许我们快速计算最接近移位\mu的特征值,假设这一操作可以通过B - \mu A的显式高效三角分解来实现。通过适当选择的变量移位,例如基于瑞利商
(x) = (x,Bx)(x,Ax),
对称特征值问题的收敛速度为三次方。然而,对于非常大的问题,这种分解通常成本过高。取而代之的是,可以采用迭代系统求解器对相应的线性系统进行近似求解。这样,我们得到一个内-外迭代方法,其中外迭代可能因内步骤数量不足而显著减慢。如果我们考虑内-外迭代步骤的总数,收敛速度通常仅为线性。
如果使用预处理的迭代求解器进行内迭代,这种方法就变成了一种预处理特征值求解器。我们将在第11.3.7节讨论这种方法。
另一种方法是在B可以高效分解的情况下使用,这样我们可以通过AB^{-1}或B^{-1}A乘以向量,并使用传统的Lanczos方法;参见第4.4节。在这种情况下,单次迭代成本不高,但收敛可能较慢。如果B是不定的,我们需要使用多项式方法在中谱中寻找特征值\lambda_i,这是一个已知难题。如果B是正定的,情况则较为简单,因为我们希望找到极值(最小)特征值\lambda_i。然而,
\frac{\lambda_{m+1} - \lambda_m}{\lambda_{\max} - \lambda_{\min}}
这一比值通常表征\lambda_m的收敛速度,由于分母较大,可能导致收敛缓慢。
因此,上述传统方法通常对于非常大的特征值问题效率不高。预处理是显著提升性能的关键。
下一节:预处理的一般框架
上一级:预条件特征值求解器
上一节:预条件特征值求解器
Susan Blackford
2000-11-20