Python中的Dulmage Mendelsohn矩阵分解



Matlab有一个名为dmperm的函数,它计算所谓的Dumage–Mendelsohnn x n矩阵的分解。

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

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

"如果这是在某个Python包中实现的,你知道吗?">

由于MATLAB有Python API,这肯定是肯定的。该软件包名为matlab.engine,您可以在此处查看以进行安装。请注意,您可能需要使用sudo权限来安装它。

例如,使用A是某个矩阵,则可以找到具有的dmperm

import matlab.engine
eng = matlab.engine.start_matlab()
#Define A
B = eng.dmperm(eng.double(A)) #Apply MATLABs dmperm

最新更新