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(sorted(MG.edges()), sorted(G.edges()))
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(sorted(MG.edges()), sorted(G.edges()))
def test_create_using(self): cs = "ddiiddid" G = nxt.threshold_graph(cs) assert pytest.raises( nx.exception.NetworkXError, nxt.threshold_graph, cs, create_using=nx.DiGraph(), ) MG = nxt.threshold_graph(cs, create_using=nx.MultiGraph()) assert sorted(MG.edges()) == sorted(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(d for n, d in G.degree())) 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_fast_versions_properties_threshold_graphs(self): cs = "ddiiddid" G = nxt.threshold_graph(cs) assert nxt.density("ddiiddid") == nx.density(G) assert sorted(nxt.degree_sequence(cs)) == sorted( d for n, d in G.degree()) ts = nxt.triangle_sequence(cs) assert ts == list(nx.triangles(G).values()) assert 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 sum([abs(c - d) for c, d in zip(b1, b2)]) < 1e-14 assert nxt.eigenvalues(cs) == [0, 1, 3, 3, 5, 7, 7, 8] # Degree Correlation assert abs(nxt.degree_correlation(cs) + 0.593038821954) < 1e-12 assert nxt.degree_correlation("diiiddi") == -0.8 assert nxt.degree_correlation("did") == -1.0 assert nxt.degree_correlation("ddd") == 1.0 assert nxt.eigenvalues("dddiii") == [0, 0, 0, 0, 3, 3] assert nxt.eigenvalues("dddiiid") == [0, 1, 1, 1, 4, 4, 7]
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(d for n, d in G.degree())) 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_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): np = pytest.importorskip("numpy") eigenval = np.linalg.eigvals scipy = pytest.importorskip("scipy") cs = "ddiiddid" G = nxt.threshold_graph(cs) (tgeval, tgevec) = nxt.eigenvectors(cs) dot = np.dot assert [abs(dot(lv, lv) - 1.0) < 1e-9 for lv in tgevec] == [True] * 8 lapl = nx.laplacian_matrix(G)
def test_eigenvectors(self): np = pytest.importorskip("numpy") eigenval = np.linalg.eigvals pytest.importorskip("scipy") cs = "ddiiddid" G = nxt.threshold_graph(cs) (tgeval, tgevec) = nxt.eigenvectors(cs) np.testing.assert_allclose([np.dot(lv, lv) for lv in tgevec], 1.0, rtol=1e-9) lapl = nx.laplacian_matrix(G)
def test_creation_sequences(self): deg = [3, 2, 2, 1] G = nx.generators.havel_hakimi_graph(deg) with pytest.raises(ValueError): nxt.creation_sequence(deg, with_labels=True, compact=True) cs0 = nxt.creation_sequence(deg) H0 = nxt.threshold_graph(cs0) assert "".join(cs0) == "ddid" cs1 = nxt.creation_sequence(deg, with_labels=True) H1 = nxt.threshold_graph(cs1) assert cs1 == [(1, "d"), (2, "d"), (3, "i"), (0, "d")] cs2 = nxt.creation_sequence(deg, compact=True) H2 = nxt.threshold_graph(cs2) assert cs2 == [2, 1, 1] assert "".join(nxt.uncompact(cs2)) == "ddid" assert graph_could_be_isomorphic(H0, G) assert graph_could_be_isomorphic(H0, H1) assert graph_could_be_isomorphic(H0, H2)
def test_eigenvectors(self): try: import numpy as N eigenval=N.linalg.eigvals import scipy except ImportError: raise SkipTest('SciPy 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 import scipy except ImportError: raise SkipTest('SciPy 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)