   echo = 1
? algdep(2*cos(2*Pi/13),6)
x^6 + x^5 - 5*x^4 - 4*x^3 + 6*x^2 + 3*x - 1
? algdep(2*cos(2*Pi/13),6,15)
x^6 + x^5 - 5*x^4 - 4*x^3 + 6*x^2 + 3*x - 1
? charpoly([1,2;3,4],z)
z^2 - 5*z - 2
? charpoly(Mod(x^2+x+1,x^3+5*x+1),z)
z^3 + 7*z^2 + 16*z - 19
? charpoly([1,2;3,4],z,1)
z^2 - 5*z - 2
? charpoly(Mod(1,8191)*[1,2;3,4],z,2)
z^2 + Mod(8186, 8191)*z + Mod(8189, 8191)
? lindep(Mod(1,7)*[2,-1;1,3])
[-3, 1]~
? lindep([(1-3*sqrt(2))/(3-2*sqrt(3)),1,sqrt(2),sqrt(3),sqrt(6)])
[3, 3, -9, 2, -6]~
? lindep([(1-3*sqrt(2))/(3-2*sqrt(3)),1,sqrt(2),sqrt(3),sqrt(6)],14)
[-3, -3, 9, -2, 6]~
? matadjoint([1,2;3,4])

[ 4 -2]

[-3  1]

? matcompanion(x^5-12*x^3+0.0005)

[0 0 0 0 -0.00050000000000000000000000000000000000000]

[1 0 0 0                                            0]

[0 1 0 0                                            0]

[0 0 1 0                                           12]

[0 0 0 1                                            0]

? matdet([1,2,3;1,5,6;9,8,7])
-30
? matdet([1,2,3;1,5,6;9,8,7],1)
-30
? matdetint([1,2,3;4,5,6])
3
? matdiagonal([2,4,6])

[2 0 0]

[0 4 0]

[0 0 6]

? mateigen([1,2,3;4,5,6;7,8,9])

[1 -1.2833494518006402717978106547571267252 0.283349451800640271797810654757
12672521]

[-2 -0.14167472590032013589890532737856336261 0.6416747259003201358989053273
7856336260]

[1 1 1]

? mathess(mathilbert(7))

[1 90281/58800 -1919947/4344340 4858466341/1095033030 -77651417539/819678732
6 3386888964/106615355 1/2]

[1/3 43/48 38789/5585580 268214641/109503303 -581330123627/126464718744 4365
450643/274153770 1/4]

[0 217/2880 442223/7447440 53953931/292008808 -32242849453/168619624992 1475
457901/1827691800 1/80]

[0 0 1604444/264539275 24208141/149362505292 847880210129/47916076768560 -45
44407141/103873817300 -29/40920]

[0 0 0 9773092581/35395807550620 -24363634138919/107305824577186620 72118203
606917/60481351061158500 55899/3088554700]

[0 0 0 0 67201501179065/8543442888354179988 -9970556426629/74082861999267660
0 -3229/13661312210]

[0 0 0 0 0 -258198800769/9279048099409000 -13183/38381527800]

? mathilbert(5)

[  1 1/2 1/3 1/4 1/5]

[1/2 1/3 1/4 1/5 1/6]

[1/3 1/4 1/5 1/6 1/7]

[1/4 1/5 1/6 1/7 1/8]

[1/5 1/6 1/7 1/8 1/9]

? amat=1/mathilbert(7)

[    49    -1176      8820    -29400      48510     -38808     12012]

[ -1176    37632   -317520   1128960   -1940400    1596672   -504504]

[  8820  -317520   2857680 -10584000   18711000  -15717240   5045040]

[-29400  1128960 -10584000  40320000  -72765000   62092800 -20180160]

[ 48510 -1940400  18711000 -72765000  133402500 -115259760  37837800]

[-38808  1596672 -15717240  62092800 -115259760  100590336 -33297264]

[ 12012  -504504   5045040 -20180160   37837800  -33297264  11099088]

? mathnf(amat)

[420   0    0    0   210  168   175]

