对矢量基变换与坐标变换的一致理解

更新记录

- 20250811 - 增加了严格区分矢量和其坐标表示的原因和形象解释.  

- 20260415 - 1. 在第二节末尾新增了第二个形式的等式的两种理解角度, 以及张量体系中协变和逆变概念的引入; 2. 添加了第四节, 作为前文内容在证明过渡矩阵性质上的应用示例.

- 20260425 - 补充了第五节. 以概率密度函数的坐标变换为例, 在直觉上解答了为什么坐标变换总是让人感觉在"倒着除".

基变换和坐标变换一直是学线代以来个人觉得最反直觉的一部分, 为什么一个是右乘过渡矩阵, 一个是左乘过渡矩阵? 想了一晚上, 感觉理解的关键在于一个共识: 一个矢量本身是不变的, 并不随采用的基的和相应的坐标的变化而变化; 只不过这样的基和坐标是可以变换的, 换言之, 是矢量决定了其坐标表示, 而坐标只是表示了矢量, 是对矢量在某一个基下的描述; 坐标依附于基矢量存在, 没有基矢量就没有坐标. 这就好比:描述物理量需要取确定的单位制, 同样的物理量在不同的单位制下数值表示不一定相同.

这样似乎会导致先有鸡还是先有蛋的疑惑: 显然, 基也是由一组基矢量组成的, 这些基矢量也需要坐标表示, 那么这些坐标又是在什么基下写出来的? 这样似乎将出现无穷无尽的递归追溯. 实际上. 我们一般认为指向各个坐标轴正向的单位矢量构成了该矢量空间的“自然基”, 这个基的基矢量的坐标依附于其自身存在, 也就是说其自身就是用于表达自身坐标的基矢量, 这终结了递归追溯. 类比2019年世界计量大会前各种质量单位的定义: 国际千克原器的质量(基矢量)被定义为1(坐标)千克, 其他质量单位例如吨/磅(其他基矢量)可以进而得到确定. 为什么不用磅去定义千克? 因为没有磅原器, 人们没有指着某一坨石头说这就是1磅… 如果有这么个磅原器的话, 当然可以用它来定义千克, 这就是基变换. 读者可以看到, 这些定义都依附于“原器的质量”这一抽象概念, 这就是一个一维矢量真实的样子, 它绝不等价于一个数字, 而且有它才有那个数字.


记号说明

本文将严格区分“矢量”和其在某个基下的“坐标”, 并采用不同的记法:

  • 用粗体表示带有“方向”和“长度”含义的, 抽象概念–矢量, 例如矢量x记作 $\boldsymbol{x}$;
  • 用字母加箭头表示由标量构成的数组–矢量的坐标, 例如某矢量在基A下的坐标记作 $\vec{a}$.

本文中所有矢量的坐标均为列状排列的数组(或者表述为: 本文中所有形式上的矢量均为列矢量. 然而, 我认为“列矢量”这样的表述实际上是对矢量和其坐标表示的混淆, 当你将矢量写作一列或者一行或者不管如何排列的一个数组的时候, 它就是基下的坐标, 而不是矢量)––不管是单独的一列坐标还是在基矢量矩阵里面并排的几列坐标.

本文围绕

  • 矢量 $\boldsymbol{x}$
  • $m$ 维线性空间 $V$, 以及该空间中的一组基 $\boldsymbol{A}=\begin{bmatrix}\boldsymbol{\alpha_1} & \boldsymbol{\alpha_2}&\cdots &\boldsymbol{\alpha_m}\end{bmatrix}$
  • $n$ 维线性空间 $W$, 以及该空间中的一组基 $\boldsymbol{B}=\begin{bmatrix}\boldsymbol{\beta_1} & \boldsymbol{\beta_2}&\cdots &\boldsymbol{\beta_n}\end{bmatrix}$
  • 线性映射 $T\in L(V, W)$ 及其对应的 $m\times n$ 实矩阵 $\boldsymbol{M}$
  • 基变换的过渡矩阵 $\boldsymbol{M^\prime}$
  • 线性空间 $V$ 上的线性变换 $T$ 在基 $\boldsymbol{A}$ 和基 $\boldsymbol{B}$ 下对应的相似矩阵 $\boldsymbol{F}$ 和 $\boldsymbol{F^\prime}$, 以及从基 $\boldsymbol{A}$ 到基 $\boldsymbol{B}$ 的过渡矩阵 $\boldsymbol{P}$

