与矩阵有关的四个子空间

掌握矩阵的四个子空间,就掌握了线性代数的半壁江山

之前说过,只要掌握①空间的一组基②空间的维数(基向量的个数),就获得了空间的所有信息

对于一个矩阵 A m × n \mathbf A_{m\times n} Am×n​

  • 列空间Column Space / 值域Range, C ( A ) C(\mathbf A) C(A):矩阵列向量张成的空间
    一定是 R m \mathbf R^m Rm的子空间(因为其向量坐标有 m m m个分量)
  • 零空间Null Space / 核, N ( A ) N(\mathbf A) N(A): A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的所有可能解向量集合
    一定是 R n \mathbf R^n Rn的子空间
  • 行空间Row Space, C ( A T ) C(\mathbf A^T) C(AT):矩阵行向量张成的空间
    一定是 R n \mathbf R^n Rn的子空间
  • 左零空间Left Null Space, N ( A T ) N(\mathbf A^T) N(AT): A T x = 0 \mathbf A^T \boldsymbol x=\boldsymbol 0 ATx=0的所有可能解向量集合
    一定是 R m \mathbf R^m Rm的子空间

四个子空间的关系

关于列空间和零空间的前置知识:

  • 记矩阵的秩 R a n k ( A m × n ) = r Rank(\mathbf A_{m\times n})=r Rank(Am×n​)=r
  • 对于方程 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的系数矩阵 A \mathbf A A,消元得到简化行阶梯型 R \mathbf R R,其中有 r r r个主元列,剩下的自由列都是主元列的线性组合
  • 进而有 n − r n-r n−r个自由变量,任意给定这些自由变量,可以得到 n − r n-r n−r个线性无关的特解,它们就是基础解系/零空间的一组基

先给出四个子空间的维数和基的结论

  • 列空间 C ( A ) C(\mathbf A) C(A):维数 r r r(主元/主变量个数)
    基:取自 A \mathbf A A中的列向量,具体位置对应简化行阶梯型 R \mathbf R R中的 r r r个主元列所在位置
    (注意并不是 R \mathbf R R中的列向量,因为初等行变换后列空间已经改变,但由于相关性不变, R \mathbf R R仍可用于指示 A \mathbf A A中列向量的最大无关组)

注意,做初等行变换,行空间和零空间不变、列空间和左零空间可能会改变、但列向量的线性相关性不变(例如消元导致矩阵最下方出现全0行,则列空间变小)

  • 问题:消元已经改变了列空间,为什么主元列(注意,不是消元后的主元所在列,而是消元前对应位置的那些原始列)还能作为矩阵A的列空间的一组基?
    首先,初等行变换不改变行空间,也就不改变秩r(秩是行/ 列向量中最大的线性无关向量组的向量数),那么列空间的维数也是r;
    其次,初等行变换不改变秩,就是说初等行变换不会改变列向量的线性相关性,因此消元后无关的那r个列,对应的消元前的无关的r个主元列,可以作为列空间的一组基
    详见:MIT—线性代数笔记10 四个基本子空间
  • 零空间 N ( A ) N(\mathbf A) N(A):维数 n − r n-r n−r
    基:在高斯消元解方程时,给定 n − r n-r n−r个自由变量的不同取值,得到的 n − r n-r n−r个线性无关的特解
  • 行空间 C ( A T ) C(\mathbf A^T) C(AT):维数 r r r(重要结论:行空间和列空间维数相同,后面给出证明)
    基:①对 A T \mathbf A^T AT求列空间的基(对 A T \mathbf A^T AT再做行变换,麻烦)②简化行阶梯型 R \mathbf R R中的 r r r个非零行

可见,列空间和行空间都可通过简化行阶梯型 R \mathbf R R来求出,实际上这就是求满秩分解(求出行/列空间的一组基)的过程,其中, R \mathbf R R的要求是:每行的非零首元为1(该元素为主元),每个主元所在的列中除了主元之外全为0元素

  • 左零空间 N ( A T ) N(\mathbf A^T) N(AT):维数 m − r m-r m−r
    基:求行变换 E \mathbf E E使得 E A = R \mathbf E\mathbf A=\mathbf R EA=R,则导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基

可见,这里有一种对偶关系:
零空间和行空间是 R n \mathbf R^n Rn的子空间,两者维数相加为 n n n;
左零空间和列空间是 R m \mathbf R^m Rm的子空间,两者维数相加为 m m m;

