CCG 00-05:矩阵不是数字表——它是线性映射

本课只解决一个问题

矩阵

A=(2001)A=\begin{pmatrix}2&0\\0&1\end{pmatrix}

为什么表示“横向拉伸两倍、纵向不变”?

本课不先背矩阵乘法规则,而是从“基向量被送到哪里”理解矩阵。

1. 什么叫线性

映射AA 是线性的,若对任意向量x,yx,y 和标量α,β\alpha,\beta 都有

A(αx+βy)=αA(x)+βA(y).A(\alpha x+\beta y)=\alpha A(x)+\beta A(y).

它保证直线仍变成直线,原点仍映到原点。旋转、缩放、剪切和镜像都是线性映射;平移不是,因为平移会把原点移走。

2. 两个基向量决定整个二维映射

标准基向量为

e1=(1,0)T,e2=(0,1)T.e_1=(1,0)^T,\qquad e_2=(0,1)^T.

任意向量都能写成

x=x1e1+x2e2.x=x_1e_1+x_2e_2.

由线性性:

A(x)=x1A(e1)+x2A(e2).A(x)=x_1A(e_1)+x_2A(e_2).

因此只要知道A(e1)A(e_1) 和A(e2)A(e_2),就知道AA 对所有向量的作用。

3. 矩阵的列就是基向量的去向

把A(e1)A(e_1)、A(e2)A(e_2) 依次放成列:

A=(∣∣A(e1)A(e2)∣∣).A=\begin{pmatrix}|&|\\A(e_1)&A(e_2)\\|&|\end{pmatrix}.

例如

A=(2001).A=\begin{pmatrix}2&0\\0&1\end{pmatrix}.

第一列说明e1↦(2,0)Te_1\mapsto(2,0)^T,第二列说明e2↦(0,1)Te_2\mapsto(0,1)^T。所以横向放大两倍,纵向不变。

对x=(3,4)Tx=(3,4)^T:

Ax=3(20)+4(01)=(64).Ax=3\begin{pmatrix}2\\0\end{pmatrix} +4\begin{pmatrix}0\\1\end{pmatrix} =\begin{pmatrix}6\\4\end{pmatrix}.

4. 矩阵乘法为什么是这个顺序

若先做BB,再做AA,复合映射是

x↦Bx↦A(Bx)=(AB)x.x\mapsto Bx\mapsto A(Bx)=(AB)x.

所以右边的矩阵先作用。通常AB≠BAAB\ne BA,因为“先旋转再拉伸”和“先拉伸再旋转”结果不同。

5. 转置来自内积换边

矩阵AA 的转置ATA^T 把行和列交换,并满足

(Ax)⋅y=x⋅(ATy).(Ax)\cdot y=x\cdot(A^Ty).

这条关系非常重要:它让我们把作用在一个向量上的矩阵移到内积另一侧。能量求导、最小二乘和离散 Laplacian 都会反复使用它。

6. 行列式测量有向面积缩放

二维矩阵

A=(abcd)A=\begin{pmatrix}a&b\\c&d\end{pmatrix}

的行列式为

det⁡A=ad−bc.\det A=ad-bc.

单位正方形经AA 变换后成为由两列张成的平行四边形,其有向面积就是det⁡A\det A。

  • ∣det⁡A∣>1|\det A|>1:面积放大;
  • 0<∣det⁡A∣<10<|\det A|<1:面积缩小;
  • det⁡A<0\det A<0:方向翻转;
  • det⁡A=0\det A=0:二维区域被压扁到直线或点。

在网格参数化中,某个三角形 Jacobian 的行列式为负,通常意味着三角形翻转。

7. 逆矩阵表示撤销变换

若存在A−1A^{-1} 满足

A−1A=AA−1=I,A^{-1}A=AA^{-1}=I,

则AA 可逆。二维矩阵可逆当且仅当det⁡A≠0\det A\ne0。

对角缩放矩阵

A=(2001)A=\begin{pmatrix}2&0\\0&1\end{pmatrix}

的逆为

A−1=(1/2001).A^{-1}=\begin{pmatrix}1/2&0\\0&1\end{pmatrix}.

它把横向再缩回一半。

8. 旋转、统一缩放与共形

旋转角θ\theta 的矩阵为

Rθ=(cos⁡θ−sin⁡θsin⁡θcos⁡θ).R_\theta= \begin{pmatrix} \cos\theta&-\sin\theta\\ \sin\theta&\cos\theta \end{pmatrix}.

其两列是互相垂直的单位向量,因此

RθTRθ=I.R_\theta^TR_\theta=I.

若再统一缩放A=λRθA=\lambda R_\theta,则

ATA=λ2I.A^TA=\lambda^2I.

这意味着所有方向长度乘同一个数,夹角不变。相反,矩阵diag⁡(2,1)\operatorname{diag}(2,1) 横纵缩放不同,不共形。

9. 手算例子:剪切

S=(1101).S=\begin{pmatrix}1&1\\0&1\end{pmatrix}.

列向量给出

e1↦(1,0),e2↦(1,1).e_1\mapsto(1,0),\qquad e_2\mapsto(1,1).

单位正方形变成斜平行四边形。det⁡S=1\det S=1,面积不变;但原本垂直的两条边内积变为11,角度改变。因此“保面积”不等于“保角”。

10. 常见误区

  1. 矩阵的行列数决定输入输出维度:m×nm\times n 矩阵把Rn\mathbb R^n 映到Rm\mathbb R^m。
  2. A−1A^{-1} 是逆矩阵,ATA^T 是转置,含义不同。
  3. ABAB 的作用顺序是先BB 后AA。
  4. 行列式只描述总体面积缩放,不能单独判断角度畸变。

11. 自测与答案

题 1。A=(0−110)A=\begin{pmatrix}0&-1\\1&0\end{pmatrix} 把e1e_1 送到哪里?

答案。 第一列(0,1)T(0,1)^T,即逆时针旋转90∘90^\circ。

题 2。det⁡diag⁡(3,2)\det\operatorname{diag}(3,2) 是多少,几何意义是什么?

答案。66,有向面积放大六倍且不翻转方向。

题 3。 为什么diag⁡(2,2)\operatorname{diag}(2,2) 保角而diag⁡(2,1)\operatorname{diag}(2,1) 不保角?

答案。 前者对所有方向使用同一缩放因子;后者对横纵方向缩放不同,会改变一般夹角。

前后课程

上一课:向量、长度与内积 | 下一课:线性方程组