展开讨论.

并将(用 $\boldsymbol{A}$ 表示出 $\boldsymbol{x}$)这一过程中使用的坐标记作 $\vec{a}: \begin{pmatrix}a_1&a_2&\cdots&a_m\end{pmatrix}^\mathrm{T}$, (用 $\boldsymbol{B}$ 表示出 $\boldsymbol{x}$)这一过程中使用的坐标记作 $\vec{b}: \begin{pmatrix}b_1&b_2&\cdots&b_n\end{pmatrix}^\mathrm{T}$. (特别注意: 这里使用了” $:$ “符号以表达”用坐标表示矢量“的意思, 切不可写作” $=$ “, 因为矢量和数组不等价. 这是理解本文的关键之一, 我们将马上给出合理的写法.)


1. 用基和坐标定义矢量

我们如何表示矢量 $\boldsymbol{x}$? 一般都是用一个标量数组 $\vec{a}$. 但是这个标量数组只有在采用空间 $V$ 内的 基 $\boldsymbol{A}$ 的情形下才是与 $\boldsymbol{x}$ 对应的. 换言之, 一般地, $\boldsymbol{x} \neq \vec{a}$, $\vec{a}$ 并不总是表示 $\boldsymbol{x}$.
然而这样的表达是合理的: $$\boldsymbol{x} = \boldsymbol{A}\vec{a}$$
这表明: 单独指出坐标并不能完全定义一个矢量; 完全定义矢量还必须指明这个坐标使用的基. 因为 $\vec{a}$ 只能表示一个伸缩和组合的操作, 必须有一组基作为这个操作的作用对象.
(也许你会感到奇怪: 为何平时我们并不区分本文中黑体的矢量和箭头表达的矢量? 其实是因为在不指明基的时候, 我们仍然默认使用了一类基––$\boldsymbol{I}$ , 即自然基, 也就是单位矩阵. 这样才有 $\boldsymbol{x} = \boldsymbol{I}\vec{a}=\boldsymbol{a}$, 只不过 $\vec{a}$ 和 $\boldsymbol{a}$ 被写成括号包围的一组数字的时候, 形式上恰好是完全一样的.)

可以形象地理解为: 相同的信息(矢量)就是在特定的语境(线性空间)下对特定的语言(基)进行的特定组合(坐标).


2. 广义的基变换和坐标变换

现在我们考虑一个问题: 如何将(用原始基 $\boldsymbol{A}$ 可以表示为坐标 $\vec{a}$ 的)矢量 $\boldsymbol{x}$ 使用目标基 $\boldsymbol{B}$ 表示为坐标 $\vec{b}$.
自然的想法是, 先将原始基 $\boldsymbol{A}$ 中的所有基矢量 $\boldsymbol{a_i}(i=1, 2, …, m)$ 全部在目标基 $\boldsymbol{B}$ 下表示为坐标, 从而(用基 $\boldsymbol{A}$ 下的坐标 $\vec{a}$ 表示的) $\boldsymbol{x}$ 自然也就用(基 $\boldsymbol{B}$ 下的坐标 $\vec{b}$)表示出来了.

设

$$ \begin{align} \boldsymbol{a_i} &= \sum\limits_{j=1}^{n}b_{ij}\boldsymbol{\beta_j}\\ &= \begin{bmatrix}\boldsymbol{\beta_1} & \boldsymbol{\beta_2}&\cdots &\boldsymbol{\beta_n}\end{bmatrix}\begin{bmatrix}b_{i1}\\b_{i2}\\\cdots\\b_{in}\end{bmatrix}\\ &= \boldsymbol{B}\begin{bmatrix}b_{i1}\\b_{i2}\\\cdots\\b_{in}\end{bmatrix}=\boldsymbol{B}\vec{b_i} \end{align} $$

($\vec{b_i}$ 为 $\boldsymbol{\alpha_i}$ 在 $\boldsymbol{B}$ 下的坐标), 则

