学习目标与准备
本章以第 1 章的方程和第 2 章的坐标几何为基础,组织同时出现的多个数量。你将计算向量合计与加权值、进行矩阵乘法和转置、用可逆操作求解方程组,并使用行列式而不混淆代数唯一性与模型可行性。
3.1 向量记录多个数量
向量是有序列表,通常写为列向量。若 q=(q1,q2)T 记录两种商品的数量,p=(p1,p2)T 记录其单位价格,则总值是点积 pTq=p1q1+p2q2。分量各有含义;除非相应解释也交换,交换分量会改变所记录的对象。
例 1:合计商品篮。 设两个商品篮为 q=(3,2)T、r=(1,5)T,价格为 p=(4,6)T。第一篮取两份、第二篮取一份,得到 2q+r=(7,9)T,价值为 pT(2q+r)=82。线性性还给出 2pTq+pTr=2(24)+34=82。此计算中价格固定;若价格随数量变化,估值一般不再是线性的。
当坐标单位相容时,∥v∥=vTv 是欧氏长度,u⊥v 表示 uTv=0。不能不加说明地把不同经济单位当作可互换的几何长度;即使记录的实际情况相同,重新缩放一个变量也会改变距离。
若存在实系数使 v=c1u1+⋯+ckuk,则向量 v 是 u1,…,uk 的线性组合。若一组向量只有系数全为零时才可组合成零向量,就称该组线性无关。两个非零平面向量线性相关当且仅当其中一个是另一个的标量倍数。
3.2 矩阵运算与表格操作
m×n 矩阵有 m 行和 n 列。同尺寸矩阵逐项相加,数乘也逐项进行。对于尺寸为 m×n 的 A 和尺寸为 n×p 的 B,
(AB)ij=k=1∑naikbkj.
乘积尺寸为 m×p,内侧维数必须相同。AB 的第 j 列等于 A 乘以 B 的第 j 列;因此矩阵乘法可把一个表格的线性规则同时应用于多个输入。
例 2:多个方案的资源。 设
A=(2114),Q=(3251).
Q 的每一列是一个生产方案,A 的每一列是某一产品每单位的资源使用量。于是 AQ=(811119) 记录两个方案的资源总量。第一行和第二行可以使用不同资源单位;相加只在单位相容的同一行内进行。
矩阵乘法满足结合律与分配律,但一般不满足交换律。若 A=(1011)、B=(1101),则 AB=(2111),而 BA=(1112)。转置满足 (AT)ij=aji 和 (AB)T=BTAT。单位矩阵的对角项为一、其他项为零;尺寸适当时,它的作用类似于乘以一。
3.3 联立方程与可逆消元
线性方程组 Ax=b 同时施加所有方程,可记作增广矩阵 [A∣b]。交换方程、把一个方程乘以非零常数、或把一个方程的倍数加到另一个方程上,都严格保持解集,因为每步均可逆。不能把方程乘以零,否则会丢失约束。
例 3:反求两个价格。 假设商品篮给出 2p+q=11 和 p+3q=13。从第一式减去第二式的两倍,得到 −5q=−15,故 q=3、p=4;代回两式均成立。只解一个方程不够,因为单个方程有无穷多组解。
全零系数行若右侧非零,方程组不相容;完全为零的一行则是冗余的。若未知数不由主元确定,应使用自由参数描述。
例 4:相关与不相容。 若 x+2y=6 和 2x+4y=12,第二式重复第一式,所有 (6−2t,t) 都是解。若第二式右侧改为 13,减去第一式两倍得到 0=1,故无解。系数表看似相同,右侧不同却可能导致不同结果。
实数方程组不可能恰有两个解而没有其他解。若 x1,x2 是两个不同解,由分配律可知,对每个实数 t,x1+t(x2−x1) 都是同一方程组的解。这证明了解有无穷多个。
3.4 行列式与逆矩阵
对 2×2 矩阵,det(acbd)=ad−bc。行列式非零意味着两个系数列线性无关,且对每个右侧,方阵方程组都有唯一解。其逆矩阵为
A−1=ad−bc1(d−c−ba).
将它与 A 按两个次序相乘均得 I,从而证明公式。唯一解为 x=A−1b。若 ad−bc=0,不能使用此公式,应改用消元法分类右侧。
对 n×n 矩阵 A=(aij)(n≥2),记删去第 i 行和第 j 列得到的矩阵为 Mij,其代数余子式为 Cij=(−1)i+jdetMij。沿任一固定的第 i 行展开,得到
detA=j=1∑naijCij.
递归的基础是 1×1 矩阵的 det(a11)=a11。例如,
det210121012=2(4−1)−1(2−0)=4.
消元提供另一种计算方法:交换两行使行列式变号;一行乘以常数使行列式乘以该常数;一行加上另一行的倍数则不改变行列式。三角矩阵的行列式等于对角项之积。这些规则将行列式为零与缺少主元、矩阵奇异联系起来。
例 5:奇异参数处不能除出逆矩阵。 对 A(a)=(122a),行列式为 a−4,当且仅当 a=4 时可逆。在 a=4 处,第二个系数行是第一个的两倍;要使方程组相容,右侧也必须满足同样关系。含 1/(a−4) 的表达式不是被排除情形的解公式。
3.5 可行性与线性不等式模型
解出等式不自动满足非负或产能限制。可行集包含满足所有条件的点。在平面中,非严格线性不等式 ax+by≤c 在 (a,b)=(0,0) 时表示闭半平面。有限个这类闭半平面的交集若非空、有界且具有非空的二维内部,便是凸多边形。交集也可能为空、线段、点或无界;这些情形需另行处理。
例 6:小型资源模型。 设 x,y≥0,资源限制为 x+y≤4、2x+y≤6,目标为 P=3x+2y。可行顶点是 (0,0)、(3,0)、(2,2)、(0,4)。交点 (2,2) 由两条起作用的资源约束取等号求得;各顶点目标值依次为 0,9,10,8,因此最大值为 10,在 (2,2) 处取得。
为什么这里检查顶点足够?非常数仿射目标不可能在内部取得严格最大值,因为沿其增长方向作小移动会增大目标。每条边上的目标是一个参数的仿射函数,所以最大值在端点取得;若沿边为常数,两端点也取得相同最大值。紧致性保证最大值存在。这个几何论证针对有界多边形,不意味着每个非线性约束问题都由顶点求解。
若数量必须为整数,整数可行性是额外条件。本例的最优顶点为整数,但一般的连续最优解未必如此;分别四舍五入可能违反资源不等式。
3.6 分级练习
基础
- 设 p=(2,5)T、q=(4,3)T,计算 pTq;若分量分别是价格和数量,解释其含义。
- 对 A=(3012) 和 q=(2,5)T,计算 Aq。
- 若 A 为 2×3、B 为 3×2,写出 AB 与 BA 的尺寸。
核心
- 解 3x+y=14、x+2y=8,并验证两式。
- 求 x−y=3、2x−2y=6 的所有解。
- 判断 x+2y=1、3x+6y=4 是否相容。
- 求 A=(2111) 的逆,并用它解 Ax=(7,4)T。
- 沿非零项较少的一行或一列展开,计算 103020201 的行列式。
综合
- 在 x,y≥0、x+y≤3 下最大化 2x+y,说明最大值点是否唯一。
- 证明若 Au=Av 则 A(u−v)=0;解释为什么 A 可逆会推出 u=v,并举一个奇异例子,使不同输入有相同输出。
3.7 完整解答
- pTq=2(4)+5(3)=23。价格和数量单位相容时,它是总价值,不是数量向量或平均价格。
- 结果为 (3(2)+5,0+2(5))T=(11,10)T。
- AB 是 2×2,BA 是 3×3。两者均存在,但尺寸不同,不能相等。
- 从第一式减去第二式三倍得 −5y=−10,故 y=2、x=4。核对:12+2=14 和 4+4=8。
- 第二式冗余。令 y=t,得到所有解 (3+t,t)。
- 从第二式减去第一式三倍得 0=1,方程组不相容。
- 行列式为 1,故 A−1=(1−1−12)。乘以 (7,4)T 得 (3,1)T;核对:(6+1,3+1)T=(7,4)T。
- 沿第二行展开:2det(1321)=2(1−6)=−10。
- 顶点为 (0,0),(3,0),(0,3),目标值为 0,6,3。唯一最大值为 6,在 (3,0) 取得。直接地,2x+y=(x+y)+x≤3+3=6,且等号迫使 x=3,y=0。
- 分配律给出 A(u−v)=Au−Av=0。若 A 可逆,乘以 A−1 得 u−v=0。对于 A=(1000),不同向量 (1,0)T 和 (1,2)T 都映为 (1,0)T。
总结与后续联系
向量保留数量的顺序和含义。矩阵乘法组合相容的线性规则,并且依赖次序。可逆消元分类方程组,行列式与逆矩阵处理非奇异方阵情形。可行性把模型约束加到代数解上;线性不等式的几何给出同时约束的初步应用。
本篇所用方法的证明
有限实矩阵乘法法则的证明
设 m,n,p,q 为正整数,A∈Rm×n、B∈Rn×p、C∈Rp×q。以下只用行乘列定义与实数的有限求和。对任意输出位置 (i,ℓ),
((AB)C)iℓ=k=1∑p(j=1∑naijbjk)ckℓ=j=1∑naij(k=1∑pbjkckℓ)=(A(BC))iℓ.
中间等号只交换两个有限和的求和次序,并使用实数分配律。两边同为 m×q 矩阵,每个位置相等,便证明结合律;没有调换矩阵因子的次序。
对 D∈Rn×p,同一定义给出
[A(B+D)]ik=j=1∑naij(bjk+djk)=(AB)ik+(AD)ik.
对 E∈Rm×n,则有
[(A+E)B]ik=j=1∑n(aij+eij)bjk=(AB)ik+(EB)ik.
所以在所写的相容大小下,两条分配律均成立。对任意实标量 c,
[(cA)B]ik=j∑(caij)bjk=cj∑aijbjk=j∑aij(cbjk)=[A(cB)]ik,
逐项相等便证明 (cA)B=c(AB)=A(cB)。特别地,对 x,y∈Rn 与实数 s,t,
[A(sx+ty)]i=j∑aij(sxj+tyj)=s(Ax)i+t(Ay)i.
这证明了比较同一线性系统的解时所用的矩阵乘向量线性性质。所有恒等式都只针对大小相容的有限实矩阵,不声称任意矩阵因子可交换或可消去。
从较小矩阵构造行列式
定义
子矩阵、子式与余因子
设 A=[aij] 是一个 n×n 矩阵,其中 n≥2。给定
1≤i,j≤n,同时删去第 i 行与第 j 列,所得的
(n−1)×(n−1) 矩阵记为子矩阵 A(i∣j)。
属于项 aij 的子式是标量
Mij=det(A(i∣j))属于项 aij 的余因子是带符号标量
Cij=(−1)i+jMij符号形成左上角为正的棋盘:
+−+⋮−+−⋮+−+⋮⋯⋯⋯⋱A(i∣j) 表示一个矩阵,Mij 是该矩阵的行列式,
Cij=(−1)i+jMij 则是加上符号后的标量。明确区分这三个对象,
就不会把符号错误地乘两次。
定义
行列式的递归定义
对于 1×1 矩阵 [a11],定义
det([a11])=a11对于 n>1 的 n×n 矩阵,沿第一行定义
det(A)=j=1∑na1jC1j=j=1∑n(−1)1+ja1jM1j这是定义,还不是关于其他行或列的定理。每个子式的阶数都是 n−1,
所以反复使用定义最终会到达 1×1 基本情形。不需要约定
0×0 行列式:子矩阵和子式的定义只用于 n≥2。
行列式与余因子展开观看余因子展开如何把一个行列式化成较小的有符号分支,再看零项如何剪枝、三角矩阵如何缩成对角线乘积。
子式、符号、余因子
删去第 i 行与第 j 列后,取剩余矩阵的行列式得到子式;再乘以 (-1)^{i+j} 得到余因子。
展开分支
对 B=[[3,2,-1],[4,1,6],[-3,-1,2]],沿第一行展开,三个子式的系数依次为 3、-2、-1。
合并分支值
三个子式为 8、26、-1。连同原矩阵元素与棋盘符号,得到 3(8)-2(26)+(-1)(-1)=-27。
零项剪掉工作
零项贡献的是零余因子项,所以选零多的行或列会立即删去分支。
唯一非零项
若某行或列只有一个非零项,行列式就缩成一个带符号的较小行列式。
三角矩阵直接读
对三角矩阵而言,反复做单分支展开后,留下的是对角线项之积。
余因子展开既是递归定义,也是计算策略:选零多的行或列,让零分支先消失,才不用花力气计算它们。
从递归行列式证明任意余因子展开
设 A 为实 n×n 矩阵,n≥1,行列式由一阶基例和第一行递归定义。令 Sn 为 1,…,n 的排列集合;定义逆序数 inv(σ) 为满足 r<s 且 σ(r)>σ(s) 的数对个数,并令 sgn(σ)=(−1)inv(σ)。
若 σ(i)=j,删去位置 i 与值 j,保持其余位置及值的相对次序,得到排列 τ∈Sn−1。设位置 i 之前有 u 个值小于 j;被删去的逆序共有 (i−1−u)+(j−1−u)=i+j−2−2u 个,故
sgn(σ)=(−1)i+jsgn(τ).
定义 Pn(A)=∑σ∈Snsgn(σ)∏r=1nar,σ(r)。n=1 时它就是递归行列式。n>1 时,按 σ(1)=j 分组并用符号恒等式,得 Pn(A)=∑j(−1)1+ja1jPn−1(A(1∣j))。归纳法因而证明 Pn(A)=detA。
现在固定任意行 i,将同一有限排列和按 σ(i)=j 分组。删除操作与对应子矩阵的全部排列一一对应,因此
detA=j=1∑n(−1)i+jaijdet(A(i∣j)).
固定任意列 j 时,每个排列恰有一个位置 i 满足 σ(i)=j;按该位置分组即得
detA=i=1∑n(−1)i+jaijdet(A(i∣j)).
两个展开公式均用于 n≥2,没有引入空行列式约定。此证明不预设换行交错规则或行列式乘积定理。
结构规则为何成立
零行、零列与唯一支撑项
定理
有零行或零列时行列式为零
如果方阵的一整行或一整列的每个项都是零,则它的行列式为零。
定理
某行或某列至多有一个非零项
设 C 是 n≥2 阶方阵。若第 k 行除 ckℓ 外都为零,则
det(C)=ckℓ(−1)k+ℓdet(C(k∣ℓ))若第 ℓ 列除 ckℓ 外都为零,也有同一公式。即使
ckℓ=0,这个表述仍然成立。
当 n=1 时,含有零行的矩阵就是 [0],按基本定义其行列式为零。当
n≥2 时,使用任意行展开定理沿该行展开。每一项都含有一个零项作为
因子,所以每一项都为零,因而 det(A)=0。
零列可以用归纳法直接证明,这样能看清零列如何传递。n=1 时,唯一
具有零列的 1×1 矩阵是 [0],其行列式为零。假设结论对
n=k 成立。设 (k+1)×(k+1) 矩阵 C 的第 ℓ 列全为零,
沿第一行展开。第 ℓ 项的因子已经是零。对其余每一项,删去第一
行和某个 j=ℓ 的列;原来的零列仍在所得 k×k 子矩阵中,
只是在 j<ℓ 时列指标向左移动。由归纳假设,每个这样的子矩阵的行列式
都是零,所以整行展开的每一项都为零,得到 det(C)=0。
若某行除一个项外全为零,沿该行展开即可;若某列除一个项外全为零,
沿第 k 行展开。ℓ 项保留下来,而对每个 j=ℓ,子矩阵
C(k∣j) 都继承了原第 ℓ 列的零列,因此其行列式为零。最后只
剩下 ckℓ(−1)k+ℓdet(C(k∣ℓ))。这正是稀疏行或
列能把计算缩成一个子式的原因。
三角矩阵
定理
三角矩阵定理
若 T 是上三角或下三角矩阵,则
det(T)=t11t22⋯tnn
用 n 作归纳证明上三角情形。n=1 时结论就是行列式的定义。假设
结论对上三角 k×k 矩阵成立,令 T 为 k+1 阶上三角矩阵。最
后一行除最后一项 tk+1,k+1 外都是零。沿最后一行展开,只有这一项
保留,而且符号 (−1)2k+2=1:
det(T)=tk+1,k+1det(T(k+1∣k+1))
保留下来的子矩阵仍是上三角矩阵,对角线为
t11,…,tkk。由归纳假设,它的行列式是
t11⋯tkk,于是得到完整的对角线乘积。下三角情形类似但可
沿第一行展开:第一行只可能留下 t11,删去第一行第一列后的子矩阵
仍是下三角矩阵,对角线从 t22 到 tnn。
固定一行时的多重线性
定理
固定一行时的多重线性
固定除第 p 行外的每一行。若新第 p 行是 αu+βv,则
det(相同其他各行,但第 p 行为 αu+βv)=αdet(相同其他各行,但第 p 行为 u)+βdet(相同其他各行,但第 p 行为 v)
当 n=1 时,基本定义直接给出
det([αa+βb])=αa+βb=αdet([a])+βdet([b])
这就证明了 1×1 情形。
当 n≥2 时,固定除第 p 行外的每一行。设矩阵 A,B,C 在这些固定行上完全相同,
而第 p 行满足 cp=αap+βbp。对每个列指标 j,删
去第 p 行后得到相同的矩阵:
A(p∣j)=B(p∣j)=C(p∣j)
沿第 p 行展开 det(C),再用每个项的关系
cpj=αapj+βbpj 和分配律,得到
det(C)=j=1∑n(αapj+βbpj)(−1)p+jdet(C(p∣j))=αdet(A)+βdet(B)
关键正是其他每一行都固定;同时改变两行是另一条命题。
相邻换行与相同行
定理
若有两行相同,行列式必为零
若一个方阵有两行完全相同,则它的行列式等于 0。
设 A 的相邻两行是 rq,rq+1,交换这两行得到 B。沿
A 的第 q 行展开,沿 B 中已经移动到第 q+1 行的同一行
rq 展开。对每个列指标 j,两次删去该行后留下的子矩阵次序相同,
但符号相反,因为
(−1)q+1+j=−(−1)q+j
逐项比较便得 det(B)=−det(A)。位置 p<q 的两行交换可以由
2(q−p)−1 次相邻交换组成,这是奇数次,所以同样会使行列式变号。
若 A 的第 p 行与第 q 行相同,交换它们后矩阵仍是 A 本身。换行
结论于是给出 det(A)=−det(A)。由于这里的项是实数,
2det(A)=0,所以 det(A)=0。这个证明没有调用下一节才会出现的行
替换规则。
指标与计算策略
每一项都要同时保留三个对象:所选项、删去一行一列后得到的子矩阵,以及取该子矩阵行列式所得的子式。先按原矩阵中的行列位置写出棋盘符号,再计算子式。若继续展开子式,应使用子式自己的局部指标;局部指标不会取代外层余因子的符号。
任意行、任意列展开定理使展开线可以有策略地选择。优先选择零多或剩余子式较简单的行或列,并在计算前说明理由。零项会立即删去分支;零子式则必须由它自己的计算证明。第一行递归式定义行列式,任意行列展开则是允许这种计算选择的定理。