分块矩阵在行列式计算中的应用(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
矩阵与行列式的关系
矩阵是一个有力的数学工具,有着广泛的应用,同时矩阵也是代数特别是线性代数的一个主要研究对象.矩阵的概念和性质都较易掌握,但是对于阶数较大的矩阵的运算则会是一个很繁琐的过程,甚至仅仅依靠矩阵的基本性质很难计算,为了更好的处理这个问题矩阵分块的思想应运而生[]1.
行列式在代数学中是一个非常重要、又应用广泛的概念.对行列式的研究重在计算,但由于行列式的计算灵活、技巧性强,尤其是计算高阶行列式往往较为困难.行列式的计算通常要根据行列式的具体特点采用相应的计算方法,有时甚至需要将几种方法交叉运用,而且一题多种解法的情况很多,好的方法能极大降低计算量,因此行列式计算方法往往灵活多变.在解决行列式的某些问题时,对于级数较高的行列式,常采用分块的方法,将行列式分成若干子块,往往可以使行列式的结构清晰,计算简化.本文在广泛阅读文献的基础上,从温习分块矩阵的定义和性质出发,给出了分块矩阵的一些重要结论并予以证明,在此基础上讨论利用分块矩阵计算行列式的方法,并与其他方法相互比较,以此说明分块矩阵在行列式计算中的优势.
1.1 矩阵的定义
有时候,我们将一个大矩阵看成是由一些小矩阵组成的,就如矩阵是由数组成的一样[]1.特别在运算中,把这些小矩阵当做数一样来处理.这就是所谓的矩阵的分块.把原矩阵分别按照横竖需要分割成若干小块,每一小块称为矩阵的一个子块或子矩阵,则原矩阵是以这些子块为元素的分块矩阵.这是处理级数较高的矩阵时常用的方法.
定义1[]2 设A 是n m ⨯矩阵,将A 的行分割为r 段,每段分别包含r m m m 21行,将
A 的列分割为s 段,每段包含s m m m 21列,则
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝⎛=rs r r s s A A A A A A A A A A 21
2222111211
,
就称为分块矩阵,其中ij A 是j i m m ⨯矩阵(,,,2,1r i =s j ,,2,1 =).
注:分块矩阵的每一行(列)的小矩阵有相同的行(列)数. 例如,对矩阵A 分块,
=
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝
⎛-=21010301012102102301A ⎪⎪⎭
⎫
⎝⎛22211211
A A A A , 其中
⎪⎪⎭⎫ ⎝⎛-=210111A ,⎪⎪⎭⎫ ⎝⎛=21002312A ,⎪⎪⎭⎫ ⎝⎛=100121A ,⎪⎪⎭
⎫ ⎝⎛=21030122A .
1.2 矩阵的运算
进行分块矩阵的加、减、乘法与转置运算时,可将子矩阵当做通常矩阵的元素看待. 加法运算 设n m ij a A ⨯=)(和n m ij b B ⨯=)(为同型矩阵(行数和列数分别相等),若用相同的分块方法,即
t s ij n m A A ⨯⨯=)(,t s ij B B ⨯=)(,
其中ij A 、ij B 是j i n m ⨯矩阵,t j s i .,2,1,,,2,1 ==,且m m s
i i =∑=1,n n t
j j =∑=1
,则A 与B
可直接相加,即
=+B A t s ij ij B A ⨯+)(.
数乘运算 设分块矩阵t s ij n m A A ⨯⨯=)(,k 为任意数,则分块矩阵与k 的数乘为
t s ij kA kA ⨯=)(.
乘法运算 一般地说,设sn ik a A )(=,nm kj b B )(=,将矩阵A 、B 分块,
⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=st s s t t A A A A A A A A A A 2122221
11211
,⎪⎪
⎪⎪
⎪
⎭
⎫
⎝⎛=tr t t r r B B B B B B B B B B 2122221
11211
, 其中每个ij A 是j i n s ⨯小矩阵,每个ij B 是j i m n ⨯小矩阵,于是有
⎪⎪⎪⎪⎪
⎭
⎫
⎝⎛==sr s s r r C C C C C C
C C C AB C
2122221
11211, 其中ij C 是j i k m ⨯矩阵,=ij C ∑=n
i ij ij B A 1.
应该注意,在进行乘法运算求乘积AB 时,对矩阵A 、B 分块要求,矩阵A 的列的分法必须与矩阵B 的行的分法一致.
矩阵的乘法不适合交换律,即一般来说,没有BA AB =.分块矩阵是一类特殊的矩阵,它的乘法同样不适合交换律.
根据上文所述分块矩阵也是一个矩阵,因此有与一般矩阵的加法、数乘、乘法的运算性质相同.不过,分块矩阵运算时应注意以下几点:
(1) 进行加法运算时,对应子块的结构需相同;
(2) 进行数乘运算时,必须对每一子块都乘以相同的数; (3) 进行乘法运算时,不能随意交换两个相乘子块的顺序.
在具体运算过程中,我们要灵活地分块,目的是使运算更简便.而对于乘法,在矩阵A 与矩阵B 相乘时,对B 的一个分块方式,A 可以有几种分块方式都可与B 相乘,同样对A 的一个分块方式,B 也是如此.但不论怎样分块,始终坚持相乘的两个矩阵前一个矩阵列的分法与后一个矩阵行的分法一致,因为只有这样乘积才有意义.
例如,已知
⎪⎪⎪⎭⎫ ⎝⎛=200010001A ,⎪⎪⎪⎭
⎫ ⎝⎛=011010100101B ,
我们把B 分块为
⎪⎪⎭
⎫
⎝⎛=⎪⎪⎪⎭
⎫ ⎝⎛222122011010100101B B E E , 其中2E 为二阶单位阵,这时若只考虑乘法的相容性,A 可以分块为
⎪⎪⎪⎭⎫ ⎝⎛200010001、⎪⎪⎪⎭⎫ ⎝⎛200010001或⎪⎪⎪⎭
⎫
⎝⎛200010001, 我们可以看到第一种分法中有单位块,而
⎪⎪⎭
⎫ ⎝
⎛=222
A O
O E A , 对于乘法运算显然更加简便,即
=AB ⎪⎪⎪⎭⎫ ⎝⎛200010001⎪⎪⎪⎭
⎫
⎝⎛011010100101⎪⎪⎭
⎫
⎝⎛⎪⎪⎭⎫
⎝⎛=222122
222
B B E E A O O E ⎪⎪⎭⎫ ⎝⎛=222221
2222
B A B A E E ⎪
⎪⎪⎭
⎫
⎝⎛=022*********. 设
⎪⎪
⎪
⎪
⎪
⎭
⎫
⎝⎛=st s s t t A A A A A A A A A A 21
2222111211
是一个分块矩阵,那么它的转置为