目录

0 说明

笔记标题:MIT_LA_Lecture4-8

笔记版本:v1.0

对于文档的说明

  1. 你可以在我的Github仓库中下载本笔记的Markdwon源文档文件或PDF文件,并通过浏览目录进行更方便高效地浏览;也欢迎在知乎文章中进行浏览。
  2. 本笔记参考的课程为MIT Linear Algebra(麻省理工线性代数),本课程在网易公开课、Bilibili和youtube等网站上都有视频资源,读者可以选择合适的平台观看。
  3. 本笔记并未完全按照视频课的内容记录,添加了许多自己的理解、资料的补充和顺序的调整。
  4. 本系列笔记在不断更新,已经发布的笔记也会偶尔进行内容更新,版本号可以在文件标题或说明的开头查看,你可以通过Github的commit信息来查看笔记更新内容。
  5. 笔者并没有学习过Latex,所以公式格式可能并不标准,希望理解。如果你对笔记内容有好的建议,请提出来,笔者在这里表示感谢。

对于内容的说明

  1. 小写字母表示的向量,比如

    ,除非在特殊说明的情况下,都表示的是列向量。用
    来表示行向量。
  2. 部分矩阵中 . 用来表示元素省略,并不表示元素为0。
  3. 单位矩阵用
    表示。
  4. m行n列矩阵在文中为了书写方便写了两种格式:
    ,意思相同,希望包容这一小问题。
  5. 本文假定读着具有一定的线性代数基础。

4.1 矩阵的

分解

为什么需要

分解

在上一节中,我们知道通过高斯消元法可以容易地求解线性方程组,用矩阵表示即

,E为若干初等矩阵的积,包含了我们进行初等变换的所有信息,U为上三角矩阵(upper triangular)。我们以1中(6)的行变换为例,(6)中
,进行两次初等行变换即可得到一个上三角矩阵,也是一个阶梯型矩阵:

我们先不考虑行的交换,观察

我们可以发现,E除了初等行变换信息(即E中的-3,-2两项),还多了一个额外信息-6,这个是我们不想要的信息,那么有没有只包含行变换信息的分解或等式呢?有,这就是我们即将介绍的LU分解。

LU分解

在线性代数与数值分析中,LU分解是矩阵分解的一种,将一个矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,有时需要再乘上一个置换矩阵。LU分解可以被视为高斯消元法的矩阵形式。在数值计算上,LU分解经常被用来解线性方程组、且在求反矩阵和计算行列式中都是一个关键的步骤。
--维基百科

仍先不考虑行变换,LU分解简单地说就是

,同样写出上例的LU分解式:

可以看到, L除了是下三角阵外,还包含且仅包含了矩阵行变换的所有信息。同时我们有以下结论:

这样,当我们通过高斯消元法变换矩阵后,就能立即写出

这种分解形式,对

消元的过程和结果进行完整地记录,而不需要额外去计算

,我们写出 L 就相当于记录了 E ,因为

总之,对于

,如果不存在行交换,消元乘数(消元步骤中需要乘以并减去的倍数)可以直接写入L中。因此可以这样看待消元,只要步骤正确,就可以在得到LU的过程中把A抛开,这是对矩阵形式进行消元的更深刻的认识。

其他分解形式

除了上面给出的LU分解,有些矩阵还能进行PLU分解和LDU分解。

PLU 分解

方阵 A 的 PLU 分解是是将它分解成一个置换矩阵 P、一个下三角矩阵 L 与上三角矩阵 U 的乘积,即:

事实上,所有的方阵都可以写成 PLU 分解的形式,由于左乘排列矩阵

是在交换行的顺序(也就是后面即将说到的置换矩阵),所以由
推得适当的交换 A 的行的顺序,即可将 A 做 LU 分解。事实上,PLU 分解有很高的数值稳定性,因此实用上是很好用的工具。

有时为了计算上的方便,会同时间换行与列的顺序,此时会将 A 分解成:

其中 P、L、U 同上,Q 是一个置换矩阵(这里是右乘以交换列)。

LDU 分解

方阵 A 的 LDU 分解是是将它分解成一个单位下三角矩阵 L、对角矩阵 D 与单位上三角矩阵 U 的乘积,即

其中单位上、下三角矩阵是指对角线上全是 1 的上、下三角矩阵。

事实上,LDU 分解可以推广到 A 是一般的矩阵,而非方阵。此时,L 和 D 是方阵,并且与 A 有相同的行,U 则有和 A 相同的长宽。注意到现在 U 是上三角的定义改为主对角线的下方都是 0,而主对角线是收集所有

满足

