线性变换——线性代数的本质(二)
本节讲述线性变换与矩阵的关联、矩阵的作用,对后续矩阵乘法、行列式等等内容都极为重要,请各位阅读此节的朋友们务必掌握并了解里面的内容,为后面的学习打下基础。
线性变换
要了解线性变换,首先要知道它的定义嘛,以下来自百度词条:
线性映射( linear mapping)是从一个向量空间是线性空间V到其自身的线性映射。而线性变换(linear transformation)是线性空间V到其自身的线性映射。
(emmm,对于我来说看了和没看一样哈哈哈😪)
抛开上面定义,我们来通俗地聊聊“线性变换”。
1、先说说变换:
其实你可以将变换理解为函数。函数是我们再熟悉不过的东西了:
接收数值,一顿内部操作,输出结果。
只不过,在线性代数里面,这个变换(函数)接收和输出不再是数值,而是向量。
那么说到这里,有人肯定会好奇了 ,既然是函数嘛,为什么还要整一个“变换“的新名词去包装它呀,和真正的函数有什么区别呀?
这里用的变换,其实是暗示我们用一种”运动”的角度去看待这种输入–输出关系,在大脑里面形成动画,可视化地表示出这输入向量移动到输出向量时的运动过程。
(自动脑补成动画形式)
2、再说说线性:
所谓线性变换,只需要满足两点即可:
1、变换前后原点必须保持固定。
2、变换前后直线依然是直线。
总的来说,线性变换是保持网格线平行且等距分布的变换。
概念倒是看懂了,那我们应该怎么描述线性变换呢?
经过线性代数的本质(一)基向量和线性组合的学习,我们知道只要改变标量的大小,就可以用基向量表示线性空间内的所有向量。
因此,空间中每一个向量都可以表示成基向量与标量数乘后相加,也就是我们说的缩放向量再相加。
还没看线性代数的本质(一)的兄弟们请就坐!
在前面,我们知道线性变换是保持网格线平行且等距分布的变换。因此在这个过程中,线性变换中标量的度量标准没有发生改变,使得基向量发生了改变,标量并未发生改变。
所以,我们可以根据变换后的基向量推出变换结果。
我们以 [ − 1 2 ] \begin{bmatrix}-1\\2\\ \end{bmatrix} [−12]为例讲解变换结果的推理。我们将该向量进行线性变换,变换到如图所示的位置。
此时初始向量
v
⃗
\vec v
v的表示如下:
v ⃗ = − 1 i ⃗ + 2 j ⃗ (1) \vec v = -1\vec i + 2\vec j\tag{1} v=−1i+2j(1)
由于线性变换中只有基向量发生了改变,因此我们更新一下 v ⃗ \vec v v的表达式,如下:
v ⃗ = − 1 ( 变 换 后 的 i ⃗ ) + 2 ( 变 换 后 的 j ⃗ ) (2) \vec v = -1(变换后的\vec i) + 2(变换后的\vec j) \tag{2} v=−1(变换后的i)+2(变换后的j)(2)
下一步我们要找出变换后的基向量。
整个变换过程如下所示:
一个二维空间的变换仅由4个数字就可以完全确定!
就这样,看似抽象的线性变换,最后可以具体到向量数乘与相加,这就是线性代数的奇妙之处啊!只要我们知道这个线性变换中的基向量是怎么变换的,我们就可以推断任意向量在变换后的结果。
矩阵
我们将上面变换后的基向量 i ⃗ \vec i i 和 j ⃗ \vec j j 包装在一个2X2的格子中,称它为2X2矩阵。
假定一个二维向量 [ 5 7 ] \begin{bmatrix}5\\7\\ \end{bmatrix} [57],让其进行线性变换。来,我们拿出我们包装好的代表变换后的基向量的2X2矩阵,变换过程如下图:
所以,矩阵在这里只是一个记号,它含有描述一个线性变换的信息。
我们将其一般化成
[
a
c
b
d
]
\begin{bmatrix} a & c \\ b & d \\ \end{bmatrix}
[abcd]
的形式。
那它是怎么作用于向量呢?
我们来列举一个实例。
假设我们在二维平面做一个逆时针的线性变换,相当于把网格逆时针旋转90°,基向量的变化情况如下:
[
1
0
0
1
]
⇒
[
0
−
1
1
0
]
\begin{bmatrix} 1 & 0 \\ 0 & 1 \\ \end{bmatrix} \Rightarrow \begin{bmatrix} 0 & -1 \\ 1 & 0 \\ \end{bmatrix}
[1001]⇒[01−10]
我们取任意一个二维变量,变换如下:
我们要注意一种特殊情况,如果二维空间线性变换后的基向量线性相关,则说明形成的矩阵是列相关的,最终这个二维平面会被压缩成一维平面,也就是直线。
今后,每当你看到矩阵的时候,你都可以把它解读为对空间一种特定的变换。
写在最后
本节内容为作者学习线性代数的笔记的整理,写得不足之处请大家指出,共同进步。如有兴趣,可关注我个人公众号“马克波罗的鸡腿”了解更多内容。