逆矩阵

  逆矩阵的定义:如果对于一个方阵AA,存在一个方阵BB,使得AB=BA=IAB=BA=I,那么我们称BB为AA的逆矩阵,记做:A−1=B=1|A|A∗A^{-1}=B=\frac{1}{\vert A\vert}A^*,这里A∗A^*代表伴随矩阵。
  一个n∗nn*n的方阵存在逆矩阵的充要条件等价于:

  1. AA为非奇异矩阵
  2. rank(A)=nrank(A)=n
  3. AA的行向量线性无关
  4. AA的列向量线性无关
  5. det(A)≠0det(A)\ne0,即行列式不为0
  6. Ax=0Ax=0只有唯一平凡解x=0x=0
  7. Ax=bAx=b为一致方程,且有唯一解
  8. AA的零空间的维度为0

  如果对于方程Ax=bAx=b,当其中的某些线性约束成立的情况下,其他的线性约束不可能成立,则称该方程为非一致方程
  矩阵的零空间是指线性方程组Ax=0Ax=0的解向量张成的空间的。

  一些基本的性质这里不赘述,值得一提的是两个矩阵之和的求逆运算,它不同于转置等运算((A+B)T=AT+BT(A+B)^T = A^T+B^T)。

Sherman-Morrison公式:

(A+xyT)−1=A−1+A−1xyHA−11+yHA−1x

(A+xy^T)^{-1}=A^{-1}+\frac{A^{-1}xy^HA^{-1}}{1+y^HA^{-1}x}  这个公式还有很多形式的变体。

分块矩阵的求逆公式:

当A可逆时,[AVUD]−1=[A−1+A−1U(D−VA−1U)−1VA−1)−(D−VA−1U)−1VA−1−A−1U(D−VA−1U)−1(D−VA−1U)−1]−1

当A可逆时,\begin{bmatrix}A&U\\V&D\end{bmatrix}^{-1}=\begin{bmatrix}A^{-1}+A^{-1}U(D-VA^{-1}U)^{-1}VA^{-1})&-A^{-1}U(D-VA^{-1}U)^{-1}\\-(D-VA^{-1}U)^{-1}VA^{-1}&(D-VA^{-1}U)^{-1} \end{bmatrix}^{-1}

当A,D可逆时,[AVUD]−1化简为:[(A−UD−1V)−1−D−1V(A−UD−1V)−1−A−1U(D−VA−1U)−1(D−VA−1U)−1]−1

当A,D可逆时,\begin{bmatrix}A&U\\V&D\end{bmatrix}^{-1}化简为:\begin{bmatrix}(A-UD^{-1V})^{-1}&-A^{-1}U(D-VA^{-1}U)^{-1}\\-D^{-1}V(A-UD^{-1}V)^{-1}&(D-VA^{-1}U)^{-1}\end{bmatrix}^{-1}

广义逆矩阵

  我们看到,逆矩阵的定义仅仅针对方阵而言,但是实际应用中,我们遇到的很多问题并不满足这个条件,将矩阵的逆的定义扩展到任意矩阵,得到我们的广义逆矩阵:
  如果一个矩阵LL满足LA=I,A∈Rm∗nLA=I,A\in R^{m*n},则我们称LL为A的广义逆矩阵,特别地,对于LA=ILA=I,我们称为左逆矩阵,只有当m≥nm\ge n时,AA才可能有左逆矩阵;对于AL=IAL=I,我们称为右逆矩阵,只有当m≤nm\le n时,AA才可能有右逆矩阵。
证明如下,考虑m≥nm\ge n:

A=[BC],其中B∈Rn∗n,令L=[X,Y]满足LA=I,

A=\begin{bmatrix}B\\C\end{bmatrix},其中B\in R^{n*n},令L=[X,Y]满足LA=I,

我们有XB+YC=I,如B非奇异(这是可能的),只需要令X=B−1,Y=O即可

我们有XB+YC=I,如B非奇异(这是可能的),只需要令X=B^{-1},Y=O即可
  一个矩阵的广义逆矩阵往往不是唯一的,特别地,有以下形式的广义逆矩阵:

左逆:L=(AHA)−1AH唯一,且称为左伪逆矩阵

左逆:L=(A^HA)^{-1}A^H唯一,且称为左伪逆矩阵

右逆:L=AH(AAH)−1唯一,且称为右伪逆矩阵

右逆:L=A^H(AA^H)^{-1}唯一,且称为右伪逆矩阵
  是不是很眼熟?对了,这就是和最小二乘密切相关的两个广义逆矩阵!,左逆对应于超定问题(非一致方程)的最小二乘解,右逆对应于欠定问题(一致方程)的最小范数解


  现在,我们将左逆和右逆统一起来,用线性方程组的解的形式来描述:

对于A∈Rm∗n,秩任意,则A的广义逆矩阵是一个n∗m矩阵G

对于A\in R^{m*n},秩任意,则A的广义逆矩阵是一个n*m矩阵G

并使得当Ax=y(y≠0)为一致方程时,有解x=Gy,当且仅当G满足AGA=A

