本节将讲解行列式的应用。
从行列式出发,又可以发现新的公式。
逆矩阵公式
公式
\(2*2\) 的逆矩阵公式
\[{\left( \begin{array}{cc} a & b \\ c & d \\ \end{array} \right)}^{-1}=\frac{1}{\text{ad}-\text{bc}}\left( \begin{array}{cc} d & -b \\ -c & a \\ \end{array} \right) \]
右侧第一项是行列式的倒数,第二项是原矩阵每一行的代数余子式构成的矩阵的转置,记为 \(C^{T}\) .她是原矩阵的伴随矩阵。伴随矩阵的各元素是原矩阵对应元素的代数余子式。
\(n*n\) 矩阵的逆矩阵公式
\[A^{-1}=\frac{1}{detA}C^{T} \]
\(A\) 的行列式由 \(n\) 个元素的乘积组成;伴随矩阵个元素由 \(n-1\) 个乘积组成。
高斯-若尔当求逆法在数值计算无懈可击。
现在我们得到了逆矩阵的代数表达式,使得算法能够写成代数形式。
值得注意的是,不建议用这个公式计算,毫无疑问消元法更有利于手算或计算机处理。
同时这个式子也告诉我们,只有当行列式不等于0时,才有逆矩阵。
证明
证明逆矩阵公式成立,我们可以证明 \(AA^{-1}=I\) 成立,即证明 \(A\frac{C^{T}}{detA}=I\)。
行列式是一个数,所以我们可以将她放在等式另一边:
\[AC^{T}=(detA)I \]
注意,右边是行列式(一个数)乘以单位阵,结果是对角矩阵,不是一个数。
将左边展开
\[\left( \begin{array}{cccc} a_{11} & a_{12} & ... & a_{1 n} \\ a_{21} & ... & ... & ... \\ ... & ... & ... & ... \\ a_{\text{n1}} & ... & ... & a_{\text{nn}} \\ \end{array} \right) \left( \begin{array}{cccc} C_{11} & C_{21} & ... & C_{\text{n1}} \\ C_{12} & ... & ... & ... \\ ... & ... & ... & ... \\ C_{1 n} & ... & ... & C_{\text{nn}} \\ \end{array} \right) \]
根据行列式的代数余子式公式
\[detA=a_{i1}C_{i1}+a_{i2}C_{i2}+...a_{in}C_{in} \]
矩阵 \(A\) 的第 \(i\) 行乘以伴随矩阵的第 \(i\) 列,结果就是行列式 \(detA\).
故
\[\left( \begin{array}{cccc} a_{11} & a_{12} & ... & a_{1 n} \\ a_{21} & ... & ... & ... \\ ... & ... & ... & ... \\ a_{\text{n1}} & ... & ... & a_{\text{nn}} \\ \end{array} \right) \left( \begin{array}{cccc} C_{11} & C_{21} & ... & C_{\text{n1}} \\ C_{12} & ... & ... & ... \\ ... & ... & ... & ... \\ C_{1 n} & ... & ... & C_{\text{nn}} \\ \end{array} \right)= \left( \begin{array}{cccc} \text{detA} & ... & ... & ... \\ ... & \text{detA} & ... & ... \\ ... & ... & ... & ... \\ ... & ... & ... & \text{detA} \\ \end{array} \right) \]
对角线上都是 \(detA\).
那么结果的非对角线元素等于什么呢?
某一行乘以其他行的代数余子式,结果为0.
某一行乘以其他行的代数余子式,我们还是可以看作一个行列式,结果为0,表示可能这个行列式的其中两行相等。
以 \(2*2\) 矩阵为例
利用行列式的代数余子式求解
\[{\left| \begin{array}{cc} a & b \\ c & d \\ \end{array} \right|}=ad+b(-c) \]
如果第一行乘以第二行的代数余子式,则行列式等于:
\[a(-b)+b(a)=0 \]
这种情况和计算矩阵行列式有两行相等的情况一样,即
\[{\left| \begin{array}{cc} a & b \\ a & b \\ \end{array} \right|}=a(b)+b(-a)=0 \]
这种情况同样适用在 \(n*n\) 矩阵。
\(A\) 的第一行,乘以最后一行的代数余子式,相当于求一个特殊矩阵的行列式,特殊矩阵的第一行和最后一行相等。
所以除了对角线上的元素,其余都是零。
\[\left( \begin{array}{cccc} a_{11} & a_{12} & ... & a_{1 n} \\ a_{21} & ... & ... & ... \\ ... & ... & ... & ... \\ a_{\text{n1}} & ... & ... & a_{\text{nn}} \\ \end{array} \right) \left( \begin{array}{cccc} C_{11} & C_{21} & ... & C_{\text{n1}} \\ C_{12} & ... & ... & ... \\ ... & ... & ... & ... \\ C_{1 n} & ... & ... & C_{\text{nn}} \\ \end{array} \right)= \left( \begin{array}{cccc} \text{detA} & 0 & ... & 0\\ 0 & \text{detA} & ... & 0 \\ ... & ... & ... & ... \\ 0 & 0 & ... & \text{detA} \\ \end{array} \right) \]
证得左边等于右边。
克莱姆法则
克莱姆法则是线代中一个关于求解线性方程组的定理。
假设 \(Ax=b\) ,则我们可以得到方程组的解
\[x=A^{-1}x=\frac{1}{detA}C^{T}b \]
其中,\(C^{T}b\) 是矩阵 \(A\) 的元素的代数余子式构成的矩阵,而 \(b\) 是一个向量,我们也可以把她们看成一个行列式,记为 \(detB\) .\(B\) 表示这个行列式的原矩阵。
\[x=\frac{detB}{detA} \]
克莱姆发现 \(x\) 的每个分量可以写为:
\[x_i=\frac{detB_i}{detA} \]
并且发现了 矩阵 \(B_i\) 的规律:
\(B_1\) 就是矩阵 \(A\) 的第一列用向量 \(b\) 代替;
\(B_2\) 就是矩阵 \(A\) 的第二列用向量 \(b\) 代替;
...
\(B_i\) 就是矩阵 \(A\) 的第 \(i\) 列用向量 \(b\) 代替。
以 \(B_1\) 为例说明
\[B_1=\left( \begin{array}{cccc} b_1 & a_{12} & \square & a_{1 n} \\ b_2 & a_{22} & \square & a_{2 n} \\ \square & \square & \square & \square \\ b_n & a_{\text{n2}} & \square & a_{\text{nn}} \\ \end{array} \right) \]
求 \(B_1\) 的行列式,利用代数余子式公式,在第一行展开
\[|B_1|=C_{11}b_1+C_{21}b_2+C_{31}b_3+...++C_{n1}b_n \]
可以看出,这其实就是 \(C^{T}b\) 的一部分。
\(C\) 是比原来小一阶的行列式,所以 \(C\) 包含矩阵 \(A\) 的 \(n-1\) 阶元素。
这就是克莱姆法则。
注意,同逆矩阵公式一样,不建议使用她计算,如果要用这个计算方程组的解,我们就需要计算 \(n\) 个\(detB\) ,非常麻烦。
克莱姆法则的价值在于她给出了求解线性方程组的代数表达式,而不只是能进行数值运算。
体积
这个课题是通过行列式求体积。
命题是:行列式的绝对值等于一个箱子的体积。
先看 \(3*3\) 情况

