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.