Example #1
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.OI = numpy.array([[-1, -1, -1, 0], [1, 0, 0, -1], [0, 1, 0, 1],
                            [0, 0, 1, 0], [0, 0, 0, 0]])
     self.A = numpy.array([[0, 1, 1, 1, 0], [1, 0, 1, 0,
                                             0], [1, 1, 0, 0, 0],
                           [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]])
     self.WG = havel_hakimi_graph(deg)
     self.WG.add_edges_from((u, v, {
         'weight': 0.5,
         'other': 0.3
     }) for (u, v) in self.G.edges())
     self.WA = numpy.array([[0, 0.5, 0.5, 0.5, 0], [0.5, 0, 0.5, 0, 0],
                            [0.5, 0.5, 0, 0, 0], [0.5, 0, 0, 0, 0],
                            [0, 0, 0, 0, 0]])
     self.MG = nx.MultiGraph(self.G)
     self.MG2 = self.MG.copy()
     self.MG2.add_edge(0, 1)
     self.MG2A = numpy.array([[0, 2, 1, 1, 0], [2, 0, 1, 0, 0],
                              [1, 1, 0, 0, 0], [1, 0, 0, 0, 0],
                              [0, 0, 0, 0, 0]])
     self.MGOI = numpy.array([[-1, -1, -1, -1, 0], [1, 1, 0, 0, -1],
                              [0, 0, 1, 0, 1], [0, 0, 0, 1, 0],
                              [0, 0, 0, 0, 0]])
     self.no_edges_G = nx.Graph([(1, 2), (3, 2, {'weight': 8})])
     self.no_edges_A = numpy.array([[0, 0], [0, 0]])
Example #2
0
 def setup_class(cls):
     deg = [3, 2, 2, 1, 0]
     cls.G = havel_hakimi_graph(deg)
     # fmt: off
     cls.OI = np.array([[-1, -1, -1, 0], [1, 0, 0, -1], [0, 1, 0, 1],
                        [0, 0, 1, 0], [0, 0, 0, 0]])
     cls.A = np.array([[0, 1, 1, 1, 0], [1, 0, 1, 0, 0], [1, 1, 0, 0, 0],
                       [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]])
     # fmt: on
     cls.WG = havel_hakimi_graph(deg)
     cls.WG.add_edges_from((u, v, {
         "weight": 0.5,
         "other": 0.3
     }) for (u, v) in cls.G.edges())
     # fmt: off
     cls.WA = np.array([[0, 0.5, 0.5, 0.5, 0], [0.5, 0, 0.5, 0, 0],
                        [0.5, 0.5, 0, 0, 0], [0.5, 0, 0, 0, 0],
                        [0, 0, 0, 0, 0]])
     # fmt: on
     cls.MG = nx.MultiGraph(cls.G)
     cls.MG2 = cls.MG.copy()
     cls.MG2.add_edge(0, 1)
     # fmt: off
     cls.MG2A = np.array([[0, 2, 1, 1, 0], [2, 0, 1, 0, 0], [1, 1, 0, 0, 0],
                          [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]])
     cls.MGOI = np.array([[-1, -1, -1, -1, 0], [1, 1, 0, 0, -1],
                          [0, 0, 1, 0, 1], [0, 0, 0, 1, 0], [0, 0, 0, 0,
                                                             0]])
     # fmt: on
     cls.no_edges_G = nx.Graph([(1, 2), (3, 2, {"weight": 8})])
     cls.no_edges_A = np.array([[0, 0], [0, 0]])
