作者 | 梁唐
出品 | 公众号:Coder梁(ID:Coder_LT)
大家好,日拱一卒,我是梁唐。
今天我们继续MIT的线性代数课程,这一节课的内容关于列空间和零空间。这两个概念同样在线性代数当中非常重要,并且是国内教材相对比较欠缺的,对于我们系统性地理解和掌握这门课程非常有帮助。
在上一节课当中我们了解了什么是线性子空间,比如一个穿过原点的平面或者是直线都是一个子空间。关于子空间我们有一些简单的性质需要讨论:
假设
是一个
内的平面,
是
内穿过原点的一条直线,它们都是一个子空间。那么,对于
,它是一个子空间吗?
答案是绝大多数情况下不是,除非
和
共面。因为当不共面时,我们在
或
中分别选择两个向量相加,得到的结果结果不在
或
上。
类似的,对于
,它是一个子空间吗?
答案是yes,我们可以进行一个简单的证明。假设我们在
上选择了两个向量
和
。我们对这两个向量计算线性组合,得到
。根据子空间的性质,这个线性组合的结果必然同时在
和
当中,因此它是一个子空间。
我们可以将这个结论进行推广,对于子空间
和
,
仍然是一个子空间。
假设我们拥有一个如下的矩阵:
它的列空间
是
的子空间,因为每一列向量有四个分量。这个子空间是由
中的列向量进行线性组合得到的。
接着,我们来思考一个问题,这个子空间有多大呢?它能填充整个
的空间吗?这个答案可能很难直观地得到答案,我们需要将它和线性方程组进行结合。
我们来思考一个问题,对于方程
而言,对于任意
都有解吗?
这个答案很显然,不是,因为方程组中一共有4个方程,但是只有3个未知数。我们写出整个方程:
我们观察一下方程组可以发现,我们很容易找到几组能够让方程组成立的
,比如:
这三组
对应的解分别是:
我们要寻找满足有解的
也很简单,我们可以先枚举解,然后通过矩阵乘法计算得到对应的
。也就是说要使得方程组有解,需要满足
向量在矩阵
的列空间当中。
因为根据列空间的定义,本来列空间就会包含列向量的所有线性组合。而
的乘法计算,本质上就是对矩阵的列向量进行线性组合。所以列空间自然包含了所有有解的向量
,这两个是一回事。这样我们也就知道了什么时候方程组有解,种种判断的计算方法,本质上都是围绕这一点展开的。
这里教授做了一点展开,我们思考一个问题,矩阵
的三个列向量彼此之间完全独立吗?
我们稍微观察一下就会发现,它们并没有完全独立。因为第三列向量等于前两列向量的和。也就是说第三列向量可以被前两列向量表达,它对于构成的列空间并没有贡献。
对于这种情况,称为线性相关。
最后,我们再来看看零空间的定义。
零空间的定义是指在
当中,所有使得方程
有解的解
的集合。
也就是上面例子当中,
等于0的特殊情况。我们把零空间写作
,英文是nullspace。
对于这个例子,我们可以很容易发现,
是方程的一个解,进一步我们可以发散,对于所有的
解,方程都成立。也就是说
包含所有形如
的向量,这里的
是一个任意实数。
我们可以作出它的图像:
我们可以简单证明一下,
是一个子空间。假设
和
是
中的两个向量,那么满足
。根据矩阵运算的分配率,可以得到
。
并且我们对于
和
进行线性组合之后乘上
的结果都等于0,也就是说它们线性组合之后的结果仍然在
当中,也就证明了
是一个子空间。
最后, 我们思考一个问题,对于不为0的
,方程
的解的集合还是一个子空间吗?
答案不是,证明也非常简单,因为原点不在其中。
喜欢本文的话不要忘记三连~