我们将讨论四种特征分解方法,或者说四种等价于A - \lambda B的矩阵束,这些方法在求解特征问题时更为简便。本节内容类似于第2.5.4节。
第一种特征分解,即对角形式,仅在存在n个独立特征向量时才存在。 第二种,Weierstrass形式,将对角形式推广到所有特征多项式p(\lambda)不恒为零的矩阵束。我们也可以将Weierstrass形式描述为将Jordan形式矩阵推广到矩阵束。 与Jordan形式类似,Weierstrass形式可能非常病态(实际上,它可能会不连续变化),因此在数值计算中我们通常使用第三种,广义Schur形式,它在计算上更经济且更稳定。 我们简要提及第四种,我们称之为Weierstrass-Schur形式 1,它与Schur形式一样稳定,但能计算出Weierstrass形式提供的关于收缩子空间的某些详细信息。
定义\Lambda = {\rm diag}(\lambda_1 ,\ldots, \lambda_n )。如果存在n个独立的右特征向量x_1,\ldots,x_n,我们定义X = [x_1,\ldots,x_n]。X被称为A的(右)特征向量矩阵。类似地,令Y = [y_1,\ldots,y_n]为左特征向量矩阵。2n个等式A x_i = \lambda_i B x_i和y_i^* A = \lambda_i y_i^* B对于i=1,\ldots,n也可以写成 AX = BX \Lambda和 Y^*A = \Lambda Y^* B。X和Y还可以选择使得 Y^*AX = \Lambda_A和 Y^*BX = \Lambda_B均为对角矩阵,并且 \Lambda = \Lambda_A \Lambda_B^{-1} 2。如下分解
如果我们取X和Y的k列(例如\hat{X}= X(:,[2,3,5]) = 第2、3和5列,\hat{Y}= Y(:,[2,3,5])),那么这些列张成了A - \lambda B的一对收缩子空间。 如果我们取相应的子矩阵 \hat{\Lambda}_A = {\rm diag}(\lambda_{A,2} , \lambda_{A,3} , \lambda_{A,5} ) 和 \hat{\Lambda}_B = {\rm diag}(\lambda_{B,2} , \lambda_{B,3} , \lambda_{B,5} ),那么我们可以写出相应的部分对角形式为 \hat{Y}^* A \hat{X}= \hat{\Lambda}_A和\hat{Y}^* B \hat{X}= \hat{\Lambda}_B。如果\hat{X}和\hat{Y}的列被k个不同的向量替换,这些向量张成了相同的收缩子空间,那么我们将得到一个不同的部分特征分解 \check{Y}^* A \check{X}= \check{A}和\check{Y}^* B \check{X}= \check{B},其中\check{A}- \lambda \check{B}是一个k乘k的矩阵束,其特征值是\hat{\Lambda}= \hat{\Lambda}_A \hat{\Lambda}_B^{-1}的特征值,尽管\check{A}- \lambda \check{B}可能不是对角的。类似的生成部分特征分解的方法也适用于下面讨论的其他特征分解。
如果所有的\lambda_i都是不同的,那么存在n个独立的特征向量,对角形式存在。这是最简单且最常见的情况。例如,如果随机选取A和B 3,特征值不同的概率为1。
在第2.5.4节中,矩阵束A(0) - \lambda I的对角形式不存在,因为它只有一个独立的特征向量。相反,我们可以计算它的Weierstrass形式,它是如下分解
不幸的是,Weierstrass形式通常不适合数值计算,原因与Jordan形式不适合相同。详见第2.5.4节。
因此,我们使用以下形式的特征分解
最后,我们考虑Weierstrass-Schur形式。它相当复杂,因此我们在这里仅总结其特性。与Schur形式一样,它仅使用酉(正交)变换,因此可以稳定地计算。与Weierstrass形式一样,它明确显示了(Jordan)块的大小,并给出了比Schur形式更多的不变子空间的明确基。
许多教科书给出了使用A - \lambda B的Weierstrass形式求解常微分方程B \dot{x} (t) = A x(t)的显式解[114]。这些方法在数值上应避免使用,因为计算Weierstrass形式很困难。几乎所有这些问题都有基于广义Schur形式或某些情况下的Weierstrass-Schur形式的替代解法。