seegongsik
工程数学

矩阵与线性变换

矩阵不是表格,而是把整个空间一起移动的动作

第一次看到矩阵,它就像一张把数字排成方块的表格。所以大家都只想着去背,而这正是它一直让人糊涂的原因。矩阵不是表格,而是一个动作。准确地说,它是一次性移动平面上所有点的函数,是把空间拉伸、旋转、斜推的操作。这幅图一旦在脑中扎根,矩阵乘法为什么那样定义,后面要学的特征值到底在看什么,都会一下子变得容易。

先找找感觉。画面上铺着网格,用下方的四个滑块改变矩阵的四个数,整个网格就会一起弯曲、伸长。动的不是某一个点,而是整个平面。这就是变换的本质,一个矩阵就是“把空间这样改变”的命令。绿色箭头 î 和橙色箭头 ĵ 也随网格一起移动。重要的是,网格不会被随意揉皱。直线变换后仍是直线,平行线仍然平行,间距也保持均匀。在保持规整的同时改变空间,这就是矩阵变换。随意拖动滑块之后,按“重置”按钮就能回到什么都不改变的状态。

那么,这样看起来复杂的变换,怎么用几个数就全部写下来呢?秘密出奇地简单:只需追踪两支箭头。只要知道向右一格的 î 和向上一格的 ĵ 在变换后去了哪里,就完事了。而且它们的落点正好就是矩阵的两列:第一列是 î 去的地方,第二列是 ĵ 去的地方。按下“看落位”,两支箭头离开以虚线留下的原位置,移到新位置,尖端各自标出落点坐标。把这些坐标和下方的矩阵对照,绿色坐标与第一列相同,橙色坐标与第二列相同。原本看似毫无意义的四个数,其实是“把 î 送到这里、把 ĵ 送到那里”的坐标。用 î、ĵ 按钮可以只高亮其中一支箭头。

只知道 î 和 ĵ 有什么用?这里正是关键。其他的点不需要单独知道。平面上的任何向量,归根结底都是几个 î 加几个 ĵ。例如点 (3, 2) 就是 3 个 î 加 2 个 ĵ。变换会原样保持这个配比,所以变换后的 (3, 2),就是 î 的去处取 3 个、ĵ 的去处取 2 个相加得到的位置。拖动图中的蓝点,在变换后的网格上,绿色虚线排出新的 î,橙色虚线接上新的 ĵ,到达那个点,下方的式子写出所用的个数。这就是上一讲看到的线性。只要定下 î 和 ĵ 的去向,其余无穷多个点就会自动跟上,正因如此,矩阵的四个数就能操控整个空间。

做了一次变换之后还想再做另一个变换,比如先旋转、再斜推,把两个矩阵相乘就行。也就是说,矩阵乘法的意思就是接连做变换。学校里教的那条行乘列的古怪规则,计算的正是依次施加变换的结果。所以顺序很重要。图中处理的是先旋转再剪切、以及先剪切再旋转两种情况;按下“交换顺序”,网格的形状会改变,下方两个框里的乘积矩阵也彼此不同。顺序一换,结果就变。AB 和 BA 不同,并不是要背的规则,而是理所当然的事。

现在来看几种代表性的变换:旋转、放大、剪切(斜推)、反射。逐个按下按钮,网格就按相应的动作变化,每个动作都对应一个矩阵。我们熟悉的那些改变空间的动作,归根结底都是矩阵。最后按下“压扁”按钮,空间被挤成一条直线。这是个特殊情况,下方显示的行列式这个值此时变为 0。这是变换把空间压扁了的信号。被压扁到底意味着什么,就在紧接着的下一讲行列式中细细探究。

实际应用实际遇到矩阵时,别把它当数字表来读,先看两列。第一列是 î 去的地方,第二列是 ĵ 去的地方。仅凭这一点,就能在脑中画出这个变换怎样扭转空间。在图形学中旋转角色也好,替换数据的坐标轴也好,都是这一个动作。把几个变换串起来时,只要记住最右边的矩阵最先作用,矩阵乘法就再也不会让你糊涂。
← 工程数学
如果有帮助,请支持我们