Denis Simon on Mon, 01 Nov 2021 16:45:02 +0100 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
Re: size of the coefficients returned by bnfisnorm() |
De: "Max Alekseyev" <maxale@gmail.com>
À: "pari-users" <pari-users@pari.math.u-bordeaux.fr>
Envoyé: Lundi 1 Novembre 2021 03:07:40
Objet: Re: size of the coefficients returned by bnfisnorm()
Thanks for confirming the equivalence of M and M2, although I believe the value of P should be:P = [323, 775; 0, -1];to have M2*sym2sq(P)==-M.In fact, my primary concern is not the value of elements of qfparam() per se, but gcd of the pairwise resultants of the parametrized solution elements:mygcd(Q) = my(q=Q*[x^2,x,1]~); gcd( polresultant(q[1],q[2]), polresultant(q[1],q[3]) );For M and M2, we have:? mygcd(M)
%1 = 2952490316888551400? mygcd(M2)
%2 = 271255400It can be seen that mygcd(Q*sym2sq(P)) = mygcd(Q) * matdet(P)^4, and so by choosing a suitable P we can try to eliminate the prime fourth powers in the gcd.In our example, we havefactor( mygcd(M) )
[2, 3; 5, 2; 13, 1; 17, 6; 19, 6]factor( mygcd(M2) )[2, 3; 5, 2; 13, 1; 17, 2; 19, 2]implying that mygcd(M2) is the minimum we can achieve here via multiplication by sym2sq(P).Also, to get from M to some newM=M*sym2sq(P) with minimum mygcd(newM) (== mygcd(M2)) we need to take P such that (i) matdet(P) = 1/(17*19), and (ii) M*sym2sq(P) has integer elements.It turns out, in our examplenewM = M * sym2sq([1/(17*19),0;0,1])[-323, -500650, -194002198; -5, -7700, -2964370; -25, -38760, -15023350]would do the job, although in general case it'll take some effort to satisfy condition (ii).P.S. It'd be nice to have a notion of "minimal" solution here, but that's just out of curiosity.Regards,MaxOn Sun, Oct 31, 2021 at 6:18 PM Bill Allombert <Bill.Allombert@math.u-bordeaux.fr> wrote:Le Sun, Oct 31, 2021 at 09:40:49AM +0100, Bill Allombert a écrit :
> Le Sat, Oct 30, 2021 at 10:12:07PM -0400, Max Alekseyev a écrit :
> > Dear Bill,
> >
> > I did not have a chance to thank you for your suggestion on reducing
> > coefficients of bnfisnorm() based on qfparam(), but now I have a similar
> > question about qfparam() itself.
> > Consider an example:
> >
> > ? G = matdiagonal([650, -104329, -104329]);
> > ? M = qfparam(G, qfsolve(G))
> > %1 =
> > [-33698267 -161709950 -194002198]
> > [ -521645 -2487100 -2964370]
> > [ -2608225 -12519480 -15023350]
> >
> > I claim that the following matrix works equally well (i.e. it could have
> > been returned by qfparam), but it has much smaller entries:
> >
> > ? M2 = [323, 0, 323; 5, 50, -5; 25,- 10, - 25]
>
> As I understand, your solution is not a full parametrization since it
> does not reach all the rational solutions:
This was not correct, sorry! I forgot that the solutions were
projective.
Let
sym2sq(M)=my([a,b]=M[1,],[c,d]=M[2,]);[a^2,2*b*a,b^2;c*a,d*a+c*b,d*b;c^2,2*d*c,d^2]
the symmetric square function
The transfer matrix is
P=[1,-62;5,13]
We have
M2*sym2sq(P)==-M
So indeed M2 and M are equivalent as far as qfparam is concerned.
Cheers,
Bill.