1. 线性变换的概念
当一个矩阵
乘以一个向量
时,它将
。进来的是
,出去的是
。一个变换
就像一个函数一样,进来一个数字
,得到
。但更高的目标是一次考虑所有的
,我们是将整个空间
进行变换当我们用
乘以每一个向量
时。
一个变换,为空间中的每一个向量分配一个输出。这个变换是线性的,如果它满足:
我们可以将这两个条件结合成一个,
矩阵相乘满足线性变化,因为
始终成立。
线性变换满足线到线,三角形到三角形,看下图。
在一条线上的三个点经过变换后仍然在一条线上,变换前等距离的点变换后仍然是等距离的点,输入是一个三角形变换后输出还是一个三角形。这种线性可以扩展到三个向量或者 N 个向量的组合。
变换有自己的语言,如果没有矩阵的话,我们没办法讨论列空间。但是这些思想可以被保留,比如列空间包含所有的线性组合
,零空间包含所有使得
的输入。将它们转化为值域(range)和核(kernel):
的值域 = 所有输出的集合,对应于列空间。的核 = 所有使得的输入的集合,对应于零空间。
投影任意一个三维向量到
平面,那么我们有
。值域就是这个平面,包含了所有的
;核是
轴,它们被投影到了零点。这是一个线性的变换。
投影任意一个三维向量到
平面,那么我们有
。这不是一个线性的变换,为什么呢?它根本不能将零向量投影到零点,而这是线性变换必须满足的条件。
假设
是一个可逆的矩阵,那么核是零向量,值域
和输入空间
相同。有另一个线性变化是乘以矩阵
,它将每一个
都带回到
,有,
我们遇到了一个不可避免的问题,所有的线性变换都可以由一个矩阵产生吗?答案是肯定的,所有的变换比如旋转、投影……背后都藏着对应的一个矩阵。
最后我们来直观地感受一下线性变换,看一个矩阵是怎么旋转、拉伸或者以其它方式改变输入的房子的。
2. 线性变换的对应矩阵
这部分的核心在于,如果我们知道了基向量的变换,那么由于变换是线性的,我们就知道了任意输入向量的变换。
每个向量
都可以表示为基向量的唯一线性组合
,又由于
是线性变换,那么必有
。
函数
的导数是
。这里,
是立方多项式空间的一个基,输入空间
包含它们的所有组合,四个基的导数可以告诉我们空间
中的所有导数。
针对求导这个变换
,我们求解
来找到它的核。解是
,因此
的零空间是一维的,包含所有的常函数。我们查看
的所有输出来找到它的值域,由于输入是三次多项式,三次多项式的导数是二次多项式,所以如果输出空间
是二次多项式空间的话, 那么
的值域是整个
,维度为 3。
核的维度+值域的维度=输入空间的维度。
导数将立方空间
变换到平方空间
,对应的矩阵是
大小的。
为什么
是正确的矩阵,我们可以看到乘以矩阵
和变换
是一致的,
的导数是
。
然后我们来看积分变换
,对应的矩阵是
大小的,
的导数是
。
长方形的矩阵
没有双边逆矩阵,但它有单边逆,积分是导数的单边逆。
如果你对一个函数积分后再求导,那么你又回到了起始函数,所以
。但是,如果你先求导再积分,常数项就会丢失,
,这也就是为什么
的第一列为 0。
现在我们来构建任意线性变换的矩阵。假设变换
将
维空间
变换到
维空间
,
是
的一组基向量,
是
的一组基向量。那么矩阵
是
大小的,要找到它的第一列,我们应用
到第一个基向量
,
位于
空间并有,
这些数字就是
的第一列元素,同理我们可以得到矩阵的所有元素。
所有的输入向量都可以表示为
中基向量的线性组合,变换后的输出则是
中基向量的线性组合。矩阵
告诉了我们变换
做了什么,
任何从
到
的变换都可以转换为一个矩阵,这个矩阵则取决于基向量的选择。
两个变换
和
分别用矩阵
和
表示。当我们应用
变换到
变换的输出,我们得到了变换的组合
;当我们在
之后应用
,我们得到了矩阵相乘
。
矩阵相乘给出了变换
的正确矩阵
。