$$\begin{align} \boldsymbol{A} &= \begin{bmatrix} \boldsymbol{\alpha_1} & \boldsymbol{\alpha_2}&\cdots &\boldsymbol{\alpha_m} \end{bmatrix}\\ &= \begin{bmatrix} \sum\limits_{j=1}^{n}b_{1j}\boldsymbol{\beta_j}&\sum\limits_{j=1}^{n}b_{2j}\boldsymbol{\beta_j}&\cdots&\sum\limits_{j=1}^{n}b_{nj}\boldsymbol{\beta_j} \end{bmatrix}\\ &=\boldsymbol{B} \begin{bmatrix} \vec{b_1}&\vec{b_2}&\cdots&\vec{b_i} \end{bmatrix} \\ &=\boldsymbol{B} \begin{bmatrix} b_{11}&b_{21}&\cdots&b_{n1}\\ b_{12}&b_{22}&\cdots&b_{n2}\\ \cdots&\cdots&\cdots&\cdots\\ b_{1m}&b_{2m}&\cdots&b_{nm} \end{bmatrix}=\boldsymbol{BM} \end{align} $$

这样我们就得到了基的变换.
这里我们在目标基 $\boldsymbol{B}$ 下表示了原始基 $\boldsymbol{A}$. 在狭义的基变换情形下, $V=W$ (这意味着变换矩阵 $\boldsymbol{M}$ 可逆), 原始基 $\boldsymbol{A}$ 往往是自然基 $\boldsymbol{I}$, 而这时目标基的基矢量的坐标就是在原始基也就是自然基下表达的. 这样, 上面自然的想法就出现了问题, 即原始基的基矢量在目标基下的坐标表示并没有直接的获取方式, 恰恰相反, 我们一开始就得到的是目标基的基矢量在原始基下的坐标表达, 所以过渡矩阵被定义为满足 $\boldsymbol{B}=\boldsymbol{AM^\prime}$ 的 $\boldsymbol{M^\prime}$, 其中 $\boldsymbol{M^\prime}=\boldsymbol{M^{-1}}$.

在等式两侧同时右乘坐标 $\vec{a}$, 即可得到 $\boldsymbol{x}$ 在基 $\boldsymbol{A}$ 下的定义 $\boldsymbol{x}=\boldsymbol{A}\vec{a}=\boldsymbol{BM}\vec{a}$. 利用“算两次”思想, 又因为我们已经在基 $\boldsymbol{B}$ 下定义 $\boldsymbol{x}=\boldsymbol{B}\vec{b}$, 故有等式 $$ \boldsymbol{x}=\boldsymbol{A}\vec{a}=\boldsymbol{BM}\vec{a}=\boldsymbol{B}\vec{b} $$ 观察等式, 其中

$$\begin{align} \boldsymbol{x}&=\boldsymbol{BM}\vec{a}\\ &=\boldsymbol{B}(\boldsymbol{M}\vec{a})=(\boldsymbol{BM})\vec{a} \end{align} $$

即

$$\begin{align} \boldsymbol{矢量}&=\boldsymbol{目标基\times从原始基到目标基的变换\times矢量在原始基上的坐标}\\&=\boldsymbol{基\times 矢量在基上的坐标} \end{align} $$

(上式应该从右往左读, 将其理解为对一个矢量的坐标不断左乘矩阵进行变换, 这与后文会讨论的基变换与线性映射有关).

  • 如果采用第一行的理解方式, $\boldsymbol{A}\vec{a}$ 和 $\boldsymbol{B}\vec{b}$ 和 $\boldsymbol{BM}\vec{a}$ 形式上不统一, 考虑和前面相同的思路, 我们可以将其改写成 $$ \boldsymbol{x}=\boldsymbol{AI}\vec{a}=\boldsymbol{BM}\vec{a}=\boldsymbol{BI}\vec{b} $$
    左乘单位阵$\boldsymbol{I}$ 表明原始基和目标基相同

  • 如果采用第二个行的理解方式, 按照矩阵乘法结合律, 对于不同的结合方式, 有两种理解角度:

    • $\boldsymbol{I}\vec{a}$, $\boldsymbol{M}\vec{a}$, $\boldsymbol{I}\vec{b}$ 就是矢量在目标基上的坐标(先坐标变换后定义定义矢量);
    • $\boldsymbol{A}\boldsymbol{I}$, $\boldsymbol{B}\boldsymbol{M}$, $\boldsymbol{B}\boldsymbol{I}$ 就是目标基(先基变换再定义矢量).

    这种方式与我们在前文中提及的对矢量的定义是一致的, 而且两种角度正好体现了坐标变换和基变换的统一.

总结一下: 我们通过引入矢量的不变性, 很容易得到以下公式:

  • $\boldsymbol{B}=\boldsymbol{AM^\prime}$,
  • $\vec{b}=(\boldsymbol{M^\prime})^{-1}\vec{a}$.

