P1 = x^4-5; polgalois(P1) P2 = x^4-x^3-7*x^2+2*x+9; polgalois(P2) P3 = x^4-x^3-3*x^2+x-1; polgalois(P3) Q1 = nfsplitting(P1) Q2 = nfsplitting(P2) + 51997*x^4 - 79707*x^2 + 26569 Q3 = nfsplitting(P3) +54012*x^19+51764*x^18-1348092*x^17-2201841*x^16 +21708244*x^15+41344014*x^14-241723272*x^13 -454688929*x^12+1972336584*x^11+3130578366*x^10 -12348327032*x^9-13356023346*x^8+59757161004*x^7 +32173517686*x^6-204540935496*x^5-11176476888*x^4 +433089193668*x^3-155456858376*x^2-422808875280*x +320938557273 Q3 = polredbest(Q3) -13*x^18+126*x^17-228*x^16+220*x^15+24*x^14 -396*x^13+521*x^12-216*x^11-48*x^10-32*x^9-66*x^8 +666*x^7-1013*x^6+348*x^5+510*x^4-654*x^3+234*x^2 +36*x+9 gal = galoisinit(Q3); gal.gen 4,23,22,3,21,1,24,18,16,15,20]),Vecsmall([14,10,5, 19,3,24,11,16,22,2,7,20,17,1,21,8,13,23,4,12,15,9, 18,6]),Vecsmall([5,15,6,13,20,19,23,7,11,18,21,4, 12,17,16,2,24,22,3,1,9,10,8,14]),Vecsmall([2,1,9, 10,16,21,14,17,3,4,19,18,22,7,20,5,8,12,11,15,6, 13,24,23])] ord = gal.orders prod(i=1,#ord,ord[i]) galoisidentify(gal) L = galoissubgroups(gal); #L R1 = galoisfixedfield(gal,L[25])[1]; polgalois(R1) R2 = galoisfixedfield(gal,L[28])[1]; polgalois(R2) nf = nfinit(Q3); factor(nf.disc) [ 3 28] [11 16] dec3 = idealprimedec(nf,3); pr3 = dec3[1]; [#dec3, pr3.f, pr3.e] ram3 = idealramgroups(nf,gal,pr3); #ram3 galoisidentify(ram3[1]) galoisisabelian(ram3[1]) galoisidentify(ram3[2]) galoisidentify(ram3[3]) dec11 = idealprimedec(nf,11); pr11 = dec11[1]; [#dec11, pr11.f, pr11.e] ram11 = idealramgroups(nf,gal,pr11); #ram11 galoisidentify(ram11[1]) galoisidentify(ram11[2]) dec2 = idealprimedec(nf,2); pr2 = dec2[1]; [#dec2, pr2.f, pr2.e] frob2 = idealfrobenius(nf,gal,pr2); permorder(frob2) N = 7*13*19; L1 = polsubcyclo(N,3); L2 = [P | P <- L1, #factor(nfinit(P).disc)[,1]==3] x^3+x^2-576*x-5251, x^3+x^2-576*x+1665] G = znstar(N) Mod(248, 1729), Mod(407, 1729)]] H = mathnfmodid([1,0;-1,1;0,-1],3); pol = galoissubcyclo(G,H) factor(nfinit(pol).disc) [ 7 2] [13 2] [19 2] bnf = bnfinit(a^2-a+50); bnf.cyc R = bnrclassfield(bnf)[1] + (-12*a + 6)*x^4 - 30*x^3 + (18*a - 9)*x^2 + 18*x + (-2*a + 1) [cond,bnr,subg] = rnfconductor(bnf,R); cond subg R2 = bnrclassfield(bnf,,2) + 244113*x^10 - 19818*x^8 - 3170*x^6 + 17427*x^4 - 3258*x^2 + 199 bnr = bnrinit(bnf,12); bnr.cyc [deg,r1,D] = bnrdisc(bnr); [deg,r1] D bnrclassfield(bnr) + (-294*a-3273)*x^4 + (-3*a-3852)*x^2 - 3, x^9 - 24*x^7 + (2*a-1)*x^6 + 495*x^5 + (-12*a+6)*x^4 - 30*x^3 + (18*a-9)*x^2 + 18*x + (-2*a+1)] bnrclassfield(bnr,,1) bnr = bnrinit(bnf,7) bnr.cyc bnrclassfield(bnr,3) \\elementary 3-subextension x^3 + (-1008*a - 651)*x + (-1103067*a - 8072813)] pr41 = idealprimedec(bnf,41)[1]; bnrisprincipal(bnr,pr41,0) bnr = bnrinit(bnf,[102709,43512;0,1]); bnr.cyc bnrclassfield(bnr,[9,3;0,1]) \\subgroup of index 9 bnf=bnfinit(a^2-217); bnf.cyc bnrinit(bnf,1).cyc bnrinit(bnf,[1,[1,1]]).cyc quadhilbert(-31) lift(quadray(13,7)) + (-91*y - 118) bnf = bnfinit(x^2+2*3*5*7*11); bnf.cyc bnr = bnrinit(bnf,1,1); gal = galoisinit(bnf); m = bnrgaloismatrix(bnr,gal)[1] [3 0 0 0] [0 1 0 0] [0 0 1 0] [0 0 0 1]