Bill Allombert on Fri, 04 Apr 2014 23:24:34 +0200 |
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
new functions bnrisgalois, bnrgaloismatrix, bnrgaloisapply |
On Sun, Dec 15, 2013 at 02:56:29PM +0100, Bill Allombert wrote: > Dear PARI developers, I have just merged this branch. Please read the rest of quoted email for more detail. I did not yet implement the computation of the actual Galois group. This is a bit painful to do in the current group model. > 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.