线性代数-Gilbert Strang(第一部分)

来源:互联网 发布:淘宝哪里有一元秒杀 编辑:程序博客网 时间:2024/05/23 11:57

第一课时:方程组的几何解释

线性方程组的两种理解方式:行图像(row picture)、列图像(column picture)

  • 行图像:试图将每一个完整方程所表示的图像表示出来;
  • 列图像:关注矩阵的列所表示的向量,把两个方程组放在一起考虑。这样做的目的是找到两个列向量的正确的线性组合为右侧向量。

方程组解的情况:

如果是奇异矩阵,即不可逆矩阵,在行图像中看即至少有两个方程组所表示的平面是平行的,在列图像中看即至少有两个列向量是指向同一方向的(即不相互独立,相当于同一个向量),此时,只有b处在这个向量和另一个非共线向量所表示的平面内时,方程组才有解。

矩阵与向量相乘的方法

  • 将矩阵 A 与向量 x 的相乘,看成 A 各列的线性组合,这是极力推荐的:
    • 矩阵乘以右侧列向量可看成矩阵各列向量的线性组合,结果为列向量
    • 左侧行向量乘以矩阵可看成矩阵各行向量的线性组合,结果为行向量
  • 原始点乘方式

第三课时:矩阵乘法、矩阵的逆

矩阵乘法

行列点乘、列方法、行方法、列x行方法、分块乘法

矩阵的逆

A为不可逆矩阵的充要条件

  • 行列式为0
  • 列向量的线性组合可以得到0向量
  • 秩小于n
  • Ax=0有非0解
  • 有特征值0

求逆的方法(Gauss-Jordan):

  1. 将矩阵A和I放到一起形成增广矩阵
  2. 对增广矩阵中的A进行消元,将A变成I
  3. A的逆即为消元过后增广矩阵的右侧部分

证明:设 E 为进行消元操作的矩阵,即 EA=I,那么E=A1,故 E[AI]=[IA1].

另外:

  • (AB)1=B1A1
  • (AT)1=(A1)T(求逆操作可以与转置操作颠倒顺序)

第四课时:A的LU分解

A=LU 是最基础的矩阵分解。L 是下三角矩阵,U 是A通过消元得到的上三角矩阵。L 是对A进行的所有操作矩阵的逆的反向乘积。

例:E32E31E21A=U,那么 A=E121E131E132U=LU.

消元的复杂度:
对于1个 n×n矩阵,需要进行的加和乘的操作次数为 O(n2)=O(n3)

第五课时:转置、置换、向量空间

置换(Permutation)矩阵:

  • 用来对矩阵进行行互换操作的矩阵,是重新排列了的单位矩阵
  • n阶单位阵共有 n! 个置换矩阵,这些置换矩阵构成置换矩阵群
  • 所有置换矩阵都可逆,且逆等于转置

实际上在做LU分解的时候,需要对矩阵A进行行互换,以避免主元上出现0,这里就可以用到置换矩阵。因此LU分解可以表示为:PA=LU.

向量空间、子空间

向量空间:对加法和数乘运算封闭,即对线性组合封闭,即空间内的向量的线性组合仍然在空间之内。例:直线、平面、三维空间。

子空间:取某向量空间的部分空间,这部分的向量对加法和数乘封闭,称这个空间为子空间。
例:
- R2(平面)的子空间:穿过原点的直线、原点/零向量.
- R3的子空间:穿过原点的平面、穿过原点的直线、原点/零向量.

矩阵的子空间
通过列向量构造,矩阵的列向量的所有线性组合构成了一个子空间,称为列空间。如果列向量恰好在一条线上,那么子空间就是一条直线。

如果列空间部分向量线性相关,那么称其中最大的非线性相关列向量为主列

第六课时:列空间和零空间

从列空间的角度看 Ax=b 的解,如果方程有解的话,说明 b 位于 A 的列空间之中.这样的b应满足以下条件:

  • b为零向量。因为Ax=0总有一个零解。
  • b是列向量的线性组合.

零空间(Null space):

零空间指的是 Ax=0 的所有解x所构成的空间。
例如:

123411112345ccc=0000

此时的零空间是 R3 中穿过原点的一条直线。

