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

目录

数值线性代数徐树方pdf_MIT线性代数4-8:矩阵分解,向量空间,列空间和零空间,线性方程组求解..._第1张图片

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)