当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python cugraph.components.connectivity.strongly_connected_components用法及代码示例


用法:

cugraph.components.connectivity.strongly_connected_components(G, directed=None, connection=None, return_labels=None)

生成强连通组件并将组件标签附加到每个顶点。

参数

Gcugraph.Graph、networkx.Graph、CuPy 或 SciPy 稀疏矩阵

图或矩阵对象,应包含连接信息(此算法不使用边权重)。如果使用图对象,则图可以是有向的或无向的,其中无向边由两个方向的有向边表示。如果不存在邻接列表,则将计算该邻接列表。顶点数应适合 32b int.

directed布尔型,可选
NOTE

仅适用于 G 的非图形类型(例如稀疏矩阵)值。如果与 Graph 对象一起使用,则引发 TypeError。

如果为 True(默认),则将输入矩阵转换为 cugraph.DiGraph,并且仅沿路径 csgraph[i, j] 从点 i 移动到点 j。如果为 False,则在无向图上找到最短路径:算法可以从点 i 沿 csgraph[i, j] 或 csgraph[j, i] 前进到 j。

connectionstr,可选(默认=无)

为 SciPy 兼容性而添加,只能为 G 的非图形类型(例如稀疏矩阵)值指定(如果与 Graph 对象一起使用,则会引发 TypeError),并且只能将此 API 设置为 “strong”。

return_labels布尔型,可选
NOTE

仅适用于 G 的非图形类型(例如稀疏矩阵)值。如果与 Graph 对象一起使用,则引发 TypeError。

如果为 True(默认),则返回每个连接组件的标签。

返回

返回值类型基于输入类型。如果 G 是一个 cugraph.Graph,
返回:
cudf.DataFrame

GPU 数据帧包含两个大小为 V 的 cudf.Series:顶点标识符和对应的组件标识符。

df[‘vertex’]

包含顶点标识符

df[‘labels’]

组件标识符

如果 G 是 networkx.Graph,则返回:

python字典,其中键是顶点,值是组件标识符。

如果 G 是 CuPy 或 SciPy 矩阵,则返回:

形状为 (<num vertices>, 2) 的 CuPy ndarray(如果是 CuPy 矩阵输入)或 Numpy ndarray(如果是 SciPy 矩阵输入),其中第 0 列包含组件标识符,第 1 列包含顶点。

例子

>>> M = cudf.read_csv(datasets_path / 'karate.csv',
...                   delimiter = ' ',
...                   dtype=['int32', 'int32', 'float32'],
...                   header=None)
>>> G = cugraph.Graph()
>>> G.from_cudf_edgelist(M, source='0', destination='1', edge_attr=None)
>>> df = cugraph.strongly_connected_components(G)

相关用法


注:本文由纯净天空筛选整理自rapids.ai大神的英文原创作品 cugraph.components.connectivity.strongly_connected_components。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。