求解零空间可以使用消元法.

证明零空间是一个向量空间:
如果 Av=0Aw=0,设a,b为常数,那么 aAv+bAw=A(av+bw)=0. 即零空间的向量对加法和数乘封闭.

前面考虑的是 b=0 的情况,那么如果 b0,那么它的解空间是否构成向量空间呢?
答案是否定的,因为明显零向量不在这个空间。它通常是不过原点的平面或者不过原点的直线

第七课时:求解Ax=0:主变量、特解

消元:对矩阵A的行向量做线性变换是不会改变解空间的。

对矩阵A的消元可以得到阶梯形(echelon)矩阵U(这里如果应该进行消元的列的主元为0的话,就对下一列进行消元,这时的消元后矩阵就是阶梯形的),每行的首个非零元素为 主元 (pivot).

这里引出 的概念:Rank(A)=主元的个数

消元后得到方程变成了Ux=0,但解和列空间不变。通过回代即可求解。

称含主元的列为主列,其它列为自由列

求解零空间的算法:

  • 对A 进行矩阵消元,确定主列,其余为自由列;
  • 然后对自由变量分配数值。一般的,可以令其中一变量为1,其他均为0,求出一个解,再令另一个变量为1,其他为0,完成另一个解。。求出的这些解向量完全不同,每一个解都是零空间的一部分,整个解就构成了完整的零空间了。

特解:给定自由变量特定的值(0或1)求出的解。特解的个数即为自由列的个数。通过特解的线性组合能够构造整个零空间,

算法总结:消元后矩阵U 的秩Rank(A)=r,表示主变量的个数,主元的个数,表示只有r 个方程起作用,
那么自由变量的个数即n-r 个,令自由变量取1,0 值就能得到特解,所有的特解构成了零空间的基特解的线性组合即构成了整个零空间

简化行阶梯形
R=reduced row echelon form(rref):主元变为1,主元上下都是0.这样的矩阵所包含的信息:

  • 主行、主列
  • 一个单位阵:主行和主列交汇处的元素
  • 全0行:表示该行是其它行的线性组合
  • Ax=0Ux=0Rx=0 解越来越清晰明了

将矩阵R中的主元列和自由列分别放在一起形成单位矩阵I和自由列矩阵F。一个有趣的现象是:特解结果中,自由行中数字的相反数即特解中的主元值。
R=[I0F0],且特解为[FI]Ax=0转化为:

[I0F0][FI]=0

matlab中使用null(A,’r’)可以得到由rref方式得到的零空间的基向量。

重要结论:矩阵主列个数与其转置的主列个数相等!即矩阵的秩与其转置的秩相等

第八课时:求解Ax=b:可解性和解的结构

Ax=b可解必须满足的条件:

  • b属于A的列空间
  • 行的线性组合如果得到0向量,那么b中的元素相同组合也为0

二者等价。

求解方法:

  • 先求特解,将所有的自由量设置为0,得到特解 xp,满足 Axp=b
  • 求解零空间的特解,得到零空间,记其中的向量为 xn,满足 Axn=0
  • 方程Ax=b的通解即为特解加上零空间的任意向量

因为 Axp=b,且 Axp=b,那么 A(xp+xn)=0。 对于方程的某个解,其与零空间内任意向量之和仍为解。

把这些解在空间中表示出来, xp 是一个非原点的点xn 是一个子空间(穿过原点的直线、穿过原点的平面…),那么 xp+xn 的组合是一个不经过原点的平面、直线,不再是一个子空间


1232462682810x=156

经过消元后得到:
100200010220x=23/20

1). 令自由量 x2=x4=0,解得:xp=[203/20]T.
2). 现在求 Ax=0 的零空间,令 x2=1,x4=0,解得:xn1=[2100]T;令 x2=0,x4=1,解得:xn2=[2021]T.(也可由rref方式得到)
故通解为:
xcomplete=203/20+c12100+c22021

