• 矩阵分析与应用(14)


     学习来源:《矩阵分析与应用》 张贤达 清华大学出版社

    一、矩阵分解的分类

            矩阵的分解是指通过线性变换,将某个给定或已知的矩阵分解为两个或三个矩阵标准型的乘积(或两个矩阵标准型之和)。

            根据矩阵分解后得到的矩阵的标准型以及是对单个矩阵还是矩阵束(由两个矩阵组成)或矩阵对进行分解来区分矩阵分解的类别。

    1. 单个矩阵的分解

            根据矩阵 A 分解后的矩阵的标准型,可以分为以下四大类。

    1)对角化分解:

            通过正交变换,将矩阵 A 对角化,又包含三种形式。

            ① 奇异值分解(SVD):A=U\Sigma V^H 或 U^HAV=\Sigma ,其中, U 和 V 为酉矩阵,\Sigma 为对角矩阵。主要针对一般矩阵的对角化分解。

            ② 特征值分解(EVD):A^HA=V\Sigma V^H 或 AA^H=U\Sigma U^H 。主要针对对称矩阵的对角化分解。

            ③ CS分解:可以看作是正交矩阵分块的同时对角化分解。

    2)三角化分解:

            将矩阵 A 分解为正交矩阵与三角矩阵之积,或分解为一个上三角矩阵与一个下三角矩阵之积,主要有三种形式。

            ① Cholesky 分解:A=GG^T ,其中,G 为下三角矩阵。主要针对对称正定矩阵的三角化分解。

            ② QR 分解:A=QR 或 Q^TA=R ,其中,Q 是正交矩阵,R 是上三角矩阵。主要针对一般矩阵的三角化分解。

            ③ LU 分解:A=LU ,其中,L 是单位下三角矩阵,U 是上三角矩阵。主要针对非奇异矩阵的三角化分解。

    3)三角 — 对角化分解:

            将矩阵分解为三个矩阵标准型(两个三角矩阵和一个对角矩阵)之积,或分解为两个矩阵标准型(对角矩阵和上三角矩阵)之和。主要有以下形式

            ① LDM^T 分解:A=LDM^T ,其中,L 和 M 为单位下三角矩阵,D 为对角矩阵。主要针对非对称矩阵的三角 — 对角化分解。

            ② LDL^T 分解:A=LDL^T 。主要针对对称矩阵的三角 — 对角化分解。

            ③ Schur 分解:Q^HAQ=D+N ,其中,Q 为酉矩阵,D 为对角矩阵,N 是严格上三角矩阵。主要针对复矩阵的三角 — 对角化分解。

    4)三对角化分解:

            Householder 三对角化分解:H^TAH=T ,其中,H=H_1H_2\cdots H_{n-2} 为 Householder 变换之积,且 T 是三对角矩阵。

    2. 矩阵束的分解

            矩阵束的分解主要用于求解矩阵束的广义特征值分解问题 Ax=\lambda Bx 中的 QZ 方法中,涉及两个矩阵的同时分解。这种分解的主要形式是广义 Schur 分解。

            广义 Schur 分解:Q^HAZ=T 和 Q^HBZ=S ,其中,Q 和 Z 为酉矩阵,T 和 S 为上三角矩阵。

            实现广义 Schur 分解需要先使用 Hessenberg 三对角化分解:Q^TAZ=H 和 Q^THZ=T ,其中,Q 和 Z 为正交矩阵,H 为上 Hessenberg 矩阵,T 是上三角矩阵。

    二、对角化分解

            定理(CS 分解):若 (k+j)\times (k+j) 矩阵

    Q=\begin{bmatrix} Q_{11} &Q_{12} \\ Q_{21}& Q_{22} \end{bmatrix}

    是正交的,其中,Q_{11} 是 k\times k 矩阵,且 k\geqslant j ,则存在正交矩阵 U_1,V_1\in R^{k\times k} 和正交矩阵 U_2,V_2\in R^{j\times j} 使得

    \begin{bmatrix} U_1 &O \\ O& U_2 \end{bmatrix}\begin{bmatrix} Q_{11} &Q_{12} \\ Q_{21} & Q_{22} \end{bmatrix}\begin{bmatrix} V_1 &O \\ O&V_2 \end{bmatrix}=\begin{bmatrix} I_{k-j} &O & O\\ O&C &S \\ O& -S & C \end{bmatrix}

    其中

    C=diag(c_1,c_2,\cdots ,c_j),\quad c_i=cos\theta_i

    S=diag(s_1,s_2,\cdots ,s_j),\quad s_i=sin\theta_i

    且 0\leqslant \theta_1\leqslant \theta_2\leqslant \cdots \leqslant \theta_j\leqslant \frac{\pi }{2} 。

    简单来说,CS 分解相当于将一个正交矩阵的各个分块同时对角化。

    三、Cholesky 分解和 LU 分解

    1. Cholesky 分解

            设 A=[a_{ij}]\in R^{n\times n} 是对称正定矩阵,则A=GG^T 称为矩阵 A 的 Cholesky 分解,其中,G\in R^{n\times n} 为下三角矩阵且对角线元素为正,即

    G=\begin{bmatrix} g_{11} & & &0 \\ g_{21}&g_{22} & & \\ \vdots &\vdots &\ddots & \\ g_{n1}&g_{n2} &\cdots & g_{nn} \end{bmatrix}

            下三角矩阵 G 称为 Cholesky 三角。此外,Cholesky 分解也称为“平方根法”,因为下三角矩阵 G 可以看作矩阵 A 的“平方根”。

            一个非奇异矩阵 A 的逆矩阵 A^{-1} 也可以通过 Cholesky 分解求得,即

    A^{-1}=G^{-T}G^{-1}

    其中,G^{-T}=(G^T)^{-1} 。

    2. LU 分解

            考虑到求解线性方程组 Ax=b 时,通过正交变换,将 m\times n 矩阵 A 分解为 A=LU ,其中,L 为 m\times m 单位下三角矩阵且 U 是 A 的 m\times n 阶梯型矩阵;此时令 y=Ux ,方程组 Ax=b 变为先求解 Ly=b ,解之得 y 。在求解 Ux=y 得到方程组的解向量 x 。

            于是,通过矩阵的 LU 分解,线性方程组 Ax=b 的求解分为两个三角矩阵方程的求解,步骤如下:

    1)计算 A=LU

    2)求解下三角矩阵方程 Ly=b ;

    3)求解上三角矩阵方程 Ux=y 。

    因此关键就是矩阵 A 的 LU 分解。

            定理(LU 分解):若 A\in R^{n\times n} 非奇异,且 A 的 LU 分解存在,则 A 的 LU 分解是唯一的,且

    det(A)=u_{11}u_{22}\cdots u_{nn} 

  • 相关阅读:
    标准库类型string和vector
    算法之滑动窗口
    软件开发项目 质量管理的6大关键事项
    flask返回的数据怎么是转义后的字符串啊
    LeetCode_443_压缩字符串
    Django中使用Celery和APScheduler实现定时任务
    华为ICT——第六章:深度学习和卷积神经网络/详篇
    XPS数据分析问题收集及解答-科学指南针
    Fastadmin后端表格动态展示列
    emq Neuron工业协议采集使用
  • 原文地址:https://blog.csdn.net/qq_40206924/article/details/125824545