欢迎来到矩阵的世界!
在本章中,我们将一起探索矩阵(Matrices)。你可以将矩阵想象成一个“数学电子表格”——它是一种将数字整理成行与列的工具,能让我们一次性解决复杂的问题。矩阵是现代科技的基石;从电子游戏中的计算机图形学,到 Google 用来为搜索结果排名的算法,背后都少不了它的功劳。
如果起初觉得这些概念有点“天外来客”般的陌生,也不用担心。我们将循序渐进,从基础运算开始,一直深入到如何在 3D 空间中进行图形变换!
1. 矩阵算术(基础入门)
矩阵由其阶(Order)(即大小)定义,写作 行 \(\times\) 列。例如,一个 \(2 \times 3\) 的矩阵代表它有 2 行 3 列。
加法、减法与标量乘法
要进行矩阵的加减法,矩阵必须是可相容的(Conformable),简单来说就是它们必须完全一样大。你只需要将相同位置的数字进行对应的加减即可。
标量乘法(Scalar Multiplication)就更简单了:只需将矩阵内的每一个数字,都乘以同一个外在的数(标量)即可。
矩阵乘法
两个矩阵的乘法就比较特别了。不是简单地把对应位置的数字相乘,而是要进行“行乘以列(Rows by Columns)”的运算。
相容规则:要将矩阵 \(A\) 与 \(B\) 相乘,\(A\) 的列数必须与 \(B\) 的行数相等。
记忆小撇步:如果把两者的阶写在旁边,中间的数字必须相同。例如,一个 \((2 \times \mathbf{3})\) 的矩阵可以乘以一个 \((\mathbf{3} \times 4)\) 的矩阵。
特殊矩阵
- 零矩阵(Zero Matrix,\(\mathbf{0}\)):所有元素皆为 0。将它加到任何矩阵中,原矩阵都不会改变。
- 单位矩阵(Identity Matrix,\(\mathbf{I}\)):矩阵中的“1”。它是一个主对角线(从左上到右下)为 1,其余位置皆为 0 的方阵。将任何矩阵与 \(\mathbf{I}\) 相乘后,该矩阵保持不变:\(AI = A\)。
重点复习:请记住,在矩阵乘法中,顺序非常重要!通常情况下,\(AB \neq BA\)。
2. 变换:用数学移动图形
我们可以使用矩阵来移动图表上的点和图形,这称为线性变换(Linear Transformation)。
二维变换
一个 \(2 \times 2\) 的矩阵可以表示反射、旋转和缩放。我们只需找出“单位向量”\(\begin{pmatrix} 1 \\ 0 \end{pmatrix}\) 和 \(\begin{pmatrix} 0 \\ 1 \end{pmatrix}\) 变换后的位置,这些坐标就会成为我们变换矩阵的列。
连续变换
如果你想对图形进行反射,然后再进行旋转,你需要将这些矩阵相乘。
注意:变换的应用顺序是由右至左。如果 \(R\) 代表旋转,\(S\) 代表缩放,那么“先旋转后缩放”写作 \(SR\)。
三维变换
课程大纲将 3D 变换限制于:
- 在 \(x=0\)、\(y=0\) 或 \(z=0\) 平面上的反射。
- 绕 \(x\)、\(y\) 或 \(z\) 轴的旋转。
不变点与不变线
- 不变点(Invariant Point):在变换后位置保持不变的点。在线性变换中,原点 \((0,0)\) 永远是不变点。
- 不变线(Invariant Line):线上的每一个点在变换后依然落在这条直线上(尽管点本身可能会沿着线滑动)。
核心概念:变换其实就是一种利用矩阵乘法来“重新映射”空间的方法。
3. 行列式:比例因子
矩阵的行列式(Determinant),写作 \(\det A\) 或 \(|A|\),是一个能告诉我们关于该矩阵许多信息的单一数值。
计算行列式
- 对于 \(2 \times 2\) 矩阵 \(\begin{pmatrix} a & b \\ c & d \end{pmatrix}\),行列式为 \(ad - bc\)。
- 对于 \(3 \times 3\) 矩阵,我们使用“按行或列展开”的方法。这涉及将元素乘以较小的 \(2 \times 2\) 矩阵的行列式(余子式,Minors)。
它代表什么?
行列式是该变换的面积比例因子(二维情况)或体积比例因子(三维情况)。
你知道吗?如果行列式是负数,代表该图形在缩放的同时,还发生了反射或“翻转”。
奇异矩阵(Singular Matrices)
如果 \(\det A = 0\),该矩阵称为奇异矩阵。这意味着变换将图形压缩到了更低的维度(例如将二维正方形压缩成一维线段)。奇异矩阵没有逆矩阵。
4. 逆矩阵:反向操作
矩阵 \(A\) 的逆矩阵(Inverse),写作 \(A^{-1}\),就是一个能“撤销”\(A\) 之变换的矩阵。
\(AA^{-1} = I\)。
求逆矩阵的方法
- 对于 \(2 \times 2\) 矩阵:交换主对角线元素,改变其余两个元素的符号,最后除以行列式。
- 对于 \(3 \times 3\) 矩阵:这是一个较繁琐的过程,涉及伴随矩阵(Adjugate)与行列式的计算。
重点复习:你不能直接除以矩阵,我们改为乘以逆矩阵。要解 \(AX = B\),我们使用 \(X = A^{-1}B\)。
5. 解线性方程组
矩阵让我们能够高效地解决包含三个未知数(\(x, y, z\))的线性方程组。
我们将系统写作 \(AX = B\),其中 \(A\) 是系数矩阵。如果 \(\det A \neq 0\),通过 \(X = A^{-1}B\) 即可得到唯一的解。
当解法失效时(几何意义)
如果 \(\det A = 0\),方程组要么是矛盾的(无解),要么是相关的(无限多解)。从几何学上来说,这代表了三个平面在 3D 空间中的互动方式:
- 唯一解:三个平面交于一点。
- 无解:平面可能形成一个三角柱,或者彼此平行。
- 无限多解:平面交于一条直线(称为“平面束”),或三个平面重合。
常见错误:同学常忘记若 \(\det A = 0\),必须使用代入法或高斯消元法来确认失效的“原因”(究竟是平面束还是三角柱?)。
6. 特征值与特征向量
这听起来很吓人,但概念其实很优美。对于矩阵 \(A\),特征向量(Eigenvector)是指在变换过程中方向保持不变的特定方向。它只会被拉伸或压缩,而这个缩放倍数称为特征值(Eigenvalue,\(\lambda\))。
特征方程
要求特征值,我们求解:\(\det(A - \lambda I) = 0\)。
这会给我们一个关于 \(\lambda\) 的多项式方程。得到 \(\lambda\) 后,将其代回 \((A - \lambda I)\mathbf{v} = 0\) 即可找到向量 \(\mathbf{v}\)。
对角化
如果一个矩阵拥有足够多的特征向量,我们能将它写成“对角”形式:
\(\mathbf{M} = \mathbf{UDU}^{-1}\)
其中 \(\mathbf{D}\) 是由特征值组成的对角矩阵,\(\mathbf{U}\) 是由特征向量组成的矩阵。
为什么要这样做?这让计算矩阵的乘方变得非常容易:\(\mathbf{M}^n = \mathbf{UD}^n\mathbf{U}^{-1}\)。你只需要将对角线上的数字各自进行 \(n\) 次方运算即可!
总结检查清单
- 算术:你是否熟练“行乘以列”的乘法?
- 变换:你还记得变换顺序是“由右至左”吗?
- 行列式:你能计算 \(3 \times 3\) 行列式并利用行列运算将其因式分解吗?
- 逆矩阵:你清楚 \(3 \times 3\) 逆矩阵的计算步骤吗?
- 方程组:你能解释为什么三个平面可能没有共同交点吗?
- 特征值:你能解特征方程找到 \(\lambda\) 吗?
如果觉得内容很多,不用担心!矩阵是一项熟能生巧的技能。继续练习绘制变换图形并计算行列式,这些规律很快就会变得显而易见。