Example #3
0
 def setUp(self):
     deg=[3,2,2,1,0]
     self.G=havel_hakimi_graph(deg)
     self.OI=numpy.array([[-1, -1, -1, 0],
                         [1, 0, 0, -1],
                         [0, 1, 0, 1],
                         [0, 0, 1, 0],
                         [0, 0, 0, 0]])
     self.A=numpy.array([[0, 1, 1, 1, 0],
                         [1, 0, 1, 0, 0],
                         [1, 1, 0, 0, 0],
                         [1, 0, 0, 0, 0],
                         [0, 0, 0, 0, 0]])
     self.WG=nx.Graph( (u,v,{'weight':0.5,'other':0.3})
             for (u,v) in self.G.edges_iter() )
     self.WG.add_node(4)
     self.WA=numpy.array([[0 , 0.5, 0.5, 0.5, 0],
                         [0.5, 0  , 0.5, 0  , 0],
                         [0.5, 0.5, 0  , 0  , 0],
                         [0.5, 0  , 0  , 0  , 0],
                         [0  , 0  , 0  , 0  , 0]])
     self.MG=nx.MultiGraph(self.G)
     self.MG2=self.MG.copy()
     self.MG2.add_edge(0,1)
     self.MG2A=numpy.array([[0, 2, 1, 1, 0],
                         [2, 0, 1, 0, 0],
                         [1, 1, 0, 0, 0],
                         [1, 0, 0, 0, 0],
                         [0, 0, 0, 0, 0]])
     self.MGOI=numpy.array([[-1, -1, -1, -1, 0],
                         [1, 1, 0, 0, -1],
                         [0, 0, 1, 0, 1],
                         [0, 0, 0, 1, 0],
                         [0, 0, 0, 0, 0]])
 def setUp(self):
     deg=[3,2,2,1,0]
     self.G=havel_hakimi_graph(deg)
     self.P=nx.path_graph(3)
     self.WG=nx.Graph( (u,v,{'weight':0.5,'other':0.3})
             for (u,v) in self.G.edges_iter() )
     self.WG.add_node(4)
Example #5
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.P = nx.path_graph(3)
     self.A = numpy.array([[0, 1, 1, 1, 0], [1, 0, 1, 0,
                                             0], [1, 1, 0, 0, 0],
                           [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]])
Example #6
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     # Graph used as an example in Sec. 4.1 of Langville and Meyer,
     # "Google's PageRank and Beyond". (Used for test_directed_laplacian)
     self.DG = nx.DiGraph()
     self.DG.add_edges_from(((1, 2), (1, 3), (3, 1), (3, 2), (3, 5), (4, 5),
                             (4, 6), (5, 4), (5, 6), (6, 4)))
Example #7
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     # Graph used as an example in Sec. 4.1 of Langville and Meyer,
     # "Google's PageRank and Beyond". (Used for test_directed_laplacian)
     self.DG = nx.DiGraph()
     self.DG.add_edges_from(((1,2), (1,3), (3,1), (3,2), (3,5), (4,5), (4,6),
                             (5,4), (5,6), (6,4)))
Example #8
0
    def setUp(self):
        deg = [3, 2, 2, 1, 0]
        self.G = havel_hakimi_graph(deg)

        # Graph with selfloops
        self.Gsl = self.G.copy()
        for node in self.Gsl.nodes():
            self.Gsl.add_edge(node, node)
Example #9
0
    def setUp(self):
        deg = [3, 2, 2, 1, 0]
        self.G = havel_hakimi_graph(deg)

        # Graph with selfloops
        self.Gsl = self.G.copy()
        for node in self.Gsl.nodes():
            self.Gsl.add_edge(node, node)
 def setUp(self):
     deg=[3,2,2,1,0]
     self.G=havel_hakimi_graph(deg)
     self.P=nx.path_graph(3)
     self.A=numpy.array([[0, 1, 1, 1, 0], 
                         [1, 0, 1, 0, 0], 
                         [1, 1, 0, 0, 0], 
                         [1, 0, 0, 0, 0], 
                         [0, 0, 0, 0, 0]])
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.P = nx.path_graph(3)
     self.WG = nx.Graph((u, v, {
         'weight': 0.5,
         'other': 0.3
     }) for (u, v) in self.G.edges_iter())
     self.WG.add_node(4)
Example #12
0
 def setup_class(cls):
     deg = [3, 2, 2, 1, 0]
     cls.G = havel_hakimi_graph(deg)
     cls.P = nx.path_graph(3)
     cls.WG = nx.Graph((u, v, {'weight': 0.5, 'other': 0.3})
                       for (u, v) in cls.G.edges())
     cls.WG.add_node(4)
     cls.DG = nx.DiGraph()
     nx.add_path(cls.DG, [0, 1, 2])
