Hello. I´m using Sage to teach some network algorithms. The strange thing is
that when I define a graph using the weighted adjacency matrix, I'm able to get
the min_spanning_tree but not the shortest path. However, when I define the
graph using the dictionary form, everything works OK. Here's what I mean:
sage: B =
{0:{1:2,2:5,3:4},1:{2:2,4:7},2:{3:1,4:4,5:3},3:{5:4},4:{5:1,6:5},5:{6:7}}
sage: grafo3 = Graph(B,weighted=True)
sage: grafo3.min_spanning_tree(check=True)
[(2, 3, 1), (4, 5, 1), (0, 1, 2), (1, 2, 2), (2, 5, 3), (4, 6, 5)]
sage: grafo3.shortest_path(0,6,by_weight=True)
[0, 1, 2, 5, 4, 6]
so far so good, everything is as expected. Now I will define other graph using
the weighted adjacency matrix from the previous graph
sage: matad = grafo3.weighted_adjacency_matrix()
sage: grafo4 = Graph(matad,format = "adjacency_matrix", weighted=True)
sage: grafo4.min_spanning_tree(check=True)
[(2, 3, 1), (4, 5, 1), (0, 1, 2), (1, 2, 2), (2, 5, 3), (4, 6, 5)]
with min_spanning_tree there is no problem, but now with shortest path:
sage: grafo4.shortest_path(0,6,by_weight=True)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_104.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8 -*-\\n"
+
_support_.preparse_worksheet_cell(base64.b64decode("Z3JhZm80LnNob3J0ZXN0X3BhdGgoMCw2LGJ5X3dlaWdodD1UcnVlKQ=="),globals())+"\\n");
execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>
File "/tmp/tmpBOCDxN/___code___.py", line 3, in <module>
exec compile(u'grafo4.shortest_path(_sage_const_0 ,_sage_const_6
,by_weight=True)
File "", line 1, in <module>
File
"/usr/lib/sagemath/local/lib/python2.7/site-packages/sage/graphs/generic_graph.py",
line 12265, in shortest_path
L = self._backend.bidirectional_dijkstra(u,v)
File "c_graph.pyx", line 2341, in
sage.graphs.base.c_graph.CGraphBackend.bidirectional_dijkstra
(sage/graphs/base/c_graph.c:15964)
TypeError: a float is required
I tried defining the weighted adjacency matrix myself for other graphs and I
always get the same error whith shortest path, is this a bug or am I missing
something? Thank you very much for your help.
--
You received this message because you are subscribed to the Google Groups
"sage-support" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
Visit this group at http://groups.google.com/group/sage-support?hl=en.