有三种理解向量的方式,如下:
以2维空间为例,存在一组基向量 。这个二维空间中的任意一个向量都可以由这一组基向量表示,那么就说这个二维空间是 这一组基向量所 张成 的空间。具体表示方式为:
其中 是任意实数,也是 的值。 仅仅通过对基向量进行 缩放相加 的操作就能得到空间中的任何一个向量,这也说明向量加法与数乘尤为重要。
所以说
自然,这样的基向量有无数组, 二维空间中,我们通常选择上述的 作为基向量。
变换 其实等价于 函数 ,在此场景下,函数输入的是向量,输出的也是向量。
输入输出的向量维度可以不同。
之所以用 变换 而不是 函数 来定义,是因为 变换 更强调一个 运动 的过程,例如二维空间中我们能想象,向量经过一个 线性变换 从而移动到空间中其他位置。
变换 有线性变换和非线性变换2种,本节讲的是 线性变换 及其与 矩阵 的关系。
将向量想象成箭头,那么 线性变换 是指起点在 原点 的向量在不同空间中的移动,且保持了向量数乘和加法的不变性。 这个不同空间可以理解为
例如一个3维向量经过线性变换变成了3维向量。 或者一个3维向量经过线性变换变成了2维向量。
上述的1其实是2的一个特例,如果变换后空间维数不一样了,那么空间定义的基向量肯定也发生了改变。
直观上,我们可以使用
2个条件来表示线性变换。
我们知道线性变换就是将空间中所有的向量移动到一个新的位置。在此过程过程中,向量的起点不变。那么如何追踪任意一个变换过的向量呢?
由上一节我们知道了向量其实是基向量的线性组合,任何向量都可以由基向量来表示。
怎么知道基向量的变换情况呢?在二维空间中,我们只需观察 这组基向量。并且线性变换后的基向量的系数就是线性变换之前基向量的系数,也就是线性变换之前 的坐标 。
已知
即 , 经过线性变换后变为 ,即 ,此时 相应地变换为 , ,且 证明 。
由上文线性变换的 定义 可知: 所以 。
所以只要我们知道了变换后的基向量坐标,我们就能进行线性变换。
现在假设已知线性变换后的基向量 , 。 借用上述证明中的各已知条件。
,
那么将 的坐标"包装"在一个 的格子里,我们称其为 矩阵 。
看到这里,大家应该明白了原来矩阵是经过线性变换后的基向量的拼接。
而日常应用中通常会给出矩阵,所以本节开头假设变换后的基向量已知是成立的,它就是矩阵的元素嘛。
那么空间中变换后的任意向量就可以由基向量来表示了。
请看下面的例子:
有矩阵 ,另有向量 ,则向量在矩阵的" 作用 "下,(经过一个 线性变换 ),向量的新坐标(移动到一个新的位置)如下:
请仔细看,跟上文中 这一形式类似,此时 相当于 ,为基向量的系数,而 , 则为线性变换后的基向量。
因此矩阵与向量的乘法的直观解释如下:
既然一个矩阵代表空间的一次 线性变换 ,那么矩阵相乘就表示变换过一次的基向量再进行一次 线性变换 ,即对原空间进行两次线性变换。
进行两次变换的效果等价于2个矩阵相乘后得到的1个矩阵一次变换的效果。
主要内容来源于b站up主 @3Blue1Brown 的 线性代数的本质