特殊矩阵行列式的计算
Computation of the Determinants of Special Matrices
DOI: 10.12677/AAM.2019.84082, PDF, HTML, XML, 下载: 1,321  浏览: 5,428 
作者: 丁瀛帆:北京工业大学自动化学院,北京
关键词: 矩阵行列式特征多项式Matrix Determinant Characteristic Polynomial
摘要: 矩阵和行列式在科学与工程中经常遇到。矩阵的特征多项式、特征值都需要计算其行列式。本文针对一些特殊矩阵,讨论其行列式的计算问题,包括特殊矩阵的特征多项式的计算。
Abstract: Matrix and determinant are often encountered in science and engineering. The characteristic polynomial and eigenvalues of a matrix require computing its determinant. Aiming at some special matrices, this paper discusses the calculation problems of some determinants, including the characteristic polynomials of some special matrices.
文章引用:丁瀛帆. 特殊矩阵行列式的计算[J]. 应用数学进展, 2019, 8(4): 716-730. https://doi.org/10.12677/AAM.2019.84082

1. 引言

矩阵、行列式、特征值、特征多项式是线性代数和矩阵论中的基本内容。矩阵特征多项式与特征值的计算与矩阵的行列式密切相关。友矩阵是一类特殊矩阵,在现代控制理论中经常用到,友矩阵中的非零元与其特征值多项式的系数有一一对应关系。友矩阵有四种基本类型,最近文献 [1] 讨论了友矩阵间的变换关系,文献 [2] 研究了特殊矩阵的矩阵指数的计算方法。严坤妹讨论了一类矩阵特征值多项式的计算问题 [3] 。冯纯伯研究了矩阵多项式特征值的计算 [4] 。

本文章侧重于讨论特殊矩阵的行列式计算以及特殊矩阵的特征多项式的求法。使用不同技巧和方法,从不同的角度进行分析,合理地利用行列式的运算性质以及特殊的求解方法,比如归纳法等,从而对一些特殊的行列式的求解方法进行探究与比较,还包含从求解方法当中提炼出来的引申与思考。

2. 计算友矩阵特征多项式和行列式

在现代控制理论中,友矩阵(companion matrix)在传递函数的状态空间规范型实现中非常有用,其特征多项式的计算非常重要。友矩阵有四种形式。n阶友矩阵具有下列形式:

A n = ( a 1 a 2 a n 1 a n 1 0 0 0 0 1 0 0 0 0 1 0 )

它的转置矩阵也是友矩阵,沿斜对角线转置矩阵也是友矩阵。这四个友矩阵具有相同的特征值多项式。

I n 是n阶单位阵。友矩阵的特征值多项式

f n ( s ) : = | s I n A n | = | s + a 1 a 2 a n 1 a n 1 s 0 0 0 1 0 0 0 0 1 s |

展开之后得到关于s的n次多项式。采用归纳法,先计算 n = 1 时的特征值多项式 f 1 ( s ) = s + a 1 ;当 n = 2 时的特征值多项式为

f 2 ( s ) = | s + a 1 a 2 1 s | = s f 1 ( s ) + a 2 = s ( s + a 1 ) + a 2

展开时先从右下角的s开始展开,然后向左上方推移得到

f 3 ( s ) = | s + a 1 a 2 a 3 1 s 0 0 1 s | = s f 2 ( s ) ( 1 ) | s + a 1 a 3 1 0 | = s f 2 ( s ) + a 3

f 4 ( s ) = | s + a 1 a 2 a 3 a 4 1 s 0 0 0 1 s 0 0 0 1 s | = s f 3 ( s ) ( 1 ) | s + a 1 a 2 a 4 1 s 0 0 1 0 | = s f 3 ( s ) + | s + a 1 a 4 1 0 | = s f 3 ( s ) + a 4

由此猜测: f 5 ( s ) = s f 4 ( s ) + a 5 , , f n ( s ) = s f n 1 ( s ) + a n ,代入化简得到

