On Jun 24, 1:31 pm, "John Cremona" <[EMAIL PROTECTED]> wrote:
> This is not a feature of Sage as such but of Groebner basis
> computations generally. They go very quickly from easy to impossible
> when, for example, you increase the number of variables.
>
> I have not tried it but I would not be surprised if other packages
> (including the expensive ones) have the same difficulty. But perhaps
> someone will prove me wrong?
Yes, GB computations have some of the worst case complexities I know
about. And adding innocent looking generators or even changing
something seemingly innocent like coefficients or adding "small" terms
to the generators can radically change the computations time and
memory consumption.
Additionally you are using a 32 bit VMWare image with limited RAM and
swap, so once you hit swap it is basically game over for the GB
computations since it tends to have bad locality. If other packages
can easily compute the problem in question it is likely a coincidence
since I am sure one can find examples where the opposite occurs. Note
that Maple uses FGB and Magama implemented F4, both which tend to be
more memory hungry than slimgb implemented in Singular.
> John Cremona
Cheers,
Michael
> 2008/6/24 Daniel Loughran <[EMAIL PROTECTED]>:
>
>
>
> > Dear Sage Community,
> > I havnt been using Sage that long but iv noticed a trend, in that my
> > sage doesnt seem to complete some more difficult tasks. Either it
> > completes the task in less than 10 seconds or it doesnt complete it
> > all! It feels like once I have crossed a certain threshold the
> > computation will never finish and I have to interupt it.
>
> > Here is my spec:
> > OS: Windows XP (latest version)
> > Sage Version: SAGE Version 3.0.1, Release Date: 2008-05-05
> > Using firefox notebook through VMware player.
> > Machine: 2.40GHz, 1.97Gb RAM, Plently of free Hard disk space.
>
> > As an example, iv been trying to compute the following Groebner Bases
> > (apologises for the code overload! I wasnt sure how else to present
> > it...)
>
> > ----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> > R.<x0,x1,x2,x3,x4,x5,x6,R10,R11,R12,R13,R14,R15,R16,R17,R18,R19,R110,R111,R112,R113,R114,R115>
> > =PolynomialRing(QQ);
>
> > I=ideal([-x4*R14 - x6*R16 + x6*R17 + x5*R19 + x3*R113,x5*R11 + x2*R14
> > + x4*R17
> > - x3*R110 + x6*R112, -x6*R11 - x2*R12 - x2*R16 + x1*R17 + x6*R18 +
> > x1*R110 - x3*R115 - x4*R115, -x5*R11 - x4*R12 - x2*R14 + x3*R16 -
> > x4*R17
> > + x5*R18 + x6*R19 + x3*R110 + x1*R113 + x6*R115, -x6*R11 - x2*R12 +
> > x6*R13 + x0*R14 + x5*R15 - x2*R16 + x1*R110 - x3*R114 - x4*R115,x0*R12
> > - x3*R13 - x4*R13 + x6*R15 + x0*R16 + x4*R18 - x1*R112 - x1*R114],R);
>
> > len(I.gens());
> > 6
>
> > len(I.groebner_basis());
> > 30
>
> > (calculated in less than 3 seconds)
>
> > However if I add just one more generator it never completes the
> > computation:
>
> > J=ideal([-x4*R14 - x6*R16 + x6*R17 + x5*R19 + x3*R113,x5*R11 + x2*R14
> > + x4*R17
> > - x3*R110 + x6*R112, -x6*R11 - x2*R12 - x2*R16 + x1*R17 + x6*R18 +
> > x1*R110 - x3*R115 - x4*R115, -x5*R11 - x4*R12 - x2*R14 + x3*R16 -
> > x4*R17
> > + x5*R18 + x6*R19 + x3*R110 + x1*R113 + x6*R115, -x6*R11 - x2*R12 +
> > x6*R13 + x0*R14 + x5*R15 - x2*R16 + x1*R110 - x3*R114 - x4*R115,x0*R12
> > - x3*R13 - x4*R13 + x6*R15 + x0*R16 + x4*R18 - x1*R112 - x1*R114,
> > x3*R10 - x4*R10 + x3*R11 + x0*R17 - x2*R19 + x0*R110 + x6*R111 -
> > x2*R112 - x2*R114],R);
>
> > len(J.gens());
> > 7
>
> > len(J.groebner_basis());
> > ?
>
> > I actually want to calculate the groebner basis for the following
> > ideal:
> > K=ideal([-x4*R14 - x6*R16 + x6*R17 + x5*R19 + x3*R113, x5*R11 + x2*R14
> > + x4*R17
> > - x3*R110 + x6*R112, -x6*R11 - x2*R12 - x2*R16 + x1*R17 + x6*R18 +
> > x1*R110 - x3*R115 - x4*R115, -x5*R11 - x4*R12 - x2*R14 + x3*R16 -
> > x4*R17
> > + x5*R18 + x6*R19 + x3*R110 + x1*R113 + x6*R115, -x6*R11 - x2*R12 +
> > x6*R13 + x0*R14 + x5*R15 - x2*R16 + x1*R110 - x3*R114 - x4*R115,
> > x0*R12
> > - x3*R13 - x4*R13 + x6*R15 + x0*R16 + x4*R18 - x1*R112 - x1*R114,
> > -x3*R10 - x4*R10 + x3*R11 + x0*R17 - x2*R19 + x0*R110 + x6*R111 -
> > x2*R112 - x2*R114, x6*R10 - x6*R11 - x2*R16 + x5*R111 + x0*R113 -
> > x4*R114, -x1*R10 + x1*R11 + x2*R13 + x4*R15 - x2*R18 + x0*R19 -
> > x3*R111
> > + x0*R115, -x3*x6*R10 + x3*x6*R11 + x0*x6*R12 - x3*x6*R13 + x4*x5*R15
> > +
> > x6^2*R15 + x2*x3*R16 - x1*x4*R17 + x0*x6*R17 + x0*x5*R19 - x3*x5*R111
> > -
> > x1*x6*R112 - x1*x6*R114 + x3*x4*R115, -x3^2*R10 - x3*x4*R10 + x3^2*R11
> > +
> > x0*x5*R11 - x2*x6*R13 - x2*x5*R15 + x1*x2*R17 + x0*x3*R17 + x0*x4*R17
> > +
> > x2*x6*R18 - x2*x3*R19 + x3*x6*R111 - x2*x3*R112 + x0*x6*R112 -
> > x2*x3*R115, x1*x4*R11 - x0*x6*R11 + x3*x4*R15 + x4^2*R15 + x2*x6*R15 -
> > x2*x3*R18 + x0*x6*R18 + x1*x2*R19 + x0*x3*R19 + x0*x4*R19 - x3^2*R111
> > -
> > x3*x4*R111 - x1*x6*R111, -x0*x3*x6^2*R12 - x0*x4*x6^2*R12 +
> > x3^2*x6^2*R13 + x3*x4*x6^2*R13 - x2*x6^3*R13 - x3*x6^3*R15 -
> > x4*x6^3*R15
> > + x1*x2*x6^2*R16 - x3*x4*x6^2*R18 + x0*x5*x6^2*R18 + x2*x6^3*R18 -
> > x1*x5*x6^2*R111 + x3*x6^3*R111 + x1*x3*x6^2*R112 + x0*x6^3*R112 +
> > x1*x3*x6^2*R114 + x1*x4*x6^2*R114],R);
>
> > len(K.gens());
> > 13
>
> > Seems a long way off....
>
> > Am I really pushing Sage beyond its limits or is there something else
> > more subtle going on?
>
> > Thanks!
> > Dan
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---