3.2 矩阵乘积的秩

3.2 矩阵乘积的秩矩阵乘积的秩矩阵乘积ABABAB的秩和矩阵A,BA,BA,B的秩有什么关系呢?首先直观上说明。线性映射Ax=yA\mathbf{x}=\mathbf{y}Ax=y,当矩阵AAA是列满秩矩阵时,即无关组时,映射是单射,所以定义域内一个向量x\mathbf{x}x对应值域内一个向量y\mathbf{y}y,值域内一个向量y\mathbf{y}y也对应定义域内一个向量x…

大家好,又见面了,我是你们的朋友全栈君。

矩阵乘积的秩

矩阵乘积 A B AB AB 的秩和矩阵 A , B A,B A,B 的秩有什么关系呢?

首先直观上说明。线性映射 A x = y A\mathbf{x}=\mathbf{y} Ax=y ,当矩阵 A A A 是列满秩矩阵时,即无关组时,映射是单射,所以定义域内一个向量 x \mathbf{x} x 对应值域内一个向量 y \mathbf{y} y ,值域内一个向量 y \mathbf{y} y 也对应定义域内一个向量 x \mathbf{x} x ,或者说,在值域和定义域内,该映射是一一映射,所以值域内所有向量张成空间的维度等于定义域内所有向量张成空间的维度。 A B AB AB 的定义域是矩阵 B B B 的向量组,值域是矩阵 A B AB AB 的向量组,所以它们张成的空间维度相等,即 r a n k A B = r a n k B rank AB = rank B rankAB=rankB ,是秩恒等映射。当矩阵 A A A 不是列满秩矩阵时,即相关组时,定义域内存在很多向量 x \mathbf{x} x 对应值域内零向量 0 \mathbf{0} 0 ,或者说,在值域和定义域内,该映射是多映射,不是一一映射。零向量 0 \mathbf{0} 0 不能张开空间,故变换后的空间维度会缩小,秩减小,即 r a n k A B ≤ r a n k B rank AB \leq rank B rankAB≤rankB。当矩阵 B B B 存在列向量满足 A b i = 0 A\mathbf{b_i}=\mathbf{0} Abi​=0 时,变换后秩会减小;当不存在列向量满足 A b i = 0 A\mathbf{b_i}=\mathbf{0} Abi​=0 时,即使矩阵 A A A 不是列满秩矩阵,变换后的秩也不会减小。 r a n k A B = r a n k B − k rank AB = rank B – k rankAB=rankB−k ,其中 k k k 是矩阵 B B B 列向量组的极大无关组中满足 A b i = 0 A\mathbf{b_i}=\mathbf{0} Abi​=0 列向量的数量。同理可得, r a n k A B = r a n k A − k rank AB = rank A – k rankAB=rankA−k ,其中 k k k 是矩阵 A A A 行向量组的极大无关组中满足 a r i T B = 0 \mathbf{a^T_{ri}}B=\mathbf{0} ariT​B=0 行向量的数量。

其次进行理论证明。矩阵乘积 A B = [ A b 1 , A b 2 , ⋯   , A b p ] AB=[ A\mathbf{b_1},A\mathbf{b_2},\cdots,A\mathbf{b_p} ] AB=[Ab1​,Ab2​,⋯,Abp​] 中每个向量都是矩阵 A A A 列向量组的线性组合,所以矩阵 A B AB AB 列向量都位于矩阵 A A A 列空间内,其张成列空间自然是矩阵 A A A 列空间的子空间,故矩阵乘积 A B AB AB 的秩小于等于矩阵 A A A 的秩,即
r a n k A B ≤ r a n k A rank AB \leq rank A rankAB≤rankA

矩阵乘积 A B = [ a r 1 T B a r 2 T B ⋮ a r m T B ] AB = \left[ \begin{matrix} \mathbf{a^T_{r1}}B \\ \mathbf{a^T_{r2}}B \\ \vdots \\ \mathbf{a^T_{rm}}B \end{matrix} \right] AB=⎣⎢⎢⎢⎡​ar1T​Bar2T​B⋮armT​B​⎦⎥⎥⎥⎤​ 中每个向量都是矩阵 B B B 行向量组的线性组合,所以矩阵 A B AB AB 行向量都位于矩阵 B B B 行空间内,其张成行空间自然是矩阵 B B B 行空间的子空间,故矩阵乘积 A B AB AB 的秩小于等于矩阵 B B B 的秩,即
r a n k A B ≤ r a n k B rank AB \leq rank B rankAB≤rankB

