MATLAB 帮助中心
结构秩
r = sprank(A)
r = sprank(A) 计算稀疏矩阵 A 的结构秩。
A
示例
全部折叠
计算 2×4 矩阵的结构秩。
A = [1 0 2 0 2 0 4 0]; A = sparse(A); rs = sprank(A)
rs = 2
将结构秩与常规秩计算进行比较。
rf = rank(full(A))
rf = 1
对于此矩阵,结构秩是 2,因为两列非零。但是,矩阵的实际秩是 1,因为列互为倍数。
输入矩阵,指定为稀疏矩阵。
数据类型: single | double 复数支持: 是
single
double
一个矩阵的结构秩是具有相同非零模式的所有矩阵的最大秩。如果一个矩阵可以置换,使得对角线有非零项,则该矩阵具有满结构秩。
结构秩是一个矩阵的秩的上限,因此它满足 sprank(A) >= rank(full(A))。
sprank(A) >= rank(full(A))
关于其他函数的结构秩的一些定义如下:
结构秩是“最大匹配”,它与 Dulmage-Mendelsohn 分解的关系为 sprank(A) = sum(dmperm(A)>0)。
sprank(A) = sum(dmperm(A)>0)
与 dmperm 不同,matchpairs 函数在计算匹配时也会考虑权重。您可以通过将矩阵转换为 1 和 0 并将与 matchpairs(double(A~=0),0,'max') 匹配的权重最大化,来计算最大匹配。结构秩则等于匹配的数量。
dmperm
matchpairs
matchpairs(double(A~=0),0,'max')
全部展开
backgroundPool
ThreadPool
此函数完全支持基于线程的环境。有关详细信息,请参阅在基于线程的环境中运行 MATLAB 函数。
您可以将输入矩阵 A 指定为单精度。该函数仍以类型 double 返回与索引相关的输出参量(如排序和置换向量)。
dmperm | matchpairs
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处