For the kernel-develelopper it maybe interesting to see the last message that Singular report. Did it?
What you are doing here is to compute a Groebner basis w.r.t. to lexicographical ordering
lp.
In general, this is the most expensive ordering, and the coefficients in charactristic 0 may be very huge.
Hence it is not unlikely that you run out of memory by the calculation with your (large) input polynomials.
So, if Singular allocated 4 GB RAM is not a bad news, but good news.
Normally, the Singular and the system should go in with swapping to the harddisk,
but this can become so massive that the computer gets blocked for other input.
On a SPARC SUN I did once such a huge std calculation that the performance meter
only display gravestones.
(So to say, an easteregg
http://en.wikipedia.org/wiki/Easter_egg_(media) from the SUN developper)
Back to your mathematical problem:
If you are not obliged to have the lexicographical std-basis, then calculate a std-basis
w.r.t. another faster ordering., usually choose the (weighted) degree ordering
dp.
To see whether the std-calculation will go through, proceed as follows.
First enable
option(prot); and do the calculation in prime characteristic
where it can be done successfully within some minutes
You will the following pattern (extract) about the progress of the computation.
(You may also set
option(mem); to see how much memory space will be allocated.)
Code:
> option(prot);
> ring rdp32003 = 32003,(a,b,c,d,e),dp;
// your input here
> ideal i = pa,pb,pc,pd,pe;
> ideal si = std(i);
[4095:2]8(4)s(3)s9s12(4)s13s(6)s14s(7)s15(8)s(11)s(13)s16(15)s(17)s(18)s(20)--
ss(21)s(27)s17(28)s(31)s(33)s(35)s(38)--ss(42)s(43)s(44)s18(46)--
(969)s(971)s(974)s(977)s38(978)s(982)s(986)s(990)s(994)s(998)s(997)s-
s(993)--------s(989)--------------------------------------------------s(942)--s(940)--s(942)--s(938)s-
s(941)s(942)--s(940)s(943)s(946)s(949)s39(951)s(952)-s(955)s(959)----
s(25)-s(27)------s(24)-s(25)61----------s(18)62----s(17)------63---s(11)-s(13)---64---s(9)-s(11)--65----
s(8)--66---s(6)-67---s(5)68---s69---s70---s71---s72---s73---s74--s(6)-75---s(4)76---77-
product criterion:449 chain criterion:466165
> dim(si);
2
> variables(si);
_[1]=a
_[2]=b
_[3]=c
_[4]=d
_[5]=e
Remark.: In case that the ideal is zero-dimensional, (but your's isn't it) the lp std-basis
could be calculated from the dp-std-basis by the fglm command.
Maybe, as you intend to use the
solve.lib, the information I gave here is already helpful for you.
The zeroset of the ideal does not have only isolated solutions. So you can not solve it numerically.
(You had to compute the primary decomposition first,
primdec.lib but the computation will not be
easier.)
Now redo the same computation in characteristic 0.
The coefficients of the std-basis may now explode and the procress will be slow
but in any case the computation will show the same pattern as above,
and you know at which stage the calculation is. You may then decide to
interrupt the the calculation.
(In my computations I spoke about above,
I had a succesful std-calculation, taking approx. one day, resulting in
univariate polynomial of degree 252 where each
coefficient more than 30000 digits, and finally ... Singular could factorize the polynomial.)
Code:
> option(prot);
> ring rdp0 = 0,(a,b,c,d,e),dp;
// your input here
> ideal i = pa,pb,pc,pd,pe;
> ideal si = std(i);
You may also change the order of the variables e.g.
(e,d,c,b,a) which will change
the computation and the protocol reported by
prot.
As a last remark, try to simplify the input at some earlier stage.
Ch Gorzel