Re: Relationship between vertices and indices with GraphDistanceMatrix
- To: mathgroup at smc.vnet.net
- Subject: [mg111522] Re: Relationship between vertices and indices with GraphDistanceMatrix
- From: Daniel Lichtblau <danl at wolfram.com>
- Date: Wed, 4 Aug 2010 05:48:46 -0400 (EDT)
Jon Harrop wrote: > Given a graph represented as edges between vertices, such as the following: > > g = {"1" -> "2", "1" -> "10", "1" -> "11", "2" -> "3", "2" -> "18", > "3" -> "4", "3" -> "12", "4" -> "5", "4" -> "19", "5" -> "6", > "5" -> "13", "6" -> "7", "6" -> "20", "7" -> "8", "7" -> "14", > "8" -> "9", "8" -> "16", "9" -> "10", "9" -> "15", "10" -> "17", > "11" -> "15", "11" -> "12", "12" -> "13", "13" -> "14", > "14" -> "15", "16" -> "20", "16" -> "17", "17" -> "18", > "18" -> "19", "19" -> "20"} > > You can use GraphDistanceMatrix to compute the all-pairs shortest paths as a > matrix. However, without knowledge of the mapping from vertex names to > indices in the resulting matrix, the output is useless. So how are you > supposed to use this function? Needs["GraphUtilities`"] VertexList will retain the correspondence between your vertex names and the vertex positions in the adjacency matrix. In[145]:= ag = AdjacencyMatrix[g]; InputForm[vl = VertexList[g]] Out[146]//InputForm= {"1", "2", "10", "11", "3", "18", "4", "12", "5", "19", "6", "13", "7", "20", "8", "14", "9", "16", "15", "17"} Daniel Lichtblau Wolfram Research