线性变换概念理解
线性变换是一个function。一个input向量,通过function,变成output向量。而这种变换,在坐标系中,表现为一种移动,由input 向量 移动到output向量。同时线性变换也有一些条件来保证变换是线性的。例如原点不能移动,变换程度需要相同。
数字化表示线性变换的变换过程
假设有向量 [-1,2] 希望变成 [5, 2]。
[-1,2] -> [5, 2] = -1* [1, -2] + 2 * [3, 0]。[1, -2] 与[3, 0]是两个新的基向量。那么向量变换变为 基向量变换(表示为伸缩,移动)。
也就是 -1 * new_basis_i_hat + 2 * new_basis_j_hat =[5, 2]。而new_basis_i_hat =[1, -2] , new_basis_j_hat = [3, 0]。
那么数学家们发现,[new_basis_i_hat , new_basis_j_hat]就可以用来描述这个变换,并且假如有其他的向量也想完成这个变换的话,可以直接通过与[new_basis_i_hat , new_basis_j_hat]进行计算,获得变换以后的位置。
矩阵与线性变换关系总结
那么 线性变换的计算公式 也就可以写为: [new_basis_i_hat , new_basis_j_hat] * vector = i * new_basis_i_hat + j * new_basis_j_hat。 而[new_basis_i_hat , new_basis_j_hat] 就被称为矩阵。矩阵与向量相乘,描述了一个向量的线性变换的过程。而矩阵描述了一种线性变换。
与《The Matrix》的碎碎念
有点理解了《黑客帝国》里的,变换矩阵就到新的一个世界中的操作了。一个数字表示的矩阵可以理解为多个基,而多个基的所有组合,构成了世界。也就理解了,为什么Neo他们转换的时候,可以到新的空间的指定位置了,就是通过某种变换完成的。同时也解释了我之前的一个疑惑,为什么只能有固定的出口,不能随手造最近的出口,那么neo不就不用跑来跑去了吗。因为转换的过程是一定的,不同的输入,就会有不同的输出。很有意思~ ^^