使用公式计算 python 中无向图中的循环数
Using formula to count number of cycles in undirected graph in python
我偶然发现了这个公式来获取无向图中的 4 循环数:
[![formula to calculate the number of 4-cycle][1]][1]
Ck = 1/2k Tr(Pk-1 A)
k stands for k-cycle, and A is the adjacency matrix, Pk-1 is the path count matrix
网页link:
[数学世界]http://mathworld.wolfram.com/GraphCycle.html
我现在正尝试在 python 中编写这个简单的公式,我可以使用 NetworkX 的 adjacency_matrix 函数来获取邻接矩阵,我也可以获取矩阵轨迹。我只是不确定所谓的路径计数矩阵 Pk,我用谷歌搜索了一段时间,但没有找到关于 this.Could 的直接解释专家建议这个 Pk 矩阵是什么,我想知道是否可以在 Python?
提前致谢!
我的猜测是 P_k = A^k
。但是由于您对 4 个周期的数量感兴趣,您可以简单地使用 link:
的公式 (3)
8c_4 = Tr(A^4) - 2m - 2 \sum_i{i\ne j} a_{ij}^{(2)}
其中 a_{ij}^{(2)}
是 A^2
的元素。
这个公式应该可以通过 numpy
轻松实现。
我偶然发现了这个公式来获取无向图中的 4 循环数:
[![formula to calculate the number of 4-cycle][1]][1]
Ck = 1/2k Tr(Pk-1 A)
k stands for k-cycle, and A is the adjacency matrix, Pk-1 is the path count matrix
网页link:
[数学世界]http://mathworld.wolfram.com/GraphCycle.html
我现在正尝试在 python 中编写这个简单的公式,我可以使用 NetworkX 的 adjacency_matrix 函数来获取邻接矩阵,我也可以获取矩阵轨迹。我只是不确定所谓的路径计数矩阵 Pk,我用谷歌搜索了一段时间,但没有找到关于 this.Could 的直接解释专家建议这个 Pk 矩阵是什么,我想知道是否可以在 Python?
提前致谢!
我的猜测是 P_k = A^k
。但是由于您对 4 个周期的数量感兴趣,您可以简单地使用 link:
8c_4 = Tr(A^4) - 2m - 2 \sum_i{i\ne j} a_{ij}^{(2)}
其中 a_{ij}^{(2)}
是 A^2
的元素。
这个公式应该可以通过 numpy
轻松实现。