其中 $\boldsymbol{M^\prime}$ 是从原始基 $\boldsymbol{A}$ 到目标基 $\boldsymbol{B}$ 的过渡矩阵, $\vec{a}$ 是矢量 $\boldsymbol{x}$ 在原始基 $\boldsymbol{A}$ 下的坐标, $\vec{b}$ 是矢量 $\boldsymbol{x}$ 在目标基 $\boldsymbol{B}$ 下的坐标.

综上所述, 基变换和坐标变换都可以看作对一个矢量进行不同方式的定义, 所以我们可以用定义矢量的方式式来统一基变换和其对应的坐标变换.

另: 用张量的语言来说, 基变换和坐标变换分别对应协变和逆变. 这也是基变换和坐标变换乘的矩阵互为逆矩阵的原因. 让我们继续第一节中的单位制的比喻, 考虑一个0维张量–长度 $l$, 其坐标就是一个数值, 不妨设为 $1\mathrm m$, 基变换相当于改变单位制, 坐标变换相当于改变数值表示. 例如, 从米单位制转换到厘米单位制, 基变换矩阵是 $(10)$ , 长度的坐标变换矩阵是 $(\frac{1}{10})$, 同时长度本身并没有改变; 随着基变换, 基矢量本身当然是协变的张量, 矢量的坐标是逆变的张量, 同时矢量本身是不变的. 这样, 基变换和坐标变换的矩阵互为逆矩阵就显得非常合理了.


3. 基变换是一种特殊的线性映射

(之所以不用“线性变换”这个词, 是因为“变换”给人一种原矢量变成了新矢量过后, 原矢量就不存在了的感觉, 然而线性映射其实应该被理解为一种函数, 它在另一个线性空间(就像值域)内找了一个新的矢量(因变量)与原空间(就像定义域)的矢量(自变量)对应 所以用“映射”更为恰当. 特别地, 对于线性算子, 它也是将某个矢量映射到了同一个空间内的另一个矢量上, 也不是被“变换掉了”.)

现在我们考虑一个与前面类似的问题: 如何将(在空间 $V$ 内用原始基 $\boldsymbol{A}$ 可以表示为坐标 $\vec{a}$ 的)矢量 $\boldsymbol{x}$ 在映射 $T$ 下的像在空间 $W$ 内使用目标基 $\boldsymbol{B}$ 表示为坐标 $\vec{b}$.
自然的想法是, 先将原始基 $\boldsymbol{A}$ 中的所有基矢量 $\boldsymbol{a_i}(i=1, 2, …, m)$ 在映射 $T$ 下的像全部用目标基 $\boldsymbol{B}$ 表示出来(即将这些基矢量线性映射到 $W$ 内), 从而(用基 $\boldsymbol{A}$ 下的坐标 $\vec{a}$ 表示的) $\boldsymbol{x}$ 在映射 $T$ 下的像自然也就用基 $\boldsymbol{B}$ 下的坐标 $\vec{b}$ 表示出来了.

仔细比对上面这一段话和第二节中的对应段落, 我们会发现基变换的过程中, 我们对矢量的坐标进行了一次线性映射(对应矩阵 $\boldsymbol{M}$, $\vec{b}=\boldsymbol{M}\vec{a}$), 将原矢量的坐标的线性空间映射到了另一个矢量的坐标的线性空间, 然后找到了后者的基, 使得原始基矢量的坐标在线性映射下的像就是目标基矢量的坐标, 而矢量本身并不改变. 这样看来, 基变换对矢量的坐标满足加性和齐性, 是一种作用在矢量的坐标上的线性映射; 基变换的过渡矩阵 $\boldsymbol{M^\prime}$ 的逆矩阵就是对矢量的坐标的线性映射矩阵 $\boldsymbol{M}$ 是合理的.


4. 例 | 相似矩阵的本质——同实体在不同基下的表示

本节源于 Gemini 3.1 Pro 在审阅我第二次修改后提出的问题: 如何按照前文理解相似矩阵的经典性质 F’=P⁻¹FP. 基础的证明由我依据第二节内容给出, 后面的形象化解释由 Gemini 根据第一节内容给出.

建立在前面 $\boldsymbol{x}=\boldsymbol{A}\vec{a}$ 的框架之上, 我们可以非常自然地证明, 同一个线性映射在不同基下的矩阵表示为何必定满足相似关系.

