# Why do messages "// ** redefining ..." show up when computing the dimension of an ideal?

I was receiving these weird messages when running the following Sage code - but not every time: When I executed it again, it just went through without any messages.

S.<x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11> =PolynomialRing(GF(2),11)
dims=Set([])
s=0
for j in newdivs:
s=s+1
if mod(s,10)==0:
print(s)
aux=j
sdivs=[]
for k in aux:
if k((0,0,0,0,0,0,0,0))==0:
sdivs.append(k)
sdivs.append(f1)
sdivs.append(f2)
sdivs.append(1+x9*(1+x3))
sdivs.append(1+x10*(1+x6))
sdivs.append(1+x11*(1+x4*x5))
IS=S.ideal(sdivs)
di=IS.dimension()
if di>4:
print di
dims=dims.union(Set([di]))


(To understand the code: f1 and f2 are two very long polynomials in S, and newdivs contains 500 of the factors of the 2x2-minors of the Jacobian matrix of f1 and f2...) The first time I run it, I got this output:

// ** redefining # **
// ** redefining P **
// ** redefining i **
// ** redefining method **
// ** redefining Method **
// ** redefining k **
// ** redefining Minpoly **
// ** redefining was_minpoly **
// ** redefining Qideal **
// ** redefining was_qring **
// ** redefining BRlist **
// ** redefining ord_P **
// ** redefining ordstr_P **
// ** redefining nvars_P **
// ** redefining npars_P **
// ** redefining w **
// ** redefining neg **
// ** redefining opt **
// ** redefining s_opt **
// ** redefining p_opt **
// ** redefining algorithm **
// ** redefining conversion **
// ** redefining partovar **
// ** redefining order **
// ** redefining direct **
10
20
...


The second time, the messages with "// ** redefining" didn't show up anymore. But maybe it is important to not ignore those messages, so what do they mean?

edit retag close merge delete

Sort by ยป oldest newest most voted

They look like messages from singular (which is called by sage) that say that some variable has been redefined, see this file section 3.5.3. I would say that you can ignore them.

more