不可约M-矩阵的一种判别法许晓玲(闽江学院数学系,福建,福州350108)关晋瑞(厦门大学数学科学学院,福建,厦门361005)摘要:本文中我们提出了一个判定不可约M-矩阵的实用算法,给出了相应的理论分析,并用数值算例展示了该算法的有效性和优越性。
关键词:M-矩阵;判别法;不可约中图分类号:O151.211 引言M-矩阵是一类很重要的特殊矩阵,自1937年由Ostrowski 提出之后,由于它的重要性和优美的性质,得到了深入的研究和广泛的应用。
从那时起,新的性质和等价条件不断被发现,1977年Plemmons 在[11]中总结的非奇异M-矩阵的等价条件已有40个,在后来的专著[2]中又扩充到多达50个。
另一方面,M-矩阵的应用十分广泛,数学上应用在矩阵理论,微分方程数值解,Markov 链,线性互补问题,线性方程组迭代法等问题中,其他学科如物理,生物,经济中也有着广泛的应用。
这方面的详细内容可参考[2][7][8][15]。
下面我们给出M-矩阵的定义及一些基本性质,主要来自[2] [15]。
记{}()|0,n n n ij ij A a a i j ⨯==∈≤∀≠。
对任意的n A ∈,我们总可以将A 表示为A cI B =-,其中0c ≥为常数,0B ≥是一个非负矩阵。
若()c B ρ≥,我们称A 是一个M-矩阵。
特别的,当()c B ρ>时称A 是一个非奇异M-矩阵,当()c B ρ=时称A 是一个奇异M-矩阵。
关于非奇异M-矩阵我们有下面几个常见的等价条件。
定理1.1 设n A ∈,则下列各条件等价:(1) A 是一个非奇异的M-矩阵;(2) A 可逆,且10A -≥;(3) 存在0x >,使得0Ax >;(4) A 的任意特征值都有正实部;(5) A 的对角元素都为正的,且存在正的对角矩阵D ,使得AD 是严格对角占优矩阵。
在实际应用中我们最关心的问题是,一个给定的矩阵A 是否为M-矩阵,以便作进一步的研究。
因此,判别一个给定的矩阵是否为M-矩阵是一个关键。
不过首先要说明的是,用M-矩阵的定义或者等价条件去验证并不是一个好的途径,因为要验证这些条件并非易事。
从定理1.1我们可以看到,若用等价条件(1)去验证需要计算()B ρ,对于一般的矩阵这并不容易求出。
用(2)验证需要计算1A -,运算量大且容易受误差影响。
用(3)验证需要找到合适的正向量x ,然后并没有合适的途径去寻找。
用(4)验证需要计算所有的特征值,更是不可行。
因此,寻求M-矩阵更简洁实用的判定条件是一个值得研究的课题。
近几十年来国内外很多数学工作者都对这个问题作了深入的研究,得到了许多优美而实用的判别条件,文献[3][4][5][6][9][10][12]是其中一些比较好的结果。
然而在实际应用中发现,这些判别方法尽管各具特色却都有一些不足之处。
总的来说存在这样一些问题:一是判别条件难以验证,这在应用中很不方便;二是判别范围过窄,这些判别条件大都是一些充分条件,只能判别出M-矩阵的一个子集,对于一般的M-矩阵却束手无策;三是对于奇异的M-矩阵则不能或不易判定;四是这些判别方法不易在计算机上实现。
针对上述判别法存在的这些问题,我们在本文中提出一种新的迭代判别法,该判别法的特点是:首先,判定范围广泛,非奇异或奇异的M-矩阵都可判别出来,只要要求判定矩阵不可约即可;其次,计算量小,每步迭代只需要对判定矩阵的某个列乘以一个非零常数即可;此外,易于在计算机上实现,在应用中很方便。
下面我们在第2节中给出迭代判别法的理论分析及算法,在第3节中给出一些数值例子,最后一节给出一个简单的总结。
2 主要结果以下我们记{}1,2,,N n =,对于()n n ij A a ⨯=∈,记()||i ij j i r A a ≠=∑,()()i i iir A t A a =,i N ∈。
在推导算法前我们需要用到下面的一些结论,其中引理2.1用M-矩阵的定义很容易验证,引理2.2来自[15,p377],2.3来自[15,p376],引理2.4来自[14,p38]。
引理2.1 设n A ∈,则A 是M-矩阵当且仅当AD 是M-矩阵,其中D 为正对角矩阵。
引理2.2 设A 是一个不可约M-矩阵,则0ii a >,对任意i N ∈。
引理2.3 n A ∈是不可约M-矩阵,当且仅当存在向量0x >,使得0Ax ≥。
将0Ax ≥在第i 行展开化简可得||ii i ij j j i a x ax ≠≥∑,这说明A 是广义(非严格)对角占优矩阵。
关于广义对角占优矩阵的知识可以参考[15,Chapter 3]。
上述引理也可以表述为:n A ∈是不可约M-矩阵,当且仅当A 是广义(非严格)对角占优矩阵。
引理2.4 设矩阵0A ≥,向量0x >,若存在,0αβ≥,使得Ax x α≤,Ax x β>,则有()A ρα≤,()A ρβ>。
下面定理2.1中的矩阵我们称之为不可约对角占劣矩阵,该定理结论说明,不可约对角占劣矩阵是广义严格对角占劣矩阵。
定理 2.1 设A 不可约,对角线元素非零,||()ii i a r A ≤,对任意i N ∈,且至少有一个严格不等式成立,则存在向量0x >,1(,,)T n x x x =,使得||||ii i ij j j ia x a x ≠<∑,对任意i N ∈。
证:记{}|||()ii i J i N a r A =∈<。
显然J N ⊂,若J N ≠,令{}1\0,ik N i N J a k J =∈≠∈。
由于A 不可约,1N 非空。
若1J N N ≠,令{}211\()0,ik N i N J N a k N =∈≠∈。
由于A 不可约,2N 非空。
继续上述过程,由于N 有限,因此存在k 使得1k N J N N =。
对所有的i J ∈,选取()1||i i ii r A d a <<。
然后对所有的i J ∈用i d 乘以A 的第i 列,得到新的矩阵()(1)(1)ij A a =。
注意此时(1)A 在i J ∈行仍然是对角占劣的,且对于任意的1i N ∈,(1)(1)(1),\||||()||||||()ii ii i ij j ij ij i j Jj i j N J j i a a r A a d a a r A ∈≠∈≠==<+==∑∑∑。
即(1)A 在1i N ∈行也是对角占劣的。
对所有的1i N ∈,选取(1)(1)(1)()1||i i ii r A d a <<。
然后对所有的1i N ∈用(1)i d 乘以(1)A 的第i列,得到新的矩阵()(2)(2)ij A a =。
类似上述讨论,得(2)A 在12J N N 行都是对角占劣的。
依次下去,最后可得()k A 在1k N J N N =行都是对角占劣的。
从而()k A 是严格对角占劣矩阵,由()k A 的构造过程知()k A AD =,D 是一个正对角矩阵。
证毕。
定理2.2 设n A ∈,不可约且0ii a >,对任意i N ∈。
则A 不是M-矩阵,当且仅当存在向量0x >,1(,,)T n x x x =,使得||ii i ij j j ia x a x ≠<∑, 对任意i N ∈。
证:当A 不是M-矩阵时,记A cI B =-,0B ≥,则()c B ρ<。
由于A 不可约,B 也不可约。
根据Perron-Frobenius 定理[6,p35],存在向量0x >,1(,,)T n x x x =,使得()Bx B x ρ=。
从而()(())0Ax cI B x c B x ρ=-=-<在第i 行展开,化简得ii i ij j j ia x a x ≠<-∑.反之,若存在向量0x >,使得ii i ijj j i a x a x ≠<-∑,即有0Ax <。
从而()0cI B x -<,cx Bx <。
由引理2.4得()c B ρ<,A 不是M-矩阵。
证毕。
根据上面引理2.3,定理2.1和定理2.2的分析,对于给定的矩阵我们只需要验证它是否满足引理2.3或者定理2.1的条件即可判定它是不是M-矩阵。
如果都不满足的话,可以利用下面的算法将其转化为引理2.3,定理2.1中的形式即可判别出来。
对此我们利用一个技巧来实现这个过程,得到下面的算法。
算法1输入:不可约矩阵()n n ij A a ⨯=∈。
输出:“A 是M-矩阵”或者“A 不是M-矩阵”。
1.若对某个i N ∈有0ii a ≤,或者0ij a >,对任意i j ≠,“A 不是M-矩阵”,停止;否则2.令(0)A A =,0k =;3.计算()()k i t A ,对所有的i N ∈。
令()()()min ()k k p i i N t A t A ∈=,()()()max ()k k q i i Nt A t A ∈=;4.若()()1k q t A ≤,“A 是M-矩阵”,停止;若()()1k p t A ≥,“A 不是M-矩阵”,停止;否则5.计算(1)()()()k k k ip ip p a a t A +=⋅,当()()()()1k k p q t A t A ≤时;(1)()()()k k k iq iq q a a t A +=⋅,当()()()()1k k p q t A t A >时;6.令1k k =+,返回第3步。
注:(1) 算法第3步中,若有几个最大或最小的()()k i t A 存在时,任取一个即可;(2) 算法第5步表示,当()()()()1k k p q t A t A ≤时,对()k A的第p 列乘以()()k p t A 得到(1)k A +,这也可以表示为(1)()()k k k A A D +=,其中()k D 是一个对角矩阵,它的第p 个元素为()()k p t A ,其余都是1。
当()()()()1k k p q t A t A >时与此类似;(3) 经过k 次迭代后有(1)()()k k k A A D AD +===,其中()(1)(0)k k D D D D -=; (4) 不难验证,每步迭代中,若不计比较大小运算,计算量大约是22n n +。
但是需要注意的是,由于()k A 和(1)k A +只在一列上不同,可以利用递归关系将(1)()k i t A +用()()k i t A 表示出来,以减少运算量,这样每步运算量可达到()O n ;(5) 对该算法第4步略加修改,即可用来判别非奇异M-矩阵,在此略去。
下面,我们给出这个算法的一个最重要的性质。