[  0 840    0    0     0    0   504]

[  0   0 2520    0     0    0  1260]

[  0   0    0 2520     0    0   840]

[  0   0    0    0 13860    0  6930]

[  0   0    0    0     0 5544     0]

[  0   0    0    0     0    0 12012]

? mathnf(amat,1)
[[420, 0, 0, 0, 210, 168, 175; 0, 840, 0, 0, 0, 0, 504; 0, 0, 2520, 0, 0, 0,
 1260; 0, 0, 0, 2520, 0, 0, 840; 0, 0, 0, 0, 13860, 0, 6930; 0, 0, 0, 0, 0, 
5544, 0; 0, 0, 0, 0, 0, 0, 12012], [420, 420, 840, 630, 2982, 1092, 4159; 21
0, 280, 630, 504, 2415, 876, 3395; 140, 210, 504, 420, 2050, 749, 2901; 105,
 168, 420, 360, 1785, 658, 2542; 84, 140, 360, 315, 1582, 588, 2266; 70, 120
, 315, 280, 1421, 532, 2046; 60, 105, 280, 252, 1290, 486, 1866]]
? mathnf(amat,4)
[[420, 0, 0, 0, 210, 168, 175; 0, 840, 0, 0, 0, 0, 504; 0, 0, 2520, 0, 0, 0,
 1260; 0, 0, 0, 2520, 0, 0, 840; 0, 0, 0, 0, 13860, 0, 6930; 0, 0, 0, 0, 0, 
5544, 0; 0, 0, 0, 0, 0, 0, 12012], [420, 420, 840, 630, 2982, 1092, 4159; 21
0, 280, 630, 504, 2415, 876, 3395; 140, 210, 504, 420, 2050, 749, 2901; 105,
 168, 420, 360, 1785, 658, 2542; 84, 140, 360, 315, 1582, 588, 2266; 70, 120
, 315, 280, 1421, 532, 2046; 60, 105, 280, 252, 1290, 486, 1866]]
? mathnf(amat,5)
[[360360, 0, 0, 0, 0, 144144, 300300; 0, 27720, 0, 0, 0, 0, 22176; 0, 0, 277
20, 0, 0, 0, 6930; 0, 0, 0, 2520, 0, 0, 840; 0, 0, 0, 0, 2520, 0, 1260; 0, 0
, 0, 0, 0, 168, 0; 0, 0, 0, 0, 0, 0, 7], [51480, 4620, 5544, 630, 840, 20676
, 48619; 45045, 3960, 4620, 504, 630, 18074, 42347; 40040, 3465, 3960, 420, 
504, 16058, 37523; 36036, 3080, 3465, 360, 420, 14448, 33692; 32760, 2772, 3
080, 315, 360, 13132, 30574; 30030, 2520, 2772, 280, 315, 12036, 27986; 2772
0, 2310, 2520, 252, 280, 11109, 25803], Vecsmall([7, 6, 5, 4, 3, 2, 1])]
? mathnfmod(amat,matdetint(amat))

[420   0    0    0   210  168   175]

[  0 840    0    0     0    0   504]

[  0   0 2520    0     0    0  1260]

[  0   0    0 2520     0    0   840]

[  0   0    0    0 13860    0  6930]

[  0   0    0    0     0 5544     0]

[  0   0    0    0     0    0 12012]

? mathnfmodid(amat,123456789*10^100)

[60   0   0   0  30 24  35]

[ 0 120   0   0   0  0  24]

[ 0   0 360   0   0  0 180]

[ 0   0   0 360   0  0 240]

[ 0   0   0   0 180  0  90]

[ 0   0   0   0   0 72   0]

[ 0   0   0   0   0  0  12]

? matid(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]

? matimage([1,3,5;2,4,6;3,5,7])

[1 3]

[2 4]

[3 5]

? matimage([1,3,5;2,4,6;3,5,7],1)

[3 5]

[4 6]

[5 7]

? matimage(Pi*[1,3,5;2,4,6;3,5,7])

[3.1415926535897932384626433832795028842 9.424777960769379715387930149838508
6526]

