As suggested below, it might work if you replace the line s = g.spectrum() with s = [AA(xx) for xx in g.spectrum()]
making all the eigenvalues real (as they should be, as you generate undirected graphs) On Tuesday, 25 September 2012 04:18:03 UTC+8, Jernej Azarija wrote: > > Consider the following program that computes the spectrum and chromatic > number of a graph: > > for g in graphs.nauty_geng(str(7)): > s = g.spectrum() > g.chromatic_number() > > This works quickly and like a charm. Now consider the following program > that computes something related to the spectrum and chromatic number: > > for g in graphs.nauty_geng(str(7)): > s = g.spectrum() > sp = sum([el**2 for el in s if el > 0]) > sm = sum([el**2 for el in s if el < 0]) > > if sm != 0 and not (sp/sm+1 <= g.chromatic_number()): > print g.graph6_string() > > The program gets stuck in computing something for a long time and in the > end it dies trying to allocate a ~7GB pari stack: > > File "minw.py", line 9, in <module> > if sm != _sage_const_0 and not (sp/sm+_sage_const_1 <= > g.chromatic_number()): > File "element.pyx", line 902, in > sage.structure.element.Element.__richcmp__ (sage/structure/element.c:8480) > File "element.pyx", line 847, in sage.structure.element.Element._richcmp > (sage/structure/element.c:7930) > File "element.pyx", line 829, in > sage.structure.element.Element._richcmp_ (sage/structure/element.c:7659) > File "element.pyx", line 874, in sage.structure.element.Element._richcmp > (sage/structure/element.c:8342) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3755, in __cmp__ > rcmp = cmp(self.real(), other.real()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 4395, in __cmp__ > return self._sub_(other).sign() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 4611, in sign > return self.sign() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 4614, in sign > self.exactify() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3466, in exactify > self._set_descr(self._descr.exactify()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 7591, in exactify > left.exactify() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3466, in exactify > self._set_descr(self._descr.exactify()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 7334, in exactify > arg.exactify() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3466, in exactify > self._set_descr(self._descr.exactify()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 7591, in exactify > left.exactify() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3466, in exactify > self._set_descr(self._descr.exactify()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 7591, in exactify > left.exactify() > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 3466, in exactify > self._set_descr(self._descr.exactify()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 7593, in exactify > gen = left._exact_field().union(right._exact_field()) > File > "/home/azi/sage-5.3.rc1/local/lib/python2.7/site-packages/sage/rings/qqbar.py", > > line 2276, in union > newpol, self_pol, k = pari_nf.rnfequation(my_factor, 1) > File "gen.pyx", line 10412, in sage.libs.pari.gen._pari_trap > (sage/libs/pari/gen.c:54794) > File "gen.pyx", line 9718, in > sage.libs.pari.gen.PariInstance.allocatemem (sage/libs/pari/gen.c:50859) > File "gen.pyx", line 10233, in sage.libs.pari.gen.init_stack > (sage/libs/pari/gen.c:53888) > MemoryError: Unable to allocate 65536000000 bytes memory for PARI. > > > What exactly is going on? From what I've checked into the sources I do not > see what is causing this issue? Am I doing something stupid in the second > sage program or is this some kind of Sage-Pari bug? > > Best, > > Jernej > > -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To post to this group, send email to sage-devel@googlegroups.com. To unsubscribe from this group, send email to sage-devel+unsubscr...@googlegroups.com. Visit this group at http://groups.google.com/group/sage-devel?hl=en.