关于坐标表示求解及矩阵基变换原理的技术咨询
提问内容
我理解坐标表示的基本概念,但不懂如何对矩阵进行基变换,所以如果能解释我们每一步操作的原因会非常有帮助。谢谢。

解答
嘿,我完全懂这种卡在基变换上的感觉——坐标表示入门很直观,但一到矩阵的基变换就容易懵,总觉得是在套公式,不知道背后的逻辑。咱们慢慢来,把“为什么这么做”掰扯清楚:
先搞懂核心前提:矩阵是线性变换的“语言”
矩阵本质上是线性变换的“描述工具”,而这个描述是依赖于我们选择的“基”(可以理解为测量用的“尺子”)的。同一个线性变换,用不同的基去描述,得到的矩阵就不一样,但变换本身是客观存在的——就像同一个苹果,用厘米量和用英寸量,得到的数字不同,但苹果大小没变。
第一步:先搞懂向量的基变换(矩阵基变换的基础)
假设我们有两个基:
- 旧基 $B = {b_1, b_2, ..., b_n}$(比如二维空间的标准基 ${(1,0),(0,1)}$)
- 新基 $C = {c_1, c_2, ..., c_n}$(比如斜着的基 ${(1,1),(1,-1)}$)
我们定义过渡矩阵 P:把新基的每个向量,用旧基的坐标表示出来,然后把这些坐标作为列拼成矩阵。比如新基的第一个向量 $c_1$ 在旧基下的坐标是 $[c_1]_B$,第二个是 $[c_2]_B$,那 P = [[c_1]_B, [c_2]_B, ..., [c_n]_B]。
这个 P 的作用是**“翻译”坐标**:如果一个向量 $v$ 在新基下的坐标是 $[v]_C$,那么它在旧基下的坐标就是 $[v]_B = P \times [v]_C$——相当于把“新尺子的读数”转换成“旧尺子的读数”。
反过来,如果要把旧基坐标转成新基坐标,就用 P 的逆矩阵 $P^{-1}$:$[v]_C = P^{-1} \times [v]_B$。
第二步:矩阵的基变换——本质是“线性变换的语言翻译”
假设我们有一个线性变换 $T$,它在旧基 $B$ 下的矩阵是 $A$(意思是:用旧基坐标表示的向量 $[v]_B$,经过 $T$ 变换后的坐标是 $A \times [v]_B$)。现在我们想求它在新基 $C$ 下的矩阵 $A'$,为什么要用公式 $A' = P^{-1} A P$?咱们一步步拆解:
- 先把新基坐标翻译成旧基坐标:如果向量 $v$ 在新基下的坐标是 $[v]_C$,先转成旧基坐标:$[v]_B = P \times [v]_C$
- 用旧矩阵做变换:在旧基下,$T(v)$ 的坐标是 $A \times [v]_B = A \times P \times [v]_C$
- 把变换后的坐标翻译回新基:现在要得到 $T(v)$ 在新基下的坐标,就得用逆矩阵转回去:$[T(v)]_C = P^{-1} \times [T(v)]_B = P^{-1} \times A \times P \times [v]_C$
- 对比定义得到新矩阵:根据新矩阵 $A'$ 的定义,$[T(v)]_C = A' \times [v]_C$,所以对比一下就得出 $A' = P^{-1} A P$
举个简单例子帮你理解
比如二维空间里,线性变换 $T$ 是“绕原点旋转90度”,在标准基 $B={(1,0),(0,1)}$ 下的矩阵是:
A = [[0, -1], [1, 0]]
现在换个新基 $C={(1,1),(1,-1)}$,求 $T$ 在 $C$ 下的矩阵 $A'$:
- 先做过渡矩阵
P:把新基的向量用旧基表示,得到P = [[1,1],[1,-1]] - 求
P的逆矩阵:$P^{-1} = \frac{1}{2} \times [[1,1],[1,-1]]$ - 计算 $A' = P^{-1} A P$:
- 先算 $A \times P$:
[[0*1 + (-1)*1, 0*1 + (-1)*(-1)], [1*1 + 0*1, 1*1 + 0*(-1)]] = [[-1,1],[1,1]] - 再算 $P^{-1} \times (A \times P)$:$\frac{1}{2} \times [[1*(-1)+11, 11+11], [1(-1)+(-1)1, 11+(-1)*1]] = [[0,1],[-1,0]]$
- 先算 $A \times P$:
这个结果的意思是:在新基 $C$ 下,旋转90度的变换矩阵是 [[0,1],[-1,0]]——你可以验证一下:新基的第一个向量 $(1,1)$ 旋转90度后变成 $(-1,1)$,用新基表示就是 $0*(1,1) + (-1)(1,-1)$,对应矩阵的第一列 $[0,-1]^T$;第二个向量 $(1,-1)$ 旋转90度后变成 $(1,1)$,用新基表示就是 $1(1,1) + 0*(1,-1)$,对应矩阵的第二列 $[1,0]^T$,完全吻合。
总结一下:基变换的核心就是把线性变换的描述从一种“基语言”翻译成另一种“基语言”,P 是翻译字典,逆矩阵是反向字典,先转成旧语言处理,再转回新语言,就得到了新的矩阵表示。
备注:内容来源于stack exchange,提问作者Voltage crayon 24




