草庐IT

矩阵乘法的秩的性质

长行 2024-02-19 原文

前置定理 1 矩阵方程 A X = b \boldsymbol{A} \boldsymbol{X} = \boldsymbol{b} AX=b 有解的充分必要条件是 R ( A ) = R ( A , B ) R(\boldsymbol{A}) = R(\boldsymbol{A},\boldsymbol{B}) R(A)=R(A,B)

证明见 “线性方程组与矩阵的秩”。

前置性质 2  R ( A T ) = R ( A ) R(\boldsymbol{A}^T) = R(\boldsymbol{A}) R(AT)=R(A)

证明见 “矩阵的秩的性质”。

前置定理 3 设 m × n m \times n m×n 矩阵 A \boldsymbol{A} A 的秩 R ( A ) = r R(\boldsymbol{A}) = r R(A)=r,则 n n n 元齐次线性方程组 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 的解集 S S S 的秩 R S = n − r R_S = n - r RS=nr

证明见 “齐次线性方程组系数矩阵的秩与解集的秩”。

前置定理 4 矩阵 A = O \boldsymbol{A} = \boldsymbol{O} A=O 的充分必要条件是方阵 A T A = O \boldsymbol{A}^T \boldsymbol{A} = \boldsymbol{O} ATA=O

证明见 “【证明】矩阵A=O的充要条件是方阵A^TA=O”。


性质 1  R ( A B ) ≤ min ⁡ { R ( A ) , R ( B ) } R(\boldsymbol{A} \boldsymbol{B}) \le \min \{R(\boldsymbol{A}),R(\boldsymbol{B})\} R(AB)min{R(A),R(B)}

证明 设 A B = C \boldsymbol{A} \boldsymbol{B} = \boldsymbol{C} AB=C,则知矩阵方程 A X = C \boldsymbol{A} \boldsymbol{X} = \boldsymbol{C} AX=C 有解 X = B \boldsymbol{X} = \boldsymbol{B} X=B。根据前置定理 1 有 R ( A ) = R ( A , C ) R(\boldsymbol{A}) = R(\boldsymbol{A}, \boldsymbol{C}) R(A)=R(A,C),从而有 R ( C ) ≤ R ( A , C ) R(\boldsymbol{C}) \le R(\boldsymbol{A},\boldsymbol{C}) R(C)R(A,C),进而有 R ( C ) ≤ R ( A ) R(\boldsymbol{C}) \le R(\boldsymbol{A}) R(C)R(A)

B T A T = C T \boldsymbol{B}^T \boldsymbol{A}^T = \boldsymbol{C}^T BTAT=CT,同理可证 R ( C T ) ≤ R ( B T ) R(\boldsymbol{C}^T) \le R(\boldsymbol{B}^T) R(CT)R(BT),根据前置性质 2,有 R ( C ) ≤ R ( B ) R(\boldsymbol{C}) \le R(\boldsymbol{B}) R(C)R(B)

综上所述, R ( C ) ≤ min ⁡ { R ( A ) , R ( B ) } R(\boldsymbol{C}) \le \min \{R(\boldsymbol{A}),R(\boldsymbol{B})\} R(C)min{R(A),R(B)},得证。

定理 2 若 A m × n B n × l = O \boldsymbol{A}_{m \times n} \boldsymbol{B}_{n \times l} = \boldsymbol{O} Am×nBn×l=O,则 R ( A ) + R ( B ) ≤ n R(\boldsymbol{A}) + R(\boldsymbol{B}) \le n R(A)+R(B)n

证明 记 B = ( b 1 , b 2 , ⋯   , b l ) \boldsymbol{B} = (\boldsymbol{b}_1,\boldsymbol{b}_2,\cdots,\boldsymbol{b}_l) B=(b1,b2,,bl),则
A ( b 1 , b 2 , ⋯   , b l ) = ( 0 , 0 , ⋯   , 0 ) \boldsymbol{A} (\boldsymbol{b}_1,\boldsymbol{b}_2,\cdots,\boldsymbol{b}_l) = (\boldsymbol{0},\boldsymbol{0},\cdots,\boldsymbol{0}) A(b1,b2,,bl)=(0,0,,0)

