矩阵的秩(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},它有两个非零的横行。

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

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

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

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

(1)


相关推荐

  • Redis如何启动_电脑一直卡在配置更新100%

    Redis如何启动_电脑一直卡在配置更新100%Redis的配置、启动、操作和关闭一.启动Redis1.默认配置启动执行redis-server命令,按照默认的redis.conf配置文件中的配置启动Redis,如下:因为默认配置无法自定义配置。所以该方式不会再生产环境中使用2.运行配置启动在命令redis-server后加上要修改的配置名和值(可以设置多对),没有设置的………

  • 全局服务器负载均衡(GSLB)简介

    全局服务器负载均衡(GSLB)简介引言在过去的几年中,随着互联网的快速发展和企业应用WEB化,服务器负载均衡(SLB)技术已经不再陌生。服务器负载均衡根据用户数据请求中的4-7层信息将其智能转发到后端少则数台多则成百上千台应用服务器,并且确保根据事先定义的策略选择最佳的服务器进行转发,从而一定程度上解决了应用的可用性、扩展性等问题。但是,随着用户对应用可用性和扩展性需求的进一步增加,越来越多的用户不满足于在单一数据

  • Json使用教程

    Json使用教程使用第三方静态库的步骤:1、编译文件生成静态库。2、把相关的.h文件放入D:\VS2005安装目录\VC\include路径下。3、把相应的.lib文件放在D:\VS2005安装目录\VC\lib路径下。在使用中只需要将json.rar中的文件添加(并包含)到项目中链接:在需要使用Json的文件中添加json.h的头文件即可使用了使用教程如下:JsonCpp是一…

  • pycharm调试远程主机_eclipse连接远程服务器

    pycharm调试远程主机_eclipse连接远程服务器1.首先下载pycharm专业版,路径自寻,这边就不细说了。(社区版不支持远程配置)2.获取服务器的IP和密码3.打开pycharm,点击菜单栏:工具tools—>部署deployment–>configuration点击左上方+号step1:与服务器建立连接点击…点击确定我们的需求是,在pycharm编译器下使用服务器运行代码。因此,与服务器建立连接后,我们需要将本地文件映射到服务器中(有一种镜像的感觉?)故需要在服务器创建一个文件存放要运行的代码。s

  • 同步调用、回调和异步调用区别

    同步调用、回调和异步调用区别同步调用是以一种阻塞式调用比如说:古代的长城的烽火传递信息,现在我们假设每个烽火只能看到相邻的烽火状态,每个烽火的状态只有亮和暗。现在有A、B、C、D四个烽火,A首先点亮,B看到A的烽火亮了,立马去点火,花了2秒点亮。但是这时候负责C烽火的人在睡觉,可是这时候所有人都在等待C点亮,终于C睡了2个小时候看到了B点亮,然后去点亮。D由于长期没有点亮,导致烽火出现问题,因此整个过程都在等待D的完

  • C#操作 word代码

    推荐:http://www.cnblogs.com/roucheng/p/3521864.html

    2021年12月26日

发表回复

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

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