可逆矩阵
现在我们做好了研究可逆矩阵的准备. 还是从方程组谈起吧. 对于线性方程组这里, , , . 我们用两种方法解这个方程.
方法一. 作变量替换 , 则原方程组化为 . 如果能选择 使得 (此时自然有 ), 则 , 就是解. 方法二. 当 时, 即 是一个非零常数时, 我们很容易得到 , 这本质上是在方程两边同乘以 的倒数. 由此得到启发, 对于一般情形, 我们可以在 两边同乘以一个矩阵 得到新的方程组 . 如果 (此时自然也有 ), 则可得方程组的解为 . 总之, 对于 , 我们希望找到 使得 或 . 首先解决一个问题. 问题 4.19 (1) 如果上述 同时存在, 则 . (2) 当 时, 上述 不可能同时存在. 进一步, 或 存在, 则一定不是唯一的. 对于问题 (1), 利用 的定义即可. 至于问题 (2), 利用问题 4.13 即可. 余下我们关注更有意思的情形, 即 是方阵. 利用行列式的乘积公式容易得到如下结论. 问题 4.20 称 为可逆矩阵, 如果存在 使得 . 则 可逆的必要条件是 . 看到 的条件, 我们应该能想到与之相关的重要结论——Cramer 法则. 如果 存在, 的第 列为 , 的第 列为 , 于是有这是一个线性方程组, 当 时解存在唯一, 也就是说
问题 4.21 这个条件是否充分, 即 可逆当且仅当 , 并且此时 的逆是唯一的. 上述讨论实际上还告诉我们如何求 的逆! 只需要求解方程组 即可. 这个方程组在讲解 Cramer 法则时遇到过. 不难看出, 它的解为如果 , 于是 (对! 你没有看错: 与 的下标位置是反的!). 于是需要引入伴随矩阵:
有点别扭, 但这就是结果, 无法改变. 于是有
问题 4.22 设 . (1) ; (2) 若 , 则 的唯一的逆矩阵为 , 记为 , 且 . 这个过程也是在告诉我们, 伴随矩阵的引入是自然而然的, 不是哪个人凭空想象出来的. 如果直接定义伴随矩阵, 让学生直接验证也可以得到上述结论, 但是这个过程不免令人产生疑问: 伴随矩阵是怎么想出来的? 知其然不知其所以然, 学生们不可避免地去死记硬背. 很多时候, 透过现象看本质的能力不是一朝一夕能练就的, 大部分学生们不具备这个能力, 哪怕现象与本质之间只隔一层窗户纸. 教师的一个很重要的工作是引导学生去捅破它, 引导学生多捅几次或许才能有些微效果. 问题 (2) 可以直接验证. 不过我们可以不需要计算且更一般的方法. 问题 4.23 设 为 上所有行列式不为零的 阶方阵的全体. (1) ; (2) 若 , 则 , 且 ; (3) 设 , 使得则 , 即 .
上述结论告诉我们, 若 是 的逆矩阵, 则 可交换. 关于这一点, 以后我们会发现有更深层次的原因. 问题 4.24 是 的多项式, 即存在 , 使得 . 如果有这个结论, 与 自然可换了. 不过这个结论并不容易证明, 我们还有一段路要走. 注意到伴随矩阵与逆矩阵的关系, 我们可以把逆矩阵的相关结论照搬到伴随矩阵上. 问题 4.25 (1) ; (2) 是 的多项式. 问题 (1) 可以直接计算 的代数余子式, 这需要 Binet-Cauchy 公式. 另一种方法或许更有启发性: 先证明 都可逆的容易情形, 一般情形可以可以利用扰动法, 即用 代替 得到结论, 再由此证明 也成立. 后一种方法还可以变化一下: 与 中的每一个矩阵元素都是多项式, 只要在“足够多”的点取值相同, 则这些多项式就是相等的.初等变换
用伴随矩阵求逆矩阵在二阶的情形很方便也很容易, 不过多年的教学经验告诉我, 即使是这种简单情形, 很多学生一算就错. 每一次讲过伴随矩阵, 下一次课我都会找个机会让学生们计算某个二阶矩阵的逆矩阵. 仿佛是为了证明我的判断是正确的, 学生们每次都很配合, 不是代数余子式忘了符号, 就是放错了位置, 甚至有人根本就想不起来什么是伴随矩阵. 这种现象每次都出现, 不管你怎么强调. 对于 阶的矩阵, 求伴随矩阵的复杂度就比较大了, 我们需要计算一个 阶行列式和 个 阶行列式. 除非特殊情形, 我们一般不会采用这种方法. 不过计算行列式的过程还是会有启发性的. 一般来说, 我们计算行列式是通过初等行(列)变换: 第一类初等变换: 矩阵的两行(列)互换; 第二类初等变换: 以一个非零数去乘矩阵的某一行(列); 第三类初等变换: 把矩阵的某一行(列)的 倍加到另一行(列)等变换. 问题 4.26 第一类初等变换实际上可以由其他两类初等变换得到. 初等变换并不是仅仅用来计算行列式的, 线性代数的出发点是解线性方程组, 回顾一下解二元一次或三元一次方程组的过程就会发现, 我们采用的主要是消元法, 而消元法实际上就是对各方程进行加减, 也就是对系数矩阵作一些初等行变换变换. 神奇的事情是初等行(列)变换可以用矩阵乘法来实现! 首先考虑单位矩阵 , 经过一次初等变换得到三类初等矩阵: 第一类初等矩阵 : 互换 的第 行(或列)与第 行(或列). 第二类初等矩阵 : 以非零 乘 的第 行(或列). 第三类初等矩阵 : 把 的第 行 (或第 列)的 倍加到第 行 (或第 列). 问题 4.27 初等矩阵都可逆, 且其逆矩阵也是初等矩阵, 这与初等行(列)变换是可逆的相对应. 问题 4.28 设 , 用 阶(或 阶)初等矩阵从左边(或右边)乘 是对 进行相应的初等行变换(或列变换). 矩阵乘法遵循着``左行右列''的原则, 即左乘一个矩阵的效果是施行相应的行变换, 右乘的效果是施行列变换. 还有另外一个观点可以解释这一点. 对于线性方程组 , 我们考虑变量替换 . 依次取 为三类初等矩阵, 把得到的关于 的线性方程组的矩阵写出来看看. 而变量替换得到的方程组是 , 系数矩阵就是 . 这样就很清晰地看出 实际上是对 做了初等列变换. 利用转置, 就能很容易理解 是在作行变换. 不过, 为了解线性方程组, 我们一般只用行变换, 这样的好处是, 对于初等矩阵 , 方程组 与 同解, 我们可以进行适当的操作方程组更容易解. 问题 4.29 对 , 可以用一系列初等行变换把 化成阶梯型, 即有初等矩阵 使得 为阶梯型. 如果考虑变量替换, 我们又可以对 进行列变换, 从而有 问题 4.30 任意 都可以经过一系列初等行列变换变为标准形 , 即存在初等矩阵 使得(为了省事, 我用分块矩阵的形式来写了. 早就想介绍分块矩阵, 担心学生们在矩阵乘法还没闹清时再被分块矩阵折磨得要死要活.)
这里有个问题: 问题 4.31 的标准形是唯一的吗? 换句话说, 这儿的 不依赖于初等变换的过程吗? 这个问题不容易看出来, 我们放到后面的分块矩阵中讨论. 如果 是可逆矩阵, 则 . 实际上, 从初等行变换的过程我们就可以发现: 问题 4.32 如果 可逆, 则我们只需要初等行变换就可以把 化成标准形 . 这个问题给出了求逆矩阵的方法. 若用一系列初等行变换 把 化成了 , 即有 . 于是 . 我们需要做的就是把这些初等行变换记录下来. 为此, 我们只需要把 和单位矩阵排在一起, 对 进行行变换 . 于是, 这些初等行变换把 化成 的同时也把 化成了 . 如果用列变换该如何操作?一个小插曲
不过, 上课的时候我问了一个问题: 问题 4.33 由问题 4.30, 当 可逆时, 从这里如何看出只需要初等行变换就可以把 化成 ? 意料之中的事情出现了: 学生们蒙了! 很明显, 他们被这一长串的矩阵弄迷糊了. 他们应该明白矩阵乘法不满足交换律, 不过他们似乎忘了有些矩阵相乘是可交换的, 比如互逆的矩阵. 加个括号写成如下这个样子不少学生才恍然大悟、如梦初醒.
不过, 一个意外收获是, 有个学生想到了一个有点麻烦的做法: 在上述标准形左边乘以 , 右边乘以 , 即这样就把 逐一移到左边了. 这实际上是矩阵相似的观点, 是后面“线性变换”一章中的重要概念.
既然出现了相似, 自然也不应该浪费, 干脆算一点例子. 问题 4.34 设 , 可逆, 求 , . 算完这个, 趁热打铁, 再算一题. 问题 4.35 设 , 求 . 算了几个例子, 学生们反应过来了, 这里的 中的各项数字竟然全都是 Fibonacci 数. 求 Fibonacci 数列的通项公式自然就需要求 . 这自然不好算, 不过如果能把 写成的形式, 则
问题 4.36 如何求满足上述条件的 ?