[6.2831853071795864769252867665590057684 12.56637061435917295385057353311801
1537]

[9.4247779607693797153879301498385086526 15.70796326794896619231321691639751
4421]

? matimagecompl([1,3,5;2,4,6;3,5,7])
Vecsmall([3])
? matimagecompl(Pi*[1,3,5;2,4,6;3,5,7])
Vecsmall([3])
? matindexrank([1,1,1;1,1,1;1,1,2])
[Vecsmall([1, 3]), Vecsmall([1, 3])]
? matintersect([1,2;3,4;5,6],[2,3;7,8;8,9])

[-1]

[-1]

[-1]

? matinverseimage([1,1;2,3;5,7],[2,2,6]~)
[4, -2]~
? matisdiagonal([1,0,0;0,5,0;0,0,0])
1
? matker(matrix(4,4,x,y,x/y))

[-1 -1 -1]

[ 2  0  0]

[ 0  3  0]

[ 0  0  4]

? matker(matrix(4,4,x,y,sin(x+y)))

[1.0000000000000000000000000000000000000 1.080604611736279434801873214885953
2075]

[-1.0806046117362794348018732148859532075 -0.1677063269057152260048635409984
7562047]

[1 0]

[0 1]

? matker(matrix(4,4,x,y,x+y),1)

[ 1  2]

[-2 -3]

[ 1  0]

[ 0  1]

? matkerint(matrix(4,4,x,y,x*y))

[-1 -1 -1]

[-1  0  1]

[ 1 -1  1]

[ 0  1 -1]

? matkerint(matrix(4,4,x,y,x*y),1)

[-1 -1 -1]

[-1  0  1]

[ 1 -1  1]

[ 0  1 -1]

? matkerint(matrix(4,6,x,y,2520/(x+y)))

[ -3   -1]

[ 30   15]

[-70  -70]

[  0  140]

[126 -126]

[-84   42]

? matmuldiagonal(amat,[1,2,3,4,5,6,7])

[    49    -2352     26460    -117600     242550    -232848      84084]

[ -1176    75264   -952560    4515840   -9702000    9580032   -3531528]

[  8820  -635040   8573040  -42336000   93555000  -94303440   35315280]

[-29400  2257920 -31752000  161280000 -363825000  372556800 -141261120]

[ 48510 -3880800  56133000 -291060000  667012500 -691558560  264864600]

[-38808  3193344 -47151720  248371200 -576298800  603542016 -233080848]

[ 12012 -1009008  15135120  -80720640  189189000 -199783584   77693616]

? matmultodiagonal(amat^-1,%)

[1 0 0 0 0 0 0]

[0 2 0 0 0 0 0]

[0 0 3 0 0 0 0]

[0 0 0 4 0 0 0]

[0 0 0 0 5 0 0]

[0 0 0 0 0 6 0]

[0 0 0 0 0 0 7]

? matpascal(8)

[1 0  0  0  0  0  0 0 0]

[1 1  0  0  0  0  0 0 0]

[1 2  1  0  0  0  0 0 0]

[1 3  3  1  0  0  0 0 0]

[1 4  6  4  1  0  0 0 0]

[1 5 10 10  5  1  0 0 0]

[1 6 15 20 15  6  1 0 0]

[1 7 21 35 35 21  7 1 0]

[1 8 28 56 70 56 28 8 1]

? matrank(matrix(5,5,x,y,x+y))
2
? matrix(5,5,x,y,gcd(x,y))

[1 1 1 1 1]

[1 2 1 2 1]

[1 1 3 1 1]

[1 2 1 4 1]

[1 1 1 1 5]

? matrixqz([1,3;3,5;5,7],0)

[1 1]

[3 2]

[5 3]

? mathnf(matrixqz([1/3,1/4,1/6;1/2,1/4,-1/4;1/3,1,0],-1))

[19 12 2]

[ 0  1 0]

[ 0  0 1]

? mathnf(matrixqz([1,3;3,5;5,7],-2))

[2 -1]

[1  0]

