networkx.algorithms.cluster.generalized_degree

generalized_degree(G, nodes=None)[源代码]

计算节点的广义度。

对于每个节点,广义度数显示节点连接到的给定三角形多重性的边数。边的三角形多重性是边参与的三角形数。广义节点度 \(i\) 可以写成矢量 \(\mathbf{{k}}_i=(k_i^{{(0)}}, \dotsc, k_i^{{(N-2)}})\) 在哪里? \(k_i^{{(j)}}\) 是附加到节点的边数 \(i\) 参与 \(j\) 三角形。

参数
  • G图表

  • 结点container of nodes, optional (default=all nodes in G) )--计算此容器中节点的广义度。

返回

out --指定节点的广义度。计数器由边三角形多重性键控。

返回类型

Counter, or dictionary of Counters

实际案例

>>> G=nx.complete_graph(5)
>>> print(nx.generalized_degree(G,0))
Counter({3: 4})
>>> print(nx.generalized_degree(G))
{0: Counter({3: 4}), 1: Counter({3: 4}), 2: Counter({3: 4}), 3: Counter({3: 4}), 4: Counter({3: 4})}

要恢复连接到节点的三角形数,请执行以下操作:

>>> k1 = nx.generalized_degree(G,0)
>>> sum([k*v for k,v in k1.items()])/2 == nx.triangles(G,0)
True

提示

在一个由n个节点组成的网络中,一条边可以拥有的最大三角形乘法是n-2。

返回值不包括 zero 如果不存在特定三角形多重性的边,则输入。

三角形节点的数目 \(i\) 依附于可从广义度恢复 \(\mathbf{{k}}_i=(k_i^{{(0)}}, \dotsc, k_i^{{(N-2)}})\) 通过 \((k_i^{{(1)}}+2k_i^{{(2)}}+\dotsc +(N-2)k_i^{{(N-2)}})/2\) .

引用

1

V.Zlati_,D.Garlaschelli和G.Caldarelli的任意边缘多重性网络,EPL(欧洲物理字母),第97卷,第2期(2012年)。https://iopsecience.iop.org/article/10.1209/0295-5075/97/28005