设线性映射 $T$ 作用于矢量 $\boldsymbol{x}$: 在基 $\boldsymbol{A}$ 下, 该映射对应的变换矩阵为 $\boldsymbol{F}$. 在基 $\boldsymbol{B}$ 下, 该映射对应的变换矩阵为 $\boldsymbol{F^\prime}$. 设从基 $\boldsymbol{A}$ 到基 $\boldsymbol{B}$ 的过渡矩阵为 $\boldsymbol{P}$, 即 $\boldsymbol{B} = \boldsymbol{A}\boldsymbol{P}$. 由第2节的结论可知, 相应的坐标变换关系为 $\vec{b} = \boldsymbol{P}^{-1}\vec{a}$.

4.1 严格代数推导

因为 $\boldsymbol{F}$ 和 $\boldsymbol{F^\prime}$ 描述的是完全相同的映射 $T$ 对同一个矢量 $\boldsymbol{x}$ 的作用, 所以无论在哪个基下进行计算, 变换后得到的新矢量实体必定是同一个. 因此有:

$$ T(\boldsymbol{x}) = \boldsymbol{A}(\boldsymbol{F}\vec{a}) = \boldsymbol{B}(\boldsymbol{F^\prime}\vec{b}) $$

将基和坐标的代换关系 $\boldsymbol{A} = \boldsymbol{B}\boldsymbol{P}^{-1}$ 以及 $\vec{a} = \boldsymbol{P}\vec{b}$ 代入等式的最左侧, 得到:

$$ \boldsymbol{B}\boldsymbol{P}^{-1}\boldsymbol{F}(\boldsymbol{P}\vec{b}) = \boldsymbol{B}(\boldsymbol{F^\prime}\vec{b}) $$

$$ \boldsymbol{B}(\boldsymbol{P}^{-1}\boldsymbol{F}\boldsymbol{P})\vec{b} = \boldsymbol{B}\boldsymbol{F^\prime}\vec{b} $$

对比等式两边的中间部分, 由于基 $\boldsymbol{B}$ 和 输入坐标 $\vec{b}$ 是任意给定的, 即可直接得出相似关系:

$$ \boldsymbol{F^\prime} = \boldsymbol{P}^{-1}\boldsymbol{F}\boldsymbol{P} $$

4.2 直观解释: “翻译-加工-翻译”流水线

除了代数推导, 按照第一节的矢量即语义的比喻, 相似关系 $\boldsymbol{F^\prime} = \boldsymbol{P}^{-1}\boldsymbol{F}\boldsymbol{P}$ 实际上刻画了一个非常直观的**“翻译 $\to$ 加工 $\to$ 译回”**的工作流闭环. 核心理念在于: 变换矩阵只与坐标 (特定基下的语言) 发生反应, 而不直接接触抽象的矢量实体.

假设我们手头只有基于 $\boldsymbol{A}$ 语言的操作说明书 $\boldsymbol{F}$, 但接收到的输入是 $\boldsymbol{B}$ 语言的坐标 $\vec{b}$, 我们必须分三步完成加工:

  • **脱去外衣 (翻译输入) **: 将输入坐标 $\vec{b}$ 翻译成说明书 $\boldsymbol{F}$ 能看懂的坐标 $\vec{a}$. 即左乘过渡矩阵: $\vec{a} = \boldsymbol{P}\vec{b}$.
  • **核心加工 (执行变换) **: 在基 $\boldsymbol{A}$ 的语境下, 毫无阻碍地使用说明书 $\boldsymbol{F}$ 进行变换处理. 得到新坐标: $\boldsymbol{F}(\boldsymbol{P}\vec{b})$.
  • **穿上外衣 (翻译输出) **: 为了让结果能被基 $\boldsymbol{B}$ 重新接纳, 必须将加工好的 $\boldsymbol{A}$ 语言坐标, 翻译回 $\boldsymbol{B}$ 语言坐标. 即左乘反向过渡矩阵: $\boldsymbol{P}^{-1}(\boldsymbol{F}\boldsymbol{P}\vec{b})$.

从外部黑盒的视角来看, 输入 $\vec{b}$ 经过这套包含三个矩阵的流水线, 直接吐出了加工好的新坐标, 这完全等价于直接拿着说明书 $\boldsymbol{F^\prime}$ 对 $\vec{b}$ 作用一次. 即: $\boldsymbol{F^\prime}\vec{b} = (\boldsymbol{P}^{-1}\boldsymbol{F}\boldsymbol{P})\vec{b}$.

