Bill Allombert on Sun, 15 Dec 2013 14:56:40 +0100


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

GIT branch bill-bnrisgalois


Dear PARI developers,

I have created a branch 'bill-bnrisgalois' 
which adds a GP function bnrisgalois which allow to check whether some
abelian extensions given by class field theory is Galois over a subfield
of the base field, without computing the polynomial defining the extension.

This require to use bnrinit(,,1)

>From the documentation:

 check whether the class field associated to
 the subgroup H is Galois over the subfield of bnr.nf fixed by the
 group gal, which can be given as output by galoisinit, or as a
 matrix or a vector of matrices as output by bnrgaloismatrix, the second
 option being preferable, since it saves the recomputation of the matrices.
 Note: The function assumes that the ray class field associated to bnr is
 Galois, which is not checked.

In the following example, we lists the congruence subgroups of subextension of
degree at most 3 of the ray class field of conductor 9 which are Galois
over the rationals.

? K=bnfinit(a^4-3*a^2+253009);
? G=galoisinit(K);
? B=bnrinit(K,9,1);
? L1=[H|H<-subgrouplist(B,3), bnrisgalois(B,G,H)]
%4 = [[1,0,0,0;0,3,2,0;0,0,1,0;0,0,0,1],[3,2,1,0;0,1,0,0;0,0,1,0;0,0,0,1],[3,0,0,1;0,1,0,0;0,0,1,0;0,0,0,1],[1,0,0,0;0,1,0,0;0,0,3,1;0,0,0,1]]
? ##
  ***   last result computed in 292 ms.
? M=bnrgaloismatrix(B,G)
%5 = [[3051,4900,7000,2800;8,7,0,4;1,1,5,2;1,1,1,0],[7349,3500,7000,2800;0,5,8,4;3,5,5,2;0,2,1,0]]
? L2=[H|H<-subgrouplist(B,3), bnrisgalois(B,M,H)]
%6 = [[1,0,0,0;0,3,2,0;0,0,1,0;0,0,0,1],[3,2,1,0;0,1,0,0;0,0,1,0;0,0,0,1],[3,0,0,1;0,1,0,0;0,0,1,0;0,0,0,1],[1,0,0,0;0,1,0,0;0,0,3,1;0,0,0,1]]
? ##
  ***   last result computed in 0 ms.

The second computation is much faster since bnrgaloismatrix(B,G) is
computed only once.

Cheers,
Bill.