Dulmage-Mendelsohn分解
p = dmperm (A)
[p, q, r, s, cc, rr] = dmperm (A)
p = dmperm (A)
发现一个向量p
这样p (j) =我
如果列j
匹配行我
,或0 if列j
是无与伦比的。如果一个
为结构秩满的方阵,p
是否最大匹配行排列和一个(p,:)
对角线不为零。的结构等级一个
是sprank (A) =总和(p > 0)
.
[p, q, r, s, cc, rr] = dmperm (A)
在哪里一个
不需要是正方形或完全的结构秩,找到Dulmage-Mendelsohn分解一个
.p
和问
行和列的排列向量,是否分别是这样的(p, q)
有块上三角形的形式。r
和年代
为指示精细分解块边界的索引向量。cc
和rr
为长度为5的向量,表示粗分解的块边界。
C = (p, q)
被分成4
——- - - - - -4
粗块组:
A11 a12 a13 a14 0 0 a23 a24 0 0 a34 0 0 a44
A12
,A23
,A34
是对角线为零的正方形。的列A11
不匹配的列和行A44
是不匹配的行。这些块中的任何一个都可以是空的。在粗分解中th (i, j)
块C (rr(我):rr (i + 1) 1 cc (j): cc (j + 1) 1)
.对于线性系统,
(A11 A12)
系统的欠定部分——它总是矩形的,有更多的列和行,还是0
——- - - - - -0
,
A23
系统中确定的部分——它总是正方形的吗
[A34;A44]
系统的超定部分——总是行多于列的矩形,还是0
——- - - - - -0
.
的结构等级一个
是sprank (A) = rr (4) 1
的数值秩的上界一个
.sprank (A) =排名(全(sprand (A)))
在精确的算术中,概率是1。
的A23
子矩阵通过精细分解(强连通分量)进一步细分为块上三角形式A23
).如果一个
是方形且结构非奇异的,A23
就是整个矩阵。
C (r(我):(i + 1) 1, s (j): s (j + 1) 1)
是(i, j)
块的精细分解。的(1,1)
方块是长方形的方块(A11 A12)
,除非这个区块是0
——- - - - - -0
.的(b, b)
方块是长方形的方块[A34;A44]
,除非这个区块是0
——- - - - - -0
,在那里b =长度(r) 1
.表单的所有其他块C (r(我):1 (i + 1),(我):(i + 1) (1)
是对角块A23
,它们是对角线为零的正方形。
如果一个
线性系统是可约矩阵吗斧头=b可以通过置换来解决吗一个
成块上三角形形式,用不可约对角块,然后执行块回替换。只有排列矩阵的对角线块需要被分解,在对角线以上的块中保存填充和算术。
在图论中,dmperm
在的二部图中找到一个最大尺寸匹配一个
的对角线块(p, q)
对应于该图的强霍尔分量。的输出dmperm
也可用来求无向图或有向图的连通或强连通分量。有关更多信息,请参阅Pothen和Fan[1].
[1] Pothen, Alex和Chin-Ju Fan“计算稀疏矩阵的块三角形式”数学软件学报第16卷,第4期,1990年12月,303-324页。