并且,行空间和零空间正交。理解:
可以简单想象,一个非零向量 [ 1 2 3 ] \left[\begin{array}{cc}1& 2 & 3\end{array}\right] [1​2​3​]不可能同时出现住行空间和零空间中,因为对于 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0,如果 A \mathbf A A的某行是 [ 1 2 3 ] \left[\begin{array}{cc}1& 2 & 3\end{array}\right] [1​2​3​],而 x = [ 1 2 3 ] T \boldsymbol x=\left[\begin{array}{cc}1& 2 & 3\end{array}\right]^T x=[1​2​3​]T,矩阵向量相乘肯定无法得到0

列空间和零空间的基的推导,在前置知识中已经给出

下面给出行空间和左零空间的推导

行空间的基

求解行空间的基:①对 A T \mathbf A^T AT求列空间的基(对 A T \mathbf A^T AT再做行变换,麻烦)②简化行阶梯型 R \mathbf R R中的 r r r个非零行

更简单的方法是第②个,原理是:
A \mathbf A A消元到 R \mathbf R R,一般过程是
A = [ 1 2 3 1 1 1 2 1 1 2 3 1 ] → … → [ 1 0 1 1 0 1 1 0 0 0 0 0 ] = [ I F 0 0 ] = R \boldsymbol{A}=\left[\begin{array}{llll} 1 & 2 & 3 & 1 \\ 1 & 1 & 2 & 1 \\ 1 & 2 & 3 & 1 \end{array}\right] \rightarrow \ldots \rightarrow\left[\begin{array}{llll} 1 & 0 & 1 & 1 \\ 0 & 1 & 1 & 0 \\ 0 & 0 & 0 & 0 \end{array}\right]=\left[\begin{array}{cc} I & F \\ 0 & 0 \end{array}\right]=\boldsymbol{R} A= ​111​212​323​111​ ​→…→ ​100​010​110​100​ ​=[I0​F0​]=R

前面说过,使用初等行变换不会改变矩阵的行空间,因为 A \mathbf A A的行向量,就是 R \mathbf R R的行向量的线性组合(初等行变换)

因此,简化行阶梯型 R \mathbf R R的 r r r个非零行的行向量,是 A \mathbf A A的行空间 最佳的/最简化的 基简化行阶梯型 R \mathbf R R通过最简的形式表现出了行空间,就好比单位矩阵是 R n R^n Rn空间最佳的基);
并且 A \mathbf A A的行空间的维数= R \mathbf R R的非零行个数( r r r个)

注意, R \mathbf R R的 r r r个非零行行向量是 A \mathbf A A的行空间的一组基;
但 A \mathbf A A对应位置的行向量,则不一定是行空间的一组基;

左零空间的基

求解左零空间的基:求行变换 E \mathbf E E使得 E A = R \mathbf E\mathbf A=\mathbf R EA=R,则导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基

原理:

前置知识:之前说过,矩阵A左乘B,相当于对B做行变换,而A右乘B,相当于对B做列变换;

求零空间的基,就是求 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的基础解系(一组无关列向量特解)
求左零空间,就是求 A T x = 0 \mathbf A^T \boldsymbol x=\boldsymbol 0 ATx=0的基础解系(一组无关列向量特解),或者求 x T A = 0 T \boldsymbol x^T\mathbf A=\boldsymbol 0^T xTA=0T的一组无关行向量特解,这就是“左零空间”的名称由来

问题变为求 x T A = 0 T \boldsymbol x^T\mathbf A=\boldsymbol 0^T xTA=0T的一组无关行向量特解,就是要寻找一个行向量 x T \boldsymbol x^T xT使得 A \mathbf A A的行向量的线性组合为 0 T \boldsymbol 0^T 0T
这里再次联系到消元后的简化行阶梯型的内容,考虑到:
R = [ I F 0 0 ] \boldsymbol{R}=\left[\begin{array}{cc}I & F \\0 & 0\end{array}\right] R=[I0​F0​]
R \boldsymbol{R} R中出现了全0行!这说明,行向量 x T \boldsymbol x^T xT就蕴含在 A \mathbf A A到 R \mathbf {R} R的消元(行变换)过程中

因此,我们把消元过程表示为 [ A I ] → [ R E ] \begin{bmatrix}\mathbf A & \mathbf I\end{bmatrix}\rightarrow\begin{bmatrix}\mathbf R & \mathbf E\end{bmatrix} [A​I​]→[R​E​],其中消元的过程就是 E A = R \mathbf E\mathbf A=\mathbf R EA=R,消元变换的矩阵为 E \mathbf E E
而 R \mathbf R R中的全0行,正是 E \mathbf E E的某个行向量“指挥” A \mathbf A A做行变换得到的

