Spectrum ======== >>> try: ... import numpy.linalg ... eigenvalues=numpy.linalg.eigvals ... except ImportError: ... raise ImportError,"numpy not found" >>> from networkx.generators.degree_seq import * >>> from networkx.spectrum import * >>> import sys >>> deg=[3,2,2,1,0] >>> G=havel_hakimi_graph(deg) Adjacency Matrix ---------------- >>> NA=N.array([[0, 1, 1, 1, 0], [1, 0, 1, 0, 0], [1, 1, 0, 0, 0], [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]]) >>> s=N.sum(N.sum((adj_matrix(G)-NA))) >>> print float(s) 0.0 Laplacian --------- >>> NL=N.array([[3, -1, -1, -1, 0], [-1, 2, -1, 0, 0], [-1, -1, 2, 0, 0], [-1, 0, 0, 1, 0], [0, 0, 0, 0, 0]]) >>> L= laplacian(G) >>> s=N.sum(N.sum((adj_matrix(G)-NA))) >>> print float(s) 0.0 >>> NGL=N.array([[3, -1, -1, -1, 0], [-1, 2, -1, 0, 0], [-1, -1, 2, 0, 0], [-1, 0, 0, 1, 0], [0, 0, 0, 0, 0]]) >>> GL=generalized_laplacian(G) >>> for row in GL: ... for entry in row: ... sys.stdout.write("%5.2f "%entry) ... print 1.00 -0.41 -0.41 -0.58 0.00 -0.41 1.00 -0.50 0.00 0.00 -0.41 -0.50 1.00 0.00 0.00 -0.58 0.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 Eigenvalues ----------- >>> e=eigenvalues(L) >>> print map(int,map(round,sorted(e))) [0, 0, 1, 3, 4] >>> e=eigenvalues(GL) >>> for ev in sorted(e): ... print "%5.2f"%abs(ev) 0.00 0.00 0.77 1.50 1.73