当我们第一次学习矩阵时,往往把它看作一个充满数字的方格子。而函数则是另一类熟悉的概念:$y = f(x)$,输入一个 $x$,输出一个 $y$。初看起来,这似乎是两个完全不同的数学分支——线性代数与微积分,各自为政。
但它们的相似之处比你想象的要多得多。实际上,每一个矩阵都定义了一个函数,一种非常特殊的函数,叫做线性映射。
回忆一下,一个函数 $f$ 从集合 $A$ 映射到集合 $B$,我们写作:
$$f: A \to B$$
这里 $A$ 是定义域,$B$ 是值域。对于 $x \in A$,有唯一的 $y = f(x) \in B$。
现在,如果我们让 $A$ 是所有 $n$ 维向量构成的向量空间 $\mathbb{R}^n$,$B$ 是所有 $m$ 维向量构成的向量空间 $\mathbb{R}^m$。那么一个 $m \times n$ 的矩阵 $A$ 就可以扮演函数 $f$ 的角色:
$$A: \mathbb{R}^n \to \mathbb{R}^m$$
输入一个 $n$ 维向量 $\mathbf{x}$,矩阵 $A$ 通过乘法运算,输出一个 $m$ 维向量 $\mathbf{y}$:
$$\mathbf{y} = A\mathbf{x}$$
这与 $y = f(x)$ 的形式何其相似!左边是输出,右边是输入,中间是“作用规则”。
让我们看一个具体的矩阵,它把二维向量变成三维向量:
$$A = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix}$$
这是一个 $3 \times 2$ 矩阵。对于输入向量 $\mathbf{x} = \begin{pmatrix} x_1 \\ x_2 \end{pmatrix}$,输出是:
$$A\mathbf{x} = \begin{pmatrix} 1 & 2 \\ 3 & 4 \\ 5 & 6 \end{pmatrix} \begin{pmatrix} x_1 \\ x_2 \end{pmatrix} = \begin{pmatrix} 1\cdot x_1 + 2\cdot x_2 \\ 3\cdot x_1 + 4\cdot x_2 \\ 5\cdot x_1 + 6\cdot x_2 \end{pmatrix}$$
这很像一个函数,它接受两个数 $(x_1, x_2)$ 作为输入,根据固定规则计算出三个数作为输出。如果你学过多元函数,写成下面的样子就非常眼熟了:
$$ \begin{aligned} f_1(x_1, x_2) &= x_1 + 2x_2 \\ f_2(x_1, x_2) &= 3x_1 + 4x_2 \\ f_3(x_1, x_2) &= 5x_1 + 6x_2 \end{aligned} $$
输出向量就是这三个函数值的打包:$\mathbf{y} = (f_1, f_2, f_3)$。矩阵,无非是把多个线性函数整齐地组织在了一起。
当然,矩阵定义的函数并不像 $y = x^2$ 或 $y = \sin x$ 那样任意。它有一种极其特殊的性质——线性。这意味着对任意向量 $\mathbf{u}, \mathbf{v}$ 和标量 $c$,都满足:
$$ \begin{aligned} A(\mathbf{u} + \mathbf{v}) &= A\mathbf{u} + A\mathbf{v} \\ A(c\mathbf{u}) &= c(A\mathbf{u}) \end{aligned} $$
这恰恰是函数观点下的“可加性”和“齐次性”。我们之所以偏爱用矩阵研究线性问题,正是因为它把抽象的函数性质,具象化为一行行数字的操作。每当你写下矩阵乘法,就相当于在同时计算多个线性函数的输出。
反过来,任何一个从 $\mathbb{R}^n$ 到 $\mathbb{R}^m$ 的线性映射,也都可以唯一地表示成一个 $m \times n$ 矩阵。矩阵和线性映射之间,是一种完美的对应——就像一个人的名字和他的身份,虽然形式不同,但指向的是同一个对象。
函数可以复合:如果 $g: A \to B$ 且 $f: B \to C$,我们可以先应用 $g$ 再应用 $f$,得到复合函数 $f \circ g$:
$$(f \circ g)(x) = f(g(x))$$
矩阵同样可以“复合”,那就是矩阵乘法。假设有 $m \times n$ 矩阵 $B$ 把 $\mathbb{R}^n$ 映射到 $\mathbb{R}^m$,以及 $p \times m$ 矩阵 $A$ 把 $\mathbb{R}^m$ 映射到 $\mathbb{R}^p$。那么,先应用 $B$ 再应用 $A$ 的效果,就是:
$$\mathbf{y} = B\mathbf{x}, \quad \mathbf{z} = A\mathbf{y} \quad \Rightarrow \quad \mathbf{z} = A(B\mathbf{x}) = (AB)\mathbf{x}$$
乘积矩阵 $AB$ 正好代表了复合线性映射。矩阵乘法的规则——行乘列再求和——并非空穴来风,它恰恰编码了“先做这个映射,再做那个映射”的整个过程。
而函数复合不满足交换律,$f \circ g$ 通常不等于 $g \circ f$,这也完美对应了矩阵乘法不满足交换律:$AB \neq BA$。
把矩阵视为函数,这种视角的转换带来了巨大的力量。
比如,解线性方程组 $A\mathbf{x} = \mathbf{b}$,在函数语言下,就是在问:哪些输入 $\mathbf{x}$ 经过“矩阵函数” $A$ 的作用后,恰好得到给定的输出 $\mathbf{b}$?这与问“哪些 $x$ 满足 $f(x) = b$”毫无二致。矩阵的秩、零空间、列空间这些概念,恰好对应着该函数的“像”(值域)和“核”(使输出为零的输入集)。
又比如在数据科学中,一个矩阵可以代表对数据的一种变换:旋转、缩放、投影、降维。当你用主成分分析(PCA)处理高维数据时,本质就是在寻找一个矩阵函数,把高维输入映射到低维输出,同时尽量保留信息。这一切,都源于矩阵就是函数的深刻洞见。
矩阵和函数,一个冰冷如数字方阵,一个灵动如输入输出的舞蹈。但在线性代数的视角下,它们是一体的:
下次当你看到一个矩阵时,不妨在心里默念:它不是在等着被计算,而是在等着被应用——就像你熟悉的函数 $f(x)$ 一样,平静地等待着下一个输入向量的到来。