会计恒等式约束各个量,却不会自动确定它们。如果公司报告了两种产品的总销售额和总变动成本,能否推算各产品的销售数量?线性代数帮助我们判断证据给出唯一答案、留下多个选择,还是互相矛盾。本章将建立模型,在不丢失信息的情况下求解,并以原来的单位解释结果。下文商业数据均为虚构的教学例子。
1 从文字陈述到矩阵方程
设 表示两种产品的数量。假设售价分别为 30 和 50 个货币单位,单位变动成本分别为 12 和 20。销售额为 1,600、变动成本为 640,得到
第二个方程是第一个的 0.4 倍。两个报告数字只提供了一个独立约束。如果求解器只给出一组数,却不说明自由选择,就隐藏了证据的一个特征。
个未知数的线性方程组是一组方程 ,其中 。其系数矩阵 为 ,未知向量 为 ,右端向量 为 。方程组写作 ,其中
的各列记录每个未知数对各项测量的贡献。每一行中各项与对应未知数相乘后,单位必须相容。不能仅因为两个量都是数字就把货币量和实物量相加。
增广矩阵 将方程组和观测值放在一起。允许的初等行变换包括交换两个方程、将一个方程乘以非零标量,以及将一个方程的倍数加到另一个方程。
为什么这些操作会保留解集
定理
行等价的增广矩阵代表等价方程组
若一个增广矩阵可由另一个增广矩阵经有限次基本行变换得到,则两者所代 表的线性方程组是等价的,也就是说,它们有完全相同的解集。
证明
逐种解释为什么基本行变换是安全的
每一种行变换,其实都只是方程操作的矩阵版本。
- 交换两行,只是改变方程出现的次序。某个数组在交换前同时满足所有方 程,交换后也同样同时满足它们。
- 把一行乘上一个非零标量,等于把同一条方程左右两边同时乘上同一个非 零数。这会得到一条等价方程,而且可用乘上 逆转。
- 把 换成 ,就是把第 条方程改写成 “ 第 条方程加第 条方程”。原系统的任何解都会满足 新方程,而这一步也可通过把 倍第 行加回第 行来逆 转。
因此,每一种基本行变换都保留解集,任何有限次组合也一样保留解集。
可逆性保证改写前后的方程组具有相同的解集。检查一种操作是否合法时, 应当能明确写出恢复原方程的逆操作。
不要只对 进行行变换却保持 不变:那会改变问题。
有限消元必停止,并保持解集
设 、,其中 是有限正整数。允许的行变换为交换不同的两行、以非零标量乘一行,以及把一行的标量倍加到另一行。逆变换分别为同一交换、乘以倒数,以及减去该倍数。因此对整个增广阵施行变换恰好保持 的解集:新方程由旧方程推出,逆变换给出反向蕴含。每个行变换也等于左乘把同一变换施于单位矩阵所得的可逆初等矩阵。
从左到右扫描系数列,并记录下一未使用行。若当前列在未使用行中有非零元素,就将其所在行交换到下一位置,除以非零主元,再从其余各行减去适当倍数,清空该列其他元素,然后推进未使用行指标。若该列所有未使用位置都是零,就跳过该列。先前主元列始终是单位列:当前未使用行在这些列均为零,所以新主元行以及后续减法保留这些零与原主元。总共只有 次列扫描及至多 个主元,每次只作有限个行变换,故算法必停止。最后非零系数行的主元列依次递增,各主元上下均为零,其余系数行全零。这证明下面使用的简化阶梯形确实能得到,而非假设它最终出现。
解的分类与齐次自由度
令 为系数部分的主元数。若某个零系数行对应非零变换后右端,就出现不可能的方程 ,因此无解。否则任意指定 个非主元变量的实数值。每个主元行都把其主元变量写成变换后右端减去自由变量的已知线性组合,其中没有其他主元变量。这些公式既构造解,也恢复每一个解。若 ,解唯一;若 ,改变自由变量就改变解向量,故有无穷多解。
对 ,全部自由变量取零给出零解。若 ,将一个自由变量设为一,其余设为零,再按主元公式求解,就构造出非零齐次解;若 ,公式迫使所有齐次变量为零。对相容系统固定一个解 ,两解相减表明每个解均为 ,其中 ;代入又证明反向包含。
当 为方阵且每列都有主元时,系数阶梯形为 。有限个初等矩阵之积 满足 。因为 可逆,,故也有 ,所以 是双侧逆。若缺少主元,上面构造的非零齐次解排除可逆性。这也证明可逆时,对 作相同行变换会得到 。
2 消元与三种可能结果
主元是阶梯形中某一行最前面的非零元素。主元列对应的变量称为主元变量,其余为自由变量。回代将主元变量表示为自由变量的函数。若有一行 且 ,则对应不可能成立的方程 。
对开头的例子,除法和消元得到 与 ,因此
代数上允许任何实数 。若数量必须非负,则 ;若还必须为整数, 必须使 能被 3 整除。这些是额外的模型条件,不是行化简的结果。
现在把产品 2 的单位成本改为 25,并假设总变动成本为 740。模型变为
第二式减去第一式的 0.4 倍,得到 。所以 、;代入可验证两项原始观测。若第三份报告说同一批销售共包含 50 件产品,就与该模型矛盾,因为 。
解的分类。 阶梯形方程组不相容,当且仅当其中有矛盾行。否则,若每个未知数都是主元变量,解唯一;若还有自由变量,则有无穷多个实数解。
说明。 没有矛盾行时,可任意指定自由变量,再通过回代确定所有主元变量。没有自由变量时恰有一个赋值;有自由变量时,不同选择产生不同解向量。此分类针对 ;有限域中的解的数量有所不同。
3 为什么一个特解不是全部解
零空间是 ,它描述观测无法察觉的变化。
定理 2 全部解的仿射形式。 若 满足 ,则每个解都可唯一写成 ,其中 。
证明。 若 ,则 。反之,若 ,则 。由 可知表示唯一。
对 ,一个解是 ,零空间是由 张成的直线。全部解为 。增加 会改变产品组合,却保持报告的总量不变。
4 相互提供服务的成本分摊模型
两个服务部门的直接成本分别为 80 和 90。部门 A 接受的 B 部门服务价值为 B 总成本的 20%;B 接受的 A 部门服务价值为 A 总成本的 10%。在该简化模型中,
代入得到 ,所以 、。这是包含相互服务的总成本,不是新产生的外部支出。若将 称为原始直接支出,就会重复计算内部服务。矩阵方程为
检查单位、符号和计算对象与消元同样重要。若相互服务的系数改变,方程也会改变;结果依赖于所选模型。
5 分层练习
E1 基础。 解 、 并验证答案。
E2 解释。 解 、,描述非负解。若第二个方程右端改为 25,会有什么变化?
E3 建模。 两种产品每件售价分别为 20 和 35。总收入为 900、总销量为 30 件。求各产品数量,并说明该模型所需的一项假设。
E4 结构证明。 设 满足 。证明方程组有唯一解当且仅当 。
E5 拓展。 对 、,在 时求唯一解。当 时,各给出一个相容与不相容的例子。
6 详解
S1. 第二式减去第一式的三倍:,所以 、。验证: 且 。
S2. 第二式是第一式的两倍。令 ,则 。非负性要求 。若右端为 25,相减得到 ,所以无解,也没有非负解。
S3. 写出 和 。减去 得 。因此 、。这里假设所有产品均按所列固定价格销售,且收入不含额外费用或折扣。
S4. 由定理 2,每个解为 ,其中 。若零空间只有零,则只有 ;若含非零 ,则 是第二个解。已存在一个解的假设不可缺少。
S5. 代入得 ,因此 、。若 且 ,任何满足 的数对都是解。若 且 ,两式相加得 ,故无解。直接成本为正且相互回收比例均为 100% 时,该模型没有有限总成本。
总结
线性模型通过 将未知量与观测值联系起来。可逆的行变换揭示相容性和自由选择;零空间中的向量指出观测无法察觉的变化。只有检查原方程、单位和应用约束之后,算出的答案才具有可解释的意义。