f 1 ( s ) = s + a 1 f 2 ( s ) = s ( s + a 1 ) + a 2 = s 2 + s a 1 + a 2 f 3 ( s ) = s ( s 2 + s a 1 + a 2 ) + a 3 = s 3 + s 2 a 1 + s a 2 + a 3 f 4 ( s ) = s ( s 3 + s 2 a 1 + s a 2 + a 3 ) + a 4 = s 4 + s 3 a 1 + s 2 a 2 + s a 3 + a 4 f n ( s ) = s n + s n 1 a 1 + s n 2 a 2 + s n 3 a 3 + + a n = s n + i = 1 n s n i a i

下面加以证明:当 n = 1 时, f 1 ( s ) = s + a 1

f n + 1 ( s ) = s f n ( s ) + ( 1 ) ( 1 ) 2 n + 1 | s + a 1 a 2 a n 2 a n 1 a n + 1 1 s 0 0 0 0 0 1 s 0 0 0 0 1 0 | = s f n ( s ) + ( 1 ) ( 1 ) 2 n 1 | s + a 1 a 2 a n 3 a n 2 a n + 1 1 s 0 0 0 0 0 1 s 0 0 0 0 1 0 |

由于每一个行列式中元素−1所在位置的行数与列数之和为奇数,且该行其他元素的值均为0,因此只需要一步步地去算它的代数余子式即可。最后

f n + 1 ( s ) = s f n ( s ) + | s + a 1 a n + 1 1 0 | = s f n ( s ) + a n + 1 = s ( s n + i = 1 n a i s n i ) + a n + 1 = s n + 1 + i = 1 n + 1 a i s n + 1 i

得证。

归纳有从k到 k + 1 的归纳,有时还需要隔项进行归纳,比如从k到 k + 2 进行归纳。这时往往需要进行奇偶分析,因为奇数和偶数在化简时可能出现不同的递推公式。下面的两个例子,都是从k到 k + 2 项进行归纳。

3. 计算十字叉形壹矩阵的特征多项式

n阶十字叉形壹矩阵具有下列形式:

A n = ( 1 1 1 1 1 1 1 1 ) n × n (未写出部分的值均为0),

A n 的特征多项式为

f n ( s ) = | s I n A n | = | s 1 1 s 1 1 1 s 1 1 s 1 |

其中 f 1 ( s ) = s 1 f 2 ( s ) = | s 1 1 1 s 1 | = ( s 1 ) 2 1 = s 2 2 s

此行列式 f n ( s ) 的对称性比较好,应该首先寻找关于 f n ( s ) 的递推公式。由于此n阶行列式和居中的 n 2 阶行列式的结构非常相似,所以更倾向于去寻找 f n ( s ) f n 2 ( s ) 的递推关系。因为 f 1 ( s ) f 2 ( s ) 均为已知,这样就能够得到递推关系式。当n的奇偶性不同时,行列式最中心的结构不同,所以需要分奇偶进行讨论。

① 当n为奇数时,

f n ( s ) = ( s 1 ) | s 1 1 0 1 s 1 0 0 0 s 1 | + ( 1 ) | 0 0 1 s 1 1 0 1 s 1 0 | = ( s 1 ) 2 f n 2 ( s ) + ( 1 ) ( 1 ) ( 1 ) n f n 2 ( s ) = ( s 2 2 s ) f n 2 (s)

② 当n为偶数时,

f n ( s ) = ( s 1 ) | s 1 1 0 1 s 1 0 0 0 s 1 | ( 1 ) | 0 0 1 s 1 1 0 1 s 1 0 | = ( s 1 ) 2 f n 2 ( s ) ( 1 ) ( 1 ) ( 1 ) n f n 2 ( s ) = ( s 2 2 s ) f n 2 (s)

所以当 n 3 时,有 f n ( s ) = ( s 2 2 s ) f n 2 ( s ) ,又因为 f 1 ( s ) = s 1 f 2 ( s ) = s 2 2 s ,所以当n为奇数时, f n ( s ) = ( s 1 ) ( s 2 2 s ) n 1 2 ;当n为偶数时, f n ( s ) = ( s 2 2 s ) n 2 。所以

