计算 networkx 图中空心三角形的数量

Calculating the number of open triangles in a networkx graph

我有一个networkx图G,比如说

import networkx as nx
G=nx.erdos_renyi_graph(100,.1)

我想以一种有效的方式计算开放三元组的数量,即模式的频率:A 连接到 B,B 连接到 C,但 A 和 B 没有连接。

有没有聪明的方法来利用内置函数?

如果您可以计算 G 的距离矩阵 (1 if i->j, else 0),则可以将其平方并针对每个非对角线条目检查 a[i,j] 是否不同于 a[j,i].