[0  1]

? matsize([1,2;3,4;5,6])
[3, 2]
? matsnf(1/mathilbert(6))
[27720, 2520, 2520, 840, 210, 6]
? matsnf(x*matid(5)-matrix(5,5,j,k,1),2)
[x^2 - 5*x, x, x, x, 1]
? matsolve(mathilbert(10),[1,2,3,4,5,6,7,8,9,0]~)
[9236800, -831303990, 18288515520, -170691240720, 832112321040, -23298940665
00, 3883123564320, -3803844432960, 2020775945760, -449057772020]~
? matsolvemod([2,3;5,4],[7,11]~,[1,4]~)
[25, 0]~
? matsolvemod([2,3;5,4],[7,11]~,[1,4]~,1)
[[25, 0]~, [77, 30; 0, 1]]
? matsupplement([1,3;2,4;3,6])

[1 3 0]

[2 4 0]

[3 6 1]

? mattranspose(vector(2,x,x))
[1, 2]~
? %*%~

[1 2]

[2 4]

? norml2(vector(10,x,x))
385
? qfgaussred(mathilbert(5))

[1  1/2   1/3    1/4     1/5]

[0 1/12     1   9/10     4/5]

[0    0 1/180    3/2    12/7]

[0    0     0 1/2800       2]

[0    0     0      0 1/44100]

? qfjacobi(mathilbert(6))
[[1.0827994845655497685388772372251778091 E-7, 1.257075712262519492298239799
6498755378 E-5, 0.00061574835418265769764919938428527140434, 0.0163215213198
75822124345079564191505890, 0.24236087057520955213572841585070114077, 1.6188
998589243390969705881471257800713]~, [-0.00124819408408217511693981630463878
36342, 0.011144320930724710530678340374220998345, -0.06222658815019768177515
2126611810492941, 0.24032536934252330399154228873240534569, -0.6145448282925
8676899320019644273870646, 0.74871921887909485900280109200517845109; 0.03560
6642944287635266122848131812051370, -0.1797327572407600375877689780374064077
9, 0.49083920971092436297498316169060045043, -0.6976513752773701229620833504
6678265583, 0.21108248167867048675227675845247769095, 0.44071750324351206127
160083580231701802; -0.24067907958842295837736719558855680218, 0.60421220675
295973004426567844103061740, -0.53547692162107486593474491750949545605, -0.2
3138937333290388042251363554209048307, 0.36589360730302614149086554211117169
623, 0.32069686982225190106359024326699463107; 0.625460386549227244577534410
39459331707, -0.44357471627623954554460416705180104473, -0.41703769221897886
840494514780771076351, 0.13286315850933553530333839628101576048, 0.394706776
09501756783094636145991581709, 0.25431138634047419251788312792590944672; -0.
68980719929383668419801738006926828754, -0.441536641012289662221436497529772
04448, 0.047034018933115649705614518466541245344, 0.362714921464871475252994
57604461742112, 0.38819043387388642863111448825992418974, 0.2115308400789652
4664213667673977991960; 0.27160545336631286930015536176213646338, 0.45911481
681642960284551392793050867151, 0.54068156310385293880022293448123781988, 0.
50276286675751538489260566368647786274, 0.3706959077673628086177550108480739
4603, 0.18144297664876947372217005457727093716]]
? m=1/mathilbert(7)

[    49    -1176      8820    -29400      48510     -38808     12012]

[ -1176    37632   -317520   1128960   -1940400    1596672   -504504]

[  8820  -317520   2857680 -10584000   18711000  -15717240   5045040]

[-29400  1128960 -10584000  40320000  -72765000   62092800 -20180160]

[ 48510 -1940400  18711000 -72765000  133402500 -115259760  37837800]

[-38808  1596672 -15717240  62092800 -115259760  100590336 -33297264]

[ 12012  -504504   5045040 -20180160   37837800  -33297264  11099088]

? mp=concat(m,matid(7))

[49 -1176 8820 -29400 48510 -38808 12012 1 0 0 0 0 0 0]

