【发布时间】:2019-03-13 07:04:29
【问题描述】:
我有一个不对称矩阵。
A B C D
A 0 0 1 0
B 1 0 0 1
C 0 0 0 0
D 1 1 1 0
我正在尝试切换行和列以使其变成三角形。
喜欢:
C A D B
C 0 1 1 0
A 0 0 1 1
D 0 0 0 1
B 0 0 1 0
有人给出了一些由 VBA 制作并在 Microsoft Excel 中使用的代码。根据这些代码中的注释,我发现了一篇 1978 年发表的论文(“算法 529:块三角形形式的排列”),它是用 Fortran 编写的。我还找到了一篇论文(Tarjan's Algorithm for the Block Triangularization of a Matrix),它可能描述了这个概念。
我查看了 numpy 但我没有找到这样的功能。我想知道某些包中是否有现成的模块来完成这个过程。非常感谢。
【问题讨论】:
标签: python-3.x matrix permutation symmetric triangular