2

Matlab 有一个名为的函数dmperm,用于计算矩阵的所谓 Dulmage-Mendelsohn分解n x n

来自维基百科,Dulmage-Mendelsohn是将二分图的顶点划分为子集,具有两个相邻顶点属于同一子集的属性当且仅当它们在图的完美匹配中相互配对。

在 scipy 和 numpy 上查看,我找不到这个函数,也找不到一些类似的版本。是否可以使用基本的线性代数运算来实现它?知道这是否在某些 Python 包中实现?

4

1 回答 1

1

“知道这是否在某些 Python 包中实现?”

好吧,MATLAB 有一个 Python API,这绝对是肯定的。包名为matlab.engine,安装可以看这里。请注意,您可能必须使用 sudo 权限安装它。

例如用法 letA是一些矩阵,然后你可以找到dmpermwith

import matlab.engine
eng = matlab.engine.start_matlab()
#Define A
B = eng.dmperm(eng.double(A)) #Apply MATLABs dmperm
于 2018-11-13T14:10:24.257 回答