python矩阵施密特标准型_矩阵与数值计算(3)——Schur标准型和Jordan分解

前言

之前介绍过几种矩阵分解方法,都可以有效的提升矩阵方程的数值求解问题,其中LU分解尤其适合于中小型、稠密矩阵的求解问题。我们最理想的矩阵就是可相似对角化的矩阵,直接可以分解成两个酉矩阵和一个对角矩阵的形式,那么如果一个矩阵不符合可相似对角化的条件应该怎么解决呢?这里提出Jordan分解,提供了对不可相似对角化矩阵分解的解决方案。

一、Schur标准型定义

给定一个矩阵A,可以通过相似正交变换成一个上三角矩阵(任意n阶方阵),其实可以将LU分解中的L进行施密特正交化。

,其中R是上三角矩阵,U是酉矩阵。

上面将X分解为UR,其中U是酉矩阵,R是上三角矩阵。那么我们可以得出Schur分解的定义。Schur分解

任意n阶方阵,酉相似于一个以其特征值为对角元的上三角矩阵R。

2. 特殊矩阵的特征系统

由Schur定理可以自然想到,什么样的矩阵会酉相似于对角矩阵呢?答案是正规矩阵。

正规矩阵

,若

,则称

为正规矩阵。

H这里表示共轭,类比于实数矩阵的转置的概念,因为矩阵中会包含虚数,所以使用H表示共轭。

Hermite矩阵:

斜Hermite矩阵:

酉阵:

对于上面这四种特殊的矩阵,对应的R各有不同,这里直接可以记忆结论:A为正规矩阵,R是对角矩阵。

A为Hermite矩阵时,R是实对角矩阵。

A为斜Hermite矩阵时,R是纯虚对角阵。

A为酉矩阵,R对角元的模为1

二、代数重数与几何重数

先来了解特征值的代数重数和几何重数的概念。对任意一个矩阵,我们都可以写出其特征值的表达形式,

,则其中

就被称为特征值

的代数重数,与之对应的线性无关特征向量的个数,即子空间

的维数,称为

的几何重数。

代数重数与几何重数的关系

对任何一个n阶方阵A的特征值

对应的几何重数

和代数重数

,总有

半单与亏损

设A为n阶方阵,

为其特征值,

分别为其代数重数和几何重数,如果总有

,那么我们称这个特征值是半单的,否则如果几何重数小于代数重数,则称这个特征值是亏损的。

我们还可以引申出几条基本概念:代数重数为1的特征值一定是半单的。

不同特征值对应的特征向量是线性无关的。

每个特征值都是半单的矩阵等价于相似对角化。

存在亏损的特征值的矩阵称为亏损矩阵等价于不可相似对角化。只要有一个特征值说亏损的就代表该方阵不可相似对角化。

由上面的定理和推论,我们知道一般的矩阵可以分为,可以相似对角化和不可相似对角化矩阵,那么对于不可相似对角化的矩阵我们就提出了Jordan分解,接下来了解一下具体什么是Jordan分解。

三、Jordan分解定义及Jordan标准块、Jordan标准型Jordan块

我们称如下形式的矩阵为Jordan块,Jordan块

2. Jordan标准型

简单来说,由若干个Jordan块构成的矩阵就是Jordan标准型。严谨的定义如下所示,Jordan标准型

特别注意的一点是,如果不计Jordan块的顺序,则Jordan标准型唯一。

那么如何才能求解得到Jordan标准型呢?

四、Jordan分解求解方法

Jordan标准型的基本特点:

① Jordan标准型是一个块对角矩阵,对角元是矩阵A的特征值

②对于特征值

,他的代数重数是Jordan标准型中以

为特征值的Jordan块的阶数之和。

③对于特征值

,它的几何重数,即与

对应的线性无关的特征向量的个数,恰为以

为特征值的Jordan块的个数。

通过下面这张图片,更加清晰了解这个Jordan标准型的样貌。Jordan标准型

直观来讲,如果有一个三阶矩阵,其三个特征值都相同,代数重数为3,几何重数为2,那么Jordan标准型如何呢?Jordan标准型

那么其实对于该三阶矩阵来说其实Jordan标准型是唯一的(不考率Jordan块的顺序)。

但是,很容易我们想到4阶矩阵,就存在问题,如果代数重数是4,几何重数为2,那么存在两种可能的Jordan标准型。两种可能的Jordan标准型

那么我们还记得上面的概念提到过,如果不考虑Jordan块的顺序,则Jordan标准型唯一,那么我们如何确定到底哪个是正确的呢?

这里引入一个判定公式:阶数判定公式

为了计算上的简便,我们从一阶Jordan块开始计算,计算其阶数,如果其阶数为0,则我们就知道Jordan块是两个2阶的Jordan块。

通过上面的过程我们可以确定J的形式,那么如何确定T的形式呢?

求解变换矩阵T:

根绝

,继而我们有

,假设

,推导过程如下,

详细求解过程,可以参考下面的例题,例题

Jordan分解的计算还是一如既往需要不断通过题目进行锤炼。

归纳一下计算步骤:

1.计算Jordan标准型计算矩阵的全部特征值

计算特征值的代数重数

计算特征值的几何重数

利用定理确定每个Jordan块的阶数(从1阶开始计算)

2.计算变换矩阵T求得Jordan标准型

计算每个Jordan块对应的Jordan链若Jordan块阶数为1,直接计算特征向量

若阶数大于1,则先计算特征向量,利用特征向量的线性组合得到链首,保证线性方程组有解,即

五、Hamilton-Cayley定理及其应用

利用Jordan变换,可以得到很重要的定理,Hamilton-Caylay定理,Hamilton-Caylay定理

其应用非常广泛,可以通过这个定理简化矩阵计算。例题例题

上面的

的计算有两种方式,一种是多项式带余除数法,另一种是待定系数法。其中待定系数法,可以参看第三小问的求解方式,不论是这里还是之后的求解,都非常推荐使用待定系数法,降低计算量,提升计算的准确度。

总结

Jordan分解是非常重要的一种矩阵分解,应用非常广泛,无论是为了应试还是实际科研编程都是矩阵计算的利器,之后介绍的矩阵函数计算会再次使用到Jordan分解。

下一节,介绍同样非常重要的奇异值分解。

你可能感兴趣的:(python矩阵施密特标准型)