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)
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)
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)
def test_pagerank_max_iter(self): with pytest.raises(nx.PowerIterationFailedConvergence): nx.pagerank(self.G, max_iter=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)
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)