default(realprecision,38);
allocatemem(20*10^6)
count = 0;
do(nf,f, H = 0, flag = 0)=
  setrand(1); print(count++); lift(rnfkummer(bnrinit(bnfinit(nf,1),f), H, flag));

\\1
do(y^4+12*y^3+15*y^2+15*y-15,1)
do(y^4-13*y^3+2*y^2+2*y-15,1)
P=do(y^4-y^3-2404*y^2+2404*y+1154401, 5, matdiagonal([5,1]));
if(polcoeff(polcoeff(P, 0), 0)<0,-subst(P,x,-x),P)
do(quadpoly(-8,y), 11, [5,2;0,1])
\\ behaviour depend on kernel (bnfinit(Kz) too complicated
\\do(quadpoly(181433,y),1)
\\5
do(quadpoly(-1752,y), 19, matdiagonal([5,1,1]))
do(nf=nfinit(y^6-2*y^5+3*y^4+y^2+3*y+1), idealprimedec(nf,2)[1])
do(y^4-52*y^2+26, 3, Mat(5))
do(quadpoly(5288,y), 9, [1,0;0,3])
do(quadpoly(5288,y), 9, [1,0;0,3], 3)
\\10
do(y^4+y^3-9*y^2-9*y+11, 10, Mat(5))
do(y^4-y^3-159*y^2-441*y+1701, 10, Mat(5))
do(quadpoly(344,y),11,matdiagonal([5,1]))
/* \\ used to be very slow (>20h). Now ~ 7mn
 do(quadpoly(17,y),311,Mat(13))
 do(nf=nfinit(y^4-y^3+2*y+1), idealprimedec(nf,463)[2]);
 do(y^2+5393946914743),1,,3);
*/


/* 0 eq. OK at \p200 */
do(y^6-19*y^5-11*y^4-6*y^3-15*y^2-11*y+15, 4, [2,1,1; 0,1,0;0,0,1])

/* more than 1 eq. OK at \p200 */
P=do(y^6+8*y^5-7*y^4+y^3+4*y^2-9*y+10, 8, [2,1,1,1,1;0,1,0,0,0;0,0,1,0,0;0,0,0,1,0;0,0,0,0,1]);
(P==x^2+(1/4*y^5+9/4*y^4+1/2*y^3+3/4*y^2+7/4*y-3/2)) || (P==x^2+(-1/4*y^5-7/4*y^4+7/2*y^3-15/4*y^2+11/4*y-3/2))

/* 1 eq. Wrong result at \p28. OK at \p200 */
\\15
do(y^6-9*y^5-20*y^4-4*y^2-y-17, 17, [2,0,1;0,1,0;0,0,1])

setrand(1); for(i=1,10,rnfkummer(bnrinit(bnfinit(quadpoly(2540,y)),9),[3,1;0,1]))

do(quadpoly(689,y), 2, Mat(2))

do(y^8-76*y^6+1425*y^4-5776*y^2+5776, 5, matdiagonal([2,1]))

do(y^4 - 34*y^2 + 1189, 5, matdiagonal([3,1,1]))

do(y, [36,[1]], matdiagonal([3,1]), 3)

\\20
do(y, [36,[1]], matdiagonal([3,1]))

K=bnrinit(bnfinit(y^4-y^3+16*y^2-16*y+61),[89,9,52,85;0,1,0,0;0,0,1,0;0,0,0,1]);
rnfkummer(K,,5)

\\ #1632
do(quadpoly(3409,y),25,[5,1;0,1])

\\ #1744
lift(rnfkummer(bnrinit(bnfinit(y^4-62*y^2+186,1),744),[1,0,0,0;0,1,0,0;0,0,2,1;0,0,0,1]))

\\ #1760
mod=[[385,0,305;0,385,265;0,0,5],[0]]; bnr=bnrinit(bnfinit(y^3-y^2+1),mod);
lift(rnfkummer(bnr,[1,0,0;0,2,1;0,0,1]))

mod=[[429,234,78;0,39,0;0,0,39],[0]]; bnr=bnrinit(bnfinit(y^3+y-1,1),mod);
lift(rnfkummer(bnr,[2,1,1;0,1,0;0,0,1]))

\\ #1864
bnr=bnrinit(bnfinit(y^7+7*y^3-7*y^2+7*y+1,1),8);
L=subgrouplist(bnr,[2],1);
apply(z->lift(rnfkummer(bnr,z)),L)

\\ #1873
rnfkummer(bnrinit(bnfinit(y^6-2*y^5+8*y^4-18*y^3+24*y^2-18*y+6),168),matdiagonal([2,1,1,1,1,1,1,1]))
