Karim BELABAS on Wed, 23 Oct 2002 12:42:27 +0200 (MEST)


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: excessive bnrstark() memory requirements


On Wed, 23 Oct 2002, Igor Schein wrote:

> On Tue, Oct 22, 2002 at 09:37:30PM +0200, Karim BELABAS wrote:
>> On Mon, 30 Sep 2002, Igor Schein wrote:
>>> the following command runs out of 2GB stack on 32bit platform:
>>>
>>> bnrstark(bnrinit(bnfinit(y^3+y^2-1706*y+26543),1,1),,1);
>>>
>>> Is it possible to do something about it?
>>
>> I've made a few obvious improvements to memory usage in stark.c:InitPrimes().
>> I still doubt the above will run to completion: you're trying to construct a
>> field of degree 93...
>
> Well, it ran to a completion, albeit not satisfying one:
>
> ***   object too big, length can't fit in a codeword
>
> Any idea what's too big here?

The routines estimates it needs about 49035875 coefficients to reliably
compute the L-series value. The maximum length of an object on 32-bit machine
is 16777215 < 49035875 [ actually, the coefficient fit because they are
generated from the ones of prime index, but the auxiliary constant arrays
don't ].

At this point, I don't want to complicate this set of routines with
alternative strategies (time/space tradeoff, backup to disc, etc). The
algorithms and estimates are probably far from optimal.

You can try on 64-bit... [somehow I'm still dubious].

    Karim.
-- 
Karim Belabas                    Tel: (+33) (0)1 69 15 57 48
Dép. de Mathematiques, Bat. 425  Fax: (+33) (0)1 69 15 60 19
Université Paris-Sud             Email: Karim.Belabas@math.u-psud.fr
F-91405 Orsay (France)           http://www.math.u-psud.fr/~belabas/
--
PARI/GP Home Page: http://www.parigp-home.de/