我们将(3)中的A=LU分解再进一步化为LDU分解:

4.2 高斯消元算法复杂度

关于高斯消元算法的复杂度:

  1. 用每一行减去第一行的倍数,以消除第一行以外的第一列的元素,因为每行有n个元素,所以计算次数为

  2. 排除第一行,用每一行减去第二行的倍数,计算以此类推,因为共有n行,所以我们一共进行了n次,算法复杂度为
  3. 这里我们仅讨论得到阶梯型矩阵的复杂度,高斯-若当消元法会有额外的计算步骤,但后续计算量小,并不影响其复杂度,这里不予证明。

4.3 转置矩阵

转置矩阵的性质

转置矩阵(transpose)有很多值得我们记住的基本的性质,对于矩阵A, B和标量c,转置矩阵有下列性质:

  • ,则C为对称矩阵,即

还有比如我们刚刚学到的:

当然,还有一些之后会学到的:

  • 如果A只有实数元素,则

    是半正定矩阵。
  • 如果A是在某个域上,则
    相似于

特殊转置矩阵

对称矩阵

其转置等于自身的方块矩阵叫做对称矩阵

正交矩阵

其转置也是它的逆矩阵的方块矩阵叫做正交矩阵;就是说G是正交的,如果

斜对称矩阵

其转置等于它的负矩阵的方块矩阵叫做斜对称矩阵;就是A是斜对称的,如果

4.4 置换矩阵

置换矩阵的定义

在以上的消元的讨论中,我们为了方便都事先假定不需要进行行的交换,如果需要考虑这些行交换或列交换,A=LU分解就不能完全表示出矩阵消元的所有信息了,这个时候我们需要在LU左边乘上一个置换矩阵,用以记录行交换的信息,从而我们得到了A=PLU分解;当然,有时候我们也会进行列交换,那么同样地在LU右端乘上一个置换矩阵,就得到了A=PLUQ分解。

在数学中的矩阵论里,置换矩阵(permutation matrix)是一种系数只由0和1组成的方块矩阵。置换矩阵的每一行和每一列都恰好有一个1,其余的系数都是0。在线性代数中,每个n阶的置换矩阵都代表了一个对n个元素(n维空间的基)的置换。当一个矩阵乘上一个置换矩阵时,所得到的是原来矩阵的横行(置换矩阵在左)或纵列(置换矩阵在右)经过置换后得到的矩阵。
来自维基百科。

我们考虑n=3时的置换矩阵,一共有以下6个:

相应地,左乘分别代表不变,交换2、3行,交换1、2行等;右乘分别代表不变,交换2、3列,交换1、2列等。

置换矩阵的性质

  • 从定义可以看出,n维置换矩阵共有

    个。
  • 从定义也可以很容易得到,置换矩阵的逆等于其转置,即
  • 个置换矩阵任意相乘的结果仍在其中,其逆也在其中,也就是这
    个矩阵构成了一个矩阵群,对矩阵乘法和逆运算封闭。

5 向量空间

空间

什么是空间?如果让一只蚂蚁沿着一条细绳爬行,那么对蚂蚁来说,空间就是一条直线

,如果把蚂蚁放到地图上,那么空间就是一个平面
,而现实里,蚂蚁还能往上往下,那么就像我们人类感知的一样,空间就是三维空间

而数学上,空间是指一种具有特殊性质及一些额外结构的集合,也就是说,我们规定一些性质或结构,若集合能满足这些要求,那它就是一个我们规定的某种空间。在数学上,空间可以有很多种,比如函数空间、仿射空间、概率空间等等,向量空间也是规定的一种满足特定性质和要求的元素的集合。

那么,从这个定义来说,向量空间里的元素只要满足这些要求就行了,是不是向量空间里的元素不是向量也可以呢?还真是这样。向量空间的元素还可以是函数、矩阵、多项式、映射等等,只要这些元素满足向量空间的所规定的线性运算规律就好了。

但正如名字所示,我们最常见和研究的向量空间还是一些有序数组,也就是向量的集合,这一节我们还是以它为主介绍。

那么,向量空间应该满足什么性质呢?

向量空间的定义

设V为n维向量的集合,如果集合V非空,且集合V对于向量的加法及数乘两种运算封闭,那么就称集合V为向量空间。所谓封闭,是指在集合V中可以进行向量的加法及数乘两种运算。具体地说:

当然,我们这里前提还是以有序数组,即向量为对象考虑的,对于一般化的向量空间,我们会在后面介绍。

常见的向量空间

在思考这个问题之前,我们先回过头看一看(6)这个定义,其中