故:导致 R \mathbf R R中出现全0行的那些 E \mathbf E E的行向量,就是左零空间的基,并且由于 R \mathbf R R有 r r r个非零行,故有 m − r m-r m−r个全0行,这也就是左零空间的维数

小结:行空间和左零空间的求解

求解 A \mathbf A A的行空间和左零空间的求解时

  • 我们可以转而求解 A T \mathbf A^T AT的列空间和零空间,然而这需要我们重复两次消元求化简行阶梯型的过程
  • A \mathbf A A消元(行变换)得到化简行阶梯型 R \mathbf R R的过程中同样给出了答案:
    R \mathbf R R给出了行空间: R \mathbf R R的非零行的行向量 就是 A \mathbf A A的行空间的基
    A \mathbf A A到 R \mathbf R R的过程给出了左零空间: R \mathbf R R的全0行相对应的 E \mathbf E E中的行向量 就是 A \mathbf A A的左零空间的基,其中 E \mathbf E E为消元(行变换)的矩阵

测验题

R 4 \mathbf R^4 R4空间中的4 x 1的列向量 v \boldsymbol v v,其4个分量为 v 1 , v 2 , v 3 , v 4 v_1,v_2,v_3,v_4 v1​,v2​,v3​,v4​
所有满足 v 1 + v 2 + v 3 + v 4 = 0 v_1+v_2+v_3+v_4=0 v1​+v2​+v3​+v4​=0的向量 v \boldsymbol v v构成了一个向量空间 V \mathbf V V,求其维数

思路1:4个分量满足“线性相关”,因此只需要3个基向量,就可以张成整个向量空间 V \mathbf V V,故 V \mathbf V V的维数为3

思路2: v 1 + v 2 + v 3 + v 4 = 0 v_1+v_2+v_3+v_4=0 v1​+v2​+v3​+v4​=0写为方程 [ 1 1 1 1 ] v = 0 \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right]\boldsymbol v=\boldsymbol 0 [1​1​1​1​]v=0,其中系数矩阵 A \mathbf A A为 [ 1 1 1 1 ] \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] [1​1​1​1​]
问题转化为:求系数矩阵 A \mathbf A A的零空间维数
消元后, A \mathbf A A本身就是行简化阶梯型,有一个主元, R a n k ( A ) = 1 Rank(\mathbf A)=1 Rank(A)=1,有三个自由变量,因此零空间的维数为 n − r = 4 − 1 = 3 n-r=4-1=3 n−r=4−1=3,零空间的基向量就是给定三组自由变量的值,得到的三个特解

扩展:进一步考察 A 1 × 4 = [ 1 1 1 1 ] \mathbf A_{1\times 4}=\left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] A1×4​=[1​1​1​1​]的四个子空间( R a n k ( A ) = 1 Rank(\mathbf A)=1 Rank(A)=1)

  • 列空间:是 R 1 \mathbf R^1 R1的子空间(就是 R 1 \mathbf R^1 R1),基:主元列 [ 1 ] \left[\begin{array}{cc}1\end{array}\right] [1​],维数为r=1
  • 零空间:是 R 4 \mathbf R^4 R4的子空间,基:给定三个自由变量得到的三个无关特解,维数为n-r=3
  • 行空间:是 R 4 \mathbf R^4 R4的子空间,基:最简阶梯型(就是 A \mathbf A A)中的非零行 [ 1 1 1 1 ] \left[\begin{array}{cc}1& 1 & 1 & 1\end{array}\right] [1​1​1​1​],维数为r=1
  • 左零空间:是 R 1 \mathbf R^1 R1的子空间(就是一个点0),基:最简阶梯型中全0行对应的 E \mathbf E E的行(不存在基/基为空集),维数m-r=0

已知方程 A x = [ 2 4 2 ] \mathbf A \boldsymbol x=\begin{bmatrix}2\\4\\2\end{bmatrix} Ax= ​242​ ​的通解为 x = [ 2 0 0 ] + c 1 [ 1 1 0 ] + c 2 [ 0 0 1 ] \boldsymbol x=\begin{bmatrix}2\\0\\0\end{bmatrix}+c_1\begin{bmatrix}1\\1\\0\end{bmatrix}+c_2\begin{bmatrix}0\\0\\1\end{bmatrix} x= ​200​ ​+c1​ ​110​ ​+c2​ ​001​ ​,求(1) A \mathbf A A的行空间维数(2) A \mathbf A A的值