矩阵的第一行对应三维空间中一个向量,她是箱子的第一条边,矩阵的第二行对应箱子的第二条边,矩阵的第三行对应箱子的第三条边。
得到箱子的三条边,就能得到整个箱子的形状——平行六面体。
箱子由三条边固定。每个面都是平行四边形。
箱子的体积等于行列式的绝对值。因为行列式有可能是负数。
\[V_{box}=|detA| \]
证明
行列式的三性质定义了行列式,所以我们证明箱子具有三性质,那么箱子就一定等于行列式,这是很巧妙的间接证明方法。
- 性质1是讲单位阵的。假设矩阵 \(A\) 是单位阵,则箱子是一个单位立方体。我们可以先证明单位立方体的体积等于行列式的绝对值。
单位矩阵的行列式值为1,单位立方体的值也为1,假设成立,证明性子具备性质1。
如果矩阵 \(A\) 是正交矩阵\(Q\) ,她的各列都是标准正交向量。 矩阵 \(Q\) 构成的箱子,与单位阵不同在于,箱子在空间被旋转了。怎么证明 \(|Q|=±1\)
\(Q\) 具有以下性质
\[Q^TQ=I \]
两边同时取行列式
\[\begin {align} &det(Q^TQ)=1\\ 性质9\rightarrow&|Q^T||Q|=1\\ 性质10\rightarrow&|Q|^2=1 \end {align} \]
故 \(|Q|=±1\) 。
性质1成立。
-
对于性质2是关于符号的,交换2行,很显然箱子的体积没有发生改变,我们不关心性质2。
-
那么长方体呢?
长方体的情况其实就是行乘以标量。
如果一行翻倍,体积也会翻倍。根据行列式的性质3a,可以把一行的公因数提出来,所以行列式也翻倍。
因此箱子的体积也满足行列式的性质3a。
那么性质3b呢
\[\left| \begin{array}{cc} a+a^{'} & b+b^{'} \\ c & d \\ \end{array} \right|= \left| \begin{array}{cc} a & b \\ c & d \\ \end{array} \right|+ \left| \begin{array}{cc} a^{'} & b^{'} \\ c & d \\ \end{array} \right| \]
我们的目标是要求体积,但对于 \(2*2\) 情况,等于求面积

求平行四边形的面积,在以前就是底乘以高,但是我们就需要去计算底和高分别是多少,计算过程中可能有根号,比较麻烦。
对于 \(2*2\) 情况,平行四边形的面积等于对应矩阵的行列式的值。
\[area \quad of \quad parallelogram={\left| \begin{array}{cc} a & b \\ c & d \\ \end{array} \right|}=ad-bc \]
我们利用坐标值,就能通过行列式求出体积和面积。
三角形的面积是平行四边形面积的一半。

公式为
\[area \quad of \quad triangle =\frac{1}{2}(ad-bc) \]
再看三角形另一种情况,如果三角形的顶点不在原点上怎么办?

这个问题其实是让三角形面积公式一般化
\[area \quad of \quad triangle =\frac{1}{2} \left| \begin{array}{ccc} x_1 & y_1 & 1 \\ x_2 & y_2 & 1 \\ x_3 & y_3 & 1 \\ \end{array} \right| \]