Jacques Gélinas on Thu, 14 Dec 2017 18:55:19 +0100


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

issquare(polynomial) ?


How can I best use PARI/GP to detect if a polynomial is a perfect square ?

This question comes from an attempt at proving that DN() below is positive.

      \\ Jensen polynomial
P(n) = sum(k=0, n, binomial(2*n,2*k) * a(k) * x^(2*k) );
      \\ 1, 1, 3/(d+3), 3/(d+3) * 3/(d+3)*5/(d+5), ...
a(k) = 1 / prod(j=1,k-1, prod(i=1,j, 1 + d/(2*i+1) ));

dsc(n) = (-1)^n * poldisc( P(n) );
dsc(1) == 2^2
dsc(2) == 2^8*3^3 * (3*d+8)^2 / (d+3)^3
dsc(3) == 2^6*3^12*5^5 * (5*d+16)^2 * (15*d^3+160*d^2+540*d+576)^2/ (d+3)^10 / (d+5)^5

         \\ explicit formula for the denominator of the discriminant
DD(n) = prod(j=1,n-1, (d+2*j+1)^( (2*n-1)*(n-j) ) );
8 == vecsum(vector(8, n, DD(n) == denominator( dsc(n) ) ))

        \\ is the numerator a perfect square ?
ND(n) = numerator(dsc(n));
ND(2) == 2^8*3^3  * (3*d + 8)^2
ND(3) == 2^6*3^12*5^5 * (5*d+16)^2 * (15*d^3+160*d^2+540*d+576)^2 
issquare(ND(4))
  ***   at top-level: issquare(ND(4))
  ***                          ^------
  ***   not a function in function call


Jacques Gélinas