Karim Belabas on Tue, 06 Mar 2018 18:56:31 +0100


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

Re: bnrgaloismatrix: precision too low in makematal


* Melanie Matchett Wood [2018-03-06 17:22]:
> I am trying to use bnrgaloismatrix to compute the action of the Galois
> group on the class group of a (Galois) sextic field.
> 
> I get an error:
> *** bnrgaloismatrix: precision too low in makematal.
> 
> Here is an example that gives this:
> 
> f= x^6 + 2854*x^4 + 2036329*x^2 + 513996528;
> K=bnrinit(bnfinit(f,1),1,1);
> G=galoisinit(K);
> M=bnrgaloismatrix(K,G);
> 
> I cannot find any documentation on "makematal."
> 
> Can someone explain what this error means, and in particular, am I just
> running up against the limits of computing power (or built in pari limits)
> or I can do something like increase a precision level or stacksize to try
> to complete this computation?

0) In current 'master' branch, the computation no longer triggers the error:

        GP/PARI CALCULATOR Version 2.10.0 (development 22029-6cefce5)
         i386 running darwin (x86-64/GMP-6.1.2 kernel) 64-bit version
[...]
(18:50) gp > f= x^6 + 2854*x^4 + 2036329*x^2 + 513996528;
(18:50) gp > K=bnrinit(bnfinit(f,1),1,1);
time = 220 ms.
(18:50) gp > G=galoisinit(K);
(18:50) gp > M=bnrgaloismatrix(K,G);
(18:50) gp > M
%5 = [[1, 512, 0; 0, 1, 1; 0, 1, 0], [1023, 0, 512; 0, 1, 1; 0, 0, 1]]

(same on a 32-bit machine).

1) makematal is an internal function that is called when trying to
increase *a posteriori* the accuracy of a bnf because e.g., some
bnfisprincipal or bnfisunit call is failing. I see where the problem
occurs, I'll try to improve that error message and document the problem...

2) You can probably avoid the problem by computing the initial K at 
a larger accuracy. Just start your computation with \p200 or so
[ for instance ]. Or more verbosely default(realprecision,200)

Cheers,

    K.B.
--
Karim Belabas, IMB (UMR 5251)  Tel: (+33) (0)5 40 00 26 17
Universite de Bordeaux         Fax: (+33) (0)5 40 00 21 23
351, cours de la Liberation    http://www.math.u-bordeaux.fr/~kbelabas/
F-33405 Talence (France)       http://pari.math.u-bordeaux.fr/  [PARI/GP]
`