f n ( s ) = { ( s 1 ) ( s 2 2 s ) n 1 2 , n ( s 2 2 s ) n 2 , n

对于呈中心对称型的行列式,也有其特殊的简化算法。

4. 计算块单位阵的特征值多项式

2n阶块单位阵 A 2 n = [ I n I n I n I n ] 2 n × 2 n 的特征多项式为

f 2 n ( s ) : = | s I 2 n A 2 n | = | s 1 1 s 1 1 1 s 1 1 s 1 |

n = 1 时, f 2 ( s ) = | s 1 1 1 s 1 | = s ( s 2 ) 。注意到此行列式为中心对称行列式,可以进行操作: r 1 + r 2 n r 2 + r 2 n 1 r n + r n + 1 ( r i 表示第i行),即把最后一行的值加到第1行上,把倒数第2行的值加到第2行上,依次类推,一直加到最中间的那两行。但此时也需要对n进行奇偶讨论。

① 当n为奇数时,

f 2 n ( s ) = | s 1 1 1 s 1 s 2 s 2 1 s 1 s 1 1 1 s 1 1 s 1 1 s 1 |

② 当n为偶数时,

f 2 n ( s ) = | s 1 1 1 s 1 s 1 1 1 s 1 1 s 1 s 1 1 1 s 1 s 1 1 I n ( s 1 ) I n |

但无论n为奇数还是偶数,对于整个行列式的每一列的上半列来说,都有 c 1 = c 2 n c 2 = c 2 n 1 c n = c n + 1 ( c i 表示第i列)。此时可对此行列式进行如下变换: c 2 n c 1 c 2 n 1 c 2 c n + 1 c n 。这样整个行列式右上角的所有元均为零了,然后再利用行列式的计算性质进行化简。

① 当n为奇数时,

f 2 n ( s ) = | s 1 1 s 2 0 1 s 1 1 s 1 1 1 s 1 1 s 1 | = | s 1 1 s 2 1 s 1 | | s 1 1 s 1 s 1 |

这时可以利用上一例题结论,分别去寻找这两个行列式的n阶与其对应的 n 2 阶行列式的关系进行求解,最终发现,无论是左边还是右边的行列式,都满足关系式: g n ( s ) = ( s 2 2 s ) g n 2 ( s ) 。这种方法和结论在n为偶数时同样也适用。所以当n为奇数时,有

f n ( s ) = ( s 2 ) ( s 2 2 s ) n 1 2 s ( s 2 2 s ) n 1 2 = ( s 2 2 s ) n

② 当n为偶数时,

f 2 n ( s ) = | s 1 1 s 1 1 0 1 s 1 1 s 1 1 s 1 1 1 s 1 1 1 1 s 1 1 1 s 1 | = | s 1 1 s 1 1 1 s 1 1 s 1 | | s 1 1 s 1 1 1 s 1 1 s 1 | = ( s 2 2 s ) ( s 2 2 s ) n 2 2 ( s 2 2 s ) ( s 2 2 s ) n 2 2 = ( s 2 2 s ) n

所以矩阵 A 的特征值多项式为 f n ( s ) = ( s 2 2 s ) n

以上是对归纳法的一些分析,下面是一些对不同型行列式计算的特殊方法的举例。

对于每一行(列)的和都相同的行列式,可以把每一行(列)的和全部都加到第一行(列)上,然后将这一行(列)的公因式进行提取,从而简化行列式的计算。

5. 计算壹矩阵的特征值多项式

n阶壹矩阵具有下列形式:

A = ( 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ) n × n

壹矩阵的特征多项式为

把每一列的值全部加到第1列上,即 c 1 + c 2 c 1 + c 3 c 1 + c n

f n ( s ) = | s n 1 1 1 s n s 1 1 1 s n 1 s 1 1 s n 1 1 s 1 | = ( s n ) | 1 1 1 1 1 s 1 1 1 1 1 s 1 1 1 1 1 s 1 |

再把每1列加到其它列上,即 c 2 + c 1 c 3 + c 1 c n + c 1

f n ( s ) = ( s n ) | 1 0 0 0 1 s 0 0 1 0 s 0 1 0 0 s | = ( s n ) s n 1

如果行列式的上三角和下三角的值不相同,那么这种方法就不适用了。对于这样的问题,需要先对行列式进行变形,然后才能利用原来的模型进行归纳或化简。

6. 计算斜对称矩阵的行列式

计算下列n阶斜对称矩阵的行列式( b c ) [5] :

A n = | a b b b c a b b c c a b c c c a | n × n

从第n行开始,将此行列式的每一行减去前一行,直到第一行,即 r n r n 1 r n 1 r n 2 r 3 r 2 r 2 r 1

A n = | a b b b b c a b b b c c a b b c c c a b c c c c a | r _ _ | a b b b b c a a b 0 0 0 0 c a a b 0 0 0 0 0 a b 0 0 0 0 c a a b | = a ( a b ) n 1 + ( a c ) b | 1 1 1 1 1 c a a b 0 0 0 0 c a a b 0 0 0 0 0 a b 0 0 0 0 c a a b |

令上述等式中的行列式的值为 x n 1 ,代入上式于是有 x n = a ( a b ) n 1 + b ( a c ) x n 1 ,这样就把原来的问题转化为去求解一个新行列式的值的问题,与前面介绍的友矩阵的形式类似。

将此行列式按第一列进行展开,不难得到关于的递推公式

x n 1 = ( a b ) n 2 + ( a c ) x n 2

这样可以通过归纳来写出的表达式,进而求出 x n ,从而得到行列式的值。

x 1 = 1 , x 2 = ( a b ) + ( a c ) , x 3 = ( a b ) 2 + ( a b ) ( a c ) + ( a c ) 2 , x 4 = ( a b ) 3 + ( a b ) 2 ( a c ) + ( a b ) ( a c ) 2 + ( a c ) 3 ,

通过归纳,不难得到

x n 1 = ( a b ) n 2 + ( a b ) n 3 ( a c ) + + ( a b ) ( a c ) n 3 + ( a c ) n 2 = ( a b ) n 1 ( a c ) n 1 ( a b ) ( a c ) = ( a b ) n 1 ( a c ) n 1 c b

x n = a ( a b ) n 1 + b ( a c ) ( a b ) n 1 ( a c ) n 1 c b = a ( c b ) ( a b ) n 1 + b ( a c ) ( a b ) n 1 b ( a c ) n c b = c ( a b ) n b ( a c ) n c b

7. 计算对称矩阵的行列式

1) 计算n阶行列式 [5] :

