Exemple #1
0
 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()))
Exemple #2
0
 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()))
Exemple #3
0
 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())
Exemple #4
0
    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])
Exemple #5
0
    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]
Exemple #6
0
    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])
Exemple #7
0
    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))
Exemple #8
0
    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))
Exemple #9
0
    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)
Exemple #10
0
    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)
Exemple #11
0
    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)
Exemple #12
0
    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)
Exemple #13
0
    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)