Karim Belabas on Tue, 16 Jul 2013 22:33:12 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: Expected length of dirmul |
Hi Frank, * Frank Thorne [2013-07-16 21:54]: > Using Pari/GP 2.5.1 under Mac OSX. If I use dirmul to multiply two > Dirichlet series, what will the length of the output be? The min of lg(x)*v(y) and lg(y)*v(x), where lg() is the length and v(x) is the "valuation" of x, i.e. the index of the smallest non-zero coefficient in the series. [...] > \\ Compute the main term of Theorem 2.5, as a Dirichlet series. > \\ Works for quadratic resolvent D, and computes to a length of N. > { > compute_main_dirichlet(D, N) = > local(EP1, p1, temp); > EP1 = vector(N); > temp = vector(N); > if (D > 0, EP1[1] = 1/2); > if (D < 0, EP1[1] = 1/6); > EP1 = dirmul(EP1, M_one(D, N)); > for (p1 = 2, N, > if (isprime(p1), > if (kronecker(-3*D, p1) == 1, \ > temp[p1] = 2, > temp[p1] = 0; > ); > EP1 = dirmul(EP1, temp); > print(length(EP1)); > temp[p1] = 0; > )); > EP1; Minor improvement for this main loop: forprime (p1 = 2, N, temp[p1] = if (kronecker(-3*D, p1) == 1, 2, 0); EP1 = dirmul(EP1, temp); print(length(EP1)); temp[p1] = 0; ); ( Identical behaviour to the one you report, this is just a rewriting. ) > } > *** at top-level: cmd(-3,100) > *** ^----------- > *** in function cmd: ...p[p1]=2,temp[p1]=0;);EP1=dirmul(EP1,temp);pri > *** ^-------------------- > *** dirmul: overflow in lg(). > *** Break loop: type 'break' to go back to GP > > However, if I set temp[1] = 1, then the Dirichlet series does not > grow after multiplication. What is this code supposed to compute ? As far as I understand, in the for loop, 'temp' contains at most one non-zero term (corresponding to 2p^(-s) if kronecker(-3*D,p) = 1, and 0 otherwise). So the result as N -> +oo must be identically 0. Maybe direuler() would be closer to what you're trying to achieve ? Cheers, K.B. -- Karim Belabas, IMB (UMR 5251) Tel: (+33) (0)5 40 00 26 17 Universite Bordeaux 1 Fax: (+33) (0)5 40 00 69 50 351, cours de la Liberation http://www.math.u-bordeaux1.fr/~kbelabas/ F-33405 Talence (France) http://pari.math.u-bordeaux1.fr/ [PARI/GP] `