有没有一种方法可以用Python中的Igraph来计算(最终绘制)文中描述的图的特征值谱?使用Igraph计算图的特征值谱
http://lthiwww.epfl.ch/~leveque/Projects/barabasi_al.pdf
如果是的话,需要使用哪些功能?如果不是,有什么好的替代方法?
有没有一种方法可以用Python中的Igraph来计算(最终绘制)文中描述的图的特征值谱?使用Igraph计算图的特征值谱
http://lthiwww.epfl.ch/~leveque/Projects/barabasi_al.pdf
如果是的话,需要使用哪些功能?如果不是,有什么好的替代方法?
好了,我想通了,嗷嗷只与IGRAPH做到这一点:
import numpy.linalg
from igraph import *
import random
import numpy as np
import time
nbr_noeuds = 50
dens = .2
p=random.uniform(dens,dens)
G = Graph.Erdos_Renyi(nbr_noeuds, p, directed=False, loops=False)
t0 = time.time()
L = G.laplacian(normalized=True)
e = numpy.linalg.eigvals(L)
print time.time()-t0
和计算太多速度更快,打印输出为0.0009
更简单,可能更快,这样
In [1]: import networkx as nx
In [2]: from numpy.linalg import eigvals
In [3]: %timeit eigvals(nx.normalized_laplacian_matrix(nx.fast_gnp_random_graph(50,0.2)).A)
100 loops, best of 3: 3.13 ms per loop
谢谢!问题是,我有一个igraph图开始,转换需要一段时间,我认为... – Rodolphe 2014-09-23 17:28:35
是不是只是将图转换成邻接矩阵,然后计算矩阵的特征值? – Bitwise 2014-09-22 18:25:49
可能的是,我看到网络有一个功能可以做到,但它确实会过度杀伤。然后我会检查numpy。谢谢。 – Rodolphe 2014-09-22 18:27:41