Hello everyone! I am running Sage Version 3.2.3, Release Date: 2009-01-05 in a virtual machine under Windows Vista.
I am trying to compute the variety of an ideal in a Boolean Polynomial Ring. From what I have seen in previous posts, that doesn't seem to work directly. So instead I use the Boolean Polynomial Ring setting to compute the Groebner Basis of the ideal and then produce an ideal in the corresponding polynomial ring over F_2 on which I then invoke the variety command. Although it does work for very small systems, I get a reproducible error when increasing the system's size. It does not seem to be a resource problem, though. Maybe I am doing something wrong? Any help would be greatly appreciated! The first set of instructions works fine: {{{id=0| B.<x1,x2,x3,x4>=BooleanPolynomialRing(4,order='lex') I=ideal([x1+x2,x4-x1]) I2 = ideal([B(f) for f in I.gens()]) G=I2.groebner_basis() GG=Ideal(G) R.<x1,x2,x3,x4>=PolynomialRing(GF(2),4,order='lex') GB = ideal([R(f) for f in G]) + ideal(sage.rings.ideal.FieldIdeal(R)) GB.variety() /// [{x2: 0, x1: 0, x4: 0, x3: 0}, {x2: 0, x1: 0, x4: 0, x3: 1}, {x2: 1, x1: 1, x4: 1, x3: 0}, {x2: 1, x1: 1, x4: 1, x3: 1}] }}} Now I increase the size to 20 variables. Still works fine. Now with 30 variables: {{{id=2| %time B.<x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30>=BooleanPolynomialRing (30,order='lex') I1=ideal([x13*x15 + x1*x7*x13*x25 + x9*x22 + x17 + x18 + x3 + x13,1 + x6*x21 + x3,x2*x18 + 1 + x16*x25,x15 + x9 + x1*x10*x20,x23 + x9*x21*x23*x27 + x25 + x7,x13 + x1*x4*x15 + x6*x24 + 1 + x26*x27 + x3,1 + 1,1 + x13 + x22*x28 + x1*x29,x8 + x11*x29 + x15*x18 + x5*x11,x3*x9 + 1 + 1,x8,x14 + x14 + x6*x16*x28 + x6 + x13 + x23,x1*x15*x17 + 1 + x7 + x8 + x3 + x3*x15 + x12*x13*x25 + x3,x26,x4*x7*x8 + x3*x7 + x15*x17 + x15 + 1,x3*x17*x26*x28 + x2*x14*x20*x21 + x5*x18*x28 + x30,x5*x6 + x12 + x28 + x3*x25 + x12,1 + x7 + x16*x23 + 1 + 1,x1*x12*x24 + x4*x22*x26 + x6,x19*x21 + x2*x5*x9 + 1 + x21 + x6,x30 + x13,x17 + x10*x11 + x3 + x10 + x7*x8*x18,x14 + x7*x8*x11 + x5*x21 + x2*x15*x19 + x5*x7,x20*x21 + x15*x18*x19 + x9*x10,x2*x8*x10*x19*x22 + x8 + x14 + x16*x24 + x16*x21 + x29,x9*x25 + x10*x17*x18 + x2*x19 + x22*x25 + x6*x22*x25,x25 + x6 + x8*x26 + x10*x23 + x29 + x12 + x30 + x4*x13,x22 + x24 + x26 + x2 + x30 + x6*x10*x16 + x20,0,x28 + x8 + x9 + x2 + x15*x18*x29 + x16]) I2 = ideal([B(f) for f in I1.gens()]) G=I2.groebner_basis(faugere=False,linear_algebra_in_last_block=False) GG=Ideal(G) R.<x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19,x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30>=PolynomialRing (GF(2),30,order='lex') GB = ideal([R(f) for f in G]) + ideal(sage.rings.ideal.FieldIdeal(R)) GB.variety() /// Traceback (most recent call last): File "<stdin>", line 1, in <module> File "/home/notebook/sage_notebook/worksheets/admin/15/code/16.py", line 16, in <module> exec compile(ur'GB.variety()' + '\n', '', 'single') File "/usr/local/sage/local/lib/python2.5/site-packages/ zope.interface-3.3.0-py2.5-linux-i686.egg/", line 1, in <module> File "/usr/local/sage/local/lib/python2.5/site-packages/sage/rings/ polynomial/multi_polynomial_ideal.py", line 1532, in variety T = self.triangular_decomposition('singular:triangLfak') File "/usr/local/sage/local/lib/python2.5/site-packages/sage/rings/ polynomial/multi_polynomial_ideal.py", line 781, in triangular_decomposition Tbar = Ibar.triangLfak() File "/usr/local/sage/local/lib/python2.5/site-packages/sage/ interfaces/expect.py", line 1292, in __call__ return self._obj.parent().function_call(self._name, [self._obj] + list(args), kwds) File "/usr/local/sage/local/lib/python2.5/site-packages/sage/ interfaces/expect.py", line 1212, in function_call ['%s=%s'%(key,value.name()) for key, value in kwds.items()]))) File "/usr/local/sage/local/lib/python2.5/site-packages/sage/ interfaces/expect.py", line 1030, in new return self(code) File "/usr/local/sage/local/lib/python2.5/site-packages/sage/ interfaces/singular.py", line 593, in __call__ return SingularElement(self, type, x, False) File "/usr/local/sage/local/lib/python2.5/site-packages/sage/ interfaces/singular.py", line 1009, in __init__ raise TypeError, x TypeError: Singular error: // ** redefining zerlegt ? wrong range[4] in ideal/module(3) ? error occurred in triang.lib::invertieren_oT line 433: ` T_bis_k = T[1..(k-1)];` ? leaving triang.lib::invertieren_oT ? wrong range[21] in ideal/module(3) ? error occurred in triang.lib::Erw_ggt_oT line 509: `parameter poly f; parameter poly g; parameter int v; parameter ideal T; ` ? wrong type declaration. type 'help poly;' ? leaving triang.lib::Erw_ggt_oT ? `f` is undefined ? error occurred in triang.lib::Erw_ggt_oT line 511: ` poly p1 = f;` ? expected poly-expression. type 'help poly;' ? leaving triang.lib::Erw_ggt_oT skipping text from `;` error at token `)` ? leaving triang.lib::invertieren_oT ? leaving triang.lib::invertieren ? leaving triang.lib::triangLbas ? leaving triang.lib::triangLfak }}} --~--~---------~--~----~------------~-------~--~----~ 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 URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---