MIT 公开课:Gilbert Strang《线性代数》课程笔记(汇总)
Lecture 1: The geometry of linear equations
课程 1:方程组的几何解释
首先考虑最简单的二元线性方程组
{a1x+b1y=la2x+b2y=m.
从行的角度来看,
a1x+b1y=l 和
a2x+b2y=m 分别表示两条二维平面中的直线,如果这两条直线相交,那么交点的坐标
(x∗,y∗) 即为方程组的解。
更确切的讲,如果两条直线相交于一点,那么该方程组有且仅有一个解,即为交点的坐标;
如果两条直线重合,那么说明这两条直线方程实际上是同一条直线,此时直线上的所有点的坐标均为方程组的解;
如果两条直线平行但不重合,则说明不存在点的坐标同时满足这两条直线的方程,此时方程组无解。
从列的角度来看,上述二元线性方程组可以写成
x(a1a2)+y(b1b2)=(lm).
此时,列向量
(a1a2),(b1b2),(lm)
表示起点为
(0,0) , 终点分别为
(a1,a2),(b1,b2),(c1,c2) 的向量,分别记为
α,β,γ.
那么
x(a1a2)+y(b1b2)
就表示向量
α,β 的线性组合,
x,y 称为线性组合的系数,因此线性方程组就可以理解为:
是否存在合适的线性组合系数 x,y , 使得 α,β 的线性组合 xα+yβ 恰好等于 γ . 如果存在,线性组合的系数 x,y 为多少?
值得一提的是,从列的角度看待线性方程组是一种非常重要的理解方式,以后会经常用到这样的思想。
类似的,对于三元一次方程组
⎧⎩⎨a1x+b1y+c1z=la2x+b2y+c2z=ma3x+b3y+c3z=n.
从行的角度来看,三个三元一次方程表示三维空间中的三个平面,如果三个平面相交于一点,那么交点的坐标即为方程组的解。
更确切的讲,如果三个平面有且只有一个交点,那么此时方程组有且仅有一个解,即为交点坐标;
如果三个平面相交于一条直线,那么这条直线上的所有点的坐标均为方程组的解;
如果三个平面重合,那么平面上的点的坐标均为方程组的解;
如果三个平面没有公共的交点,那么方程组无解。
从列的角度来看,类似二元线性方程组的情形,同样可以从列向量线性组合的角度来理解。
对于一般的 n 维线性方程组 Ax=b,其中 A 是 n×n 维系数矩阵, x 是 n 维列向量, b 是方程组右端的 n 维列向量。
不妨设 α1,α2,⋯,αn 是 A 的 n 个列向量, x=(x1,x2,⋯,xn)T ,则方程组 Ax=b 可以表示为
(α1,α2,⋯,αn)⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟=b.
即
x1α1+x2α2+⋯+xnαn=b.
由此可以看出,矩阵
A 乘以向量
x 相当于对
A 的
n 的列向量作线性组合,线性组合的系数即为向量
x 各对应的分量。
因此对线性方程组
Ax=b 可以理解为:
是否存在合适的线性组合系数,使得 A 的列向量的线性组合恰好为 b。如果存在,线性组合的系数为多少?这些线性组合的系数就构成了 Ax=b 的解向量 x.
现在,我们还有一个问题,线性方程组 Ax=b 在什么情况下有解?
首先我们考虑对于任意的 n 维列向量 x,当 x 变动时, Ax 也在变动,当 x 取遍所有的 n 维列向量时, Ax 就能取遍所有 A 的列向量的线性组合,也就是说,所有的 Ax 就构成了 A 的列向量张成的线性空间 V=span{α1,α2,⋯,αn}.
因此
Ax=b有解⇔b∈span{α1,α2,⋯,αn}.
又由于
b∈span{α1,α2,⋯,αn}⇔rankA=rank(A,b).
因此我们也就得出了
Ax=b有解⇔rankA=rank(A,b).
特别地,如果
A 的
n 个列向量线性无关,那么这
n 个列向量就构成了
n 维向量空间
Rn 的一组基。此时对于任意的
b∈Rn 均可由
A 的列向量线性表出,也即是
Ax=b 一定有解。
换言之,如果
A 可逆,则
Ax=b 一定有解。
有了对线性方程组的这些认识,我们可以更好地理解矩阵乘法。
首先考虑列向量 x∈Rn 右乘矩阵 A∈Rn×n .
先从行的角度考虑,不妨设
A=⎛⎝⎜⎜⎜⎜⎜αT1αT2⋮αTn⎞⎠⎟⎟⎟⎟⎟,x=⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟.
其中,
αT1,αT2,⋯,αTn 是
A 的
n 个行向量,
x1,x2,⋯,xn 是
x 的
n 个分量。
则
Ax=⎛⎝⎜⎜⎜⎜⎜αT1αT2⋮αTn⎞⎠⎟⎟⎟⎟⎟x=⎛⎝⎜⎜⎜⎜⎜αT1xαT2x⋮αTnx⎞⎠⎟⎟⎟⎟⎟=⎛⎝⎜⎜⎜⎜α1⋅xα2⋅x⋮αn⋅x⎞⎠⎟⎟⎟⎟.
由此可知,从行的角度来看,
Ax 相当于分别用
A 的行点乘
x ,这就是矩阵乘法的定义。
下面从列的角度考虑,这是一种非常重要的理解方式。
不妨设
A=(β1,β2,⋯,βn).
其中,
β1,β2,⋯,βn 是
A 的
n 个列向量。
则
Ax=(β1,β2,⋯,βn)⎛⎝⎜⎜⎜⎜x1x2⋮xn⎞⎠⎟⎟⎟⎟=x1β1+x2β2+⋯+xnβn.
由此即知,列向量
x 右乘矩阵
A 即是对
A 的列向量作线性组合,
x 的各分量即为线性组合的系数。
下面考虑行向量 yT 左乘矩阵 A∈Rn×n , 其中 y∈Rn
不妨设
yT=(y1,y2,⋯,yn).
则
yTA=(y1,y2,⋯,yn)⎛⎝⎜⎜⎜⎜⎜αT1αT2⋮αTn⎞⎠⎟⎟⎟⎟⎟=y1αT1+y2αT2+⋯ynαTn.
由此即知,行向量
yT 左乘矩阵
A 相当于对
A 的行向量作线性组合,
yT 的各分量即为线性组合的系数。
综上所述,列向量 x 右乘矩阵 A 相当于对 A 的列向量作线性组合,x 的各分量即为线性组合的系数;行向量 yT 左乘矩阵 A 相当于对 A 的行向量作线性组合, yT 的各分量即为线性组合的系数。
对于矩阵与矩阵的乘法,只需把矩阵按行或列分块,即可按上述向量乘矩阵的方式理解。
即
AB=A(β1,β2,⋯,βn)=(Aβ1,Aβ2,⋯,Aβn)=⎛⎝⎜⎜⎜⎜⎜αT1αT2⋮αTn⎞⎠⎟⎟⎟⎟⎟B=⎛⎝⎜⎜⎜⎜⎜αT1BαT2B⋮αTnB⎞⎠⎟⎟⎟⎟⎟.
也即是,
矩阵 B 右乘 矩阵 A 相当于对 A 的列作线性组合,B 的各列的分量即为线性组合的系数;矩阵 A 左乘 矩阵 B 相当于对 B 的行作线性组合,A 的各行的分量即为线性组合的系数。
这种理解方式也有助于我们更快地进行矩阵乘法的计算。
MIT 公开课:Gilbert Strang《线性代数》课程笔记(汇总)