使用公式计算 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 轻松实现。