D n = | 1 + a 1 1 1 1 1 + a 2 1 1 1 1 + a n | ,其中 a 1 a 2 a n 0

2) F n = | 1 + a 1 a 1 a 1 a 2 1 + a 2 a 2 a n a n 1 + a n |

行列式有一条加法的性质,即行列式的某一行是两组数的和,则这个行列式等于两个行列式的和。这两个行列式分别以其中某一组数作为该行,而其它行均与原行列式相同。如果用算式表达,即

| a 11 a 12 a 1 n b 1 + c 1 b 2 + c 2 b n + c n a n 1 a n 2 a n n | = | a 11 a 12 a 1 n b 1 b 2 b n a n 1 a n 2 a n n | + | a 11 a 12 a 1 n c 1 c 2 c n a n 1 a n 2 a n n |

在解决问题时,很多行列式不只有一行的形式较为复杂,可以多次运用此公式来进行化简。如果行列式的每一行都有一些元素是多项之和时,那么此时可以用上述公式n次,让这个较复杂的行列式的每一行都利用上述公式进行展开。每利用公式展开一次,行列式的个数就会比原来多一倍。经过n次展开后,会得到 2 n 个形式较为简单的子行列式。

对于(1),不妨设 A = ( 1 1 1 1 1 1 1 1 1 ) B = ( a 1 a 2 a n ) ,则 D n = | A + B | 。等价于求一个所有元素全是1的矩阵和一个对角阵的和矩阵的行列式。

如果从横向的角度去分析,从第一行开始拆成两个行列式,一直到最后一行,不仅工作量大,而且不好找出规律。因此我们可以从纵向的角度去分析,也就是从按照上述公式拆完之后的 2 n 个行列式的性质进行分析。

也就是说从 A 的第一列或者从 B 的第一列当中任取一列,当做子行列式的第一列;从 A 的第二列或者从 B 的第二列当中任取一列,当做子行列式的第二列……一直到第n列为止。对于子行列式当中的每一列都有2种取法,所以最后会有 2 n 种形式不同的子行列式,也刚好符合最初的判断。但对于这 2 n 个子行列式,只要其中有大于等于两列来自于 A 中,那么这个子行列式的值为零,剩下值不为零的子行列式要么只有一列来自 A ,或者全来自于 B 。从而使问题大大简化。因此有

