为什么要研究线性代数

设想正在校准一个有两个控制量、两个观测量的系统。调节一个控制量,往往会同时影响两个观测量;想得到指定结果,不能只盯着其中一个数字。

先构造一个简单模型。所有量都表示相对于基准的变化,因此可以为正,也可以为负:

单独施加的输入变化第一个观测量的变化第二个观测量的变化
控制量 A 增加一单位2211
控制量 B 增加一单位−1-122

现在希望观测量分别变化 33 和 44,两个控制量应该怎样调?问题已经不只是“算一个数”,而是同时满足多个彼此耦合的条件。

我们先作两个建模假设:把某个输入放大 aa 倍,其响应也放大 aa 倍;把两个输入同时施加,响应等于各自响应之和。于是调节量 a,ba,b 要满足

{2a−b=3,a+2b=4.\begin{cases} 2a-b=3,\\ a+2b=4. \end{cases}

a=2,b=1a=2,b=1 就是一组解。但比这道计算更值得追问的是:换一个目标还会有解吗?同一个目标会不会对应多种输入?如果两个控制量产生的响应恰好互为倍数,第二个控制量究竟增加了什么能力?

这就是线性代数的一个入口:把多个量作为整体处理,研究它们怎样组合、哪些组合可行,以及怎样从结果反求组合方式。 同一套结构也能用来描述多个力的合成、信号的叠加、联立方程和图像的线性处理。几何图形帮助我们看见结构,但不是研究的唯一目的。

“线性”是一项假设,不是给数字排成列就自动成立

上述模型允许叠加,是因为我们明确假设响应保持加法与缩放。真实装置可能出现饱和、阈值或输入之间的相互作用,届时这个模型就不再精确;有些系统只在某个工作点附近适合用线性近似。

例如,规则 F(a,b)=(a2,b)F(a,b)=(a^2,b) 就不保持缩放:第一输入加倍时,第一输出变为四倍。即使输入与输出都能写成数字列,也不能因此把这个规则称为线性。

这章先研究线性结构本身。我们会把“一个输入对应的一整组响应”叫作向量,把组合它们的实数叫作标量,然后回答三类问题:

  • 表示:怎样用已知对象组合出一个目标?
  • 存在性:哪些目标能表示,哪些不能?
  • 唯一性:不同的系数是否可能表示同一个目标?

本章标量默认取实数,需要实数运算、简单方程和集合与函数的基础。MIT 的线性代数课程提供线性无关、基与维数的配套讲解[1][1] G. Strang, “Independence, Basis and Dimension,” 2011. MIT OpenCourseWare, 18.06SC Linear Algebra, Fall 2011. https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/pages/ax-b-and-the-four-subspaces/independence-basis-and-dimension/。

向量描述什么,坐标又描述什么

第一个控制量产生的响应可以记作 (2,1)(2,1)。把这对数字画成“向右两格、向上一格”的箭头,就得到向量

u=(21).\mathbf u=\begin{pmatrix}2\\1\end{pmatrix}.

作为位移,它没有固定的起点。同样的移动可以从原点开始,也可以从别处开始;平移箭头不会改变这个位移。把箭头起点放在原点,只是方便观察。

坐标则记录:在已经选定的坐标轴、单位和基准方向下,这个位移怎样分解。改变基准方向,同一个几何向量的坐标可以改变。后续讨论基与坐标时会看到具体例子。

定义实坐标向量

对于正整数 nn,Rn\mathbb R^n 是所有实数有序 nn 元组的集合。本章通常将元素写成列向量:

v=(v1⋮vn).\mathbf v=\begin{pmatrix}v_1\\\vdots\\v_n\end{pmatrix}.

两个坐标向量相等,当且仅当对应分量分别相等。

这里选定的是一种具体模型。以后,多项式、函数和矩阵也可以成为向量,只要相应的加法与数乘满足向量空间公理。因此,“向量一定是空间中的箭头”太窄;“向量一定是一串数据”也没有说明运算结构。

在数据应用中,把身高、年龄等数值排成向量,是选择了一个表示方式。是否适合直接相加、怎样处理不同单位,仍需要由具体问题决定。

点的位置与点之间的位移

坐标都写成数字对,容易让人把点和向量混为一谈。点 P=(1,2)P=(1,2) 指定一个位置,点 Q=(4,1)Q=(4,1) 指定另一个位置。从 PP 到 QQ 的位移为

PQ→=Q−P=(3,−1).\overrightarrow{PQ}=Q-P=(3,-1).

它表示向右三单位、向下一单位。若把两个点都平移 (10,5)(10,5),新位置是 (11,7)(11,7) 与 (14,6)(14,6),相减仍得 (3,−1)(3,-1)。位移不依赖这两个点在平面上的绝对位置。

选定原点 OO 后,点 PP 可以用位置向量 OP→\overrightarrow{OP} 表示。这样便能用同一个数字对记录点与向量,但它们承担的角色仍然不同。移动原点会改变点的位置坐标,却不会改变两个点之差所表示的位移。

向量相加与“点加位移”都有清楚含义:前者合成两次移动,后者得到移动后的点。直接把两个点的坐标相加,则依赖原点。若想描述与原点无关的中点,应写

M=P+12(Q−P)=12P+12Q.M=P+\frac12(Q-P)=\frac12P+\frac12Q.

两个系数之和为一,使原点改变带来的偏移恰好只出现一次。这也是仿射组合与一般线性组合需要区分的原因。

三维与更多分量没有引入新的运算

三维向量 (v1,v2,v3)(v_1,v_2,v_3) 多记录一个分量。例如

(1,2,−1)+2(0,−1,3)=(1,0,5).(1,2,-1)+2(0,-1,3)=(1,0,5).

再增加分量时,计算规则仍然逐项进行。四维状态可以记录四个路口的净流量,不需要先想象一个四维箭头才能计算。不过,分量必须按照相同顺序、相同含义来对齐:不能把一个向量的温度分量与另一个向量的压力分量直接相加。

两种基本操作:相加与数乘

同维向量按分量相加,实数按分量相乘。例如,取

u=(21),v=(−12),\mathbf u=\begin{pmatrix}2\\1\end{pmatrix},\qquad \mathbf v=\begin{pmatrix}-1\\2\end{pmatrix},

则

u+v=(13),2u=(42).\mathbf u+\mathbf v=\begin{pmatrix}1\\3\end{pmatrix},\qquad 2\mathbf u=\begin{pmatrix}4\\2\end{pmatrix}.

几何上,相加就是接着走:先走一个位移,再把另一个箭头的起点平移到前一个箭头的终点。数乘则改变长度;负系数还会反转方向。对于非零向量,乘以 aa 后长度变为原来的 ∣a∣|a| 倍;乘以零得到零向量。

零向量 0\mathbf0 表示不移动,−u-\mathbf u 是抵消 u\mathbf u 的反向位移。不要混淆标量 00 与零向量:两者在运算中扮演的角色不同。

定义线性组合

给定同一空间中的有限个向量 v1,…,vm\mathbf v_1,\ldots,\mathbf v_m,以及任意实数 a1,…,ama_1,\ldots,a_m,表达式

a1v1+⋯+amvma_1\mathbf v_1+\cdots+a_m\mathbf v_m

称为这些向量的线性组合,aia_i 称为系数。

例如,用前面的两个向量,

2u+v=(34)=p.2\mathbf u+\mathbf v =\begin{pmatrix}3\\4\end{pmatrix} =\mathbf p.

这个交互图需要启用 JavaScript。

先取 a=2、b=1,再修改目标;切换为线性相关后,把目标放到直线上,最后尝试“保持结果,换一组系数”。观察可达性与唯一性怎样分别改变。

静态图:缩放与相加

先走两倍的 u,再沿平移后的 v 到达 p=(3,4)。

先走两倍的 u,再沿平移后的 v 到达 p=(3,4)。

先走到 2u=(4,2)2\mathbf u=(4,2),再走一次 v=(−1,2)\mathbf v=(-1,2),终点就是 p=(3,4)\mathbf p=(3,4)。虚线箭头表示平移后的同一个位移,不是额外的一种运算。

系数允许为负数、零和非整数,也不要求总和为一。例如 12u−v\tfrac12\mathbf u-\mathbf v 也是线性组合。若另加“系数非负且和为一”的限制,得到的是凸组合,见后面的练习;那是不同的问题。

沿这些方向,究竟能到哪里

一个非零向量只能给出一条直线

让 tt 遍历所有实数,tut\mathbf u 的终点遍历一条经过原点的直线。对于 u=(2,1)\mathbf u=(2,1),这条线满足 x=2yx=2y。

正系数与负系数让我们沿两个相反方向延伸,任意实系数则允许到达中间的所有位置。如果只允许整数系数,会得到一些离散点,而不是整条直线。若给定向量就是零向量,则只能到达原点。

怎样从目标反求系数

求线性组合的系数时,不能只看箭头“似乎能拼出来”。例如希望

a(2,1)+b(−1,2)=(x,y),a(2,1)+b(-1,2)=(x,y),

就逐分量比较。先用第二个方程 a+2b=ya+2b=y 得到 a=y−2ba=y-2b,代入第一个方程:

2(y−2b)−b=x⟹b=2y−x5.2(y-2b)-b=x \quad\Longrightarrow\quad b=\frac{2y-x}{5}.

再代回得到 a=(2x+y)/5a=(2x+y)/5。这样同时回答了存在性和唯一性:对任意目标,公式都有定义;而任何一组解都必须等于这两个数。

若两个方向相关,例如第二个是 (4,2)(4,2),比较分量会得到

2a+4b=x,a+2b=y.2a+4b=x,\qquad a+2b=y.

第一式左侧是第二式的两倍,因此右端也必须满足 x=2yx=2y。若不满足,没有任何系数能补救;若满足,两式实际上只限制 a+2ba+2b,并未分别确定 a,ba,b。所以“无解”与“多解”可以来自同一对方向,只是目标不同。

这里仍记 u=(2,1)\mathbf u=(2,1)、v=(−1,2)\mathbf v=(-1,2),相关方向为 w=2u=(4,2)\mathbf w=2\mathbf u=(4,2)。目标 p=(3,4)\mathbf p=(3,4) 不满足 x=2yx=2y,所以不能由 u,w\mathbf u,\mathbf w 组合出来。

静态对比:平面与直线

独立向量 u 与 v 张成整个平面;共线向量 u 与 w 只能到达一条直线,无法到达目标 p。

独立向量 u 与 v 张成整个平面;共线向量 u 与 w 只能到达一条直线,无法到达目标 p。

上图中的阴影表示平面,下图只高亮一条直线;两者都向画框外继续延伸。决定可达范围的是方向之间的关系,不是箭头数量。

给可达范围一个名称:张成

定义张成与生成子空间

向量 v1,…,vm\mathbf v_1,\ldots,\mathbf v_m 的所有实线性组合构成的集合,记为

span⁡(v1,…,vm)={∑i=1maivi:ai∈R}.\begin{aligned} &\operatorname{span}(\mathbf v_1,\ldots,\mathbf v_m)\\ &\quad=\left\{\sum_{i=1}^m a_i\mathbf v_i:a_i\in\mathbb R\right\}. \end{aligned}

称这些向量张成这个集合,也把该集合称为它们的生成子空间。

因此,“张成”只是把前面“所有能到达的位置”用一个术语概括起来:前一对向量张成 R2\mathbb R^2,后一对只张成一条直线。

这里一直使用实系数,换一个标量范围,答案可能不同。例如,把复数看作实向量空间时,11 只张成实轴,1,i1,i 才张成整个复平面;允许复系数时,11 单独就能张成 C\mathbb C。

张成的是直线、平面,还是更小的集合

在三维中,取 r=(1,0,1)\mathbf r=(1,0,1) 与 s=(0,1,1)\mathbf s=(0,1,1),则

ar+bs=(a,b,a+b).a\mathbf r+b\mathbf s=(a,b,a+b).

每个结果都满足 z=x+yz=x+y。反过来,只要某点满足这个等式,取 a=x,b=ya=x,b=y 就能表示它。因此两向量张成的恰好是这个过原点的平面。

“每个组合都满足某个条件”和“满足条件的每个目标都能组合出来”是两个方向。只证明第一个方向,通常只能说明张成集合包含在某个平面内,还不能证明两者相等。

若再加入 t=(1,1,2)\mathbf t=(1,1,2),因为 t=r+s\mathbf t=\mathbf r+\mathbf s,可达范围没有增加。若加入 e=(0,0,1)\mathbf e=(0,0,1),则

(x,y,z)=xr+ys+(z−x−y)e,(x,y,z)=x\mathbf r+y\mathbf s+(z-x-y)\mathbf e,

于是整个三维空间都可达。增加一个向量是否有用,要看它是否已经在原来的张成集合中。

冗余方向与唯一表示

若第二个方向满足 w=2u\mathbf w=2\mathbf u,则目标 2u2\mathbf u 既可以用系数 (2,0)(2,0) 表示,也可以用 (0,1)(0,1) 表示。因为 2u−w=02\mathbf u-\mathbf w=\mathbf0,改变系数可以相互抵消。

前面的不共线方向则给每个目标唯一的系数。这种“没有冗余”的性质叫作线性无关。先区分两个问题:张成回答目标能否到达,线性无关回答可达目标的系数是否唯一。一般定义、证明,以及基与维数,将在向量空间一章展开。

与矩阵、方程组的连接

把给定向量并排放成矩阵的列,就得到

A=(2−112).A=\begin{pmatrix}2&-1\\1&2\end{pmatrix}.

矩阵乘以系数列,正是取各列的线性组合:

A(ab)=au+bv.A\begin{pmatrix}a\\b\end{pmatrix} =a\mathbf u+b\mathbf v.

因此,方程 Ac=pA\mathbf c=\mathbf p 问的是“这些列能否组合出目标,系数是什么”。目标在列的生成子空间中,方程才有解;这些列线性无关时,解若存在就唯一。

接下来先在矩阵与复合中建立矩阵运算,再用线性系统与消元处理更多输入和观测量。

练习

先判断题目是在问“能否到达”还是“能否唯一表示”,再动手计算。

练习数乘与相加

对本章的 u=(2,1)\mathbf u=(2,1)、v=(−1,2)\mathbf v=(-1,2),计算 12u−v\tfrac12\mathbf u-\mathbf v,并说明负系数的几何含义。

解答

结果为 (2,−3/2)(2,-3/2)。先把 u\mathbf u 缩短为一半,再加上与 v\mathbf v 反向、等长的位移。

练习目标对应哪些系数

把 (1,3)(1,3) 和 (0,1)(0,1) 分别表示为 au+bva\mathbf u+b\mathbf v。

解答

代入系数公式,分别得到 (a,b)=(1,1)(a,b)=(1,1) 与 (a,b)=(1/5,2/5)(a,b)=(1/5,2/5)。第二个例子也说明,仅允许整数系数会漏掉平面中的点。

练习可达与不可达

给定 u=(2,1)\mathbf u=(2,1)、w=(4,2)\mathbf w=(4,2)。(6,3)(6,3) 与 (3,4)(3,4) 哪个可达?写出前者的全部系数。

解答

(6,3)=3u(6,3)=3\mathbf u 可达,全部系数满足 a+2b=3a+2b=3,即 (a,b)=(3−2t,t)(a,b)=(3-2t,t),其中 t∈Rt\in\mathbb R。(3,4)(3,4) 不满足 x=2yx=2y,不可达。

练习改变系数的限制

令 a,b≥0a,b\ge0 且 a+b=1a+b=1。所有 au+bva\mathbf u+b\mathbf v 组成什么图形?它与允许任意实系数时有什么区别?

解答

令 b=tb=t,则表达式为 (1−t)u+tv(1-t)\mathbf u+t\mathbf v,其中 0≤t≤10\le t\le1,得到连接两个向量终点的闭线段。去掉这两个限制后,才得到它们张成的整个平面。

练习点的位置与位移

把 P=(1,2),Q=(4,1)P=(1,2),Q=(4,1) 同时平移任意向量 h\mathbf h。证明两点的位移不变,但位置向量一般改变。

解答

新位移为 (Q+h)−(P+h)=Q−P(Q+\mathbf h)-(P+\mathbf h)=Q-P。若仍使用原来的原点,两个位置向量都增加 h\mathbf h。这把位置与相对变化区分开来。

练习检验三维目标

判断 (2,−1,1)(2,-1,1) 与 (2,−1,0)(2,-1,0) 是否属于 span⁡((1,0,1),(0,1,1))\operatorname{span}((1,0,1),(0,1,1))。

解答

第一个满足 z=x+yz=x+y,系数为 (2,−1)(2,-1)。第二个不满足这个条件,因此不可达。不能因为给出两个三维向量,就认为可以到达任意三维目标。

参考文献

  1. [1] G. Strang, “Independence, Basis and Dimension,” 2011. MIT OpenCourseWare, 18.06SC Linear Algebra, Fall 2011. https://ocw.mit.edu/courses/18-06sc-linear-algebra-fall-2011/pages/ax-b-and-the-four-subspaces/independence-basis-and-dimension/ ↩