當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。