目录
1.2.1 向量空间,就是一组最大线性无关的向量组/基张成的空间
2.2.1 向量空间的点:一般维数是1,但是特例原点维数是0
(1)第一种:向量空间里非原点的向量都可以认为是射线线段(直线)
(2)第2种,传统的直线方法==也可以认为是两个向量加减所得的1个新向量
2.2.5 综上所述,向量空间的维度 ≠ 其中向量组的向量的个数!(而是<=)
3.1.2 如果把向量看成1*n 或m*1的矩阵,那么向量的秩=1
3.2.3 区分,3维空间的1个平面向量组和2维平面向量组的区别
5.2 定理2:在自然定义域下,矩阵函数Ax=y的值域就是A的列空间
5.3 定理3: 列满秩 and 行满秩 = 满秩矩阵= 必须是方阵
5.6 定理6,rank(AB)<=min(rank(A),rank(B))
5.7 定理7,假设P,Q为满秩矩阵,rank(A)=rank(PA)=rank(AQ)=rank(PAQ)
5.8 定理8,假设A,B为同型矩阵,rank(A+B)<=rank(A)+rank(B)
5.9 定理9:对于矩阵函数来说,定义域是向量空间时,其值域也为向量空间,且定义域的维度>=值域的维度
当矩阵是非单射时,值域中的每个向量都有无数定义域中的向量与之对应
5.17 定理17,如果可以通过一系列初等变化矩阵Ei,将A变成I,那么A的逆矩阵就是这些Ei的乘积
0 问题引出:什么是秩?
其实看线代一直挺模糊的,对这个概念,感觉好像就是维度,但好像又不是. 更不清楚,为什么有了维度为啥要搞出一个秩的概念。一般大家初步的想法就是,向量,矩阵/向量组不都有维度吗?而且大家经常会问的问题?秩和维度什么关系?秩=维度吗?
概念备注:
本文里把向量=数组, 向量组=矩阵,这2组概念混用。
1 先厘清:什么是维数?
问什么是秩需要先搞清楚:什么是维度数? 维数:维度的数量
- 讨论维度,首先需要明确对象:谁的维度?因为不同对象的维度定义不同
- 真实世界的维度
- 向量的维度
- 向量组的维度
- 向量空间的维度
- ...
1.1 真实世界的维度数(和数学概念不完全相同)
- 0维空间:点
- 1维空间:一条线:直线/曲线。但强调是1条线!
- 2维空间:一个面:平面/曲面。但强调是1个面!
- 3维空间:立体图形,3维世界
- 4维空间:加时间,加啥的各种说法都有。。。。
- 。。。。
1.2 向量空间的维数
1.2.1 向量空间,就是一组最大线性无关的向量组/基张成的空间
- 一组最大线性无关的向量组 = (这个向量空间的) 一组基
- 一组最新线性无关的向量组/基 张成的空间,是指这些这个向量空间内的所有向量,都可以由这组线性无关的向量组,线性变换而成。这也是向量空间的封闭性。
1.2.2 向量空间的维数
- 向量空间的维数,就是这些张成的向量空间的维数。
1.3 向量α的维数
维数=维度数量
1.3.1 向量的维数=分量(数字/标量)个数
- 向量的维数数就是向量的分量数,向量内部的元素之间只需要数个数,不再考虑这些元素数字之间的关系。
- 向量的维数,就是向量的分量的个数,比如α1 =[a11,a12......a1m] 有m个分量,维度就是m
- 列向量:α1 =[a11,a12......a1m],其分量的个数为m,所以列向量的维度就是m
- 行向量:α1T=[a11,a12......a1m]T,其分量的个数为m,所以行向量的维度就是m
1.4 向量组/矩阵 A 的维数
1.4.1 什么是向量组的维度:
- 向量有维度概念,向量可以拆分为多个分量(标量)
- 向量组的组成成分是向量,可以认为向量组只包含向量个数,没有维度。
- 向量组只有向量个数层面的:向量个数,秩等。
3个概念:
- 向量里的数字/标量个数=维度
- 向量组的向量个数>=秩
- 向量组的秩
1.4.2 那如果把向量组拆成 列向量组/行向量组呢?
向量组本身是由多个向量组成的,同时又可以拆为多个行向量./列向量
如下构成的向量组
- 向量α1=[a11,a12......a1m]
- 向量α2=[a21,a22......a2m]
- ....
- 因为向量组(矩阵)A=[α1, α2.......αn]
向量组是什么?向量组其实就是矩阵
- 如果用row column分别表示行和列
- 向量组可以转化为列向量组,比如[c1,c2.....cn]-----组成列空间
- 向量组可以转化为行向量组,比如[r1,r2.....rn]-------组成行空间
(1)列空间与列秩
- 矩阵的列空间:向量组可以拆为多个列向量,进而组成列空间
- 列空间有秩,列秩,记作 rank(colsp(A))
可以转成列向量组
- 直接 A*X
- 要记住,矩阵的经典的乘法展开方法为, 左边的1行列向量组 *(左乘) 右边的1列行向量组
因此,在自然定义域下,矩阵函数Ax=y的值域就是A的列空间,因为A转成的列向量组 就可以看作一组基,而值域
就是这个计算结果,就是一定落在以这组基组成的向量空间内,所以矩阵函数Ax=y的值域的维度就是A的列空间的维度
- 在自然定义域下,矩阵的秩 等于 矩阵函数Ax=y的值域的维度
- Amn*Xn1=Ym1
- 展开为列向量好算,Amn*Xn1={c1,c2.....,cn}*Xn*1 = {Cm1,Cm1....,Cm1}*Xn*1={Cm1*x1,Cm1*X2.....Cm1*xn}=Y。
- 因此可见Y(值域)的维度就是由A*x 决定的,确切的说是由A决定的,因为是A*X,A左乘X,A是基。
向量组A=[c1, c2......cn] 的维度数,不再关注其中每个元素向量里包含的下级元素数量了!
而重点只关心向量组A=[c1, c2......cn]的列向量的个数就是n
但是列向量的个数n就是维数吗?NO
- 列向量组(组成的列空间)的维数 <= 列向量组内列向量的个数
- 列向量组(组成的列空间)的维数 <=列向量组所在向量空间的维数
(2)行空间与行秩
- 矩阵的行空间:向量组可以拆为多个行向量,进而组成行空间
- 列空间有秩,列秩,记作 rank(rowsp(A))
可以转成行向量组
- 把行向量组进行转置后*X, 即可At*X
-
(3)向量组的行秩=列秩
- 向量组的行秩=列秩(详细见下面)
2 不同的点,线,面向量组的2种展示形式:方程组,矩阵函数
以三维空间为例,这些向量组组成的图形都是这个3维向量空间的子空间
- 点:对应的向量组
- 线:对应的向量组
- 面:对应的向量组
- 立体空间:对应的向量组
2.1 向量空间的点,线,面等用方程的形式展示
比如
- 3维直角坐标系中,点的方程为Ax+D=0 → x=常数
- 3维直角坐标系中,直线方程为Ax+By+D=0
- 3维直角坐标系中,平面方程为Ax+By+Cz+D=0
- ...
2.2 可表示为的点,线,面的向量组等如何用向量组表示呢?
2.2.0 为什么这里考虑向量组可表示为的点,线,面?
- 因为把向量组表示为点,线,面可以获得向量组维度的直观感受(用眼睛都能看出来向量组的维数)
- 下面以三维空间为例
- 下面以三维空间为例
- 下面以三维空间为例
2.2.1 向量空间的点:一般维数是1,但是特例原点维数是0
- 点里还由特殊情况,只有零向量维度是0,普通的一个点对应的向量维度是1
- 比如向量
维度是0
- 比如向量
维度是1,也可以认为是一条射线线段(直线)
2.2.2 向量空间的直线:维数是1
(1)第一种:向量空间里非原点的向量都可以认为是射线线段(直线)
- 点里还由特殊情况,只有零向量维度是0,普通的一个点对应的向量维度是1
- 比如向量
或
,其实向量空间都可以认为是一条射线线段(直线),维数是1
(2)第2种,传统的直线方法==也可以认为是两个向量加减所得的1个新向量
- 直线,无非就是2点之间的连线
- 但是向量空间内,两个点之间的线段,也可以认为是两个向量加减所得的1个新向量
- 比如
,可以看成2个列向量[c1,c2 ],但是其就是一条直线,维数是1
- 也就是说,虽然看起来是2个列向量,但是图形的维度是1
- 比如
,可以看成2个列向量[c1,c2 ],也是一条直线,维数是1
- 也就是说,虽然看起来是2个列向量,但是图形的维度是1
2.2.3 向量空间的平面:维数是2
- 平面,这样一种面,面上任意两点的连线整个落在此面上
- 平面,一般需要3个点形成一个面
- 但是在向量空间里,平面可以是2条直线(非线性相关的向量)张成的空间
- 比如
和
都是一条直线,但不是平面,因为过了零点(零向量)
- 但是
也不能组成一个平面,因为c1和 c2分别是
和
线性相关,其实在同一条直线上(见下图),不能通过线性变换(倍加,倍数,交换)的方式组成其他平面空间内的向量
- 也就是说,虽然看起来是2个列向量,但是图形的维度是1
- 但是
就会组成一个平面,可以看成2个列向量[c1,c2 ],因为
和
线性无关,可以组成一个平面
- 也就是说,看起来是2个列向量,实际图形的维度也是2!!!
- 举个最简单的例子
- 但是
就会组成一个平面,因为
和
线性无关,可以组成一个平面
- 这个平面在XYZ空间里,实际上就是XOY平面
2.2.4 向量空间的立体空间:维数是3
错误例子:向量组里有3个列向量,一定可以组成一个3维的空间?FALSE
但是,如果就会组成一个平面,因为
和
和
线性相关,不能线性变换组成一个三维空间, 而是共线,维度是1
正确举例,是3维空间中的立体空间,其实是3维空间中子空间
- 依然用线性无关向量组,张成3维空间的角度来看
- 举个最简单的例子
- 但是
就会组成一个平面,因为
和
和
线性无关,可以组成一个三维空间,这个三维空就是向量空间本身,也就是XYZ空间里
- 其实,这3个列向量就是自然基(也是正交基)
2.2.5 综上所述,向量空间的维度 ≠ 其中向量组的向量的个数!(而是<=)
- 向量空间内的某些向量组(如列向量组)组成的维度<=向量空间的维度 ≠ 向量组的向量个数
- 如3维向量空间里的0向量[0,0,0],就是0维的
- 如3维向量空间里的一条直线,
,可以看成2个列向量[c1,c2],虽然向量组里的个数=2,但是就是1维的
- 如3维向量空间里的向量组
,虽然列向量个数是5,但是是1维的,是直线
- 如3维向量空间里的向量组
,虽然列向量个数是5,但是就是2维的,是一个平面
- 向量空间内的某些向量组(如列向量组),组成的维度不可能超过向量空间的维度(否则就违背了空间的封闭性原则)
- 如3维向量空间里的所有向量,向量组的维度不可能大于3,而是<=3
- 向量空间内的某些向量组(如列向量组),组成的维度可能看起来大于向量空间的维度,但是实际上因为这些向量组之间是线性相关的,实际的维度并不会大于向量的维度。
2.3 两种方法等价吗?
→点,线,面等向量组/矩阵表示和方程表示等价吗?
我觉得两者应该是等价的,实际可以这样推导
0维向量
- 0维度向量,向量
,
1维向量
- 比如向量
维度是1,可扩展为
2维向量组
- 比如向量
,
3维向量组
- 比如向量组
,
可见,矩阵和这些图形的方程是等价的
比如
- 3维直角坐标系中,点的方程为Ax+D=0 → x=常数
- 3维直角坐标系中,直线方程为Ax+By+D=0
- 3维直角坐标系中,平面方程为Ax+By+Cz+D=0
- ...
2 向量的维度和向量组的维度
2.1 维度数的定义
向量的维数
- 向量的维数是指:向量在分量的个数如:(a,b,c),这就是一个三维向量.
- 向量有多少个分量,如(a,b,c)这就是一个三维向量
2.2 向量组的维数
- 向量组的维度数,其实就是向量空间的维数?
- 向量组只有秩?
- 而只有向量组的元素向量才有维度
向量组只有秩,没有维度
- 行秩
- 列秩
2.3 向量维数与空间维数的区别
- 所谓空间维数指的是空间基当中向量的个数,并不是由向量组的维数确定的.
- 如{x|x=k(a,b,c),k为任意常数}这就是一维向量空间.就是空间当中的一条直线.
3 向量和向量组的秩
3.1 向量的秩
3.1.1 向量没有秩
- 秩是向量组/矩阵才有的概念
3.1.2 如果把向量看成1*n 或m*1的矩阵,那么向量的秩=1
矩阵可以等价于向量组,同样向量其实也可以等价于矩阵
向量其实可以看成n*1矩阵 的或者1*n的矩阵
- 列向量:相当于n*1 矩阵
- 行向量:相当于1*n 矩阵
- 如果把向量看成1*n 或m*1的矩阵,那么向量的秩=1
- 向量的秩都为1,从把列向量/行向量看成矩阵可知,其实都是1维的,秩为1
- 为什么呢?因为向量的秩序 rank()<=列秩=行秩,必然只能是=1,当然也有特例。如果是原点零向量[0,0] [0,0,0] 这样子的秩=0.
- 零向量还有一个特性是与所处向量空间任意其他向量都是线性相关的。
3.2 向量组的秩
3.2.1 向量组的秩的严格定义
- 引用下面这个知乎的定义
- 向量组的秩是是描述向量组在所在的向量空间内所受到的局限性的维度。
- 比如一个3维空间里的向量组
,虽然坐标都是3维的,但是 实际只能做出一个2维的平面,所以局限的维度是2,秩=2
3.2.2 向量组的秩的其他定义:秩是实际占用的维度
向量组的秩是向量组在所在向量空间内实际占用的维度(我自己定义的)
或者用前面知乎的,是受局限的维度。
秩可以代表,实际占用的维度数量
秩可以代表,实际受限制的几何分布情况
若从几何空间角度看,就是这些向量是怎么分布的。
我们以三维空间为例(便于理解),
- 如果一组向量的秩为1,那么就说明它们全部分布在一根直线上,也就是全部局限在一个秩1的空间中,但这时它们依旧都是三维向量,并没有降维成一维向量;
- 若秩为2,就表明它们都处在一个扁平的空间里,它们都被局限在一个秩2的空间里,但它们也依旧都是三维向量,并没有降维成二维向量;
- 如果它们之间的关系是秩3的,则表明它们在三维空间中的分布没有受到限制,是可以满(三维)世界分布的。
- 对于一组非零向量,最受限制的分布状态就是秩1了,这时,所有的向量都汇聚在一起,统统“共线”。
简短定义
- 向量组内的向量的个数:虚胖/过瘦(相对比维数)
- 维度数:向量和向量组所在空间的维度数(向量空间的未读数)
- 秩: 真实使用的维度数/受局限占用的维数
- 比如一个平面虽然秩=真实占用维度=2,但还是在3维的向量空间里。
3.2.3 区分,3维空间的1个平面向量组和2维平面向量组的区别
- 也就是说,3维空间的平面 ≠ 2维空间里的平面
- 表示方法 ,3维空间的平面:ax+by+cz+d=0, 任意一点的坐标为[k1,k2,k3]
- 表示方法 ,3维空间的平面:ax+by+d=0, 任意一点的坐标为[k1,k2]
- 两者完全不同,只是都是可以展开为一个平面,但是一个属于3维,1个属于2维
3.3 举例,各种向量组的秩分别为多少?
- 零向量的秩为0
- 点 = 列向量 = 行向量的秩为1
- 向量组=矩阵,秩序能为1,2,3。。。或更多,可能对应直线,面,立体子空间等。
- 比如在一个三维空间里
- 部分向量组=直线/曲线的秩为1
- 部分向量组=平面/曲面的秩为2
- 部分向量组=立体的子空间的秩为3,这个算张量tensor, 高阶向量组吧
- 。。。
3.3.1 向量组的秩的例子1
- 列向量组[c1, c2......cn]的子集,比如[c1, c2,c3] 最大线性无关向量组,子集[c1, c2,c3]的元素个数才是列向量空间的维数(或者秩)
- 比如在一个3维空间内,虽然所有的单个向量坐标都是3维的{x1,x2,x3},但是任意取N个这样的向量组所能张成的空间却可能是0维度(0向量),1维(共线等),2维(平面),或3维的
- 列向量组[c1, c2......cn] 有可能比所处空间的维度小比如3维空间里的向量组
就只有2维,这2个向量组{c1,c2} ,其中
这两个向量线性无关,但是只能张成一个3维空间内的一个平面。
- 列向量组[c1, c2......cn] 有可能刚好和所处空间的维度一样,就是这个列向量组内部的列向量全都是线性无关的!
- 列向量组[c1, c2......cn] 的向量个数有可能看起来很多,但实际维度<=所处空间的维度
- 比如
就是一个看起来列向量组的列向量很多,但这些列向量全部线性相关,实际可以线性变换为
,其实就只占1个维度,是一个1维的向量组,秩=1
3.3.2 向量组的秩的例子2
- 比如这样一个向量组
实际上虽然这个向量组表面看起来可以写成 {c1,c2,c3,c4,c5} 这样5个列向量的组合。但是实际上这5个列向量是共线的
- 所以实际上,这个向量组的维度不但不是5,甚至也不是3,而是1。
- 因为可以线性变换为这样:
,所以可以看出这个向量组看起来有5个列向量,但实际这5个列向量都是线性相关的,而{c1,c2,c3,c4,c5}里的最大线性无关组是1个,所以其维度=1,colum-rank=1
- 其实也可以转换为行向量{r1,r2,r3},通过线性变化变成
也是一样的
3.4 向量的秩的判断
- 列秩:列向量里最大无关组的向量数量
- 行秩:行向量里最大无关组的向量数量
- 列秩=行秩
- 如果A是2维的向量/矩阵,定义域为维,那么输出的内容(值域)只能是0维,1维和2维
4 维度和秩的关系
4.1 维度和秩的区别
- 维数讲的是向量的结构(几维),
- 秩描绘的是向量之间线性相关的程度。(向量组的占用维度数)
- 秩是向量组的“特征值”,它表明了一个n维向量的组里最大的一组线性无关组里能有几个向量。
4.2 维度和秩之间的关系:
- 秩最多等于维数
- 当秩等于维数时,向量组为向量空间的一组基。
- 秩最多等于维数,这时向量组的分布被称为“满秩”的,若秩比维数小,则叫“不满秩”,而不满秩的程度就要看秩比维数小多少了。
- 秩越小,分布就越受限。
5 向量组的秩的各种定理
5.1 定理1:矩阵的秩=列秩=行秩
矩阵的维度数<=列的维度数
矩阵的维度数<=行的维度数
- 因为 :A的行秩 <= A的列秩
- 因为 :A的列秩 <= A的行秩
- 所以 :A的列秩 = A的行秩
5.2 定理2:在自然定义域下,矩阵函数Ax=y的值域就是A的列空间
- 在自然定义域下,矩阵函数Ax=y的值域就是A的列空间
- 在自然定义域下,矩阵的秩 等于 矩阵函数Ax=y的值域的维度
- Amn*Xn1=Ym1
- 展开为列向量更好算,Amn*Xn1={c1,c2.....,cn}*Xn1 = {Cm1,Cm1....,Cm1}*Xn1
- 见上面
- 矩阵的列空间:向量组可以拆为多个列向量,进而组成列空间
- 列空间有秩,列秩,记作 rank(colsp(A))
可以转成列向量组
- 直接 A*X
5.3 定理3: 列满秩 and 行满秩 = 满秩矩阵= 必须是方阵
- 如果某矩阵既是列满秩,又是行满秩,那么就称该矩阵为满秩矩阵,就简称满秩。
- 满秩矩阵必为方阵。
5.4 定理4:矩阵转置AT后,行列空间互换,不会改变矩阵的秩
- rank(A) = rank(AT)
5.5 定理5 所有的初等行矩阵都是满秩矩阵
5.6 定理6,rank(AB)<=min(rank(A),rank(B))
- 两个矩阵点乘后的矩阵的秩,<= 任意一个矩阵的秩
- 推论: 定义域的秩>=值域的秩
- rank(AB)<=rank(A)
- rank(AB)<=rank(B)
5.7 定理7,假设P,Q为满秩矩阵,rank(A)=rank(PA)=rank(AQ)=rank(PAQ)
- 即如果满秩矩阵和其他矩阵点乘,那么所得结果的矩阵的秩,只会受其他非满秩矩阵的影响。
- 也就是满秩矩阵不影响最终矩阵的影响
- rank(A)=rank(PA)=rank(AQ)=rank(PAQ)
5.8 定理8,假设A,B为同型矩阵,rank(A+B)<=rank(A)+rank(B)
- 因为只有A 和B 只有同型才可以相加
- rank(A+B)<=rank(A)+rank(B)
- 即矩阵的和的秩 <= 任一加数矩阵的秩
- 也就是无论加法,还是点乘,矩阵的结果的秩都只会变小或不变
5.9 定理9:对于矩阵函数来说,定义域是向量空间时,其值域也为向量空间,且定义域的维度>=值域的维度
对于矩阵函数来说,定义域是向量空间时,其值域也为向量空间
且定义域的维度>=值域的维度
从矩阵函数AX=Y,对应的矩阵点乘也能得出一样的结论
5.10 定理10,当定义域是向量空间时,
-
若矩阵函数是单射 等价于 定义域的维度=值域的维度
-
若矩阵函数是非单射 等价于 定义域的维度>值域的维度
5.11 定理11 在自然定义域下
-
A是列满秩矩阵 等于矩阵函数是单射
-
当矩阵函数是单射,AX=y是单射 等价 A是列满秩矩阵
-
若矩阵函数是单射 等价于 定义域的维度=值域的维度
5.12 定理12 在自然定义域下,
-
当矩阵是非单射时,值域中的每个向量都有无数定义域中的向量与之对应
-
若矩阵函数是非单射 等价于 定义域的维度>值域的维度
5.13 定理13 在自然定义域下,
-
A是行满秩矩阵 等价 AX=y是满射
5.14 定理14 在自然定义域下,
-
A是满秩矩阵 等价 AX=y是双射
总结
在自然定义域下,
A是列满秩矩阵 等价于 矩阵函数AX=y是单射
A是行满秩矩阵 等价于 矩阵函数AX=y是满射
A是满秩矩阵 等价于 矩阵函数AX=y是双射
5.15 定理15 在自然定义域下
-
A是满秩矩阵对应矩阵函数为双射,且A存在反函数,称为A可逆
5.16 定理16,假设P,Q为满秩矩阵,
- rank(A)=rank(PA)=rank(AQ)=rank(PAQ)
5.17 定理17,如果可以通过一系列初等变化矩阵Ei,将A变成I,那么A的逆矩阵就是这些Ei的乘积
- 一般顺序要反过来
- Ei*Ei-1*....E2*E1* A=I
- A-*A=I
- A- =Ei*Ei-1*....E2*E1
5.18 如A可逆,那么A-也可以逆,(A-)-=A
5.24 定理24
6 求秩的方法
6.1 求秩的方法
- 行列式方法
- 线性变换方法
- 化简矩阵
6.2 行列式方法
6.3 线性变换方法
6.4 化简矩阵
7 秩的性质
- 满秩=有逆矩阵
- 矩阵的秩=行秩=列秩