#17640: Error in function Graph.odd_girth()
--------------------------------+--------------------------
Reporter: ffoucaud | Owner:
Type: defect | Status: needs_info
Priority: major | Milestone:
Component: graph theory | Resolution:
Keywords: | Merged in:
Authors: | Reviewers:
Report Upstream: N/A | Work issues:
Branch: | Commit:
Dependencies: | Stopgaps:
--------------------------------+--------------------------
Description changed by ffoucaud:
Old description:
> Hi,
> I'm doing some computations based on enumerating graphs via
> "nauty_geng()". There, I test the odd girth of the generated graphs, and
> after several hours of graph enumeration, the computations stop ith
> errors. The errors seem to come from the function "odd_girth()"
> associated to the "Graph" class, with, according to the error message, a
> possible relation with matrices and primes (see below).
>
> Note: I realise that I am using the precompiled version 5.8 of sage that
> comes with the ubuntu repository (ubuntu 12.04). So maybe this is fixed
> in newer versions... In any case I will now use the latest release.
>
> Here is my code:
>
> {{{
> def OG7_NOhomC5(begin,end):
> F=[]
> C5=graphs.CycleGraph(5)
> for n in [begin .. end]: #range for orders
> for g in graphs.nauty_geng("%s -c -t -d2 -D6"%n):
> if g.girth()==4 and g.odd_girth()>=7:
> maps=g.has_homomorphism_to(C5)
> if maps == False:
> F += [(g.graph6_string())]
> print ' found :-)',F
>
> OG7_NOhomC5(14,14)
> }}}
>
>
> And here are 2 different tracebacks, both with an error located in
> "odd_girth()":
>
> {{{
> Traceback (most recent call last):
> File "<stdin>", line 1, in <module>
> File "_sage_input_3.py", line 10, in <module>
> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
> -*-\\n" +
> _support_.preparse_worksheet_cell(base64.b64decode("T0c3X05PaG9tQzUoMTQsMTQp"),globals())+"\\n");
> execfile(os.path.abspath("___code___.py"))
> File "", line 1, in <module>
>
> File "/tmp/tmpPMZ4j_/___code___.py", line 3, in <module>
> exec compile(u'OG7_NOhomC5(_sage_const_14 ,_sage_const_14 )
> File "", line 1, in <module>
>
> File "/tmp/tmp1XHck_/___code___.py", line 10, in OG7_NOhomC5
> if g.girth()==_sage_const_4 and g.odd_girth()>=_sage_const_7 :
> File "/usr/lib/sagemath/local/lib/python2.7/site-
> packages/sage/graphs/graph.py", line 2388, in odd_girth
> ch = ((self.am()).charpoly()).coeffs()
> File "matrix_integer_dense.pyx", line 1042, in
> sage.matrix.matrix_integer_dense.Matrix_integer_dense.charpoly
> (sage/matrix/matrix_integer_dense.c:11571)
> File "matrix_integer_dense.pyx", line 1099, in
> sage.matrix.matrix_integer_dense.Matrix_integer_dense._charpoly_linbox
> (sage/matrix/matrix_integer_dense.c:12253)
> File "matrix_integer_dense.pyx", line 1121, in
> sage.matrix.matrix_integer_dense.Matrix_integer_dense._poly_linbox
> (sage/matrix/matrix_integer_dense.c:12534)
> RuntimeError: Segmentation fault
> }}}
>
> {{{
> you are running out of primes. 1000 coprime primes foundTraceback (most
> recent call last):
> File "<stdin>", line 1, in <module>
> File "_sage_input_4.py", line 10, in <module>
> exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
> -*-\\n" +
> _support_.preparse_worksheet_cell(base64.b64decode("T0c3X05PaG9tQzUoMTMsMTMp"),globals())+"\\n");
> execfile(os.path.abspath("___code___.py"))
> File "", line 1, in <module>
>
> File "/tmp/tmpRfy2qw/___code___.py", line 3, in <module>
> exec compile(u'OG7_NOhomC5(_sage_const_13 ,_sage_const_13 )
> File "", line 1, in <module>
>
> File "/tmp/tmp1inrim/___code___.py", line 10, in OG7_NOhomC5
> if g.girth()==_sage_const_4 and g.odd_girth()>=_sage_const_7 :
> File "/usr/lib/sagemath/local/lib/python2.7/site-
> packages/sage/graphs/graph.py", line 2392, in odd_girth
> if ch[i] != 0:
> IndexError: list index out of range
> }}}
New description:
Hi,
I'm doing some computations based on enumerating graphs via
"nauty_geng()", which enumerate all graphs of a given order.
For each graph, among other few things, I test the odd girth of the
generated graphs (see code below). The code runs fine for some hours (i.e.
it is able to perform the odd_girth() test for many millions graphs), but
after some time it fails, with an error message indicating there is a
problem in Graph.odd_girth(). The error messages indicate a possible
relation with matrices and/or primes (see below).
Unfortunately since the code runs fine for some hours and only fails after
a long time, I cannot reproduce the bug without doing the whole
computation.
Note: I realise that I am using the precompiled version 5.8 of sage that
comes with the ubuntu repository (ubuntu 12.04). So maybe this is fixed in
newer versions... In any case I will now use the latest release.
Here is my code:
{{{
def OG7_NOhomC5(begin,end):
F=[]
C5=graphs.CycleGraph(5)
for n in [begin .. end]: #range for orders
for g in graphs.nauty_geng("%s -c -t -d2 -D6"%n):
if g.girth()==4 and g.odd_girth()>=7:
maps=g.has_homomorphism_to(C5)
if maps == False:
F += [(g.graph6_string())]
print ' found :-)',F
}}}
And I called:
{{{
OG7_NOhomC5(13,13)
}}}
{{{
OG7_NOhomC5(14,14)
}}}
{{{
OG7_NOhomC5(15,15)
}}}
in three different worksheets of the notebook interface.
And here are 2 different tracebacks that stopped the computation, both
have an error located in "odd_girth()":
{{{
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_3.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
-*-\\n" +
_support_.preparse_worksheet_cell(base64.b64decode("T0c3X05PaG9tQzUoMTQsMTQp"),globals())+"\\n");
execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>
File "/tmp/tmpPMZ4j_/___code___.py", line 3, in <module>
exec compile(u'OG7_NOhomC5(_sage_const_14 ,_sage_const_14 )
File "", line 1, in <module>
File "/tmp/tmp1XHck_/___code___.py", line 10, in OG7_NOhomC5
if g.girth()==_sage_const_4 and g.odd_girth()>=_sage_const_7 :
File "/usr/lib/sagemath/local/lib/python2.7/site-
packages/sage/graphs/graph.py", line 2388, in odd_girth
ch = ((self.am()).charpoly()).coeffs()
File "matrix_integer_dense.pyx", line 1042, in
sage.matrix.matrix_integer_dense.Matrix_integer_dense.charpoly
(sage/matrix/matrix_integer_dense.c:11571)
File "matrix_integer_dense.pyx", line 1099, in
sage.matrix.matrix_integer_dense.Matrix_integer_dense._charpoly_linbox
(sage/matrix/matrix_integer_dense.c:12253)
File "matrix_integer_dense.pyx", line 1121, in
sage.matrix.matrix_integer_dense.Matrix_integer_dense._poly_linbox
(sage/matrix/matrix_integer_dense.c:12534)
RuntimeError: Segmentation fault
}}}
{{{
you are running out of primes. 1000 coprime primes foundTraceback (most
recent call last):
File "<stdin>", line 1, in <module>
File "_sage_input_4.py", line 10, in <module>
exec compile(u'open("___code___.py","w").write("# -*- coding: utf-8
-*-\\n" +
_support_.preparse_worksheet_cell(base64.b64decode("T0c3X05PaG9tQzUoMTMsMTMp"),globals())+"\\n");
execfile(os.path.abspath("___code___.py"))
File "", line 1, in <module>
File "/tmp/tmpRfy2qw/___code___.py", line 3, in <module>
exec compile(u'OG7_NOhomC5(_sage_const_13 ,_sage_const_13 )
File "", line 1, in <module>
File "/tmp/tmp1inrim/___code___.py", line 10, in OG7_NOhomC5
if g.girth()==_sage_const_4 and g.odd_girth()>=_sage_const_7 :
File "/usr/lib/sagemath/local/lib/python2.7/site-
packages/sage/graphs/graph.py", line 2392, in odd_girth
if ch[i] != 0:
IndexError: list index out of range
}}}
--
--
Ticket URL: <http://trac.sagemath.org/ticket/17640#comment:2>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.