上面两不等式什么情况下取等号呢?矩阵 A B AB AB 列向量组虽然位于矩阵 A A A 列空间内,但当其为矩阵 A A A 列空间的基时, r a n k A B = r a n k A rank AB = rank A rankAB=rankA ,显然对矩阵 B B B 提出要求。矩阵 A B AB AB 行向量组虽然位于矩阵 B B B 行空间内,但当其为矩阵 B B B 行空间的基时, r a n k A B = r a n k B rank AB = rank B rankAB=rankB ,显然对矩阵 A A A 提出要求。

重要性质 矩阵 A A A 是列满秩矩阵时,对任意矩阵 B B B ,有 r a n k A B = r a n k B rank AB = rank B rankAB=rankB 。

证:首先证明当矩阵 B B B 是无关组时,矩阵 A B AB AB 也是无关组。只需证 $AB\mathbf{x} = \mathbf{0} $ 时, x = 0 \mathbf{x}=\mathbf{0} x=0 。 $AB\mathbf{x} = A(B\mathbf{x}) = \mathbf{0} $ ,因为矩阵 A A A 是列满秩矩阵,是无关组,所以 B x = 0 B\mathbf{x}=\mathbf{0} Bx=0 ,又因为矩阵 B B B 是无关组,所以 x = 0 \mathbf{x}=\mathbf{0} x=0 ,得证。矩阵 A B AB AB 和矩阵 B B B 都是无关组,所以它们列空间维度等于列数,又 A B AB AB 列数等于矩阵 B B B 列数,所以矩阵 A B AB AB 和矩阵 B B B 的列空间维度相等,即 r a n k A B = r a n k B rank AB = rank B rankAB=rankB 。

其次当矩阵 B B B 是相关组时,取其极大无关组 B ′ B’ B′ ,根据上面结论,得 r a n k A B ′ = r a n k B ′ rank AB’ = rank B’ rankAB′=rankB′ ,因为 r a n k A B = r a n k A B ′ = r a n k B ′ = r a n k B rank AB = rank AB’ = rank B’ = rank B rankAB=rankAB′=rankB′=rankB 。

矩阵 A A A 是列满秩矩阵,是 r a n k A B = r a n k B rank AB = rank B rankAB=rankB 的充分条件,不是必要条件。

重要性质 矩阵 B B B 是行满秩矩阵时,对任意矩阵 A A A ,有 r a n k A B = r a n k A rank AB = rank A rankAB=rankA 。

证法同理,把矩阵 A A A 看成行向量组即可。

还有一种证法,根据 r a n k A = r a n k A T rank A = rank A^T rankA=rankAT ,矩阵 B B B 是行满秩矩阵时,即矩阵 B T B^T BT 是列满秩矩阵 ,则 r a n k A B = r a n k ( A B ) T = r a n k B T A T = r a n k A T = r a n k A rank AB = rank (AB)^T = rank B^TA^T = rank A^T = rank A rankAB=rank(AB)T=rankBTAT=rankAT=rankA 。

矩阵 B B B 是行满秩矩阵,是 r a n k A B = r a n k A rank AB = rank A rankAB=rankA 的充分条件,不是必要条件。

重要性质 矩阵相乘,秩不增加,即 r a n k A B ≤ m i n ( r a n k B , r a n k A ) rank AB \leq min(rank B, rank A) rankAB≤min(rankB,rankA) 。矩阵 A A A 列满秩时,对任意矩阵 B B B 取等号;矩阵 B B B 行满秩时,对任意矩阵 A A A 取等号。

重要性质 可逆矩阵 P , Q P,Q P,Q,则 r a n k P A = r a n k A Q = r a n k P A Q = r a n k A rank PA = rank AQ = rank PAQ = rank A rankPA=rankAQ=rankPAQ=rankA ,即可逆矩阵变换保持秩不变。

因为可逆矩阵是行满秩矩阵和列满秩矩阵。该性质对证明矩阵秩关系十分重要。

这就能回答开头提到的两个问题。若矩阵 A A A 、 B B B 满足 A B = O A B = \mathbf{O} AB=O ,当矩阵 A A A 是列满秩矩阵时, r a n k B = r a n k O = 0 rank B = rank \mathbf{O} = 0 rankB=rankO=0 ,所以 B = O B= \mathbf{O} B=O ;当矩阵 B B B 是行满秩矩阵时, r a n k A = r a n k O = 0 rank A = rank \mathbf{O} = 0 rankA=rankO=0 ,所以 A = O A= \mathbf{O} A=O 。这一结论通常称为矩阵乘法的消除律。

