矩阵的秩(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)
上一篇 2022年5月7日 下午12:20
下一篇 2022年5月7日 下午12:40


相关推荐

  • pycharm是下载社区版本的还是专业版本_vs专业版和企业版区别

    pycharm是下载社区版本的还是专业版本_vs专业版和企业版区别好多初用pycharm的朋友,不知道PyCharm专业版和PyCharm社区版的区别,总体而说pycharmpro2019mac是一种PythonIDE,带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具,比如调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制。此外,该IDE提供了一些高级功能,以用于支持Django框架下的专业Web开发。…

    2022年8月29日
    5
  • webpack打包普通html项目,webpack打包处理

    webpack打包普通html项目,webpack打包处理简介 webpack 是前端最流行的打包工具 能够做到以下 1 将 sass less 等预编译的 CSS 语言转化为浏览器能够识别的 css 文件 2 能够将多个文件 比如 多个 sass 文件 打包生成一个文件 3 能够打包 images styles assets scripts 等前端常见的文件 4 搭建了开发环境 开启了服务器 5 监视文件变化 文件改变后 能够自动刷新浏览器 6 对于 V

    2026年3月19日
    1
  • plc中scl语言_plc中scr是什么意思

    plc中scl语言_plc中scr是什么意思本人小白一个,只是刚刚学习scl,想与大家分享一下,如果您是大佬,请勿喷。在我的理解,PLC就像单片机,而scl语言就像C语言,例如scl语言里的=就是C里的==如果学过C将会事半功倍,SCL语言学习并不需要什么网上视频,譬如我在某宝上买了一个视频,发现他讲的没有什么用处你只要会按F1,都能把他讲的找到,西门子的帮助功能十分强大,你可以找到基础的+,-,*,/,=,:=等等,他都会教给你使用及符…

    2022年10月7日
    4
  • 网页之定时器详解

    网页之定时器详解nbsp nbsp nbsp nbsp nbsp nbsp nbsp 在网页的特效制作中 经常要用到定时器 比如 间隔一定时间后页面自动跳转 或者间隔一定时间出现某种效果等等 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 若要页面定时跳转 简单的可以在 head 头部的 meta 标记中设定重定向就可以了 但我要说的是 javascript 中的定时器 它的功能是十分强大和有用的 nbsp nbsp nbsp nbsp nbsp nbsp nbsp 在 javascript 中有两个关于定时器的函数 它们是 nbsp nbsp 1 倒计定时器 timenam

    2026年3月17日
    2
  • webpack devtools_webpack loader和plugin的区别

    webpack devtools_webpack loader和plugin的区别首先我们需要知道sourcemap是什么?顾名思义资源映射,它做的就是维护打包处理后的代码与源代码之间的映射关系,只有映射的精确性则取决于webpack的配置项devtool,其决定了项目打包时是否以及如何生成sourcemap,而生成的sourcemap不同决定了构建产物的体积和构建以及重新构建的速度的不同。具体配置项可选值可参考webpack文档这里不一一列举。首先可以看一下webpack的源码,对应处理逻辑仅有20行:https://github.com/webpack/webpack/bl

    2022年10月6日
    9
  • SVN 配置ip访问[通俗易懂]

    SVN 配置ip访问[通俗易懂]之前为了对visualsvnserver服务器进行IP访问控制配置,参考了http://blog.sina.com.cn/s/blog_6dc4dbed0100zass.html介绍的办法解决了这个问题最近svnserver准备升级到V3.7.1版本,发现之前的办法不好使了,启动就直接报错:invalidcommand’Order’,度娘了一把,原来是Apache版本变化导致的.最新…

    2025年11月5日
    4

发表回复

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

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