1nf=nfinit(y^2+1);
2rnfidealmul(rnfinit(nf,x^4-x-1),2,3)
3rnfidealmul(rnfinit(nf,[x^4-x-1,10^3]),2,3)
4rnfidealup(rnfinit(nf,x),[;])
5nf=nfinit(quadpoly(1129,y));ord=rnfpseudobasis(nf,quadray(1129,1));rnfsteinitz(nf,ord)
6rnflllgram(nf,x^3+2,rnfpseudobasis(nf,x^3+2))
7nf=nfinit(y^2-y-4);T=x^11-11*x^10+31*x^9-26*x^8+36*x^7+7*x^6+15*x^5-27*x^4+26*x^3+20*x^2-33*x+42;
8rnfpseudobasis(nf,T)
9rnfpseudobasis(nf,[T,10^3])
10rnfpseudobasis(nf,[T, [3, 79, 269, 1361, 2789]])
11T = x^2+1009^3*(10^6+3)^2*y;
12rnfpseudobasis(nf,T)
13rnfpseudobasis(nf,[T,100])
14rnfpseudobasis(nf,[T,1010])
15rnfpseudobasis(nf,[T, [idealprimedec(nf,2)[1], 1009]])
16rnfdisc(nf,T)
17rnfdisc(nf,[T,100])
18rnfdisc(nf,[T,1010])
19rnfpseudobasis(nf,[T, [idealprimedec(nf,2)[1], 1009]])
20rnfpseudobasis(nf,[T, [2, 1009]])
21Q = bnfinit(y); T=x^4+x^3-71*x^2+72*x+5184;
22rnfconductor(Q,T)
23rnfconductor(Q,[T,10^3])
24rnfconductor(Q,[T, [2,3,7,41]])
25rnfconductor(Q,galoissubcyclo(117,116))[1]
26K=bnfinit(quadpoly(1596,y),1); rnfbasis(K,rnfsteinitz(K,rnfpseudobasis(K,quadray(K,1))));
27
28\\ oo loop after bnrmod commit 2b72fbfbf
29rnfconductor(bnfinit(a^3-a^2-6*a+7),x^3-a*x^2+(5*a^2-35)*x+(8*a^2+6*a-35))[3]
30
31K = nfinit(x^2-x+2); M = [1, 0, x; 0, x, 0; 0,0,2+x]; N = [1, 1, 1];
32nfsnf(K, [M, N, N])
33rnfisabelian(y,x)
34rnfisabelian(y^2+23,x^3+x^2-1)
35T = polcyclo(7, x+Mod(y, nf.pol));
36rnfisabelian(nf.pol, T)
37rnfisabelian(nf, T)
38rnfisabelian(a^2+1,5*x^3+2)
39rnfisabelian(4*a^2+1, 9*x^2 + (12*a+3)*x + 2*a)
40rnfisabelian(y^4+2,polsubcyclo(13,6))
41
42pol = y^3+y^2-2*y-1;
43bnf = bnfinit(pol);
44T=rnfisnorminit(bnf, x^3-y);
45do(T,u,flag=0)=liftpol(rnfisnorm(T,u,flag));
46do(T,y)
47[a,b]=rnfisnorm(T,2,100);
48liftpol(norm(a)*b)
49[a,b]=rnfisnorm(T,2,-2*3*5*7);
50liftpol(norm(a)*b)
51
52T=rnfisnorminit(y^2+23, x^2-y);
53do(T,y)
54do(T,2,100)
55
56\\#1157
57rnfisnorminit(y,x^2-Mod(2+y,y));
58
59\\#1778
60K = bnfinit(x^4-2*x^3-27*x^2+28*x+53);
61t = varhigher("t");
62L = rnfisnorminit(K,t^2-310*x^3+465*x^2+11005*x-274660);
63[a,b]=rnfisnorm(L,-28124/93*x^3+14062/31*x^2+562480/93*x+166769/31);
64liftpol(norm(a)*b)
65
66\\#1255
67K = nfinit(z^3+z^2-2*z-1); rnf = rnfinit(K, x^2+Mod(-z,z^3+z^2-2*z-1)*x+1);
68a = rnfeltup(rnf,z^2)
69rnfeltdown(rnf, a)
70
71setrand(1);a=matrix(3,4,j,k,vectorv(3,l,random(21)));
72idx=idealprimedec(K,3)[1];
73aid=[idx,1,1,1];
74[A,U]=nfhnf(K,[a,aid],1);
75A
76U
77lift(matbasistoalg(K,a)*matbasistoalg(K,U))
78
79a=a[,1..3];
80[A,U,V]=nfsnf(K,[a, aid[1..3], [1,1,1]],1);
81A
82U
83V
84lift(matbasistoalg(K,U)*matbasistoalg(K,a)*matbasistoalg(K,V))
85
86nf=nfinit(y); A = [[1,1/2;0,1],[1,1]];
87nfhnfmod(nf, A, nfdetint(nf,A))
88
89K=bnfinit(y^2-40);
90bnfisnorm(K,2, 0)
91bnfisnorm(K,6, 0)
92
93K=bnfinit(y^3-21);
94bnfisnorm(K,2)
95bnfisnorm(K,6)
96L=rnfinit(K,x^2-y);
97
98v = [2,1/2,x+y,Mod(1,K.pol),Mod(1/2,K.pol),Mod(y,K.pol),Mod(1,L.polabs),Mod(1/2,L.polabs),Mod(x,L.polabs),Mod(x+y/2,L.pol),y,z,Mod(y+1/2,y^2+1),[1]~,[1,2]~,[1,y]~,[1,I]~, y+I,x^2];
99f=[rnfalgtobasis,rnfbasistoalg,rnfeltabstorel,rnfeltreltoabs,rnfeltup,rnfeltdown,rnfelttrace,rnfeltnorm];
100
101test(L,v) =
102{
103  for (i=1,#v,
104    for (j=1,#f, print([i,j], ": ", iferr(f[j](L,v[i]), E,E)))
105  );
106  my (K = L.nf);
107  for (i=1,#v,
108    print(i, ": ", iferr(rnfcharpoly(K,x^2-y,v[i]),E,E))
109  );
110}
111test(L,v);
112KQ = nfinit(y+1);
113LQ = rnfinit(KQ, x^2-y);
114vQ = [2,1/2,x+y, Mod(1/2,KQ.pol), y, Mod(Mod(x/2+1,KQ.pol),LQ.pol), Mod(x,LQ.pol), Mod(x,LQ.polabs), Mod(x+y/2,x^2-y), x, [1]~,[1,2]~,[y]~];
115test(LQ, vQ);
116
117nf = nfinit(y);
118rnf = rnfinit(nf,x^2-2);
119rel = Mod(Mod(1,y)+0*y,x^2-2);
120a = rnfeltreltoabs(rnf,rel)
121variable(lift(a))
122
123Labs = nfinit(L);
124idL = idealhnf(Labs, x^3+x^2+10);
125idK = idealhnf(K, y^2+10*y+5);
126id = rnfidealabstorel(L,Labs.zk*idL)
127rnfidealnormabs(L,id) == idealnorm(Labs, idL)
128m = rnfidealreltoabs(L, id)
129mathnf(matalgtobasis(Labs,m)) == idL
130
131P3 = idealprimedec(K,3);
132\\ pr[5] depends on 32/64-bit arch
133strip5(pr)=pr[1..4];
134apply(strip5, rnfidealprimedec(L, P3[1]))
135my(v=rnfidealprimedec(L,7)); [apply(strip5, v[1]), apply(strip5, v[2][1])]
136
137k=nfinit(y^3-y^2+1); rnfidealprimedec(rnfinit(k,x),idealprimedec(k,89)[1])
138
139rnffa(rnf,id)=my(fa=rnfidealfactor(rnf,id)); fa[,1] = apply(strip5,fa[,1]); fa;
140rnffa(L,7)
141rnffa(L,x)
142rnffa(L,y)
143rnfidealfactor(L,id) == rnfidealfactor(L,idL)
144
145m = rnfidealup(L, idK)
146mabs = rnfidealup(L, idK, 1);
147mathnf( Mat(apply(x->nfalgtobasis(Labs,x), m)) ) == mabs
148rnfidealdown(L, m) == idK
149rnfidealdown(L, mabs) == idK
150m = rnfidealdown(L, Labs.zk*idL)
151M=rnfidealup(L, m)
152mathnf(matalgtobasis(Labs,M)) == rnfidealup(L, m, 1)
153\\
154V=concat(v, [[;], [], 0, [[;],[]], idealprimedec(K,2)[1], idK, idL, Labs.zk*idL, id]);
155f=[rnfidealhnf,rnfidealreltoabs,rnfidealabstorel,rnfidealdown,rnfidealup,rnfidealnormrel,rnfidealnormabs,rnfidealtwoelt];
156{
157for (i=1,#V,
158  print(i,":");
159  for (j=1, #f,
160    print(iferr(f[j](L,V[i]),E,E))
161  )
162)
163}
164rnfidealmul(L, 0,1)
165rnfidealmul(L, 1,0)
166rnfidealmul(L, x,y)
167rnfidealmul(L, y,x)
168rnfidealmul(L, id,x)
169rnfidealmul(L, x,id)
170rnfdet(K,[[;],[]])
171rnfdet(K,id)
172rnfbasis(bnfinit(y^2-1105),x^2-y)
173\\#1508
174K=nfinit(y); L=rnfinit(K,x^3-2); rnfeltdown(L,Mod(Mod(1,K.pol),L.polabs))
175
176rnf=rnfinit(nfinit(y^2+1),x^2-2); rnfidealup(rnf, matid(2)/2)
177
178k1=bnfinit(y^3+y^2-2*y-1);
179u=x^3+y*x^2+(y-2)*x+(y^2-y-1);
180rnfconductor(k1,u)
181rnfconductor(k1,u / Mod(y,k1.pol))[^2] \\ wrong: not Abelian
182rnfconductor(k1, y*x^2+(y-2)*x+(y^2-y-1))[^2]
183
184K = bnfinit(y^4+10*y^2+17);
185rnfconductor(K, x + 1/2*y^3 - 1/2*y^2 + 9/2*y - 13/2)[1]
186
187K = nfinit(y^2+y+1);
188rnfislocalcyclo(rnfinit(K, x^3-2))
189rnfislocalcyclo(rnfinit(K, x))
190rnfislocalcyclo(rnfinit(K, x^3 - y))
191rnfislocalcyclo(rnfinit(K, x^3 - y + 3^6))
192
193nf=nfinit(y^2+9); \\ 3 divides index
194P=idealprimedec(nf,3)[1];
195rnfdedekind(nf, (x+y/3)^3+3*y, P)
196
197nf = nfinit(y^2-3); P = x^3 - 2*y;
198pr3 = idealprimedec(nf,3)[1];
199pr2 = idealprimedec(nf,2)[1];
200
201rnfdedekind(nf, P, pr2)
202rnfdedekind(nf, P, pr3)
203rnfdedekind(nf, P, pr2, 1)
204rnfdedekind(nf, P, pr3, 1)
205rnfdedekind(nf, P)
206rnfdedekind(nf, P, [pr2,pr3])
207
208P = (y+1)*x^4 + x^2 + x + 2;
209rnfdedekind(nf, P, pr3, 1)
210
211t = 't; T = polcyclo(9,t);
212pol = y^2 + Mod(t^5+t^2+t-1, T)*y + Mod(1-t, T);
213Qchi=nfinit([T,10^6]);
214rnfinit(Qchi,[pol,10^6]); \\ segv in 2.11
215
216k = nfinit(y^4 + 10*y^2 + 17);
217rnfdisc(k, x^2 - x + 1/Mod(y,k.pol))
218rnfdisc(k, x^2 - x + 1/2)
219
220k = nfinit(y^4 - 10*y^2 + 1);
221rnfdisc(k,x^2-(y^3/2+y^2-5*y/2+1))
222
223default(parisize,"16M");
224pol=x^2+(-4*y^60+2*y^58-4*y^56+7*y^54-5*y^52+y^48+3*y^46-3*y^44-2*y^42+3*y^40+y^38-2*y^36-3*y^34+6*y^32-3*y^30-y^28-2*y^26+5*y^24-y^22-4*y^20+2*y^18+2*y^16-y^14-3*y^12+3*y^10+2*y^8-2*y^6-4*y^4+5*y^2+5);
225rnfdisc(nfinit(y^62-y^2-1),pol)
226
227\\ ERRORS, keep at end of file
228rnfdedekind(nf, P, pr2, 1)
229rnfdedekind(nf, P)
230rnfdedekind(nf, P, [pr2,pr3])
231
232rnfpseudobasis(nf, x^2/2 + 1);
233rnfpseudobasis(nf, x^2 + 1/2);
234
235rnfislocalcyclo(rnfinit(K, x^6-y+1))
236\\#1530
237L=rnfinit(nfinit(y^2-3),x^2+23);
238rnfidealtwoelt(L, [[1;0], [1/104]])
239
240\\#2093
241nf = nfinit(y);
242rnf = rnfinit(nf,x^2+5);
243rnfidealup(rnf,Mat(3),1);
244bnfinit(rnf)
245