Singular
https://www.singular.uni-kl.de/forum/

computing an ideal radical
https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2833
Page 1 of 1

Author:  kghorbal [ Thu Mar 07, 2019 6:21 pm ]
Post subject:  computing an ideal radical

Dear community,

I am getting the following error:
? int overflow in hilb 4
? error occurred in or before standard.lib::stdhilb line 299: ` intvec hi = hilb( Id(1),1,W );`
? expected intvec-expression. type 'help intvec;'
? leaving standard.lib::stdhilb
skipping text from `)` error at token `)`
? leaving standard.lib::groebner
? leaving primdec.lib::radicalReduction
? leaving primdec.lib::radicalSLIteration
? leaving primdec.lib::radicalSL
? leaving primdec.lib::radical

when trying to compute the radical of an ideal as follows

LIB "primdec.lib";
ring r = 0, (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, x31, x32, x33, x34, x35), dp;
option(redSB); option(redTail);
degBound = 0;
ideal a1 = x2, x3, x5, x6, x9, x11, x12, x16, x17, x18, x19, x21, x22, x26, x27, x28, x29, x30, x31, x32, x33, x34, x1^2-2*(x4)+2*(x7), 1/3*(6*(x10)+3*(x24)-2*(x4)), x1*(x13)-2*(x23), 1/3*(3*x1* (x14)-6*(x24)-2*(x7)), 1/3*(3*x1*(x15)-6*(x25)-2*(x8)), x1*(x20), 1/3*(-(x10)+8*(x20)), x1*(x23), 1/3*(-(x13)+2*(x23)+3*x1*(x24)), 1/3*(-(x14)+2*(x24)+3*x1*(x25)), 1/3*(-(x15)+2*(x25)), -3*(x10)+2* (x13)+x1*(x4), 1/3*(-3*(x1)+3*(x14)+4*(x4)), -(x13)+x1*(x7), 1/3*(-3*(x14)-2*(x7)+3*x1*(x8)), 1/3*(-3*(x15)-2*(x8)), x1*(x10)-4*(x20)+2*(x23), 1/3*(-4+2*(x1)+3*(x8));
radical(a1);

The problem seems somehow related to the last equation I am providing, namely 1/3*(-4+2*(x1)+3*(x8)). When removed, I don't get an error. When simplified to x8, I still get the same error.

Any idea where I should start looking to fix this issue ?

Many thanks in advance,
k.

Author:  hannes [ Fri Mar 08, 2019 6:20 pm ]
Post subject:  Re: computing an ideal radical

During the computation of the radical a Groebner basis must be computed:
the procedure groebner chooses stdhilb to do this.
This fails in your example, so simply create another "groebner":
Code:
proc groebner (def I) { return(std(I)); }

Defining this (after loading of primdec.lib and before the call of radical)
overwrites the procedure groebner from standard.lib.

Author:  kghorbal [ Wed Mar 20, 2019 4:28 pm ]
Post subject:  Re: computing an ideal radical

Got it!

Many thanks.

Author:  OfirArzi [ Tue Feb 02, 2021 12:36 pm ]
Post subject:  Re: computing an ideal radical

hannes wrote:
During the computation of the radical a Groebner basis must be computed:
the procedure groebner chooses stdhilb to do this.
This fails in your example, so simply create another "groebner":
Code:
proc groebner (def I) { return(std(I)); }

Defining this (after loading of primdec.lib and before the call of radical)
overwrites the procedure groebner from standard.lib.


How do you do this when running from a Jupyter notebook?

Author:  hannes [ Thu Feb 04, 2021 1:07 pm ]
Post subject:  Re: computing an ideal radical

Either in the same way (send the line above as copmmand to Singular),
or:
- locate standard.lib
- edit it and substitute
proc groebner(...)
"...." {....}
by the following 4 lines:
proc groebner(def I)
{
return (std(I));
}

Page 1 of 1 All times are UTC + 1 hour [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/