Re: A newbee to Mathematica
- To: mathgroup at smc.vnet.net
- Subject: [mg97220] Re: A newbee to Mathematica
- From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
- Date: Sun, 8 Mar 2009 05:53:03 -0500 (EST)
- References: <got87g$gel$1@smc.vnet.net>
Mathematica has two sets of graph functions, one set natively built-in in 7 and one delivered by the Combinatorica package. The latter one is an external development and its graph structures differ from the internal ones. Mathematica can use the Combinatorica graph structurs, but not vice versa. What you are using is a mixture of these worlds. FromAdjacencyMatrix is from Combinatorica and GraphPlot3D is a built-in function. If it were the other way around you would need to convert the graph. The built-in functions can handle adjaceny matrices, so you wouldn't need Combinatorica if the only thing you want is visualizing a graph. I believe that the adjacency matrices Mathematica uses are binary and you are using edge weights. However, the problem you have follows from typos. Instead of: g[FromAdjacencyMatrix[am, EdgeWeight], VertexLabeling -> True, EdgeLabeling -> True] GraphPlot3D[g] you probably intended to write: g = FromAdjacencyMatrix[am, EdgeWeight] GraphPlot3D[g, VertexLabeling -> True, EdgeLabeling -> True] This works, but there are issues as well. Syntax coloring shows that EdgeLabeling is not an option of GraphPlot3D. It is an option of GraphPlot. However, since you haven't given any edge labels this option doesn't make sense. Cheers -- Sjoerd On Mar 7, 9:37 am, Nishant <von... at gmail.com> wrote: > Hi I have just started using mathematica,and therefore have a very silly = question that needs an answer. > I am trying to run this: > Needs["GraphUtilities`"] > Needs["Combinatorica`"] > am = {{1, 0, 1, 2, 0, 1, 2}, {0, 0, 0, 0, 1, 1, 1}, {1, 0, 0, 1, 1, 1, > 1}, {0, 3, 1, 4, 1, 0, 1}, {0, 1, 1, 1, 0, 1, 0}, {1, 1, 1, 0,= 1, > 0, 0}, {1, 1, 5, 1, 0, 0, 0}}; > > MatrixForm[am] > g[FromAdjacencyMatrix[am, EdgeWeight], VertexLabeling -> True, > EdgeLabeling -> True] > GraphPlot3D[g] > I am getting this error message: > GraphPlot3D::grph:Graph:<11,7,Undirected> is not a valid graph. > > BASICALLY what I want to do is to generate a 3d graph from a given adjace= ncy matrix,with the elements of the matrix showing the weights of each edge= as is provided in FromAdjacencyMatrix[g,Edgeweight] > > Thank you for helping me out