既然可以相加,首先它们的维数必须相同,也就是说,不同维数的向量构成的向量空间肯定是不同的,举个最简单的例子,两个集合A和B,
,很容易验证这两个向量都分别满足向量空间的定义,但它们是不同的向量空间。

同样地,我们还能举出一个例子

,和
都是向量空间,可以说是n维列向量能构成的最大的向量空间。

还有哪些呢?比如我们考虑

内,一条过原点的直线也是一个向量空间,因为我们很容易能验证(6)中的两条性质。但线段、射线和不过原点的直线都不是向量空间,也就是没有其他种类的向量空间了。

我们再考虑

中,同样,过原点的直线是向量空间,更进一步,过原点的任一平面也是一个向量空间,也没有其他种类的向量空间了。

现在我们再加上最开始考虑的零向量和

本身,总结一下,
中,一共有多少种向量空间呢?

首先是零向量,然后是

中任一过原点的直线,然后是
中任一过原点的平面,当n=4时,还有
中任一过原点的三维空间,当然4维是抽象的,n>4时以此类推。最后再加上
本身,就是
内所有不同种类的向量空间,共有n+1种。

向量空间的子空间

我们知道了

中,一共有n+1种向量空间,并且,前n种向量空间都是
的子集(当然
本身也是
的子集),那么就称前n种低维向量空间是

子空间

一个集合A首先应该是一个向量空间,其次它是另一个向量空间V的子集,这样它就是这个向量空间V的子空间。

那么,是在

中的这n+1种向量空间,前n种向量空间只能是
的子空间吗?并不是,比如,
上的一个二维向量空间,即
中一个过原点的平面,在其中任找一条过原点的直线,那么这条直线就是这个二维向量空间的子空间。当然,n维零向量也是
中任一向量空间的子空间。

向量空间的基与维数

设V为向量空间,如果r和向量

,且满足:
  • 线性无关;
  • V中任一向量都可由
    线性表示,

那么,向量组

就称为向量空间V的一个

,r称为向量空间V的维数

,并称V为r维向量空间。多说一句,如果
是m维列向量,那么我们通常称V为
上的r维向量空间。

如果向量空间V没有基,那么V的维数是0。0维向量空间只含一个零向量

以上,我们介绍了向量空间的概念, 接下来介绍两种常用的向量空间来帮助理解和求解线性方程组

列空间零空间

6.1 列空间

列空间的定义

设一m 行 n列实元素矩阵为

,则其列空间(column space)是由矩阵A的所有列向量张成(span)的
上的子空间,记作

矩阵A的列空间C(A)中的所有向量均为矩阵A中列向量的某种线性组合,都为

上的向量(即m维向量)。

C(A)的维度等于矩阵A的列秩,最大为

。即:

列空间C(A)的一组自然基底是矩阵A的列向量的最大线性无关组。

线性方程组与列空间

我们考虑以下线性方程组

我们很容易验证列空间

是一个向量空间。

A的列空间

为所有列的线性组合,因为第3列为前两列之和,前两列线性无关,所以
上的一个2维向量空间。

那么,由(8)可知,求解线性方程组从列向量角度讲,本质就是

是否可以由系数矩阵A的列向量线性表出。那么什么时候
解有什么时候无解呢?

从列空间的角度,当

时,线性方程组有解;反之则无解

6.2 零空间

零空间的定义

对于所有使齐次线性方程组

成立的向量
的集合,称为矩阵A的零空间(null spaces),用符号表示为

零空间是一个向量空间。当A为m行n列实元素矩阵,所以

是一个n维列向量:
  • ,则
    ,即
  • ,则
    ,即

所以

就是
的一个子空间。

零空间的维数

很容易知道,

,以下我们来讨论
的非零解。

特例分析

比如我们考虑例(8)所对应的其次线性方程组:

很明显,一个解为

,当然所有
也都是解,那么还有与
不共线的解吗?

我们可以设非零解为

,(这里c≠0,因为c若等于0,前两列线性无关,得到的就是零解)由于所有
也都是解,我们不妨取1/c,即
,来剔除线性相关的解,来讨论:

到底有多少线性无关的

?也就是零空间的维数

我们知道A三个列向量的前两个列向量线性无关,也就是前两列是C(A)的一个基,第三列可以表示成前两列的线性组合:

这种表示方法一定是唯一的。因为若有

,且
,那么两式相减,我们可以得到
,又因为
线性无关,所以只有系数都为0时,其线性组合才为
,所以得到
,这和我们的假设矛盾,即证明了(10)的表示方法一定是唯一的。

那么

的表示方法也一定是唯一的,移项就能得到,使
成立的
,也就是非零解
也是唯一的,从而原齐次线性方程组
的系数矩阵A的零空间的维数为一,也就是说:

N(A)是

上的一维向量空间,即

中的一条过原点的直线。

一般分析

有了以上特例分析作为基础,我们就能容易地推广到一般情况。

对于一般的m行n列矩阵A,考虑A的列向量

,一定可以(但并不唯一地)分为两部分,即
为列空间的一组基(即最大线性无关组),
为分别可以由基唯一线性表出的列向量。

这里的基虽然在原列向量

内,不一定就是最左边的r列,但是可以通过交换列向量得到这种形式,相应的零空间内各列向量的位置也需要做相应的调换,比如交换2、4列的位置,那么零空间向量
相应交换2、4行的位置,变成
,但这并不会影响零空间维数这个结果,我们这么做只是为了方便地分析问题。

我们任意从后面n-r个列向量中取某个

系数为1,使其他n-r-1个系数均为0,同样的分析思路,我们有使

成立的

是唯一的,由于我们假设的一般性,这样的列向量有n-r个,也就是说至少有n-r个线性无关的n维向量在零空间中,即零空间至少n-r维。

尝试写出这n-r个向量:

这下我们就能很容易看出为什么要取一个为1,其他都为0,目的就是为了一定能得到n-r个线性无关且各自唯一表示的列向量。

那么有可能还有其他的线性无关的向量吗?

也就是比如我们再随便给出一个列向量:

想要使

,且与(12)我们已经得到的n-r个解线性无关。这是不可能的。

我们用反证法来证明这个命题,现在有一个

满足“想要使
,且与(12)我们已经得到的n-r个解线性无关”这个

假设,那么,我们一定可以将

表示成如下的形式:

简写为:

关键来了,

一定不是零向量,因为这是我们

假设要求的线性无关

然后我们在(15)等式两端乘以A,便得到:

再以列向量的线性组合表示出来:

由(18)式,我们得到了

线性相关,这和我们最开始的假定是矛盾的,所以我们由反证法得出,不存在更多线性无关的解了,也就是说

dim N(A)=n-r,r为A的秩。

当然,以上这种证明只是我自己做笔记时想出来的,肯定很繁琐,之后学习了矩阵的秩会有相关性质进行简洁的证明。

综合列空间,我们可以得到,对于

,若
,则有:

列空间和零空间对于理解非齐次线性方程组的解是非常有帮助的,列空间告诉我们什么时候有解什么时候无解,零空间告诉我们,解的结构应该是什么样子。

7

的求解

思路

考虑以下A,并进行行变换得到简化阶梯型矩阵R:

现在,记:

那么R可以表示为:

为:

接下来计算RN:

这样我们就找出了

的一组解

计算机求解的过程

第一步,通过消元找出R。

第二步,找出主元变量和自由变量。

第三步,给自由变量赋值0和1,并通过回代解出主变量。

举个例子:

由(23)可知解的形式为:

所以原齐次线性方程组的通解为:

其中,k为任意实数。

8

的求解

在了解了列空间和零空间之后,就可以对

何时有解和解的结构进行分析了。
何时有解?

以下两命题等价:

  • 时,
    有解。
  • 时,
    有解。

具体而言,n元线性方程组

  • 无解的充要条件是

  • 有唯一解的充要条件是
  • 有无穷多解的充要条件是

接下来从简化行阶梯型R来分类:

解的结构

非齐次线性方程组

的通解为齐次线性方程组
的通解,加上非齐次线性方程组的任一特解

