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 rankABrankB。当矩阵 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=rankBk ,其中 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=rankAk ,其中 k k k 是矩阵 A A A 行向量组的极大无关组中满足 a r i T B = 0 \mathbf{a^T_{ri}}B=\mathbf{0} ariTB=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 rankABrankA

矩阵乘积 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=ar1TBar2TBarmTB 中每个向量都是矩阵 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 rankABrankB

上面两不等式什么情况下取等号呢?矩阵 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) rankABmin(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 ,维度提高了。所以线性变换只有升维变换才有可能保持秩不变,信息量不减小,降维变换可能会损失信息。

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Java异常处理简单实例

    Java异常处理简单实例Java异常处理异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的。比如说,你的代码少了一个分号,那么运行出来结果是提示是错误java.lang.Error;如果你用System.out.println(11/0),那么你是因为你用0做了除数,会抛出java.lang.ArithmeticException的异常。异常发生的原因有很多,通常包含以下几大…

  • JQuery学习—JQuery-Validation 使用

    JQuery 的学习之 JQuery—Validate验证功能

  • c++关机程序

    c++关机程序//system(“shutdown-s-t10”);//关机system(“cls”);//清屏Sleep()//延时等待这是一个电脑关机程序,但不要无聊尝试,可以在关机是使用HideCursor(); //隐藏光标#include#include<stdio.h>#include<windows.h>#includeintmain(){system(“shutdown-s-t60”);}…

  • SATA接口定义

    SATA接口定义转自:https://blog.csdn.net/u013000139/article/details/50371568SATA数据接口(7针)电源接口(15针)定义详解SATA是SerialATA(SerialAdvancedTechnologyAttachment)亦称串行ATA,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范。…

  • 安卓root权限管理_root权限在哪里设置

    安卓root权限管理_root权限在哪里设置Android权限说明Android系统是运行在Linux内核上的,Android与Linux分别有自己的一套严格的安全及权限机制,Android系统权限相关的内容,(一)linux文件系统上的权限-rwxr-x–xsystemsystem41562012-06-3016:12test.apk.代表的是相应的用户/用户组及其他人对此文件的访问权限,与此文件运行起来

    2022年10月29日
  • 使用Babel将es6转换es5

    使用Babel将es6转换es5目录Babel是什么?命令行转换babel-cli安装使用配置文件babel-polyfill安装在js中使用将Babel集成到webpack中Babel配置webpack配置1)安装webpack2)添加配置文件webpack.config.js3)修改package.json4)打包 拓展npm中save与save-d…

发表回复

您的电子邮箱地址不会被公开。

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