Hello !!!!

By the fundamental circuits, do you mean a base of the Cycle space ?
If so, I have to admit I do not know how to do it...

If you want to compute a shortest cycle in a graph, though, I do not
think the girth function can do it at the moment, but I agree it would
be useful to have for such functions an optional argument
"certifitate", giving along with a boolean answer a proof which in
this example would be a cycle.

If you only want to find a cycle in a graph when it is unique (a tree
+ an edge), you can also make use of the "cores" function :

sage: G = graphs.HeawoodGraph()
sage: mst = G.min_spanning_tree()
sage: TG = G.subgraph(edges=mst)
sage: e = G.edges()[-1]
sage: e in TG
False

sage: TG.add_edge(e)
sage: cycle = TG.subgraph([v for v,k in
TG.cores(with_labels=True).items() if k>=2])
sage: cycle.is_isomorphic(graphs.CycleGraph(cycle.order()))
True

I do not know how both methods compare algorithmically, though :-)


By the way, you may be interested in a patch from Alexandre Blondin
Massé that just got positively reviewed :

http://trac.sagemath.org/sage_trac/ticket/8273

(he mentionned he may eventually write the same functions for undirected graphs)

Nathann

-- 
To post to this group, send email to sage-support@googlegroups.com
To unsubscribe from this group, send email to 
sage-support+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to