数值线性代数徐树方pdf_MIT线性代数4-8:矩阵分解,向量空间,列空间和零空间,线性方程组求解...相关推荐

  1. 三阶矩阵的lu分解详细步骤_数学 - 线性代数导论 - #4 矩阵分解之LU分解的意义、步骤和成立条件...

    线性代数导论 - #4 矩阵分解之LU分解的意义.步骤和成立条件 目前我们用于解线性方程组的方法依然是Gauss消元法.在Gauss消元法中,我们将右侧向量b与A写在一起作为一个增广矩阵进行同步的操作 ...

  2. 线性代数笔记:概率矩阵分解 Probabilistic Matrix Factorization (PMF)

    概率矩阵分解模型可以解决大规模.稀疏且不平衡的数据. 1 PMF的两点假设 1.1.观测噪声(观测评分矩阵和近似评分矩阵之差)服从高斯噪声的正态分布 观测评分矩阵是ground truth的矩阵,我们 ...

  3. Eigen密集矩阵求解 1 - 线性代数及矩阵分解

    简介 这里介绍线性系统的解析,如何进行各种分解计算,如LU,QR,SVD,特征值分解等. 简单线性求解 在一个线性系统,常如下表示,其中A,b分别是一个矩阵,需要求x: Ax=bAx \:= \: b ...

  4. matlab lud矩阵分解,MIT线性代数总结笔记——LU分解

    MIT线性代数总结笔记--LU分解 矩阵分解 矩阵分解(Matrix Factorizations)就是将一个矩阵用两个以上的矩阵相乘的等式来表达.而矩阵乘法涉及到数据的合成(即将两个或多个线性变换的 ...

  5. 线性代数在计算机视觉的应用,线性代数在数据科学中的十大强大应用(二)

    本篇为机器学习与数据科学背后的线性代数知识系列的第二篇,本篇主要介绍自然语言处理(NLP)中的线性代数与计算机视觉(CV)中的线性代数.涵盖主成分分析(PCA)与奇异值分解(SVD)背后的线性代数知识 ...

  6. 形象理解线性代数(三)——列空间、零空间(核)、值域、特征值(特征向量)、矩阵与空间变换、矩阵的秩

    这里,我们还是要以 形象理解线性代数(一)--什么是线性变换?为基础.矩阵对向量的作用,可以理解为线性变换,同时也可以理解为空间的变换,即(m*n)的矩阵会把一个向量从m维空间变换到n维空间. 一.矩 ...

  7. 【线性代数】机器学习·算法必备 线性代数总结

    目录 一.九层之台,起于垒土:坐标与变换 1.1 描述空间的工具:向量(Vector) 1.1.1 重温向量(Vector) 1.1.2 使用Python语言表示向量 1.1.3 向量(Vector) ...

  8. 考研:研究生考试(五天学完)之《线性代数与空间解析几何》研究生学霸重点知识点总结之第五课线性方程组

    考研:研究生考试(五天学完)之<线性代数与空间解析几何>研究生学霸重点知识点总结之第五课线性方程组 目录 5 线性方程组 5.1.知识点 5.1.1.线性方程组有解的充要条件

  9. 【第六章 线性代数之 逆矩阵,列空间与零空间】3Blue1Brown

    文章目录 6.逆矩阵,列空间与零空间 附注2-非方阵 6.逆矩阵,列空间与零空间 整个系列旨在透过直观的线性变换来理解矩阵和向量的运算.线性代数除了在机器人和计算机图形学中有用,还可以用来解方程组. ...

  10. 计算机专业线性代数是,计算机专业_线性代数期末试卷

    计算机专业(本科)<线性代数>期末试卷 一. 设矩阵⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-----=2421164214112111A , 1 求A 的行列式, 2 求A 的秩.(15分) 二. 设矩 ...

最新文章

  1. 小米半年来最大调整:成立技术委员会,雷军称技术事关生死存亡
  2. 如何优化Spring Cloud微服务注册中心架构?
  3. 【开源】Caffe、TensorFlow、MXnet三个开源库对比
  4. Groovy的春天从Java7诞生那日开始
  5. Intel Realsense D435 pyrealsense set_option() rs.option 可配置参数翻译
  6. C# 控制台语音计算器
  7. 国立大学 计算机,新加坡国立大学 计算机
  8. Sublime Text3使用Package Control 报错There Are No Packages Available For Installation
  9. 读邹欣老师《师生关系》有感
  10. Dataset:智慧中国杯—全国大数据创新应用大赛七个数据集简介、下载之详细攻略
  11. 韦东山freeRTOS系列教程之【第六章】信号量(semaphore)
  12. java使用百度翻译接口实现前后端翻译功能
  13. 关于磁力计和加速度计的融合以及坐标系的对准
  14. 小波神经网络的基本原理,小波神经网络什么意思
  15. 女子怨男友沉迷网游 穿性感睡衣出走被性侵
  16. Halcon一维码识别实例
  17. 如何让一台连接wifi上网的电脑通过网线让另一台电脑上网?
  18. 1024程序员节,一份精华合辑送给你
  19. python抓取懂球帝部分球员数据
  20. JVC摄像机mp4视频丢失恢复方法

热门文章

  1. 《番茄工作法图解》一次只做一件事
  2. jQuery缓存操作-cache数据
  3. M8的USB工作模式切换工具
  4. FLASH右键菜单的应用
  5. 现代语音信号处理之短时傅里叶分析
  6. Android gdb 调试
  7. 浅谈Cglib、Jdk以及ProxyFactory实现动态代理上的区别
  8. linux远程拷贝快捷键远程,linux命令scp远程拷贝
  9. mongodb oplog java_MongoDB oplog 深入剖析
  10. oracle设置自增字段,oracle序列