线性变换把线性空间变换为线性空间,这两个空间的关系是,变换后的空间维度不会增加,只可能减小。矩阵的秩越大,认为矩阵包含的信息量越多,例如 0 0 0 秩矩阵是零矩阵,无任何信息。满秩矩阵,列向量组是基,包含信息最多,因为基可以表示空间任意向量。 行满秩矩阵,列向量组的极大无关组是基,包含信息也最多,但其包含冗余信息,因为除了基向量外,还有其它向量,这些向量就是冗余向量。从信息量角度看,线性变换可能会损失矩阵的信息,因为秩变小了,所以是有损变换。只有变换矩阵的列向量组是无关组时,才是无损变换。再从一个角度看,矩阵 A A A 是列满秩时,是无损变换,此时矩阵 A A A 的行数 m m m 大于等于列数 n n n ,矩阵 B B B 列向量维度是 n n n ,变换后矩阵 C = A B C=AB C=AB 列向量维度是 m m m ,维度提高了。所以线性变换只有升维变换才有可能保持秩不变,信息量不减小,降维变换可能会损失信息。

因为可逆矩阵是行满秩矩阵和列满秩矩阵。该性质对证明矩阵秩关系十分重要。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/139257.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • visitor设计模式ppt_常用的设计模式

    visitor设计模式ppt_常用的设计模式动机Visitor是访问者的意思。数据结构中保存着元素。一般我们需要对元素进行处理,那么处理元素的代码放在哪里呢?最显然的方法就是放在数据结构的类中,在类中添加处理的方法。但是如果有很多处理,就比较麻烦了,每当增加一种处理,我们就不得不去修改表示数据结构的类。visitor模式就是用来解决这个问题的,visitor模式将数据结构的定义和处理分离开。也就是会新增一个访问者的类,将数据元素的处理交给访问者类,这样以后要新增处理的时候,只需要新增访问者就可以了。模式定义将更新(变更)封装到一个类中(访问

    2022年8月8日
  • 查看php的配置文件Php.ini的位置

    查看php的配置文件Php.ini的位置

    2021年9月25日
  • 数据库设计实战(一):数据库设计规范「建议收藏」

    数据库设计实战(一):数据库设计规范「建议收藏」一、数据库设计流程1、需求分析确定用户对数据库系统的使用要求和各种约束条件,形成用户需求规约2、概念设计对用户要求描述的现实世界,通过对其分类、聚集和概括,建立抽象的概念数据模型3、逻辑设计将现实世界的概念数据模型设计成数据库的一种逻辑模式,即适应于某种特定数据库管理系统所支持的逻辑数据模式4、物理设计对具体的应用任务选定最合适的物理存储结构、存取方法和存取路径等5、验证设计在其他设计基础上,收集数据并具体建立一个数据库,运行一些典型的应用任务来验证数据库设计的正确性

    2022年7月12日
  • 阿里云SSL证书免费申请方法(图文教程)

    阿里云SSL证书免费申请方法(图文教程)2022阿里云免费SSL证书品牌为DIgicertDV单域名证书,每个阿里云账号可以申请20个免费SSL证书资源包,SSL证书大全图文详解阿里云SSL证书免费申请教程,包括SSL证书申请域名DNS验证等操作:阿里云SSL证书免费申请方法1、打开阿里云SSL证书页面,点击“选购SSL证书”,如下图:阿里云SSL证书申请页面2、SSL证书服务选择“DV单域名证书【免费试用】”,如下图:按照以下选择:商品类型:SSL证书 SSL证书服务:DV单域名证书【免费试用】 数量:20.

    2022年10月4日
  • html5之本地存储localStorage示例

    html5之本地存储localStorage示例

    2021年9月12日
  • vue关于页面刷新的几个方式[通俗易懂]

    vue关于页面刷新的几个方式[通俗易懂]在写项目的时候会遇到需要刷新页面重新获取数据,浅浅总结了一下几种方案。1.this.$router.go(0)强制刷新页面,会出现一瞬间的白屏,用户体验感不好。2.location.reload()也是强制刷新页面,和第一种方法一样,会造成一瞬间的白屏,用户体验感不好。3.跳转空白页再跳回原页面在需要页面刷新的地方写上:this.$router.push(’/emptyPage’),跳转到一个空白页。在emptyPage.vue里beforeRouteEnter钩子里控制页面跳转,从而达到刷新

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号