Logging to /Users/s/tmp/pari-12.14 GPRC Done. GP/PARI CALCULATOR Version 2.13.0 (released) i386 running darwin (x86-64/GMP-6.2.0 kernel) 64-bit version compiled: Oct 31 2020, Apple clang version 12.0.0 (clang-1200.0.32.21) threading engine: single (readline v8.0 enabled, extended help enabled) Copyright (C) 2000-2020 The PARI Group PARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?17 for how to get moral (and possibly technical) support. parisizemax = 900001792, primelimit = 1000000 (16:56) gp > ?factor factor(x,{D}): factorization of x over domain D. If x and D are both integers, return partial factorization, using primes < D. (16:56) gp > ??factor factor(x,{D}): Factor x over domain D; if D is omitted, it is determined from x. For instance, if x is an integer, it is factored in Z, if it is a polynomial with rational coefficients, it is factored in Q[x], etc., see below for details. The result is a two-column matrix: the first contains the irreducibles dividing x (rational or Gaussian primes, irreducible polynomials), and the second the exponents. By convention, 0 is factored as 0^1. x \in Q. See factorint for the algorithms used. The factorization includes the unit -1 when x < 0 and all other factors are positive; a denominator is factored with negative exponents. The factors are sorted in increasing order. ? factor(-7/106) %1 = [-1 1] [ 2 -1] [ 7 1] [53 -1] By convention, 1 is factored as matrix(0,2) (the empty factorization, printed as [;]). Large rational "primes" > 2^{64} in the factorization are in fact pseudoprimes (see ispseudoprime), a priori not rigorously proven primes. Use isprime to prove primality of these factors, as in ? fa = factor(2^2^7 + 1) %2 = [59649589127497217 1] [5704689200685129054721 1] ? isprime( fa[,1] ) %3 = [1, 1]~ \\ both entries are proven primes Another possibility is to globally set the default factor_proven, which will perform a rigorous primality proof for each pseudoprime factor but will slow down PARI. /*-- (type RETURN to continue) --*/ A t_INT argument D can be added, meaning that we only trial divide by all primes p < D and the addprimes entries, then skip all expensive factorization methods. The limit D must be nonnegative. In this case, one entry in the factorization may be a composite number: all factors less than D^2 and primes from the addprimes table are actual primes. But (at most) one entry may not verify this criterion, and it may be prime or composite: it is only known to be coprime to all other entries and not a pure power.. ? factor(2^2^7 +1, 10^5) %4 = [340282366920938463463374607431768211457 1] Deprecated feature. Setting D = 0 is the same as setting it to primelimit + 1. This routine uses trial division and perfect power tests, and should not be used for huge values of D (at most 10^9, say): factorint(, 1 + 8) will in general be faster. The latter does not guarantee that all small prime factors are found, but it also finds larger factors and in a more efficient way. ? F = (2^2^7 + 1) * 1009 * (10^5+3); factor(F, 10^5) \\ fast, incomplete time = 0 ms. %5 = [1009 1] [34029257539194609161727850866999116450334371 1] ? factor(F, 10^9) \\ slow time = 3,260 ms. %6 = [1009 1] [100003 1] [340282366920938463463374607431768211457 1] ? factorint(F, 1+8) \\ much faster and all small primes were found time = 8 ms. %7 = [1009 1] [100003 1] [340282366920938463463374607431768211457 1] /*-- (type RETURN to continue) --*/ ? factor(F) \\ complete factorization time = 60 ms. %8 = [1009 1] [100003 1] [59649589127497217 1] [5704689200685129054721 1] Setting D = I will factor in the Gaussian integers Z[i]: x \in Q(i). The factorization is performed with Gaussian primes in Z[i] and includes Gaussian units in {+/-1, +/- i}; factors are sorted by increasing norm. Except for a possible leading unit, the Gaussian factors are normalized: rational factors are positive and irrational factors have positive imaginary part (a canonical represneta. Unless factor_proven is set, large factors are actually pseudoprimes, not proven primes; a rational factor is prime if less than 2^{64} and an irrational one if its norm is less than 2^{64}. ? factor(5*I) %9 = [ 2 + I 1] [1 + 2*I 1] One can force the factorization of a rational number by setting the domain D = I: ? factor(-5, I) %10 = [ I 1] [ 2 + I 1] [1 + 2*I 1] ? factorback(%) %11 = -5 /*-- (type RETURN to continue) --*/ Univariate polynomials and rational functions. PARI can factor univariate polynomials in K[t]. The following base fields K are currently supported: Q, R, C, Q_p, finite fields and number fields. See factormod and factorff for the algorithms used over finite fields and nffactor for the algorithms over number fields. The irreducible factors are sorted by increasing degree and normalized: they are monic except when K = Q where they are primitive in Z[t]. The content is not included in the factorization, in particular factorback will in general recover the original x only up to multiplication by an element of K^*: when K != Q, this scalar is pollead(x) (since irreducible factors are monic); and when K = Q you can either ask for the Q-content explicitly of use factorback: ? P = t^2 + 5*t/2 + 1; F = factor(P) %12 = [t + 2 1] [2*t + 1 1] ? content(P, 1) \\ Q-content %13 = 1/2 ? pollead(factorback(F)) / pollead(P) %14 = 2 You can specify K using the optional "domain" argument D as follows * K = Q : D a rational number (t_INT or t_FRAC), * K = Z/pZ with p prime : D a t_INTMOD modulo p; factoring modulo a composite number is not supported. * K = F_q : D a t_FFELT encoding the finite field; you can also use a t_POLMOD of t_INTMOD modulo a prime p but this is usualy less convenient; * K = Q[X]/(T) a number field : D a t_POLMOD modulo T, * K = Q(i) (alternate syntax for special case): D = I, * K = Q(w) a quadratic number field (alternate syntax for special case): D a t_QUAD, * K = R : D a real number (t_REAL); truncate the factorization at accuracy /*-- (type RETURN to continue) --*/ precision(D). If x is inexact and precision(x) is less than precision(D), then the precision of x is used instead. * K = C : D a complex number with a t_REAL component, e.g. I * 1.; truncate the factorization as for K = R, * K = Q_p : D a t_PADIC; truncate the factorization at p-adic accuracy padicprec(D), possibly less if x is inexact with insufficient p-adic accuracy; ? T = x^2+1; ? factor(T, 1); \\ over Q ? factor(T, Mod(1,3)) \\ over F_3 ? factor(T, ffgen(ffinit(3,2,'t))^0) \\ over F_{3^2} ? factor(T, Mod(Mod(1,3), t^2+t+2)) \\ over F_{3^2}, again ? factor(T, O(3^6)) \\ over Q_3, precision 6 ? factor(T, 1.) \\ over R, current precision ? factor(T, I*1.) \\ over C ? factor(T, Mod(1, y^3-2)) \\ over Q(2^{1/3}) In most cases, it is possible and simpler to call a specialized variant rather than use the above scheme: ? factormod(T, 3) \\ over F_3 ? factormod(T, [t^2+t+2, 3]) \\ over F_{3^2} ? factormod(T, ffgen(3^2, 't)) \\ over F_{3^2} ? factorpadic(T, 3,6) \\ over Q_3, precision 6 ? nffactor(y^3-2, T) \\ over Q(2^{1/3}) ? polroots(T) \\ over C ? polrootsreal(T) \\ over R (real polynomial) It is also possible to let the routine use the smallest field containing all coefficients, taking into account quotient structures induced by t_INTMODs and t_POLMODs (e.g. if a coefficient in Z/nZ is known, all rational numbers encountered are first mapped to Z/nZ; different moduli will produce an error): ? T = x^2+1; ? factor(T); \\ over Q ? factor(T*Mod(1,3)) \\ over F_3 ? factor(T*ffgen(ffinit(3,2,'t))^0) \\ over F_{3^2} ? factor(T*Mod(Mod(1,3), t^2+t+2)) \\ over F_{3^2}, again ? factor(T*(1 + O(3^6)) \\ over Q_3, precision 6 ? factor(T*1.) \\ over R, current precision ? factor(T*(1.+0.*I)) \\ over C /*-- (type RETURN to continue) --*/ ? factor(T*Mod(1, y^3-2)) \\ over Q(2^{1/3}) Multiplying by a suitable field element equal to 1 \in K in this way is error-prone and is not recommanded. Factoring existing polynomials with obvious fields of coefficients is fine, the domain argument D should be used instead ad hoc conversions. Note on inexact polynomials. Polynomials with inexact coefficients (e.g. floating point or p-adic numbers) are first rounded to an exact representation, then factored to (potentially) infinite accuracy and we return a truncated approximation of that virtual factorization. To avoid pitfalls, we advise to only factor exact polynomials: ? factor(x^2-1+O(2^2)) \\ rounded to x^2 + 3, irreducible in Q_2 %1 = [(1 + O(2^2))*x^2 + O(2^2)*x + (1 + 2 + O(2^2)) 1] ? factor(x^2-1+O(2^3)) \\ rounded to x^2 + 7, reducible ! %2 = [ (1 + O(2^3))*x + (1 + 2 + O(2^3)) 1] [(1 + O(2^3))*x + (1 + 2^2 + O(2^3)) 1] ? factor(x^2-1, O(2^2)) \\ no ambiguity now %3 = [ (1 + O(2^2))*x + (1 + O(2^2)) 1] [(1 + O(2^2))*x + (1 + 2 + O(2^2)) 1] Note about inseparable polynomials. Polynomials with inexact coefficients are considered to be squarefree: indeed, there exist a squarefree polynomial arbitrarily close to the input, and they cannot be distinguished at the input accuracy. This means that irreducible factors are repeated according to their apparent multiplicity. On the contrary, using a specialized function such as factorpadic with an exact rational input yields the correct multiplicity when the (now exact) input is not separable. Compare: ? factor(z^2 + O(5^2))) %1 = [(1 + O(5^2))*z + O(5^2) 1] [(1 + O(5^2))*z + O(5^2) 1] ? factor(z^2, O(5^2)) /*-- (type RETURN to continue) --*/ %2 = [1 + O(5^2))*z + O(5^2) 2] Multivariate polynomials and rational functions. PARI recursively factors multivariate polynomials in K[t_1,..., t_d] for the same fields K as above and the argument D is used in the same way to specify K. The irreducible factors are sorted by their main variable (least priority first) then by increasing degree. ? factor(x^2 + y^2, Mod(1,5)) %1 = [ x + Mod(2, 5)*y 1] [Mod(1, 5)*x + Mod(3, 5)*y 1] ? factor(x^2 + y^2, O(5^2)) %2 = [ (1 + O(5^2))*x + (O(5^2)*y^2 + (2 + 5 + O(5^2))*y + O(5^2)) 1] [(1 + O(5^2))*x + (O(5^2)*y^2 + (3 + 3*5 + O(5^2))*y + O(5^2)) 1] ? lift(%) %3 = [ x + 7*y 1] [x + 18*y 1] Note that the implementation does not really support inexact real fields (R or C) and usually misses factors even if the input is exact: ? factor(x^2 + y^2, I) \\ over Q(i) %4 = [x - I*y 1] [x + I*y 1] ? factor(x^2 + y^2, I*1.) \\ over C %5 = [x^2 + y^2 1] The library syntax is GEN factor0(GEN x, GEN D = NULL). GEN factor(GEN x) GEN boundfact(GEN x, ulong lim). /*-- (type RETURN to continue) --*/ (16:57) gp > ?partitions partitions(k,{a=k},{n=k}): vector of partitions of the integer k. You can restrict the length of the partitions with parameter n (n=nmax or n=[nmin,nmax]), or the range of the parts with parameter a (a=amax or a=[amin,amax]). By default remove zeros, but one can set amin=0 to get X of fixed length nmax (=k by default). (16:57) gp > ??partitions partitions(k,{a = k},{n = k}): Returns the vector of partitions of the integer k as a sum of positive integers (parts); for k < 0, it returns the empty set [], and for k = 0 the trivial partition (no parts). A partition is given by a t_VECSMALL, where parts are sorted in nondecreasing order: ? partitions(3) %1 = [Vecsmall([3]), Vecsmall([1, 2]), Vecsmall([1, 1, 1])] correspond to 3, 1+2 and 1+1+1. The number of (unrestricted) partitions of k is given by numbpart: ? #partitions(50) %1 = 204226 ? numbpart(50) %2 = 204226 Optional parameters n and a are as follows: * n = nmax (resp. n = [nmin,nmax]) restricts partitions to length less than nmax (resp. length between nmin and nmax), where the length is the number of nonzero entries. * a = amax (resp. a = [amin,amax]) restricts the parts to integers less than amax (resp. between amin and amax). ? partitions(4, 2) \\ parts bounded by 2 %1 = [Vecsmall([2, 2]), Vecsmall([1, 1, 2]), Vecsmall([1, 1, 1, 1])] ? partitions(4,, 2) \\ at most 2 parts %2 = [Vecsmall([4]), Vecsmall([1, 3]), Vecsmall([2, 2])] ? partitions(4,[0,3], 2) \\ at most 2 parts %3 = [Vecsmall([4]), Vecsmall([1, 3]), Vecsmall([2, 2])] By default, parts are positive and we remove zero entries unless amin <= 0, in which case nmin is ignored and we fix #X = nmax: ? partitions(4, [0,3]) \\ parts between 0 and 3 %1 = [Vecsmall([0, 0, 1, 3]), Vecsmall([0, 0, 2, 2]),\ Vecsmall([0, 1, 1, 2]), Vecsmall([1, 1, 1, 1])] ? partitions(1, [0,3], [2,4]) \\ no partition with 2 to 4 nonzero parts %2 = [] /*-- (type RETURN to continue) --*/ The library syntax is GEN partitions(long k, GEN a = NULL, GEN n = NULL). (16:58) gp > eta(q) %1 = 1 - q - q^2 + q^5 + q^7 - q^12 - q^15 + O(q^17) (16:58) gp > 1/eta(q) %2 = 1 + q + 2*q^2 + 3*q^3 + 5*q^4 + 7*q^5 + 11*q^6 + 15*q^7 + 22*q^8 + 30*q^9 + 42*q^10 + 56*q^11 + 77*q^12 + 101*q^13 + 135*q^14 + 176*q^15 + 231*q^16 + O(q^17) (16:58) gp > facvtor(x^7-x-1) *** at top-level: facvtor(x^7-x-1) *** ^---------------- *** not a function in function call *** Break loop: type 'break' to go back to GP prompt break> break (16:59) gp > factor(x^7-x-1) %3 = [x^7 - x - 1 1] (16:59) gp > factorpadic(x^7-x-1,3,10) %4 = [(1 + O(3^10))*x^2 + (1 + 2*3^2 + 3^4 + 3^5 + 2*3^7 + O(3^10))*x + (2 + 3 + 2*3^2 + 2*3^3 + 2*3^4 + 3^5 + 3^7 + 2*3^8 + 2*3^9 + O(3^10)) 1] [(1 + O(3^10))*x^5 + (2 + 2*3 + 2*3^3 + 3^4 + 3^5 + 2*3^6 + 2*3^8 + 2*3^9 + O(3^10))*x^4 + (2 + 3 + 3^2 + 3^3 + 2*3^5 + 3^6 + 2*3^7 + 3^8 + 2*3^9 + O(3^10))*x^3 + (3^2 + 3^3 + 3^4 + 2*3^5 + 3^6 + 2*3^8 + 3^9 + O(3^10))*x^2 + (2 + 2*3^2 + 3^3 + 3^4 + 2*3^5 + 2*3^8 + O(3^10))*x + (1 + 2*3 + 2*3^3 + 3^5 + 2*3^7 + 2*3^9 + O(3^10)) 1] (17:00) gp > polgalois(x^5-x-1)) *** syntax error, unexpected ')', expecting $end: polgalois(x^5-x-1)) *** ^- (17:03) gp > polgalois(x^5-x-1) %5 = [120, -1, 1, "S5"] (17:03) gp > polgalois(x^5-x+1) %6 = [120, -1, 1, "S5"] (17:03) gp > polgalois(x^5+x+1) *** at top-level: polgalois(x^5+x+1) *** ^------------------ *** polgalois: not an irreducible polynomial in galois: x^5 + x + 1. *** Break loop: type 'break' to go back to GP prompt break> break (17:03) gp > polgalois(x^5+x-1) *** at top-level: polgalois(x^5+x-1) *** ^------------------ *** polgalois: not an irreducible polynomial in galois: x^5 + x - 1. *** Break loop: type 'break' to go back to GP prompt break> break (17:04) gp > factor(x^5+x+1) %7 = [ x^2 + x + 1 1] [x^3 - x^2 + 1 1] (17:04) gp > factor(x^5-x-1) %8 = [x^5 - x - 1 1] (17:04) gp > factor(x^5-x-2) %9 = [x^5 - x - 2 1] (17:04) gp > polgalois(x^5-x-2)) *** syntax error, unexpected ')', expecting $end: polgalois(x^5-x-2)) *** ^- (17:04) gp > polgalois(x^5-x-2) %10 = [120, -1, 1, "S5"] (17:04) gp > P=x^4-x-1 %11 = x^4 - x - 1 (17:08) gp > factor(P) %12 = [x^4 - x - 1 1] (17:08) gp > ?factorpadic factorpadic(pol,p,r): p-adic factorization of the polynomial pol to precision r. (17:08) gp > ??factorpadic factorpadic(pol,p,r): p-adic factorization of the polynomial pol to precision r, the result being a two-column matrix as in factor. Note that this is not the same as a factorization over Z/p^rZ (polynomials over that ring do not form a unique factorization domain, anyway), but approximations in Q/p^rZ of the true factorization in Q_p[X]. ? factorpadic(x^2 + 9, 3,5) %1 = [(1 + O(3^5))*x^2 + O(3^5)*x + (3^2 + O(3^5)) 1] ? factorpadic(x^2 + 1, 5,3) %2 = [ (1 + O(5^3))*x + (2 + 5 + 2*5^2 + O(5^3)) 1] [(1 + O(5^3))*x + (3 + 3*5 + 2*5^2 + O(5^3)) 1] The factors are normalized so that their leading coefficient is a power of p. The method used is a modified version of the round 4 algorithm of Zassenhaus. If pol has inexact t_PADIC coefficients, this is not always well-defined; in this case, the polynomial is first made integral by dividing out the p-adic content, then lifted to Z using truncate coefficientwise. Hence we actually factor exactly a polynomial which is only p-adically close to the input. To avoid pitfalls, we advise to only factor polynomials with exact rational coefficients. The library syntax is factorpadic(GEN f,GEN p, long r) . The function factorpadic0 is deprecated, provided for backward compatibility. (17:08) gp > factorpadic(P,2,1) %13 = [(1 + O(2))*x^4 + O(2)*x^3 + O(2)*x^2 + (1 + O(2))*x + (1 + O(2)) 1] (17:09) gp > factorpadic(P,2,2) %14 = [(1 + O(2^2))*x^4 + O(2^2)*x^3 + O(2^2)*x^2 + (1 + 2 + O(2^2))*x + (1 + 2 + O(2^2)) 1] (17:09) gp > factorpadic(P,2,3) %15 = [(1 + O(2^3))*x^4 + O(2^3)*x^3 + O(2^3)*x^2 + (1 + 2 + 2^2 + O(2^3))*x + (1 + 2 + 2^2 + O(2^3)) 1] (17:09) gp > factorpadic(P,2,4) %16 = [(1 + O(2^4))*x^4 + O(2^4)*x^3 + O(2^4)*x^2 + (1 + 2 + 2^2 + 2^3 + O(2^4))*x + (1 + 2 + 2^2 + 2^3 + O(2^4)) 1] (17:09) gp > factorpadic(P,2,5) %17 = [(1 + O(2^5))*x^4 + O(2^5)*x^3 + O(2^5)*x^2 + (1 + 2 + 2^2 + 2^3 + 2^4 + O(2^5))*x + (1 + 2 + 2^2 + 2^3 + 2^4 + O(2^5)) 1] (17:09) gp > factorpadic(P,2,6) %18 = [(1 + O(2^6))*x^4 + O(2^6)*x^3 + O(2^6)*x^2 + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + O(2^6))*x + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + O(2^6)) 1] (17:09) gp > factorpadic(P,2,100) %19 = [(1 + O(2^100))*x^4 + O(2^100)*x^3 + O(2^100)*x^2 + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + 2^10 + 2^11 + 2^12 + 2^13 + 2^14 + 2^15 + 2^16 + 2^17 + 2^18 + 2^19 + 2^20 + 2^21 + 2^22 + 2^23 + 2^24 + 2^25 + 2^26 + 2^27 + 2^28 + 2^29 + 2^30 + 2^31 + 2^32 + 2^33 + 2^34 + 2^35 + 2^36 + 2^37 + 2^38 + 2^39 + 2^40 + 2^41 + 2^42 + 2^43 + 2^44 + 2^45 + 2^46 + 2^47 + 2^48 + 2^49 + 2^50 + 2^51 + 2^52 + 2^53 + 2^54 + 2^55 + 2^56 + 2^57 + 2^58 + 2^59 + 2^60 + 2^61 + 2^62 + 2^63 + 2^64 + 2^65 + 2^66 + 2^67 + 2^68 + 2^69 + 2^70 + 2^71 + 2^72 + 2^73 + 2^74 + 2^75 + 2^76 + 2^77 + 2^78 + 2^79 + 2^80 + 2^81 + 2^82 + 2^83 + 2^84 + 2^85 + 2^86 + 2^87 + 2^88 + 2^89 + 2^90 + 2^91 + 2^92 + 2^93 + 2^94 + 2^95 + 2^96 + 2^97 + 2^98 + 2^99 + O(2^100))*x + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + 2^10 + 2^11 + 2^12 + 2^13 + 2^14 + 2^15 + 2^16 + 2^17 + 2^18 + 2^19 + 2^20 + 2^21 + 2^22 + 2^23 + 2^24 + 2^25 + 2^26 + 2^27 + 2^28 + 2^29 + 2^30 + 2^31 + 2^32 + 2^33 + 2^34 + 2^35 + 2^36 + 2^37 + 2^38 + 2^39 + 2^40 + 2^41 + 2^42 + 2^43 + 2^44 + 2^45 + 2^46 + 2^47 + 2^48 + 2^49 + 2^50 + 2^51 + 2^52 + 2^53 + 2^54 + 2^55 + 2^56 + 2^57 + 2^58 + 2^59 + 2^60 + 2^61 + 2^62 + 2^63 + 2^64 + 2^65 + 2^66 + 2^67 + 2^68 + 2^69 + 2^70 + 2^71 + 2^72 + 2^73 + 2^74 + 2^75 + 2^76 + 2^77 + 2^78 + 2^79 + 2^80 + 2^81 + 2^82 + 2^83 + 2^84 + 2^85 + 2^86 + 2^87 + 2^88 + 2^89 + 2^90 + 2^91 + 2^92 + 2^93 + 2^94 + 2^95 + 2^96 + 2^97 + 2^98 + 2^99 + O(2^100)) 1] (17:09) gp > factorpadic(P,3,1) %20 = [(1 + O(3))*x^4 + O(3)*x^3 + O(3)*x^2 + (2 + O(3))*x + (2 + O(3)) 1] (17:09) gp > factorpadic(P,3,2) %21 = [(1 + O(3^2))*x^4 + O(3^2)*x^3 + O(3^2)*x^2 + (2 + 2*3 + O(3^2))*x + (2 + 2*3 + O(3^2)) 1] (17:10) gp > factorpadic(P,3,3) %22 = [(1 + O(3^3))*x^4 + O(3^3)*x^3 + O(3^3)*x^2 + (2 + 2*3 + 2*3^2 + O(3^3))*x + (2 + 2*3 + 2*3^2 + O(3^3)) 1] (17:10) gp > factorpadic(P,3,4) %23 = [(1 + O(3^4))*x^4 + O(3^4)*x^3 + O(3^4)*x^2 + (2 + 2*3 + 2*3^2 + 2*3^3 + O(3^4))*x + (2 + 2*3 + 2*3^2 + 2*3^3 + O(3^4)) 1] (17:10) gp > factorpadic(P,3,5) %24 = [(1 + O(3^5))*x^4 + O(3^5)*x^3 + O(3^5)*x^2 + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + O(3^5))*x + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + O(3^5)) 1] (17:10) gp > factorpadic(P,3,6) %25 = [(1 + O(3^6))*x^4 + O(3^6)*x^3 + O(3^6)*x^2 + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + 2*3^5 + O(3^6))*x + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + 2*3^5 + O(3^6)) 1] (17:10) gp > factorpadic(P,3,100) %26 = [(1 + O(3^100))*x^4 + O(3^100)*x^3 + O(3^100)*x^2 + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + 2*3^5 + 2*3^6 + 2*3^7 + 2*3^8 + 2*3^9 + 2*3^10 + 2*3^11 + 2*3^12 + 2*3^13 + 2*3^14 + 2*3^15 + 2*3^16 + 2*3^17 + 2*3^18 + 2*3^19 + 2*3^20 + 2*3^21 + 2*3^22 + 2*3^23 + 2*3^24 + 2*3^25 + 2*3^26 + 2*3^27 + 2*3^28 + 2*3^29 + 2*3^30 + 2*3^31 + 2*3^32 + 2*3^33 + 2*3^34 + 2*3^35 + 2*3^36 + 2*3^37 + 2*3^38 + 2*3^39 + 2*3^40 + 2*3^41 + 2*3^42 + 2*3^43 + 2*3^44 + 2*3^45 + 2*3^46 + 2*3^47 + 2*3^48 + 2*3^49 + 2*3^50 + 2*3^51 + 2*3^52 + 2*3^53 + 2*3^54 + 2*3^55 + 2*3^56 + 2*3^57 + 2*3^58 + 2*3^59 + 2*3^60 + 2*3^61 + 2*3^62 + 2*3^63 + 2*3^64 + 2*3^65 + 2*3^66 + 2*3^67 + 2*3^68 + 2*3^69 + 2*3^70 + 2*3^71 + 2*3^72 + 2*3^73 + 2*3^74 + 2*3^75 + 2*3^76 + 2*3^77 + 2*3^78 + 2*3^79 + 2*3^80 + 2*3^81 + 2*3^82 + 2*3^83 + 2*3^84 + 2*3^85 + 2*3^86 + 2*3^87 + 2*3^88 + 2*3^89 + 2*3^90 + 2*3^91 + 2*3^92 + 2*3^93 + 2*3^94 + 2*3^95 + 2*3^96 + 2*3^97 + 2*3^98 + 2*3^99 + O(3^100))*x + (2 + 2*3 + 2*3^2 + 2*3^3 + 2*3^4 + 2*3^5 + 2*3^6 + 2*3^7 + 2*3^8 + 2*3^9 + 2*3^10 + 2*3^11 + 2*3^12 + 2*3^13 + 2*3^14 + 2*3^15 + 2*3^16 + 2*3^17 + 2*3^18 + 2*3^19 + 2*3^20 + 2*3^21 + 2*3^22 + 2*3^23 + 2*3^24 + 2*3^25 + 2*3^26 + 2*3^27 + 2*3^28 + 2*3^29 + 2*3^30 + 2*3^31 + 2*3^32 + 2*3^33 + 2*3^34 + 2*3^35 + 2*3^36 + 2*3^37 + 2*3^38 + 2*3^39 + 2*3^40 + 2*3^41 + 2*3^42 + 2*3^43 + 2*3^44 + 2*3^45 + 2*3^46 + 2*3^47 + 2*3^48 + 2*3^49 + 2*3^50 + 2*3^51 + 2*3^52 + 2*3^53 + 2*3^54 + 2*3^55 + 2*3^56 + 2*3^57 + 2*3^58 + 2*3^59 + 2*3^60 + 2*3^61 + 2*3^62 + 2*3^63 + 2*3^64 + 2*3^65 + 2*3^66 + 2*3^67 + 2*3^68 + 2*3^69 + 2*3^70 + 2*3^71 + 2*3^72 + 2*3^73 + 2*3^74 + 2*3^75 + 2*3^76 + 2*3^77 + 2*3^78 + 2*3^79 + 2*3^80 + 2*3^81 + 2*3^82 + 2*3^83 + 2*3^84 + 2*3^85 + 2*3^86 + 2*3^87 + 2*3^88 + 2*3^89 + 2*3^90 + 2*3^91 + 2*3^92 + 2*3^93 + 2*3^94 + 2*3^95 + 2*3^96 + 2*3^97 + 2*3^98 + 2*3^99 + O(3^100)) 1] (17:10) gp > factorpadic(P,5,1) %27 = [(1 + O(5))*x^4 + O(5)*x^3 + O(5)*x^2 + (4 + O(5))*x + (4 + O(5)) 1] (17:10) gp > factorpadic(P,5,2) %28 = [(1 + O(5^2))*x^4 + O(5^2)*x^3 + O(5^2)*x^2 + (4 + 4*5 + O(5^2))*x + (4 + 4*5 + O(5^2)) 1] (17:10) gp > factorpadic(P,5,3) %29 = [(1 + O(5^3))*x^4 + O(5^3)*x^3 + O(5^3)*x^2 + (4 + 4*5 + 4*5^2 + O(5^3))*x + (4 + 4*5 + 4*5^2 + O(5^3)) 1] (17:10) gp > factorpadic(P,5,10) %30 = [(1 + O(5^10))*x^4 + O(5^10)*x^3 + O(5^10)*x^2 + (4 + 4*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + 4*5^6 + 4*5^7 + 4*5^8 + 4*5^9 + O(5^10))*x + (4 + 4*5 + 4*5^2 + 4*5^3 + 4*5^4 + 4*5^5 + 4*5^6 + 4*5^7 + 4*5^8 + 4*5^9 + O(5^10)) 1] (17:10) gp > factorpadic(P,7,10) %31 = [(1 + O(7^10))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + O(7^10)) 1] [(1 + O(7^10))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + O(7^10))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + O(7^10))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + O(7^10)) 1] (17:10) gp > factorpadic(P,7,20) %32 = [(1 + O(7^20))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + 4*7^10 + 3*7^11 + 5*7^12 + 4*7^14 + 6*7^16 + 7^17 + 6*7^18 + 7^19 + O(7^20)) 1] [(1 + O(7^20))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + 2*7^10 + 3*7^11 + 7^12 + 6*7^13 + 2*7^14 + 6*7^15 + 5*7^17 + 5*7^19 + O(7^20))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + 2*7^10 + 3*7^11 + 5*7^13 + 3*7^14 + 7^16 + 5*7^17 + 5*7^18 + 4*7^19 + O(7^20))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + 5*7^10 + 5*7^12 + 6*7^13 + 4*7^14 + 7^15 + 6*7^16 + 5*7^17 + 7^18 + 7^19 + O(7^20)) 1] (17:11) gp > factorpadic(P,7,1000) %33 = [(1 + O(7^1000))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + 4*7^10 + 3*7^11 + 5*7^12 + 4*7^14 + 6*7^16 + 7^17 + 6*7^18 + 7^19 + 2*7^20 + 2*7^22 + 4*7^24 + 5*7^25 + 2*7^26 + 2*7^27 + 7^28 + 2*7^29 + 4*7^30 + 4*7^31 + 3*7^32 + 6*7^33 + 3*7^34 + 7^35 + 2*7^36 + 5*7^37 + 4*7^38 + 3*7^39 + 4*7^40 + 3*7^41 + 2*7^42 + 5*7^43 + 4*7^44 + 3*7^45 + 6*7^46 + 6*7^47 + 2*7^48 + 6*7^49 + 6*7^50 + 5*7^51 + 3*7^52 + 4*7^53 + 3*7^54 + 4*7^55 + 2*7^56 + 3*7^57 + 3*7^58 + 6*7^62 + 4*7^63 + 6*7^66 + 2*7^67 + 6*7^68 + 4*7^70 + 2*7^71 + 7^72 + 2*7^73 + 7^74 + 7^75 + 7^76 + 3*7^77 + 5*7^78 + 5*7^79 + 3*7^80 + 4*7^81 + 2*7^82 + 7^83 + 3*7^84 + 6*7^85 + 5*7^87 + 6*7^88 + 3*7^89 + 7^90 + 7^91 + 5*7^92 + 2*7^94 + 3*7^96 + 7^97 + 5*7^98 + 3*7^99 + 3*7^100 + 3*7^101 + 3*7^102 + 7^103 + 7^104 + 7^105 + 5*7^106 + 2*7^107 + 5*7^108 + 3*7^109 + 4*7^110 + 5*7^111 + 6*7^112 + 4*7^113 + 7^114 + 7^115 + 7^117 + 6*7^118 + 2*7^119 + 7^120 + 3*7^121 + 4*7^122 + 2*7^123 + 4*7^124 + 2*7^125 + 5*7^126 + 2*7^128 + 5*7^130 + 7^131 + 5*7^132 + 4*7^133 + 6*7^134 + 5*7^135 + 4*7^136 + 3*7^137 + 7^138 + 7^139 + 7^141 + 7^142 + 5*7^143 + 5*7^144 + 4*7^145 + 2*7^146 + 2*7^148 + 3*7^149 + 2*7^150 + 6*7^151 + 4*7^153 + 2*7^154 + 5*7^155 + 4*7^156 + 4*7^157 + 6*7^158 + 4*7^159 + 7^160 + 7^161 + 7^162 + 2*7^165 + 3*7^166 + 2*7^167 + 3*7^168 + 5*7^169 + 5*7^170 + 5*7^171 + 5*7^172 + 2*7^173 + 2*7^174 + 6*7^175 + 4*7^176 + 7^177 + 3*7^178 + 6*7^179 + 4*7^180 + 6*7^181 + 2*7^184 + 2*7^186 + 5*7^188 + 7^189 + 2*7^191 + 7^192 + 3*7^193 + 2*7^194 + 6*7^195 + 3*7^197 + 7^198 + 3*7^199 + 5*7^200 + 2*7^201 + 2*7^202 + 7^203 + 3*7^205 + 7^206 + 5*7^207 + 2*7^208 + 2*7^209 + 3*7^211 + 4*7^212 + 6*7^215 + 5*7^217 + 4*7^218 + 6*7^219 + 4*7^221 + 4*7^222 + 3*7^223 + 6*7^224 + 4*7^225 + 6*7^226 + 7^227 + 7^228 + 6*7^229 + 5*7^232 + 4*7^233 + 7^234 + 3*7^235 + 5*7^236 + 4*7^238 + 3*7^239 + 2*7^240 + 2*7^241 + 4*7^242 + 5*7^243 + 4*7^244 + 5*7^245 + 5*7^246 + 3*7^247 + 5*7^248 + 5*7^249 + 3*7^250 + 3*7^251 + 4*7^252 + 6*7^255 + 6*7^256 + 7^257 + 2*7^258 + 2*7^259 + 7^260 + 5*7^261 + 3*7^263 + 2*7^264 + 2*7^266 + 5*7^267 + 4*7^268 + 5*7^269 + 4*7^270 + 7^271 + 7^273 + 3*7^274 + 3*7^275 + 4*7^277 + 2*7^280 + 3*7^281 + 6*7^283 + 2*7^284 + 7^285 + 2*7^286 + 2*7^287 + 4*7^288 + 3*7^289 + 7^290 + 6*7^291 + 6*7^292 + 7^293 + 4*7^294 + 3*7^295 + 7^296 + 3*7^297 + 7^298 + 7^299 + 7^300 + 3*7^301 + 6*7^302 + 2*7^303 + 4*7^304 + 6*7^305 + 7^307 + 5*7^308 + 6*7^309 + 2*7^310 + 2*7^311 + 6*7^313 + 4*7^314 + 4*7^315 + 7^316 + 7^317 + 2*7^319 + 4*7^320 + 7^321 + 4*7^322 + 6*7^323 + 2*7^324 + 7^327 + 4*7^328 + 3*7^329 + 7^330 + 7^332 + 3*7^335 + 4*7^336 + 3*7^337 + 4*7^338 + 5*7^340 + 3*7^341 + 7^342 + 7^343 + 6*7^344 + 7^345 + 4*7^346 + 7^347 + 3*7^348 + 7^349 + 2*7^350 + 6*7^351 + 4*7^352 + 2*7^353 + 2*7^354 + 6*7^355 + 3*7^356 + 2*7^357 + 2*7^359 + 2*7^360 + 4*7^361 + 4*7^362 + 3*7^363 + 5*7^364 + 7^365 + 6*7^366 + 2*7^367 + 7^368 + 5*7^370 + 7^371 + 2*7^373 + 6*7^375 + 5*7^376 + 6*7^378 + 7^379 + 4*7^380 + 6*7^381 + 7^382 + 7^383 + 7^384 + 3*7^385 + 5*7^386 + 6*7^387 + 3*7^388 + 7^389 + 6*7^390 + 4*7^391 + 6*7^392 + [+++] (17:11) gp > factorpadic(P,7,10) %34 = [(1 + O(7^10))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + O(7^10)) 1] [(1 + O(7^10))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + O(7^10))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + O(7^10))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + O(7^10)) 1] (17:11) gp > factorpadic(P,7,20) %35 = [(1 + O(7^20))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + 4*7^10 + 3*7^11 + 5*7^12 + 4*7^14 + 6*7^16 + 7^17 + 6*7^18 + 7^19 + O(7^20)) 1] [(1 + O(7^20))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + 2*7^10 + 3*7^11 + 7^12 + 6*7^13 + 2*7^14 + 6*7^15 + 5*7^17 + 5*7^19 + O(7^20))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + 2*7^10 + 3*7^11 + 5*7^13 + 3*7^14 + 7^16 + 5*7^17 + 5*7^18 + 4*7^19 + O(7^20))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + 5*7^10 + 5*7^12 + 6*7^13 + 4*7^14 + 7^15 + 6*7^16 + 5*7^17 + 7^18 + 7^19 + O(7^20)) 1] (17:11) gp > factorpadic(P,7,30) %36 = [(1 + O(7^30))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + 4*7^10 + 3*7^11 + 5*7^12 + 4*7^14 + 6*7^16 + 7^17 + 6*7^18 + 7^19 + 2*7^20 + 2*7^22 + 4*7^24 + 5*7^25 + 2*7^26 + 2*7^27 + 7^28 + 2*7^29 + O(7^30)) 1] [(1 + O(7^30))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + 2*7^10 + 3*7^11 + 7^12 + 6*7^13 + 2*7^14 + 6*7^15 + 5*7^17 + 5*7^19 + 4*7^20 + 6*7^21 + 4*7^22 + 6*7^23 + 2*7^24 + 7^25 + 4*7^26 + 4*7^27 + 5*7^28 + 4*7^29 + O(7^30))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + 2*7^10 + 3*7^11 + 5*7^13 + 3*7^14 + 7^16 + 5*7^17 + 5*7^18 + 4*7^19 + 4*7^23 + 3*7^24 + 2*7^25 + 4*7^26 + 3*7^27 + 2*7^28 + O(7^30))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + 5*7^10 + 5*7^12 + 6*7^13 + 4*7^14 + 7^15 + 6*7^16 + 5*7^17 + 7^18 + 7^19 + 7^20 + 6*7^21 + 6*7^22 + 5*7^23 + 5*7^24 + 3*7^26 + 2*7^27 + 6*7^28 + 4*7^29 + O(7^30)) 1] (17:11) gp > factorpadic(P,7,100) %37 = [(1 + O(7^100))*x + (4 + 7 + 6*7^2 + 4*7^3 + 5*7^4 + 2*7^5 + 4*7^6 + 5*7^8 + 5*7^9 + 4*7^10 + 3*7^11 + 5*7^12 + 4*7^14 + 6*7^16 + 7^17 + 6*7^18 + 7^19 + 2*7^20 + 2*7^22 + 4*7^24 + 5*7^25 + 2*7^26 + 2*7^27 + 7^28 + 2*7^29 + 4*7^30 + 4*7^31 + 3*7^32 + 6*7^33 + 3*7^34 + 7^35 + 2*7^36 + 5*7^37 + 4*7^38 + 3*7^39 + 4*7^40 + 3*7^41 + 2*7^42 + 5*7^43 + 4*7^44 + 3*7^45 + 6*7^46 + 6*7^47 + 2*7^48 + 6*7^49 + 6*7^50 + 5*7^51 + 3*7^52 + 4*7^53 + 3*7^54 + 4*7^55 + 2*7^56 + 3*7^57 + 3*7^58 + 6*7^62 + 4*7^63 + 6*7^66 + 2*7^67 + 6*7^68 + 4*7^70 + 2*7^71 + 7^72 + 2*7^73 + 7^74 + 7^75 + 7^76 + 3*7^77 + 5*7^78 + 5*7^79 + 3*7^80 + 4*7^81 + 2*7^82 + 7^83 + 3*7^84 + 6*7^85 + 5*7^87 + 6*7^88 + 3*7^89 + 7^90 + 7^91 + 5*7^92 + 2*7^94 + 3*7^96 + 7^97 + 5*7^98 + 3*7^99 + O(7^100)) 1] [(1 + O(7^100))*x^3 + (3 + 5*7 + 2*7^3 + 7^4 + 4*7^5 + 2*7^6 + 6*7^7 + 7^8 + 7^9 + 2*7^10 + 3*7^11 + 7^12 + 6*7^13 + 2*7^14 + 6*7^15 + 5*7^17 + 5*7^19 + 4*7^20 + 6*7^21 + 4*7^22 + 6*7^23 + 2*7^24 + 7^25 + 4*7^26 + 4*7^27 + 5*7^28 + 4*7^29 + 2*7^30 + 2*7^31 + 3*7^32 + 3*7^34 + 5*7^35 + 4*7^36 + 7^37 + 2*7^38 + 3*7^39 + 2*7^40 + 3*7^41 + 4*7^42 + 7^43 + 2*7^44 + 3*7^45 + 4*7^48 + 7^51 + 3*7^52 + 2*7^53 + 3*7^54 + 2*7^55 + 4*7^56 + 3*7^57 + 3*7^58 + 6*7^59 + 6*7^60 + 6*7^61 + 2*7^63 + 6*7^64 + 6*7^65 + 4*7^67 + 6*7^69 + 2*7^70 + 4*7^71 + 5*7^72 + 4*7^73 + 5*7^74 + 5*7^75 + 5*7^76 + 3*7^77 + 7^78 + 7^79 + 3*7^80 + 2*7^81 + 4*7^82 + 5*7^83 + 3*7^84 + 6*7^86 + 7^87 + 3*7^89 + 5*7^90 + 5*7^91 + 7^92 + 6*7^93 + 4*7^94 + 6*7^95 + 3*7^96 + 5*7^97 + 7^98 + 3*7^99 + O(7^100))*x^2 + (2 + 3*7 + 7^2 + 2*7^3 + 3*7^5 + 5*7^6 + 5*7^7 + 7^8 + 3*7^9 + 2*7^10 + 3*7^11 + 5*7^13 + 3*7^14 + 7^16 + 5*7^17 + 5*7^18 + 4*7^19 + 4*7^23 + 3*7^24 + 2*7^25 + 4*7^26 + 3*7^27 + 2*7^28 + 6*7^30 + 4*7^31 + 7^32 + 6*7^33 + 6*7^34 + 5*7^35 + 6*7^36 + 4*7^37 + 4*7^39 + 6*7^40 + 4*7^42 + 4*7^43 + 2*7^44 + 3*7^45 + 4*7^46 + 2*7^47 + 7^48 + 2*7^50 + 5*7^51 + 7^52 + 4*7^53 + 6*7^54 + 6*7^55 + 4*7^56 + 6*7^57 + 3*7^58 + 6*7^60 + 7^61 + 3*7^62 + 5*7^63 + 6*7^64 + 6*7^65 + 5*7^66 + 6*7^67 + 3*7^68 + 2*7^69 + 7^70 + 3*7^71 + 3*7^72 + 3*7^73 + 3*7^74 + 7^75 + 2*7^77 + 3*7^78 + 7^79 + 4*7^80 + 5*7^81 + 7^82 + 7^83 + 5*7^84 + 3*7^86 + 3*7^87 + 2*7^88 + 3*7^90 + 5*7^91 + 2*7^92 + 4*7^93 + 4*7^94 + 5*7^95 + 3*7^96 + 4*7^97 + 2*7^98 + 6*7^99 + O(7^100))*x + (5 + 5*7 + 6*7^2 + 3*7^3 + 6*7^4 + 3*7^5 + 5*7^6 + 7^7 + 4*7^8 + 3*7^9 + 5*7^10 + 5*7^12 + 6*7^13 + 4*7^14 + 7^15 + 6*7^16 + 5*7^17 + 7^18 + 7^19 + 7^20 + 6*7^21 + 6*7^22 + 5*7^23 + 5*7^24 + 3*7^26 + 2*7^27 + 6*7^28 + 4*7^29 + 5*7^30 + 3*7^31 + 5*7^32 + 6*7^33 + 5*7^34 + 5*7^35 + 7^37 + 7^38 + 3*7^39 + 7^40 + 5*7^41 + 5*7^42 + 4*7^43 + 7^44 + 4*7^45 + 2*7^46 + 2*7^47 + 6*7^48 + 2*7^49 + 4*7^54 + 7^55 + 6*7^56 + 3*7^57 + 5*7^58 + 3*7^59 + 2*7^60 + 4*7^61 + 7^62 + 5*7^64 + 3*7^65 + 5*7^66 + 7^67 + 2*7^68 + 3*7^69 + 2*7^71 + 3*7^72 + 4*7^73 + 2*7^74 + 2*7^75 + 5*7^76 + 2*7^77 + 7^79 + 3*7^80 + 3*7^81 + 3*7^82 + 2*7^83 + 5*7^84 + 4*7^85 + 5*7^86 + 3*7^87 + 5*7^88 + 7^89 + 6*7^90 + 3*7^91 + 3*7^92 + [+++] (17:11) gp > "Para provar que P tem uma raiz em Q_7 - usar lema de Hensel" %38 = "Para provar que P tem uma raiz em Q_7 - usar lema de Hensel" (17:12) gp > factorpadic(P,11,1) %39 = [ (1 + O(11))*x + (8 + O(11)) 1] [(1 + O(11))*x^3 + (3 + O(11))*x^2 + (9 + O(11))*x + (4 + O(11)) 1] (17:12) gp > factorpadic(P,11,2) %40 = [(1 + O(11^2))*x + (8 + 4*11 + O(11^2)) 1] [(1 + O(11^2))*x^3 + (3 + 6*11 + O(11^2))*x^2 + (9 + 3*11 + O(11^2))*x + (4 + 10*11 + O(11^2)) 1] (17:12) gp > factorpadic(P,11,3) %41 = [(1 + O(11^3))*x + (8 + 4*11 + 6*11^2 + O(11^3)) 1] [(1 + O(11^3))*x^3 + (3 + 6*11 + 4*11^2 + O(11^3))*x^2 + (9 + 3*11 + 8*11^2 + O(11^3))*x + (4 + 10*11 + 6*11^2 + O(11^3)) 1] (17:12) gp > factorpadic(P,11,4) %42 = [(1 + O(11^4))*x + (8 + 4*11 + 6*11^2 + 5*11^3 + O(11^4)) 1] [(1 + O(11^4))*x^3 + (3 + 6*11 + 4*11^2 + 5*11^3 + O(11^4))*x^2 + (9 + 3*11 + 8*11^2 + 6*11^3 + O(11^4))*x + (4 + 10*11 + 6*11^2 + 9*11^3 + O(11^4)) 1] (17:12) gp > factorpadic(P,11,5) %43 = [(1 + O(11^5))*x + (8 + 4*11 + 6*11^2 + 5*11^3 + 9*11^4 + O(11^5)) 1] [(1 + O(11^5))*x^3 + (3 + 6*11 + 4*11^2 + 5*11^3 + 11^4 + O(11^5))*x^2 + (9 + 3*11 + 8*11^2 + 6*11^3 + 11^4 + O(11^5))*x + (4 + 10*11 + 6*11^2 + 9*11^3 + 7*11^4 + O(11^5)) 1] (17:12) gp > factorpadic(P,13,4) %44 = [(1 + O(13^4))*x + (11 + 7*13 + 7*13^2 + 13^3 + O(13^4)) 1] [(1 + O(13^4))*x^3 + (2 + 5*13 + 5*13^2 + 11*13^3 + O(13^4))*x^2 + (4 + 7*13 + 7*13^2 + 6*13^3 + O(13^4))*x + (7 + 8*13 + 6*13^2 + 13^3 + O(13^4)) 1] (17:12) gp > factorpadic(P,17,4) %45 = [(1 + O(17^4))*x + (2 + 17 + 9*17^2 + O(17^4)) 1] [(1 + O(17^4))*x + (5 + 6*17 + 6*17^2 + 4*17^3 + O(17^4)) 1] [(1 + O(17^4))*x^2 + (10 + 9*17 + 17^2 + 12*17^3 + O(17^4))*x + (5 + 15*17 + 13*17^2 + 5*17^3 + O(17^4)) 1] (17:13) gp > factorpadic(P,23,4) %46 = [(1 + O(23^4))*x + (11 + 14*23 + 4*23^2 + 17*23^3 + O(23^4)) 1] [(1 + O(23^4))*x^3 + (12 + 8*23 + 18*23^2 + 5*23^3 + O(23^4))*x^2 + (6 + 14*23 + 21*23^2 + 15*23^3 + O(23^4))*x + (2 + 12*23 + 21*23^2 + 6*23^3 + O(23^4)) 1] (17:13) gp > factorpadic(P,29,4) %47 = [(1 + O(29^4))*x + (7 + 12*29 + 10*29^2 + 12*29^3 + O(29^4)) 1] [(1 + O(29^4))*x^3 + (22 + 16*29 + 18*29^2 + 16*29^3 + O(29^4))*x^2 + (20 + 24*29 + 28*29^2 + 11*29^3 + O(29^4))*x + (4 + 22*29 + 26*29^2 + 10*29^3 + O(29^4)) 1] (17:13) gp > factorpadic(P,prime(10),4) %48 = [(1 + O(29^4))*x + (7 + 12*29 + 10*29^2 + 12*29^3 + O(29^4)) 1] [(1 + O(29^4))*x^3 + (22 + 16*29 + 18*29^2 + 16*29^3 + O(29^4))*x^2 + (20 + 24*29 + 28*29^2 + 11*29^3 + O(29^4))*x + (4 + 22*29 + 26*29^2 + 10*29^3 + O(29^4)) 1] (17:13) gp > factorpadic(P,prime(17),4) %49 = [(1 + O(59^4))*x + (32 + 10*59 + 17*59^2 + 37*59^3 + O(59^4)) 1] [(1 + O(59^4))*x^3 + (27 + 48*59 + 41*59^2 + 21*59^3 + O(59^4))*x^2 + (21 + 8*59 + 19*59^2 + 14*59^3 + O(59^4))*x + (35 + 53*59 + 8*59^2 + 24*59^3 + O(59^4)) 1] (17:13) gp > #% %50 = 2 (17:13) gp > ?prime prime(n): returns the n-th prime (n C-integer). (17:13) gp > vector(20,n,prime(n)) %51 = [2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71] (17:13) gp > for(n=1,20,factorpadic(P,prime(n),2)) (17:14) gp > for(n=1,20,print(factorpadic(P,prime(n),2))) Mat([(1 + O(2^2))*x^4 + O(2^2)*x^3 + O(2^2)*x^2 + (1 + 2 + O(2^2))*x + (1 + 2 + O(2^2)), 1]) Mat([(1 + O(3^2))*x^4 + O(3^2)*x^3 + O(3^2)*x^2 + (2 + 2*3 + O(3^2))*x + (2 + 2*3 + O(3^2)), 1]) Mat([(1 + O(5^2))*x^4 + O(5^2)*x^3 + O(5^2)*x^2 + (4 + 4*5 + O(5^2))*x + (4 + 4*5 + O(5^2)), 1]) [(1 + O(7^2))*x + (4 + 7 + O(7^2)), 1; (1 + O(7^2))*x^3 + (3 + 5*7 + O(7^2))*x^2 + (2 + 3*7 + O(7^2))*x + (5 + 5*7 + O(7^2)), 1] [(1 + O(11^2))*x + (8 + 4*11 + O(11^2)), 1; (1 + O(11^2))*x^3 + (3 + 6*11 + O(11^2))*x^2 + (9 + 3*11 + O(11^2))*x + (4 + 10*11 + O(11^2)), 1] [(1 + O(13^2))*x + (11 + 7*13 + O(13^2)), 1; (1 + O(13^2))*x^3 + (2 + 5*13 + O(13^2))*x^2 + (4 + 7*13 + O(13^2))*x + (7 + 8*13 + O(13^2)), 1] [(1 + O(17^2))*x + (2 + 17 + O(17^2)), 1; (1 + O(17^2))*x + (5 + 6*17 + O(17^2)), 1; (1 + O(17^2))*x^2 + (10 + 9*17 + O(17^2))*x + (5 + 15*17 + O(17^2)), 1] Mat([(1 + O(19^2))*x^4 + O(19^2)*x^3 + O(19^2)*x^2 + (18 + 18*19 + O(19^2))*x + (18 + 18*19 + O(19^2)), 1]) [(1 + O(23^2))*x + (11 + 14*23 + O(23^2)), 1; (1 + O(23^2))*x^3 + (12 + 8*23 + O(23^2))*x^2 + (6 + 14*23 + O(23^2))*x + (2 + 12*23 + O(23^2)), 1] [(1 + O(29^2))*x + (7 + 12*29 + O(29^2)), 1; (1 + O(29^2))*x^3 + (22 + 16*29 + O(29^2))*x^2 + (20 + 24*29 + O(29^2))*x + (4 + 22*29 + O(29^2)), 1] Mat([(1 + O(31^2))*x^4 + O(31^2)*x^3 + O(31^2)*x^2 + (30 + 30*31 + O(31^2))*x + (30 + 30*31 + O(31^2)), 1]) [(1 + O(37^2))*x + (5 + 37 + O(37^2)), 1; (1 + O(37^2))*x + (4 + 22*37 + O(37^2)), 1; (1 + O(37^2))*x^2 + (28 + 13*37 + O(37^2))*x + (24 + 5*37 + O(37^2)), 1] [(1 + O(41^2))*x + (19 + 28*41 + O(41^2)), 1; (1 + O(41^2))*x^3 + (22 + 12*41 + O(41^2))*x^2 + (33 + 6*41 + O(41^2))*x + (28 + 12*41 + O(41^2)), 1] Mat([(1 + O(43^2))*x^4 + O(43^2)*x^3 + O(43^2)*x^2 + (42 + 42*43 + O(43^2))*x + (42 + 42*43 + O(43^2)), 1]) Mat([(1 + O(47^2))*x^4 + O(47^2)*x^3 + O(47^2)*x^2 + (46 + 46*47 + O(47^2))*x + (46 + 46*47 + O(47^2)), 1]) [(1 + O(53^2))*x + (41 + 5*53 + O(53^2)), 1; (1 + O(53^2))*x + (18 + 39*53 + O(53^2)), 1; (1 + O(53^2))*x^2 + (47 + 7*53 + O(53^2))*x + (40 + 3*53 + O(53^2)), 1] [(1 + O(59^2))*x + (32 + 10*59 + O(59^2)), 1; (1 + O(59^2))*x^3 + (27 + 48*59 + O(59^2))*x^2 + (21 + 8*59 + O(59^2))*x + (35 + 53*59 + O(59^2)), 1] [(1 + O(61^2))*x + (53 + 53*61 + O(61^2)), 1; (1 + O(61^2))*x^3 + (8 + 7*61 + O(61^2))*x^2 + (3 + 52*61 + O(61^2))*x + (23 + 10*61 + O(61^2)), 1] [(1 + O(67^2))*x + (21 + 26*67 + O(67^2)), 1; (1 + O(67^2))*x + (59 + 26*67 + O(67^2)), 1; (1 + O(67^2))*x^2 + (54 + 13*67 + O(67^2))*x + (2 + 19*67 + O(67^2)), 1] [(1 + O(71^2))*x^2 + (15 + 71 + O(71^2))*x + (51 + 46*71 + O(71^2)), 1; (1 + O(71^2))*x^2 + (56 + 69*71 + O(71^2))*x + (32 + 57*71 + O(71^2)), 1] (17:14) gp > factorpadic(P,2) *** too few arguments: factorpadic(P,2) *** ^- (17:14) gp > factorpadic(P,2,10) %54 = [(1 + O(2^10))*x^4 + O(2^10)*x^3 + O(2^10)*x^2 + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + O(2^10))*x + (1 + 2 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6 + 2^7 + 2^8 + 2^9 + O(2^10)) 1] (17:14) gp > #factorpadic(P,2,10) %55 = 2 (17:15) gp > for(n=1,20,A=factorpadic(P,prime(n),2))) *** syntax error, unexpected ')', expecting $end: *** ...actorpadic(P,prime(n),2))) *** ^- (17:15) gp > for(n=1,20,A=factorpadic(P,prime(n),2)) (17:15) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A) (17:16) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A;vector(N,k,poldegree(A[k,1])) *** syntax error, unexpected $end, expecting )-> or ',' or ')': *** ...tor(N,k,poldegree(A[k,1])) *** ^- (17:16) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A;vector(N,k,poldegree(A[k,1])) *** syntax error, unexpected $end, expecting )-> or ',' or ')': *** ...tor(N,k,poldegree(A[k,1])) *** ^- (17:16) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A;vector(N,k,poldegree(A[k,1]))) *** at top-level: ...#A;vector(N,k,poldegree(A[k,1]))) *** ^-------- *** nonexistent component: index > 1 *** Break loop: type 'break' to go back to GP prompt break> break (17:16) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A;vector(N,k,poldegree(A[k][1]))) *** at top-level: ...#A;vector(N,k,poldegree(A[k][1]))) *** ^--------- *** incorrect type in _[_] OCcompo1 [not a vector] (t_MAT). *** Break loop: type 'break' to go back to GP prompt break> break (17:16) gp > #factorpadic(P,17,10) %58 = 2 (17:17) gp > factorpadic(P,17,10) %59 = [(1 + O(17^10))*x + (5 + 6*17 + 6*17^2 + 4*17^3 + 9*17^4 + 4*17^5 + 5*17^6 + 5*17^7 + 9*17^8 + 17^9 + O(17^10)) 1] [(1 + O(17^10))*x + (2 + 17 + 9*17^2 + 12*17^4 + 5*17^5 + 10*17^6 + 8*17^8 + 15*17^9 + O(17^10)) 1] [(1 + O(17^10))*x^2 + (10 + 9*17 + 17^2 + 12*17^3 + 12*17^4 + 6*17^5 + 17^6 + 11*17^7 + 16*17^8 + 16*17^9 + O(17^10))*x + (5 + 15*17 + 13*17^2 + 5*17^3 + 9*17^4 + 8*17^5 + 11*17^6 + 12*17^7 + 5*17^8 + 7*17^9 + O(17^10)) 1] (17:17) gp > factorpadic(P,17,10)~ %60 = [(1 + O(17^10))*x + (5 + 6*17 + 6*17^2 + 4*17^3 + 9*17^4 + 4*17^5 + 5*17^6 + 5*17^7 + 9*17^8 + 17^9 + O(17^10)) (1 + O(17^10))*x + (2 + 17 + 9*17^2 + 12*17^4 + 5*17^5 + 10*17^6 + 8*17^8 + 15*17^9 + O(17^10)) (1 + O(17^10))*x^2 + (10 + 9*17 + 17^2 + 12*17^3 + 12*17^4 + 6*17^5 + 17^6 + 11*17^7 + 16*17^8 + 16*17^9 + O(17^10))*x + (5 + 15*17 + 13*17^2 + 5*17^3 + 9*17^4 + 8*17^5 + 11*17^6 + 12*17^7 + 5*17^8 + 7*17^9 + O(17^10))] [1 1 1] (17:17) gp > #factorpadic(P,17,10)~ %61 = 3 (17:17) gp > factorpadic(P,17,10)~[1] *** at top-level: factorpadic(P,17,10)~[1] *** ^--- *** incorrect type in _[_] OCcompo1 [not a vector] (t_MAT). *** Break loop: type 'break' to go back to GP prompt break> break (17:17) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A~;vector(N,k,poldegree(A[k][1]))) *** at top-level: ...A~;vector(N,k,poldegree(A[k][1]))) *** ^--------- *** incorrect type in _[_] OCcompo1 [not a vector] (t_MAT). *** Break loop: type 'break' to go back to GP prompt break> break (17:17) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A~;vector(N,k,poldegree(A[k,1]))) (17:17) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A~;print(vector(N,k,poldegree(A[k,1])))) [4] [4] [4] [1, 3] [1, 3] [1, 3] [1, 1, 2] [4] [1, 3] [1, 3] [4] [1, 1, 2] [1, 3] [4] [4] [1, 1, 2] [1, 3] [1, 3] [1, 1, 2] [2, 2] (17:17) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A~;vecsort(vector(N,k,poldegree(A[k,1])))) (17:18) gp > for(n=1,20,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));print(v)) [4] [4] [4] [1, 3] [1, 3] [1, 3] [1, 1, 2] [4] [1, 3] [1, 3] [4] [1, 1, 2] [1, 3] [4] [4] [1, 1, 2] [1, 3] [1, 3] [1, 1, 2] [2, 2] (17:19) gp > W=vector(20,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));print(v)) [4] [4] [4] [1, 3] [1, 3] [1, 3] [1, 1, 2] [4] [1, 3] [1, 3] [4] [1, 1, 2] [1, 3] [4] [4] [1, 1, 2] [1, 3] [1, 3] [1, 1, 2] [2, 2] %66 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] (17:19) gp > W %67 = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] (17:19) gp > W=vector(20,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v) %68 = [[4], [4], [4], [1, 3], [1, 3], [1, 3], [1, 1, 2], [4], [1, 3], [1, 3], [4], [1, 1, 2], [1, 3], [4], [4], [1, 1, 2], [1, 3], [1, 3], [1, 1, 2], [2, 2]] (17:19) gp > vecsort(W) %69 = [[1, 1, 2], [1, 1, 2], [1, 1, 2], [1, 1, 2], [1, 3], [1, 3], [1, 3], [1, 3], [1, 3], [1, 3], [1, 3], [1, 3], [2, 2], [4], [4], [4], [4], [4], [4], [4]] (17:19) gp > ?vecsort vecsort(x,{cmpf},{flag=0}): sorts the vector of vectors (or matrix) x in ascending order, according to the comparison function cmpf, if not omitted. (If cmpf is an integer k, sort according to the value of the k-th component of each entry.) Binary digits of flag (if present) mean: 1: indirect sorting, return the permutation instead of the permuted vector, 4: use descending instead of ascending order, 8: remove duplicate entries. (17:19) gp > vecsort(W,,8) %70 = [[1, 1, 2], [1, 3], [2, 2], [4]] (17:19) gp > vecsort(vector(20,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %71 = [[1, 1, 2], [1, 3], [2, 2], [4]] (17:20) gp > vecsort(vector(30,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %72 = [[1, 1, 1, 1], [1, 1, 2], [1, 3], [2, 2], [4]] (17:20) gp > #vecsort(vector(30,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %73 = 5 (17:20) gp > 1/eta(q) %74 = 1 + q + 2*q^2 + 3*q^3 + 5*q^4 + 7*q^5 + 11*q^6 + 15*q^7 + 22*q^8 + 30*q^9 + 42*q^10 + 56*q^11 + 77*q^12 + 101*q^13 + 135*q^14 + 176*q^15 + 231*q^16 + O(q^17) (17:20) gp > polcoeff(1/eta(q),4) %75 = 5 (17:20) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(30,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %76 = 0 (17:21) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) *** at top-level: ...),poldegree(P))-#vecsort(vector(M,n,A=factorpa *** ^--------------------- *** vector: incorrect type in gtos [integer expected] (t_POL). *** Break loop: type 'break' to go back to GP prompt break> break (17:21) gp > M=10 %77 = 10 (17:21) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %78 = 2 (17:21) gp > M=20 %79 = 20 (17:21) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %80 = 1 (17:21) gp > M=25 %81 = 25 (17:21) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %82 = 0 (17:21) gp > P %83 = x^4 - x - 1 (17:21) gp > P=x^7-x-1 %84 = x^7 - x - 1 (17:21) gp > M=1 %85 = 1 (17:21) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %86 = 14 (17:22) gp > M=100 %87 = 100 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %88 = 2 (17:22) gp > M=200 %89 = 200 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %90 = 1 (17:22) gp > M=300 %91 = 300 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %92 = 1 (17:22) gp > M=400 %93 = 400 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %94 = 1 (17:22) gp > M=500 %95 = 500 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %96 = 1 (17:22) gp > M=1000 %97 = 1000 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %98 = 1 (17:22) gp > M=10000 %99 = 10000 (17:22) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %100 = 0 (17:22) gp > 7! %101 = 5040 (17:23) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),, *** syntax error, unexpected $end, expecting )-> or ',' or ')': *** ...k,poldegree(A[k,1])));v),, *** ^- (17:24) gp > M=7! %102 = 5040 (17:24) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %103 = 0 (17:24) gp > M=7!/2 %104 = 2520 (17:24) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %105 = 0 (17:24) gp > M=7!-100 %106 = 4940 (17:24) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %107 = 0 (17:24) gp > M=6! %108 = 720 (17:25) gp > polcoeff(1/eta(q),poldegree(P))-#vecsort(vector(M,n,A=factorpadic(P,prime(n),2);N=#A~;v=vecsort(vector(N,k,poldegree(A[k,1])));v),,8) %109 = 1