Python 用Igraph计算图的特征值谱

Python 用Igraph计算图的特征值谱,python,networkx,igraph,Python,Networkx,Igraph,使用Python中的Igraph,是否有一种方法可以计算(最终绘制)本文中描述的图的特征值谱 如果是,需要使用哪些功能?如果没有,有哪些好的替代方法?好的,所以我想出了如何只使用IGRAPHE来实现这一点: 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 =

使用Python中的Igraph,是否有一种方法可以计算(最终绘制)本文中描述的图的特征值谱


如果是,需要使用哪些功能?如果没有,有哪些好的替代方法?

好的,所以我想出了如何只使用IGRAPHE来实现这一点:

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

Ok,所以我想出了只使用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

Ok,所以我想出了只使用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

Ok,所以我想出了只使用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

这样更简单,也可能更快

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

这样更简单,也可能更快

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

这样更简单,也可能更快

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

这不就是把图转换成一个邻接矩阵,然后计算矩阵的特征值吗?可能是,我看到网络有一个功能来做这件事,但它确实有点过分了。那我就去numpy登记。谢谢。这不就是把图转换成邻接矩阵,然后计算矩阵的特征值吗?可能是,我看到网络有这样的功能,但它确实有点过分了。那我就去numpy登记。谢谢。这不就是把图转换成邻接矩阵,然后计算矩阵的特征值吗?可能是,我看到网络有这样的功能,但它确实有点过分了。那我就去numpy登记。谢谢。这不就是把图转换成邻接矩阵,然后计算矩阵的特征值吗?可能是,我看到网络有这样的功能,但它确实有点过分了。那我就去numpy登记。谢谢,谢谢!问题是,我有一个igraph图形开始,转换需要一段时间,我想…谢谢!问题是,我有一个igraph图形开始,转换需要一段时间,我想…谢谢!问题是,我有一个igraph图形开始,转换需要一段时间,我想…谢谢!问题是,我有一个igraph图开始,转换需要一段时间,我想…注意,图的拉普拉斯矩阵不同于邻接矩阵,但它很容易在两者之间转换()。你提到的论文使用了邻接矩阵的特征值,而不是拉普拉斯矩阵的特征值。请注意,图的拉普拉斯矩阵与邻接矩阵不同,但很容易在两者之间转换()。你提到的论文使用了邻接矩阵的特征值,而不是拉普拉斯矩阵的特征值。请注意,图的拉普拉斯矩阵与邻接矩阵不同,但很容易在两者之间转换()。你提到的论文使用了邻接矩阵的特征值,而不是拉普拉斯矩阵的特征值。请注意,图的拉普拉斯矩阵与邻接矩阵不同,但很容易在两者之间转换()。你提到的那篇论文使用了邻接矩阵的特征值,而不是拉普拉斯矩阵的特征值。