秩与 Ax=b 的解的关系
秩 r 的 m×n 的矩阵 A 始终有:rm,rn.

  1. 列满秩:r=n,各列线性无关(此时必有nm)
    • 每列都有主元,没有自由变量
    • 零空间只有零向量,列的线性组合无法产生0向量
    • Ax=b的解:0个或者一个,如果有的话,那么唯一解是特解 xp
    • 此时A的 rref 矩阵满足形式 R=[I0]
  2. 行满秩:r=m,各行线性无关(此时必有 mn)

    • 每行都有一个主元,自由变量 n-r 个
    • 对任意的 b, Ax=b 都有解,且有无穷多个解
    • 此时A的 rref 矩阵满足形式 R=[IF]
  3. 满秩方阵,r=m=n,行向量、列向量 均线性无关

    • 零空间只含0向量
    • 对任意的b,Ax=b有解,且唯一
    • 可逆矩阵
    • 此时A的rref矩阵为 R=I

总结

A的秩 解的数量 解的情况 r=m=n 唯一解 列向量线性组合 r=n<m 无解或唯一解 若b在列空间中则有解 r=m<n 无穷多解 特解+零空间 r<m,r<n 无解或无穷多解 若b的行与列向量有相同组合关系则有无穷解,否则无解

第九课时:线性相关性、基、维数

线性相关性(Linear independence):

  • 如果矩阵 A 的零空间中存在非零向量,那么各列线性相关。此时秩Rank(A)

生成空间(The space they span):

向量组 v1,v2,,vn 生成了一个空间的意思是空间包含这些向量的线性组合。例如:矩阵的列生成列空间。

向量空间的基(basis):

向量空间的一组基是指:
一系列的向量,v1,v2,,vd,这些向量具有两大性质:
1)他们是线性无关的,可逆;
2)他们生成整个空间;
对于给定的 N 维空间,基向量的个数就是 N 个。向量空间的基不唯一,满足条件的向量组都可以是基向量。

维数(dimension):

基向量的个数,空间的大小

列空间的维数=主列的个数=矩阵的秩
注意:不是矩阵的维数

例如:矩阵 A=111212323111R=[I0F0]=100010110100,它的列向量能生成列空间,但这些列向量不是 R3,它们是列空间的基,列空间的维数是2。

零空间的维数=自由列的个数=自由变量的数目

已知矩阵 Am×n,秩为 r,那么自由变量为 n-r,即dim(N(A))=n-r. 注意只与矩阵的列数目有关,可见:

列空间的维数(r)+零空间的维数(n-r)=矩阵的列数(n)

第十课时:四个基本子空间

对于矩阵 Am×n,称列空间、零空间、行空间、左零空间为四个基本子空间,线性代数的核心内容就是研究四个基本空间及其关系。

零空间 N(A)

n 维向量,是 Ax=0 的解,所以 N(A)Rn 里。

列空间 C(A)

列向量是 m 维的,所以 C(A)Rm 里。

行空间 C(AT)

A 的行的所有线性组合,即A转置的列的线性组合(因为我们不习惯处理行向量),C(AT)Rn 里。

A 的转置的零空间 N(AT) ——A的左零空间

N(AT)Rm

重要结论:

  • 行空间和零空间在 Rn 里,他们的维数加起来等于n,
  • 列空间和左零空间在 Rm 里,他们的维数加起来等于m
  • 行空间的维数和列空间的维数相同,都等于秩的大小 r
  • 零空间:主变量有 r 个,自由变量有 n-r 个,零空间的维数为 n-r
  • 左零空间:维数为 m-r

换句话说:

  • n 维空间中存在两个子空间,一个r 维的行空间,一个n-r 维的零空间,维数和为n;
  • m 维空间中存在两个子空间,一个r 维的列空间,一个m-r 维的左零空间,维数和为m。

基的问题:

  • 列空间:主列即为一组基
  • 零空间:一组特解即为一组基
  • 行空间:通过初等行变换成最简形式,rref形的前r行即为一组基

行变换不会对行空间产生影响,但会对列空间产生影响。

左零空间(A 转置的零空间):为什么叫左零空间?
ATy=0,将等式左右两边都转置,得:yTA=0T,所以叫左零空间。求矩阵的左零空间,就试着寻找一个产生零行向量的行组合,求矩阵的零空间,就试着寻找一个产生零列向量的列组合。

第十一课时:矩阵空间、秩1矩阵

矩阵空间:

