def test_lexicographic_product_size(): K5 = nx.complete_graph(5) P5 = nx.path_graph(5) K3 = nx.complete_graph(3) G = nx.lexicographic_product(P5, K3) assert_equal(nx.number_of_nodes(G), 5 * 3) G = nx.lexicographic_product(K3, K5) assert_equal(nx.number_of_nodes(G), 3 * 5)
def test_lexicographic_product_size(): K5=nx.complete_graph(5) P5=nx.path_graph(5) K3=nx.complete_graph(3) G=lexicographic_product(P5,K3) assert_equal(nx.number_of_nodes(G),5*3) G=lexicographic_product(K3,K5) assert_equal(nx.number_of_nodes(G),3*5)
def test_lexicographic_product_combinations(): P5 = nx.path_graph(5) K3 = nx.complete_graph(3) G = nx.lexicographic_product(P5, K3) assert_equal(nx.number_of_nodes(G), 5 * 3) G = nx.lexicographic_product(nx.MultiGraph(P5), K3) assert_equal(nx.number_of_nodes(G), 5 * 3) G = nx.lexicographic_product(P5, nx.MultiGraph(K3)) assert_equal(nx.number_of_nodes(G), 5 * 3) G = nx.lexicographic_product(nx.MultiGraph(P5), nx.MultiGraph(K3)) assert_equal(nx.number_of_nodes(G), 5 * 3)
def test_lexicographic_product_combinations(): P5 = nx.path_graph(5) K3 = nx.complete_graph(3) G = lexicographic_product(P5, K3) assert_equal(nx.number_of_nodes(G), 5 * 3) G = lexicographic_product(nx.MultiGraph(P5), K3) assert_equal(nx.number_of_nodes(G), 5 * 3) G = lexicographic_product(P5, nx.MultiGraph(K3)) assert_equal(nx.number_of_nodes(G), 5 * 3) G = lexicographic_product(nx.MultiGraph(P5), nx.MultiGraph(K3)) assert_equal(nx.number_of_nodes(G), 5 * 3)
def test_lexicographic_product_random(): G = nx.erdos_renyi_graph(10, 2 / 10.) H = nx.erdos_renyi_graph(10, 2 / 10.) GH = nx.lexicographic_product(G, H) for (u_G, u_H) in GH.nodes(): for (v_G, v_H) in GH.nodes(): if G.has_edge(u_G, v_G) or (u_G == v_G and H.has_edge(u_H, v_H)): assert_true(GH.has_edge((u_G, u_H), (v_G, v_H))) else: assert_true(not GH.has_edge((u_G, u_H), (v_G, v_H)))
def test_lexicographic_product_random(): G = nx.erdos_renyi_graph(10,2/10.) H = nx.erdos_renyi_graph(10,2/10.) GH = lexicographic_product(G,H) for (u_G,u_H) in GH.nodes_iter(): for (v_G,v_H) in GH.nodes_iter(): if G.has_edge(u_G,v_G) or (u_G==v_G and H.has_edge(u_H,v_H)): assert_true(GH.has_edge((u_G,u_H),(v_G,v_H))) else: assert_true(not GH.has_edge((u_G,u_H),(v_G,v_H)))
def vector_product(request): """Function for calculating a vector product of 2 graphs This function is getting 2 graphs and return their vector product """ raw_data = request.GET.dict() first_graph = raw_data["first_graph"] sec_graph_data = Graph.objects.get(id=int(raw_data["second_graph"])) with open(sec_graph_data.path_to_graph) as file: second_graph = json.load(file) second_graph = json.loads(second_graph["graph"]) first_graph = json.loads(first_graph) first_matrix = np.matrix(cn.to_matrix(first_graph)) second_matrix = np.matrix(cn.to_matrix(second_graph)) first_graph_nx = create_graph(first_matrix, first_graph) second_graph_nx = create_graph(second_matrix, second_graph) product = nx.lexicographic_product(first_graph_nx, second_graph_nx) data = cn.to_json(nx.to_numpy_matrix(product).tolist(), first_graph) return JsonResponse(data)
def test_lexicographic_product_null(): null = nx.null_graph() empty10 = nx.empty_graph(10) K3 = nx.complete_graph(3) K10 = nx.complete_graph(10) P3 = nx.path_graph(3) P10 = nx.path_graph(10) # null graph G = nx.lexicographic_product(null, null) assert_true(nx.is_isomorphic(G, null)) # null_graph X anything = null_graph and v.v. G = nx.lexicographic_product(null, empty10) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(null, K3) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(null, K10) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(null, P3) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(null, P10) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(empty10, null) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(K3, null) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(K10, null) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(P3, null) assert_true(nx.is_isomorphic(G, null)) G = nx.lexicographic_product(P10, null) assert_true(nx.is_isomorphic(G, null))
def test_lexicographic_product_raises(): P = nx.lexicographic_product(nx.DiGraph(), nx.Graph())
def test_lexicographic_product_null(): null=nx.null_graph() empty10=nx.empty_graph(10) K3=nx.complete_graph(3) K10=nx.complete_graph(10) P3=nx.path_graph(3) P10=nx.path_graph(10) # null graph G=lexicographic_product(null,null) assert_true(nx.is_isomorphic(G,null)) # null_graph X anything = null_graph and v.v. G=lexicographic_product(null,empty10) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(null,K3) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(null,K10) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(null,P3) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(null,P10) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(empty10,null) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(K3,null) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(K10,null) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(P3,null) assert_true(nx.is_isomorphic(G,null)) G=lexicographic_product(P10,null) assert_true(nx.is_isomorphic(G,null))
def test_lexicographic_product_raises(): P = lexicographic_product(nx.DiGraph(), nx.Graph())
def test_lexicographic_product_raises(): with pytest.raises(nx.NetworkXError): P = nx.lexicographic_product(nx.DiGraph(), nx.Graph())