A b i = 0   ( i = 1 , 2 , ⋯   , l ) \boldsymbol{A} \boldsymbol{b}_i = \boldsymbol{0} \ (i=1,2,\cdots,l) Abi=0 (i=1,2,,l)
表明矩阵 B \boldsymbol{B} B l l l 个列向量都是齐次方程 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 的解。记方程 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 的解集为 S S S,由 b i ∈ S \boldsymbol{b}_i \in S biS,知有 R ( b 1 , b 2 , ⋯   , b l ) ≤ R S R(\boldsymbol{b}_1,\boldsymbol{b}_2,\cdots,\boldsymbol{b}_l) \le R_S R(b1,b2,,bl)RS,即 R ( B ) ≤ R S R(\boldsymbol{B}) \le R_S R(B)RS。因为根据前置定理 3,有 R ( A ) + R S = n R(\boldsymbol{A}) + R_S = n R(A)+RS=n,所以 R ( A ) + R ( B ) ≤ n R(\boldsymbol{A}) + R(\boldsymbol{B}) \le n R(A)+R(B)n

引理 若 n n n 元齐次线性方程组 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 B x = 0 \boldsymbol{B} \boldsymbol{x} = \boldsymbol{0} Bx=0 同解,则 R ( A ) = R ( B ) R(\boldsymbol{A}) = R(\boldsymbol{B}) R(A)=R(B)

证明 由于方程组 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 B x = 0 \boldsymbol{B} \boldsymbol{x} = \boldsymbol{0} Bx=0 有相同的解集,不妨将相同其设为 S S S。根据前置定理 3,有 R ( A ) = n − R S R(\boldsymbol{A}) = n - R_S R(A)=nRS R ( B ) = n − R S R(\boldsymbol{B}) = n - R_S R(B)=nRS。因此 R ( A ) = R ( B ) R(A) = R(B) R(A)=R(B)

根据引理,当矩阵 A \boldsymbol{A} A B \boldsymbol{B} B 的列数相等时,要证 R ( A ) = R ( B ) R(\boldsymbol{A}) = R(\boldsymbol{B}) R(A)=R(B),只需证明齐次方程 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 B x = 0 \boldsymbol{B} \boldsymbol{x} = \boldsymbol{0} Bx=0 同解。

定理 3  R ( A T A ) = R ( A ) R(\boldsymbol{A}^T \boldsymbol{A}) = R(\boldsymbol{A}) R(ATA)=R(A)

证明 根据引理的结论,要证明 R ( A T A ) = R ( A ) R(\boldsymbol{A}^T \boldsymbol{A}) = R(\boldsymbol{A}) R(ATA)=R(A),只需证明 ( A T A ) x = 0 (\boldsymbol{A}^T \boldsymbol{A}) \boldsymbol{x} = \boldsymbol{0} (ATA)x=0 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 同解。

x \boldsymbol{x} x 满足 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0,则有 A T ( A x ) = 0 \boldsymbol{A}^T (\boldsymbol{A} \boldsymbol{x}) = \boldsymbol{0} AT(Ax)=0,即 ( A T A ) x = 0 (\boldsymbol{A}^T \boldsymbol{A}) \boldsymbol{x} = \boldsymbol{0} (ATA)x=0

x \boldsymbol{x} x 满足 ( A T A ) x = 0 (\boldsymbol{A}^T \boldsymbol{A}) \boldsymbol{x} = \boldsymbol{0} (ATA)x=0,则有 x T ( A T A ) x = 0 \boldsymbol{x}^T (\boldsymbol{A}^T \boldsymbol{A}) \boldsymbol{x} = 0 xT(ATA)x=0,即 ( A x ) T ( A x ) = 0 (\boldsymbol{A} \boldsymbol{x})^T (\boldsymbol{A} \boldsymbol{x}) = 0 (Ax)T(Ax)=0。根据前置定理 4 可知, A x = 0 \boldsymbol{A} \boldsymbol{x} = 0 Ax=0

