algebraic_connectivity#

algebraic_connectivity(G, weight='weight', normalized=False, tol=1e-08, method='tracemin_pcg', seed=None)[source]#

返回无向图的代数连通性。

一个连通无向图的代数连通性是其拉普拉斯矩阵的第二小特征值。

Parameters:
GNetworkX 图

一个无向图。

weight对象, 可选 (默认: None)

用于确定每条边权重的数据键。如果为 None,则每条边的权重为单位权重。

normalized布尔值, 可选 (默认: False)

是否使用归一化拉普拉斯矩阵。

tol浮点数, 可选 (默认: 1e-8)

特征值计算中的相对残差的容差。

method字符串, 可选 (默认: ‘tracemin_pcg’)

特征值计算方法。必须是以下 tracemin 选项之一(TraceMIN)、’lanczos’(Lanczos 迭代)或 ‘lobpcg’(LOBPCG)。

TraceMIN 算法使用线性系统求解器。以下值允许指定要使用的求解器。

求解器

‘tracemin_pcg’

预处理共轭梯度法

‘tracemin_lu’

LU 分解

seed整数, random_state, 或 None (默认)

随机数生成状态的指示器。 参见 Randomness

Returns:
algebraic_connectivity浮点数

代数连通性。

Raises:
NetworkXNotImplemented

如果 G 是有向图。

NetworkXError

如果 G 的节点数少于两个。

See also

laplacian_matrix

Notes

边权重按其绝对值解释。对于 MultiGraph,平行边的权重会被求和。零权重的边被忽略。

Examples

对于无向图,代数连通性可以告诉我们图是否连通

G 是连通的当且仅当 algebraic_connectivity(G) > 0 :

>>> G = nx.complete_graph(5)
>>> nx.algebraic_connectivity(G) > 0
True
>>> G.add_node(10)  # G 不再连通
>>> nx.algebraic_connectivity(G) > 0
False