并使得当Ax=y(y \ne 0)为一致方程时,有解x=Gy,当且仅当G满足AGA=A
  最后一个等式也是广义逆的定义式:A−存在↔AA−A=AA^-存在\leftrightarrow AA^-A=A

  定理

  • A−存在↔A−A和AA−皆为幂等矩阵,即(AA−)2=AA−,(A−A)2=A−AA^-存在\leftrightarrow A^-A和AA^-皆为幂等矩阵,即(AA^-)^2=AA^-,(A^-A)^2=A^-A
  • A−存在↔rank(A)=rank(AA−)或rank(A)=rank(A−A)A^-存在\leftrightarrow rank(A)=rank(AA^-)或rank(A)=rank(A^-A)

广义逆矩阵的计算

  定理:对于任意的秩为rr的矩阵AA,都可以分解为:

A=Fm∗rGr∗n,F和G分别为列满秩和行满秩

A=F_{m*r}G_{r*n},F和G分别为列满秩和行满秩
  称为矩阵的满秩分解,求解步骤如下

  1. 将AA通过行初等变换化为阶梯矩阵,得到A=[GO]A=\begin{bmatrix}G\\O\end{bmatrix}
  2. 对单位矩阵执行上述变换的逆变换,得到I→P−1I\to P^{-1}

  3. A=FGA=FG,其中FF为P−1P^{-1}前rr列组成的子矩阵


  则AA的广义逆矩阵可以用以下公式求解:

A−=GT(FTAGT)−1FT

A^-=G^T(F^TAG^T)^{-1}F^T
  容易验证,它满足广义逆矩阵的定义式AA−A=A AA^-A=A
  且F和G分别为列满秩和行满秩,所以(FTAGT)−1=(FTFGGT)−1=(FTF)−1(GGT)−1(F^TAG^T)^{-1}=(F^TFGG^T)^{-1}=(F^TF)^{-1}(GG^T)^{-1}一定存在。

  回过头来,我们看看用广义逆矩阵来定义线性方程的解会有什么结论:

  定理1:齐次方程Ax=0Ax=0的一个通解为x=(I−A−A)zx=(I-A^-A)z,其中zz为任意的n*1向量。
定理2:非齐次方程Ax=yAx=y为一致方程的充要条件为:AA−y=yAA^-y=y。
  定理3:非齐次方程Ax=yAx=y的一个通解为x=A−y+(I−A−A)zx=A^-y+(I-A^-A)z,其中zz为任意的n*1向量。
上述三个定理可以通过直接验证广义逆矩阵的定义式得证。

Moore-Penrose逆矩阵

  由前面定义的逆矩阵求解超定问题(非一致方程)的最小二乘解和欠定问题(一致方程)的最小范数解时,解是不唯一的。因此将广义逆矩阵做进一步的约束,便得到Moore-Penrose逆矩阵(平时说的伪逆就是它),它能保证解的唯一性。

  定义满足下列性质的矩阵GG为矩阵AA的Moore-Penrose逆矩阵,记做A+A^+:

  1. AGA=AAGA=A
  2. GAG=GGAG=G
  3. (AG)H=AG(AG)^H=AG
  4. (GA)H=GA(GA)^H=GA

  Moore-Penrose逆矩阵是由Moore在1935年提出的,由于原始定义十分晦涩,于是Penrose于1955年提出了上述的四个条件,因此名为Moore-Penrose逆矩阵。

Moore-Penrose逆矩阵又根据满足上述条件的个数,分为以下几种:
①只满足条件1,2,称为自反广义逆矩阵
②只满足条件1,2,3,称为正则化广义逆矩阵
③只满足条件1,2,4,称为弱广义逆矩阵

注意,对于只满足某些条件的逆矩阵,它的秩总是大于等于原矩阵的秩。即:

rank(Ag)≥rank(A)=rank(AAg)=rank(AgA),当Ag为自反逆矩阵时取等。

rank(A^g)\ge rank(A)=rank(AA^g)=rank(A^gA),当A^g为自反逆矩阵时取等。
我们前面提到的左伪逆矩阵和右伪逆矩阵都是Moore-Penrose矩阵,满足四个条件。

Moore-Penrose逆矩阵的计算

1.方程求解法:

2.KL分解法:

  即通过矩阵的满秩分解求解,求解方式同上述的广义逆矩阵,只不过将转置运算换成共轭转置,容易验证,该法求解得到的结果满足上述四个条件。

PS:当使用Moore-Penrose逆矩阵求解超定问题(非一致方程)的最小二乘解时,不仅解唯一,且是最小二乘最小范数解

