Neill Clift on Sat, 31 Dec 2016 04:38:07 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Getting a very large polynomial into pari/gp |
Thanks guys! I used the vector read and that worked. Of course it's taking a lot longer to do the gcd than my experiments with sparse polynomials :-(. Neill. On 12/30/2016 9:24 AM, Bill Allombert wrote: > On Fri, Dec 30, 2016 at 11:31:55AM +0100, Karim Belabas wrote: >> * Neill Clift [2016-12-30 06:17]: >>> Hi, >>> I want to do a gcd with two polynomials with 16 million coefficients mod >>> a large 64 bit prime. >>> Playing with gp with some sparse polynomials it looks like it can do the >>> calculation. >>> If I try to read in a dense polynomial of large size though gp overflows >>> its stack (runs out of thread stack space, not a buffer overflow or gp >>> stack). >>> I assume your parser is putting a lot of data on the thread stack. >>> I am using a command like this: >>> >>> gp > a = read("a.gp") >>> >>> I am doing this on windows. >>> Is there some kind of raw read or similar that will let me get a large >>> polynomial into gp? I can put the data into different formats rather >>> than the symbolic format I am trying currently. >> 1) The most natural way would be to just (re)create the polynomials >> inside gp. >> >> 2) If this is not possible, you can try a vector of coefficients. Then >> a = read("a.gp"); >> A = Pol(a); \\ leading coeff in a[1], etc. > Or maybe better: write a file with one coefficient by line, and then do > a = readvec("a.gp"); > A = Pol(a); > > Cheers, > Bill. >