[-1176 37632 -317520 1128960 -1940400 1596672 -504504 0 1 0 0 0 0 0]

[8820 -317520 2857680 -10584000 18711000 -15717240 5045040 0 0 1 0 0 0 0]

[-29400 1128960 -10584000 40320000 -72765000 62092800 -20180160 0 0 0 1 0 0 
0]

[48510 -1940400 18711000 -72765000 133402500 -115259760 37837800 0 0 0 0 1 0
 0]

[-38808 1596672 -15717240 62092800 -115259760 100590336 -33297264 0 0 0 0 0 
1 0]

[12012 -504504 5045040 -20180160 37837800 -33297264 11099088 0 0 0 0 0 0 1]

? qflll(m)

[-420 -420 840 630 -1092 757 2562]

[-210 -280 630 504  -876 700 2205]

[-140 -210 504 420  -749 641 1910]

[-105 -168 420 360  -658 589 1680]

[ -84 -140 360 315  -588 544 1498]

[ -70 -120 315 280  -532 505 1351]

[ -60 -105 280 252  -486 471 1230]

? qflllgram(m)

[1 1 27 -27 69   0 141]

[0 1  5 -23 35 -42  92]

[0 1  4 -22 19 -42  66]

[0 1  4 -21 11 -36  50]

[0 1  4 -20  7 -30  39]

[0 1  4 -19  5 -25  31]

[0 1  4 -18  4 -21  25]

? qflllgram(m,1)

[1 1 27 -27 69   0 141]

[0 1  5 -23 35 -42  92]

[0 1  4 -22 19 -42  66]

[0 1  4 -21 11 -36  50]

[0 1  4 -20  7 -30  39]

[0 1  4 -19  5 -25  31]

[0 1  4 -18  4 -21  25]

? qflllgram(mp~*mp,4)
[[-420, -420, 840, 630, 2562, -1092, -83; -210, -280, 630, 504, 2205, -876, 
70; -140, -210, 504, 420, 1910, -749, 137; -105, -168, 420, 360, 1680, -658,
 169; -84, -140, 360, 315, 1498, -588, 184; -70, -120, 315, 280, 1351, -532,
 190; -60, -105, 280, 252, 1230, -486, 191; 420, 0, 0, 0, 210, 168, 35; 0, 8
40, 0, 0, 0, 0, 336; 0, 0, -2520, 0, 0, 0, 1260; 0, 0, 0, -2520, 0, 0, -840;
 0, 0, 0, 0, -13860, 0, 6930; 0, 0, 0, 0, 0, 5544, 0; 0, 0, 0, 0, 0, 0, -120
12], [0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0
, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0;
 1, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, 0, 1, 0, 0, 0, 0; 0, 0, 0, 1, 
0, 0, 0; 0, 0, 0, 0, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]]
? qflll(m,1)

[-420 -420 840 630 -1092 757 2562]

[-210 -280 630 504  -876 700 2205]

[-140 -210 504 420  -749 641 1910]

[-105 -168 420 360  -658 589 1680]

[ -84 -140 360 315  -588 544 1498]

[ -70 -120 315 280  -532 505 1351]

[ -60 -105 280 252  -486 471 1230]

? qflll(m,2)

[-420 -420 -630 840 1092 2982 -83]

[-210 -280 -504 630  876 2415  70]

[-140 -210 -420 504  749 2050 137]

[-105 -168 -360 420  658 1785 169]

[ -84 -140 -315 360  588 1582 184]

[ -70 -120 -280 315  532 1421 190]

[ -60 -105 -252 280  486 1290 191]