矩阵分析与应用(四)——逆矩阵、广义逆矩阵和Moore-Penrose逆矩阵相关推荐

  1. numpy求逆矩阵_线性代数精华2——逆矩阵的推导过程

    点击上方蓝字,和我一起学技术. 上一讲当中我们复习了行列式的内容,行列式只是开胃小菜,线性代数的大头还是矩阵. 矩阵的定义很简单,就是若干个数按照顺序排列在一起的数表.比如m * n个数,排成一个m ...

  2. 矩阵分析与计算学习记录-广义逆矩阵

    本章重点内容: Penrose方程 {1}-逆的计算及性质 Moore-Penrose逆的计算及性质 tips:广义逆矩阵是在系数矩阵不可逆的情况下进行求解 1. Penrose方程 1.1 广义逆的 ...

  3. IC/FPGA校招笔试题分析(四)再看Moore状态机实现序列检测器

    参加了几次笔试,发现序列检测器是常考的内容,而之前认为序列检测器真的很简单,但是这次X疆的笔试题做完之后,我怀疑自己了. 画状态转移图的时候,我开始犹豫了,我怕我会没考虑全,甚至有点晕. 人家又问: ...

  4. 逆矩阵 java_用java实现逆矩阵运算

    查java实现逆矩阵转换的代码,居然没怎么发现,想偷懒一下也不行.关于矩阵基本运算 :加 减 乘,转置矩阵,相当简单,能看见不少别人写的,但是就是没看见逆矩阵,不爽. 自己实现了下逆矩阵功能,可以是任 ...

  5. matlab中的a逆怎么使用方法,Matlab求逆矩阵怎么操作?求逆矩阵方法详解

    现在使用Matlab的朋友越来越多,而接下里的这篇文章小编就带来了Matlab求逆矩阵的操作方法,感兴趣的朋友就跟小编一起来学习一下吧. Matlab求逆矩阵的操作方法 方法一:用inv()函数求矩阵 ...

  6. Moore–Penrose伪逆

    设A∈Cm×n\mathbf{A}\in\mathbb{C}^{m\times n}A∈Cm×n,若存在n×mn\times mn×m的矩阵G\mathbf{G}G,同时满足 (1)AGA=A\mat ...

  7. 矩阵分析与应用-1.9-Moore-Penrose逆矩阵-Section3

    文章目录 前言 一.非一致方程的最小范数最小二乘解 二.广义逆矩阵的阶数递推计算 1. 左伪逆矩阵的阶数递推 2. 右伪逆矩阵的阶数递推 三.超定二维超越方程的求解 前言 本文学习过程来源是<矩 ...

  8. 矩阵分析与应用-6.2~6.3-奇异值分解-Section2

    文章目录 前言 一.奇异值的性质汇总 1. 奇异值服从的等式关系 2. 奇异值服从的不等式关系 二.秩亏缺最小二乘解 1. 低秩矩阵逼近 2. 有效秩 3. S V D \mathrm{SVD} SV ...

  9. 第四节、逆矩阵与转置矩阵

    一.关于逆元 (这里看不懂可以跳过) 在群论中有"逆元"这一概念. 提到逆元就要提到另一个概念:单位元(幺元,Identity). 我们依次来介绍,简单来说,设G是一个非空集合,@ ...

  10. matlab卷积矩阵绝对值,MATLAB矩阵分析和计算

    MATLAB矩阵分析和计算 编辑 锁定 讨论 上传视频 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧! <MATLAB矩阵分析和计算>是清华大学出版社出版的一本图 ...

最新文章

  1. 添加chorme插件时出现“程序包无效”
  2. python基础教程:修改Python列表中元素的几种方法
  3. qemu运行linux内核很慢,linux – qcow2图像的qemu存储性能非常慢
  4. 三个有名的决策树算法:CHAID、CART和C4.5
  5. oracle给每行加上序号,Oracle 根据分类字段给查询结果添加序号
  6. Tycoon:针对多种平台上的Java JIMAGE的勒索软件
  7. mysql load 占位符,mysql:用不存在的数据的占位符初始化摘要表
  8. SimpleDateFormat格式化
  9. mybatis-plus 逻辑删除
  10. centos7.x中设置hostname方法
  11. 回溯法2——和尚挑水
  12. matlab应力比法,一种考虑隧道围岩应力分布的强度应力比岩爆判据方法与流程
  13. csm和uefi_如何以简单正确的姿势理解“UEFI”和“BIOS”?
  14. 第一天mysq踩坑--ERROR 1820 (HY000): You must reset your password using ALTER USER statement before execut
  15. 读取assets目录下的文件详细介绍
  16. 【前端学习-函数】js基础学习笔记
  17. 精品文章!精讲光模块的方方面面,收藏!
  18. LOAD the data R语言-如何加载数据?
  19. 七月集训(22,23)字典树,有序集合
  20. 智能音箱硬件和软件介绍[上] 硬件结构解析[Soomal]

热门文章

  1. 微信小程序系列(5)如何用微信小程序写一个论坛?贴心代码详解(三)列表页
  2. 微信小程序双向绑定数据
  3. 【生活相关】北京南苑机场接人
  4. 地理探测器——空间统计分析
  5. java过滤关键字_java过滤敏感词汇
  6. Java躲子弹课设,Robocode高手的诀窍 - 躲避子弹[Java编程]
  7. tsql 正则_sql 正则表达式匹配
  8. hive sql 正则表达式
  9. java安装后怎么打开_java安装后怎么打开教程
  10. 64 位Instant Client连接64位PLSQL(win10)