Pythonnumpy和NetworkX返回不同的特征值

问题描述 投票:0回答:1
我得到的输出是:

numpy eigenvalues: [1.10622686e-16 2.04666355e-01 1.16666667e+00 1.50000000e+00 1.50000000e+00 1.62866698e+00] networkx eigenvals: [-6.25317335e-16 4.38447187e-01 3.00000000e+00 3.00000000e+00 3.00000000e+00 4.56155281e+00]
当我跑步时:

import numpy as np print('numpy version:',np.__version__) import networkx as nx print('networkx version:',nx.__version__)
输出为:

numpy version: 2.2.3 networkx version: 3.4.2
python3版本是3.12.2

这让我疯了,试图弄清为什么特征值如此不同。可能是我的特定机器(MacBook Pro M3 Max)?

您在使用

NumPy

时在Laplacian矩阵上执行对称归一化,但在使用

NetworkX's

内置函数时不进行对称归一化。
python numpy networkx eigenvalue
1个回答
1
投票
NumPy

,您正在使用您的自定义

symm_norm_laplacian()
函数来计算标准化的laplacian矩阵
,与您直接使用
NetworkX

用不同方法的示例输出:

nx.laplacian_spectrum(G)
    

© www.soinside.com 2019 - 2025. All rights reserved.