线性代数系列(十二)--行列式
主要内容行列式的性质行列式的求解公式代数余子式正文行列式是线性代数中非常重要的一部分,如果我们企图使用一个数字来描述矩阵的所有信息,那这个数字就是行列式,此外行列式跟特征值的关系非常密切。因此行列式与特征值是线性代数的另一大重点。行列式的性质对于矩阵AAA,我们将它的行列式表示为det(A)=∣A∣det(A)=|A|det(A)=∣A∣。性质一: det(I)=1det(I)...
主要内容
- 行列式的性质
- 行列式的求解公式
- 代数余子式
- 逆矩阵公式
- 克拉默法则
- 体积
正文
行列式是线性代数中非常重要的一部分,如果我们企图使用一个数字来描述矩阵的所有信息,那这个数字就是行列式,此外行列式跟特征值的关系非常密切。因此行列式与特征值是线性代数的另一大重点。
行列式的性质
对于矩阵
A
A
A,我们将它的行列式表示为
d
e
t
(
A
)
=
∣
A
∣
det(A)=|A|
det(A)=∣A∣。
性质一:
d
e
t
(
I
)
=
1
det(I)=1
det(I)=1
性质二: 交换矩阵的行,行列式的符号发生变化。由此我们得出的结论是:
d
e
t
(
P
)
=
1
o
r
−
1
det(P)=1\ or\ -1
det(P)=1 or −1 性质三: 称为单行的线性性。仅当作用于单行时,才会成立,作用于多行时不成立。
∣
t
a
t
b
c
d
∣
=
t
∣
a
b
c
d
∣
\begin{vmatrix}ta&tb\\c&d\end{vmatrix}=t\begin{vmatrix}a&b\\c&d\end{vmatrix}
∣∣∣∣tactbd∣∣∣∣=t∣∣∣∣acbd∣∣∣∣
∣
a
+
a
1
b
+
b
1
c
d
∣
=
∣
a
b
c
d
∣
+
∣
a
1
b
1
c
d
∣
\begin{vmatrix}a+a_1&b+b_1\\c&d\end{vmatrix}=\begin{vmatrix}a&b\\c&d\end{vmatrix}+\begin{vmatrix}a_1&b_1\\c&d\end{vmatrix}
∣∣∣∣a+a1cb+b1d∣∣∣∣=∣∣∣∣acbd∣∣∣∣+∣∣∣∣a1cb1d∣∣∣∣ 性质四: 行列式中有两行相等时,行列式为零,非常简单,这里不做证明了。
性质五: 行列式的第
k
k
k行减去
l
l
l倍的第
i
i
i行,行列式保持不变。看下面的这个例子:
∣
a
b
c
−
l
a
d
−
l
a
∣
=
∣
a
b
c
d
∣
−
l
∣
a
b
a
b
∣
\begin{vmatrix}a&b\\c-la&d-la\end{vmatrix}=\begin{vmatrix}a&b\\c&d\end{vmatrix}-l\begin{vmatrix}a&b\\a&b\end{vmatrix}
∣∣∣∣ac−labd−la∣∣∣∣=∣∣∣∣acbd∣∣∣∣−l∣∣∣∣aabb∣∣∣∣ 显然后面的
∣
a
b
a
b
∣
\begin{vmatrix}a&b\\a&b\end{vmatrix}
∣∣∣∣aabb∣∣∣∣为零,所以行列式保持不变。
性质六: 如果行列式存在一行全为零,行列式为零。这里不做证明。
性质七: 上三角矩阵的行列式等于对角线的乘积。例如:
d
e
t
(
U
)
=
∣
d
1
∗
∗
∗
.
.
.
.
d
2
∗
∗
.
.
.
.
:
:
.
.
.
.
d
n
∣
det(U)=\begin{vmatrix}d_1&*&*&*....\\&d_2&*&*....\\&&:&:....\\&&&d_n\end{vmatrix}
det(U)=∣∣∣∣∣∣∣∣d1∗d2∗∗:∗....∗....:....dn∣∣∣∣∣∣∣∣我们可以通过性质五,依次消元得到
d
e
t
(
U
)
=
∣
d
1
d
2
:
d
n
∣
det(U)=\begin{vmatrix}d_1&&&\\&d_2&&\\&&:&\\&&&d_n\end{vmatrix}
det(U)=∣∣∣∣∣∣∣∣d1d2:dn∣∣∣∣∣∣∣∣通过性质三提取每行的公因式,就可以得到
d
e
t
(
U
)
=
d
1
d
2
.
.
.
d
n
∣
1
1
:
1
∣
=
d
1
d
2
.
.
.
d
n
det(U)=d_1d_2...d_n\begin{vmatrix}1&&&\\&1&&\\&&:&\\&&&1\end{vmatrix}=d_1d_2...d_n
det(U)=d1d2...dn∣∣∣∣∣∣∣∣11:1∣∣∣∣∣∣∣∣=d1d2...dn 性质八: 矩阵的行列式为
0
0
0,矩阵是奇异矩阵,并且不可逆。该性质提供了矩阵可逆的行列式判断方法。
性质九:
d
e
t
(
A
B
)
=
d
e
t
(
A
)
d
e
t
(
B
)
det(AB)=det(A)det(B)
det(AB)=det(A)det(B)。由此我们可以得出几个特殊的结论,比如:
d
e
t
(
A
−
1
A
)
=
d
e
t
(
A
−
1
)
d
e
t
(
A
)
=
d
e
t
(
I
)
=
1
=
>
d
e
t
(
A
−
1
)
=
1
d
e
t
(
A
)
det(A^{-1}A)=det(A^{-1})det(A)=det(I)=1\qquad=>\qquad det(A^{-1})=\frac{1}{det(A)}
det(A−1A)=det(A−1)det(A)=det(I)=1=>det(A−1)=det(A)1
d
e
t
(
A
2
)
=
d
e
t
(
A
)
2
det(A^2)=det(A)^2
det(A2)=det(A)2
d
e
t
(
2
A
)
=
2
n
d
e
t
(
A
)
det(2A)=2^ndet(A)
det(2A)=2ndet(A) 最后一个式子比较难理解,我们可以说明一下。
2
A
2A
2A表示
A
A
A中的每一行都乘了
2
2
2,然而在行列式中,提取的时候只能单行提取。因为
A
A
A是一个
n
×
n
n\times n
n×n的矩阵,所以需要提取
n
n
n个
2
2
2,最后得到
2
n
2^n
2n。
性质十:
d
e
t
(
A
T
)
=
d
e
t
(
A
)
det(A^T)=det(A)
det(AT)=det(A)。
实际上,行列式的基本性质有三个,就是前三个,后面的这些性质都是根据经验,使用前三个性质推导出来的。
行列式的求解公式
这个求解公式是根据定义来的,是一个非常复杂的公式,它非常大,因而又被称为大公式,实用性很差,但是它揭示了本质,我们仍然要了解它,但不必费太多的精力。对于矩阵 A A A: d e t ( A ) = ∑ n ! + / − a 1 α a 2 β a 3 γ . . . a n ω , ( α , β , γ , . . . . . ω ) = a l l o r d e r o f ( 1 n ) det(A)=\sum_{n!}+/-a_{1\alpha}a_{2\beta}a_{3\gamma}...a_{n\omega},(\alpha,\beta,\gamma,.....\omega)=all\ order\ of(1~n) det(A)=n!∑+/−a1αa2βa3γ...anω,(α,β,γ,.....ω)=all order of(1 n) 前面的正负号表示符号是待定的。关于这个公式的更多介绍可以查阅别的资料,根据它的实际效用,这里不做过多的介绍。
代数余子式
对于 A n × n A_{n\times n} An×n的行列式,当我们选定一行的元素时,剩余的元素只能在剩余的 n − 1 n-1 n−1行、 n − 1 n-1 n−1列中取,这些剩余的元素组成的公式就称为已选定元素的代数余子式。比如 A 3 × 3 A_{3\times 3} A3×3: A = ∣ a 11 a 12 a 13 a 21 a 22 a 23 a 31 a 32 a 33 ∣ A=\begin{vmatrix}a_{11}&a_{12}&a_{13}\\a_{21}&a_{22}&a_{23}\\a_{31}&a_{32}&a_{33}\end{vmatrix} A=∣∣∣∣∣∣a11a21a31a12a22a32a13a23a33∣∣∣∣∣∣ d e t ( A ) = a 11 ( a 22 a 33 − a 23 a 32 ) + a 12 ( − a 21 a 33 + a 23 a 31 ) + a 13 ( a 21 a 32 − a 22 a 31 ) det(A)=a_{11}(a_{22}a_{33}-a_{23}a_{32})+a_{12}(-a_{21}a_{33}+a_{23}a_{31})+a_{13}(a_{21}a_{32}-a_{22}a_{31}) det(A)=a11(a22a33−a23a32)+a12(−a21a33+a23a31)+a13(a21a32−a22a31)在这个式子中, ( a 22 a 33 − a 23 a 32 ) (a_{22}a_{33}-a_{23}a_{32}) (a22a33−a23a32)就是 a 11 a_{11} a11的代数余子式。
一般地, a i j a_{ij} aij的代数余子式可以表示为: c o f a c t o r ( a i j ) = C i j = ( − 1 ) i + j d e t ( m a t r i x ( n − 1 ) w i t h o u t r o w i a n d c o l j ) cofactor(a_{ij})=C_{ij}=(-1)^{i+j}det(matrix(n-1)\ without\ rowi\ and\ colj) cofactor(aij)=Cij=(−1)i+jdet(matrix(n−1) without rowi and colj)我们已经注意到,上面例子中 a 12 a_{12} a12的代数余子式与其他的不同,这就是代数余子式的符号问题,它是有下标之和决定的。当我们不考虑符号的时候,也就是 A i j = d e t ( m a t r i x ( n − 1 ) w i t h o u t r o w i a n d c o l j ) A_{ij}=det(matrix(n-1)\ without\ rowi\ and\ colj) Aij=det(matrix(n−1) without rowi and colj)这个不包括符号的式子称为余子式。
使用代数余子式求解行列式: 这里先列出公式,然后再分析。 d e t ( A ) = a i 1 C i 1 + a i 2 C i 2 + . . . + a i n C i n det(A)=a_{i1}C_{i1}+a_{i2}C_{i2}+...+a_{in}C_{in} det(A)=ai1Ci1+ai2Ci2+...+ainCin这个公式表示行列式按第 i i i行展开的代数余子式表示。代数余子式的基本思想就是:将 n n n阶行列式按某行展开,然后再将 n − 1 n-1 n−1阶行列式按某行展开,依次展开下去,直到 1 1 1阶,也就是一个数。实际上,展开的过程并不一定是每行的所有元素都得计算,我们一般找含有零最多的行展开,这样展开得到的项会最少。有的时候,我们可以通过变换操作得到含有零比较多的行,然后,按此行展开。
一个特殊的例子: A 4 = ∣ 1 1 0 0 1 1 1 0 0 1 1 1 0 0 1 1 ∣ A_4=\begin{vmatrix}1&1&0&0\\1&1&1&0\\0&1&1&1\\0&0&1&1\end{vmatrix} A4=∣∣∣∣∣∣∣∣1100111001110011∣∣∣∣∣∣∣∣可以将这个矩阵称为 3 3 3对角线矩阵。从左上角依次往下数,我们可以得到 ∣ A 1 ∣ = 1 , ∣ A 2 ∣ = 0 , ∣ A 3 ∣ = − 1 , ∣ A 4 ∣ = − 1 |A_1|=1,|A_2|=0,|A_3|=-1,|A_4|=-1 ∣A1∣=1,∣A2∣=0,∣A3∣=−1,∣A4∣=−1,在求 ∣ A 4 ∣ |A_4| ∣A4∣的时候可以将它按第一行展开,如下前两个行列式,然后再将 3 3 3维行列式按第一行展开,如下后两个行列式。 ∣ 1 1 1 0 1 1 1 0 1 1 ∣ ∣ 1 1 1 0 0 1 1 0 1 1 ∣ ∣ 1 1 1 1 1 ∣ ∣ 1 0 1 0 1 ∣ \begin{vmatrix}1& & & \\ &1&1&0\\ &1&1&1\\ &0&1&1\end{vmatrix}\qquad\qquad \begin{vmatrix} &1& & \\1& &1&0\\0& &1&1\\0& &1&1\end{vmatrix}\qquad\qquad \begin{vmatrix}1& & \\ &1&1\\ &1&1\end{vmatrix}\qquad\qquad \begin{vmatrix} &1& \\0& &1\\0& &1\end{vmatrix} ∣∣∣∣∣∣∣∣1110111011∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣∣1001111011∣∣∣∣∣∣∣∣∣∣∣∣∣∣11111∣∣∣∣∣∣∣∣∣∣∣∣00111∣∣∣∣∣∣得到 ∣ A 4 = 1 ∣ A 3 ∣ − 1 ∣ A 2 ∣ − 1 × 0 = 1 ∣ A 3 ∣ − 1 ∣ A 2 ∣ |A_4=1|A_3|-1|A_2|-1\times 0=1|A_3|-1|A_2| ∣A4=1∣A3∣−1∣A2∣−1×0=1∣A3∣−1∣A2∣。实际上对于这种三对对角线矩阵,我们有这样的结论: ∣ A n ∣ = ∣ A n − 1 ∣ − ∣ A n − 2 ∣ |A_n|=|A_{n-1}|-|A_{n-2}| ∣An∣=∣An−1∣−∣An−2∣这个结论是对于所有的n都成立的。
关于行列式的计算方法是非常灵活的,消元和代数余子式共同使用,效率会更高。
逆矩阵公式
行列式也提供了计算逆矩阵的方法,但是实用性远不及高斯若尔当方法。所以这里只是简单的介绍一下,证明细节参考其他资料。 2 × 2 2\times 2 2×2的例子: [ a b c d ] − 1 = 1 a d − b c [ d − c − b a ] \begin{bmatrix}a&b\\c&d\end{bmatrix}^{-1}=\frac{1}{ad-bc}\begin{bmatrix}d&-c\\-b&a\end{bmatrix} [acbd]−1=ad−bc1[d−b−ca]从这个例子中,我们得到了一些启示, a d − b c = d e t ( A ) ad-bc=det(A) ad−bc=det(A),后面的矩阵是 A A A的伴随矩阵的转置,表示每个位置上的数是 A A A中相应位置上的代数余子式。所以,我们可以得到这样的公式: A − 1 = 1 d e t ( A ) C T A^{-1}=\frac{1}{det(A)}C^T A−1=det(A)1CT这个公式是正确的,经过严格证明的,这里就不给出证明了。
克拉默法则
对于线性方程组 A x = b Ax=b Ax=b, x = A − 1 b x=A^{-1}b x=A−1b,带入上面的逆矩阵公式,得到解的形式: x = C T b d e t ( A ) x=\frac{C^Tb}{det(A)} x=det(A)CTb分母的意义是很明显的,但是分子的意义是比较模糊的。我们这里重点分析一点分子的意义: C T = [ c 11 c 21 c 31 . . . . c n 1 c 12 c 22 c 32 . . . . c n 2 : : : . . . . : c 1 n c 2 n c 3 n . . . . c 4 n ] [ b 1 b 2 b 3 : b n ] = [ d 1 d 2 d 3 : d n ] C^T=\begin{bmatrix}c_{11}&c_{21}&c_{31}....c_{n1}\\c_{12}&c_{22}&c_{32}....c_{n2}\\:&:&:....:\\c_{1n}&c_{2n}&c_{3n}....c_{4n}\end{bmatrix}\begin{bmatrix}b_1\\b_2\\b_3\\:\\b_n\end{bmatrix}=\begin{bmatrix}d_1\\d_2\\d_3\\:\\d_n\end{bmatrix} CT=⎣⎢⎢⎡c11c12:c1nc21c22:c2nc31....cn1c32....cn2:....:c3n....c4n⎦⎥⎥⎤⎣⎢⎢⎢⎢⎡b1b2b3:bn⎦⎥⎥⎥⎥⎤=⎣⎢⎢⎢⎢⎡d1d2d3:dn⎦⎥⎥⎥⎥⎤所以分量 x i = d i d e t ( A ) x_i=\frac{d_i}{det(A)} xi=det(A)di,那么再分析, d i d_i di是什么呢: d i = c 1 i b 1 + c 2 i b 2 + c 3 i b 3 + . . . + c n i b n d_i=c_{1i}b_1+c_{2i}b_2+c_{3i}b_3+...+c_{ni}b_n di=c1ib1+c2ib2+c3ib3+...+cnibn这个公式是比较显然的,因为 c i j c_{ij} cij都是伴随矩阵,这表示行列式按第 i i i列展开的代数余子式形式。这里的第 i i i列稍微有些不同,这里的第 i i i列是 b b b,而不是原矩阵中的那一列,所以我们可以将这个新的矩阵记为 B B B: B i = [ a 1 a 2 . . . b i . . . a n ] , i = 1 , 2 , 3... n B_i=\begin{bmatrix}a_1&a_2&...&b_i&...&a_n\end{bmatrix},i=1,2,3...n Bi=[a1a2...bi...an],i=1,2,3...n矩阵 B B B,就是将原矩阵中的第 i i i列使用 b i b_i bi代替后得到的新矩阵,使用下标 i i i来区分替代的不同的列。于是 d i = d e t ( B i ) d_i=det(B_i) di=det(Bi),进而我们得到下面的公式: x i = d e t ( B i ) d e t ( A ) x_i=\frac{det(B_i) }{det(A)} xi=det(A)det(Bi) 这就是克拉默法则,这个法则的作用不在于计算,而在于它给出的启示,直观地,它给出了求解方程组的代数表达式,而不是矩阵的形式,但实际上,它在计算上的效率是非常低的。
体积
行列式的一个应用就是计算体积。让我们先从简单的例子看起: A = [ 1 0 0 0 1 0 0 0 1 ] A=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix} A=⎣⎡100010001⎦⎤这三个列向量表示三维空间中的三个标准正交基,几乎是最标准的了,没有经过旋转,并且它们的长度都为 1 1 1,根据体积公式可以得到体积为 1 1 1, d e t ( A ) = 1 det(A)=1 det(A)=1。行列式等于体积。
再看比较复杂的情况,不过这仍然是一个标准的立方体。我们看正交矩阵 Q Q Q。正交矩阵 Q Q Q中的列向量也都是标准正交基,它们相互垂直,并且长度为 1 1 1,所以可以表示边长为 1 1 1的立方体,不过,这些标准正交基不在空间的坐标轴上,而是在坐标轴上有分量。可以理解为上一种情况经过旋转得到的。正交矩阵具有特殊的性质: Q T Q = I Q^TQ=I QTQ=I 利用这个性质以及行列式的性质可以得: d e t ( Q T Q ) = d e t ( Q ) d e t ( Q ) = d e t ( I ) = 1 det(Q^TQ)=det(Q)det(Q)=det(I)=1 det(QTQ)=det(Q)det(Q)=det(I)=1,所以 d e t ( Q ) = 1 o r − 1 det(Q)=1\ or\ -1 det(Q)=1 or −1。这的符号表示几何图形是在左手系还是在右手系。
对于长方体的情况也是适用的。这个扩展是比较简单的,仅仅是向量的发生了倍数的变化,比较困难的是我们要拜托角度的限制,允许各边成任意角度
实际上,上面的第一种情况就是行列式的性质一,第二种情况是性质二,第三种情况(长方体)是性质三第一条,而扩展到一般情况就要使用到性质三的第二条。
参考课本资料,未完待续
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)