Linear Equations 线性方程组

Linear Equations 线性方程组,就是同时处理多个线性关系的问题。把这些关系整理在一起,可以用矩阵形式写成:

Ax=bA\mathbf x=\mathbf b
  • AA:已知的系数矩阵,也可以看作一台变换机器;
  • x\mathbf x:未知的输入向量;
  • b\mathbf b:已知的目标输出向量。

这个方程组是在表达:已知变换规则 AA 和目标输出 b\mathbf b,寻找哪些输入 x\mathbf x 能产生它。 也可以说解 Ax=bA\mathbf x=\mathbf b,就是寻找 b\mathbf b 在变换 AA 下的 Preimage 原像

{xAx=b}\{\mathbf x\mid A\mathbf x=\mathbf b\}

动机:为什么要写成矩阵形式?

例如:

{2x+y=5xy=1\begin{cases} 2x+y=5\\ x-y=1 \end{cases}

可以整理成:

[2111](xy)=(51)\begin{bmatrix}2&1\\1&-1\end{bmatrix} \begin{pmatrix}x\\y\end{pmatrix} = \begin{pmatrix}5\\1\end{pmatrix}

也就是 Ax=bA\mathbf x=\mathbf b。矩阵形式让我们可以用统一的运算处理多个方程,并进一步研究列空间、零空间和秩。

观点:解是一个原像集合

给定 b\mathbf b 后,原像可能有三种情况:

  • 无解b\mathbf b 不在 AAImage Space 像空间(也就是列空间)中;
  • 唯一解:只有一个输入 x\mathbf x 能得到 b\mathbf b
  • 无穷多解:多个输入都能得到同一个 b\mathbf b

// TODO 啥意思??? 如果 x0\mathbf x_0 是一个特解,那么所有解可以写成:

x=x0+n,An=0\mathbf x=\mathbf x_0+\mathbf n,\qquad A\mathbf n=\mathbf 0

也就是说,通解 = 一个特解 + 零空间中的任意向量。零空间描述的是那些经过 AA 后会被压成零的输入方向。

区分:Ax=bA\mathbf x=\mathbf bAx=yA\mathbf x=\mathbf y

Ax=yA\mathbf x=\mathbf y 通常强调线性变换的正向过程:已知输入 x\mathbf x,计算输出 y\mathbf y

Ax=bA\mathbf x=\mathbf b 通常强调线性方程组的逆向求解:已知目标输出 b\mathbf b,寻找输入 x\mathbf x

两个式子的乘法完全相同,y\mathbf yb\mathbf b 只是不同语境下对输出向量的命名。更完整的比较可参阅 区分:Ax = b VS Ax = y;正向过程见 Linear Transformation 线性变换

运算:如何求解?

常见方法包括:

  • 高斯消元:通过初等行变换把方程组化简;
  • 逆矩阵:当 AA 可逆时,x=A1b\mathbf x=A^{-1}\mathbf b

任何线性方程组,都可以看作是某种"基 & 坐标" 的问题

AA 为可逆方阵、其列向量构成一组基的情况下,解方程 Ax=bA\mathbf x=\mathbf b,本质上就是在问:“标准基下的坐标 b\mathbf b,翻译成这组新基下的坐标,究竟是多少?” 而矩阵 AA,正是从新基坐标 x\mathbf x 翻译到标准基坐标 b\mathbf b 的翻译器。对于一般的非方阵或不可逆矩阵,更准确的说法是:判断 b\mathbf b 能否由 AA 的列向量线性组合得到,并求出所有组合系数。

把矩阵 A 按列分块:

A=(a1a2an)A = \begin{pmatrix} | & | & & | \\ \mathbf{a}_1 & \mathbf{a}_2 & \cdots & \mathbf{a}_n \\ | & | & & | \end{pmatrix}

把 A 的列向量看作新基的"方向"和"尺度",把 bb 看作是标准基下的位置:

Ax=x1a1+x2a2++xnan=bA\mathbf{x}=x_1\mathbf{a}_1+x_2\mathbf{a}_2+\cdots+x_n\mathbf{a}_n=\mathbf b

这意味着:

  • 在新基下,你走 (x1,x2,,xn)(x_1, x_2, \dots, x_n)
  • 在标准基下,你恰好到达 b 这个位置

因此,当这些列向量构成一组基时,AA 可以看作从新基坐标到标准基坐标的坐标变换矩阵x\mathbf x 是目标向量在新基下的坐标,b\mathbf b 是同一向量在标准基下的坐标;AA 负责把前一种坐标翻译成后一种坐标。

  • 新基——在数学上叫“输入空间的基”**
  • 标准基下的位置 b——在数学上叫“输出空间(列空间)的坐标”**
  • 矩阵 A 作为“桥梁&翻译器**”——在数学上被称为“从抽象空间到标准坐标空间的坐标表示映射(Coordinate Representation)”

这可以拆成四个部分来理解:

  • 列向量 ai\mathbf a_i:第 ii 个新基向量在标准坐标下的表示;
  • x\mathbf x:目标向量在新基下的坐标,也就是各个方向要走多少步;
  • b\mathbf b:同一目标向量在标准基下的坐标;
  • 矩阵 AA:把新基坐标翻译成标准基坐标的桥梁。

AA 是可逆方阵时,这些列向量线性无关并且张成整个空间,确实构成一组新基。此时可以反向翻译:

x=A1b\mathbf x=A^{-1}\mathbf b

A1A^{-1} 的作用正好相反:输入向量在标准基下的坐标 b\mathbf b,输出它在新基下的坐标 x\mathbf x。因此,AAA1A^{-1} 描述的是同一组坐标之间的正向与反向转换。

推广:从任意旧基切换到任意新基

前面的标准基只是一个特殊情况:标准基的基矩阵是单位矩阵 II。现在把它推广为两组都可能不同的基。关于“基向量、坐标和基矩阵”的基础概念,见 Basis 基

设旧基为 B=(b1,,bn)\mathcal B=(\mathbf b_1,\ldots,\mathbf b_n),新基为 A=(a1,,an)\mathcal A=(\mathbf a_1,\ldots,\mathbf a_n),并分别用基矩阵表示:

B=[b1  bn],A=[a1  an]B=[\mathbf b_1\ \cdots\ \mathbf b_n],\qquad A=[\mathbf a_1\ \cdots\ \mathbf a_n]

同一个向量 v\mathbf v 在两组基下的坐标可能不同。记

v=By=Ax\mathbf v=B\mathbf y=A\mathbf x

其中 y\mathbf y 是旧基坐标,x\mathbf x 是新基坐标。由于它们表示的是同一个向量,有:

By=AxB\mathbf y=A\mathbf x

AABB 都是可逆方阵时,可以分别得到两种方向的坐标变换:

y=B1Ax\mathbf y=B^{-1}A\mathbf xx=A1By\mathbf x=A^{-1}B\mathbf y

因此,从旧基坐标切换到新基坐标的矩阵是 A1BA^{-1}B;反向切换则使用 B1AB^{-1}A。若旧基就是标准基,则 B=IB=I,公式退化为熟悉的 x=A1v\mathbf x=A^{-1}\mathbf v

这就是常见的 Change of Basis 基变换 背后的坐标逻辑:矩阵乘法像是在不同“语言(基)”之间翻译坐标。若同一个线性变换在旧基下的矩阵记为 MM,而 PP 是从新基坐标到旧基坐标的基矩阵,那么它在新基下的矩阵就是:

[T]A=P1MP[T]_{\mathcal A}=P^{-1}MP