(1) A \mathbf A A的行空间维数=列空间维数=秩
从方程可看出 A \mathbf A A为3 x 3矩阵,而通解中有2个自由变量,则说明零空间维数为n-r=2,由此得到秩r=1
(2)带入特解 A [ 2 0 0 ] = [ 2 4 2 ] \mathbf A \begin{bmatrix}2\\0\\0\end{bmatrix}=\begin{bmatrix}2\\4\\2\end{bmatrix} A ​200​ ​= ​242​ ​,得到 A = [ 1 ⋯ ⋯ 2 ⋯ ⋯ 1 ⋯ ⋯ ] \mathbf A=\begin{bmatrix}1&\cdots&\cdots\\2&\cdots&\cdots\\1&\cdots&\cdots\end{bmatrix} A= ​121​⋯⋯⋯​⋯⋯⋯​ ​

根据题目中给出的零空间的基础解系,得到 A [ 1 1 0 ] = 0 \mathbf A \begin{bmatrix}1\\1\\0\end{bmatrix}=\boldsymbol 0 A ​110​ ​=0和 A [ 0 0 1 ] = 0 \mathbf A \begin{bmatrix}0\\0\\1\end{bmatrix}=\boldsymbol 0 A ​001​ ​=0,得到 A = [ 1 − 1 0 2 − 2 0 1 − 1 0 ] \mathbf A=\begin{bmatrix}1&-1&0\\2&-2&0\\1&-1&0\end{bmatrix} A= ​121​−1−2−1​000​ ​

A = B C = [ 1 1 0 0 1 0 0 0 1 ] [ 1 0 − 1 2 0 1 1 − 1 0 0 0 0 ] \mathbf A=\mathbf B\mathbf C=\begin{bmatrix}1&1&0\\0&1&0\\0&0&1\end{bmatrix}\begin{bmatrix}1&0&-1&2\\0&1&1&-1\\0&0&0&0\end{bmatrix} A=BC= ​100​110​001​ ​ ​100​010​−110​2−10​ ​(1)不做矩阵乘法,求 A \mathbf A A的零空间(2)求 A x = [ 1 0 1 ] \mathbf A \boldsymbol x=\begin{bmatrix}1\\0\\1\end{bmatrix} Ax= ​101​ ​的通解

(1)首先,矩阵 B \mathbf B B左乘 C \mathbf C C,仅对应初等行变换,不改变 C \mathbf C C的零空间,或者说 B \mathbf B B是可逆矩阵,可以在 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0两边同乘以 B − 1 \mathbf B^{-1} B−1
这样,求 A x = 0 \mathbf A \boldsymbol x=\boldsymbol 0 Ax=0的问题,变为求 C x = 0 \mathbf C \boldsymbol x=\boldsymbol 0 Cx=0, A \mathbf A A的零空间就是 C \mathbf C C的零空间

而 C \mathbf C C已经是简化行阶梯型,为两个自由变量指定取值,可以得到其零空间的基向量: [ 1 − 1 1 0 ] \begin{bmatrix}1\\-1\\1\\0\end{bmatrix} ​1−110​ ​和 [ − 2 1 0 1 ] \begin{bmatrix}-2\\1\\0\\1\end{bmatrix} ​−2101​ ​

(2)已经求出零空间的基础解系,只要再求一个 A x = [ 1 0 1 ] \mathbf A \boldsymbol x=\begin{bmatrix}1\\0\\1\end{bmatrix} Ax= ​101​ ​的特解即可
计算可得, A \mathbf A A的第一列恰好是 [ 1 0 1 ] \begin{bmatrix}1\\0\\1\end{bmatrix} ​101​ ​,因此一个特解是 [ 1 0 0 0 ] \begin{bmatrix}1\\0\\0\\0\end{bmatrix} ​1000​ ​( A x = b \mathbf A \boldsymbol x=\boldsymbol b Ax=b就是 x \boldsymbol x x对 A \mathbf A A的列向量做线性组合),再加上零空间的基向量线性组合就是通解