D n = ( a 2 a 3 a n + a 1 a 3 a 4 a n + a 1 a 2 a 4 a 5 a n + + a 1 a 2 a n 1 ) + a 1 a 2 a n = a 1 a 2 a n ( 1 a 1 + 1 a 2 + + 1 a n + 1 ) = a 1 a 2 a n ( 1 + i = 1 n 1 a i )

基于上述分析与(1)的结果,问题(2)就易于求解了。不妨设

A = ( 1 1 1 ) B = ( a 1 a 1 a 1 a 2 a 2 a 2 a n a n a n )

F n = | A + B | 。同样对于展开之后的 2 n 个子行列式来说,其中值不为零的行列式只包含两种情况:

① 子行列式中的每一列均来自于 A

② 子行列式中有且只有一列来自于 B

只有单位阵的行列式满足于第①种情况。现将第②种情况的子行列式的求法做一般项分析。假设子行列式中来自于 B 的那一列是第i列,则

| 1 a 1 1 a 2 0 a i a n 1 | c 1 c i _ _ | a 1 1 a 2 1 a i 0 a n 1 | r 1 r i _ _ | a i a 2 1 a 1 1 a n 1 | = a i

所以所有满足于第二种情况的行列式之和为 a 1 + a 2 + a 3 + + a n ,因此有

F n = 1 + a 1 + a 2 + + a n

8. 计算带状矩阵的行列式

还有一类特殊的行列式叫做带状行列式,下面计算一个特殊的带状矩阵的行列式 [6] 。

1) 试证: | a + b a b 0 0 0 1 a + b a b 0 0 0 1 a + b 0 0 0 0 0 1 a + b | = a n + 1 b n + 1 a b ( a b )

证:可以用数学归纳法证明。

n = 1 时,原式 = a + b ;当 n = 2 时,原式 = a 2 + a b + b 2 ,等式均成立。

假设当 n = k 时等式成立;当 n = k + 1 时,

= ( a + b ) | a + b a b 0 0 0 1 a + b a b 0 0 0 1 a + b 0 0 0 0 0 1 a + b | | a b 0 0 0 0 1 a + b a b 0 0 0 1 a + b 0 0 0 0 0 1 a + b | = ( a + b ) a n + 1 b n + 1 a b a b a n b n a b = a n + 2 b n + 2 a b

所以当 n = k + 1 时,等式成立,证毕。

但对于一般形式的带状行列式,可能结果得到的式子就不会有这么好的对称性了,却很有研究价值。

2) 计算下列n阶带状矩阵的行列式:

X n = | a b 0 0 0 c a b 0 0 0 c a 0 0 0 0 0 a b 0 0 0 c a |

不难得到关于 X n 的三项递推关系式:,其中 X 1 = a X 2 = a 2 b c X n 实质上就是一个数列,对于这样的数列可以用特征方程去求解。

它的特征方程为 y 2 a y + b c = 0 ,设此方程的两个根为 y 1 y 2 ,有

y 1 = 1 2 a + 1 2 a 2 4 b c y 2 = 1 2 1 2 a 2 4 b c

对于 y 1 y 2 的取值,需要做以下三类讨论:

① 当 a 2 4 b c > 0 时, y 1 y 2 是两个不同的实根,则 X n = C 1 y 1 n + C 2 y 2 n ( C 1 C 2 为待定系数,它们的值取决于整个数列的前两项的值,即 X 1 X 2 的值,下同)。分别令 n = 1 和2,得到