这从底层逻辑上证明了: 相似矩阵 $\boldsymbol{F}$ 和 $\boldsymbol{F^\prime}$ 根本不是两个不同的变换, 它们就是客观上的同一个变换, 只不过是在两套不同的“语言体系”下被表达出来的. 两端的 $\boldsymbol{P}$ 和 $\boldsymbol{P}^{-1}$ 正是负责在两个坐标系间“拆包”和“打包”的过渡矩阵.


5. 从概率密度变换体会“倒着算”的几何直觉: 基变换不是对矢量的变换

本节是由 Gemini 3.1 Pro 和我共同创作的.

尽管我们在前面通过严格的代数推导 (以及“不变量”的概念) 证明了过渡矩阵的作用方式, 但很多时候我们在直觉上依然会感到不适:为什么我们在求新坐标下的密度或分量时, 总是要乘上一个反过来的因子 (比如乘逆矩阵 $\boldsymbol{P}^{-1}$, 或者在微积分中乘倒过来的Jacobian行列式 $\frac{dx}{dy}$) ? 为了彻底摆脱这种“只是把公式倒过来算, 把因子从等式左边除到右边”而不知其原理的困惑, 我们需要找回一个从小学起就被我们忽略的基础逻辑, 并澄清一个关于坐标变换的直觉骗局.

5.1 直觉骗局:$y=10x$ 到底是把基变大了还是变小了?

当我们看到变换 $y = 10x$ 时, 代数本能会告诉我们:“$y$ 的数值是 $x$ 的 10 倍”. 这里必须做一个极其重要的观念澄清:坐标系中的 $x$ 和 $y$ 到底是何意味.

  • 我们平常说: 我赚的钱是你的10倍, y=10x, 所以dy/dx得到一份工资dy等于10份dx, 这是矢量之间的变换.

  • 但是注意: 这里的“变换”是基变换, 是改换了参考系, 而不是把矢量本身变换掉了(比如变长了10倍, 不是这样), 它们绝不是“在同一个基准下比较两个不同实体的长度比例” (比如把一根短木棍拉长了 10 倍变成长木棍) , 而是拿着两把不同刻度的尺子, 去测量同一个不变的客观实体, 所读出的不同刻度数值.

大家会下意识地把“读数放大”和“实体放大”混淆, 觉得 $y=10x$ 就是矢量被拉长了 10 倍. 这样就没有搞清楚基变换是在干什么.

和前文一样, 我们必须严格区分坐标读数 (标量 $x$, 即前文的坐标数组里的数字) 和基矢量 (实体 $\boldsymbol{e}_x$).

请牢记本文的核心原则:矢量实体 $\boldsymbol{v}$ 是客观存在且不变的, 它满足:$\boldsymbol{v} = x \boldsymbol{e}_x = y \boldsymbol{e}_y$. 既然当读数 $x = 1$ 时, 新读数 $y = 10$, 这意味着:同样的客观长度, 旧尺子量出来是 1 格, 新尺子量出来需要 10 格. 这说明了什么? 说明新单位 (基矢量 $\boldsymbol{e}_y$) 变小了! 即 $1 \boldsymbol{e}_x = 10 \boldsymbol{e}_y$, 也就是 $\boldsymbol{e}_y = 0.1 \boldsymbol{e}_x$.

此时, 坐标的变化率 (导数) $\frac{dy}{dx} = 10$ 并不是在说“每单位 $y$ 等于多少单位 $x$”, 它的客观物理意义是:“因为新尺子的刻度变密了, 所以在同一段客观实体长度里, 包含了 10 个 $y$ 单位和 1 个 $x$ 单位”.

5.2 小学算术的盲点与“尺子直觉”

我们怎么拿到新基矢量在旧基下的坐标(也就是过渡矩阵里面那些具体的数字)?

回忆一下小学是怎么学单位换算的. 老师说 $1\text{cm} = 10\text{mm}$, 问 $1\text{mm}$ 等于多少 $\text{cm}$ 时, 我们的大脑会机械地把 10 除过去, 得出 $0.1\text{cm}$. 这还是在“倒着算”, 只是在解方程而已, 没有建立任何几何直觉.

现在, 让我们抛弃解方程, 拿出一把真实的 10cm 的直尺.

  • 旧基底 $\boldsymbol{e}_x$:厘米/$\text{cm}$ 刻度.
  • 新基底 $\boldsymbol{e}_y$:毫米/$\text{mm}$ 刻度.