线性代数学习笔记4-6:矩阵的四个子空间(零空间、列空间、行空间、左零空间)、初等行变换、测验题相关推荐

  1. MIT公开课18.06 Gilbert Strang 线性代数 笔记1 - Ax=b和四个子空间

    文章目录 相关链接 课程链接 参考笔记链接 问题 第1讲:方程组的集合解释 1. 从方程组到矩阵 2. Ax=bAx = bAx=b解法1:row picture 行图像 3. Ax=bAx = bA ...

  2. 线性代数学习笔记3-4:描述线性变换的空间压缩情况(列空间、秩)

    已经知道,矩阵对应线性变换,而线性变换可能会压缩空间 当然,空间被压缩降维的程度也有大有小:若被压缩为一维,则对应一条线:若被压缩为二维,则对应一个平面: 那么,如何衡量线性变换后的维度压缩程度呢?- ...

  3. 线性代数学习笔记——第三讲——矩阵加法及数乘

    1. 矩阵的加法(按位置(行列号)相加) 2. 矩阵的减法可看作矩阵与其负矩阵的加法运算 3.  矩阵的数乘及线性运算的定义 4. 矩阵线性运算的性质

  4. 线性代数学习笔记10-4:左右逆、伪逆/M-P广义逆(从四个子空间和SVD角度理解)

    下面讨论m×nm\times nm×n的秩为rrr的矩阵 对于不同情况,讨论逆矩阵 两侧逆矩阵 2-sided inverse 这也是一般所说的"逆矩阵"的含义 方阵A\bolds ...

  5. 线性代数学习笔记5-2:正交投影、投影矩阵、最小二乘法LS、A^T A

    正交投影 二维空间的投影 将向量投影到已知子空间,用线性代数的语言就是:误差向量和该子空间正交 向量的正交,可简单理解为两个向量在几何上垂直,即点积为零:x⋅y=0\boldsymbol x\cdot ...

  6. 线性代数学习笔记——第四章学习指南——n维向量空间

    一.学习内容及要求 1. 内容: §4.1. n维向量空间的概念 线性代数学习笔记--第四十讲--n维向量空间的概念 线性代数学习笔记--第四十一讲--n维向量空间的子空间 §4.2. 向量组的线性相 ...

  7. 线性代数学习笔记(二十九)——方程组解的结构(一)

    停更2年多了,做事得有始有终,继续更新... 本篇笔记回顾了线性方程组解的三种情况,并讨论了齐次线性方程组解的结构,并介绍了齐次线性方程组解的相关性质.其中重点讨论了基础解系定义,以及基础解系的求法和 ...

  8. 线性代数学习笔记(十五)——初等变换(一)

    本篇笔记首先讨论了矩阵的初等变换,包括初等行变换和初等列变换两类,每一类初等变换又有三种变换规则,需要注意该初等变换与行列式对应的性质没有任何关系:然后讨论了初等变换和标准形的关系,任意矩阵都可以通过 ...

  9. 线性代数学习笔记2-2:向量空间、子空间、最大无关组、基、秩与空间维数

    向量空间 向量空间就是一些向量的集合,并且满足:向量空间对于这些向量的线性组合封闭(任意向量间的加法.数乘,得到的向量仍属于这个向量空间) 具体来说,向量空间中的元素(向量)的加法和数乘满足8条公理 ...

最新文章

  1. 用Python预测收入,来看看你的收入到底应该是多少?
  2. 公示 | 首届中国智能心电大赛初赛结果
  3. js ajax java传参_ajax参数传递与后台接收
  4. 牛!Python 全栈必备的 150 个实战案例,一次性获得!
  5. idea查看类关系_IDEA查看类关系图【正确姿势】,非常实用
  6. jquery-幻灯片的移动分析
  7. 抗衰老,吃这些食物越来越年轻
  8. linux ls命令无法执行,更新了个依赖程序,结果悲剧了,连ls命令都不能用,大神帮帮忙!...
  9. java数组循环扩容_Java中实现数组动态扩容的两种方法
  10. 【Linux】部署memcache
  11. latex 可视化生成表格代码
  12. JavaScript怎样读取本地Excel文件
  13. android怎么改名字,手把手教你如何修改安卓软件的图标和名字
  14. 计算机二级Office选择题考题大全【掌握】
  15. 导弹拦截(动态规划)
  16. jQuery+Ajax+全解析
  17. 物联网开发笔记(9)- 使用Wokwi仿真MicroPython on ESP32开发板实现温度和湿度检测并使用屏幕显示
  18. 一文带你吃透汉诺塔和其变形题
  19. DenseCLIP:Language-Guided Dense Prediction with Context-Aware Prompting
  20. C51单片机之keil编程入门(一)

热门文章

  1. 虚拟现实vr技术靠哪些设备进行空间定位
  2. Fass timeout detection implementation
  3. 贝叶斯分类器详解 从零开始 从理论到实践
  4. C - Unusual Product
  5. 【达梦数据库的console工具进行备份恢复遇到报错:bakres连接DMAP失败】
  6. CSS如何设置自定义渐变色? 线性渐变篇
  7. java web第三章 Day3 2020080605018
  8. 数据可视化分析教学课件——FineBI实验册节选====门店分析
  9. 使用Python和BitTorrentSync定期给Kindle推送电子书
  10. java编写九宫格拼图游戏_九宫格拼图游戏