def test_create_using(self): cs='ddiiddid' G=nxt.threshold_graph(cs) assert_raises(nx.exception.NetworkXError, nxt.threshold_graph, cs, create_using=nx.DiGraph()) MG=nxt.threshold_graph(cs,create_using=nx.MultiGraph()) assert_equal(MG.edges(), G.edges())
def test_fast_versions_properties_threshold_graphs(self): cs='ddiiddid' G=nxt.threshold_graph(cs) assert_equal(nxt.density('ddiiddid'), nx.density(G)) assert_equal(sorted(nxt.degree_sequence(cs)), sorted(G.degree().values())) ts=nxt.triangle_sequence(cs) assert_equal(ts, list(nx.triangles(G).values())) assert_equal(sum(ts) // 3, nxt.triangles(cs)) c1=nxt.cluster_sequence(cs) c2=list(nx.clustering(G).values()) assert_almost_equal(sum([abs(c-d) for c,d in zip(c1,c2)]), 0) b1=nx.betweenness_centrality(G).values() b2=nxt.betweenness_sequence(cs) assert_true(sum([abs(c-d) for c,d in zip(b1,b2)]) < 1e-14) assert_equal(nxt.eigenvalues(cs), [0, 1, 3, 3, 5, 7, 7, 8]) # Degree Correlation assert_true(abs(nxt.degree_correlation(cs)+0.593038821954) < 1e-12) assert_equal(nxt.degree_correlation('diiiddi'), -0.8) assert_equal(nxt.degree_correlation('did'), -1.0) assert_equal(nxt.degree_correlation('ddd'), 1.0) assert_equal(nxt.eigenvalues('dddiii'), [0, 0, 0, 0, 3, 3]) assert_equal(nxt.eigenvalues('dddiiid'), [0, 1, 1, 1, 4, 4, 7])
def test_creation_sequences(self): deg=[3,2,2,1] G=nx.generators.havel_hakimi_graph(deg) cs0=nxt.creation_sequence(deg) H0=nxt.threshold_graph(cs0) assert_equal(''.join(cs0), 'ddid') cs1=nxt.creation_sequence(deg, with_labels=True) H1=nxt.threshold_graph(cs1) assert_equal(cs1, [(1, 'd'), (2, 'd'), (3, 'i'), (0, 'd')]) cs2=nxt.creation_sequence(deg, compact=True) H2=nxt.threshold_graph(cs2) assert_equal(cs2, [2, 1, 1]) assert_equal(''.join(nxt.uncompact(cs2)), 'ddid') assert_true(graph_could_be_isomorphic(H0,G)) assert_true(graph_could_be_isomorphic(H0,H1)) assert_true(graph_could_be_isomorphic(H0,H2))
def test_eigenvectors(self): try: import numpy as N eigenval=N.linalg.eigvals except ImportError: raise SkipTest('NumPy not available.') cs='ddiiddid' G=nxt.threshold_graph(cs) (tgeval,tgevec)=nxt.eigenvectors(cs) dot=N.dot assert_equal([ abs(dot(lv,lv)-1.0)<1e-9 for lv in tgevec ], [True]*8) lapl=nx.laplacian_matrix(G)
def test_eigenvectors(self): try: import numpy as N eigenval=N.linalg.eigvals except ImportError: raise SkipTest('NumPy not available.') cs='ddiiddid' G=nxt.threshold_graph(cs) (tgeval,tgevec)=nxt.eigenvectors(cs) dot=N.dot assert_equal([ abs(dot(lv,lv)-1.0)<1e-9 for lv in tgevec ], [True]*8) lapl=nx.laplacian(G) tgev=[ dot(lv,dot(lapl,lv)) for lv in tgevec ] assert_true(sum([abs(c-d) for c,d in zip(tgev,tgeval)]) < 1e-9) tgev.sort() lev=list(eigenval(lapl)) lev.sort() assert_true(sum([abs(c-d) for c,d in zip(tgev,lev)]) < 1e-9)