矩阵的秩(Rank)[通俗易懂]

矩阵的秩(Rank)[通俗易懂]定义一个矩阵A的列秩是A的线性无关的纵列的极大数目。类似地,行秩是A的线性无关的横行的极大数目。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵A的秩。通常表示为r(A),rank(A)或rk(A)。可替代定义用行列式定义设A为m*n矩阵,若A至少有一个r阶非零子式,而其所有r+1阶子式全为零,则称r为A的秩。性质m×n矩阵的秩不大于m且不大于n的一个非负整数,表示为rk(A)≤min(m,n)。有尽可能大的秩的.

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

定义

一个矩阵 A  的列秩是 A 的线性无关的纵列的极大数目。类似地,行秩是 A 的线性无关的横行的极大数目。矩阵的列秩和行秩总是相等的,因此它们可以简单地称作矩阵 A 的。通常表示为 r(A),rank(A) 或 rk(A)。

可替代定义

用行列式定义

设 A 为 m*n 矩阵,若 A 至少有一个 r 阶非零子式,而其所有 r+1 阶子式全为零,则称 r 为 A 的秩。

性质

  • m × n 矩阵的秩不大于m且不大于n的一个非负整数,表示为 rk(A) ≤ min(m, n)。有尽可能大的秩的矩阵被称为有满秩;类似的,否则矩阵是秩不足(或称为“欠秩”)的。
  • 只有零矩阵有秩 0。
  • A的秩最大为 min(m,n)。
  • 如果方块矩阵 A 是可逆的,当且仅当 A 有秩 n(也就是 A 有满秩)。
  • A 的秩等于 r,当且仅当存在一个可逆的 m*m 矩阵 X 和一个可逆的 n*n 矩阵 Y 使得 XAY=\begin{bmatrix} I_{r} & 0 \\ 0 & 0 \end{bmatrix}
  • 西尔韦斯特不等式:如果 A 是一个 m*n 的矩阵,且 B 是 n*k 的矩阵,则 rank(A)+rank(B)-n\leq rank(AB)
  • 如果 AB,ABC 和 BC 有定义,则 rank(AB)+rank(BC)\leq rank(B)+rank(ABC)
  • rank(A+B)\leq rank(A)+rank(B)
  • 如果 A 是实数上的矩阵,那么 rank(A^{T}A)=rank(AA^T)=rank(A)=rank(A^T)
  • 如果 A 是复数上的矩阵,那么 rank(A)=rank(\overline{A})=rank(A^T)=rank(A^*)=rank(A^*A)

举例

计算矩阵 A 的秩最容易的方法就是高斯消元法,即利用矩阵的初等变换生成一个行阶梯形矩阵,由于矩阵的初等变化不会改变矩阵的秩。

A=\begin{bmatrix} 2 & 4 & 1 & 3\\ -1 & -2 & 1 & 0\\ 0 & 0 &2 & 2\\ 3 & 6 & 2 & 5 \end{bmatrix},可以看到第 2 纵列是第 1 纵列的两倍,而第 4 纵列-等于第 1 和第 3 纵列的总和。第 1 和第 3 纵列是线性无关的,所以 A 的秩是 2。这可以用高斯算法验证。它生成下列A的行阶梯形矩阵:A=\begin{bmatrix} 1 & 2 & 0 & 1\\ 0 & 0 & 1 & 1\\ 0 & 0 & 0 & 0\\ 0 & 0 & 0 & 0 \end{bmatrix},它有两个非零的横行。

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

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

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


相关推荐

  • 时序数据库 mysql_时序数据库 应用场景

    时序数据库 mysql_时序数据库 应用场景influxDB介绍时间序列数据是以时间字段为每行数据的标示,比如股票市场的价格,环境中的温度,主机的CPU使用率等。但是又有什么数据是不包含timestamp的呢?几乎所有的数据都可以打上一个timestamp字段。时间序列数据更重要的一个属性是如何去查询它。在查询的时候,对于时间序列我们总是会带上一个时间范围去过滤数据。同时查询的结果里也总是会包含timestamp字段。InfluxDB是一…

    2022年10月4日
    1
  • Java-重载与重写的区别[通俗易懂]

    Java-重载与重写的区别[通俗易懂]重写(Override)规则:当子继承父类的方法时,此方法不适用于子的程序执行,需要进行重写。参数列表必须完全与被重写方法相同返回类型必须与被重写方法的返回类型相同子类重写的方法访问权限不能小于被重写的方法。父类的成员方法只能被它的子类重写声明为static和private的方法不能被重写,但是能够被再次声明重写(Override)和重载(Overload)的区别参数列表重写:参数列表必须与被重写的方法相同。重载:参数列表必须不同发生的位置重写:发生在子类中重载:发生在一个类

    2022年7月7日
    24
  • 腾讯架构大调整!七大事业群变六大事业群

    腾讯架构大调整!七大事业群变六大事业群微信又改版了,为了方便第一时间看到我们的推送,请按照下列操作,设置“置顶”:点击上方蓝色字体“程序员之家”-点击右上角“…”-点击“设为星标”。可以啦,让我们继续相互陪伴…

    2022年5月12日
    60
  • RAII机制_机制与机理的区别

    RAII机制_机制与机理的区别本文转载自:https://blog.csdn.net/wozhengtao/article/details/52187484前言    RAII的基本思想就是当对象的生命周期结束时,自动调用起析构函数。那以下将围绕RAII,全面的讲解RAII的相关知识。什么是RAII    RAII的英文全拼是…

    2025年7月12日
    2
  • pycharm显示没有interpreter_pycharm interpreter为空

    pycharm显示没有interpreter_pycharm interpreter为空在pycharm中创建新project的时候总会遇到interpreterinvalid,需要你去重新配置interpreter打开file-settings之后,选择project-projectinterpreter点击图中的图标,选择showall,可以看到所有的interpreter。可以看到有些interpreter位于c盘,有些位于d盘,有些是invalid。这是因为pycharm有其自己的虚拟机和interpreter,安装在自己的目录下,而c盘的interpr.

    2022年8月27日
    7
  • Dialog中使用Printf

    Dialog中使用Printf

    2021年8月20日
    47

发表回复

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

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