   echo = 1
? p2=Pol([1,3021,-786303,-6826636057,-546603588746,3853890514072057]);
? fa=[11699,6;2392997,2;4987333019653,2];
? setrand(1);N=10^8;a=matrix(3,5,j,k,vectorv(5,l,random\N));
? nfpol=x^5-5*x^3+5*x+25;nf=nfinit(nfpol)
[x^5 - 5*x^3 + 5*x + 25, [1, 2], 595125, 45, [[1, -1.08911514572050482502495
27946671612684, -2.4285174907194186068992069565359418365, 0.7194669112891317
8943997506477288225734, -2.5558200350691694950646071159426779972; 1, -0.1383
8372073406036365047976417441696637 - 0.4918163765776864349975328551474152510
7*I, 1.9647119211288133163138753392090569931 + 0.809714924188978951282940822
19556466857*I, -0.072312766896812300380582649294307897122 + 2.19808037538462
76641195195160383234878*I, -0.98796319352507039803950539735452837195 + 1.570
1452385894131769052374806001981109*I; 1, 1.682941293594312776162956161507997
6006 + 2.0500351226010726172974286983598602164*I, -0.75045317576910401286427
186094108607489 + 1.3101462685358123283560773619310445916*I, -0.787420688747
75359433940488309213323155 + 2.1336633893126618034168454610457936018*I, 1.26
58732110596551455718089553258673705 - 2.716479010374315056657802803578983483
5*I], [1, -1.0891151457205048250249527946671612684, -2.428517490719418606899
2069565359418365, 0.71946691128913178943997506477288225734, -2.5558200350691
694950646071159426779972; 1, -0.63020009731174679864801261932183221744, 2.77
44268453177922675968161614046216617, 2.1257676084878153637389368667440155906
, 0.58218204506434277886573208324566973893; 1, 0.353432655843626071347053090
97299828470, 1.1549969969398343650309345170134923246, -2.2703931422814399645
001021653326313849, -2.5581084321144835749447428779547264828; 1, 3.732976416
1953853934603848598678578170, 0.55969309276670831549180550098995851667, 1.34
62427005649082090774405779536603703, -1.450605799314659911085993848253116112
9; 1, -0.36709382900675984113447253685186261580, -2.060599444304916341220349
2228721306665, -2.9210840780604153977562503441379268334, 3.98235222143397020
22296117589048508540], [16, -17, -39, 12, -41; 16, -10, 44, 34, 9; 16, 6, 18
, -36, -41; 16, 60, 9, 22, -23; 16, -6, -33, -47, 64], [5, 2, 0, -1, -2; 2, 
-2, -5, -10, 20; 0, -5, 10, -10, 5; -1, -10, -10, -17, 1; -2, 20, 5, 1, -8],
 [345, 0, 200, 110, 177; 0, 345, 95, 1, 145; 0, 0, 5, 4, 3; 0, 0, 0, 1, 0; 0
, 0, 0, 0, 1], [63, 3, 0, -6, -9; 3, 8, -5, -1, 16; 0, -5, 22, -10, 0; -6, -
1, -10, -14, -9; -9, 16, 0, -9, -2], [345, [138, 117, 330, 288, -636; -172, 
-88, 65, 118, -116; 53, 1, 138, -173, 65; 1, -172, 54, 191, 106; 0, 118, 173
, 225, -34]], [3, 5, 23]], [-2.4285174907194186068992069565359418365, 1.9647
119211288133163138753392090569931 + 0.80971492418897895128294082219556466857
*I, -0.75045317576910401286427186094108607489 + 1.31014626853581232835607736
19310445916*I], [15, x^4 - 10*x^2 + 5*x + 20, 15*x, 2*x^4 - 5*x^2 + 10*x - 5
, -x^4 + 5*x^3 + 5*x^2 - 20*x - 10], [1, 0, 3, 1, 10; 0, 0, -2, 1, -5; 0, 1,
 0, 3, -5; 0, 0, 1, 1, 10; 0, 0, 0, 3, 0], [1, 0, 0, 0, 0, 0, -1, -1, -2, 4,
 0, -1, 3, -1, 1, 0, -2, -1, -3, -1, 0, 4, 1, -1, -1; 0, 1, 0, 0, 0, 1, 1, -
1, -1, 1, 0, -1, -2, -1, 1, 0, -1, -1, -1, 3, 0, 1, 1, 3, -3; 0, 0, 1, 0, 0,
 0, 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 1, 0, -1, -1, 0, -1, -2, -1, -1; 0, 0, 0
, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 0, 1, 0, 0, 0, 0, 2, 0, -1; 0, 0, 0
, 0, 1, 0, -1, -1, -1, 1, 0, -1, 0, 1, 0, 0, -1, 1, 0, 0, 1, 1, 0, 0, -1]]
? nfinit(nfpol,2)
[x^5 - 2*x^4 + 3*x^3 + 8*x^2 + 3*x + 2, [1, 2], 595125, 4, [[1, -1.089115145
7205048250249527946671612684, -2.4285174907194186068992069565359418365, 0.71
946691128913178943997506477288225734, -2.55582003506916949506460711594267799
72; 1, -0.13838372073406036365047976417441696637 + 0.49181637657768643499753
285514741525107*I, 1.9647119211288133163138753392090569931 - 0.8097149241889
7895128294082219556466857*I, -0.072312766896812300380582649294307897122 - 2.
1980803753846276641195195160383234878*I, -0.98796319352507039803950539735452
837195 - 1.5701452385894131769052374806001981109*I; 1, 1.6829412935943127761
629561615079976006 + 2.0500351226010726172974286983598602164*I, -0.750453175
76910401286427186094108607489 + 1.3101462685358123283560773619310445916*I, -
0.78742068874775359433940488309213323155 + 2.1336633893126618034168454610457
936018*I, 1.2658732110596551455718089553258673705 - 2.7164790103743150566578
028035789834835*I], [1, -1.0891151457205048250249527946671612684, -2.4285174
907194186068992069565359418365, 0.71946691128913178943997506477288225734, -2
.5558200350691694950646071159426779972; 1, 0.3534326558436260713470530909729
9828470, 1.1549969969398343650309345170134923246, -2.27039314228143996450010
21653326313849, -2.5581084321144835749447428779547264828; 1, -0.630200097311
74679864801261932183221744, 2.7744268453177922675968161614046216617, 2.12576
76084878153637389368667440155906, 0.58218204506434277886573208324566973893; 
1, 3.7329764161953853934603848598678578170, 0.559693092766708315491805500989
95851667, 1.3462427005649082090774405779536603703, -1.4506057993146599110859
938482531161129; 1, -0.36709382900675984113447253685186261580, -2.0605994443
049163412203492228721306665, -2.9210840780604153977562503441379268334, 3.982
3522214339702022296117589048508540], [16, -17, -39, 12, -41; 16, 6, 18, -36,
 -41; 16, -10, 44, 34, 9; 16, 60, 9, 22, -23; 16, -6, -33, -47, 64], [5, 2, 
0, -1, -2; 2, -2, -5, -10, 20; 0, -5, 10, -10, 5; -1, -10, -10, -17, 1; -2, 
20, 5, 1, -8], [345, 0, 200, 110, 177; 0, 345, 95, 1, 145; 0, 0, 5, 4, 3; 0,
 0, 0, 1, 0; 0, 0, 0, 0, 1], [63, 3, 0, -6, -9; 3, 8, -5, -1, 16; 0, -5, 22,
 -10, 0; -6, -1, -10, -14, -9; -9, 16, 0, -9, -2], [345, [138, 117, 330, 288
, -636; -172, -88, 65, 118, -116; 53, 1, 138, -173, 65; 1, -172, 54, 191, 10
6; 0, 118, 173, 225, -34]], [3, 5, 23]], [-1.0891151457205048250249527946671
612684, -0.13838372073406036365047976417441696637 + 0.4918163765776864349975
3285514741525107*I, 1.6829412935943127761629561615079976006 + 2.050035122601
0726172974286983598602164*I], [2, 2*x, -x^4 + 3*x^3 - 5*x^2 - 4*x + 2, -x^4 
+ 2*x^3 - 2*x^2 - 9*x - 2, -x^4 + 2*x^3 - 4*x^2 - 7*x - 4], [1, 0, -1, -7, -
14; 0, 1, 1, -2, -15; 0, 0, 0, 2, 4; 0, 0, 1, 1, -2; 0, 0, -1, -3, -4], [1, 
0, 0, 0, 0, 0, -1, -1, -2, 4, 0, -1, 3, -1, 1, 0, -2, -1, -3, -1, 0, 4, 1, -
1, -1; 0, 1, 0, 0, 0, 1, 1, -1, -1, 1, 0, -1, -2, -1, 1, 0, -1, -1, -1, 3, 0
, 1, 1, 3, -3; 0, 0, 1, 0, 0, 0, 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 1, 0, -1, -
1, 0, -1, -2, -1, -1; 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 2, 1, 0, 1, 
0, 0, 0, 0, 2, 0, -1; 0, 0, 0, 0, 1, 0, -1, -1, -1, 1, 0, -1, 0, 1, 0, 0, -1
, 1, 0, 0, 1, 1, 0, 0, -1]]
? nfinit(nfpol,3)[2]
Mod(-1/2*x^4 + 3/2*x^3 - 5/2*x^2 - 2*x + 1, x^5 - 2*x^4 + 3*x^3 + 8*x^2 + 3*
x + 2)
? nf3=nfinit(x^6+108);
? setrand(1);bnf2=bnfinit(y^3-y-1);nf2=bnf2.nf;
? setrand(1);bnf=bnfinit(x^2-x-57,,[0.2,0.2])
[Mat(3), Mat([1, 1, 2]), [-2.7124653051843439746808795106061300699 + 3.14159
26535897932384626433832795028842*I; 2.7124653051843439746808795106061300699]
, [1.7903417566977293763292119206302198761, 1.289761953065273502503008607239
5031017 + 3.1415926535897932384626433832795028842*I, 0.E-38, 0.5005798036324
5587382620331339071677436; -1.7903417566977293763292119206302198761, -1.2897
619530652735025030086072395031017, 0.E-38, -0.500579803632455873826203313390
71677436 + 3.1415926535897932384626433832795028842*I], [[3, [-1, 1]~, 1, 1, 
[0, 57; 1, 1]], [5, [-2, 1]~, 1, 1, [1, 57; 1, 2]], [3, [0, 1]~, 1, 1, [-1, 
57; 1, 0]], [5, [1, 1]~, 1, 1, [-2, 57; 1, -1]]], 0, [x^2 - x - 57, [2, 0], 
229, 1, [[1, -7.0663729752107779635959310246705326059; 1, 8.0663729752107779
635959310246705326059], [1, -7.0663729752107779635959310246705326059; 1, 8.0
663729752107779635959310246705326059], [16, -113; 16, 129], [2, 1; 1, 115], 
[229, 114; 0, 1], [115, -1; -1, 2], [229, [114, 57; 1, 115]], [229]], [-7.06
63729752107779635959310246705326059, 8.0663729752107779635959310246705326058
], [1, x], [1, 0; 0, 1], [1, 0, 0, 57; 0, 1, 1, 1]], [[3, [3], [[3, 2; 0, 1]
]], 2.7124653051843439746808795106061300699, 1, [2, -1], [x + 7]], [Mat(1), 
[0; 0], [1.7903417566977293763292119206302198761; -1.79034175669772937632921
19206302198761], [matrix(0,2)]~, Mat(1), Mat(0)], [0, 0, 0]]
? dobnf(x^2-x-100000,1)
[[5], [Mod(-379554884019013781006303254896369154068336082609238336*x + 12021
5720528269803771469139204919240819246463693925369503, x^2 - x - 100000)]]
? bnr=bnrinit(bnf,[[5,3;0,1],[1,0]],1);bnr.cyc
[12]
? bnr2=bnrinit(bnf,[[25,13;0,1],[1,1]]);bnr2.bid
[[[25, 13; 0, 1], [1, 1]], [80, [20, 2, 2], [17, [2, 2]~, [0, -2]~]], [Mat([
[5, [-2, 1]~, 1, 1, [1, 57; 1, 2]], 2]), Mat([[5, [-2, 1]~, 1, 1, [1, 57; 1,
 2]], 2])], [[[[20], [17], [25, 13; 0, 1], [[[2, 2]~, [1, 2], [5, [-2, 1]~, 
1, 1, [1, 57; 1, 2]]]~, 2, [4, Mat([2, 2])]], [4, 7, [[[5], [6], Mat([1, -13
]), 5]]], [[-15]~, Mat(16)]]], [[2, 2], Vecsmall([1, 2]), [-0.04528654880364
0718227839951807630066450, -0.034713451196359281772160048192369933551; -0.01
0397655620934129810079722893872882085, 0.05039765562093412981007972289387288
2085], 16.099559462816166945393896537005798909, [-12, 1; 1, 2]]], [[1; 0; 0]
, [0, 0; 1, 0; 0, 1]]]
? rnfinit(nf2,x^5-x-2)
[x^5 - x - 2, [83718587879473471, -18162091535584830*x^14 + 6593998738955900
*x^13 + 89125883511340690*x^12 - 123429972713895380*x^11 - 86184686128261590
*x^10 + 508290939376248430*x^9 - 88425050961683595*x^8 - 806556841120532680*
x^7 - 2575481228604156570*x^6 + 2756771576006241774*x^5 - 289772792762362859
5*x^4 + 4379071886234238350*x^3 - 4957913590225421420*x^2 - 9814084760206994
84*x + 24006278056864075, 39516536165538345*x^14 - 6500512476832995*x^13 - 1
96215472046117185*x^12 + 229902227480108910*x^11 + 237380704030959181*x^10 -
 1064931988160773805*x^9 - 20657086671714300*x^8 + 1772885205999206010*x^7 +
 5952033217241102348*x^6 - 4838840187320655696*x^5 + 5180390720553188700*x^4
 - 8374015687535120430*x^3 + 8907744727915040221*x^2 + 4155976664123434381*x
 + 318920215718580450], [49744, 3109], 1, [2, 3109], [], [[1, x, x^2, x^3, x
^4], [1, 1, 1, 1, 1]], [1, 0, 0, 0, 0; 0, 1, 0, 0, 0; 0, 0, 1, 0, 0; 0, 0, 0
, 1, 0; 0, 0, 0, 0, 1], 1, [y^3 - y - 1, [1, 1], -23, 1, [[1, 0.754877666246
69276004950889635852869189, 1.3247179572447460259609088544780973407; 1, -0.8
7743883312334638002475444817926434595 - 0.7448617666197442365931704286043923
6724*I, -0.66235897862237301298045442723904867037 + 0.5622795120623012438991
8214490937306150*I], [1, 0.75487766624669276004950889635852869189, 1.3247179
572447460259609088544780973407; 1, -1.6223005997430906166179248767836567132,
 -0.10007946656007176908127228232967560887; 1, -0.13257706650360214343158401
957487197871, -1.2246384906846742568796365721484217319], [16, 12, 21; 16, -2
6, -2; 16, -2, -20], [3, -1, 0; -1, 1, 3; 0, 3, 2], [23, 16, 13; 0, 1, 0; 0,
 0, 1], [7, -2, 3; -2, -6, 9; 3, 9, -2], [23, [10, 1, 8; 7, 3, 1; 1, 7, 10]]
, [23]], [1.3247179572447460259609088544780973407, -0.6623589786223730129804
5442723904867037 + 0.56227951206230124389918214490937306150*I], [1, y^2 - 1,
 y], [1, 0, 1; 0, 0, 1; 0, 1, 0], [1, 0, 0, 0, 0, 1, 0, 1, 1; 0, 1, 0, 1, -1
, 0, 0, 0, 1; 0, 0, 1, 0, 1, 0, 1, 0, 0]], [x^15 - 5*x^13 + 5*x^12 + 7*x^11 
- 26*x^10 - 5*x^9 + 45*x^8 + 158*x^7 - 98*x^6 + 110*x^5 - 190*x^4 + 189*x^3 
+ 144*x^2 + 25*x + 1, 39516536165538345/83718587879473471*x^14 - 65005124768
32995/83718587879473471*x^13 - 196215472046117185/83718587879473471*x^12 + 2
29902227480108910/83718587879473471*x^11 + 237380704030959181/83718587879473
471*x^10 - 1064931988160773805/83718587879473471*x^9 - 20657086671714300/837
18587879473471*x^8 + 1772885205999206010/83718587879473471*x^7 + 59520332172
41102348/83718587879473471*x^6 - 4838840187320655696/83718587879473471*x^5 +
 5180390720553188700/83718587879473471*x^4 - 8374015687535120430/83718587879
473471*x^3 + 8907744727915040221/83718587879473471*x^2 + 4155976664123434381
/83718587879473471*x + 318920215718580450/83718587879473471, -1, y^3 - y - 1
, x^5 - x - 2], [0, 0]]
? bnfcertify(bnf)
1
? dobnf(x^4+24*x^2+585*x+1791,,[0.1,0.1])
[[4], [Mod(-8/147*x^3 + 41/147*x^2 - 132/49*x - 908/49, x^4 + 24*x^2 + 585*x
 + 1791)]]
