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