MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Graph cycles in Mathematica 8

  • To: mathgroup at smc.vnet.net
  • Subject: [mg115952] Re: Graph cycles in Mathematica 8
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Thu, 27 Jan 2011 03:40:32 -0500 (EST)
  • References: <ihorn7$hkj$1@smc.vnet.net>

Hi Guillermo,

There are two cycle functions in Mathematica 8:

FindEulerianCycle: find a cycle that traverses every edge exactly once
FindHamiltonianCycle: find a cycle that traverses every vertex exactly
once

but these are probably not the ones you were refering to.

A workaround would indeed be to convert the graph to a Combinatorica
graph:

<< Combinatorica`

myM8Graph =  System`Graph[{1 \[UndirectedEdge] 2, 2 \[UndirectedEdge]
3,
   3 \[UndirectedEdge] 1, 3 \[UndirectedEdge] 4,
   4 \[UndirectedEdge] 4}]

(* I add the system context as the M8 Graph is shadowed by the
Combinatorica function of the same name *)

myCombinatoricaGraph =
  FromAdjacencyMatrix[Normal[AdjacencyMatrix[myM8Graph]]];

(* FromAdjacencyMatrix is from Combinatorica whereas AdjacencyMatrix
is from M8; Normal is used because FromAdjacencyMatrix doesn't seem to
dig SparseArrays *)

ShowGraph[myCombinatoricaGraph]

FindCycle[myCombinatoricaGraph]

==> {4, 4}

Hope this helps.

Cheers -- Sjoerd


On Jan 26, 11:06 am, abramson <g.abram... at gmail.com> wrote:
> Hi. The functions FindCycle, ExtractCycle, etc, from the Combinatorica
> package, do not work with the new Graphs implemented in Mathematica 8.
> Is anybody aware of similar functions to find cycles of the new Graph
> objects, or else a way to convert them to objects that FindCycle could
> use? Thanks in advance.
> Guillermo



  • Prev by Date: Odd Behavior of GraphicsRow and GraphPlot
  • Next by Date: Re: eigenstructure table in linear model fit
  • Previous by thread: Graph cycles in Mathematica 8
  • Next by thread: Re: Vector problem