? bnrconductor(bnf,[[25,13;0,1],[1,1]])
[[5, 3; 0, 1], [1, 0]]
? bnrconductorofchar(bnr,[2])
[[5, 3; 0, 1], [0, 0]]
? bnfisprincipal(bnf,[5,1;0,1],0)
[1]~
? bnfisprincipal(bnf,[5,1;0,1])
[[1]~, [-2, -1/3]~]
? bnfisunit(bnf,Mod(3405*x-27466,x^2-x-57))
[-4, 1]~
? bnfnarrow(bnf)
[3, [3], [[3, 2; 0, 1]]]
? bnfsignunit(bnf)

[-1]

[ 1]

? bnrclassno(bnf,[[5,3;0,1],[1,0]])
12
? lu=ideallist(bnf,55,3);
? bnrclassnolist(bnf,lu)
[[3], [], [3, 3], [3], [6, 6], [], [], [], [3, 3, 3], [], [3, 3], [3, 3], []
, [], [12, 6, 6, 12], [3], [3, 3], [], [9, 9], [6, 6], [], [], [], [], [6, 1
2, 6], [], [3, 3, 3, 3], [], [], [], [], [], [3, 6, 6, 3], [], [], [9, 3, 9]
, [6, 6], [], [], [], [], [], [3, 3], [3, 3], [12, 12, 6, 6, 12, 12], [], []
, [6, 6], [9], [], [3, 3, 3, 3], [], [3, 3], [], [6, 12, 12, 6]]
? bnrdisc(bnr,Mat(6))
[12, 12, 18026977100265125]
? bnrdisc(bnr)
[24, 12, 40621487921685401825918161408203125]
? bnrdisc(bnr2,,,2)
0
? bnrdisc(bnr,Mat(6),,1)
[6, 2, [125, 13; 0, 1]]
? bnrdisc(bnr,,,1)
[12, 1, [1953125, 1160888; 0, 1]]
? bnrdisc(bnr2,,,3)
0
? bnrdisclist(bnf,lu)
[[[6, 6, Mat([229, 3])]], [], [[], []], [[]], [[12, 12, [5, 3; 229, 6]], [12
, 12, [5, 3; 229, 6]]], [], [], [], [[], [], []], [], [[], []], [[], []], []
, [], [[24, 24, [3, 6; 5, 9; 229, 12]], [], [], [24, 24, [3, 6; 5, 9; 229, 1
2]]], [[]], [[], []], [], [[18, 18, [19, 6; 229, 9]], [18, 18, [19, 6; 229, 
9]]], [[], []], [], [], [], [], [[], [24, 24, [5, 12; 229, 12]], []], [], [[
], [], [], []], [], [], [], [], [], [[], [12, 12, [3, 3; 11, 3; 229, 6]], [1
2, 12, [3, 3; 11, 3; 229, 6]], []], [], [], [[18, 18, [2, 12; 3, 12; 229, 9]
], [], [18, 18, [2, 12; 3, 12; 229, 9]]], [[12, 12, [37, 3; 229, 6]], [12, 1
2, [37, 3; 229, 6]]], [], [], [], [], [], [[], []], [[], []], [[], [], [], [
], [], []], [], [], [[12, 12, [2, 12; 3, 3; 229, 6]], [12, 12, [2, 12; 3, 3;
 229, 6]]], [[18, 18, [7, 12; 229, 9]]], [], [[], [], [], []], [], [[], []],
 [], [[], [24, 24, [5, 9; 11, 6; 229, 12]], [24, 24, [5, 9; 11, 6; 229, 12]]
, []]]
? bnrdisclist(bnf,20)
[[[[Vecsmall([]), Vecsmall([])], [[6, 6, Mat([229, 3])], [0, 0, 0], [0, 0, 0
], [0, 0, 0]]]], [], [[[Vecsmall([12]), Vecsmall([1])], [[0, 0, 0], [12, 6, 
[-1, 1; 3, 3; 229, 6]], [0, 0, 0], [0, 0, 0]]], [[Vecsmall([13]), Vecsmall([
1])], [[0, 0, 0], [0, 0, 0], [12, 6, [-1, 1; 3, 3; 229, 6]], [0, 0, 0]]]], [
[[Vecsmall([10]), Vecsmall([1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0
]]]], [[[Vecsmall([20]), Vecsmall([1])], [[12, 12, [5, 3; 229, 6]], [24, 12,
 [5, 9; 229, 12]], [0, 0, 0], [0, 0, 0]]], [[Vecsmall([21]), Vecsmall([1])],
 [[12, 12, [5, 3; 229, 6]], [0, 0, 0], [24, 12, [5, 9; 229, 12]], [0, 0, 0]]
]], [], [], [], [[[Vecsmall([12]), Vecsmall([2])], [[0, 0, 0], [0, 0, 0], [0
, 0, 0], [0, 0, 0]]], [[Vecsmall([12, 13]), Vecsmall([1, 1])], [[0, 0, 0], [
0, 0, 0], [0, 0, 0], [24, 0, [3, 12; 229, 12]]]], [[Vecsmall([13]), Vecsmall
([2])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]], [], [[[Vecsmall([44]
), Vecsmall([1])], [[0, 0, 0], [0, 0, 0], [12, 6, [-1, 1; 11, 3; 229, 6]], [
0, 0, 0]]], [[Vecsmall([45]), Vecsmall([1])], [[0, 0, 0], [12, 6, [-1, 1; 11
, 3; 229, 6]], [0, 0, 0], [0, 0, 0]]]], [[[Vecsmall([10, 12]), Vecsmall([1, 
1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]], [[Vecsmall([10, 13]), V
ecsmall([1, 1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]]], [], [], [[
[Vecsmall([12, 20]), Vecsmall([1, 1])], [[24, 24, [3, 6; 5, 9; 229, 12]], [4
8, 24, [3, 12; 5, 18; 229, 24]], [0, 0, 0], [0, 0, 0]]], [[Vecsmall([13, 20]
), Vecsmall([1, 1])], [[0, 0, 0], [0, 0, 0], [24, 12, [3, 6; 5, 6; 229, 12]]
, [48, 0, [3, 12; 5, 18; 229, 24]]]], [[Vecsmall([12, 21]), Vecsmall([1, 1])
], [[0, 0, 0], [24, 12, [3, 6; 5, 6; 229, 12]], [0, 0, 0], [48, 0, [3, 12; 5
, 18; 229, 24]]]], [[Vecsmall([13, 21]), Vecsmall([1, 1])], [[24, 24, [3, 6;
 5, 9; 229, 12]], [0, 0, 0], [48, 24, [3, 12; 5, 18; 229, 24]], [0, 0, 0]]]]
, [[[Vecsmall([10]), Vecsmall([2])], [[0, 0, 0], [12, 6, [-1, 1; 2, 12; 229,
 6]], [12, 6, [-1, 1; 2, 12; 229, 6]], [24, 0, [2, 36; 229, 12]]]]], [[[Vecs
mall([68]), Vecsmall([1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [12, 0, [17, 3
; 229, 6]]]], [[Vecsmall([69]), Vecsmall([1])], [[0, 0, 0], [0, 0, 0], [0, 0
, 0], [12, 0, [17, 3; 229, 6]]]]], [], [[[Vecsmall([76]), Vecsmall([1])], [[
18, 18, [19, 6; 229, 9]], [36, 18, [-1, 1; 19, 15; 229, 18]], [0, 0, 0], [0,
 0, 0]]], [[Vecsmall([77]), Vecsmall([1])], [[18, 18, [19, 6; 229, 9]], [0, 
0, 0], [36, 18, [-1, 1; 19, 15; 229, 18]], [0, 0, 0]]]], [[[Vecsmall([10, 20
]), Vecsmall([1, 1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 0]]], [[Vecs
mall([10, 21]), Vecsmall([1, 1])], [[0, 0, 0], [0, 0, 0], [0, 0, 0], [0, 0, 
0]]]]]
? bnrisprincipal(bnr,idealprimedec(bnf,7)[1])
[[9]~, [32879/6561, 13958/19683]~]
? dirzetak(nfinit(x^3-10*x+8),30)
[1, 2, 0, 3, 1, 0, 0, 4, 0, 2, 1, 0, 0, 0, 0, 5, 1, 0, 0, 3, 0, 2, 0, 0, 2, 
0, 1, 0, 1, 0]
? factornf(x^3+x^2-2*x-1,t^3+t^2-2*t-1)

[         x + Mod(-t, t^3 + t^2 - 2*t - 1) 1]

[   x + Mod(-t^2 + 2, t^3 + t^2 - 2*t - 1) 1]

[x + Mod(t^2 + t - 1, t^3 + t^2 - 2*t - 1) 1]

? vp=idealprimedec(nf,3)[1]
[3, [1, 0, 1, 0, 0]~, 1, 1, [1, 4, -1, 6, -4; -1, 2, 4, 3, -5; -1, -1, 1, 0,
 4; -1, -1, -2, 0, -2; 0, 3, 0, 0, 0]]
? idx=idealhnf(nf,vp)

[3 2 1 0 1]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idealred(nf,idx,[1,5,6])

[3 2 1 0 1]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idy=idealdiv(nf,5,idealprimedec(nf,5)[1])

[5 0 0 0 2]

[0 5 0 0 2]

[0 0 5 0 1]

[0 0 0 5 2]

[0 0 0 0 1]

? idx2=idealmul(nf,idx,idx)

[9 5 7 0 4]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idt=idealmul(nf,idx,idx,1)

[9 5 7 0 4]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idz=idealintersect(nf,idx,idy)

[15 10 5 0 12]

[ 0  5 0 0  2]

[ 0  0 5 0  1]

[ 0  0 0 5  2]

[ 0  0 0 0  1]

? aid=[idx,idy,idz,1,idx];
? idealadd(nf,idx,idy)

[1 0 0 0 0]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idealaddtoone(nf,idx,idy)
[[6, 0, 0, 0, 0]~, [-5, 0, 0, 0, 0]~]
? idealaddtoone(nf,[idy,idx])
[[-5, 0, 0, 0, 0]~, [6, 0, 0, 0, 0]~]
? idealappr(nf,idy)
[-1, 4, 2, -1, -3]~
? idealappr(nf,idealfactor(nf,idy))
[-1, 4, 2, -1, -3]~
? idealcoprime(nf,idx,idx)
[-1/3, 1/3, 1/3, 1/3, 0]~
? idealdiv(nf,idy,idt)

[5 0 0 10/3 41/9]

[0 5 0  5/3 31/9]

[0 0 5  5/3 13/9]

[0 0 0  5/3  1/9]

[0 0 0    0  1/3]

? idealdiv(nf,idx2,idx,1)

[3 2 1 0 1]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idealfactor(nf,idz)

[[3, [1, 0, 1, 0, 0]~, 1, 1, [1, 4, -1, 6, -4; -1, 2, 4, 3, -5; -1, -1, 1, 0
, 4; -1, -1, -2, 0, -2; 0, 3, 0, 0, 0]] 1]

[[5, [-1, 0, 0, 0, 2]~, 4, 1, [2, -3, 0, -12, 6; 2, 2, -5, -2, 6; 1, 1, 0, -
1, -7; 2, 2, 5, 3, 1; 1, -4, 0, -1, 3]] 3]

[[5, [2, 0, 0, 0, -2]~, 1, 1, [2, 1, 10, -4, 2; 0, 0, -5, 0, 0; 3, -1, 0, -1
, -7; 0, 0, 5, 5, 5; 1, -2, 0, 3, 1]] 1]

? idealhnf(nf,vp[2],3)

[3 2 1 0 1]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? ideallist(bnf,20)
[[[1, 0; 0, 1]], [], [[3, 2; 0, 1], [3, 0; 0, 1]], [[2, 0; 0, 2]], [[5, 3; 0
, 1], [5, 1; 0, 1]], [], [], [], [[9, 5; 0, 1], [3, 0; 0, 3], [9, 3; 0, 1]],
 [], [[11, 9; 0, 1], [11, 1; 0, 1]], [[6, 4; 0, 2], [6, 0; 0, 2]], [], [], [
[15, 8; 0, 1], [15, 3; 0, 1], [15, 11; 0, 1], [15, 6; 0, 1]], [[4, 0; 0, 4]]
, [[17, 14; 0, 1], [17, 2; 0, 1]], [], [[19, 18; 0, 1], [19, 0; 0, 1]], [[10
, 6; 0, 2], [10, 2; 0, 2]]]
? bid=idealstar(nf2,54)
[[[54, 0, 0; 0, 54, 0; 0, 0, 54], [0]], [132678, [1638, 9, 9]], [[[2, [2, 0,
 0]~, 1, 3, 1], 1; [3, [3, 0, 0]~, 1, 3, 1], 3], [[2, [2, 0, 0]~, 1, 3, 1], 
1; [3, [3, 0, 0]~, 1, 3, 1], 3]], [[[[7], [[1, -27, -27]~], [2, 0, 0; 0, 2, 
0; 0, 0, 2], [[1, [1, 1, 0; 0, 0, 1; 0, 1, 0], [2, [2, 0, 0]~, 1, 3, 1], y^3
 + y + 1]~, y^2 + y, [7, Mat([7, 1])]]], [[234, 9, 9], [[-1, 16, 12]~, [1, -
24, 0]~, [1, 0, -24]~], [27, 0, 0; 0, 27, 0; 0, 0, 27], [[1, [1, 2, 0; 0, 0,
 1; 0, 1, 0], [3, [3, 0, 0]~, 1, 3, 1], y^3 + 2*y + 2]~, y^2 + 1, [26, [2, 1
; 13, 1]]], [26, [-7, 4, 3]~, [[[3, 3, 3], [4, [1, 3, 0]~, [1, 0, 3]~], [1, 
0, 0; 0, 1, 0; 0, 0, 1], 3], [[3, 3, 3], [10, [1, 9, 0]~, [1, 0, 9]~], [1, 0
, 0; 0, 1, 0; 0, 0, 1], 9]]], [[-207, 0, 0]~, [208, 0, 0, 156, 0, 0; 0, 1, 0
, 0, -6, 0; 0, 0, 1, 0, 0, -6]]]], [[], Vecsmall([])]], [[-234; 0; 0], [7, -
182, 182; 3, -5, 5; 0, 1, 0]]]
? ideallog(nf2,y,bid)
[568, 2, 3]~
? idealmin(nf,idx,[1,2,3])
[-2, 1, 1, 0, 1]~
? idealnorm(nf,idt)
9
? idp=idealpow(nf,idx,7)

[2187 1436 1807 630 1822]

[   0    1    0   0    0]

[   0    0    1   0    0]

[   0    0    0   1    0]

[   0    0    0   0    1]

? idealpow(nf,idx,5,1)

[1 0 0 0 0]

[0 1 0 0 0]

[0 0 1 0 0]

[0 0 0 1 0]

[0 0 0 0 1]

? idealprimedec(nf,2)
[[2, [-1, 0, 1, 0, 0]~, 1, 1, [0, 2, 0, -4, -2; 0, 0, 0, 2, 0; 0, 0, -2, -2,
 -2; 1, 0, 3, 0, -1; 1, 0, 1, 0, -1]], [2, [0, 0, 0, 1, 1]~, 1, 4, [1, -1, 3
, -1, 1; 0, 0, -2, -1, 1; 1, 0, 1, 0, -2; 0, 0, 1, 2, 2; 0, -1, 0, 1, 1]]]
? idealprimedec(nf,3)
[[3, [1, 0, 1, 0, 0]~, 1, 1, [1, 4, -1, 6, -4; -1, 2, 4, 3, -5; -1, -1, 1, 0
, 4; -1, -1, -2, 0, -2; 0, 3, 0, 0, 0]], [3, [1, 1, 1, 0, 0]~, 2, 2, [0, -6,
 3, -9, 9; 2, -1, -7, -5, 7; 2, 1, 0, 1, -7; 1, 2, 3, 2, 4; 0, -5, -1, 0, 2]
]]
? idealprimedec(nf,11)
[[11, [11, 0, 0, 0, 0]~, 1, 5, 1]]
? idealtwoelt(nf,idy)
[5, [2, 2, 1, 2, 1]~]
? idealtwoelt(nf,idy,10)
[-1, 4, 2, 4, 2]~
? idealstar(nf2,54)
[[[54, 0, 0; 0, 54, 0; 0, 0, 54], [0]], [132678, [1638, 9, 9]], [[[2, [2, 0,
 0]~, 1, 3, 1], 1; [3, [3, 0, 0]~, 1, 3, 1], 3], [[2, [2, 0, 0]~, 1, 3, 1], 
1; [3, [3, 0, 0]~, 1, 3, 1], 3]], [[[[7], [[1, 0, -27]~], [2, 0, 0; 0, 2, 0;
 0, 0, 2], [[1, [1, 1, 0; 0, 0, 1; 0, 1, 0], [2, [2, 0, 0]~, 1, 3, 1], y^3 +
 y + 1]~, y + 1, [7, Mat([7, 1])]]], [[234, 9, 9], [[-17, 14, -8]~, [1, -24,
 0]~, [1, 0, -24]~], [27, 0, 0; 0, 27, 0; 0, 0, 27], [[1, [1, 2, 0; 0, 0, 1;
 0, 1, 0], [3, [3, 0, 0]~, 1, 3, 1], y^3 + 2*y + 2]~, 2*y^2 + y + 2, [26, [2
, 1; 13, 1]]], [26, [-11, -10, -2]~, [[[3, 3, 3], [4, [1, 3, 0]~, [1, 0, 3]~
], [1, 0, 0; 0, 1, 0; 0, 0, 1], 3], [[3, 3, 3], [10, [1, 9, 0]~, [1, 0, 9]~]
, [1, 0, 0; 0, 1, 0; 0, 0, 1], 9]]], [[-207, 0, 0]~, [208, 0, 0, 156, 0, 0; 
0, 1, 0, 0, -6, 0; 0, 0, 1, 0, 0, -6]]]], [[], Vecsmall([])]], [[-234; 0; 0]
, [7, -182, 182; 3, -5, 5; 0, 1, 0]]]
? idealval(nf,idp,vp)
7
? ba=nfalgtobasis(nf,x^3+5)
[6, 1, 3, 1, 3]~
? bb=nfalgtobasis(nf,x^3+x)
[1, 1, 4, 1, 3]~
? bc=matalgtobasis(nf,[x^2+x;x^2+1])

[[3, -2, 1, 1, 0]~]

[[4, -2, 0, 1, 0]~]

? matbasistoalg(nf,bc)

[Mod(x^2 + x, x^5 - 5*x^3 + 5*x + 25)]

[Mod(x^2 + 1, x^5 - 5*x^3 + 5*x + 25)]

? nfbasis(x^3+4*x+5)
[1, x, 1/7*x^2 - 1/7*x - 2/7]
? nfbasistoalg(nf,ba)
Mod(x^3 + 5, x^5 - 5*x^3 + 5*x + 25)
? nfdisc(x^3+4*x+12)
-1036
? nfeltdiv(nf,ba,bb)
[584/373, 66/373, -32/373, -105/373, 120/373]~
? nfeltdiveuc(nf,ba,bb)
[2, 0, 0, 0, 0]~
? nfeltdivrem(nf,ba,bb)
[[2, 0, 0, 0, 0]~, [4, -1, -5, -1, -3]~]
? nfeltmod(nf,ba,bb)
[4, -1, -5, -1, -3]~
? nfeltmul(nf,ba,bb)
[50, -15, -35, 60, 15]~
? nfeltpow(nf,bb,5)
[-291920, 136855, 230560, -178520, 74190]~
? nfeltreduce(nf,ba,idx)
[1, 0, 0, 0, 0]~
? nfeltval(nf,ba,vp)
0
? nffactor(nf2,x^3+x)

[      x 1]

[x^2 + 1 1]

? aut=nfgaloisconj(nf3)
[-x, x, -1/12*x^4 - 1/2*x, -1/12*x^4 + 1/2*x, 1/12*x^4 - 1/2*x, 1/12*x^4 + 1
/2*x]~
? nfgaloisapply(nf3,aut[5],Mod(x^5,x^6+108))
Mod(-1/2*x^5 + 9*x^2, x^6 + 108)
? nfhilbert(nf,3,5)
-1
? nfhilbert(nf,3,5,vp)
-1
? nfhnf(nf,[a,aid])
[[1, 1, 4; 0, 1, 0; 0, 0, 1], [[15, 2, 10, 12, 4; 0, 1, 0, 0, 0; 0, 0, 1, 0,
 0; 0, 0, 0, 1, 0; 0, 0, 0, 0, 1], 1, 1]]
? da=nfdetint(nf,[a,aid])

[15 10 5 0 12]

[ 0  5 0 0  2]

[ 0  0 5 0  1]

[ 0  0 0 5  2]

[ 0  0 0 0  1]

? nfhnfmod(nf,[a,aid],da)
[[1, 1, 4; 0, 1, 0; 0, 0, 1], [[15, 2, 10, 12, 4; 0, 1, 0, 0, 0; 0, 0, 1, 0,
 0; 0, 0, 0, 1, 0; 0, 0, 0, 0, 1], 1, 1]]
? nfisideal(bnf.nf,[5,1;0,1])
1
? nfisincl(x^2+1,x^4+1)
[-x^2, x^2]
? nfisincl(x^2+1,nfinit(x^4+1))
[-x^2, x^2]
? nfisisom(x^3+x^2-2*x-1,x^3+x^2-2*x-1)
[x, -x^2 - x + 1, x^2 - 2]
? nfisisom(x^3-2,nfinit(x^3-6*x^2-6*x-30))
[-1/25*x^2 + 13/25*x - 2/5]
? nfroots(nf2,x+2)
[Mod(-2, y^3 - y - 1)]
? nfrootsof1(nf)
[2, -1]
? nfsnf(nf,[a[,1..3],[1,1,1],[idealinv(nf,idx),idealinv(nf,idy),1]])
[[15706993357777254170417850, 1636878763571210697462070, 1307908830618593502
9427775, 1815705333955314515809980, 7581330311082212790621785; 0, 5, 0, 0, 0
; 0, 0, 5, 0, 0; 0, 0, 0, 5, 0; 0, 0, 0, 0, 5], [1, 0, 0, 0, 0; 0, 1, 0, 0, 
0; 0, 0, 1, 0, 0; 0, 0, 0, 1, 0; 0, 0, 0, 0, 1], [1, 0, 0, 0, 0; 0, 1, 0, 0,
 0; 0, 0, 1, 0, 0; 0, 0, 0, 1, 0; 0, 0, 0, 0, 1]]
? nfsubfields(nf)
[[x, 0], [x^5 - 5*x^3 + 5*x + 25, x]]
? polcompositum(x^4-4*x+2,x^3-x-1)
[x^12 - 4*x^10 + 8*x^9 + 12*x^8 + 12*x^7 + 138*x^6 + 132*x^5 - 43*x^4 + 58*x
^2 - 128*x - 5]
? polcompositum(x^4-4*x+2,x^3-x-1,1)
[[x^12 - 4*x^10 + 8*x^9 + 12*x^8 + 12*x^7 + 138*x^6 + 132*x^5 - 43*x^4 + 58*
x^2 - 128*x - 5, Mod(-279140305176/29063006931199*x^11 + 129916611552/290630
06931199*x^10 + 1272919322296/29063006931199*x^9 - 2813750209005/29063006931
199*x^8 - 2859411937992/29063006931199*x^7 - 414533880536/29063006931199*x^6
 - 35713977492936/29063006931199*x^5 - 17432607267590/29063006931199*x^4 + 4
9785595543672/29063006931199*x^3 + 9423768373204/29063006931199*x^2 - 427797
76146743/29063006931199*x + 37962587857138/29063006931199, x^12 - 4*x^10 + 8
*x^9 + 12*x^8 + 12*x^7 + 138*x^6 + 132*x^5 - 43*x^4 + 58*x^2 - 128*x - 5), M
od(-279140305176/29063006931199*x^11 + 129916611552/29063006931199*x^10 + 12
72919322296/29063006931199*x^9 - 2813750209005/29063006931199*x^8 - 28594119
37992/29063006931199*x^7 - 414533880536/29063006931199*x^6 - 35713977492936/
29063006931199*x^5 - 17432607267590/29063006931199*x^4 + 49785595543672/2906
3006931199*x^3 + 9423768373204/29063006931199*x^2 - 13716769215544/290630069
31199*x + 37962587857138/29063006931199, x^12 - 4*x^10 + 8*x^9 + 12*x^8 + 12
*x^7 + 138*x^6 + 132*x^5 - 43*x^4 + 58*x^2 - 128*x - 5), -1]]
? polgalois(x^6-3*x^2-1)
[12, 1, 1, "A_4(6) = [2^2]3"]
? polred(x^5-2*x^4-4*x^3-96*x^2-352*x-568)
[x, x^5 - x^4 + 2*x^3 - 4*x^2 + x - 1]
? polred(x^4-28*x^3-458*x^2+9156*x-25321,3)

[                                                0               x]

[                   1/115*x^2 - 14/115*x - 212/115   x^2 - 2*x - 9]

[                  -1/115*x^2 + 14/115*x + 442/115   x^2 - 2*x - 9]

[                   1/115*x^2 - 14/115*x - 327/115        x^2 - 10]

[1/4485*x^3 - 7/1495*x^2 - 1034/4485*x + 7924/4485 x^4 - 8*x^2 + 6]

? polred(x^4+576,1)
[x, x^2 - 3*x + 3, x^2 - 2*x + 2, x^2 - x + 1, x^2 + 1, x^4 - x^2 + 1]
? polred(x^4+576,3)

[                           0             x]

[    -1/192*x^3 - 1/8*x + 3/2 x^2 - 3*x + 3]

[                1/24*x^2 + 1 x^2 - 2*x + 2]

[               -1/24*x^2 + 1 x^2 - 2*x + 2]

[    -1/192*x^3 - 1/8*x + 1/2   x^2 - x + 1]

[     1/192*x^3 + 1/8*x + 1/2   x^2 - x + 1]

[                    1/24*x^2       x^2 + 1]

[1/192*x^3 + 1/48*x^2 - 1/8*x x^4 - x^2 + 1]

? polred(p2,0,fa)
[x, x^5 - 80*x^3 - 223*x^2 + 800*x + 2671]
? polred(p2,1,fa)
[x, x^5 - 80*x^3 - 223*x^2 + 800*x + 2671]
? polredabs(x^5-2*x^4-4*x^3-96*x^2-352*x-568)
x^5 - x^4 + 2*x^3 - 4*x^2 + x - 1
? polredabs(x^5-2*x^4-4*x^3-96*x^2-352*x-568,1)
[x^5 - x^4 + 2*x^3 - 4*x^2 + x - 1, Mod(2*x^4 - x^3 + 3*x^2 - 3*x - 1, x^5 -
 x^4 + 2*x^3 - 4*x^2 + x - 1)]
? polredord(x^3-12*x+45*x-1)
[x, x^3 + 33*x - 1]
? polsubcyclo(31,5)
x^5 + x^4 - 12*x^3 - 21*x^2 + x + 5
? setrand(1);poltschirnhaus(x^5-x-1)
x^5 + 10*x^4 + 32*x^3 - 100*x^2 - 879*x - 1457
? p=x^5-5*x+y;aa=rnfpseudobasis(nf2,p)
[[1, 0, 0, -2, [3, 1, 0]~; 0, 1, 0, 2, [0, -1, 0]~; 0, 0, 1, 1, [-5, -2, 0]~
; 0, 0, 0, 1, -2; 0, 0, 0, 0, 1], [1, 1, 1, [1, 0, 2/5; 0, 1, 3/5; 0, 0, 1/5
], [1, 0, 22/25; 0, 1, 8/25; 0, 0, 1/25]], [416134375, 202396875, 60056800; 
0, 3125, 2700; 0, 0, 25], [-7, -63, -116]~]
? rnfbasis(bnf2,aa)

[1 0 0 [-66/25, -24/25, -3/25]~   [202/25, -97/25, 241/25]~]

[0 1 0    [48/25, -3/25, 9/25]~  [-61/25, 121/25, -238/25]~]

[0 0 1    [51/25, 39/25, 8/25]~ [-267/25, -38/25, -136/25]~]

[0 0 0   [37/25, 18/25, -4/25]~  [-124/25, 64/25, -117/25]~]

[0 0 0    [-6/25, -9/25, 2/25]~        [47/25, 8/25, 1/25]~]

? rnfdisc(nf2,p)
[[416134375, 202396875, 60056800; 0, 3125, 2700; 0, 0, 25], [-7, -63, -116]~
]
? rnfequation(nf2,p)
x^15 - 15*x^11 + 75*x^7 - x^5 - 125*x^3 + 5*x + 1
? rnfequation(nf2,p,1)
[x^15 - 15*x^11 + 75*x^7 - x^5 - 125*x^3 + 5*x + 1, Mod(-x^5 + 5*x, x^15 - 1
5*x^11 + 75*x^7 - x^5 - 125*x^3 + 5*x + 1), 0]
? rnfhnfbasis(bnf2,aa)

[1 0 0  [6/5, 4/5, -2/5]~   [3/25, -8/25, 24/25]~]

[0 1 0 [-6/5, -4/5, 2/5]~   [-9/25, -1/25, 3/25]~]

[0 0 1 [-3/5, -2/5, 1/5]~ [-8/25, 13/25, -39/25]~]

[0 0 0 [-3/5, -2/5, 1/5]~   [4/25, 6/25, -18/25]~]

[0 0 0                  0   [-2/25, -3/25, 9/25]~]

? rnfisfree(bnf2,aa)
1
? rnfsteinitz(nf2,aa)
[[1, 0, 0, [-66/25, -24/25, -3/25]~, [69/125, 1/5, 3/125]~; 0, 1, 0, [48/25,
 -3/25, 9/25]~, [-48/125, 2/125, -9/125]~; 0, 0, 1, [51/25, 39/25, 8/25]~, [
-56/125, -41/125, -8/125]~; 0, 0, 0, [37/25, 18/25, -4/25]~, [-39/125, -18/1
25, 4/125]~; 0, 0, 0, [-6/25, -9/25, 2/25]~, [7/125, 9/125, -2/125]~], [1, 1
, 1, 1, [125, 0, 22; 0, 125, 108; 0, 0, 1]], [416134375, 202396875, 60056800
; 0, 3125, 2700; 0, 0, 25], [-7, -63, -116]~]
? setrand(1);quadclassunit(1-10^7,,[1,1])
[2416, [1208, 2], [Qfb(277, 55, 9028), Qfb(1700, 1249, 1700)], 1]
? setrand(1);quadclassunit(10^9-3,,[0.5,0.5])
[4, [4], [Qfb(211, 31405, -16263, 0.E-38)], 2800.625251907016076486370621737
0745514]
? if(getheap()!=HEAP,getheap())
? print("Total time spent: ",gettime);
Total time spent: 86