因此,方程组 ( A T A ) x = 0 (\boldsymbol{A}^T \boldsymbol{A}) \boldsymbol{x} = \boldsymbol{0} (ATA)x=0 A x = 0 \boldsymbol{A} \boldsymbol{x} = \boldsymbol{0} Ax=0 同解,进而有 R ( A T A ) = R ( A ) R(\boldsymbol{A}^T \boldsymbol{A}) = R(\boldsymbol{A}) R(ATA)=R(A)。得证。

有关矩阵乘法的秩的性质的更多相关文章

  1. 旋转矩阵的几何意义 - 2

    点向量坐标矩阵的几何意义介绍旋转矩阵的几何含义之前,先介绍一下点向量坐标矩阵的几何含义点:在一维空间下就是一个标量,如同一条直线上,以任意某一个位置为0点,以一定的尺度间隔为1,2,3...,相反方向为-1,-2,-3...;如此就形成了一维坐标系,这时候任何一个点都可以用一个数值表示,如点p1=5,即即从原点出发沿着x轴正方向移动5个尺度;点p2=-3,负方向移动3个尺度;     在一维坐标系上过原点做垂直于一维坐标系的直线,则形成了二维坐标系,此时描述一个点需要两个数值来表示点p3=(3,2),即从原点出发沿着x轴正方向移动3个尺度,在此基础上沿着y轴正方向移动两个尺度的位置就是点p3。

  2. ruby - ruby 乘法语句中星号中断语法前的空格 - 2

    在添加一些空格以使代码更具可读性时(与上面的代码对齐),我遇到了这个:classCdefx42endendm=C.new现在这将给出“错误数量的参数”:m.x*m.x这将给出“语法错误,意外的tSTAR,期待$end”:2/m.x*m.x这里的解析器到底发生了什么?我使用Ruby1.9.2和2.1.5进行了测试。 最佳答案 *用于运算符(42*42)和参数解包(myfun*[42,42])。当你这样做时:m.x*m.x2/m.x*m.xRuby将此解释为参数解包,而不是*运算符(即乘法)。如果您不熟悉它,参数解包(有时也称为“spl

  3. ruby-on-rails - 浮点乘法的 Ruby 奇怪问题 - 2

    有没有人用ruby​​解决这个问题:假设我们有:a=8.1999999我们想将它四舍五入为2位小数,即8.20,然后乘以1,000,000得到8,200,000我们是这样做的;(a.round(2)*1000000).to_i但是我们得到的是8199999,为什么?奇怪的是,如果我们乘以1000、100000或10000000而不是1000000,我们会得到正确的结果。有人知道为什么吗?我们正在使用ruby​​1.9.2并尝试使用1.9.3。谢谢! 最佳答案 每当你在计算中得到时髦的数字时使用bigdecimalrequire'bi

  4. 华为OD机试真题 C++ 实现【带传送阵的矩阵游离】【2023 Q2 | 200分】 - 2

            所有题目均有五种语言实现。C实现目录、C++实现目录、Python实现目录、Java实现目录、JavaScript实现目录题目n行m列的矩阵,每个位置上有一个元素你可以上下左右行走,代价是前后两个位置元素值差的绝对值.另外,你最多可以使用一次传送阵(只能从一个数跳到另外一个相同的数)求从走上角走到右下角最少需要多少时间。输入描述:第一行两个整数n,m,分别代表矩阵的行和列。后面n行,每行m个整数,分别代表矩阵中的元素。输出描述:一个整数,表示最少需要多少时间。

  5. 欧拉角表示的姿态矩阵(313和312转序) - 2

    一、习惯约定图片来自PSINS(高精度捷联惯导算法)PSINS工具箱入门与详解.pptx二、基本旋转矩阵绕x轴逆时钟旋转α\alphaα角度Rx(α)=[ 1000cos⁡αsin⁡α0−sin⁡αcos⁡α]R_x(\alpha)=\begin{bmatrix}\1&0&0\\0&\cos\alpha&\sin\alpha\\0&-\sin\alpha&\cos\alpha\end{bmatrix}Rx​(α)=​ 100​0cosα−sinα​0sinαcosα​​绕y轴逆时钟旋转α\alphaα角度Ry(α)=[ cos⁡α0−sin⁡α010sin⁡α0cos⁡α]R_y(\alpha

  6. 欧拉角、旋转矩阵及四元数 - 2

    欧拉角、旋转矩阵及四元数1.简介2.欧拉角2.1欧拉角定义2.2右手系和左手系2.3转换流程3.旋转矩阵4.四元数4.1四元数与欧拉角和旋转矩阵之间等效变换4.2测试Matlab代码5.总结1.简介常用姿态参数表达方式包括方向余弦矩阵、欧拉轴/角参数、欧拉角、四元数以及罗德里格参数等。高分辨率光学遥感卫星主要采用欧拉角与四元数对姿态参数进行描述。这里着重讲解欧拉角、旋转矩阵和四元数。2.欧拉角2.1欧拉角定义欧拉角是表征刚体旋转的一种方法之一,由莱昂哈德·欧拉引入的三个角度,用于描述刚体相对于固定坐标系的方向。在摄影测量、空间科学或其它技术领域,一般用一组(三个)欧拉角描述两个空间坐标之间的旋

  7. ruby - 如何修改矩阵(Ruby std-lib Matrix 类)? - 2

    我理解RubystdlibMatrix是不可修改的,也就是说,例如。m=Matrix.zero(3,4)不会写m[0,1]=7但我非常想做...我可以用笨拙的编程来做,比如defmodify_value_in_a_matrix(matrix,row,col,newval)ary=(0...m.row_size).map{|i|m.rowi}.map(&:to_a)ary[row][col]=newvalMatrix[*ary]end...或者作弊,比如Matrix.send:[]=,0,1,7但我想知道,这一定是人们一直遇到的问题。有没有一些标准的、习惯的方法可以做到这一点,而不必使用

  8. 线性代数让我想想:快速求三阶矩阵的逆矩阵 - 2

    快速求三阶矩阵的逆矩阵前言一般情况下,我们求解伴随矩阵是要注意符号问题和位置问题的(如下所示)A−1=1[  ][−[  ]−[  ]−[  ]  −[  ]]=A−1=1[  ][   M11−[M12]   M13−[M21]   M22−[M23]     M31−[M32]   M33]⊤\begin{aligned}&A^{-1}=\frac{1}{[\\]}\left[\begin{array}{cccccc}&-[\\]&\\-[\\]&&-[\\]\\\\&-[\\]&\\\end{array}\right]=\\\\&A^{-1}=\frac{1}{[\\]}\left[\b

  9. 相机校准—外参矩阵 - 2

    在本文中,我们将探讨摄影机的外参,并通过Python中的一个实践示例来加强我们的理解。相机外参摄像头可以位于世界任何地方,并且可以指向任何方向。我们想从摄像机的角度来观察世界上的物体,这种从世界坐标系到摄像机坐标系的转换被称为摄像机外参。那么,我们怎样才能找到相机外参呢?一旦我们弄清楚相机是如何变换的,我们就可以找到从世界坐标系到相机坐标系的基变换的变化。我们将详细探讨这个想法。具体来说,我们需要知道相机是如何定位的,以及它在世界空间中的位置,有两种转换可以帮助我们:有助于确定摄影机方向的旋转变换。有助于移动相机的平移变换。让我们详细看看每一个。旋转通过旋转改变坐标让我们看一下将点旋转一个角度

  10. ruby - Ruby 中的有限矩阵 - 2

    为什么Matrix类没有方法来编辑它的向量和组件?似乎矩阵中的所有内容都可以读取但不能写入。我错了吗?是否有一些类似于Matrix的第三方优雅类允许我删除行并有意地编辑它们?如果没有这样的类(class),请通知我——我将停止搜索。 最佳答案 Matrix类的设计者一定是不可变数据结构和函数式编程的爱好者。是的,你是对的。无论如何,总有一个简单的解决方案可以满足您的需求。使用Matrix它可以做的事情,然后,只需使用.to_a来获得一个真正的数组。>>Matrix.identity(2).to_a=>[[1,0],[0,1]]另见N

随机推荐