{ C 1 y 1 + C 2 y 2 = X 1 C 1 y 1 2 + C 2 y 2 2 = X 2 ,解得 C 1 = X 2 X 1 y 2 y 1 ( y 1 y 2 ) C 2 = X 2 X 1 y 1 y 2 ( y 2 y 1 )

② 当 a 2 4 b c < 0 时, y 1 y 2 是两个相同的实根, y 1 = y 2 = 1 2 a ,则 X n = ( C 1 + C 2 n ) y 1 n 。代入初值有

{ ( C 1 + C 2 ) y 1 = X 1 ( C 1 + 2 C 2 ) y 1 2 = X 2 ,解得 C 1 = 2 X 1 y 1 X 2 y 1 2 C 2 = X 2 X 1 y 1 y 1 2

③ 当 a 2 4 b c < 0 时,和是两个不同的复根 r ( cos θ ± i sin θ ) ,则

X n = r n ( C 1 cos n θ + C 2 sin n θ )

这个问题我们不再继续对a,b,c的取值进行较为细致的分类讨论,此过程复杂而且繁琐,只要能够把一组具体的a,b,c的值所对应的行列式求解出来即可。

如果从归纳的角度来分析这个问题,得到的通项公式却是另一种结果。我们可以写出 X n 的前几项,再通过前几项归纳出 X n 的通项公式。

X 1 = a X 2 = a 2 b c X 3 = a 3 2 a b c X 4 = a 4 3 a 2 b c + b 2 c 2 X 5 = a 5 4 a 3 b c + 3 a 2 b 2 c 2

X 6 = a 6 5 a 4 b c + 6 a 2 b 2 c 2 b 3 c 3 X 7 = a 7 6 a 5 b c + 10 a 3 b 2 c 2 4 a b 3 c 3 X 8 = a 8 7 a 6 b c + 15 a 4 b 2 c 2 10 a 2 b 3 c 3 + b 4 c 4 X 9 =

由此归纳 X n = a n C n 1 1 a n 2 b c + C n 2 2 a n 4 b 2 c 2 C n 3 3 a n 6 b 3 c 3 + ,这个公式同样可以用数学归纳法进行证明,这里不再赘述。

通过以上两种方法均可以求出 X n 的表达式,但这两种表达式的形式却截然不同,那么这两种表达式之间是否存在一定的联系呢?

引申:如果把 X n 的每一项的系数的绝对值单独列出来,会组成一个这样的数表:

系数排布 每行求和

1 1

1 1 2

1 2 3

1 3 1 5

1 4 3 8

15 6 1 13

1 6 104 21

1 7 15101 34

1 8 21205 55

1 9 2835151 89

整个系数的排布就像是一个斜着的杨辉三角形,只不过杨辉三角形的每一横行在这里变成了一条由左上至右下的一条斜线了。而有意思的是每一行求和后组成的数列刚好都符合斐波那契数列的每一项。

此时不妨令 a = 1 b = 1 c = 1 ,这样 X n 当中的每一项 X i 的值刚好就等于对应的那一行(即第i行)的系数的绝对值之和,即 X 1 = 1 X 2 = 2 X 3 = 3 X 4 = 5 同样的还可以得到 X n = C n 0 + C n 1 1 + C n 2 2 + ,这都与斐波那契数列当中的某些项是对应的。

而从递推关系的角度来看,关于数列 X n 的递推公式为 X n = X n 1 + X n 2 ,也刚好符合斐波那契数列 X n 的递推公式,只不过数列的前两项与斐波那契数列不同,刚好错了一位。

不妨设斐波那契数列的通项公式为 A n ,那么不难得到

A n = X n 1 = C n 1 0 + C n 2 1 + C n 3 2 + ( n 2 )

n = 1 时, A n = C 0 0 = 1 ,刚好也满足于上述的通项公式。这便是斐波那契数列的通项公式的另一种表现形式: A n = C n 1 0 + C n 2 1 + C n 3 2 + ,有别于用特征方程所得到的通项公式

A n = 5 5 [ ( 1 + 5 2 ) n ( 1 5 2 ) n ]

但二者实际上是等价的。

这里不仅在于解决了一种特殊类型的行列式,更重要的是还通过对数列的归纳找到了杨辉三角,与斐波那契数列之间的潜在联系,并通过这种联系找到了斐波那契数列通项公式的另一种表示方法。

9. 计算范德蒙德矩阵的行列式

范德蒙德矩阵的行列式是计算其他矩阵行列式的基础,这里简单讨论。计算下列n阶范德蒙德矩阵的行列式:

x n = | 1 1 1 1 a 1 a 2 a 3 a n a 1 2 a 2 2 a 3 2 a n 2 a 1 n 1 a 2 n 1 a 3 n 1 a n n 1 |

从第n行开始,每一行减去前一行的 a 1 倍,即 r n a 1 r n 1 r n 1 a 1 r n 2 r 2 a 1 r 1 ,目的是将行列式的第一列的除了首个元素的其他元素的值全变为0。即

x n = | 1 1 1 1 1 0 a 2 a 1 a 3 a 1 a n 1 a 1 a n a 1 0 a 2 2 a 2 a 1 a 3 2 a 3 a 1 a n 1 2 a n 1 a 1 a n 2 a n a 1 0 a 2 n 2 a 2 n 3 a 1 a 3 n 2 a 3 n 3 a 1 a n 1 n 2 a n 1 n 3 a 1 a n n 2 a n n 3 a 1 0 a 2 n 1 a 2 n 2 a 1 a 3 n 1 a 3 n 2 a 1 a n 1 n 1 a n 1 n 2 a 1 a n n 1 a n n 2 a 1 |

然后把每一列的公因式提出来

x n = | a 2 a 1 a 3 a 1 a n 1 a 1 a n a 1 a 2 ( a 2 a 1 ) a 3 ( a 3 a 1 ) a n 1 ( a n 1 a 1 ) a n ( a n a 1 ) a 2 n 3 ( a 2 a 1 ) a 3 n 3 ( a 3 a 1 ) a n 1 n 3 ( a n 1 a 1 ) a n n 3 ( a n a 1 ) a 2 n 2 ( a 2 a 1 ) a 3 n 2 ( a 3 a 1 ) a n 1 n 2 ( a n 1 a 1 ) a n n 2 ( a n a 1 ) | = ( a 2 a 1 ) ( a 3 a 1 ) ( a n a 1 ) | 1 1 1 1 a 2 a 3 a n 1 a n a 2 n 3 a 3 n 3 a n 1 n 3 a n n 3 a 2 n 2 a 3 n 2 a n 1 n 2 a n n 2 |

上式当中的行列式就是 n 1 阶范德蒙德行列式,这就是它的递推关系式。继续展开,得到

x n = ( a 2 a 1 ) ( a 3 a 1 ) ( a n a 1 ) ( a 3 a 2 ) ( a 4 a 2 ) ( a n a 2 ) | 1 1 1 1 a 3 a 4 a n 1 a n a 3 n 4 a 4 n 4 a n 1 n 4 a n n 4 a 3 n 3 a 4 n 3 a n 1 n 3 a n n 3 |

继续进行展开,一直展开到最后只剩下一个二阶行列式,即 | 1 1 a 2 a 1 | = a 2 a 1 ,也就是范德蒙德行列式可以分解成若干项的乘积的形式,只需从原始的行列式中的第二行任意选出两个数作差(这两个数当中靠右的那个数减去靠左的的那个数),再把所有的项进行连乘,就能得到最后的结果,即

x n = 1 i < j n ( a j a i )

10. 范德蒙德矩阵的行列式的扩展

对于一个残缺的范德蒙德行列式,比如范德蒙德行列式当中少了某一行或者两行,再增加几列,或者这个行列式当中只有奇数次方项,那么这个行列式是否还能求解呢?答案是肯定的,下面举一些例子。

例:计算行列式 | 1 1 1 1 a 1 a 2 a 3 a 4 a 1 2 a 2 2 a 3 2 a 4 2 a 1 4 a 2 4 a 3 4 a 4 4 | 的值。

令此行列式的值为m。首先按照范德蒙德行列式的形式把这个行列式补齐,即

| 1 1 1 1 1 a 1 a 2 a 3 a 4 x a 1 2 a 2 2 a 3 2 a 4 2 x 2 a 1 3 a 2 3 a 3 3 a 4 3 x 3 a 1 4 a 2 4 a 3 4 a 4 4 x 4 |

此行列式展开后必然会得到一个关于x的五次多项式,其中 a 1 a 2 a 3 a 4 为这个五次多项式的多项式系数。

行列式m就是上述行列式中x3这一项的余子式,由于x3这一项在第四行第五列,所以x3的代数余子式的值是−m。从另一个角度去考虑,x3的代数余子式的值−m就是上述行列式展开之后x3项的系数,这样二者之间就联系起来了。

| 1 1 1 1 1 a 1 a 2 a 3 a 4 x a 1 2 a 2 2 a 3 2 a 4 2 x 2 a 1 3 a 2 3 a 3 3 a 4 3 x 3 a 1 4 a 2 4 a 3 4 a 4 4 x 4 | = ( x a 1 ) ( x a 2 ) ( x a 3 ) ( x a 4 ) 1 i < j 4 ( a j a i )

其中x3的系数为 ( a 1 + a 2 + a 3 + a 4 ) 1 i < j 4 ( a j a i ) ,所以原行列式的值为。

m = ( a 1 + a 2 + a 3 + a 4 ) 1 i < j 4 ( a j a i )

对于只有奇数次方的范德蒙德行列式的求解过程比较复杂,这里不进行一般化的讨论,只拿出一个特殊的例子进行分析。

例:计算奇数次范德蒙的行列式 | 1 1 1 1 a 1 a 2 a 3 a 4 a 1 3 a 2 3 a 3 3 a 4 3 a 1 5 a 2 5 a 3 5 a 4 5 | 的值。

设此行列式的值为m。解决这个问题需要在这个行列之中添加两行两列,即

| 1 1 1 1 1 1 a 1 a 2 a 3 a 4 x y a 1 2 a 2 2 a 3 2 a 4 2 x 2 y 2 a 1 3 a 2 3 a 3 3 a 4 3 x 3 y 3 a 1 4 a 2 4 a 3 4 a 4 4 x 4 y 4 a 1 5 a 2 5 a 3 5 a 4 5 x 5 y 5 |

先以 x 2 项进行展开,然后再以 y 4 项进行展开,就可出现题目中的行列式的形式,只不过它的值为−m。而−m刚好就是上述行列式展开后的结果当中 x 2 y 4 项的系数,二者是一一对应的,所以上述行列式的值为

( x a 1 ) ( x a 2 ) ( x a 3 ) ( x a 4 ) ( y a 1 ) ( y a 2 ) ( y a 3 ) ( y a 4 ) ( y x ) _ 1 i < j 4 ( a j a i )

当划线部分取y时, x 2 y 4 项的系数为

( 1 i < j 4 a i a j ) ( a 1 + a 2 + a 3 + a 4 ) 1 i < j 4 ( a j a i )

当划线部分取−x时, x 2 y 4 项的系数为

( a 1 a 2 a 3 + a 1 a 2 a 4 + a 1 a 3 a 4 + a 2 a 3 a 4 ) 1 i < j 4 ( a j a i )

所以 x 2 y 4 项的系数为

1 i < j 4 ( a j a i ) [ ( 1 i < j < k 4 a i a j a k ) ( 1 i < j 4 a i a j ) ( a 1 + a 2 + a 3 + a 4 ) ]

因此给定的行列式的值为

1 i < j 4 ( a j a i ) [ ( 1 i < j 4 a i a j ) ( a 1 + a 2 + a 3 + a 4 ) ( 1 i < j < k 4 a i a j a k ) ]

11. 结语

本文讨论一些特殊矩阵的行列式计算问题,包括友矩阵的特征多项式的计算。针对一些特殊矩阵,如带状矩阵、块单位阵的行列式或特征多项式的求解方法,有的运用归纳法,对于一个n阶行列式,处理起来可能比较困难,这时可以将问题简单化,进行局部的试验研究,当n的值比较小时可以算出行列式的值,比如令 n = 1 n = 2 等进行计算,从这些计算结果当中进行归纳得到一般项的结果,再从归纳的角度进行证明,比如运用数学归纳法进行证明得到结果。

参考文献

[1] Ding, F. (2010) Transformations between Some Special Matrices. Computers & Mathematics with Applications, 59, 2676-2695.
https://doi.org/10.1016/j.camwa.2010.01.036
[2] Ding, F. (2013) Computation of Matrix Exponentials of Special Matrices. Applied Mathematics and Computation, 223, 311-326.
https://doi.org/10.1016/j.amc.2013.07.079
[3] 严坤妹. 一类矩阵的特征值多项式的计算[J]. 莆田学报, 2007, 14(5): 19-21.
[4] 冯纯伯. 矩阵多项式特征值的计算[J]. 控制与决策, 1999, 14(6): 653-657.
[5] 同济大学数学系, 编. 工程数学线性代数[M]. 第六版. 北京: 科学出版社, 2014.
[6] 王中良, 编. 线性代数与解析几何[M]. 北京: 科学出版社, 2017.