? qflll(mp,4)
[[-420, -420, 840, 630, 2562, -1092, 757; -210, -280, 630, 504, 2205, -876, 
700; -140, -210, 504, 420, 1910, -749, 641; -105, -168, 420, 360, 1680, -658
, 589; -84, -140, 360, 315, 1498, -588, 544; -70, -120, 315, 280, 1351, -532
, 505; -60, -105, 280, 252, 1230, -486, 471; 420, 0, 0, 0, 210, 168, 35; 0, 
840, 0, 0, 0, 0, 336; 0, 0, -2520, 0, 0, 0, -1260; 0, 0, 0, -2520, 0, 0, -84
0; 0, 0, 0, 0, -13860, 0, 6930; 0, 0, 0, 0, 0, 5544, 0; 0, 0, 0, 0, 0, 0, -1
2012], [0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0,
 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 0; 0, 0, 0, 0, 0, 0, 
0; 1, 0, 0, 0, 0, 0, 0; 0, 1, 0, 0, 0, 0, 0; 0, 0, 1, 0, 0, 0, 0; 0, 0, 0, 1
, 0, 0, 0; 0, 0, 0, 0, 1, 0, 0; 0, 0, 0, 0, 0, 1, 0; 0, 0, 0, 0, 0, 0, 1]]
? qfminim([2,1;1,2],4,6)
[6, 2, [0, 1, 1; 1, -1, 0]]
? qfperfection([2,0,1;0,2,1;1,1,2])
6
? qfsign(mathilbert(5)-0.11*matid(5))
[2, 3]
? trace(1+I)
2
? trace(Mod(x+5,x^3+x+1))
15
? Vec(sin(x))
[1, 0, -1/6, 0, 1/120, 0, -1/5040, 0, 1/362880, 0, -1/39916800, 0, 1/6227020
800, 0, -1/1307674368000, 0]
? vecmax([-3,7,-2,11])
11
? vecmin([-3,7,-2,11])
-3
? concat([1,2],[3,4])
[1, 2, 3, 4]
? concat(Mat(vector(4,x,x)~),vector(4,x,10+x)~)

[1 11]

[2 12]

[3 13]

[4 14]

? vecextract([1,2,3,4,5,6,7,8,9,10],1000)
[4, 6, 7, 8, 9, 10]
? vecextract(matrix(15,15,x,y,x+y),vector(5,x,3*x),vector(3,y,3*y))

[ 6  9 12]

[ 9 12 15]

[12 15 18]

[15 18 21]

[18 21 24]

? round((1.*mathilbert(7))^(-1)<<77)/2^77

[49 -1176 8820 -29400 48510 -38808 12012]

[-1176 37632 -317520 1128960 -1940400 1596672 -504504]

[8820 -317520 2857680 -10584000 18711000 -15717240 5045040]

[-29400 1128960 -10584000 6092986130857731040519127040001/151115727451828646
838272 -10995935908032311487186862080001/151115727451828646838272 9383198641
520905802399455641601/151115727451828646838272 -20180160]

[48510 -1940400 18711000 -10995935908032311487186862080001/15111572745182864
6838272 10079607915696285529921290240001/75557863725914323419136 -8708781239
161590697851994767361/75557863725914323419136 37837800]

[-38808 1596672 -15717240 9383198641520905802399455641601/151115727451828646
838272 -8708781239161590697851994767361/75557863725914323419136 152007817992
63867399887118139393/151115727451828646838272 -33297264]

[12012 -504504 5045040 -20180160 37837800 -33297264 11099088]

? vecsort([8,7,6,5],,1)
Vecsmall([4, 3, 2, 1])
? vecsort([[1,5],[2,4],[1,5,1],[1,4,2]])
[[1, 4, 2], [1, 5], [1, 5, 1], [2, 4]]
? vecsort(vector(17,x,5*x%17))
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]
? vecsort([[1,8,5],[2,5,8],[3,6,-6],[4,8,6]],2)
[[2, 5, 8], [3, 6, -6], [1, 8, 5], [4, 8, 6]]
? vecsort([[1,8,5],[2,5,8],[3,6,-6],[4,8,6]],[2,1])
[[2, 5, 8], [3, 6, -6], [1, 8, 5], [4, 8, 6]]
? vector(10,x,1/x)
[1, 1/2, 1/3, 1/4, 1/5, 1/6, 1/7, 1/8, 1/9, 1/10]
? if(getheap()!=HEAP,getheap())
? print("Total time spent: ",gettime);
Total time spent: 5