在这把尺子上, 一段固定的客观长度内, 包含了 10 个厘米刻度, 同时也包含了 100 个毫米刻度. 现在, 我们要求新基矢量 ($1\text{mm}$) 在旧基 ($\text{cm}$ 单位制) 下的坐标. 换言之:1 格 $\text{mm}$ 这种客观实体, 到底对应多少格 $\text{cm}$?

不需要移项, 不需要倒着算, 看一眼尺子你就会自然而然地列出实体比例式, 因为10 格 $\text{cm}$ 里面就容纳了100格 $\text{mm}$, 所以自然有: $$1 \text{ mm} = \frac{10}{100} \text{ cm} = \frac{1}{10} \text{ cm}$$

仔细看看这个式子! 分子上的 10 是旧坐标数值的变化量 ($\Delta x$) , 分母上的 100 是新坐标数值的变化量 ($\Delta y$). 这里的 $\frac{10}{100}$, 恰恰就是微积分里的 $\frac{dx}{dy}$! 微积分中变换雅可比行列式 $\frac{dx}{dy}$ (或者线性代数里的逆过渡矩阵 $\boldsymbol{P}^{-1}$) 根本不是什么“把公式倒过来的除法”, 它是直接通过观察一个相等的客观实体, 得出的真实的物理比例 (新基底的单位长度, 是旧基底的几分之几). 由于我们从小学就没有建立过这个直觉, 读者可能需要一段时间的适应才能克服掉根深蒂固的“倒着算”的旧直觉. 你可以尝试多想想“因为10格cm=100格子mm, 所以每格子mm等于 $\frac{10}{100}$ cm”的计算过程, 并且提醒自己: “10和100是坐标数字而不是实际比例”.

5.3 概率密度函数的变换公式

有了这把“尺子”, 我们来看一个例子:连续随机变量的概率密度函数的变换. 当坐标从 $x$ 变到 $y$ 时, 密度的变换公式为:$f_Y(y) = f_X(x) \left| \frac{dx}{dy} \right|$.

为什么偏偏要乘以 $\frac{dx}{dy}$? 把概率密度想象成空间中飘浮的“概率沙子” (客观实体). 密度函数 $f(x)$ 的意义是:“一个旧单位基底 ($\text{cm}$) 的网兜里, 装着多少质量的沙子”.

现在我们换到了 $y$ 坐标系 ($\text{mm}$) . 你想知道新密度 $f_Y(y)$:也就是一个新单位基底 ($\text{mm}$) 的网兜里, 装着多少沙子?

我们刚才用尺子看得很清楚了: 1 个新单位 ($\text{mm}$) 的客观容量, 等于 $\frac{dx}{dy}$ (即 $\frac{10}{100}$) 个旧单位 ($\text{cm}$) . 既然新单位的物理空间容量只有旧单位的 $\frac{dx}{dy}$ 这么大, 那它能装下的沙子质量, 理所当然地就是旧密度 $f_X(x)$ 的 $\frac{dx}{dy}$ 倍.

在这个纯几何的直觉里, 没有任何“分母倒过来”的代数拧巴! 我们只是单纯地确定了“新基底到底有多大 (占旧基底的 $\frac{dx}{dy}$) “, 然后按实体比例缩小沙子的质量而已.

这完美呼应了本文第 2 节的结论:基矢量 (尺子的实体刻度) 是协变的, 密度函数 (捞沙子的网兜容量) 也是协变的, 它们必须同步伸缩以维持客观实体 (矢量长度/概率沙子总量) 的不变;而标量坐标 (读出的数值) 为了对冲尺子的变化, 被迫表现为逆变.

读者可以进一步了解张量体系中对偶矢量的概念, 基变换下, 对偶矢量是协变的.


最后感谢基于GPT-4o的ChatGPT帮我解释了为何基变换也是一种线性变换.

Prompt: *我听说基变换也可以看作一种线性变换. 但是对于一般的线性变换, 因为基由原来的线性空间的基变成了新的矢量空间的基, 矢量在该线性变换下的像的“方向”和“长度”往往会与原像不同. 而基变换虽然新的基和原来的基不同, 然而矢量的“方向”和“长度”却并未改变, 请问这应该如何解释呢? *
GPT-4o:
ChatGPT的回答



winter Favicon0