Rn 的概念延伸至 Rn×n,矩阵空间也是向量空间,它们仍对加法和数乘封闭。例如 3x3 矩阵的加法和数乘仍停留在 3x3 矩阵空间,它有一些子空间,如:3x3对称矩阵、3x3上三角矩阵。

普通矩阵M
3x3 矩阵的一组基有9个矩阵(分别令某个元素为1,其余为0)。实际上,这个空间与9维空间相同,只是9个数字写成了一个方阵。

对称矩阵S
3x3对称矩阵的一组基有6个矩阵,对角线三个元素和对角线以上的3 个元素分别为1 其余为0

上三角矩阵U
维数为6,一组一组基是:上三角的 6 个元素分别为1 其余为0.

对于其它子空间:
SU:维数为3,只有对角线上的非0元素
S+U:维数为9,取S 内任一元素(矩阵)加上U 内任一元素(矩阵)即可
SU:不构成子空间!

其它向量空间的例子:
微分方程 d2ydx2+y=0,它的解空间(零空间)可以描述为:y=c1cosx+c2sinx,解空间的基为 cosxsinx,解空间的维度为 2.

秩 1 矩阵

所有秩1 的矩阵都可表示为一列乘以一行的形式:A=UVT,U 是列向量,V 也是列向量。如 [1248510]=[12][145]
所有矩阵都可以表示为秩1矩阵的组合。如果有5×17的矩阵,秩为4,可以把这5×17的矩阵分解为4个秩1矩阵的组合。

秩1矩阵组成的集合是子空间吗?不是!

假设矩阵空间M 为所有5×17 的矩阵,一个由秩4 矩阵组成的子集,子集中两个矩阵相加结果很可能是一个秩5 矩阵;由秩1 矩阵组成的子集,相加结果很可能是一个秩2 矩阵。

R4 中的向量 v=[v1,v2,v3,v4]T,假设 S={vR4|v1+v2+v3+v4=0},那么 S 是子空间吗?是!

因为 S 中的向量对加法、数乘封闭。其实,S 是矩阵 A=[1111] 的零空间。A 是一个秩 1 矩阵,零空间的维数为 nr=41=3.

A的行空间是一维空间,列空间也是一维空间;
A的左零空间是0维空间,没有任何向量,基是空集

第十三课时:复习一

  1. 已知:Ax=242x=200+c110+d001
    (1)求行空间的维数
    (2)矩阵A是什么样的
    答:
    (1) 首先,A是一个3x3的矩阵(因为b有三行,且x为三行);其次,由解的结构可知,A的零空间的维数是2(两个零空间特解),所以矩阵A的秩为1,即行空间的维数为1.
    (2) 由 xp=[200]T,可知A的第一列为 [121]T;然后因为零空间中包含 [121]T,说明A的最后一列均为0;最后由零空间包含 [110]T,故第二列为[121]T。即:

    A=121121000T

  2. 如果方阵的零空间只含零向量,那么它的转置的零空间也只包含零向量。

  3. 如果方阵 A 满足 A2=0,那么是否可以推出 A=0
    答案:不能。反例:

    [0010][0010]=[0000]

  4. 已知矩阵 B=101110001100010110210.
    (1)B的零空间的基是什么?
    (2)求解 Bx=101 的通解。
    答:
    (1)左边是可逆矩阵,如果C是可逆矩阵的话,那么零空间N(CD)=N(D),零空间不会因为C而改变。因此B的零空间等价于右边矩阵的零空间。一组基为:1110,2101
    (2)只需要求出一个特解即可。因为B的第一列和b是一样的,所以可以得到特解 [1000]T. 加上(2)得到的零空间即可得到通解。

  5. 判断:如果A和B的4个子空间相同,那么 A=cB,c为常数.
    答:错误. 反例:任意同阶的可逆方阵A和B的4个子空间都相同。

  6. 如果交换一个矩阵中的两行,行空间和零空间不变,列空间和左零空间改变

  7. 为什么向量 v=(123)不能同时为一个矩阵的行向量和零空间的一个向量,即 v 为什么不能同时存在于行空间和零空间。行空间和零空间的交集只有零向量。实际上,零空间与行空间正交

1 0