コード例 #1
0
    def test_pagerank(self):
        G = self.G
        p = nx.pagerank(G, alpha=0.9, tol=1.0e-08)
        for n in G:
            assert almost_equal(p[n], G.pagerank[n], places=4)

        nstart = dict((n, random.random()) for n in G)
        p = nx.pagerank(G, alpha=0.9, tol=1.0e-08, nstart=nstart)
        for n in G:
            assert almost_equal(p[n], G.pagerank[n], places=4)
コード例 #2
0
 def test_incomplete_personalization(self):
     G = nx.complete_graph(4)
     personalize = {3: 1}
     answer = {
         0: 0.22077931820379187,
         1: 0.22077931820379187,
         2: 0.22077931820379187,
         3: 0.3376620453886241,
     }
     p = nx.pagerank(G, alpha=0.85, personalization=personalize)
     for n in G:
         assert almost_equal(p[n], answer[n], places=4)
コード例 #3
0
 def test_personalization(self):
     G = nx.complete_graph(4)
     personalize = {0: 1, 1: 1, 2: 4, 3: 4}
     answer = {
         0: 0.23246732615667579,
         1: 0.23246732615667579,
         2: 0.267532673843324,
         3: 0.2675326738433241,
     }
     p = nx.pagerank(G, alpha=0.85, personalization=personalize)
     for n in G:
         assert almost_equal(p[n], answer[n], places=4)
コード例 #4
0
 def test_pagerank_max_iter(self):
     with pytest.raises(nx.PowerIterationFailedConvergence):
         nx.pagerank(self.G, max_iter=0)
コード例 #5
0
 def test_empty(self):
     G = nx.Graph()
     assert nx.pagerank(G) == {}
     assert nx.pagerank_numpy(G) == {}
     assert nx.google_matrix(G).shape == (0, 0)
コード例 #6
0
 def test_dangling_pagerank(self):
     pr = nx.pagerank(self.G, dangling=self.dangling_edges)
     for n in self.G:
         assert almost_equal(pr[n], self.G.dangling_pagerank[n], places=4)