Max Alekseyev on Mon, 01 Nov 2021 03:08:21 +0100


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

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 = 271255400

It 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 have

factor( 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 example

newM = 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,
Max


On 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.