为什么 NetworkX 会为无向图生成不对称的邻接矩阵
Why does the NetworkX generate an adjacency matrix that is not symmetric for an undirected graph
我正在尝试使用 NetworkX 学习编码。我现在正在尝试使用我编写的以下代码获取无向图的邻接矩阵:
mat = nx.adjacency_matrix(graph)
matDense = mat.todense();
print(len(matDense ))
print(len(matDense [0]))
输出为
38
1
我对邻接矩阵的理解是它应该是对称的,但是,输出似乎不是,NetworkX 生成的邻接矩阵似乎是 38*1 矩阵而不是 38*38?
如果这样,我如何访问邻接矩阵的单个单元格,目前我只能定位到 rows.If matDense[0][2],将抛出数组索引越界错误。
在此先感谢您的帮助!
是方阵
问题出在这个命令中:
print(len(matDense [0]))
matDense[0]
是一个由单行组成的矩阵。本例中的 len
命令告诉您只有一行。尝试
print(len(matDense[0].transpose()))
我正在尝试使用 NetworkX 学习编码。我现在正在尝试使用我编写的以下代码获取无向图的邻接矩阵:
mat = nx.adjacency_matrix(graph)
matDense = mat.todense();
print(len(matDense ))
print(len(matDense [0]))
输出为
38
1
我对邻接矩阵的理解是它应该是对称的,但是,输出似乎不是,NetworkX 生成的邻接矩阵似乎是 38*1 矩阵而不是 38*38?
如果这样,我如何访问邻接矩阵的单个单元格,目前我只能定位到 rows.If matDense[0][2],将抛出数组索引越界错误。
在此先感谢您的帮助!
是方阵
问题出在这个命令中:
print(len(matDense [0]))
matDense[0]
是一个由单行组成的矩阵。本例中的 len
命令告诉您只有一行。尝试
print(len(matDense[0].transpose()))