1
我試圖計算的複雜網絡的拉普拉斯矩陣的第二最小特徵值(10000個節點)使用所述移位倒置模式蟒,這裏是代碼:如何用python獲得複雜網絡拉普拉斯矩陣的第二小特徵值?
import numpy as np
import networkx as nx
from scipy import sparse
G = nx.watts_strogatz_graph(10000,4,0.1)
degree_dict = nx.degree(G)
degree_list = []
for i in degree_dict:
degree_list.append(degree_dict[i])
lap_matrix = sparse.diags(degree_list, 0)-nx.adjacency_matrix(G)
eigval, eigvec = sparse.linalg.eigsh(lap_matrix, 2, sigma=0, which='LM')
second_eigval = eigval[1]
上面的代碼運行時,我得到:
RuntimeError: Factor is exactly singular
錯誤是否意味着拉普拉斯矩陣是奇異的? 關於我應該如何進行的任何想法? 有沒有其他的方法來計算這個第二小的特徵值(用Matlab或任何其他編程語言)?