Example #13
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.WG = nx.Graph((u, v, {"weight": 0.5, "other": 0.3}) for (u, v) in self.G.edges_iter())
     self.WG.add_node(4)
     self.MG = nx.MultiGraph(self.G)
     # Graph with selfloops
     self.Gsl = self.G.copy()
     for node in self.Gsl.nodes():
         self.Gsl.add_edge(node, node)
Example #14
0
    def setUp(self):
        deg=[3,2,2,1,0]
        self.G=havel_hakimi_graph(deg)
        self.WG=nx.Graph( (u,v,{'weight':0.5,'other':0.3})
                for (u,v) in self.G.edges_iter() )
        self.WG.add_node(4)
        self.MG=nx.MultiGraph(self.G)

        # Graph with selfloops
        self.Gsl = self.G.copy()
        for node in self.Gsl.nodes():
            self.Gsl.add_edge(node, node)
Example #15
0
    def setup_class(cls):
        deg = [3, 2, 2, 1, 0]
        cls.G = havel_hakimi_graph(deg)
        cls.WG = nx.Graph(
            (u, v, {"weight": 0.5, "other": 0.3}) for (u, v) in cls.G.edges()
        )
        cls.WG.add_node(4)
        cls.MG = nx.MultiGraph(cls.G)

        # Graph with clsloops
        cls.Gsl = cls.G.copy()
        for node in cls.Gsl.nodes():
            cls.Gsl.add_edge(node, node)
def test_incidence_matrix_simple():
    deg = [3, 2, 2, 1, 0]
    G = havel_hakimi_graph(deg)
    deg = [(1, 0), (1, 0), (1, 0), (2, 0), (1, 0), (2, 1), (0, 1), (0, 1)]
    MG = nx.random_clustered_graph(deg, seed=42)

    I = nx.incidence_matrix(G).todense().astype(int)
    expected = np.array([[1, 1, 1, 0], [0, 1, 0, 1], [1, 0, 0, 1],
                         [0, 0, 1, 0], [0, 0, 0, 0]])
    npt.assert_equal(I, expected)

    I = nx.incidence_matrix(MG).todense().astype(int)
    expected = np.array([[1, 0, 0, 0, 0, 0, 0], [1, 0, 0, 0, 0, 0, 0],
                         [0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
                         [0, 1, 0, 0, 0, 0, 0], [0, 0, 0, 0, 1, 1, 0],
                         [0, 0, 0, 0, 0, 1, 1], [0, 0, 0, 0, 1, 0, 1]])
    npt.assert_equal(I, expected)

    with pytest.raises(NetworkXError):
        nx.incidence_matrix(G, nodelist=[0, 1])
Example #17
0
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.P = nx.path_graph(3)
     self.A = numpy.array([[0, 1, 1, 1, 0], [1, 0, 1, 0,
                                             0], [1, 1, 0, 0, 0],
                           [1, 0, 0, 0, 0], [0, 0, 0, 0, 0]])
     self.WG = nx.Graph((u, v, {
         'weight': 0.5,
         'other': 0.3
     }) for (u, v) in self.G.edges_iter())
     self.WG.add_node(4)
     self.WA = numpy.array([[0, 0.5, 0.5, 0.5, 0], [0.5, 0, 0.5, 0, 0],
                            [0.5, 0.5, 0, 0, 0], [0.5, 0, 0, 0, 0],
                            [0, 0, 0, 0, 0]])
     self.MG = nx.MultiGraph(self.G)
     self.MG2 = self.MG.copy()
     self.MG2.add_edge(0, 1)
     self.MG2A = numpy.array([[0, 2, 1, 1, 0], [2, 0, 1, 0, 0],
                              [1, 1, 0, 0, 0], [1, 0, 0, 0, 0],
                              [0, 0, 0, 0, 0]])
 def setup_class(cls):
     deg = [3, 2, 2, 1, 0]
     cls.G = havel_hakimi_graph(deg)
     cls.P = nx.path_graph(3)
 def setUp(self):
     deg = [3, 2, 2, 1, 0]
     self.G = havel_hakimi_graph(deg)
     self.P = nx.path_graph(3)