第三章行列式 - xidianjpkc.xidian.edu.cn/xxds/ppt/chenhuaichen/chapter03.pdf图3.1...
TRANSCRIPT
第三章 行列式
3.1 行列式的定义
3.2 行列式的性质及应用
3.3 克莱姆(Cramer)法则
3.4 行列式的计算
3.5 应用实例
3.6 习题
3.1 行列式的定义
3.1.1 二、三阶行列式的定义
引入记号: ,称它为二阶行列式
其值规定为:
2221
1211
aaaa
211222112221
1211 aaaaaaaa
−=
把 的连线称为二阶行列式的主对角线,
把 的连线称为二阶行列式的副对角线,
那么二阶行列式的值就等于主对角线上元素
的乘积减去副对角线上元素的乘积。
例3.2 在平面上有一个平行四边形OACB,A、B两点的坐标分别为: 、 ,如图
3.1所示,求平行四边形OACB的面积。
2211, aa
2112 , aa
( )11 ,ba ( )22 ,ba
图3.1 二阶行列式等价于平行四边形面积
解:过点A做x轴垂线,交x轴于点E;过点B做平行x轴直线与过点C做平行y轴直线相交于
点D。显然可以得到三角形CDB和三角形AEO全等,则有:
(3-2)
1221 babaSSSSSSS AEDCOEDBAEDCAEOCDBOEDBOACB −=−=−−+=
根据二阶行列式的定义,该平行四边形的面
积刚好是以A、B两点坐标所构成的二阶行列
式:
例3.3 求下面三元线性方程组的解:
22
11
baba
⎪⎩
⎪⎨
⎧
=++=++=++
3333232131
2323222121
1313212111
bxaxaxabxaxaxabxaxaxa
解:利用消元法可以得到:
(3-3)
当 之前的系数不为零时,可以解出 的值
但这个结果很难记忆,为此引进三阶行列式
的定义,我们称:
是一个三阶行列式
( ) 1322311332112312213322113312312332211 xaaaaaaaaaaaaaaaaaa −−−++
322313321232213322133231233221 aabababaaababaaaab −−−++=
1x 1x
333231
232221
131211
aaaaaaaaa
其值规定为:
(3-4)
图3.2给出了它的图示计算规则(称为沙路
法)。
图3.2 三阶行列式的计算规则
322311332112312213322113312312332211
333231
232221
131211
aaaaaaaaaaaaaaaaaaaaaaaaaaa
−−−++=
有了三阶行列式的定义,我们可以把式(3-3)写为:
当方程组(3-2)的系数行列式
时,可以得到它的解。
33323
23222
13121
1
333231
232221
131211
aabaabaab
xaaaaaaaaa
=
0
333231
232221
131211
≠=aaaaaaaaa
D
3.1.2 n阶行列式的定义
把三阶行列式定义式(3-4)改写为如下形
式:
则有:
(3-5)
( ) ( ) ( )312232211331233321123223332211
333231
232221
131211
aaaaaaaaaaaaaaaaaaaaaaaa
−+−−−=
3231
222113
3331
232112
3332
232211
333231
232221
131211
aaaa
aaaaa
aaaaa
aaaaaaaaaa
+−=
定义3.1 在n阶行列式中,划去元素 所在的
第i行和第j列元素后,余下的元素按原来次序
构成的n-1阶行列式,称为元素 的余子式
记作 ,称为元素 的代数余子式。
根据定义3.1,可以把式(3-5)变为:
jia
jia
jiM jia
131312121111
333231
232221
131211
AaAaAaaaaaaaaaa
++=
定义3.2 由 个数组成的 阶行列式
是一个算式,当 时,
;当 时,
(3-6)
2n n
nnnn
n
n
aaa
aaaaaa
D
L
LLLL
L
L
21
22221
11211
= 1=n
11aD = 2≥n
∑=
=+++=n
kkknn AaAaAaAaD
1111112121111 L
3.1.3 行列式定义的进一步讨论
定义3.3 由n个自然数1、2、3、…、n组成
的一个有序数组,称为一个n元排列。
例如,1 2 3、132、213、231、312、321都是3元排列。
在n元排列的n!个排列中,123…n是唯一一
个按从小到大排列的n元排列,称为标准排列
(或自然排列)
定义3.4 一个排列中任两个数,如果排在前
面的数大于排在后面的数,则称这两个数构
成一个逆序。一个排列中逆序的总数,称为
这个排列的逆序数。
排列的逆序数记为
例如,五元排列25341,1和2、5、3、4有四
个逆序,4和5有一个逆序,3和5有一个逆
序,则排列25341的逆序数为4+1+1=6。
( )niii L,, 21=τ
定义3.5 (行列式的另一种定义方法):
由 个数组成的 阶行列式:
(3-7)
其中 是一个n元排列, 表示对
所有n元排列(n!个)求和。
2n n
( ) ( )∑ −=n
n
n
pppnppp
ppp
nnnn
n
n
aaa
aaa
aaaaaa
L
LL
L
LLLL
L
L
21
21
2121
21
22221
11211
1 τ
nppp L21∑
nppp L21
例3.4 写出四阶行列式中含有 的项。
解:四阶行列式共有24项,其中含有 的项
为: ,我们只要分析列标排列
1x2y的各种情况,显然有1324和1423两种
情况,1324逆序数为1,1423逆序数为2,则四阶行列式中含有 的项为:
和 。
3211aa
3211aa
yx aaaa 432211
3211aa
44322311 aaaa− 43322411 aaaa
3.1.4 矩阵与行列式的关系
矩阵是一个数表,而行列式是一个算式,即
它是一个值。
在比较两个矩阵是否相等时,不仅要求两个
矩阵同型,而且要求两个矩阵所有对应元素
相等。
而两个行列式是否相等,只需分析其值是否
相等。
矩阵是由一对方括号(或圆括号)括起,而
行列式是由一对竖线括起。
矩阵的行数和列数不做任何限制,而行列式
的行数与列数必须相等。
当讨论的矩阵A是方阵时,把A的一对方括号
去掉,加上一对竖线,就变成了行列式,我
们把这个行列式称为方阵A的行列式,
记作: 或 。A ( )det A
例3.5证明n阶下三角矩阵
的行列式 。
证明:用数学归纳法证明,当 、
时,结论显然成立。
假设结论对 阶下三角行列式成立,则由定义3.2得:
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nnnn aaa
aaa
L
LLL
21
2221
11
nA
( ) nnaaa L2211det =nA
1=n 2=n
1−n
右端行列式是 阶下三角行列式,根据归
纳假设得:
同理可证,n阶对角矩阵的行列式(也称n阶对角行列式)
1−n
( ) ( )
nnnnnnnn aaa
aaa
a
aaa
aaa
L
LLL
L
LLL
32
3332
22
1111
21
2221
11
1det +−==nA
( ) nnaaa L2211det =nA
nn
nn
aaa
a
aa
LO 2211
22
11
=
3.1.5 行列式按行(列)展开
定理3.1 n阶行列式D等于它的任一行(列)
的各元素与其对应的代数余子式乘积之和,
即:
或:∑=
=+++=n
kikikininiiii AaAaAaAaD
12211 L ( )ni ,,2,1 L=
∑=
=+++=n
kkjkjnjnjjjjj AaAaAaAaD
12211 L ( )nj ,,2,1 L=
例3.6 计算行列式
解:此行列式第3列只有一个非零元素,故应
把行列式按第三列展开。得到的三阶行列式
中的第3列又只有一个非零元素,再得:
0011153200236012
−
=D
( ) ( ) ( )( ) 1501213301123
165011023612
15 3133 =−×−××=−
−××=−
−×= ++D
3.2 行列式的性质及应用
3.2.1 行列式的性质
性质1 行列式 与它的转置行列式 相等。
行列式的转置和矩阵的转置概念相同。
如:
D TD
862540321
853642201
−=
− T
性质2 互换行列式的两行(列),行列式变
号。
如:
推论1 如果行列式有两行(列)完全相同,
则此行列式为零。
推论2 n阶行列式D的任一行(列)的各元素
与另一行(列)对应元素的代数余子式乘积
之和等于零,即:
∑=
==+++n
kjkikjninjiji AaAaAaAa
12211 0L ( )ji ≠
或:
例3.7 已知四阶行列式 ,
求 ,(其中 为行列式D的代数余子式)。
解:可以先求出行列式D的第四行各元素的代
数余子式,然后再进一步求得题目的答案。
也可以利用代数余子式的性质来分析此题。
01
2211 ==+++ ∑=
n
kkjkinjnijiji AaAaAaAa L ( )ji ≠
44434241 432 AAAA +++ ijA
构造行列式 ,行列式 按第四
行的展开式,刚好就是
1D
44434241 432 AAAA +++
43210200006120102
1
−
== D
( ) ( ) 9661202
1242000612102
14 3344 34−=
−−××
−−× ++
==展按展按 rc
性质3 用数k乘以行列式D,等于D中某一行
(列)的所有元素同乘以数k。如下等式中,把数3乘到了行列式的第二列
中:
推论1 行列式某一行(列)中所有元素的公
因子可以提到行列式的外面。
推论2 如果行列式的任意两行(列)对应元
素成比例,则行列式为零。
下列行列式的第一行和第三行所有对应元素
成比例,故知:
性质4 行列式可以按某一行(列)拆分成两
个行列式之和。
0
0197129153672286102
=
具体拆分方法用4阶行列式说明如下:
性质5 把行列式的某一行(列)的各元素乘
以同一数后加到另一行(列)对应的元素上
去,行列式值不变。如:
3.2.2 方阵行列式的性质
设A、B为n阶方阵,k是数,根据行列式的性
质可以得到方阵的行列式有如下性质:
(1)(2)(3)(4)(5)
AA T =
AA nkk =
BAAB =kkA = A
11 −− = AA
3.2.3 方阵可逆的充要条件
定义3.6 设矩阵 ,且 的代数
余子式为 ,则称矩 为 的伴
随矩阵。记为 ,或 。
ija
ijA A
adj(A) *A
伴随矩阵的重要性质:
定理3.2 n阶方阵 为可逆矩阵的充要条件
是 。当 可逆时, 。
证:充分性,当 时,
知 故结论成立;
必要性, 设 可逆,有 ,两边同取
行列式 ,故
= =A adj(A) adj(A) A A I
A0≠A A − =1
1A adj(A)A
0≠A
⎛ ⎞ ⎛ ⎞= =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
1 1A adj(A) adj(A) A IA A
A − =1AA I1− = =1A A I 0≠A
推论 若 和 为同阶方阵,且满足 ,
则 ,即矩阵 和矩阵 互逆。
例3.8 判断三阶方阵 ,是否可逆;
若可逆,求
解:因为 ,所以 可逆。 中各元
素的代数余子式分别为
AA
BB
AB = IBA = I
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡=
1228206638
A1−A
A A
411 −=A
5612 −=A1213 =A 2421 −=A 4822 =A
823 =A 631 =A 2032 =A 1833 −=A
128 0= − ≠A
则:
例3.9 设 为n阶可逆方阵,
证明(1) 也是可逆矩阵且
(2)证:(1)因为矩阵 为可逆方阵,则
又根据伴随矩阵的性质
1
4 24 61 1 56 48 20
12812 8 18
−
− −⎡ ⎤⎢ ⎥= = −⎢ ⎥−⎢ ⎥−⎣ ⎦
A adj(A)Α
Aadj(A) ( )− =1
1adj(A) AA1n−=adj(A) A
A 0≠A
A adj(A) = adj(A) A = A I
知 ,故 是可逆矩
阵且
(2)对等式 两边取行列式,
有
又因为矩阵 为可逆方阵,则
故有
⎛ ⎞ ⎛ ⎞= =⎜ ⎟ ⎜ ⎟⎜ ⎟ ⎜ ⎟
⎝ ⎠ ⎝ ⎠
A Aadj(A) adj(A) IA A
adj(A)
( )− =11adj(A) AA
=A adj(A) A I
= = = =n nA O
A adj(A) A I A I AO A
O
A 0≠A
1n−=adj(A) A
3.3 克莱姆(Cramer)法则
讨论用行列式来求解含有n个方程n个变量的
线性方程组(3-7)
方程组(3-7)也可以写成矩阵形式:
(3-8)
⎪⎪⎩
⎪⎪⎨
⎧
=+++
=+++=+++
nnnnnn
nn
nn
bxaxaxa
bxaxaxabxaxaxa
L
L
L
L
2211
22222121
11212111
=Ax b
其中:
行列式 ,称为方程组(3-7)的系数行
列式。
定理3.3(克莱姆法则) 若方程组(3-7)的
系数行列式 ,则该方程组有唯一解:
, ,… , (3-9)
11 12 1
21 22 2
1 2
n
n
n n nn
a a aa a a
a a a
⎡ ⎤⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎣ ⎦
A
L
L
L L L L
L⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nb
bb
M2
1
b
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
nx
xx
M2
1
x
D = A
0≠D
DDx 1
1 =DD
x 22 = D
Dx n
n =
其中 是把 中第 列的元素用
方程组右端的常数项代替后所得到的n阶行列
式,即:
第 列
定理3.3的逆否定理为:如果线性方程组(3-7)无解或有超过一个以上的解,则它的系数
行列式必为零。
( )njD j ,,2,1 L= D j
j
把常数项全为零的线性方程组
称为齐次线性方程组;
把常数项不全为零的线性方程组
称为非齐次线性方程组。
推论1 对于n×n齐次线性方程组 ,当
系数行列式 时, 只有一个零解。
推论2 若n×n齐次线性方程组 ,有
非零解,则必有 。
0Ax =
bAx =
0Ax =0≠A 0Ax =
0Ax =0=A
例3.10 已知齐次线性方程组
有非零解,问 应取何值?
解:根据推论2,知方程组系数行列式必为
零,故有:
得: 或
⎪⎩
⎪⎨
⎧
=−+−=−−−+=++−−
0)1(2202)2(4024)2(
321
321
121
xxxxxxxxx
λλ
λ
λ
λλ
λ
λλλ
λ
λλ
λ
−−−−
−−+
−−+−−
−−−
−−−−−
−−=
3220201042
2
1222420
2422
122224
2422332 ccrr
D
2r按 展开( )( ) ( )( )( )2 ( 2 )( 3 ) 20 2 2 0λ λ λ λ λ λ− − − − − = =- - - +7
2=λ 7=-λ
3.4 行列式的计算
3.4.1 行列式的笔算技巧
主要的方法是把矩阵变换为行阶梯形(三角
形),然后计算其主对角线元素的连乘积;
其次是充分利用含零元素较多的行或列进行
展开;
其他还有加边法、公式法、递推法、数学归
纳法等等。
例3.12 计算四阶行列式
解:利用行列式性质把行列式化为三角行列
式(性质法、三角化法)
42111223921656281066
=D
420062000
36104211
6)1(
42002416603610
4211
696
28106612239216564211
23
2
14
13
12
41
−−+
−×
−−−−−−−
−−
−−
−↔
rrr
rrrrrr
rrD
68
34000420036104211
10
62000420036104211
3443 =−
−+
−−
−↔ rrrr
例3.13 证明:
证:利用行列式性质及行列式按列展开(性
质法、展开法)
( )( )( )( )( )( )342423141312
34
33
32
31
24
23
22
21
43214
1111
aaaaaaaaaaaa
aaaaaaaaaaaa
D −−−−−−==
( ) ( ) ( )( ) ( ) ( )14
2413
2312
22
144133122
141312
112
213
314
34
33
32
31
24
23
22
21
43214
000
11111111
aaaaaaaaaaaaaaaaaa
aaaaaa
rarrarrar
aaaaaaaaaaaa
D
−−−−−−−−−
−
−−
=
( )( )( )24
23
22
432141312
111
aaaaaaaaaaaa −−−
并提取公因子
按第一列展开
此例中的四阶行列式,称为四阶范德蒙
(Vander Monde)行列式, n阶范德蒙行列
式为:
( )( )( )( ) ( )234233
2423141312122
223
00
111
aaaaaaaaaaaaaaaa
rarrar
−−−−−−−
−
−
( )( )( )( )( )43
2423141312
11aa
aaaaaaaaaa −−−−−并提取公因子
按第一列展开
( )( )( )( )( )( )342423141312 aaaaaaaaaaaa −−−−−−=
( )∏≤<≤
−−−
−=nij
ji
nn
nn
n
n
aa
aaa
aaaaaa
1
112
11
222
21
21
111
L
LLLL
L
L
L
例3.14 计算n阶行列式(空白处都为零) :
解:其中只有n个非0元素,这n个元素之积正
是行列式唯一的非零项,再由列下标全排
列(n-1,n-2,…,2,1,n)的逆序数确定该项的
正负。
nn
D n
1
21
−
=N
N
( ) !1 2)2)(1(nD
nn
n
−−
−=
例3.15 计算5阶行列式:
解:由分块矩阵行列式公式:
则得
00010900087654000320000100
5 =D
( ) BAOB
AO nm
nn
mm ×
×
× −= 1
( ) 3610987
654032001
1 235 −=−= ×D
例3.16 计算5阶行列式:
解:该行列式称为三对角行列式,通常可以
用递推法来求解
4100034100034100034100034
5 =D
345 34
4100341003410003
4100341003410034
41
DDDc
−=−展开按
( ) ( ) ( ) 512
323
23445 3333 =−=−=−=− DDDDDDDD
5432
543
545 333333 +++=++=+= DDDD
3643333 54321 =++++= D
例3.17 设 , 均为n阶方阵,
求:
解:由于 ,
则有:
A B 3=A 5=B
AA nkk = BAAB =
1n* −= AAAA =T
1n21nnTnT 353*3*3 −− ⋅=== BABABA
TΒ*3A
例3.18 设矩阵 , 矩阵 满
足: ,其中 为单位矩阵, 是
的伴随矩阵,求 。
解:由于 ,则存在 ,且有
即有:
两边取行列式,有:
而
则
⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡
−−
−=
101210021
A B
BAIBAA 34* −= I *AA B
03 ≠=A 1−A IAAA =*
ABIB 343 −= ( ) IBAI 43 =+33 43 =+ BAI
=+AI 4001200020=
2716
=B
例3.19 设 , 为三阶方阵且
, ,求 。
解:根据分块矩阵的乘法概念,有:
则
),,( 321 aaaA= A 5=A),2,3( 133221 aaaaaaB −++= B
),2,3( 133221 aaaaaaB −++=
),,( 321 aaa=⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡ −
120013101
25)5(5120013101
−=−×=−
=Β A
3.4.2 用MATLAB计算行列式
考虑的问题主要是计算速度和计算精度问题
一.初等矩阵的行列式
对于第一类初等矩阵E1,即行交换变换,它
的行列式等于-1。 det(E1)=-1 (3-11)
对于第二类初等矩阵E2,即行数乘变换,它
的行列式等于k。 det(E2)=k (3-12)
对于第三类初等矩阵E3,即行的乘加变换,
它的行列式仍等于1。det(E3)=1 (3-13)
二.把方阵变换为上三角矩阵——LU分解
如果不考虑出现基准元素为零或很小的情况
时,连第一类初等变换都用不到。这样,通
过N=(n-1)2/2次使用第三类初等矩阵E3,就
可以把主对角线左下方的N个元素全变为零。
写成
(3-14)
其中U是一个上三角矩阵,所有的E3矩阵也
是上三角矩阵。
⎛ ⎞⎜ ⎟⎝ ⎠∏N
ii=1
E3 A = U
由于初等变换矩阵都是可逆的,其乘积也是
可逆的,设其逆矩阵为L,它应该是一个下三
角矩阵,于是此式可写成
(3-15)
这种把矩阵A通过第三种初等矩阵左乘分解为
一个下三角矩阵和一个上三角矩阵乘积的变
换称为LU变换。
其中下三角矩阵L的行列式为1,因而上三角
矩阵的行列式就等于原矩阵的行列式,即
det(A)= det(L)*det(U)= det(U)
A = L*U
在实际工程中为了保证计算结果的精度,计
算软件在做行阶梯变换时还是要把基准元素
取为每列的绝对值 大项,所以还是使用了
行交换变换。因为其行列式等于-1,每多一
次交换,就改变一次符号。它并不影响行列
式的绝对值,但影响其正负号。
另外在(3-14)式左端的连乘积中,多了若干
个交换矩阵。会使得 后的下三角矩阵L不那
末标准,各行有些颠倒,常常称之为准下三
角矩阵。
MATLAB提供了矩阵的三角分解函数lu.m,
其调用格式为: [L,U]=lu(A) 它返回的结果就是一个准下三角矩阵L和一个
上三角矩阵U。因为这个函数并不专为行列式
计算之用,有一定的普遍性,所以它不限定A为方阵。
另一种调用格式能同时给出真正的下三角矩
阵L和交换矩阵P,其形式为:
[L,U,P] = lu(A) 此时,它满足 P*A = L*U (3-16)
三.求出上三角方阵的行列式
由(3-15)式知道,det(U)决定了det(A)的绝
对值。因U是一个上三角矩阵,它的行列式为
其对角元素的连乘积。
在不计正负号的时候,可以写出:
用MATLAB语句表示为
D=prod(diag(U))
∏n
iii = 1
A = d e t(U ) = u
在必须知道行列式的正负号时,必须知道lu分解过程中进行了多少次交换,每一次交换就
改变一次正负号。
lu子程序没有给出这个数据,所以解决不了问
题。其实MATLAB已经把上述过程集成在一
起,给出了直接计算方阵行列式的函数det.m其调用格式为: D=det(A)这个函数要求输入变元必须是方阵
3.5 应用实例
3.5.1 用LU分解计算行列式
例3.14 用化简为三角矩阵的方法求下列矩阵
的行列式
解:列出程序:A=[10,8,6,4,1;2,5,8,9,4;6,0,9,9,8;5,8,7,4,0;9,4,2,9,1];
[L,U]=lu(A), % 分解为上三角矩阵U和准下三角矩阵L
dU = diag(U); % 取上三角矩阵U主对角线上元素向量
10 8 6 4 12 5 8 9 46 0 9 9 85 8 7 4 09 4 2 9 1
A
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥=⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
D=prod(dU) % 求主对角元素的连乘积
程序运行的结果如下:
dU = 10 –4.8 10.625 9.4824 −1.2349D = 5.9720e+003 = 5972
1.0000 0 0 0 0 0.2000 0.7083 1.0000 0 0
= 0.6000 1.0000 0 0 0 0.5000 0.8333 0.8000 0.2953 1.000
−
− −L
0 0.9000 0.6667 0.6588 1.0000 0
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥−⎣ ⎦
10.0000 8.0000 6.0000 4.0000 1.0000 0 4.8000 5.4000 6.6000 7.4000 0 0 10.6250 12.8750 9.0417 0 0 0 9.4824 1.1235
−=U
0 0 0 0 1.2349
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥−⎣ ⎦
3.5.2 行列式奇异性对计算精度的影响
例3.15 设线性方程组 中, 是一个6阶的hilbert矩阵,就是说它的下标为(i,j)的元素
值为1/(i+j-1),系数A,b1及其增量b2=b1+Δb如下:
计算解x1,x2,分析两个解的差与系数差
之间的关系。
Ax = b A
1 1/2 1/3 1/4 1/5 1/6 1/2 1/3 1/4 1/5 1/6 1/7 1/3 1/4 1/5 1/6 1/7 1/8 1/4 1/5 1/6 1/7 1/
=A
1 12 21 1
, ,8 1/9 1.732 1.7321
1/5 1/6 1/7 1/8 1/9 1/10 1 1 1/6 1/7 1/8 1/9 1/10 1/11 2 2
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
b1 b2
解:用MATLAB写出程序ea344如下:A=hilb(6),b1=[1;2;1;1.732;1;2]; b2=[1;2;1;1.7321;1;2];x1=inv(A)*b1, x2= inv(A)*b2dx=x2-x1, db=b2-b1
程序运行的结果为:
6 6
-0.0089 -0.0089 -0.75 0 0.2530 0.2530 21 0-1.7050 -1.7051 -141 0
10 , 10 , , 4.4253 4.4257 363 0.0001-4.8785 -4.8789 -397 1.9208 1.9209 155
⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥
= × = × = =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
x1 x2 dx db
00
⎡ ⎤⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥⎣ ⎦
由于系数b的万分之一的变化,引起解x的误
差dx 大可达近400。主要因为行列式D=det(A)很接近于零。本题
中的矩阵系数是hilbert矩阵,它的主要特点就
是行列式很接近于零。这样的矩阵方程,我
们就称之为病态的,或很接近于奇异的,对
它的解是否正确,要保持一定的怀疑。
为了定量地分析解的误差和可信度,应该用
相对误差做标准。b的相对误差是
x的相对误差是
db/ bdx/ x
两者之间是以条件数(Condition Number)相关
联的,条件数与行列式有关,它随着行列式
的减小而减小:
(3-17)
例3.16 设 ,求其逆阵V=
解:输入A的数据后,键入V=inv(A),程序
为:A=[-16,-4,-6;15,-3,9;18,0,9], V=inv(A)
15( ) ( ) 10cond cond −= ⋅ = ⋅dx/ x A db/ b A
16 4 615 3 918 0 9
A− − −⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥⎣ ⎦
1−A
运行后得到警告信息:Warning: Matrix is close to singular or badly scaledResults may be inaccurate. RCOND = 6.042030e−018.
det(A)=0,故它是一个奇异矩阵,其逆不存
在。在用数值方法求矩阵的逆时,由于计算
中存在方法和截断误差,故矩阵是否奇异,
结果不是绝对的。为了评价矩阵接近“奇异”的程度MATLAB用了“逆条件数”作为衡量指标。
0.4222 0.5629 0.84441.0 15 0.4222 0.5629 0.8444
0.8444 1.1259 1.6888V e
−⎡ ⎤⎢ ⎥= + − −⎢ ⎥⎢ ⎥− −⎣ ⎦
3.5.3 用逆阵进行保密编译码
把消息中的英文字母用一个整数来表示。然
后传送这组整数。
例如“SEND MONEY”这九个字母就用下面九
个数来表示;
[5,8,10,21,7,2,10,8,3]。5代表S,8代表
E,…等等。
这种方法是很容易被破译的。在一个很长的
消息中,根据数字出现的频率,往往可以大
体估计出它所代表的字母。
用矩阵乘法来对这个消息进一步加密。
如A是一个行列式等于±1的整数矩阵,则
A−1的元素也必定是整数。可以用这样的一个
矩阵来对消息进行变换。
设 可得
把编了码的消息
也组成一个矩阵
1 2 12 5 32 3 2
A⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦
,1
1 1 12 0 14 1 1
A −
−⎡ ⎤⎢ ⎥= −⎢ ⎥⎢ ⎥−⎣ ⎦
5 21 108 7 810 2 3
B⎡ ⎤⎢ ⎥= ⎢ ⎥⎢ ⎥⎣ ⎦
乘积
所以发出的消息为 [31,80,54,37,83,67,29,69,50]
通过以下的变换可以解出原来的消息:
1 2 1 5 21 10 31 37 292 5 3 8 7 8 80 83 692 3 2 10 2 3 54 67 50
AB⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥= =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎣ ⎦ ⎣ ⎦ ⎣ ⎦
1 1 1 31 37 29 5 21 102 0 1 80 83 69 8 7 84 1 1 54 67 50 10 2 3
−⎡ ⎤ ⎡ ⎤ ⎡ ⎤⎢ ⎥ ⎢ ⎥ ⎢ ⎥− =⎢ ⎥ ⎢ ⎥ ⎢ ⎥⎢ ⎥ ⎢ ⎥ ⎢ ⎥−⎣ ⎦ ⎣ ⎦ ⎣ ⎦
3.5.4 用行列式计算面积
例3.17 设一个三角形的三个顶点的坐标为(x1;y1), (x2;y2), (x3;y3),
(1)试求此三角形的面积。
(2)利用此结果计算四个顶点坐标为
(0,1),(3,5),(4,3),(2,0)任意四边形的面积。
(3)将此结果推广至任意多边形。
解:(1)三角形面积为对应的平行四边形面
积之半,利用行列式等于两向量所构成的平
行四边形面积的关系,可求出三角形面积与
顶点坐标之间的关系。
将三角形一个顶点(x1;y1)移到原点,则其余两
顶点坐标分别为(x2-x1,y2-y1),(x3-x1,y3-y1),根据(3.2)式,此两个顶点所对应的向量构
成的平行四边形面积为
三角形面积为
(3-18)
(2)画出此四边形所对应的图形如下图,别
计算其面积再相加即可。
1 2 2 1 2 1 3 1 3 1 2 1( )( ) ( )( )pS a b a b x x y y x x y y= − = − − − − −
2 1 3 1 3 1 2 10.5 0.5 ( )( ) ( )( )s pS S x x y y x x y y= = − − − − −
图3.5 题3.5.2的四边形
三角形ABD的面积为:S1=0.5|(2-0)(5-1)-(3-0)(0-1)|=0.5(8+3)=5.5
三角形CBD的面积为:S2=0.5|(4-2)(5-0)-(3-2)(3-0)|=0.5(10-3)=3.5
此四边形的面积为:S=S1+S2=9
(3)此问题留作为作业。