RQ?;On?@vq -?̯? W8z?-@x?QsX@N9@4s@dmlv@z @CX~ @R%r@&c@)Im@3x@8k \7@Hء@T@@5S@ߦ޿!@@4mI@%PH[v@Sbb@& A $@z"@!Q!@PE\n @V* @>L ;'@A B%@ g$@*}2#@cq"@ S!@e}b*@u[`)@W-'@ ZZ&@ȥ;q%@=ˎF$@ ԕ-@D7H,@mQ +@b)@/(@MNL'@o l`&@RFi0@DH~/@)&o/.@A"pj,@㐠+@Iqa*@Fw()@˱a 2@> _1@Eկt>0@BF 0@r.@ă-@(B,@$("+@Mt3@k3@h#M)U2@}1@&00@GX0@e h/@Zh9#.@Rk\5@ ^4@v)3@)K3@W2@p1@ U~L1@O}50@Xu`0@U> 7@`]9U6@Ċ5@vJ14@DZB4@?3@/2@9qޤ@2@n˙1@o8@-P8@,AN7@8 6@ O5@t9f95@ȿ+V4@#G:3@@153@C^2@"k:@+j0 ó9@ЗE8@bG8@RK)7@xT6@/%06@tHb5@8:4@x *4@;_ <@qVqf;@<\iD:@c9@H*@9@֫而8@RI97@HPW(7@0(x6@uIh&5@Vl5@Gji,9B.?yPD?qy O @??Q?Q?= ףp=?(\?RQ?Gz? ףp= ? ףp= ?ffffff?@@@]=f?9=DuR?< u?x(v?=)eT'?3=ѭ?=~L%?!BL6?)=#FG?G=[W?`"=Dh?21y?#eNJ?*XxЛ?#*B?(3=ֺ?B=C2?.Lf^j?P x?((=,(? [?/S%?@,?<ʻ.7?@ǼnC?0?09ǩ?c߄?0u? ?=f?|":?4*=w9~?䦅?yd? .>?$"J?0%1 ?62 2?pLp!?H";.?%fdq@?rD 4ۧ? =n?>=-?<"D?4L?0&=Np?H~E?sSo ! "#!"$%#$$& %& ``````````pppppppp     00L/fiqW;K6[1,(%TTLLLL  VVV$$llllPPPP %)+/5;=CGIOSYaegkmq!'("#'$)*(%)+,&*-.'                                                                                     (/ !$-:?BENYdgj{"9Yr, %)+/<<<<==$=4=H=T=d=x========> >(>8>L>X>h>|>>>>>>>??(?@?P?`?x??????@@,@<@L@\@@@@@@@@@A,ALApAAAAAAB B0BTBpBBBBBBB CCPC`CpCCCCCCCC8D`DDDDDEE$E0EdEpE|EEEEEFDFhFFFHG|GGGGH,HHHHHHHHILIIII$J0J΢, @xRT,ZX ^D ,<@.GȒUS>2DC-Pq byj~,M--.dR@df&l-3 2~(t. |@~,QA=7XD8r T Olx0TlT,HޛO?f_86?YWFTXxv$tq$,4ޝt2% _F(S.P"` [ ,  ~DvWA*-T4Ck< ,~ " hwTPcɯ,<| hQ5g,Dv&(0Em,,,, ,   ,' , 3. , ! + ,  ,  ,,,, ,#  ,* ,   ,   ,   , ,, ,,, , Z% ,#H+3 , $KJ , 6: ,  ,  ,, ,, ,! ,D  ,K- , ': , !. ,  ,  ,, ,,, ,kN,ngy=,R]F,X[p),! , ^' ,X & ,)'  , ,,,,,, , , ,M,LA# ,pF+L.,L7H s4,r\& { ,m1W?)S ,B]r ?^T,. Oa6oaQF}Lk ,8(@h{@/E?, =\B?k#,B#V2(' &,&2D Z%n u,F3{IN$ ,+4F ,FV>@ ,5=,,,,,,,,,,, , , ,,, , ,,,, , ,, , 2," ,  ,  , , ,,,, , ,  , , ,, ,,,, , , $ , , ,,,,, ,& ,$PX^Dh, +~F,[B , V&+kb, M?FHTK ,[7'8\p,De , ,,,,,,,,,(xx(,Z@Xj,@@pp,P6, `` ,`0h ,0 ,,,, ,,,,,,,, ,,, , , , ,  ,,, , , , , ,, ,, , , , C,Dg L,pz%,[8 , ,%(V9 ,-m^,9,}i,%h-= , ,,,,,,, , ,  , ( ,. ,, ,,,,, , , , L&, n,d[cA, ,;t ,_ , , ,,,,,,, , , $ ,C ,T ,-- ,  ,,,,,,,,,,,,,,,,,,, , , , , ,,,,,,,,,,, , ,  ,, ,,,,,,, , , , , ,,, , , , , ,,, , , , ,,,,,,,,,,,,,, , , , ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,, 1r!!4  R&|.T8RDRddy>‚8[CfOd_ ?}j.T 'Xr0:l8G@ZV h ~dEXL PP0l ~@ 0!%h)-d2x7T=C8JRZc`myĆd((4MuQ08hI($t5|lZ>0? L^ ȟ T <\a .`* .!e ;(g:i.`e*4e*e.; *g*g&* . m)u*,e*hgj.0g.uj`*!e*uki.ao**(k*+or*rgj . g;he{je*(ne*`on!>2g>0u>8en(.j(g:g: n`e*`u*25g*8g+(k* m.*++#+i.9e.03e+)e+h*`%ge"u*e* .9g<*0.!e: e:`e*e.,g*h.`!m>9 ?{mq*w. j ;;joh*)!nqg+p+4e*ji.(ej%o* j)01*++,  %)+/5;=CGIOSYaegkmq  I S_C9k pX?@k(#'m NX0uR@qV Pe `v pۑ8c_)@ Spp K@B0Y @KLͱ D-1:wzy)kgR u0 -23.,-@ d'@Bʚ;+j+j+j+jjj jjiiiigݜC?;"5a 0`   0 ` Y0`N.N</?0 6֚1IPAAD2Ds39{/¨ 049 F"5\6`7u1-2 F""/2`g893ثܫ4ثd4}9 6:ˮ;Ү <*5= 6k7F8Oš9ɚ56ͱԱG>J:JO;T<-X=RX]>ثU`?@e?iAŲnB߲r@vC{DA.B.C.D.E.F.G.H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.WX.Y. Z. [.\.!].!'^.',_.,1`.19a.9Bb.BFc.F1d.1Le.LQf.QVg.V\h.\di.dkjkpk.pwlw|m.|n.o.E:FTGnqHIJͳ& KL2MnmNOʴ7P׵QR S:8^bT9^: U26[VoWҷX"&bYspZ7[I~̹߹%\R*q1:]EH>^ErC_Eºar~;^ӻ`ٻ¼s ̼< >a Lt .Žu .qv .zľb ҾKw .U~= x .-> 9>y z  ? EM{ | @ ,PA X|c } .<~ .Fd  e 3 .?f - >Ag  B &{h  >i ]j hѤk l CC + .7|m n D E   ,F  $ 6o  .'p  .o .Jq r ;G B s eĤt  H ]u f mvswE xEyEq  (zE-{E D|LPf}o-I^6vJ^K^L^ M^IN^O^w~."*P 9N7>"r~ !!Xb Q R}8SCZT^ UQVntkT @ #WTXc&Y}Zt[\ %<] 4:@AFث!.}W_s^ ajvzr EF_ϐ`  "`" E  E  E  E      Q > ث  a   a  h q ELTO S cb9Xc dPeZVffk JR)gWajEhijk-lE S !"m"\#g#?##n^O$$$- o %''''''o((0):) ***E~+V+,,,x#l----y..///0p00q111&2=20rZ2 s^"3u3334t445*515566q66}66u66;7vF7N7w^8I9qP9|99)):::;x;!<%<{<<<3=j=s=><>??y?>@z F@{^@E(A:OAݘAA|F7AC DCGCECCECCCD(DDE]EwF}nF)GpGzG~Hq=Iz 6IIثIKKKLEL8M@MM-MO=OjOoOOO'OOPPPPPQQOSS SSUT]TTOTUU VVVUWbW$X5X?X4;ZGZ[[\\^"^^^^__o`~``HbXbabbbEcE`cccc4dHdQd)fvFv 7w:xxy !qy pzzz "q{R{|6}}} ~Y#,. P e h  ##΄2^:qx= F"P XaD  ثه DPl  X X $ x  P\b#. Ǒ̑BEǑXǑ&vǑ c,^ŕEW1p/w͖%cǗMTXי&ԛ]'ku)(k2}^()cA*c̥k/x(/3]^e|/˪q {/!+c+,R-k`. ثdQYh/  з ۷ o x{ǸIQYعEE^ߺ 4 >AE~\JTXɼ ּelqo :H 5 ?  ]  F7P  Xb H je  0 A P_  s    e  X  ]    >;   t [ "& F7> 5 W`   k   0 qJ Gq C i ث~)LZ_OZ$>I`QZY3: ^%  A H   N:'P9Y&1q'62<D7F4V3<dU4<#pNY5w}&,P6`ۡ 7 U F7 ^ 3d :}E?GK]8<)5c C JAF"s  J^?G"h9owB LP u ~ ' +! "    " ثy # ثB   $E/  ]: k% "&; s{  L  j& ثd' "  R:()@ < mP 9}K* EWnb 7 6  ~" + y, W- Lf=.7. 0 Z7 9/ !!CO!!!g! A/"A"""",# "5## "#>A%$> Lc$? $$@ '%2%0E% &1 &a&2 n&3.'g4'.(Q( W((l)*5)^ * {**n,6x,X-7a- -. ./8 /9 E0: 0; 2: S4_4l7< s77= 78 8j 499 9 C:s: {:cA:;!;<>E!<)?ث<^=@E==8>E>2>??8??c@?k@@?@MAfAsA BBPBA^B_BBcCCqCCBCCDDDECsEGEGqF.HHGHMIHXIIII JJJrJK~JJLJ'KMLlMN}MMOM4NP@NNNNQ OBORROOSOOTP_PUjPPVPQW^QX^/RRRyUUUZDVE pXJYYWY^vZZ [6\D\Z][^Y\-A___```a 4a] aL a+ ^bb b^ cd =c_ cxc d!d` >eHheaeb`e>Mff'cEffdEf+eEf8g5[gF $g# #h0hhfEhVh5iG;iAiigi:jCjKjjjJ lll lLm UmPH LmTI '%nnhn/oi9oqj oook oo>pl ثHpc  p$J qqrm r#rK qrܐL rrjM '%fs=t@t&nEtoEt tt.u^hu Tu u F7w; xxx"xp-xyyy z"zqizzrzz4{{{b|szk| |t-t~u-~r k|  4   v IOw Iɂx IcF"?AGF7t z "N"U4"=yEzE;{HΈӈ|}Ɋ%N,3͋Ӌ~tw%F"F"F"F"F"F" F"F"F"F"F"F""F"F"-F"F"6F"F";F"F"MF"F"[F"F"bF"F"pF"F"|F"F"F"F"F"F"JF"F"F"F"AF"F"F"F"F"F"F"F"F"F"ǎF"F"F"F"ЎF"F"ՎF"F"F"F"F"F"F"F"F"F"F"F"F"F"F"F"%F"F"-F"F"4F"F"F"F"DF"F"KF"F"VF"F"bF"F"F"F"mF"F"@@@(@0AW˓ٓ%XJ{nTreviO`ADNG]*šɚ?֚<F"ؘݘ $).49>CHNTY^dinx™ƙʙΙҙ֙ڙޙ !%)1:>DQ[choz 7n0a (2<Pddxxx@@@h  @8@8p_7 $$6666HHHQlDD 008@@@@@@``` P@@@N -c}qeaUCWIi$ syo(7#7;89I-1_e<1QQuEK?OT/ S5K;X%uI = aZ{c[g'h__[' 3 i~E  A Y9 dF uwuous, ## 7h3KSKv+vuKKV4+uuus#LsK CÐ vsv#MsL#xw 0LL'vvvܮvvv|v\<:{<{\ 5l5L5[vvvۮL,xwwwL52||{ w)P\!!6(fO (4(x)uU545P-+$H=`5;w'xw* z |)57Ǡvxyxby*x6j6J *7|"7*yzZzBWZt s j(J*(t+)Bx|6~<9P*#ʮ‘¯w xjwRwzwwJw>po@#ʞ j bwxRwx2"±z2yyRyBNqp"B#(b"U\cQ Of;O 68Vr.Q $dv |j(wE~, x5P)+h*X+x |X@lXw( 7P yDH6xwLz89 qt-%.WQ 28zty~;}~T}u 9(X(+(x580w 8=xiTpax(yHxH8xXxxx(h-(-:h.HHHX|zzzOhe4-(-(0HwYox8A# 8x+xx6wzzhzz{zxy x7 8}x8؟ B# xqȠ yx{8zxMCLC+z,7,R+X8xzXҟ XtyP @`x|ybmenTF|Gk`OJ{&uEpUfyz:LgF̭;uEkc7II@IGihle j`#Ye&WVTY]`_ERc7k>V9 5DT?q:Eq6Yy=?{fY=']*I*  O[=[2-R//o; jBWAJr~BiR*D;22|Nٗٗ]*zziuQukij崧يn9hEh 98 %ǒWGe nl5U>o BIK_ȑ&ǑAvG$G( 4q4Jc§c،6{6WcSOu(( r{;]>B]@Z˃\7~oKϩ/}C6׍,d+,ͩE]xnxjnJBcdԴզ"f\@ld 4P*()"ҊKRJRA 7w!j "Ae;UkF'P 9u9G4Pi #4 BF=q;BTVxKE.4%Lc!F K@9# cV  !!" `^D$*|bM(M(B2F:\-5(74O74.84EV 99#  !$1 $9t6 6I6| )l9lkmh0nmph0,FO:$ўn:-57U]1k$y( O2%l  y((b6 Mk\g0<LC84 6(Ï,Ӷ,$+U;UMv- )o%sg9/\o.~7s/'0)/bȭ#+:&A(%v&|2#J l)/?5LI yx #M,{7 LG XOF`$y q&^2 p)/V@5S<': :#-ޡ%% %YP3x7. %XLp1Xiov1c/2c-0v3 $ Np3ԝGk|(vF8 V B6:3ӫ 993#FTſ^9[+~(+6.\"T67H<^1%0C-g*$->] *d8 Q&: Z'38:GB@I }  ( ;~)Sm&R$[*k [.%4H7B<,ryS s#=>I+_;  A,B$i NP\pO_$H$ښ'/+vA5B(e2& H&88$)7!##"$F :Vz"3-F; U$"a(bw$֏1%(")   ! #%%' ))++//3557 9;;==A CCEGGIIM OOSSUWYY[ ]_aaL?FL?FL?FL?FL?FL?LFL? <L?#<L?l(<L? <2 L? P2 L?d( L?d( L?x( L? L? L? fff?D )\?p •?  (?d  ff?E  q=?Xc  {? w  33?  = ? p?x& ?- ?<(# z?F'R Q?P* Q?P0 Q?P6~ Q?P: Q?P> Q?PhB Q?PPFl Q?P N4% Q?Pa% Q?Plk % (?P0u ) ?PT ) ff?P@ + ?PP + 33?P` / ?Pp/ ?P85 ?P_05 @P\5 33@P; ff@P;  @P=  @P"= @PIC @Pq,C 33@PXC  @PG z@PG @P I @P I ff@P0!O= @P`"O@P@ (# OQ@P "$ Sq=@PP4% Sp@P`[& Sף @Pp' Y #@P) Y%@P+ Yff&@P0 YQ(@P6 a)@PE< a{.@PhB aG1@PDH ez4@P 0 N e5@P@~S g= 7@PY gQ8@P_ k9@P@e kq=:@Plk mH:@P Hq m;@P` $w q(<@Pп } qfff@Z ql@Z ql@ZL l@Z%& 33s@Z%&ȯ 33s@Z%& l@Z-8 33s@Z- 33s@Zg58 33s@Zg5 33s@Zg5 y@Z =H y@Z = y@Z =p y@Z =$ y@Z =8 2=? F"^e^ my TY  IM  '      &  /;( 6 *4O I\U T" T`) 7; I% Tm ` muI Tw Tf T RY$  J 0A N<?ADGJOTX]`einrv{ !',19BFLQV\dkpw|%*-/6:>CIPWWakozz~ zz(-39zzA9zHNYfowWW  !,,29APZcq},,"c++/8zzAFQzzTX^dns|sszzzF" '55A'5M[gryzz z%+448EPPUbrrzzzzzzzzzzzzz zz!'zz.'zH5@HHW@flv@H 2@HAS\cjqxxzzF"F"zz 9.5'.CR.YRiqzzzzzz zz ,::EP]]bP]nuPF"zz  %.zz:?IIO?IU]ezzlezuezzz44 xx   F"F"  . < < F . R R [ e [ s |     R           s   "  3 3 B  < P \  F"3 n  F"3   F"                R    "  R  . : . G G P Y _ 44e h m s zz| s z  zz          zz  z       zH  z% - zz5 > D N X e l s }  l s  l  l s      zz  zz      ( 2 > L zz] d m d x  II                   *<BzzPVzz^dzzmvzz  zzzzzzzzzz (,6<DLzzW[d44pw{ zzzzzzzzzzz zzH"z+z7>AzzEMVbbAfAzmxzzII ''4:BBS:Zdquyu~44 %%17@FOU^^gp||zz-zz IIzz'0II9@zzJT[44ejww{zzF"F"zz(R2RzH:D:zO:z\:zj:zHyzz *499CIR``gnw44 !)29>zzFQ  \kzzzzzzzzzz  #+zz6z>IRYz_hqyyy%-7EKzzT]]]hYqYz|zzzz,,%'+05zz?9zJXzzd'zozy- zRzRzzzzzzH zzzzzz"..4;BBJPPT[Tcjqjyzz&bb44zz +3bb;AGzzTzzZfzzu~zzzz z  z  xxbbzzzH  "*0:CCNYccjYyYy| J  (16@@J6@@PU^ c jw jjjjjw  %..8=zzCI..SZ.eqw......44 $//5>zzGUcqF"G"L"W"b"l"x""""""""""""""# ###$#2#<#B#H#OO/V#OO/d#iiil#iiit#p~#p#w#w#####p###d#=H#Zj$h{$p%$0$iA:$?$J$V$·^$·k$Fu$İ$ح$$$$H$@$$$_$f$%d%/kU%*%W.3%q<B% P%Z%f%|p%v%%%/%22%2͚%""%#k%k%%%% &&&%& /& =&G&\\Q&E]&-Rd&?i&s&y&&`&&i&""&**&z&r&z&&&P&&Gc&E&&i''''p,'`03'C' M'U'\'ݠa'ph'Uu'2''+' 'p'ؿ'''''''''(((x*(2(:(B(k}J(U(`(k(ewv((((^y((((p((()x ))))&)0):)D)N)])l){))))){})))))o)gz)Yi)!.:,.2͚7."iB.pR.hb.Z͢r.=n...s.N...p.L.../z//"/*/2/8/>/D/uJ/%U/"`/k/iv/// /e////ii/jj/cc/UU/:: 0G0By09h"0&G*050@0}K0UsV0]0d0k0f~r0Ow0I|0?0+Z0$0!v0f0E0000,,0&&00@@0;;0330##0i1b 1Tp19L1z'1r41bA1BWN1V1^1f1Zn1z1v1f1E1Vr1Pj1E[1/>1Gc1B\19O1&61E1@171%2 2222Q$2.282vB2P L2nU2j^2`g2b:p2ŵv2|22lc2222e_22y2h2]G24203)3b3>3:&3x213R"<3E3N3W3`3h3zp3ix3G333͖3f3f3_3R37z3>3:323"h404,4&}4U 4.4y<4hJ4G]X4a4j4͵s4{|444444444 4 4 4 44444444445 5555!!!%5!!!,5$$$35$$$:5&&&A5&&&H5)))O5)))V5+++]5+++d5...k5...r5000y50005333533356665666588858885;;;5;;;5===5===5@@@5@@@5BBB5BBB5EEE5EEE5GGG5GGG5JJJ6JJJ 6MMM6MMM6OOO!6OOO(6RRR/6RRR66TTT=6TTTD6WWWK6WWWR6YYYY6YYY`6\\\g6\\\n6^^^u6^^^|6aaa6aaa6ccc6ccc6fff6fff6iii6iii6kkk6kkk6nnn6nnn6ppp6ppp6sss6sss6uuu6uuu6xxx7xxx7zzz7zzz7}}}7}}}$7+72797@7G7N7U7\7c7j7q7x777777777777777777778 888 8'8.858<8C8J8Q8X8_8f8m8t8{888888888888888888899999#9*91989?9F9M9T9[9b9i9p9w9~999999999999999999: :: :(:\̭<< HxHpD h[[hhhhT[F[.[[[[<F[ [&6*,[$/[=E![hhhhhhhhhhhhhhhhhhhhh[[W[IFJ[hhhhhhhhhh[[hV[h[[&[[[h=hh[h[[[[hF((h2O[[Pt?RR@h W[hh[h[W=h[[Ah[[=[  ($4$f86i#$47,81);#;:$0123456789:;<=>?@ABCDJ;GJ$$:#$NOPQRSTUV#%Y$\M;l9ed:fg9i99nq9678%%$#999p)*+*q1245679 % 4802345678&'()*+,-.02345678< 2345678% 48&'()*+,-.02345678)*+0124567 &'()*+,-.02345678; &'()*+,-.023456789 #&'()*+,-.02345678 &'()*+,-.02345678'()*+,-.02345678)*+,-.02345678+,-.02345678&)*+124567)*+0124567)*+124567[ !%,o+q^Gq,ZG[Z(/olp0_rstuvwxyz{|}~,qfgi\"]k[habcj,IJKg#` [$MNOPQRSTUVWXdY1234567G89:ZDEFGHIJK;<=>?@ABCDEFGHIJKMeNOPQRSTEFGHIJKUVWXY123456789:nZ;<=>?@ABCDEFGHIJK 123456789:;<=>?@ABCDEFGHIJKm123456789:;<=>?@ABCDEFGHIJK123456789:;<=>?@ABCDEFGHIJK123456789:;<=>?@ABCDEFGHIJK3456789:<=>?@ABCDEFGHIJK89:89:>?@ABCDEFGHIJK@ABCDEFGHIJK)   [[ c[[[[\[[[[[*L&'-.truncr (precision loss in truncation)floorr (precision loss in truncation)umodiudiviu_remdivis_remdivisdivrrdivridvmdiidiviiexactFl_invratlift failed to catch d1 == 0invmod     divsidivirdivurdivsrinvrdivrudbltor [NaN or Infinity]t_REAL->double conversionRg_to_F2xqF2x_divremF2x_gcd (d = %ld)F2x_extgcd (d = %ld)F2xq_invF2xq_sqrtnF2xq_log: Parameters r=%ld r2=%ld F2xq_log: Size FB=%ld rel. needed=%ld F2xq_logF2xq_log_find_relF2x_halfgcd (d = %ld)SqrtxLiftZ2XQ_logFpXQ_traceQp_expFF_Z_Z_muldivFF_mul2nFF_sqrtnFF_sqrtSEA for char 2to_FFXFlx_to_FlvRg_to_FlRg_to_F2Rg_to_FlxqFlx_gcd (y = %ld)Flx_gcd (d = %ld)Flxq_invFlxq_sqrtnFlxqX_safegcdFlxqXQ_invFlxqX_divremzxX_to_Kronecker, P is not reduced mod QFlx_extgcd (d = %ld)Flx_halfgcd (d = %ld)Flx_divremrandom_F3xqErandom_FlxqE[Flxq_ellcard] baby steps, i=%ld[Flxq_ellcard] baby steps, s = %ld[Flxq_ellcard] sorting[Flxq_ellcard] giant steps, i = %ld[Flxq_ellcard] giants steps, i=%ldTeichBarrettXmLift isogenyliftcurvep-divisionc^2NormTeichmuller/FpTeichmuller/Fqtc2Coppersmith: Parameters r=%ld r2=%ld Coppersmith: Size FB=%ld rel. needed=%ld model changeCoppersmith (R = %ld): %ld%%[%ld] : %ld tests relationssmooth elementsmooth generatorFlxq_logSize FB=%ld, looking for %ld relations, %Ps tests needed model change: %Ps %ld relations, %ld generators (%ld tests)%ld-smooth elementFlxq_log_find_relr=%ld d=%ld fb=%Ps early rels=%lu P=%.5Pe -> C=%.5Pe Found %lu found %ld/%ld logsrandom_FpEellap [large prime: install the 'seadata' package][Fp_ellcard_Shanks] baby steps, s = %ld[Fp_ellcard_Shanks] sorting[Fp_ellcard_Shanks] giant steps, i = %ldellap (f^(i*s) = 1)gen_matidmatid_F2mmatid_FlmWiedemann: first loop, %ldWiedemann: deg. minpoly: %ld Wiedemann: second loop, %ldZlM_gaussZlM_gauss. i=%ldstructured elimination (%ld -> %ld)FpMs_leftkernel_elt, impossible inverse %PsWiedemann left kernelFpX_gcd (d = %ld)FpXQ_invFpX_resultant (da = %ld)FpX_extgcd (d = %ld)FpX_halfgcd (d = %ld)FpXQXQ_invFpX_divremFpX_onerootBerlekamp matrixkernelFlx_rootsFlx_FrobeniusFlx_ddflx= %ldRgXQX_pseudoremRgX_pseudorem dx = %ld >= %ldRgXQX_pseudodivremRgX_pseudodivrem dx=%ld >= %ldRgXn_invRgXn_inv, e = %ldRgXn_reverse, e = %ld [integer vector] [integer matrix]operation 'ZM_transmul' [not in Z[X]] not in Z[X,Y]ZXX_to_Kronecker, P is not reduced mod Qdet. col = %ldgen_Gauss. i=%ldSolving the triangular system operation 'gen_matcolmul'operation 'gen_matmul'Entering gauss gauss. i=%ldZM_invinverse mod %ld (stable=%ld) ZM_inv [ran out of primes]ZM_inv done ZM_inv mod %ld (ratlift=%ld) ZM_inv_ratliftdetint. k=%ldZM_pivots [ran out of primes]FpM_FpC_invimageF2m_F2c_invimageFlm_Flc_invimagesupplsuppl [empty matrix]RgMs_structelim, rcol> b : wastefulpgener_Zlconrey_normalizeissquareallZn_issquaregisanypowerhilbertiiFp_sqrtFp_sqrt [modulus]Start parallel Chinese remainder: znorder [t_INTMOD expected]gboundcfnmaxcontfrac0contfrac [too few denominators]sfcont2pnqn [ nbrows != 1,2 ]bestappr [bound type]quadregulator [exponent]classno [discriminant too large]bestappr_RgXbestappr_Qbnd=%lu Size FB=%ld %ld relations, %ld generatorsfound %ld logs log element log generatorFp_log_indexFl_sqrt [modulus]Z_isanypower: now k=%ld, x=%ld-bit issquare for even characteristic != 2divisors [denominator]core2partialsumdivkBcheckrnfcheckbnf [please apply bnfinit()]checknf [please apply nfinit()]checkbnr [please apply bnrinit()]checkbidcheckabgrpTschirnhaus transform. New pol: %Psgalois of degree higher than 11galois (bug1)galois (bug3)galois (bug2)galois (bug4)pr.eidealinertiagroup [no isotropic element]get_bnfpolget_nfindexnon-monic polynomial. Result of the form [nf,c]xbest = %Ps polredabs0polredabs (missing vector)Found %ld minimal polynomials. absolute basisreduced absolute generator: %Ps chk_gen_initchk_gen_init: generator %Ps chk_gen_init: subfield %Ps chk_gen_init: difficult field, trying random elements precision too low in chk_gen_initchk_gen_init: skipfirst = %ld chk_gen_init: new prec = %ld (initially %ld) polredabs (precision problem)chk_gen generator: %Ps polred: generator %Ps real_normget_red_G: starting LLL, prec = %ld (%ld + %ld) get_red_Gnfbasic_initnsiso0idealquasifrob [Frobenius not found]S1S2A3S3C(4) = 4E(4) = 2[x]2D(4)A4S4C(5) = 5D(5) = 5:2F(5) = 5:4A5S5C(6) = 6 = 3[x]2D_6(6) = [3]2D(6) = S(3)[x]2A_4(6) = [2^2]3F_18(6) = [3^2]2 = 3 wr 22A_4(6) = [2^3]3 = 2 wr 3S_4(6d) = [2^2]S(3)S_4(6c) = 1/2[2^3]S(3)F_18(6):2 = [1/2.S(3)^2]2F_36(6) = 1/2[S(3)^2]22S_4(6) = [2^3]S(3) = 2 wr S(3)L(6) = PSL(2,5) = A_5(6)F_36(6):2 = [S(3)^2]2 = S(3) wr 2L(6):2 = PGL(2,5) = S_5(6)A6S6C(7) = 7D(7) = 7:2F_21(7) = 7:3F_42(7) = 7:6L(7) = L(3,2)A7S7 entering Nilord with parameters: %Ps^%ld fx = %Ps, gx = %Ps (Fa, oE) = (%ld,%ld) beta = %Ps (eq,er) = (%ld,%ld) Increasing Fa FpX_ffisomnilordnilord (no root)checkmodpr [use nfmodprinit]checkprid [t_POL expected]rnfallbasenon-monic relative polynomials treating %Ps^%ld pass no %ld new order: %Ps %Ps rnfmaxord/galdataissquarefree(arg)rnfdedekind [non integral pol]the full Dedekind criterion in the non-monic caseDedekind in the difficult caseRg_to_ffzk_to_ffget_norm Increasing Ea entering Dedekind Basis with parameters p=%Ps f = %Ps, a = %Ps entering Decomp, parameters: %Ps^%ld f = %PsDecompDecomp (not a factor) leaving Decomp: f1 = %Ps f2 = %Ps e = %Ps de= %Ps ZX_dedekind: gcd has degree %ld Precision for cached Newton sums for %Ps: %Ps -> %Ps newtonsumsnfmaxordnfbasis [factorization expected]disc. factorisationTreating p^k = %Ps^%ld ROUND2: epsilon = %ld avma = %ld maxord2impossible inverse: %Pslarge composite in nfmaxord:loop(), %Psrowred j=%ldnf_to_scalar_or_basispoltobasisnf_to_scalar_or_algnegative power in pow_ei_mod_pvec01_to_indicesnfsign_archnfinvmodidealfamat_to_nf_modideal_coprimeIdealstar [incorrect archimedean component]Idealstardenominator(ideal)treating pr^%ld, pr = %Ps treating a = %ld, b = %ld check_nfeltIdeallistzlog_pkidealtyp [non-square t_MAT]idealtypidealhnf [wrong dimension]idealhnf [Qfb for non-quadratic fields]idealhnf [Qfb]disc(q)element mod idealdenominator(x/y)idealaddmultoonesum(ideals)idealaddmultoone [not an ideal]famat_makecoprimeunif_mod_fZidealapprfact [not a factorization]idealchineseinitdenom(y)nored + denominator in idealapprfacteltreltoabsthe base fieldelementissquarefree(B)k = nfhnf, i = %ldnfsnf for empty or non square matrices[1]: nfhnfmod, i = %ld[2]: nfhnfmod, i = %ldleftright_powu (%d)sliding_window_powu (%ld)sliding_window_pow (%ld)gen_powu_fold (%d)gen_pow_fold (%d)prod: remaining objects %ld gen_Shanks_log, baby = %ldgen_Shanks_log: false positive %lu, %lu gen_Shanks_log, k = %lugen_Shanks_log [order too large]gen_Shanks_log: false positive %ld, %lu gen_Shanks_log, k = %ldchanging Pollard rho hash seed to %ldgen_Pollard_loggeneric discrete logarithm (order factorization)Pohlig-Hellman: DL mod %Ps^%ld gen_order [missing order]gen_factored_order [missing order]gen_genergen_Shanks_sqrtlgen_Shanks_sqrtngtompXModified P: %Ps zncoppersmith [bound too large]delta = %d, t = %d, cond = %.1lf Init: trying delta = %d, t = %d Matrix to be reduced: %Ps Entering LLL bitsize bound: %ld expected shvector bitsize: %ld Candidate: %Ps bitsize Norm: %ld bitsize bound: %ld Increasing dim, delta = %d t = %d Roots: %Ps accuracypadic_lindeppadic_lindep [not a p-adic vector]Xadic_lindepalgdep0degree(x)fincke_pohst [dimension 0]first LLL: prec = %ld Fincke-Pohst, final LLL: prec = %ld fincke_pohstsmallvectors looking for norm < %P.4G smallvectorsNew bound: %Pssorting... [%ld elts] final sort & check... minim0minim0 [negative number of vectors]vector in new basis = %Ps list = %Ps base change matrix = %Ps minim0, rank>=%ldtm1 = %Psmid = %Pslllintpartialallnpass = %ld, red. last time = %ld, log_2(det) ~ %ld gprecdirmul, %ld/%lddirdiv, %ld/%ldstirling2X[%ld]gen_sortsetbinop [function needs exactly 2 arguments]lexicographic vecsortlexicographic vecsort, index too largesort_functionsort_function, cmp. fun. needs exactly 2 argumentsclosurecmp, cmp. fun. must return an integerdeg(minpoly(z))bitwise negationexponentbitwise orbitwise andbitwise xorbitwise negated implyBuchmann's algorithmBuchquadfactor basesubFBquad = %PspowsubFBquad*** Changing sub factor base KC = %ld, need %ld relations ...need %ld more relations %s rel [#rel/#test = %ld/%ld]initialreal_relationsqfr5_rho_pow %ldP#### Tentative regulator: %Ps be honest for primes from %ld to %ld be honestnarrow class groupquadclassunit [tech vector]init_units [can't compute units on the fly]PHASE 1 [CLASS GROUP]: are all primes good ? Zimmert's bound is large (%Ps), certification will take a long time**** Testing Different = %Ps is %Ps passing p = %Ps / %Ps *** p = %Ps Testing P = %Ps #%ld in factor base is %Ps idealget_arch_realred_mod_unitsisprincipalarchbnfnewprecbnfnewprec(extra)bnfisunit [not a factorization]codeprimebnfmakenon-monic polynomial. Change of variables discardednfinit & rootsof1automorphismscomplex embedding permutationsweighted G matricesR1 = %ld, R2 = %ld D = %Ps BuchallBach constantLIMC2 = %ld Class 1 computing Bach constantcomputing inverse of hR%s*** Bach constant: %f LIMC = %ld, LIMC2 = %ld ########## FACTORBASE ########## KC2=%ld, KC=%ld, KCZ=%ld, KCZ2=%ld ++ LV[%ld] = %Psfactorbase (#subFB = %ld) and ideal permutationsfactorbase (no subFB) and ideal permutationsKCZ = %ld, KC = %ld, n = %ld including already computed relations #### Look for %ld relations in %ld ideals (small_norm) *** Ideal no %ld: %Ps for this idealsmall norm relations nb. fact./nb. small norm = %ld/%ld = %.3f powFBgen #### Look for %ld relations in %ld ideals (rnd_rel) for remaining idealsBuchall_param (%s)floating point embeddingshnfspec [%ld x %ld]hnfadd (%ld + %ld) #### Computing regulator multiple Unit group rank = %ld < %ld regulator is zero. regulator #### Tentative class number: %Ps #### Computing check truncation error in bestappr D = %Ps den = %Ps #### Tentative regulator: %.28Pg computing check ***** check = %.28Pg Be honest for %ld primes from %ld to %ld be_honest() failure on prime %Ps to be honestcleanarchgetfubnfinit [fundamental units too large]compute_RComputing powers for subFB: %Ps %ld: automorphism(%ld) %ld: 1 *** NOT Changing sub factor base *** Changing sub factor base small_norm (precision too low)fp->v[%ld]=%.4g BOUND = %.4g can_factoradding vector = %Ps generators = %Ps ++++ cglob = %ld rel = %ld^%ld completing bnf (building cycgen)class_group_genclassgroup generatorsfamat_to_archcompleting bnf (building matal) %ld done later at prec %ld makematalmakematal, adding missing entries:precision too low for generators, e = %ldprecision too low for generators, not givenidealtyp [dimension != degree]# ideals tried = %ld SPLIT: increasing factor base [%ld] #### Computing fundamental units insufficient precision for fundamental units, not givenfundamental units too large, not givenmissing bid generators. Use idealstar(,,2)bnrclassno [bnf+missing conductor]Searching minimum of T2-form on units: BOUND = %ld M* = %Ps [ %ld, %ld, %ld ]: %.28Pg M0 = %.28Pg (lower bound for regulator) M = %.28Pg Default bound for regulator: 0.2 Mahler bound for regulator: %Ps PHASE 2 [UNITS]: are all primes good ? Testing primes <= %Ps bnfcertify [too many primes to check] Testing primes | h(K) bnrchar [inconsistent values]ABC_to_bnr [bnf+missing conductor]ABC_to_bnrLbnrclassnodecodemodule [not a factorization]decodemodule [incorrect hash code]bound==r1>15 in discrayabslistarchStarting zidealstarunits computations Starting bnrclassno computations [1]: discrayabslistarchStarting discrayabs computations [2]: discrayabslistarchfactordivexact [not exact]rnfnormgroup for non-monic polynomials *** testing p = %lu p divides h(K) p divides w(K) Beta list = %Ps generator of (Zk/Q)^*: %Ps prime ideal Q: %Ps column #%ld of the matrix log(b_j/Q): %Ps new rank: %ld check_subgroupwrong type in too_bignf_hyperell_locally_solublenfhilbert not soluble at real place %ld nfhilbert not soluble at finite place %Ps non monic relative equationrnfisnorm [please apply rnfisnorminit()]useless flag in rnfisnorm: the extension is Galoisnfhilbertpconcatenationconcat: i = %ldshallowmatconcat_matsizelistconcatrandom_curves_with_m_torsionrandom_curves_with_rational_X1direuler [bad primes]constant termdirexpanddirexpand [wrong arity]init LL^(%ld)=%Ps(analytic rank)%2analytic rankExpected height=%Ps Naive height <= %Ps precision = %ld List of discriminants...%Ps ellL1twistDisc = %Ps, Index^2 = %Ps N = %Ps, ymin*N = %Ps heegner_psiz=%Ps %ld*%ld multipliers to test Trying multiplier %ld ellheegner, point not foundheegner_find_pointTrying lambda number %ld, logd=%Ps, approxd=%Ps approxn=%Ps eps=%ld found non-Heegner point %Ps 1st stage, using recursion for p <= %ld 2nd stage, looping for p <= %Ps 3nd stage, looping for p <= %Ps ellL1: BG_add: %ld words, ellan: %ld words checkellptcheckell5checkellcheckellisogcheckell over Qcheckell over Fqellxxx [not an elliptic curve (ell5)]checkcoordchdegree(P)elllocalred [not an integral curve]elllocalred [prime]nflocalred (p < 5)ellisoncurve [point]ellmul_CMellmul (non integral, non CM exponent)ellpadicheight: bad reductionnot in the kernel of reduction atEis supersingular atk % 2ellwp(t_SER) away from 0ellzeta(t_SER) away from 0zellsigma(t_SER) away from 0log(ellsigma)ellintegralmodelanellsmall [not an integral model]ellan for n >= %lucut-off pointellseaelljissupersingularelliptic functiondet(w1,w2)reduction mod 2-dim lattice (reduce_z)redimagsl2p-adic AGM [can't determine p].tatev_p(j).rootdoellR_rootsellmul_Zellmul [not a complex multiplication]ellmul (non integral CM exponent)ellmul_CM [norm too large]localred (p | c6)localred (nu_D - nu_j != 0,6)elliptic curve base_ringisogeny_from_kernel_pointnot onisogeny_from_kernel_point (f or g has wrong type)isogeny_from_kernel_point (wrong denominator)isomatdblisogeny_from_kernel_polytwo_torsion_contrib (a1*x0+a3 != 0)kernel polynomialdoes not define a subgroup ofRgX_homogenous_eval(%ld)loopLp: a = %ld / %ldellmodulareqn (level)%s/seadata/sea%ldseadata fileAborting: #E(Fq) divisible by 2 SEA: Prime %5ld One root Elkies l+1 roots Atkin Pathological [fail] %3ld trace(s) [%ld ms] Aborting: #E(Fq) divisible by %ld , missing %ld bits At least %Ps remaining possibilities. %Ps remaining possibilities. Match and sort for %Ps possibilities. match_and_sort, baby = %ldmatch_and_sortmatch_and_sort, giant = %ldTrace mod %ldfind_eigen_value, %Psfailed to find kernel polynomialfind_eigen_value_powerfind_trace_Elkies_power[C: dx=0][C: dJ=0][C: jl=0][A: d%c=0][A: jt=%ld]find_isogenous_from_Atkin, kernel not found[J: g=%ld][J: C%ld=0][J: Pxj=0]find_kernelZq_divtorsbound [ran out of primes]ellorder for curve with singular reductioninitgaloisborne [incorrect denominator]NumberOfConjugates [%ld]:c=%ld,p=%ld NumberOfConjugates:c=%ld,p=%ld galoisconj2polconjugate %ld: %Ps conjugates list may be incomplete in nfgaloisconjcheckgal [apply galoisinit first]checkgalGaloisConj: increase p-adic prec by %ld. GaloisFixedField:cosets=%Ps GaloisFixedField:den=%Ps mod=%Ps vandermondeinverseGaloisConj: val1=%ld val2=%ld GaloisConj: Bound %Ps FixedField: Size: %ldx%ld FixedField: Weight: %Ps FixedField: Sym: %Ps fixedfieldsympol [p too small]FixedField: Found: %Ps permtopol [permutation]GaloisPermToPol:galoisinit(non-monic)galoisconj4 [2nd arg integer]galoisborne()ZpX_rootsvandermondeinversemod()GaloisConj: %Ps %d Computation of polynomialsGaloisConj: denominator:%Ps GaloisConj: Testing A4 first A4GaloisConj: will test %ld permutations A4GaloisConj: %ld hop over %ld iterations A4GaloisConj: sigma=%Ps A4GaloisConj: tau=%Ps A4GaloisConj: orb=%Ps A4GaloisConj: O=%Ps A4GaloisConj: %ld hop over %d iterations max GaloisConj: Testing S4 first Frobenius powerS4GaloisConj: Computing isomorphisms %d:%Ps monomorphismlift()S4GaloisConj: Testing %d/3:%d/4:%d/4:%d/4:%Ps S4GaloisConj: sigma=%Ps S4GaloisConj: pj=%Ps S4GaloisConj: Testing %d/3:%d/2:%d/2:%d/4:%Ps:%Ps S4GaloisConj: Testing %d/8 %d:%d:%d GaloisConj: Trying p=%ld GaloisConj: p=%ld e=%ld deg=%ld fp=%ld Trying degre %d. Galoisconj:Subgroups list:%Ps GaloisConj: I will try %Ps permutations Combinatorics too hard : would need %Ps tests! I will skip it, but it may induce an infinite loopGaloisConj: %d hops on %Ps tests MGaloisConj:Testing %PsGaloisConj: not found, %d hops Best lift: %d GaloisConj: lift degree too small %ld < %ld Galois group probably not weakly super solvablegaloisfindfrobenius [ran out of primes]GaloisConj: Orbit:%Ps GaloisConj: Frobenius:%Ps GaloisConj: Fixed field %Ps GaloisConj: increase prec of p-adic roots of %ld. GaloisConj: Back to Earth:%Ps GaloisConj: %Ps of relative order %d GaloisConj: B=%Ps GaloisConj: exp %d: s=%ld [%ld] a=%ld w=%ld wg=%ld sr=%ld Combinatorics too hard: would need %Ps tests! I'll skip it but you will get a partial result...%d%% testpermutation(%Ps)GaloisConj: %d hop over %Ps iterations GaloisConj: Fini! GaloisConj: Solution too large. f=%Ps borne=%Ps s4test()MonomorphismLift: trying early solution %Ps MonomorphismLift: true early solution. MonomorphismLift: false early solution. %d.%PsGaloisConj: Init Test galoisanalysis [ran out of primes]GaloisAnalysis:non Galois for p=%ld GaloisAnalysis:Nbtest=%ld,p=%ld,o=%ld,n_o=%d,best p=%ld,ord=%ld,k=%ld Galois group almost certainly not weakly super solvableGaloisAnalysis:p=%ld l=%ld group=%ld deg=%ld ord=%ld galoisanalysis()gred_rfrac_simplegred_rfracgdivcoercing quotient rings; moduli %Ps and %Ps -> %Ps/ginvginv [not a permutation]inversegconjconjvec [not a rational t_POL]gmul2ngmulsggdivgsgred_rfrac2_i [incompatible variables]div_serdivppassociationnormalizing a series with 0 leading termgtolonggneg_icomparisongvaluationZ_lvalZ_lvalremgneggabsvecindexmaxempty argumentvecindexminpadic_to_Fpgaffect [overwriting universal object: %s]gen_0gen_1gen_m1gen_m2gen_2gnil)gaffectcvtop2cvtopgexponormalizegsignestore list in variable before appending elementsgen_pvalremgen_lvalremgen_pvalRgX_to_ser (l <= 2)padicprec_relativeRgX_degreesubstitutiongsubst (i = %ld)gsubstisrealappriscomplexgmodsggmodgsgdiventsgsimplify, NULL inputsimplify_shallow, type unknowngdeflatevaluation(x) %% %ldpolevalpoleval: i = %ldsubstvec [not a variable]residue(series, pole)intformal(t_RFRAC)gtruncgfloorgceilgrndtoigroundroundr (precision loss in truncation)gtrunc2nisintpadic_to_Qgtosergtovecvectosmallgtovecsmallcomponent [leaf]evaluation of a power serieseval on functions with parametersgevalqfevalqf_apply_RgMqfevalbgreal/gimaggtopolymathnf0ZM_hnf[1]. li=%ldZM_hnf[2]. li=%ldghnfallEntering hnfspec Permutation: %Ps matgen = %Ps after phase1: hnfspec[1]hnfspec[2] after phase2: hnfspec[3], (i,j) = %ld,%ld matb cleaned up (using Id block) 1st phase done 2nd phase done mathnfspec with large entrieshnfall[1], li = %ldhnfall[2], li = %ld hnfall, final phase: hnfall[3], j = %ldZpM_echelon. i=%ldZM_hnfmodnb columnsnb linesZM_hnfmod[1]. i=%ldZM_hnfmod[2]. i=%ldZM_hnfmod[3]. i=%ldallhnfmodZM_hnfcenter, j = %ldhnflll (reducing), kmax = %ldhnflll, kmax = %ld / %ldhnfpermhnfdividehnf_invimagestarting SNF loop i = %ld: [1]: ZM_snfall i = %ld; [2]: ZM_snfall, i = %ld[3]: ZM_snfallsmithallgsmithallhnffinal, i = %ldHis singular ats1ZpXXQ_invsqrt, e = %ldinvsqrtreddigitsredmulredaddZpXXQ_frob, step 1, i = %ldZpXXQ_frob, step 2, i = %ldfrobZpXQXXQ_invsqrt, e = %ldget_UVZpXQXXQ_frob, step 1, i = %ld  !"#$%&'()*+,-./  snextpr: %lu!=prc210_rp[%ld] mod 210 snextpr: %lu should have been prime snextprECM: number too small to justify this stage ECM: working on %ld curves at a time; initializing for one round for up to %ld rounds... ECM: stack tight, using heap space ECM: time = %6ld ms ECM: dsn = %2ld, B1 = %4lu, B2 = %6lu, gss = %4ld*420 ECM: time = %6ld ms, B1 phase done, p = %lu, setting up for B2 (got [2]Q...[10]Q) ECM: %lu should have been prime but isn't ellfacteur (got [p]Q, p = %lu = prc210_rp[%ld] mod 210) (got initial helix) ECM: time = %6ld ms, entering B2 phase, p = %lu ECM: finishing curves %ld...%ld (extracted precomputed helix / baby step entries) (baby step table complete) (giant step at p = %lu) ECM: time = %6ld ms, ellfacteur giving up. ECM: time = %6ld ms, p <= %6lu, found factor = %Ps Rho: searching small factor of %ld-bit integer Rho: restarting for remaining rounds... Rho: using X^2%+1ld for up to %ld rounds of 32 iterations Rho: time = %6ld ms, Pollard-Brent giving up. Rho: time = %6ld ms, %3ld round%s Rho: fast forward phase (%ld rounds of 64)... Rho: time = %6ld ms, %3ld rounds, back to normal mode found factor = %Ps Rho: hang on a second, we got something here... Pollard-Brent failed. composite found %sfactor = %Ps found factors = %Ps, %Ps, and %Ps squfof [caller of] (n or 3n is a square)squfof [caller of] (5n is a square)SQUFOF: entering main loop with forms (1, %ld, %ld) and (1, %ld, %ld) of discriminants %Ps and %Ps, respectively SQUFOF: blacklisting a = %ld on first cycle SQUFOF: blacklisting a = %ld on second cycle SQUFOF: first cycle exhausted after %ld iterations, dropping it SQUFOF: square form (%ld^2, %ld, %ld) on first cycle after %ld iterations SQUFOF: found factor %ld^2 SQUFOF: ...but the root form seems to be on the principal cycle SQUFOF: second cycle exhausted after %ld iterations, dropping it SQUFOF: square form (%ld^2, %ld, %ld) on second cycle after %ld iterations SQUFOF: giving up OddPwrs: examining %ld-bit integer But it nevertheless wasn't a %ld%s power. OddPwrs: [%lu] passed modular checks But it wasn't a pure power. %lu%% OddPwrs: is a %ld power OddPwrs: not a power IFAC: pseudo-prime %Ps is not prime. PLEASE REPORT! ifac_xxxIFAC: untested %ld-bit integer declared prime %Ps [2] ifac_decompifac partial factorization structure: %ld slots, Moebius mode, hint = %ld ifac_check ['where' out of bounds][empty slot] unknown factor classcompositeunfinished prime[%Ps, %Ps, %s] Done. IFAC: found %ld large prime (power) factor%s. IFAC: new partial factorization structure (%ld slots) IFAC: cracking composite %Ps IFAC: checking for pure square IFAC: factor %Ps is prime (finished) IFAC: factor %Ps is prime IFAC: factor %Ps is composite IFAC: trying Pollard-Brent rho method IFAC: trying Shanks' SQUFOF, will fail silently if input is too large for it. IFAC: trying Lenstra-Montgomery ECM IFAC: trying MPQS IFAC: forcing ECM, may take some time IFAC: unfactored composite declared primeIFAC: untested integer declared primeIFAC: incorporating set of %ld factor(s) stored (largest) factor no. %ld... ... factor no. %ld is a duplicate%s (so far)... factor no. %ld was unique%s IFAC: factoring %Ps yielded 'factor' %Ps which isn't! factoringIFAC: cofactor = %Ps ifac_crack [Z_issquareall miss]IFAC: main loop: repeated new factor %Ps IFAC: a factor was a power of another prime factor IFAC: a factor was divisible by another prime factor, leaving a cofactor = %Ps IFAC: prime %Ps appears at least to the power %ld IFAC: prime %Ps appears with exponent = %ld IFAC: main loop: another factor was divisible by %Ps ifact_sort_one [misaligned partial]IFAC: repeated factor %Ps in ifac_sort_one ifac_main [non-existent factor class]IFAC: after main loop: repeated old factor %Ps IFAC: main loop: %ld factor%s left IFAC: main loop: this was the last factor IFAC: factor %Ps is prime (no larger composite) IFAC: found %Ps = %Ps ^%ld SQUFOF: found factor %ld from ambiguous form after %ld steps on the ambiguous cycle SQUFOF: ...found nothing on the ambiguous cycle after %ld steps there SQUFOF: squfof_ambig returned %ld lfunthetaneed [missing conductor]lfunthetaneedarg tderivative orderlfuncost [missing s domain]lfuninit: insufficient initializationexpected evaluations: %ld true evaluations: %ld multiple poles in lfunrootrespole at k/2 in lfunrootresmultiple poles in lfunconductornormalizepolesplease give more terms in L function's Taylor development at %PsDmax=%ld, D=%ld, M = %ld, nmax = %ld, m0 = %ld lfuninit [domain]tcheckldata [gammavec]checkldata [weight]checkldata [conductor]lfunmul [weight]lfundiv [weight]lfundiv [conductor]lfundiv [Vga]lfunzetakinitodd weight in lfunmfspeclfunsymsqfind [cannot find sym2]several possibilities in lfunsymsqfind lfunetaquo [not a factorization]etaquochecknoncuspidal eta quotientlfunetaquo [non holomorphic]lfunqf [not integral]lfunqf [odd dimension]galois_get_conjLfun: computing %ld coeffs, prec %ld, type %ld #an = %ld < %ld, results may be imprecisevaluation != 1 in lfunetaquoldata_vecanlfunchiZlfunchiquad [not primitive]lfunmisc_to_ldatarescale_to_intlllgramallgenincrementalGSgenEntering L^2: LLL-parameters (%P.3f,%.3Pf), working precision %d words K%ld Babai[0], a=%ldBabai[1], a=%ldprec too low Babai[2], a=%ld, j=%ld(%ld) LLLtreeaddtreedelete2mapmapdomainmapdomain_shallowmaptomatmaptomap_shallowKderivlarge: e = %ld, bit = %ld Kderivsmall (x2d too large)checkms [please apply msinit]abs(sign)Qevproj_initsubspaces not foundq-Expansion not foundTp, p = %ldQevproj_init(E)N % Qgcd(Q,N/Q)msinit [odd weight]msinit [ N = 1 ]msfromell: ran out of primesmsfromell (no suitable twist)msfromell (can't compute analytic |Sha|)p1_indexcusp_indexmsinit [no y^k-2]generatemsymbols [wrong number of symbols]insert_Enfgcd [ran out of primes]nfgcd: p=%d nfgcdnfissplit Entering nffactor: squarefree testnumber of factor(s) found: %ld polfnfp=%ld; gcf(f(P/p))=%ld; nbroots | %Psguess_roots [ran out of primes]%ld loops guessing roots of 1 [guess = %ld]udivuu_remafter ramification conditions [guess = %ld]checking for cyclotomic polynomial [yes]checking for cyclotomic polynomial [no]nf_pick_prime [ran out of primes]choosing prime %Ps, degree %ldLift pr^k; GSmin wanted: %Ps for factoring Phi_%ld^%ld %ld-th root of unity found. rootsof1: wrong guessexponent %ld max_radiusfor this exponent, GSmin = %Ps Time reduction: %ld nfsqff_trager: choosing k = %ld factornf [modulus]Using Trager's method factors%3ld %s at prime %Ps Time: %ld choice of a prime idealPrime ideal chosen: %Ps nf_factor_boundMignotte bound: %Ps Beauzamy bound: %Ps bound computationroot 1) T_2 bound for %s: %Ps 2) Conversion from T_2 --> | |^2 bound : %Ps 3) Final bound: %Ps splitting mod %PsHensel lift ### K = %d, %Ps combinations |@*to find factor %Psremaining modular factor(s): %ld Naive recombination LLL_cmbf: %ld potential factors (tmax = %ld, bmin = %ld) LLL_cmbf: (a,b) =%4ld,%4ld; r =%3ld -->%3ld, time = %ld for this traceLLL_cmbf: rank decrease special_pivot output: %Ps nf_LLL_cmbf: checking factor %ld nf_LLL_cmbf* Time LLL: %ld * Time Check Factor: %ld Total Time: %ld =========== RgX_int_normalizeperm_to_GAPgroup_domain#Ggroup_quotient for a non-WSS groupquotient_perm for a non-WSS groupgaloisisabelian [inconsistent group]domain(G)group_subgroup_isnormaldomain(H)Group(())PermutationGroup<1|>PermutationGroup<%ld|euclidean divisiongrempoldivremgdeucZp_apprZp_to_ZQpX_to_ZXpolsym of a negative npolsym_genfactor for general polynomialsfactor for general polynomialfactor [large prime bound]factorback [not a factorization]factorback [not an exponent vector]RgX_gcd: dr = %ld RgX_gcdRgX_gcd_simpleQ_contentQ_denomQ_muli_to_intQ_div_to_intmissing case in gdivexactRgX_extgcdRgX_extgcd, dr = %ldinexact computation in RgX_extgcdRgXQ_ratliftratliftbmaxamax+bmaxRgXQ_ratlift, dr = %ldnextSousResultant j = %ld/%ldresultant_all, degpol Q = %ldRgXQ_charpolynon-monic polynomial in poldiscreducedissquarefree(pol)polsturm, dr = %ldRgXQ_invginvmodresultant_allsubresextsubresext, dr = %ldinexact computation in subresextQ_divmuli_to_intQ_divi_to_intdifferent moduli in Rg_is_Fpdifferent moduli in Rg_is_FpXQRg_to_FpRg_to_FpXQFqX_translate, i = %ld/%ldFpX_ffintersectFpX_ffintersect [bad degrees]FpM_kerFp_sqrtnpows [P,Q]FpXQ_sqrtnFpV_polintFlxX_pseudoremFlxX_pseudorem dx = %ld >= %ldresultant_all, dr = %ldZX_ZXY_resultant_all [LERS != NULL needs lambda]Trying lambda = %ld bound for resultant coeffs: 2^%ld Flx_resultant_allDegree list for ERS (trials: %ld) = %Ps Final lambda = %ld %ld%%%s ZX_ZXY_rnfequation done fp_resultantZX_resultant: bound 2^%ld, nb primes: %ld %ld%% QXQ_inv: mod %ld (bound 2^%ld)QXQ_inv: char 0 check failedQXQ_invQXQ_inv [ran out of primes]FFInit: using polsubcyclo(%ld, %ld) pol[Frobenius]matrix polcycloenum_j_with_endo_ring_small_discD = %ld, conductor = %ld, inv = %ld minimal_polycyclic_presentationb = %.2f z = %.2f Found %lu primes for v = %lu. Found %ld primes; total size %.2f bits. class polynomial of discriminant %ldSelected %ld primes; largest is %lu ~ 2^%.2f Calculating class polynomial for disc %ld:p = %ld, t = %ld, v = %ld Selected torsion constraint m = %lu and batch size = %ld test_curve_orderfind_j_inv_with_given_tracepolclass0: Couldn't find j-invariant with given trace. j-invariant %ld has trace +/-%ld (%ld tries, 1/rho = %ld) oneroot_of_classpoly j-invariant %ld has correct endomorphism ring (%ld tries) all such j-invariants: %Ps polclass: square of power sum did not stabilisepolclass: square of power sum is not squareClasspoly power sum (e = %ld) is %Ps; found with %.2f%% of the primes adjust_signs: constant term is not +/-1adjust_signs: incorrect traceTotal number of curves tested: %ld Result height: %.2f Dincompatible with given invariantinv_levelinv_degreeinv_height_factorinv_good_discriminantinv_good_primepolmodular_db_add_levelpolmodular0_ZMinvariantincompatible withpolmodular_small_ZMinv_sparse_factorselect_L0scanD0D0=%ld good with L1=%ld Found %ld potential fundamental discriminants modpoly_pickDinv_pfilterUsing L0=%ld for L=%ld, d=%ld, inv_N=%ld, inv_deg=%ld use_L1=%ld minbits = %ld D0=%ld Bad D0=%ld due to non-split L or ramified level Bad D0=%ld because there is no good L1 Good D0=%ld with L1=%ld, n0=%ld, h0=%ld, d=%ld Bad D0=%ld because %ld is less than (L-1)/2=%ld Good D0=%ld, D1=%ld with q=%ld, L1=%ld, n1=%ld, h1=%ld Bad D2=%ld for D1=%ld, D0=%ld, with n2=%ld, h2=%ld, L1=%ld, order of L0^n1 in cl(D2) is too small Bad D2=%ld for D1=%ld, D0=%ld, with n2=%ld, h2=%ld, L1=%ld, form of norm L^2 not generated by L0 and L1 not using D2=%ld for D1=%ld, D0=%ld, with n2=%ld, h2=%ld, L1=%ld, because we don't need L1 but must use it Good D0=%ld, D1=%ld, D2=%ld with s=%ld^%ld, L1=%ld, dl2=%ld, n2=%ld, h2=%ld Best D2=%ld, D1=%ld, D0=%ld with s=%ld^%ld, L1=%ld, n1=%ld, n2=%ld, cost ratio %.2f, bits=%ld Not using D1=%ld, D2=%ld for space reasons totbits=%ld, minbits=%ld checked %ld of %ld fundamental discriminants to find suitable discriminant (Dcnt = %ld) failed completely for L=%ld Only obtained %ld of %ld bits using %ld discriminants Selected %ld discriminants using %ld msecs D0=%ld, h(D0)=%ld, D=%ld, L0=%ld, L1=%ld, cost ratio=%.2f, enum ratio=%.2f, %ld primes, %ld bits modular polynomial of given level and invariant Doubling discriminant search space (closest: %.1f%%, cost ratio: %.1f)... Found discriminant(s): D = %ld, h = %ld, u = %ld, L0 = %ld, L1 = %ld, n1 = %ld, n2 = %ld, cost = %ld (off target by %.1f%%, cost ratio: %.1f) Selected discriminant D = %ld = %ld^2 * %ld. D = %ld, L0 = %lu, L1 = %lu, n1 = %lu, n2 = %lu, dl1 = %lu, dl2_0 = %lu, dl2_1 = %lu Calculating modular polynomial of level %lu: %ld%%polmodular_db_getpmodfn_rootnorm_eqn_updateoneroot_of_classpoly: Didn't find a root of the class polynomialenum_j_fast: invalid parametersmodfn_preimagepolmodular_split_p_Flm Phi_%lu(X, Y) (mod %lu) = %Ps polmodular_ZMcomposite levelpolmodular_ZXXnot in prime subfield compute_L_isogenous_curve: Invalid params j = %lu, p = %luselect_curve_with_L_tors_point: Cardinality not divisible by Lcompute_L_isogenous_curve: L = %lu must divide p + 1 - t = %lumodpoly_pickD_primesskipping duplicate prime %ld %ld primes with v=%ld, maxp=%ld (%.2f bits) check_primes failed completely for D=%ld D=%ld: Found %ld primes totalling %0.2f of %ld bits check_generatorsBad D1=%ld with n1=%ld, h1=%ld, L1=%ld: L0 and L1 don't span subgroup of size d in cl(D1) Bad D1=%ld, with n1=%ld, h1=%ld, L1=%ld: L1 generated by L0 in cl(D1) pick_primes_level2: insufficient primespolmodular0_generic_ZMmillerrabinumoduiMiller-Rabin: testing base %ld BPSW_pspgisprimeb-afloor(b) - max(ceil(a),2)primes_intervalprimetableremoveprimenot inisprimePLPocklington-Lehmer: proving primality of N = %Ps Pocklington-Lehmer: N-1 factored up to %Ps! (%.3Ps%%) Not a prime: %PsPL_certificate [false prime number]LucasModIsLucasPsPfound factor %Ps currently lost to the factoring machineryRabin-MillerQFAuto: Step %ld/%ld qfauto, image of vector not found, Group(MatrixGroup<%d, Integers() |[])qfisom [lattice too large]positive definiteformis notQFIsom: max=%ld qfisom, standard basis vector not foundQFIsom: fp=%Ps QFIsom: mind=%ld maxd=%ld sum=%ld qfsolve [not symmetric] [m,n] = [%Ps, %Ps] p^v = %Ps^%ld dimKer = %ld case 0: dimKer = n case 1: dimker < vp case 2.1 case 2.2 sol = %Ps case 3 no local solution at %Ps Nrandom([a,b]) (a > b)genrandfujiwara_boundQX_complex_rootsZX_UspenskyZX_Uspensky: Number of visited nodes: %d realrootsNumber of real roots: %d -- of which 2-integral: %ld polrealrootsX2XP1all_roots: restarting, i = %ld, e = %ld parametersrefine_Frefine_Hconformal_polnormalizing a polynomial with 0 leading termquicktofpSubCyclo: testing %ld^%ld SubCyclo: new conductor:%ld SubCyclo: %ld not found SubCyclo: conductor:%ld missing bnr generators: please use bnrinit(,,1)Qbnr_to_znstargaloissubcyclo [H not in HNF]galoissubcyclo [N not a bnrinit or znstar]Subcyclo: elements:Subcyclo: complex=%ld znstar_conductorznstar_cosetsSubcyclo: orbits=%Ps Subcyclo: %ld orbits with %ld elements each roots_to_poldfactor_Aurifeuilledegrepolsubcyclo_cyclicpolsubcyclo_rootsgaloissubcyclo [subgroup]Subcyclo: prime l=%ld Subcyclo: bound=2^%ld Subcyclo: val=%ld forsubgroup [not a group]forsubgroup [infinite group](lifted) subgp of prime to %Ps part: %Ps group: %ld lambda = lambda'= mu = mu'= alpha_lambda(mu,p) = %Ps subgroup: countsub = %ld alpha = %Ps forsubgroup (alpha != countsub)nb subgroup = %ld column selection:subgroupexact type in subgrouplistindex boundtrans_eval [prec < 3]powispowpspow_monome [degree]powppowgigpow [irrational exponent]gpowQp_sqrtnsqrt [modulus]gsqrtsqrt(complex of t_INTMODs)Qp_sqrtgexp(t_PADIC)Zn_sqrtQp_logsqrtn [modulus]gsqrtnmploggcos(t_PADIC)gsincosgsin(t_PADIC)gsinc(t_PADIC)Pi/2 + kPimpcosm1p-adic loglog_plogp: [pp,k,e,t] = [%ld,%ld,%ld,%ld] gpow(0,n)sqrtn [valuation]rfix (conversion to t_REAL)caching Bernoulli numbers 2 to 2*%ld, prec = %ld Bernoullisumformal [not a t_POL]sumformal, i = %ld/%ldnon-positive integerv_p(x)precp()series valuationserpsiz0, n = %ldsum from 0 to N-1lim, nn: [%ld, %ld], la = %lf product from 0 to N-1Bernoullisp-adic jbesselh functionnon-positive third argument in hyperuincgam: using asymp incgam: using cf incgam_cfincgam: using power series veceint1argumentinv_szeta_euler, p = %lu/%luzetaBorwein, k = %ldveczeta, k = %ldzeta [large negative argument]lim, nn: [%ld, %ld] tab[q^-s] from 1 to N-1sum from 1 to N-1czetaBernoulli sumzeta(t_SER)padic polylogarithmgpolylogmodular functionIm(argument)trueetaabs(q)theta (n = %ld)kLwlambert(t_COMPLEX)lambertvecthetanullk_loop, n = %ldudivui_remv_p(q)eta, n = %ldp-adic 2n mod Z_kbessel1Bessel K around a!=0p-adic jbessel functionjbesselbesselj around a!=0ascend_volcano: bad paramsnhbr_polynomial: invalid preceding jascend_volcano: Got to the top with more steps to go!descend_volcano: bad paramsdescend_volcano: None of three neighbours lead to the floorwalk_surface_path: bad max_lenwalk_surface_path: No neighbours in %lu-volcano of j = %lu (mod %lu)walk_surface_of_2_volcano: got %ld roots but expected 2walk_surface_path: Can't find neighbour of %lu (mod %lu) that doesn't lead directly to the floor of its %lu-volcanowalk_surface_path: Failed to add a random elementrandom_distinct_neighbours_of: No neighbours for j = %lu (mod %lu) in %lu-volcano.random_distinct_neighbours_of: Only one neighbour for j = %lu (mod %lu) in %lu-volcano.s[1]eval_mnemonicid too long in a stringified flaga stringified flag does not start with an idnumeric id in a stringified flagUnrecognized id '%s' in a stringified flagCannot negate id=value in a stringified flagUnrecognized action in a templateNon-numeric argument of an action in a templateerror in parse_option_stringJunk after an id in a stringified flagnot a valid identifier[install] identifier '%s' already in use[install] updating '%s' prototype; module not reloadedcan't kill that%s already exists with incompatible valenceno more variables availablerenaming a GP variable is forbiddenvariable numbercan't replace an existing symbol by an alias%s = %Ps varentries_unset [unknown var]missing commathis code has to come firstunknown parser codeexpected character: '"' instead ofrun-away stringnot a built-in/install'ed function: "%s"function prototype unsupported: "%s"derivfun%s'(%s)'expression nested too deeplyoptimizenodeunexpected character '&'unexpected characters '..'too few argumentsexpected character: '&'expected character: '=' instead ofUnknown prototype code `%c' for `%.*s'Unknown prototype code `%c*' for `%.*s'optimizefun [unknown PPproto]unexpected character: function has incomplete prototypefunction prototype is not supportedcompilenodecompilematcoeffunexpected character: ';'this should be a small integercompilenode, unsupported constantthis should be a small integer >=0matrix must be rectangularunexpected character '&':compiler generates copy for `%.*s'statement with no effect: `%s'unknown functionsorry, closure not implementedoperator unknownvariable declared twiceunexpected ';'too many argumentsuninline is only valid at top levelwrong number of argumentsexpected character: ',' or ')' instead ofmissing flag in string function signaturedefault argument must be a stringcompilefunc [unknown PPproto]missing variable nameinline is only valid at top levelnot an lvaluecompilecast [unknown type]missing indextoo many parameters for closure `%s'Unknown prototype code `D%c' for `%s'Unknown prototype code `D...,%c,' for `%s'Unknown prototype code `%c*' for `%s'integer too largearguments must be positive integersdefault: incorrect value for %s [0:off / 1:on] %s = 1 (on) %s = 0 (off) default: incorrect value for %s [%lu-%lu] %s = %lu %s = %lu %s realprecision = %ld significant digits (all digits displayed) (%ld digits displayed) realbitprecision = %ld significant bits (%ld decimal digits displayed)nodarkbg1, 5, 3, 7, 6, 2, 3brightfg9, 13, 11, 15, 14, 10, 11lightbg1, 6, 3, 4, 5, 2, 3boldfg[1,,1], [5,,1], [3,,1], [7,,1], [6,,1], , [2,,1]expected character: ']'[%ld,,%ld][%ld,%ld,%ld] colors = "%s" default: inexistent format%c.%ld format = %c.%ld [secure mode]: About to modify the 'secure' flag [logfile was "%s"] \ifx\%s\undefined \def\%s{%s}\fi PARIbreak\hskip 0pt plus \hsize\relax\discretionary{}{}{}PARIpromptSTART\vskip\medskipamount\bgroup\bfPARIpromptEND\egroup\bgroup\ttPARIinputEND\egroup\ifx\%s\undefined \def\%s#1#2{%s}\fi PARIout\vskip\smallskipamount$\displaystyle{\tt\%#1} = #2$[secure mode]: About to change %s to '%s' %s = "%s" datadir = "%s" [secure mode]: can't modify 'prettyprinter' default (to %s)yestex2mail -TeX -noindent -ragged -by_par prettyprinter = "%s" unknown default: %scomment> GPHELP"/usr/local/bin/gphelp"(raw)(prettymatrix)(prettyprint)(external prettyprint)(bits 0x2/0x4 control output of \left/\PARIbreak)(off)(on)(on with colors)(TeX output)(no backward compatibility)significant termsI was expecting an integer hereCan't ask for confirmation. Please define cb_pari_ask_confirm()You never gave me anything to read!skipping directory %sinput file [fread]FILE*malformed binary file (no name)setting %s unknown code in readobj%ld unnamed objects read. Returning then in a vectorI/O: leaked file descriptor (%d): %sgp_readvec_stream: reaching %ld entries gp_readvec_stream: found %ld entries run-away string. Closing itrun-away comment. Closing it%c[0m%c[%ld;%ldm%c[%ld;%ld;%ldmCOLUMNSLINES[+++] *** : undefined environment variable: %sout of range in integer -> character conversion (%ld)thstndrdunknown type %ldt_INFINITYt_ERRORt_CLOSUREt_VECSMALLt_STRt_LISTt_MATt_COLt_VECt_QFIt_QFRt_RFRACt_SERt_POLt_POLMODt_QUADt_PADICt_COMPLEXt_FFELTt_FRACt_INTMODt_REALt_INTinvalid range in print_functions_hash*** hashcode = %lu no such function%3ld:%3ld Total: %ld, Max: %ld Top : %lx Bottom : %lx Current stack : %lx Used : %ld long words (%ld K) Available : %ld long words (%ld K) Occupation of the PARI stack : %6.2f percent %ld objects on heap occupy %ld long words %ld variable names used (%ld user + %ld private) out of %d I/O: new pariFILE %s (code %d) requested fileI/O: opening file %s (mode %s) I/O: can't remove file %sI/O: removed file %s gp_context_restore: deleting open files... restoring pari_infile to %s gp_context_restore: restoring pari_infile to stdin done [pipe:] '%s' failedcan't expand ~%s.:~:~/gp[secure mode]: system commands not allowed Tried to run '%s'system("%s") failedbinary output file -output file [fwrite][secure mode]: about to write to '%s'The result history is emptyHistory result %%%ld not available [%%%ld-%%%lu]History result %%%ld has been deleted (histsize changed)%s is set (%s), but is not writable%s is set (%s), but is not a directoryI/O: file %s exists! couldn't find a suitable name for a tempfile (%s)couldn't find a suitable name for a tempdir (%s)[secure mode]: about to install '%s'%s: installed function library name: %s prototype: %s%s couldn't open dynamic library '%s'couldn't open dynamic symbol table of processcan't find symbol '%s' in library '%s'can't find symbol '%s' in dynamic symbol table of processGPTMPDIRTMPDIR/tmp/var/tmp-%ld-%ld%.8s%sI/O: prefix for unique file/dir = %s closebinary output file [ use writebin ! ]output fileI/O: checking output pipe... %s [&=%0*lx] : hash = %ld [%ld] menu = %2ld, code = %-10snext = %s NULL gen_0 ,CLONE%s(lg=%ld%s):%0*lx chars:(%c,lgefint=%ld):(%c,expo=%ld):(precp=%ld,valp=%ld):(%c,varn=%ld):(%c,varn=%ld,prec=%ld,valp=%ld):(subtyp=%ld,lmax=%ld):+(arity=%ld%s):int = pol = mod = num = den = p = real = imag = p : p^l : I : coef of degree %ld = %ld%s component = code = operand = data = dbg/frpc/fram = text = frame = 1st component = %ld%s column = mat(%ld,%ld) = 0123456789+\infty-\inftythis object uses debugging variablesTeX variable name too long + - t%d+oo-oo%0*lx%ldprintf: end of formatmissing arg %d for printf format '%s'two '.' in conversion specificationP/l length modifiers in the same conversionll length modifier in printf'P' length modifier appears twiceinvalid conversion or specification %c in format `%s'impossible conversion to t_REAL: %Psnot a t_INT in integer format conversion: %Ps0123456789abcdef0123456789ABCDEF01234567deleteclose pipeI/O: closing file %s (code %d) %s is not a GP binary file%s not written for a %ld bit architectureunexpected endianness in %s%s written by an incompatible version of GP%s.gp.Z.gz%s "%s"/bin/gzip -dcembedded braces (in parser)unexpected closing braceat top-level[...] atmember in %sfunction in anonymous functionbreak not allowed heretoo many parameters in user-defined function calldoubling evaluator stackhash_from_linkclosure_eval, stack underflowevaluator [variable name expected]gtou [integer >=0 expected]eval: recovering %ld bytesclosure_castgen, type unknown_[_] OCcompo1 [not a vector]closure_castlong, type unknown&_[_] OCcompo1 [not a vector]&_[_] OCcompo1ptr [not a vector]_[_,_] OCcompo2 [not a matrix]&_[_,_] OCcompo2ptr [not a matrix]_[,_] OCcompoC [not a matrix]&_[,_] OCcompoCptr [not a matrix]_[_,] OCcompoL [not a matrix]&_[_,] OCcompoLptr [not a matrix]functions with more than 20 parametersdeep recursionmissing mandatory argument '%s' in user functionmissing mandatory argumentargument type not implementedt_VECSMALL assignmentmatrix row assignmentmatrix col assignment/*-- (type RETURN to continue) --*/no such section in help: ?The PARI/GP distribution includes a reference manual, a tutorial, a reference card and quite a few examples. They have been installed in the directory You can also download them from http://pari.math.u-bordeaux.fr/. Three mailing lists are devoted to PARI: - pari-announce (moderated) to announce major version changes. - pari-dev for everything related to the development of PARI, including suggestions, technical questions, bug reports and patch submissions. - pari-users for everything else! To subscribe, send an empty message to -request@pari.math.u-bordeaux.fr with a Subject: field containing the word 'subscribe'. An archive is kept at the WWW site mentioned above. You can also reach the authors at pari@math.u-bordeaux.fr (answer not guaranteed).se:def,%s: %s t_Help topics: for a list of relevant subtopics, type ?n for n in 0: user-defined functions (aliases, installed and user functions) 1: Standard monadic or dyadic OPERATORS 2: CONVERSIONS and similar elementary functions 3: TRANSCENDENTAL functions 4: NUMBER THEORETICAL functions 5: Functions related to ELLIPTIC CURVES 6: Functions related to L-FUNCTIONS 7: Functions related to MODULAR FORMS and MODULAR SYMBOLS 8: Functions related to general NUMBER FIELDS 9: Functions related to associative ALGEBRAS 10: POLYNOMIALS and power series 11: Vectors, matrices, LINEAR ALGEBRA and sets 12: SUMS, products, integrals and similar functions 13: GRAPHIC functions 14: PROGRAMMING under GP 15: The PARI community Also: ? functionname (short on-line help) ?\ (keyboard shortcuts) ?. (member functions) Extended help (if available): ?? (opens the full user's manual in a dvi previewer) ?? tutorial / refcard / libpari (tutorial/reference card/libpari manual) ?? keyword (long help text about "keyword" from the user's manual) ??? keyword (a propos: list of related functions).# : enable/disable timer ## : print time for last result \\ : comment up to end of line \a {n} : print result in raw format (readable by PARI) \B {n} : print result in beautified format \c : list all commands (same effect as ?*) \d : print all defaults \e {n} : enable/disable echo (set echo=n) \g {n} : set debugging level \gf{n} : set file debugging level \gm{n} : set memory debugging level \h {m-n}: hashtable information \l {f} : enable/disable logfile (set logfile=f) \m {n} : print result in prettymatrix format \o {n} : set output method (0=raw, 1=prettymatrix, 2=prettyprint, 3=2-dim) \p {n} : change real precision \pb{n} : change real bit precision \ps{n} : change series precision \q : quit completely this GP session \r {f} : read in a file \s : print stack information \t : print the list of PARI types \u : print the list of user-defined functions \um : print the list of user-defined member functions \v : print current version of GP \w {nf} : write to a file \x {n} : print complete inner structure of result \y {n} : disable/enable automatic simplification (set simplify=n) {f}=optional filename. {n}=optional integer Member functions, followed by relevant objects a1-a6, b2-b8, c4-c6 : coeff. of the curve. ell area : area ell bid : big ideal bid, bnr bnf : big number field bnf,bnr clgp : class group bid, bnf,bnr cyc : cyclic decomposition (SNF) bid, clgp,ell, bnf,bnr diff, codiff: different and codifferent nf,bnf,bnr disc : discriminant ell,nf,bnf,bnr,rnf e, f : inertia/residue degree prid fu : fundamental units bnf,bnr gen : generators bid,prid,clgp,ell, bnf,bnr, gal group: group ell, ,rnf,gal index: index nf,bnf,bnr j : j-invariant ell mod : modulus bid, bnr, gal nf : number field nf,bnf,bnr,rnf no : number of elements bid, clgp,ell, bnf,bnr omega, eta: [w1,w2] and [eta1, eta2] ell orders: relative orders of generators gal p : rational prime prid, ell, rnf,gal pol : defining polynomial nf,bnf,bnr, gal polabs: defining polynomial over Q rnf reg : regulator bnf,bnr roots: roots ell,nf,bnf,bnr, gal sign,r1,r2 : signature nf,bnf,bnr t2 : t2 matrix nf,bnf,bnr tate : Tate's [u^2, u, q, [a,b]] ell tu : torsion unit and its order bnf,bnr zk : integral basis nf,bnf,bnr,rnf zkst : structure of (Z_K/m)* bid, bnr unknown identifier%s is aliased to: user defined variable%s = %Ps installed functionnew identifiergp_help (no help found)missing '='GPRCReading GPRC: %s ...HOMEHOMEDRIVEHOMEPATH%s%s.gprc/etc/gprc...skipping line %ld. unknown directivenotEMACSREADLVERSIONnot an integerBITS_IN_LONGunknown preprocessor variableDone. \PARIpromptSTART|%s\PARIpromptEND|%s\PARIinputEND|%% %s%s %s%s%s%s%s ? break> break[%ld]> no input ???delaybroken prettyprinter: '%s'1\LITERALnoLENGTH{%s}\%%%ld =\LITERALnoLENGTH{%s} \%%%ld = %s%%%ld = %s\PARIout{%ld} incorrect value for graphcolormaptoo few colors (< 4) in graphcolormap0incorrect value for graphcolormap[%ld]: graphcolormap = %Ps incorrect value for graphcolors graphcolors = %Ps [secure mode]: can't modify 'help' default (to %s)none help = "%s" prompt%s = "%s" _contclang version 3.7.0 (https://github.com/kripken/emscripten-fastcomp-clang/ dbe68fecd03d6f646bd075963c3cc0e7130e5767) (https://github.com/kripken/emscripten-fastcomp/ 4e83be90903250ec5142edc57971ed4c633c5e25)compiled: %s, %sthreading engine: %s not(readline %s, extended help%s enabled)not compiled in *** last result computed in %sinput filesetting %ld history entriesList of the PARI types: t_INT : long integers [ cod1 ] [ cod2 ] [ man_1 ] ... [ man_k ] t_REAL : long real numbers [ cod1 ] [ cod2 ] [ man_1 ] ... [ man_k ] t_INTMOD : integermods [ code ] [ mod ] [ integer ] t_FRAC : irred. rationals [ code ] [ num. ] [ den. ] t_FFELT : finite field elt. [ code ] [ cod2 ] [ elt ] [ mod ] [ p ] t_COMPLEX: complex numbers [ code ] [ real ] [ imag ] t_PADIC : p-adic numbers [ cod1 ] [ cod2 ] [ p ] [ p^r ] [ int ] t_QUAD : quadratic numbers [ cod1 ] [ mod ] [ real ] [ imag ] t_POLMOD : poly mod [ code ] [ mod ] [ polynomial ] ------------------------------------------------------------- t_POL : polynomials [ cod1 ] [ cod2 ] [ man_1 ] ... [ man_k ] t_SER : power series [ cod1 ] [ cod2 ] [ man_1 ] ... [ man_k ] t_RFRAC : irred. rat. func. [ code ] [ num. ] [ den. ] t_QFR : real qfb [ code ] [ a ] [ b ] [ c ] [ del ] t_QFI : imaginary qfb [ code ] [ a ] [ b ] [ c ] t_VEC : row vector [ code ] [ x_1 ] ... [ x_k ] t_COL : column vector [ code ] [ x_1 ] ... [ x_k ] t_MAT : matrix [ code ] [ col_1 ] ... [ col_k ] t_LIST : list [ cod1 ] [ cod2 ][ vec ] t_STR : string [ code ] [ man_1 ] ... [ man_k ] t_VECSMALL: vec. small ints [ code ] [ x_1 ] ... [ x_k ] t_CLOSURE: functions [ code ] [ arity ] [ code ] [ operand ] [ data ] [ text ] t_ERROR : error context [ code ] [ errnum ] [ dat_1 ] ... [ dat_k ] t_INFINITY: a*infinity [ code ] [ a ] unexpected characteroperatorlibparimemberintegerrefcardtutorialbnrellrnfmodulusprototype(bits 0x2/0x4 control matched-insert/arg-complete)%ldh, %ldmin, %ld,00%ld msno external help program_QUOTE_BACKQUOTE_DOUBQUOTE@%d-k%s%s -fromgp %s %c%s%s%cugly_kludge_donehash table [too large]mallocing NULL object in newblocknew block, size %6lu (no %ld): %08lx *** %s: user warning: collecting garbage in Warning: Warning: increasing prec in %s; new prec = %ldWarning: failed to %s: %sWarning: not enough memory, new stack %lukilling block (no %ld): %08lx popping %s (block no %ld) increasing stack size to %luBroken Pipe, resetting file stack...signal handlingPARI/GP (Floating Point Exception)PARI/GP (Bus Error)PARI/GP (Segmentation Fault)pari.pspari.logGP_DATA_DIRstack sizes [parisizemax < parisize]new maximum stack size = %lu (%.3f Mbytes)new stack size = %lu (%.3f Mbytes)NULLgp_context_save: %s entering recover(), loc = %ld leaving recover() user interrupt after alarm interrupt after %Ps.%Ps.sorry, '%Ps' not available on this system.bug in %Ps, please report.constant polynomial in %Ps.elements not coprime in %Ps: %Ps %Psinconsistent dimensions in %Ps.error opening %Ps: `%Ps'.invalid flag in %Ps.sorry, %Ps is not yet implemented.package %Ps is required, please install it.impossible inverse in %Ps: %Ps.not an irreducible polynomial in %Ps: %Ps.%s, need primelimit ~ %lu.not enough precomputed primesnot enough memoryinconsistent moduli in %Ps: %Ps != %Psnot a function in function callinconsistentforbidden-->assignmentdivisionmultiplicationaddition%s %s %s %s %s.non-existent component: index %s %Psnon-existent component in %s: index %s %Psdomain error in %s: %s out of rangedomain error in %s: %s %s %Psincorrect priority in %s: variable %Ps %s %Psoverflow in %Ps.precision too low in %Ps.not a prime number in %Ps: %Ps.zero polynomial in %Ps.not an n-th power residue in %Ps: %Ps.PARIthreadparisizemaxthreadsizemaxthe %s stack overflows ! current stack size: %lu (%.3f Mbytes) [hint] you can increase '%s' using default() the %s stack overflows ! current stack size: %lu (%.3f Mbytes) [hint] set '%s' to a non-zero value in your GPRC incorrect type in %Ps (%s).user error: inconsistent variables in %Ps, %Ps != %Ps.invalid error numbere_VARe_USERe_TYPEe_TYPE2e_STACKTHREADe_SYNTAXe_STACKe_SQRTNe_ROOTS0e_PRIORITYe_PRIMEe_PRECe_PACKAGEe_OVERFLOWe_OPe_NOTFUNCe_NONEe_MODULUSe_MISCe_MEMe_MAXPRIMEe_IRREDPOLe_INVe_IMPLe_FLAGe_FILEe_DOMAINe_DIMe_COPRIMEe_CONSTPOLe_COMPONENTe_BUGe_ARCHe_ALARMunknown error nameerrnamedefault handlers are no longer supported --> ignoredobj_insertobj_checkobj_freegerepile, significant pointers lostlbot>ltop in gerepileTime : %ld pari_version()GlG#x: number of non code words in x, number of characters for a string.last history item.lD0,L,time to compute last history item.CatalanCatalan=Catalan(): Catalan's number with current precision.ColGD0,L,Col(x, {n}): transforms the object x into a column vector of dimension n.ColrevColrev(x, {n}): transforms the object x into a column vector of dimension n in reverse order with respect to Col(x, {n}). Empty vector if x is omitted.Euler=Euler(): Euler's constant with current precision.I=I(): square root of -1.ListDGList({x=[]}): transforms the vector or list x into a list. Empty list if x is omitted.MapMap({x}): converts the matrix [a_1,b_1;a_2,b_2;...;a_n,b_n] to the map a_i->b_iMat({x=[]}): transforms any GEN x into a matrix. Empty matrix if x is omitted.GGMod(a,b): creates 'a modulo b'.O(p^e): p-adic or power series zero with precision given by eGD1,L,O(p^e): p-adic or power series zero with precision given by e.Pi=Pi(): the constant pi, with current precision.GDnPol(t,{v='x}): convert t (usually a vector or a power series) into a polynomial with variable v, starting with the leading coefficient.Polrev(t,{v='x}): convert t (usually a vector or a power series) into a polynomial with variable v, starting with the constant term.GGGDGpQfb(a,b,c,{D=0.}): binary quadratic form a*x^2+b*x*y+c*y^2. D is optional (0.0 by default) and initializes Shanks's distance if b^2-4*a*c>0.GDnDPSer(s,{v='x},{d=seriesprecision}): convert s into a power series with variable v and precision d, starting with the constant coefficient.Set({x=[]}): convert x into a set, i.e. a row vector with strictly increasing coefficients. Empty set if x is omitted.s*Str({x}*): concatenates its (string) argument into a single string.StrchrStrchr(x): converts x to a string, translating each integer into a character.StrexpandStrexpand({x}*): concatenates its (string) argument into a single string, performing tilde expansion.Strprintfss*Strprintf(fmt,{x}*): returns a string built from the remaining arguments according to the format fmt.StrtexStrtex({x}*): translates its (string) arguments to TeX format and returns the resulting string.Vec(x, {n}): transforms the object x into a vector of dimension n.VecrevVecrev(x, {n}): transforms the object x into a vector of dimension n in reverse order with respect to Vec(x, {n}). Empty vector if x is omitted.VecsmallVecsmall(x, {n}): transforms the object x into a VECSMALL of dimension n.[a..b] = [a,a+1,...,b]mGVDEDE[a(x)|x<-b,c(x);...]GVDEDE[a(x)|x<-b,c(x)] = apply(a,select(c,b))n!: factorial of n.&Gx%=y: shortcut for x=x%y.x%y: Euclidean remainder of x and y.GEx': derivative of x with respect to the main variable.x*=y: shortcut for x=x*y.x*y: product of x and y.&x++x+=y: shortcut for x=x+y.x+y: sum of x and y.x--x-=y: shortcut for x=x-y.x-y: difference of x and y.mG_.polabsx/=y: shortcut for x=x/y.x/y: quotient of x and y.&Lx<<=y: shortcut for x=x<=y: return 1 if x is greater or equal to y, 0 otherwise.x>>=y: shortcut for x=x>>y.x>>yx>y: return 1 if x is strictly greater than y, 0 otherwise.GD0,L,D0,L,D0,L,D0,L,x[a..b,c..d] = [x[a,c], x[a+1,c], ...,x[b,c]; x[a,c+1],x[a+1,c+1],...,x[b,c+1]; ... ... ... x[a,d], x[a+1,d] ,...,x[b,d]]GD0,L,Lx[a..b] = [x[a],x[a+1],...,x[b]]x\/=y: shortcut for x=x\/y.x\/y: rounded Euclidean quotient of x and y.x\=y: shortcut for x=x\y.x\y: Euclidean quotient of x and y.GGpx^y: compute x to the power y.return x^n where n is a small integer_derivfun(closure,[args]) numerical derivation of closure with respect to the first variable at (args)._ellseaGDGD1,L,ellsea(E,{p},{s})lGsConvert a mnemonic string to a flag._factor_Aurifeuille_factor_Aurifeuille(a,d): return an algebraic factor of Phi_d(a), a != 0_factor_Aurifeuille_prime_factor_Aurifeuille_prime(p,d): return an algebraic factor of Phi_d(p), p primeGE*internal variant of if() that allows more than 3 arguments._parapply_worker_parapply_worker(d,C): evaluate the closure C on d._pareval_worker_pareval_worker(C): evaluate the closure C._parfor_worker_parfor_worker(i,C): evaluate the closure C on i and return [i,C(i)]_parvector_worker_parvector_worker(i,C): evaluate the closure C on i._polint_workerGGGGGused for parallel chinese_polmodular_workerUUUGGGGGLGGused by polmodularvGDIDIinternal variant of if() that does not return a value.x||y: inclusive OR.x~: transpose of x.Gpabs(x): absolute value (or modulus) of x.acos(x): arc cosine of x.acosh(x): inverse hyperbolic cosine of x.addhelpvrsaddhelp(sym,str): add/change help message for the symbol sym.addprimes({x=[]}): add primes in the vector x to the prime table to be used in trial division. x may also be a single integer. Composite "primes" are NOT allowed!agm(x,y): arithmetic-geometric mean of x and y.alarmD0,L,DEalarm({s = 0},{code}): if code is omitted, trigger an "e_ALARM" exception after s seconds, cancelling any previously set alarm; stop a pending alarm if s = 0 or is omitted. Otherwise, evaluate code, aborting after s seconds.algabsdimalgabsdim(al): dimension of the algebra al over its prime subfield.algaddGGGalgadd(al,x,y): element x+y in al.algalgtobasisalgalgtobasis(al,x): transforms the element x of the algebra al into a column vector on the integral basis of al.algautalgaut(al): the stored automorphism of the splitting field of the cyclic algebra al.algbalgb(al): the element b of the center of the cyclic algebra al used to define it.algbasisalgbasis(al): basis of the stored order of the central simple algebra al.algbasistoalgalgbasistoalg(al,x): transforms the column vector x on the integral basis of al into an element of al in algebraic form.algcenteralgcenter(al): center of the algebra al.algcentralprojalgcentralproj(al,z,{maps=0}): projections of the algebra al on the orthogonal central idempotents z[i].algcharalgchar(al): characteristic of the algebra al.algcharpolyGGDnalgcharpoly(al,b,{v='x}): (reduced) characteristic polynomial of b in \var{al}, with respect to the variable $v$.algdecompositionalgdecomposition(al): semisimple decomposition of the algebra al.algdegreealgdegree(al): degree of the central simple algebra al.GLD0,L,algdep(z,k,{flag=0}): algebraic relations up to degree n of z, using lindep([1,z,...,z^(k-1)], flag).algdimalgdim(al): dimension of the algebra al.algdiscalgdisc(al): discriminant of the stored order of the algebra al.algdivl(al,x,y): element x\y in al.algdivralgdivr(al,x,y): element x/y in al.alghassealghasse(al,pl): the hasse invariant of the central simple algebra al at the place pl.alghassefalghassef(al): the hasse invariant of the central simple algebra al at finite places.alghasseialghassei(al): the hasse invariant of the central simple algebra al at infinite places.algindexlGDGalgindex(al,{pl}): the index of the central simple algebra al. If pl is set, it should be a prime ideal of the center or an integer between 1 and r1+r2, and in that case return the local index at the place pl instead.GGDnD1,L,alginit(B, C, {v}, {flag = 1}): initialize the central simple algebra defined by data B, C. If flag = 1, compute a maximal order.alginv(al,x): element 1/x in al.alginvbasisalginvbasis(al): basis of the natural order of the central simple algebra al in terms of the stored order.iGD0,G,algisassociative(mt,p=0): true (1) if the multiplication table mt is suitable for algtableinit(mt,p), false (0) otherwise.algiscommutativeiGalgiscommutative(al): test whether the algebra al is commutative.algisdivisioniGDGalgisdivision(al,{pl}): test whether the central simple algebra al is a division algebra. If pl is set, it should be a prime ideal of the center or an integer between 1 and r1+r2, and in that case test whether al is locally a division algebra at the place pl instead.algisdivliGGGD&algisdivl(al,x,y,{&z}): tests whether y is left divisible by x and sets z to the left quotient x\y.algisinviGGD&algisinv(al,x,{&ix}): tests whether x is invertible and sets ix to the inverse of x.algisramifiedalgisramified(al,{pl}): test whether the central simple algebra al is ramified, i.e. not isomorphic to a matrix ring over its center. If pl is set, it should be a prime ideal of the center or an integer between 1 and r1+r2, and in that case test whether al is locally ramified at the place pl instead.algissemisimplealgissemisimple(al): test whether the algebra al is semisimple.algissimpleiGD0,L,algissimple(al, {ss = 0}): test whether the algebra al is simple.algissplitalgissplit(al,{pl}): test whether the central simple algebra al is split, i.e. isomorphic to a matrix ring over its center. If pl is set, it should be a prime ideal of the center or an integer between 1 and r1+r2, and in that case test whether al is locally split at the place pl instead.alglathnf(al,m): the lattice generated by the columns of m.algleftmultablealgmultable(al,x): left multiplication table of x.algmul(al,x,y): element x*y in al.algmultablealgmultable(al): multiplication table of al over its prime subfield.algnegalgneg(al,x): element -x in al.algnormalgnorm(al,x): (reduced) norm of x.algpoleval(al,T,b): T in K[X] evaluate T(b) in al.algpowalgpow(al,x,n): element x^n in al.algprimesubalg(al): prime subalgebra of the positive characteristic, semisimple algebra al.algquotientalgquotient(al,I,{flag=0}): quotient of the algebra al by the two-sided ideal I.algradicalalgradical(al): Jacobson radical of the algebra al.algramifiedplacesalgramifiedplaces(al): vector of the places of the center of al that ramify in al. Each place is described as an integer between 1 and r1 or as a prime ideal.algrandom(al,b): random element in al with coefficients in [-b,b].algrelmultablealgrelmultable(al): multiplication table of the central simple algebra al over its center.algsimpledecalgsimpledec(al,{flag=0}): decomposition into simple algebras of the semisimple algebra al.algsplittingdataalgsplittingdata(al): data stored in the central simple algebra al to compute a splitting of al over an extension.algsplittingfieldalgsplittingfield(al): the stored splitting field of the central simple algebra al.algsplittingmatrix(al,x): image of x under a splitting of al.algsqralgsqr(al,x): element x^2 in al.algsubalgsub(al,x,y): element x-y in al.algsubalg(al,B): subalgebra of al with basis B.GDGalgtableinit(mt, {p}): initialize the associative algebra over Q (resp. Fp) defined by the multiplication table mt.algtensorGGD1,L,algtensor(al1,al2,{maxord=1}): tensor product of al1 and al2.algtracealgtrace(al,x): (reduced) trace of x.algtypealgtype(al): type of the algebra al.aliasvrralias(newsym,sym): defines the symbol newsym as an alias for the symbol sym.vDGallocatemem({s=0}): allocates a new stack of s bytes. doubles the stack if s is omitted.applyapply(f, A): apply function f to each entry in A.arg(x): argument of x, such that -pi= x.centerlift(x,{v}): centered lift of x. Same as lift except for intmod and padic components.characteristic(x): characteristic of the base ring over which x is definedcharconjcharconj(cyc,chi): given a finite abelian group (by its elementary divisors cyc) and a character chi, return the conjugate character.charkercharker(cyc,chi): given a finite abelian group (by its elementary divisors cyc) and a character chi, return its kernel.charordercharorder(cyc,chi): given a finite abelian group (by its elementary divisors cyc) and a character chi, return the order of chi.GDnD5,L,charpoly(A,{v='x},{flag=5}): det(v*Id-A)=characteristic polynomial of the matrix or polmod A. flag is optional and ignored unless A is a matrix; it may be set to 0 (Le Verrier), 1 (Lagrange interpolation), 2 (Hessenberg form), 3 (Berkowitz), 4 (modular) if A is integral, or 5 (default, choose best method). Algorithms 0 (Le Verrier) and 1 (Lagrange) assume that n! is invertible, where n is the dimension of the matrix.chinese(x,{y}): x,y being both intmods (or polmods) computes z in the same residue classes as x and y.cmpcmp(x,y): compare two arbitrary objects x and y (1 if x>y, 0 if x=y, -1 if x=0} M[n+1]z^n, transform it into a continued fraction suitable for evaluation.contfracpnqn(x, {n=-1}): [p_n,p_{n-1}; q_n,q_{n-1}] corresponding to the continued fraction x. If n >= 0 is present, returns all convergents from p_0/q_0 up to p_n/q_n.core(n,{flag=0}): unique squarefree integer d dividing n such that n/d is a square. If (optional) flag is non-null, output the two-component row vector [d,f], where d is the unique squarefree integer dividing n such that n/d=f^2 is a square.coredisc(n,{flag=0}): discriminant of the quadratic field Q(sqrt(n)). If (optional) flag is non-null, output a two-component row vector [d,f], where d is the discriminant of the quadratic field Q(sqrt(n)) and n=df^2. f may be a half integer.cos(x): cosine of x.cosh(x): hyperbolic cosine of x.cotancotan(x): cotangent of x.cotanhcotanh(x): hyperbolic cotangent of x.dbg_xvGD-1,L,dbg_x(A{,n}): print inner structure of A, complete if n is omitted, up to level n otherwise. Intended for debugging.DrDsdefault({key},{val}): returns the current value of the default key. If val is present, set opt to val first. If no argument is given, print a list of all defaults as well as their values.denominator(x): denominator of x (or lowest common denominator in case of an array).deriv(x,{v}): derivative of x with respect to v, or to the main variable of x if v is omitted.derivnumV=GEpderivnum(X=a,expr): numerical derivation of expr with respect to X at X = a.diffopGGGD1,L,diffop(x,v,d,{n=1}): apply the differential operator D to x, where D is defined by D(v[i])=d[i], where v is a vector of variable names. D is 0 for variables outside of v unless they appear as modulus of a POLMOD. If the optional parameter n is given, return D^n(x) instead.digitsdigits(x,{b=10}): gives the vector formed by the digits of x in base b (x and b integers).dilog(x): dilogarithm of x.dirdiv(x,y): division of the Dirichlet series x by the Dirichlet series y.V=GGEDGdireuler(p=a,b,expr,{c}): Dirichlet Euler product of expression expr from p=a to p=b, limited to b terms. Expr should be a polynomial or rational function in p and X, and X is understood to mean p^(-s). If c is present, output only the first c terms.dirmul(x,y): multiplication of the Dirichlet series x by the Dirichlet series y.dirzetak(nf,b): Dirichlet series of the Dedekind zeta function of the number field nf up to the bound b-1.divisors(x): gives a vector formed by the divisors of x in increasing order.divrem(x,y,{v}): euclidean division of x by y giving as a 2-dimensional column vector the quotient and the remainder, with respect to v (to main variable if v is omitted)eint1(x,{n}): exponential integral E1(x). If n is present and x > 0, computes the vector of the first n values of the exponential integral E1(n.x)ellL1GD0,L,bellL1(e, {r = 0}): returns the value at s=1 of the derivative of order r of the L-function of the elliptic curve e.elladd(E,z1,z2): sum of the points z1 and z2 on elliptic curve E.ellak(E,n): computes the n-th Fourier coefficient of the L-function of the elliptic curve E (assumed E is an integral model).ellan(E,n): computes the first n Fourier coefficients of the L-function of the elliptic curve E (n<2^24 on a 32-bit machine).ellanalyticrankGDGbellanalyticrank(e, {eps}): returns the order of vanishing at s=1 of the L-function of the elliptic curve e and the value of the first non-zero derivative. To determine this order, it is assumed that any value less than eps is zero. If no value of eps is given, a value of half the current precision is used.ellap(E,{p}): computes the trace of Frobenius a_p for the elliptic curve E, defined over Q or a finite field.GGGpellbil(E,z1,z2): deprecated alias for ellheight(E,P,Q).ellcardellcard(E,{p}): computes the order of the group E(Fq) for the elliptic curve E, defined over Q (for q=p) or a finite field.ellchangecurve(E,v): change data on elliptic curve according to v=[u,r,s,t].ellchangepoint(x,v): change data on point or vector of points x on an elliptic curve according to v=[u,r,s,t].ellchangepointinvellchangepointinv(x,v): change data on point or vector of points x on an elliptic curve according to v=[u,r,s,t], inverse of ellchangepoint.ellconvertname(name): convert an elliptic curve name (as found in the elldata database) from a string to a triplet [conductor, isogeny class, index]. It will also convert a triplet back to a curve name.elldivpolGLDnelldivpol(E,n,{v='x}): n-division polynomial f_n for the curve E in the variable v.elleisnumGLD0,L,pelleisnum(w,k,{flag=0}): k being an even positive integer, computes the numerical value of the Eisenstein series of weight k at the lattice w, as given by ellperiods. When flag is non-zero and k=4 or 6, this gives the elliptic invariants g2 or g3 with the correct normalization.elletaelleta(w): w=[w1,w2], returns the vector [eta1,eta2] of quasi-periods associated to [w1,w2].ellformaldifferentialGDPDnellformaldifferential(E, {n=seriesprecision}, {t = 'x}) : E elliptic curve, n integer. Returns n terms of the power series [f, g] such that omega = dx/(2y+a_1x+a_3) = f(t) dt and eta = x(t) * omega = g(t) dt in the local parameter t=-x/y.ellformalexpellformalexp(E, {n = seriesprecision}, {z = 'x}) : E elliptic curve, returns n terms of the formal elliptic exponential on E as a series in zellformallogellformallog(E, {n = seriesprecision}, {v = 't}): E elliptic curve, returns n terms of the elliptic logarithm as a series of t =-x/y.ellformalpointellformalpoint(E, {n = seriesprecision}, {v = 'x}): E elliptic curve, n integer; return the coordinates [x(t), y(t)] on the elliptic curve as a formal expansion in the formal parameter t = -x/y.ellformalwellformalw(E, {n = seriesprecision}, {t = 'x}): E elliptic curve, n integer; returns n terms of the formal expansion of w = -1/y in the formal parameter t = -x/y.ellfromeqn(P): Given a genus 1 plane curve, defined by the affine equation f(x,y) = 0, return the coefficients [a1,a2,a3,a4,a6] of a Weierstrass equation for its Jacobian. This allows to recover a Weierstrass model for an elliptic curve given by a general plane cubic or by a binary quartic or biquadratic model.ellfromjellfromj(j): returns the coefficients [a1,a2,a3,a4,a6] of a fixed elliptic curve with j-invariant j.ellgeneratorsellgenerators(E): If E is an elliptic curve over the rationals, return the generators of the Mordell-Weil group associated to the curve. This relies on the curve being referenced in the elldata database. If E is an elliptic curve over a finite field Fq as output by ellinit(), return a minimal set of generators for the group E(Fq).ellglobalred(E): E being an elliptic curve, returns [N,[u,r,s,t],c, faN,L], where N is the conductor of E, [u,r,s,t] leads to the standard model for E, c is the product of the local Tamagawa numbers c_p, faN is factor(N) and L[i] is elllocalred(E, faN[i,1]), where the local coordinate change has been deleted and replaced by a 0.ellgroupellgroup(E,{p},{flag}): computes the structure of the group E(Fp) If flag is 1, return also generators.ellheegnerellheegner(E): return a rational non-torsion point on the elliptic curve E assumed to be of rank 1GGDGpellheight(E,P,{Q}): canonical height of point P on elliptic curve E, resp. the value of the associated bilinear form at (P,Q).ellheightmatrix(E,x): gives the height matrix for vector of points x on elliptic curve E.ellidentifyellidentify(E): look up the elliptic curve E in the elldata database and return [[N, M, ...], C] where N is the name of the curve in Cremona's database, M the minimal model and C the coordinates change (see ellchangecurve).ellinit(x,{D=1}): let x be a vector [a1,a2,a3,a4,a6], or [a4,a6] if a1=a2=a3=0, defining the curve Y^2 + a1.XY + a3.Y = X^3 + a2.X^2 + a4.X + a6; x can also be a string, in which case the curve with matching name is retrieved from the elldata database, if available. This function initializes an elliptic curve over the domain D (inferred from coefficients if omitted).ellisdivisiblelGGGD&ellisdivisible(E,P,n,{&Q})): given E/K and P in E(K), checks whether P = [n]R for some R in E(K) and sets Q to one such R if so; the integer n >= 0 may be given as ellxn(E,n)ellisogenyGGD0,L,DnDnellisogeny(E, G, {only_image = 0}, {x = 'x}, {y = 'y}): compute the image and isogeny corresponding to the quotient of E by the subgroup G.ellisogenyapplyellisogenyapply(f, g): Given an isogeny f and g either a point P (in the domain of f) or an isogeny, apply f to g: return the image of P under f or the composite isogeny f o g.ellisomatellisomat(E, {fl=0}): E being an elliptic curve over Q, return a list of representatives of the isomorphism classes of elliptic curves isogenous to E, with the corresponding isogenies from E and their dual, and the matrix of the degrees of the isogenies between the curves. If the flag fl is 1, the isogenies are not computed, which speeds up the computation.ellisoncurve(E,z): true(1) if z is on elliptic curve E, false(0) if not.ellissupersingularellissupersingular(E,{p}): return whether the elliptic curve E, defined over Q or a finite field, is supersingular at p or not.ellj(x): elliptic j invariant of x.elllocalred(E,p): E being an elliptic curve, returns [f,kod,[u,r,s,t],c], where f is the conductor's exponent, kod is the Kodaira type for E at p, [u,r,s,t] is the change of variable needed to make E minimal at p, and c is the local Tamagawa number c_p.elllogGGGDGelllog(E,P,G,{o}): return the discrete logarithm of the point P of the elliptic curve E in base G. If present, o represents the order of G. If not present, assume that G generates the curve.elllseries(E,s,{A=1}): L-series at s of the elliptic curve E, where A a cut-off point close to 1.ellminimalmodelGD&ellminimalmodel(E,{&v}): return the standard minimal integral model of the rational elliptic curve E. Sets v to the corresponding change of variables.ellminimaltwistellminimaltwist(E, {flag=0}): E being an elliptic curve defined over Q, return a discriminant D such the twist of E by D is minimal among all possible quadratic twists, i.e. if flag=0, its minimal model has minimal discriminant, or if flag=1, it has minimal conductor.ellmoddegreeGbellmoddegree(e): e being an elliptic curve defined over Q output by ellinit, compute the modular degree of e divided by the square of the Manin constant. Return [D, err], where D is a rational number and err is the exponent of the truncation error.ellmodulareqnLDnDnellmodulareqn(N,{x},{y}): return a vector [eqn, t] where eqn is a modular equation of level N, for N<500, N prime. This requires the package seadata to be installed. The equation is either of canonical type (t=0) or of Atkin type (t=1)ellmul(E,z,n): n times the point z on elliptic curve E (n in Z).ellnegellneg(E,z): opposite of the point z on elliptic curve E.ellnonsingularmultipleellnonsingularmultiple(E,P):ellorder(E,z,{o}): order of the point z on the elliptic curve E over a number field or a finite field, 0 if non-torsion. The parameter o, if present, represents a non-zero multiple of the order of z.ellordinate(E,x): y-coordinates corresponding to x-ordinate x on elliptic curve E.ellpadicLGGLD0,L,DGDGellpadicL(E, p, n, {r = 0}, {D}, {char}): returns the value on a character of the derivative of order r of the L-function of the elliptic curve E (twisted by D > 0, if present). For the moment, only the case of the trivial character is implementedellpadicfrobeniusGLLellpadicfrobenius(E,p,n): matrix of the Frobenius at p>2 in the standard basis of H^1_dR(E) to absolute p-adic precision p^n.ellpadicheightGGLGDGellpadicheight(E, p,n, P,{Q}): E elliptic curve/Q, P in E(Q), p prime, n an integer; returns the cyclotomic p-adic heights of P. Resp. the value of the associated bilinear form at (P,Q).ellpadicheightmatrixGGLGellpadicheightmatrix(E,p,n,v): gives the height-pairing matrix for vector of points v on elliptic curve E.ellpadiclogellpadiclog(E,p,n,P): returns the logarithm of P (in the kernel of reduction) to absolute p-adic precision p^n.ellpadics2GGLellpadics2(E,p,n): returns s2 to absolute p-adic precision p^nellperiodsGD0,L,pellperiods(w, {flag = 0}): w describes a complex period lattice ([w1,w2] or an ellinit structure). Returns normalized periods [W1,W2] generating the same lattice such that tau := W1/W2 satisfies Im(tau) > 0 and lies in the standard fundamental domain for SL2. If flag is 1, the return value is [[W1,W2], [eta1,eta2]], where eta1, eta2 are the quasi-periods associated to [W1,W2], satisfying eta1 W2 - eta2 W1 = 2 I Pi.ellpointtoz(E,P): lattice point z corresponding to the point P on the elliptic curve E.ellpowellpow(E,z,n): deprecated alias for ellmul.ellrootnoellrootno(E,{p}): root number for the L-function of the elliptic curve E/Q at a prime p (including 0, for the infinite place); global root number if p is omitted.ellsearch(N): returns all curves in the elldata database matching constraint N: given name (N = "11a1" or [11,0,1]), given isogeny class (N = "11a" or [11,0]), or given conductor (N = 11, "11", or [11]).ellsigmaellsigma(L,{z='x},{flag=0}): computes the value at z of the Weierstrass sigma function attached to the lattice w, as given by ellperiods(,1). If flag = 1, returns an arbitrary determination of the logarithm of sigma.ellsub(E,z1,z2): difference of the points z1 and z2 on elliptic curve E.GDPelltaniyama(E, {d = seriesprecision}): modular parametrization of elliptic curve E/Q.elltatepairingGGGGelltatepairing(E, P, Q, m): Computes the Tate pairing of the two points P and Q on the elliptic curve E. The point P must be of m-torsion.elltors(E): torsion subgroup of elliptic curve E: order, structure, generators.elltwistelltwist(E,{P}): returns the coefficients [a1,a2,a3,a4,a6] of the twist of the elliptic curve E by the quadratic extension defined by P (when P is a polynomial of degree 2) or quadpoly(P) (when P is an integer). If E is defined over a finite field, then P can be omitted.ellweilpairingellweilpairing(E, P, Q, m): Computes the Weil pairing of the two points of m-torsion P and Q on the elliptic curve E.ellwp(w,{z='x},{flag=0}): computes the value at z of the Weierstrass P function attached to the lattice w, as given by ellperiods. Optional flag means 0 (default), compute only P(z), 1 compute [P(z),P'(z)].ellxnellxn(E,n,{v='x}): polynomials [phi_n, (psi_n)^2] in variable v, where x([n]P) = phi_n/(psi_n)^2ellzetaellzeta(w,{z='x}): computes the value at z of the Weierstrass Zeta function attached to the lattice w, as given by ellperiods(,1).ellztopoint(E,z): coordinates of point P on the curve E corresponding to the complex number z.erfc(x): complementary error function.errname(E): returns the type of the error message E.vs*error({str}*): abort script with error message str.eta(z,{flag=0}): if flag=0, returns prod(n=1,oo, 1-q^n), where q = exp(2 i Pi z) if z is a complex scalar (belonging to the upper half plane); q = z if z is a p-adic number or can be converted to a power series. If flag is non-zero, the function only applies to complex scalars and returns the true eta function, with the factor q^(1/24) included.eulerphi(x): Euler's totient function of x.GCeval(x): evaluation of x, replacing variables by their value.exp(x): exponential of x.expm1expm1(x): exp(x)-1.externextern(str): execute shell command str, and feeds the result to GP (as if loading from file).externstrexternstr(str): execute shell command str, and returns the result as a vector of GP strings, one component per output line.factor(x,{lim}): factorization of x. lim is optional and can be set whenever x is of (possibly recursive) rational type. If lim is set return partial factorization, using primes < lim.factorback(f,{e}): given a factorisation f, gives the factored object back. If this is a prime ideal factorisation you must supply the corresponding number field as last argument. If e is present, f has to be a vector of the same length, and we return the product of the f[i]^e[i].factorcantor(x,p): factorization mod p of the polynomial x using Cantor-Zassenhaus.factorff(x,{p},{a}): factorization of the polynomial x in the finite field F_p[X]/a(X)F_p[X].factorial(x): factorial of x, the result being given as a real number.factorintfactorint(x,{flag=0}): factor the integer x. flag is optional, whose binary digits mean 1: avoid MPQS, 2: avoid first-stage ECM (may fall back on it later), 4: avoid Pollard-Brent Rho and Shanks SQUFOF, 8: skip final ECM (huge composites will be declared prime).factormod(x,p,{flag=0}): factors the polynomial x modulo the prime p, using Berlekamp. flag is optional, and can be 0: default or 1: only the degrees of the irreducible factors are given.factornf(x,t): factorization of the polynomial x over the number field defined by the polynomial t.factorpadic(pol,p,r): p-adic factorization of the polynomial pol to precision r.ffgenffgen(q,{v}): return a generator X mod P(X) for the finite field with q elements. If v is given, the variable name is used to display g, else the variable 'x' is used. Alternative syntax, q = P(X) an irreducible polynomial with t_INTMOD coefficients, return the generator X mod P(X) of the finite field defined by P. If v is given, the variable name is used to display g, else the variable of the polynomial P is used.ffinit(p,n,{v='x}): monic irreducible polynomial of degree n over F_p[v].fflogfflog(x,g,{o}): return the discrete logarithm of the finite field element x in base g. If present, o must represents the multiplicative order of g. If no o is given, assume that g is a primitive root.ffnbirredffnbirred(q,n{,fl=0}): number of monic irreducible polynomials over F_q, of degree n (fl=0, default) or at most n (fl=1).fforderfforder(x,{o}): multiplicative order of the finite field element x. Optional o represents a multiple of the order of the element.ffprimrootffprimroot(x, {&o}): return a primitive root of the multiplicative group of the definition field of the finite field element x (not necessarily the same as the field generated by x). If present, o is set to [ord, fa], where ord is the order of the group, and fa its factorization (useful in fflog and fforder).fibonacci(x): fibonacci number of index x (x C-integer).floor(x): floor of x = largest integer <= x.foldfold(f, A): return f(...f(f(A[1],A[2]),A[3]),...,A[#A])vV=GGIfor(X=a,b,seq): the sequence is evaluated, X going from a up to b.vV=GDGIforcomposite(n=a,{b},seq): the sequence is evaluated, n running over the composite numbers between a and b. Omitting b runs through composites >= avGVIfordiv(n,X,seq): the sequence is evaluated, X running over the divisors of n.forellvVLLID0,L,forell(E,a,b,seq,{flag=0}): execute seq for each elliptic curves E of conductor between a and b in the elldata database. If flag is non-zero, select only the first curve in each isogeny classvV=GIDGDGforpart(X=k,seq,{a=k},{n=k}): evaluate seq where the Vecsmall X goes over the partitions of k. Optional parameter n (n=nmax or n=[nmin,nmax]) restricts the length of the partition. Optional parameter a (a=amax or a=[amin,amax]) restricts the range of the parts. Zeros are removed unless one sets amin=0 to get X of fixed length nmax (=k by default).forprime(p=a,{b},seq): the sequence is evaluated, p running over the primes between a and b. Omitting b runs through primes >= aforqfvecvVGDGIforqfvec(v,q,b,expr): q being a square and symmetric integral matrix representing an positive definite quadratic form, evaluate expr for all vectors v such that q(v)<=b.vV=GGGIforstep(X=a,b,s,seq): the sequence is evaluated, X going from a to b in steps of s (can be a vector of steps).forsubgroupforsubgroup(H=G,{bound},seq): execute seq for each subgroup H of the abelian group G, whose index is bounded by bound if not omitted. H is given as a left divisor of G in HNF form.vV=GID0,L,forvec(X=v,seq,{flag=0}): v being a vector of two-component vectors of length n, the sequence is evaluated with X[i] going from v[i][1] to v[i][2] for i=n,..,1 if flag is zero or omitted. If flag = 1 (resp. flag = 2), restrict to increasing (resp. strictly increasing) sequences.frac(x): fractional part of x = x-floor(x).fromdigitsfromdigits(x,{b=10}): gives the integer formed by the elements of x seen as the digits of a number in base b.galoisexportgaloisexport(gal,{flag}): gal being a Galois group as output by galoisinit, output a string representing the underlying permutation group in GAP notation (default) or Magma notation (flag = 1).galoisfixedfieldGGD0,L,Dngaloisfixedfield(gal,perm,{flag},{v=y}): gal being a Galois group as output by galoisinit and perm a subgroup, an element of gal.group or a vector of such elements, return [P,x] such that P is a polynomial defining the fixed field of gal[1] by the subgroup generated by perm, and x is a root of P in gal expressed as a polmod in gal.pol. If flag is 1 return only P. If flag is 2 return [P,x,F] where F is the factorization of gal.pol over the field defined by P, where the variable v stands for a root of P.LD0,L,D1,L,galoisgetpol(a,{b},{s}): Query the galpol package for a polynomial with Galois group isomorphic to GAP4(a,b), totally real if s=1 (default) and totally complex if s=2. The output is a vector [pol, den] where pol is the polynomial and den is the common denominator of the conjugates expressed as a polynomial in a root of pol. If b and s are omitted, return the number of isomorphism classes of groups of order a.galoisidentifygaloisidentify(gal): gal being a Galois group as output by galoisinit, output the isomorphism class of the underlying abstract group as a two-components vector [o,i], where o is the group order, and i is the group index in the GAP4 small group library.galoisinitgaloisinit(pol,{den}): pol being a polynomial or a number field as output by nfinit defining a Galois extension of Q, compute the Galois group and all necessary information for computing fixed fields. den is optional and has the same meaning as in nfgaloisconj(,4)(see manual).galoisisabeliangaloisisabelian(gal,{flag=0}): gal being as output by galoisinit, return 0 if gal is not abelian, the HNF matrix of gal over gal.gen if flag=0, 1 if flag is 1, and the SNF of gal is flag=2.galoisisnormallGGgaloisisnormal(gal,subgrp): gal being as output by galoisinit, and subgrp a subgroup of gal as output by galoissubgroups, return 1 if subgrp is a normal subgroup of gal, else return 0.galoispermtopolgaloispermtopol(gal,perm): gal being a Galois group as output by galoisinit and perm a element of gal.group, return the polynomial defining the corresponding Galois automorphism.galoissubcycloGDGD0,L,Dngaloissubcyclo(N,H,{fl=0},{v}):Compute a polynomial (in variable v) defining the subfield of Q(zeta_n) fixed by the subgroup H of (Z/nZ)*. N can be an integer n, znstar(n) or bnrinit(bnfinit(y),[n,[1]],1). H can be given by a generator, a set of generator given by a vector or a HNF matrix (see manual). If flag is 1, output only the conductor of the abelian extension. If flag is 2 output [pol,f] where pol is the polynomial and f the conductor.galoissubfieldsGD0,L,Dngaloissubfields(G,{flags=0},{v}):Output all the subfields of G. flags have the same meaning as for galoisfixedfield.galoissubgroupsgaloissubgroups(G):Output all the subgroups of G.gamma(s): gamma function at s, a complex or p-adic number, or a series.gammah(x): gamma of x+1/2 (x integer).gammamellininvGGD0,L,bgammamellininv(G,t,{m=0}): returns G(t), where G is as output by gammamellininvinit. The alternative syntax gammamellininv(A,t,m) is also available.gammamellininvasympGDPD0,L,gammamellininvasymp(A,n,{m=0}): return the first n terms of the asymptotic expansion at infinity of the m-th derivative K^m(t) of the inverse Mellin transform of the function f(s)=Gamma_R(s+a_1)*...*Gamma_R(s+a_d), where Vga is the vector [a_1,...,a_d] and Gamma_R(s)=Pi^(-s/2)*gamma(s/2). The result is a vector [M[1]...M[n]] with M[1]=1, such that K^m(t) = \sqrt{2^{d+1}/d}t^{a+m(2/d-1)}e^{-d pi t^{2/d}}\sum_{n\ge0}M[n+1] (pi t^{2n/d})^{-n}, with a = (1-d+sum_ja_j)/d.gammamellininvinitgammamellininvinit(A,{m=0}): initialize data for the computation by gammamellininv() of the m-th derivative of the inverse Mellin transform of the function f(s) = Gamma_R(s+a1)*...*Gamma_R(s+ad), where A is the vector [a1,...,ad] and Gamma_R(s) = Pi^(-s/2)*gamma(s/2).gcd(x,{y}): greatest common divisor of x and y.gcdext(x,y): returns [u,v,d] such that d=gcd(x,y) and u*x+v*y=d.genus2red(P,{p}): let P be a polynomial with integer coefficients. Determines the reduction at p > 2 of the (proper, smooth) hyperelliptic curve C/Q: y^2 = P, of genus 2. (The special fiber X_p of the minimal regular model X of C over Z.)getabstimelgetabstime(): time (in milliseconds) since startup.getenvgetenv(s): value of the environment variable s, 0 if it is not defined.getheap(): 2-component vector giving the current number of objects in the heap and the space they occupy (in long words).getrand(): current value of random number seed.getstack(): current value of stack pointer avma.gettime(): time (in milliseconds) since last call to gettime.getwalltimegetwalltime(): time (in milliseconds) since the UNIX Epoch.globalglobal(list of variables): obsolete. Scheduled for deletion.hammingweighthammingweight(x): returns the Hamming weight of x.lGGDGhilbert(x,y,{p}): Hilbert symbol at p of x,y.hyperellcharpolyhyperellcharpoly(X): X being a non-singular hyperelliptic curve defined over a finite field, return the characteristic polynomial of the Frobenius automorphism. X can be given either by a squarefree polynomial P such that X:y^2=P(x) or by a vector [P,Q] such that X:y^2+Q(x)*y=P(x) and Q^2+4P is squarefree.hyperellpadicfrobeniusGULhyperellpadicfrobenius(Q,p,n): Q being a rational polynomial of degree d, return the matrix of the Frobenius at p>=d in the standard basis of H^1_dR(E) to absolute p-adic precision p^n.hyperu(a,b,x): U-confluent hypergeometric function.idealadd(nf,x,y): sum of two ideals x and y in the number field defined by nf.idealaddtoone(nf,x,{y}): if y is omitted, when the sum of the ideals in the number field K defined by nf and given in the vector x is equal to Z_K, gives a vector of elements of the corresponding ideals who sum to 1. Otherwise, x and y are ideals, and if they sum up to 1, find one element in each of them such that the sum is 1.idealappr(nf,x,{flag=0}): x being a fractional ideal, gives an element b such that v_p(b)=v_p(x) for all prime ideals p dividing x, and v_p(b)>=0 for all other p. If (optional) flag is non-null x must be a prime ideal factorization with possibly zero exponents.idealchinese(nf,x,{y}): x being a prime ideal factorization and y a vector of elements, gives an element b such that v_p(b-y_p)>=v_p(x) for all prime ideals p dividing x, and v_p(b)>=0 for all other p. If y is omitted, return a data structure which can be used in place of x in later calls.idealcoprime(nf,x,y): gives an element b in nf such that b. x is an integral ideal coprime to the integral ideal y.GGGD0,L,idealdiv(nf,x,y,{flag=0}): quotient x/y of two ideals x and y in HNF in the number field nf. If (optional) flag is non-null, the quotient is supposed to be an integral ideal (slightly faster).idealfactor(nf,x): factorization of the ideal x given in HNF into prime ideals in the number field nf.idealfactorbackGGDGD0,L,idealfactorback(nf,f,{e},{flag = 0}): given a factorisation f, gives the ideal product back. If e is present, f has to be a vector of the same length, and we return the product of the f[i]^e[i]. If flag is non-zero, perform idealred along the way.idealfrobeniusidealfrobenius(nf,gal,pr): Returns the Frobenius element (pr|nf/Q) associated with the unramified prime ideal pr in prid format, in the Galois group gal of the number field nf.idealhnf(nf,u,{v}): hermite normal form of the ideal u in the number field nf if v is omitted. If called as idealhnf(nf,u,v), the ideal is given as uZ_K + vZ_K in the number field K defined by nf.idealintersect(nf,A,B): intersection of two ideals A and B in the number field defined by nf.idealinv(nf,x): inverse of the ideal x in the number field nf.GLD4,L,ideallist(nf,bound,{flag=4}): vector of vectors L of all idealstar of all ideals of norm<=bound. If (optional) flag is present, its binary digits are toggles meaning 1: give generators; 2: add units; 4: give only the ideals and not the bid.ideallistarch(nf,list,arch): list is a vector of vectors of of bid's as output by ideallist. Return a vector of vectors with the same number of components as the original list. The leaves give information about moduli whose finite part is as in original list, in the same order, and Archimedean part is now arch. The information contained is of the same kind as was present in the input.DGGGideallog({nf},x,bid): if bid is a big ideal, as given by idealstar(nf,D,...), gives the vector of exponents on the generators bid.gen (even if these generators have not been explicitly computed).idealmin(nf,ix,{vdir}): pseudo-minimum of the ideal ix in the direction vdir in the number field nf.idealmul(nf,x,y,{flag=0}): product of the two ideals x and y in the number field nf. If (optional) flag is non-nul, reduce the result.idealnorm(nf,x): norm of the ideal x in the number field nf.idealnumdenidealnumden(nf,x): returns [A,B], where A,B are coprime integer ideals such that x = A/Bidealpow(nf,x,k,{flag=0}): k-th power of the ideal x in HNF in the number field nf. If (optional) flag is non-null, reduce the result.idealprimedec(nf,p,{f=0}): prime ideal decomposition of the prime number p in the number field nf as a vector of 5 component vectors [p,a,e,f,b] representing the prime ideals pZ_K+a. Z_K, e,f as usual, a as vector of components on the integral basis, b Lenstra's constant. If f is present and non-zero, restrict the result to primes of residue degree <= f.idealprincipalunitsidealprincipalunits(nf,pr,k): returns the structure [no, cyc, gen] of the multiplicative group (1 + pr) / (1 + pr^k)^*.idealramgroupsidealramgroups(nf,gal,pr): let pr be a prime ideal in prid format, and gal the Galois group of the number field nf, return a vector g such that g[1] is the decomposition group of pr, g[2] is the inertia group, g[i] is the (i-2)th ramification group of pr, all trivial subgroups being omitted.idealred(nf,I,{v=0}): LLL reduction of the ideal I in the number field nf along direction v, in HNF.DGGD1,L,idealstar({nf},N,{flag=1}): gives the structure of (Z_K/N)^*, where N is a modulus (an ideal in any form or a vector [f0, foo], where f0 is an ideal and foo is a {0,1}-vector with r1 components. flag is optional, and can be 0: simply gives the structure as an abelian group, i.e. a 3-component vector [h,d,g] where h is the order, d the orders of the cyclic factors and g the generators; if flag=1 (default), gives a bid structure used in ideallog to compute discrete logarithms; underlying generators are well-defined but not explicitly computed, which saves time; if flag=2, same as with flag=1 except that the generators are also given. If nf is omitted, N must be an integer and we return the structure of (Z/NZ)^*.idealtwoelt(nf,x,{a}): two-element representation of an ideal x in the number field nf. If (optional) a is non-zero, first element will be equal to a.idealval(nf,x,pr): valuation at pr given in idealprimedec format of the ideal x in the number field nf.GDEDEif(a,{seq1},{seq2}): if a is nonzero, seq1 is evaluated, otherwise seq2. seq1 and seq2 are optional, and if seq2 is omitted, the preceding comma can be omitted also.iferrEVEDEiferr(seq1,E,seq2{,pred}): evaluates the expression sequence seq1. If an error occurs, set the formal parameter E set to the error data. If pred is not present or evaluates to true, catch the error and evaluate seq2. Both pred and seq2 can reference E.imag(x): imaginary part of x.incgam(s,x,{g}): incomplete gamma function. g is optional and is the precomputed value of gamma(s).incgamcincgamc(s,x): complementary incomplete gamma function.inlineinline(x,...,z): declares x,...,z as inline variables [EXPERIMENTAL]input(): read an expression from the input file or standard input.installvrrD"",r,D"",s,install(name,code,{gpname},{lib}): load from dynamic library 'lib' the function 'name'. Assign to it the name 'gpname' in this GP session, with prototype 'code'. If 'lib' is omitted, all symbols known to gp (includes the whole 'libpari.so' and possibly others) are available. If 'gpname' is omitted, use 'name'.intcircV=GGEDGpintcirc(X=a,R,expr,{tab}): numerical integration of expr on the circle |z-a|=R, divided by 2*I*Pi. tab is as in intnum.intformal(x,{v}): formal integration of x with respect to v, or to the main variable of x if v is omitted.V=GGED0,L,pintfuncinit(t=a,b,f,{m=0}): initialize tables for integrations from a to b using a weight f(t). For integral transforms such as Fourier or Mellin transforms.intnum(X=a,b,expr,{tab}): numerical integration of expr from a to b with respect to X. Plus/minus infinity is coded as +oo/-oo. Finally tab is either omitted (let the program choose the integration step), a positive integer m (choose integration step 1/2^m), or data precomputed with intnuminit.intnumgauss(X=a,b,expr,{tab}): numerical integration of expr from a to b, a compact interval, with respect to X using Gauss-Legendre quadrature. tab is either omitted (and will be recomputed) or precomputed with intnumgaussinit.intnumgaussinitD0,L,pintnumgaussinit({n}): initialize tables for n-point Gauss-Legendre integration on a compact interval.intnuminit(a,b,{m=0}): initialize tables for integrations from a to b. See help for intnum for coding of a and b. Possible types: compact interval, semi-compact (one extremity at + or - infinity) or R, and very slowly, slowly or exponentially decreasing, or sine or cosine oscillating at infinities.V=GGED0,L,bintnumromb(X=a,b,expr,{flag=0}): numerical integration of expr (smooth in ]a,b[) from a to b with respect to X. flag is optional and mean 0: default. expr can be evaluated exactly on [a,b]; 1: general function; 2: a or b can be plus or minus infinity (chosen suitably), but of same sign; 3: expr has only limits at a or b.isfundamental(x): true(1) if x is a fundamental discriminant (including 1), false(0) if not.ispolygonallGGD&ispolygonal(x,s,{&N}): true(1) if x is an s-gonal number, false(0) if not (s > 2). If N is given set it to n if x is the n-th s-gonal number.ispowerlGDGD&ispower(x,{k},{&n}): if k > 0 is given, return true (1) if x is a k-th power, false (0) if not. If k is omitted, return the maximal k >= 2 such that x = n^k is a perfect power, or 0 if no such k exist. If n is present, and the function returns a non-zero result, set n to the k-th root of x.ispowerfulispowerful(x): true(1) if x is a powerful integer (valuation at all primes dividing x is greater than 1), false(0) if not.isprime(x,{flag=0}): true(1) if x is a (proven) prime number, false(0) if not. If flag is 0 or omitted, use a combination of algorithms. If flag is 1, the primality is certified by the Pocklington-Lehmer Test. If flag is 2, the primality is certified using the APRCL test.isprimepowerlGD&isprimepower(x,{&n}): if x = p^k is a prime power (p prime, k > 0), return k, else return 0. If n is present, and the function returns a non-zero result, set n to p, the k-th root of x.ispseudoprime(x,{flag}): true(1) if x is a strong pseudoprime, false(0) if not. If flag is 0 or omitted, use BPSW test, otherwise use strong Rabin-Miller test for flag randomly chosen bases.ispseudoprimepowerispseudoprimepower(x,{&n}): if x = p^k is a pseudo-prime power (p pseudo-prime, k > 0), return k, else return 0. If n is present, and the function returns a non-zero result, set n to p, the k-th root of x.issquare(x,{&n}): true(1) if x is a square, false(0) if not. If n is given puts the exact square root there if it was computed.issquarefree(x): true(1) if x is squarefree, false(0) if not.istotientistotient(x,{&N}): true(1) if x = eulerphi(n) for some integer n, false(0) if not. If N is given, set N = n as well.kill(sym): restores the symbol sym to its ``undefined'' status and kill associated help messages.kronecker(x,y): kronecker symbol (x/y).lambertwlambertw(y): solution of the implicit equation x*exp(x)=y.lcm(x,{y}): least common multiple of x and y, i.e. x*y / gcd(x,y) up to units.length(x): number of non code words in x, number of characters for a string.lex(x,y): compare x and y lexicographically (1 if x>y, 0 if x=y, -1 if xprod(i=1,#M[,1],eta(M[i,1]*z)^M[i,2])lfunhardyGGblfunhardy(L,t): Variant of the Hardy L-function corresponding to L, used for plotting on the critical line, see ??lfunhardy for the precise definition.lfuninit(L,sdom,{der=0}): precompute data for evaluating the L-function given by 'L' (and its derivatives of order der, if set) in rectangular domain sdom = [center,w,h] centered on the real axis, |Re(s)-center| <= w, |Im(s)| <= h, where all three components of sdom are real and w,h are non-negative. The subdomain [k/2, 0, h] on the critical line can be encoded as [h] for brevity.lfunlambdalfunlambda(L,s,{D=0}): compute the completed L function Lambda(s), or if D is set, the derivative of order D at s. L is either an Lmath, an Ldata or an Linit.lfunmfpeterslfunmfpeters(L): L corresponding to a normalized eigenform but NOT to the output of lfunsymsq, returns the Petersson square of the form, computed using the symmetric square.lfunmfspeclfunmfspec(L): L corresponding to a modular form, returns [valeven,valodd,omminus,omplus], where valeven (resp., valodd) is the vector of even (resp., odd) periods, and omminus and omplus the corresponding real numbers omega^- and omega^+. For the moment, only for modular forms of even weight.lfunmullfunmul(L1,L2): creates the Ldata structure (without initialization) corresponding to the product of the Dirichlet series given by L1 and L2.lfunorderzerolGblfunorderzero(L): computes the order of the possible zero of the L-function at the center k/2 of the critical strip.lfunqflfunqf(Q): returns the Ldata structure associated to the theta function of the lattice associated to the definite positive quadratic form Q. This function assumes that the associated L function is self-dual, but not necessarily the lattice itself. In particular, if Q is two-dimensional, then L is always self-dual.lfunrootreslfunrootres(data): given the Ldata associated to an L-function (or the output of lfunthetainit), compute the root number and the residues. In the present implementation, if the polar part is not already known completely, at most a single pole is allowed. The output is a 3-component vector [r,R,w], where r is the residue of L(s) at the unique pole (0 if no pole), R is the residue of Lambda(s), and w is the root number.lfunsymsqlfunsymsq(L,{known=[]}): creates the Ldata corresponding to the symmetric square of the modular form L, including the search for the conductor and bad Euler factors. known, if present, is the vector [conductor,[list of Euler factors]], where each Euler factor is of the form [p, a_p] corresponding to the factor 1/(1 - a_pp^(-s)). The result can then be used with the usual lfunxxx functions. Warning: in the present implementation, only missing Euler factors of degree at most 1 are supported (this is sufficient in most cases, and always if N is squarefree).lfunsymsqspeclfunsymsqspec(L): Ldata corresponding either to a normalized eigenform or to the output of lfunsymsq, returns [val, om2], where val is the vector of special values of the symmetric square of the modular form on the right of the critical strip, and om2 is a period, not canonically normalized. For the moment, only for modular forms of even weight.lfunthetalfuntheta(data,t,{m=0}): compute the value of the m-th derivative at t of the theta function associated to the L-function given by data. data can be either the standard L-function data, or the output of lfunthetainit.lfunthetacostlGDGD0,L,blfunthetacost(L,{tdom},{m=0}): estimates the cost of running lfunthetainit(L,tdom,m) at current bit precision. Returns the number of coefficients an that would be computed. Subsequent evaluation of lfuntheta computes that many values of gammamellininv. If L is already an Linit, then tdom and m are ignored.lfunthetainitlfunthetainit(L,{tdom},{m=0}): precompute data for evaluating the m-th derivative of theta functions with argument in domain tdom (by default t is real >= 1).lfunzerosGGD8,L,blfunzeros(L,lim,{divz=8}): lim being either an upper limit or a real interval, computes an ordered list of zeros of L(s) on the critical line up to the given upper limit or in the given interval. Use a naive algorithm which may miss some zeros. To use a finer search mesh, set divz to some integral value larger than the default (= 8).lift(x,{v}): if v is omitted, lifts elements of Z/nZ to Z, of Qp to Q, and of K[x]/(P) to K[x]. Otherwise lift only polmods with main variable v.liftallliftall(x): lifts every element of Z/nZ to Z, of Qp to Q, and of K[x]/(P) to K[x].liftintliftint(x): lifts every element of Z/nZ to Z, of Qp to Q, and of K[x]/(P) to K[x].liftpolliftpol(x): lifts every polmod component of x to polynomialslimitnum(expr,{k = 20},{alpha=1}): numerical limit of sequence expr using Lagrange-Zagier extrapolation; k is a multiplier so that we extrapolate from expr(k*n). Assume u(n) ~ sum a_i n^(-alpha*i). flag=2, assuming that the asymptotic expansion is in powers of 1/n^2.lindep(v,{flag=0}): integral linear dependencies between components of v. flag is optional, and can be 0: default, guess a suitable accuracy, or positive: accuracy to use for the computation, in decimal digits.listcreatelistcreate(): creates an empty list.listinsertWGLlistinsert(L,x,n): insert x at index n in list L, shifting the remaining elements to the right.listkillvGlistkill(L): obsolete, retained for backward compatibility.listpopvWD0,L,listpop(list,{n}): removes n-th element from list. If n is omitted or greater than the current list length, removes last element.listputWGD0,L,listput(list,x,{n}): sets n-th element of list equal to x. If n is omitted or greater than the current list length, appends x.listsortlistsort(L,{flag=0}): sort the list L in place. If flag is non-zero, suppress all but one occurence of each element in list.lngamma(x): logarithm of the gamma function of x.locallocal(x,...,z): declare x,...,z as (dynamically scoped) local variables.localbitpreclocalbitprec(p): set the real precision to p bits in the dynamic scope.localpreclocalprec(p): set the real precision to p in the dynamic scope.log(x): natural logarithm of x.logintlogint(x,b,&z): return the largest integer e so that b^e <= x, where the parameters b > 1 and x > 0 are both integers. If the parameter z is present, set it to b^e.mapdeletevGGmapdelete(M,x): removes x from the domain of the map M.mapgetmapget(M,x): returns the image of x by the map M.mapisdefinedmapisdefined(M,x,{&z}): true (1) if x has an image by the map M, false (0) otherwise. If z is present, set it to the image of x, if it exists.mapputvWGGmapput(M,x,y): associates x to y in the map M.matadjoint(M,{flag=0}): adjoint matrix of M using Leverrier-Faddeev's algorithm. If flag is 1, compute the characteristic polynomial independently first.matalgtobasismatalgtobasis(nf,x): nfalgtobasis applied to every element of the vector or matrix x.matbasistoalgmatbasistoalg(nf,x): nfbasistoalg applied to every element of the matrix or vector x.matcompanion(x): companion matrix to polynomial x.matconcatmatconcat(v): concatenate the entries of v and return the resulting matrixmatdet(x,{flag=0}): determinant of the matrix x using an appropriate algorithm depending on the coefficients. If (optional) flag is set to 1, use classical Gaussian elimination (usually worse than the default).matdetint(B): some multiple of the determinant of the lattice generated by the columns of B (0 if not of maximal rank). Useful with mathnfmod.matdiagonal(x): creates the diagonal matrix whose diagonal entries are the entries of the vector x.mateigen(x,{flag=0}): complex eigenvectors of the matrix x given as columns of a matrix H. If flag=1, return [L,H], where L contains the eigenvalues and H the corresponding eigenvectors.matfrobeniusmatfrobenius(M,{flag},{v='x}): Return the Frobenius form of the square matrix M. If flag is 1, return only the elementary divisors as a vector of polynomials in the variable v. If flag is 2, return a two-components vector [F,B] where F is the Frobenius form and B is the basis change so that M=B^-1*F*B.mathess(x): Hessenberg form of x.mathilbert(n): Hilbert matrix of order n.mathnf(M,{flag=0}): (upper triangular) Hermite normal form of M, basis for the lattice formed by the columns of M. flag is optional whose value range from 0 to 3 have a binary meaning. Bit 1: complete output, returns a 2-component vector [H,U] such that H is the HNF of M, and U is an invertible matrix such that MU=H. Bit 2: allow polynomial entries, otherwise assume that M is integral. These use a naive algorithm; larger values correspond to more involved algorithms and are restricted to integer matrices; flag = 4: returns [H,U] using LLL reduction along the way; flag = 5: return [H,U,P] where P is a permutation of row indices such that P applied to M U is H.mathnfmod(x,d): (upper triangular) Hermite normal form of x, basis for the lattice formed by the columns of x, where d is a multiple of the non-zero determinant of this lattice.mathnfmodid(x,d): (upper triangular) Hermite normal form of x concatenated with matdiagonal(d)mathouseholdermathouseholder(Q,v): applies a sequence Q of Householder transforms to the vector or matrix v.matid(n): identity matrix of order n.matimage(x,{flag=0}): basis of the image of the matrix x. flag is optional and can be set to 0 or 1, corresponding to two different algorithms.matimagecompl(x): vector of column indices not corresponding to the indices given by the function matimage.matindexrank(x): gives two extraction vectors (rows and columns) for the matrix x such that the extracted matrix is square of maximal rank.matintersect(x,y): intersection of the vector spaces whose bases are the columns of x and y.matinverseimage(x,y): an element of the inverse image of the vector y by the matrix x if one exists, the empty vector otherwise.matisdiagonal(x): true(1) if x is a diagonal matrix, false(0) otherwise.matker(x,{flag=0}): basis of the kernel of the matrix x. flag is optional, and may be set to 0: default; non-zero: x is known to have integral entries.matkerint(x,{flag=0}): LLL-reduced Z-basis of the kernel of the matrix x with integral entries. flag is deprecated, and may be set to 0 or 1 for backward compatibility.matmuldiagonalmatmuldiagonal(x,d): product of matrix x by diagonal matrix whose diagonal coefficients are those of the vector d, equivalent but faster than x*matdiagonal(d).matmultodiagonalmatmultodiagonal(x,y): product of matrices x and y, knowing that the result will be a diagonal matrix. Much faster than general multiplication in that case.LDGmatpascal(n,{q}): Pascal triangle of order n if q is omitted. q-Pascal triangle otherwise.matqrmatqr(M,{flag=0}): returns [Q,R], the QR-decomposition of the square invertible matrix M. If flag=1, Q is given as a sequence of Householder transforms (faster and stabler).matrank(x): rank of the matrix x.GGDVDVDEmatrix(m,n,{X},{Y},{expr=0}): mXn matrix of expression expr, the row variable X going from 1 to m and the column variable Y going from 1 to n. By default, fill with 0s.matrixqz(A,{p=0}): if p>=0, transforms the rational or integral mxn (m>=n) matrix A into an integral matrix with gcd of maximal determinants coprime to p. If p=-1, finds a basis of the intersection with Z^n of the lattice spanned by the columns of A. If p=-2, finds a basis of the intersection with Z^n of the Q-vector space spanned by the columns of A.matsize(x): number of rows and columns of the vector/matrix x as a 2-vector.matsnf(X,{flag=0}): Smith normal form (i.e. elementary divisors) of the matrix X, expressed as a vector d. Binary digits of flag mean 1: returns [u,v,d] where d=u*X*v, otherwise only the diagonal d is returned, 2: allow polynomial entries, otherwise assume X is integral, 4: removes all information corresponding to entries equal to 1 in d.matsolve(M,B): solution of MX=B (M matrix, B column vector).matsolvemod(M,D,B,{flag=0}): one solution of system of congruences MX=B mod D (M matrix, B and D column vectors). If (optional) flag is non-null return all solutions.matsupplement(x): supplement the columns of the matrix x to an invertible matrix.mattranspose(x): x~ = transpose of x.max(x,y): maximum of x and ymin(x,y): minimum of x and yminpolyminpoly(A,{v='x}): minimal polynomial of the matrix or polmod A.modreverse(z): reverse polmod of the polmod z, if it exists.moebius(x): Moebius function of x.msatkinlehnerGLDGmsatkinlehner(M,Q,{H}): Let M be a full modular symbol space of level N, as given by msinit, let Q | N, (Q,N/Q) = 1, and let H be a subspace stable under the Atkin-Lehner involution w_Q. Return the matrix of w_Q acting on H (M if omitted).mscuspidalmscuspidal(M, {flag=0}): M being a full modular symbol space, as given by msinit, return its cuspidal part S. If flag = 1, return [S,E] its decomposition into Eisenstein and cuspidal partsmseisensteinmseisenstein(M): M being a full modular symbol space, as given by msinit, return its Eisenstein subspacemsevalmseval(M,s,{p}): M being a full modular symbol space, as given by msinit, s being a modular symbol from M and p being a path between two elements in P^1(Q), return s(p).msfromcuspmsfromcusp(M, c): returns the modular symbol associated to the cusp c, where M is a modular symbol space of level N.msfromellmsfromell(E, {sign=1}): return the [M, x], where M is msinit(N,2) and x is the modular symbol in M associated to the elliptic curve E/Q.msheckemshecke(M,p,{H}): M being a full modular symbol space, as given by msinit, p being a prime number, and H being a Hecke-stable subspace (M if omitted), return the matrix of T_p acting on H (U_p if p divides the level).msinitmsinit(G, V, {sign=0}): given G a finite index subgroup of SL(2,Z) and a finite dimensional representation V of GL(2,Q), creates a space of modular symbols, the G-module Hom_G(Div^0(P^1 Q), V). This is canonically isomorphic to H^1_c(X(G), V), and allows to compute modular forms for G. If sign is present and non-zero, it must be +1 or -1 and we consider the subspace defined by Ker (Sigma - sign), where Sigma is induced by [-1,0;0,1]. Currently the only supported groups are the Gamma_0(N), coded by the integer N. The only supported representation is V_k = Q[X,Y]_{k-2}, coded by the integer k >= 2.msissymbolmsissymbol(M,s): M being a full modular symbol space, as given by msinit, check whether s is a modular symbol associated to Mmsnewmsnew(M): M being a full modular symbol space, as given by msinit, return its new cuspidal subspacemspathgensmspathgens(M): M being a full modular symbol space, as given by msinit, return a set of Z[G]-generators for Div^0(P^1 Q). The output is [g,R], where g is a minimal system of generators and R the vector of Z[G]-relations between the given generators.mspathlogmspathlog(M,p): M being a full modular symbol space, as given by msinit and p being a path between two elements in P^1(Q), return (p_i) in Z[G] such that p = \sum p_i g_i, and the g_i are fixed Z[G]-generators for Div^0(P^1 Q), see mspathgens.msqexpansionGGDPmsqexpansion(M,projH,{B = seriesprecision}): M being a full modular symbol space, as given by msinit, and projH being a projector on a Hecke-simple subspace, return the Fourier coefficients [a_n, n <= B] of the corresponding normalized newform. If B omitted, use seriesprecisionmssplitmssplit(M,H): M being a full modular symbol space, as given by msinit, and H being a subspace, split H into Hecke-simple subspaces.msstarmsstar(M,{H}): M being a full modular symbol space, as given by msinit, return the matrix of the * involution, induced by complex conjugation, acting on the (stable) subspace H (M if omitted).mymy(x,...,z): declare x,...,z as lexically-scoped local variables.newtonpoly(x,p): Newton polygon of polynomial x with respect to the prime p.nextnext({n=1}): interrupt execution of current instruction sequence, and start another iteration from the n-th innermost enclosing loops.nextprime(x): smallest pseudoprime >= x.nfalgtobasis(nf,x): transforms the algebraic number x into a column vector on the integral basis nf.zk.nfbasis(T): integral basis of the field Q[a], where a is a root of the polynomial T, using the round 4 algorithm. An argument [T,listP] is possible, where listP is a list of primes (to get an order which is maximal at certain primes only) or a prime bound.nfbasistoalg(nf,x): transforms the column vector x on the integral basis into an algebraic number.nfcertifynfcertify(nf): returns a vector of composite integers used to certify nf.zk and nf.disc unconditionally (both are correct when the output is the empty vector).nfcompositumnfcompositum(nf,P,Q,{flag=0}): vector of all possible compositums of the number fields defined by the polynomials P and Q; flag is optional, whose binary digits mean 1: output for each compositum, not only the compositum polynomial pol, but a vector [R,a,b,k] where a (resp. b) is a root of P (resp. Q) expressed as a polynomial modulo R, and a small integer k such that al2+k*al1 is the chosen root of R; 2: assume that the number fields defined by P and Q are linearly disjoint.nfdetint(nf,x): multiple of the ideal determinant of the pseudo generating set x.nfdisc(T): discriminant of the number field defined by the polynomial T. An argument [T,listP] is possible, where listP is a list of primes or a prime bound.nfeltaddnfadd(nf,x,y): element x+y in nf.nfdiv(nf,x,y): element x/y in nf.nfdiveuc(nf,x,y): gives algebraic integer q such that x-by is small.nfeltdivmodprnfeltdivmodpr(nf,x,y,pr): element x/y modulo pr in nf, where pr is in modpr format (see nfmodprinit).nfeltdivrem(nf,x,y): gives [q,r] such that r=x-by is small.nfeltmod(nf,x,y): gives r such that r=x-by is small with q algebraic integer.nfmul(nf,x,y): element x.y in nf.nfeltmulmodprnfeltmulmodpr(nf,x,y,pr): element x.y modulo pr in nf, where pr is in modpr format (see nfmodprinit).nfeltnormnfeltnorm(nf,x): norm of x.nfeltpow(nf,x,k): element x^k in nf.nfeltpowmodprnfeltpowmodpr(nf,x,k,pr): element x^k modulo pr in nf, where pr is in modpr format (see nfmodprinit).nfeltreduce(nf,a,id): gives r such that a-r is in the ideal id and r is small.nfeltreducemodprnfeltreducemodpr(nf,x,pr): element x modulo pr in nf, where pr is in modpr format (see nfmodprinit).nfelttracenfelttrace(nf,x): trace of x.GGGD&nfeltval(nf,x,pr,{&y}): valuation of element x at the prime pr as output by idealprimedec.nffactornffactor(nf,T): factor polynomial T in number field nf.nffactorbacknffactorback(nf,f,{e}): given a factorisation f, returns the factored object back as an nf element.nffactormodnffactormod(nf,Q,pr): factor polynomial Q modulo prime ideal pr in number field nf.nfgaloisapply(nf,aut,x): Apply the Galois automorphism aut to the object x (element or ideal) in the number field nf.nfgaloisconj(nf,{flag=0},{d}): list of conjugates of a root of the polynomial x=nf.pol in the same number field. flag is optional (set to 0 by default), meaning 0: use combination of flag 4 and 1, always complete; 1: use nfroots; 2 : use complex numbers, LLL on integral basis (not always complete); 4: use Allombert's algorithm, complete if the field is Galois of degree <= 35 (see manual for details). nf can be simply a polynomial.GGGGDnnfgrunwaldwang(nf,Lpr,Ld,pl,{v='x}): a polynomial in the variable v defining a cyclic extension of nf (given in nf or bnf form) with local behaviour prescribed by Lpr, Ld and pl: the extension has local degree a multiple of Ld[i] at the prime Lpr[i], and the extension is complex at the i-th real place of nf if pl[i]=-1 (no condition if pl[i]=0). The extension has degree the LCM of the local degrees.nfhilbertlGGGDGnfhilbert(nf,a,b,{pr}): if pr is omitted, global Hilbert symbol (a,b) in nf, that is 1 if X^2-aY^2-bZ^2 has a non-trivial solution (X,Y,Z) in nf, -1 otherwise. Otherwise compute the local symbol modulo the prime ideal pr.nfhnf(nf,x,{flag=0}): if x=[A,I], gives a pseudo-basis [B,J] of the module sum A_jI_j. If flag is non-zero, return [[B,J], U], where U is the transformation matrix such that AU = [0|B]nfhnfmod(nf,x,detx): if x=[A,I], and detx is a multiple of the ideal determinant of x, gives a pseudo-basis of the module sum A_jI_j.nfinit(pol,{flag=0}): pol being a nonconstant irreducible polynomial, gives the vector: [pol,[r1,r2],discf,index,[M,MC,T2,T,different] (see manual),r1+r2 first roots, integral basis, matrix of power basis in terms of integral basis, multiplication table of basis]. flag is optional and can be set to 0: default; 1: do not compute different; 2: first use polred to find a simpler polynomial; 3: outputs a two-element vector [nf,Mod(a,P)], where nf is as in 2 and Mod(a,P) is a polmod equal to Mod(x,pol) and P=nf.pol.nfisideal(nf,x): true(1) if x is an ideal in the number field nf, false(0) if not.nfisincl(x,y): tests whether the number field x is isomorphic to a subfield of y (where x and y are either polynomials or number fields as output by nfinit). Return 0 if not, and otherwise all the isomorphisms. If y is a number field, a faster algorithm is used.nfisisom(x,y): as nfisincl but tests whether x is isomorphic to y.nfkermodprnfkermodpr(nf,x,pr): kernel of the matrix x in Z_K/pr, where pr is in modpr format (see nfmodprinit).nfmodprinitnfmodprinit(nf,pr): transform the 5 element row vector pr representing a prime ideal into modpr format necessary for all operations mod pr in the number field nf (see manual for details about the format).nfnewprecnfnewprec(nf): transform the number field data nf into new data using the current (usually larger) precision.nfrootsDGGnfroots({nf},x): roots of polynomial x belonging to nf (Q if omitted) without multiplicity.nfrootsof1(nf): number of roots of unity and primitive root of unity in the number field nf.nfsnf(nf,x,{flag=0}): if x=[A,I,J], outputs D=[d_1,...d_n] Smith normal form of x. If flag is non-zero return [D,U,V], where UAV = Id.nfsolvemodprnfsolvemodpr(nf,a,b,P): solution of a*x=b in Z_K/P, where a is a matrix and b a column vector, and where P is in modpr format (see nfmodprinit).nfsplittingnfsplitting(nf,{d}): defining polynomial over Q for the splitting field of the number field nf; if d is given, it must be the degree of the splitting fieldnfsubfields(pol,{d=0}): find all subfields of degree d of number field defined by pol (all subfields if d is null or omitted). Result is a vector of subfields, each being given by [g,h], where g is an absolute equation and h expresses one of the roots of g in terms of the root x of the polynomial defining nf.norm(x): norm of x.norml2(x): square of the L2-norm of x.normlpnormlp(x,{p}): Lp-norm of x; sup norm if p is omitted.numbpartnumbpart(n): number of partitions of n.numdiv(x): number of divisors of x.numerator(x): numerator of x.LGnumtoperm(n,k): permutation number k (mod n!) of n letters (n C-integer).omega(x): number of distinct prime divisors of x.oo=oo(): infinity.padicappr(pol,a): p-adic roots of the polynomial pol congruent to a mod p.padicfields(p, N, {flag=0}): returns polynomials generating all the extensions of degree N of the field of p-adic rational numbers; N is allowed to be a 2-component vector [n,d], in which case, returns the extensions of degree n and discriminant p^d. flag is optional, and can be 0: default, 1: return also the ramification index, the residual degree, the valuation of the discriminant and the number of conjugate fields, or 2: return only the number of extensions in a fixed algebraic closure.padicprec(x,p): absolute p-adic precision of object x.parapplyparapply(f, x): parallel evaluation of f on the elements of x.parevalpareval(x): parallel evaluation of the elements of the vector of closures x.parforvV=GDGJDVDIparfor(i=a,{b},expr1,{r},{expr2}): evaluates the expression expr1 in parallel for all i between a and b (if b is omitted, the loop will not stop), resulting in as many values; if the formal variables r and expr2 are present, evaluate sequentially expr2, in which r has been replaced by the different results obtained for expr1 and i with the corresponding arguments.parforprimeparforprime(p=a,{b},expr1,{r},{expr2}): evaluates the expression expr1 in parallel for all primes p between a and b (if b is omitted, the loop will not stop), resulting in as many values; if the formal variables r and expr2 are present, evaluate sequentially expr2, in which r has been replaced by the different results obtained for expr1 and p with the corresponding arguments.parforvecvV=GJDVDID0,L,parforvec(X=v,expr1,{j},{expr2},{flag}): evaluates the sequence expr2 (dependent on X and j) for X as generated by forvec, in random order, computed in parallel. Substitute for j the value of expr1 (dependent on X).parselectparselect(f, A, {flag = 0}): (parallel select) selects elements of A according to the selection function f which is tested in parallel. If flag is 1, return the indices of those elements (indirect selection)parsumV=GGJDGparsum(i=a,b,expr,{x}): x plus the sum (X goes from a to b) of expression expr, evaluated in parallel (in random order)partitionsLDGDGpartitions(k,{a=k},{n=k})): vector of partitions of the integer k. You can restrict the length of the partitions with parameter n (n=nmax or n=[nmin,nmax]), or the range of the parts with parameter a (a=amax or a=[amin,amax]). By default remove zeros, but one can set amin=0 to get X of fixed length nmax (=k by default).parvectorLVJparvector(N,i,expr): as vector(N,i,expr) but the evaluations of expr are done in parallel.permtonum(x): ordinal (between 1 and n!) of permutation x.LD1,L,DGpolchebyshev(n,{flag=1},{a='x}): Chebychev polynomial of the first (flag = 1) or second (flag = 2) kind, of degree n, evaluated at a.polclassGD-1,L,Dnpolclass(D, {inv = 0}, {x = 'x}): return the Hilbert class polynomial for the discriminant D.polcoeff(x,n,{v}): coefficient of degree n of x, or the n-th component for vectors or matrices (for which it is simpler to use x[]). With respect to the main variable if v is omitted, with respect to the variable v otherwise.polcompositum(P,Q,{flag=0}): vector of all possible compositums of the number fields defined by the polynomials P and Q; flag is optional, whose binary digits mean 1: output for each compositum, not only the compositum polynomial pol, but a vector [R,a,b,k] where a (resp. b) is a root of P (resp. Q) expressed as a polynomial modulo R, and a small integer k such that al2+k*al1 is the chosen root of R; 2: assume that the number fields defined by P and Q are linearly disjoint.polcyclo(n,{a = 'x}): n-th cyclotomic polynomial evaluated at a.polcyclofactorspolcyclofactors(f): returns a vector of polynomials, whose product is the product of distinct cyclotomic polynomials dividing f.poldegree(x,{v}): degree of the polynomial or rational function x with respect to main variable if v is omitted, with respect to v otherwise. For scalar x, return 0 is x is non-zero and -oo otherwise.poldisc(pol,{v}): discriminant of the polynomial pol, with respect to main variable if v is omitted, with respect to v otherwise.poldiscreduced(f): vector of elementary divisors of Z[a]/f'(a)Z[a], where a is a root of the polynomial f.polgalois(T): Galois group of the polynomial T (see manual for group coding). Return [n, s, k, name] where n is the group order, s the signature, k the index and name is the GAP4 name of the transitive group.polgraeffepolgraeffe(f): returns the Graeffe transform g of f, such that g(x^2) = f(x)f(-x)polhenselliftpolhensellift(A, B, p, e): lift the factorization B of A modulo p to a factorization modulo p^e using Hensel lift. The factors in B must be pairwise relatively prime modulo p.polhermitepolhermite(n,{a='x}): Hermite polynomial H(n,v) of degree n, evaluated at a.GDGDGD&polinterpolate(X,{Y},{x},{&e}): polynomial interpolation at x according to data vectors X, Y (ie return P such that P(X[i]) = Y[i] for all i). If Y is omitted, return P such that P(i) = X[i]. If present, e will contain an error estimate on the returned value.poliscyclopoliscyclo(f): returns 0 if f is not a cyclotomic polynomial, and n > 0 if f = Phi_n, the n-th cyclotomic polynomial.poliscycloprodpoliscycloprod(f): returns 1 if f is a product of cyclotomic polynonials, and 0 otherwise.polisirreducible(pol): true(1) if pol is an irreducible non-constant polynomial, false(0) if pol is reducible or constant.polleadpollead(x,{v}): leading coefficient of polynomial or series x, or x itself if x is a scalar. Error otherwise. With respect to the main variable of x if v is omitted, with respect to the variable v otherwise.pollegendre(n,{a='x}): legendre polynomial of degree n evaluated at a.polmodularLD0,L,DGDnD0,L,polmodular(L, {inv = 0}, {x = 'x}, {y = 'y}, {compute_derivs = 0}): return the modular polynomial of level L and invariant inv.polrecip(pol): reciprocal polynomial of pol.GD0,L,DGpolred(T,{flag=0}): Deprecated, use polredbest. Reduction of the polynomial T (gives minimal polynomials only). The following binary digits of (optional) flag are significant 1: partial reduction, 2: gives also elements.polredabs(T,{flag=0}): a smallest generating polynomial of the number field for the T2 norm on the roots, with smallest index for the minimal T2 norm. flag is optional, whose binary digit mean 1: give the element whose characteristic polynomial is the given polynomial. 4: give all polynomials of minimal T2 norm (give only one of P(x) and P(-x)).polredbestpolredbest(T,{flag=0}): reduction of the polynomial T (gives minimal polynomials only). If flag=1, gives also elements.polredord(x): reduction of the polynomial x, staying in the same order.GGDnD0,L,polresultant(x,y,{v},{flag=0}): resultant of the polynomials x and y, with respect to the main variables of x and y if v is omitted, with respect to the variable v otherwise. flag is optional, and can be 0: default, uses either the subresultant algorithm, a modular algorithm or Sylvester's matrix, depending on the inputs; 1 uses Sylvester's matrix (should always be slower than the default).polresultantextpolresultantext(A,B,{v}): return [U,V,R] such that R=polresultant(A,B,v) and U*A+V*B = R, where A and B are polynomials.polroots(x): complex roots of the polynomial x using Schonhage's method, as modified by Gourdon.polrootsffpolrootsff(x,{p},{a}): returns the roots of the polynomial x in the finite field F_p[X]/a(X)F_p[X]. a or p can be omitted if x has t_FFELT coefficients.polrootsmod(pol,p,{flag=0}): roots mod the prime p of the polynomial pol. flag is optional, and can be 0: default, or 1: use a naive search, useful for small p.polrootspadic(x,p,r): p-adic roots of the polynomial x to precision r.polrootsrealpolrootsreal(T, {ab}): real roots of the polynomial T with rational coefficients, using Uspensky's method. In interval ab = [a,b] if present.polsturm(T,{ab}): number of real roots of the squarefree polynomial T (in the interval ab = [a,b] if present).LLDnpolsubcyclo(n,d,{v='x}): finds an equation (in variable v) for the d-th degree subfields of Q(zeta_n). Output is a polynomial, or a vector of polynomials if there are several such fields or none.polsylvestermatrix(x,y): forms the sylvester matrix associated to the two polynomials x and y. Warning: the polynomial coefficients are in columns, not in rows.polsym(x,n): column vector of symmetric powers of the roots of x up to n.poltchebipoltchebi(n,{v='x}): deprecated alias for polchebyshevpoltschirnhaus(x): random Tschirnhausen transformation of the polynomial x.LGD0,L,ppolylog(m,x,{flag=0}): m-th polylogarithm of x. flag is optional, and can be 0: default, 1: D_m~-modified m-th polylog of x, 2: D_m-modified m-th polylog of x, 3: P_m-modified m-th polylog of x.LLpolzagier(n,m): Zagier's polynomials of index n,m.powerspowers(x,n,{x0}): return the vector [1,x,...,x^n] if x0 is omitted, and [x0, x0*x, ..., x0*x^n] otherwise.precision(x,{n}): if n is present, return x at precision n. If n is omitted, return real precision of object x.precprimeprecprime(x): largest pseudoprime <= x, 0 if x<=1.prime(n): returns the n-th prime (n C-integer).primepiprimepi(x): the prime counting function pi(x) = #{p <= x, p prime}.primes(n): returns the vector of the first n primes (integer), or the primes in interval n = [a,b].print({str}*): outputs its string arguments (in raw format) ending with a newline.print1({str}*): outputs its string arguments (in raw format) without ending with newline.printfvss*printf(fmt,{x}*): prints its arguments according to the format fmt.printsepprintsep(sep,{str}*): outputs its string arguments (in raw format), separated by 'sep', ending with a newline.printsep1printsep(sep,{str}*): outputs its string arguments (in raw format), separated by 'sep', without ending with a newline.printtex({str}*): outputs its string arguments in TeX format.prod(X=a,b,expr,{x=1}): x times the product (X runs from a to b) of expression.V=GGEpprodeuler(X=a,b,expr): Euler product (X runs over the primes between a and b) of real or complex expression.V=GED0,L,pprodinf(X=a,expr,{flag=0}): infinite product (X goes from a to infinity) of real or complex expression. flag can be 0 (default) or 1, in which case compute the product of the 1+expr instead.psi(x): psi-function at x.qfautoqfauto(G,{fl}): automorphism group of the positive definite quadratic form G.qfautoexportqfautoexport(qfa,{flag}): qfa being an automorphism group as output by qfauto, output a string representing the underlying matrix group in GAP notation (default) or Magma notation (flag = 1).qfbclassno(D,{flag=0}): class number of discriminant D using Shanks's method by default. If (optional) flag is set to 1, use Euler products.qfbcompraw(x,y): Gaussian composition without reduction of the binary quadratic forms x and y.qfbhclassno(x): Hurwitz-Kronecker class number of x>0.qfbilqfbil(x,y,{q}): evaluate the bilinear form q (symmetric matrix) at (x,y); if q omitted, use the standard Euclidean scalar product.qfbnucomp(x,y,L): composite of primitive positive definite quadratic forms x and y using nucomp and nudupl, where L=[|D/4|^(1/4)] is precomputed.qfbnupow(x,n,{L}): n-th power of primitive positive definite quadratic form x using nucomp and nudupl.qfbpowraw(x,n): n-th power without reduction of the binary quadratic form x.qfbprimeform(x,p): returns the prime form of discriminant x, whose first coefficient is p.GD0,L,DGDGDGqfbred(x,{flag=0},{d},{isd},{sd}): reduction of the binary quadratic form x. All other args. are optional. The arguments d, isd and sd, if present, supply the values of the discriminant, floor(sqrt(d)) and sqrt(d) respectively. If d<0, its value is not used and all references to Shanks's distance hereafter are meaningless. flag can be any of 0: default, uses Shanks's distance function d; 1: use d, do a single reduction step; 2: do not use d; 3: do not use d, single reduction step.qfbredsl2qfbredsl2(x,{data}): reduction of the binary quadratic form x, return [y,g] where y is reduced and g in Sl(2,Z) is such that g.x = y; data, if present, must be equal to [D, sqrtint(D)], where D > 0 is the discriminant of x.qfbsolveqfbsolve(Q,p): Return [x,y] so that Q(x,y)=p where Q is a binary quadratic form and p a prime number, or 0 if there is no solution.qfgaussred(q): square reduction of the (symmetric) matrix q (returns a square matrix whose i-th diagonal term is the coefficient of the i-th square in which the coefficient of the i-th variable is 1).qfisomqfisom(G,H,{fl}): find an isomorphism between the integral positive definite quadratic forms G and H if it exists. G can also be given by a qfisominit structure which is preferable if several forms need to be compared to G.qfisominitqfisominit(G,{fl}): G being a square and symmetric matrix representing an integral positive definite quadratic form, this function return a structure allowing to compute isomorphisms between G and other quadratic form faster.qfjacobi(A): eigenvalues and orthogonal matrix of eigenvectors of the real symmetric matrix A.qflll(x,{flag=0}): LLL reduction of the vectors forming the matrix x (gives the unimodular transformation matrix T such that x*T is LLL-reduced). flag is optional, and can be 0: default, 1: assumes x is integral, 2: assumes x is integral, returns a partially reduced basis, 4: assumes x is integral, returns [K,T] where K is the integer kernel of x and T the LLL reduced image, 5: same as 4 but x may have polynomial coefficients, 8: same as 0 but x may have polynomial coefficients.qflllgram(G,{flag=0}): LLL reduction of the lattice whose gram matrix is G (gives the unimodular transformation matrix). flag is optional and can be 0: default,1: assumes x is integral, 4: assumes x is integral, returns [K,T], where K is the integer kernel of x and T the LLL reduced image, 5: same as 4 but x may have polynomial coefficients, 8: same as 0 but x may have polynomial coefficients.GDGDGD0,L,pqfminim(x,{b},{m},{flag=0}): x being a square and symmetric matrix representing a positive definite quadratic form, this function deals with the vectors of x whose norm is less than or equal to b, enumerated using the Fincke-Pohst algorithm, storing at most m vectors (no limit if m is omitted). The function searches for the minimal non-zero vectors if b is omitted. The precise behavior depends on flag. 0: returns at most 2m vectors (unless m omitted), returns [N,M,mat] where N is the number of vectors enumerated, M the maximum norm among these, and mat lists half the vectors (the other half is given by -mat). 1: ignores m and returns the first vector whose norm is less than b. 2: as 0 but uses a more robust, slower implementation, valid for non integral quadratic forms.qfnormqfnorm(x,{q}): evaluate the binary quadratic form q (symmetric matrix) at x; if q omitted, use the standard Euclidean form.qforbitsqforbits(G,V): return the orbits of V under the action of the group of linear transformation generated by the set G, which must stabilize V.qfparamqfparam(G, sol, {flag = 0}): coefficients of binary quadratic forms that parametrize the solutions of the ternary quadratic form G, using the particular solution sol.qfperfection(G): rank of matrix of xx~ for x minimal vectors of a gram matrix G.qfrepqfrep(q,B,{flag=0}): vector of (half) the number of vectors of norms from 1 to B for the integral and definite quadratic form q. If flag is 1, count vectors of even norm from 1 to 2B.qfsign(x): signature of the symmetric matrix x.qfsolveqfsolve(G): solve over Q the quadratic equation X^t G X = 0, where G is a symmetric matrix.quadclassunit(D,{flag=0},{tech=[]}): compute the structure of the class group and the regulator of the quadratic field of discriminant D. See manual for the optional technical parameters.quaddisc(x): discriminant of the quadratic field Q(sqrt(x)).quadgen(D): standard generator of quadratic order of discriminant D.quadhilbertquadhilbert(D): relative equation for the Hilbert class field of the quadratic field of discriminant D (which can also be a bnf).quadpoly(D,{v='x}): quadratic polynomial corresponding to the discriminant D, in variable v.quadray(D,f): relative equation for the ray class field of conductor f for the quadratic field of discriminant D (which can also be a bnf).quadregulator(x): regulator of the real quadratic field of discriminant x.quadunit(D): fundamental unit of the quadratic field of discriminant D where D must be positive.ramanujantautau(n): compute the value of Ramanujan's tau function at n, assuming the GRH. Algorithm in O(n^{1/2+eps}).random({N=2^31}): random object, depending on the type of N. Integer between 0 and N-1 (t_INT), int mod N (t_INTMOD), element in a finite field (t_FFELT), point on an elliptic curve (ellinit mod p or over a finite field).randomprimerandomprime({N = 2^31}): returns a strong pseudo prime in [2, N-1].D"",s,read({filename}): read from the input file filename. If filename is omitted, reread last input file, be it from read() or \r.readstrreadstr({filename}): returns the vector of GP strings containing the lines in filename.readvecreadvec({filename}): create a vector whose components are the evaluation of all the expressions found in the input file filename.real(x): real part of x.removeprimesremoveprimes({x=[]}): remove primes in the vector x from the prime table. x can also be a single integer. List the current extra primes if x is omitted.returnreturn({x=0}): return from current subroutine with result x.rnfalgtobasisrnfalgtobasis(rnf,x): relative version of nfalgtobasis, where rnf is a relative numberfield.rnfbasis(bnf,M): given a projective Z_K-module M as output by rnfpseudobasis or rnfsteinitz, gives either a basis of M if it is free, or an n+1-element generating set.rnfbasistoalgrnfbasistoalg(rnf,x): relative version of nfbasistoalg, where rnf is a relative numberfield.rnfcharpolyGGGDnrnfcharpoly(nf,T,a,{var='x}): characteristic polynomial of a over nf, where a belongs to the algebra defined by T over nf. Returns a polynomial in variable var (x by default).rnfconductorrnfconductor(bnf,pol): conductor of the Abelian extension of bnf defined by pol. The result is [conductor,bnr,subgroup], where conductor is the conductor itself, bnr the associated bnr structure, and subgroup the HNF defining the norm group (Artin or Takagi group) on the given generators bnr.genrnfdedekindrnfdedekind(nf,pol,{pr},{flag=0}): relative Dedekind criterion over the number field K, represented by nf, applied to the order O_K[X]/(P), modulo the prime ideal pr (at all primes if pr omitted, in which case flag is automatically set to 1). P is assumed to be monic, irreducible, in O_K[X]. Returns [max,basis,v], where basis is a pseudo-basis of the enlarged order, max is 1 iff this order is pr-maximal, and v is the valuation at pr of the order discriminant. If flag is set, just return 1 if the order is maximal, and 0 if not.rnfdetrnfdet(nf,M): given a pseudo-matrix M, compute its determinant.rnfdisc(nf,pol): given a pol with coefficients in nf, gives a 2-component vector [D,d], where D is the relative ideal discriminant, and d is the relative discriminant in nf^*/nf*^2.rnfeltabstorelrnfeltabstorel(rnf,x): transforms the element x from absolute to relative representation.rnfeltdownrnfeltdown(rnf,x): expresses x on the base field if possible; returns an error otherwise.rnfeltnormrnfeltnorm(rnf,x): returns the relative norm N_{L/K}(x), as an element of Krnfeltreltoabsrnfeltreltoabs(rnf,x): transforms the element x from relative to absolute representation.rnfelttracernfelttrace(rnf,x): returns the relative trace N_{L/K}(x), as an element of Krnfeltuprnfeltup(rnf,x): expresses x (belonging to the base field) on the relative field.rnfequation(nf,pol,{flag=0}): given a pol with coefficients in nf, gives an absolute equation z of the number field defined by pol. flag is optional, and can be 0: default, or non-zero, gives [z,al,k], where z defines the absolute equation L/Q as in the default behavior, al expresses as an element of L a root of the polynomial defining the base field nf, and k is a small integer such that t = b + k al is a root of z, for b a root of pol.rnfhnfbasis(bnf,x): given an order x as output by rnfpseudobasis, gives either a true HNF basis of the order if it exists, zero otherwise.rnfidealabstorelrnfidealabstorel(rnf,x): transforms the ideal x from absolute to relative representation.rnfidealdownrnfidealdown(rnf,x): finds the intersection of the ideal x with the base field.rnfidealhnfrnfidealhnf(rnf,x): relative version of idealhnf, where rnf is a relative numberfield.rnfidealmulrnfidealmul(rnf,x,y): relative version of idealmul, where rnf is a relative numberfield.rnfidealnormabsrnfidealnormabs(rnf,x): absolute norm of the ideal x.rnfidealnormrelrnfidealnormrel(rnf,x): relative norm of the ideal x.rnfidealreltoabsrnfidealreltoabs(rnf,x): transforms the ideal x from relative to absolute representation.rnfidealtwoeltrnfidealtwoelt(rnf,x): relative version of idealtwoelt, where rnf is a relative numberfield.rnfidealuprnfidealup(rnf,x): lifts the ideal x (of the base field) to the relative field.rnfinitrnfinit(nf,pol): pol being an irreducible polynomial defined over the number field nf, initializes a vector of data necessary for working in relative number fields (rnf functions). See manual for technical details.rnfisabelianrnfisabelian(nf,T): T being a relative polynomial with coefficients in nf, return 1 if it defines an abelian extension, and 0 otherwise.rnfisfree(bnf,x): given an order x as output by rnfpseudobasis or rnfsteinitz, outputs true (1) or false (0) according to whether the order is free or not.rnfisnormrnfisnorm(T,a,{flag=0}): T is as output by rnfisnorminit applied to L/K. Tries to tell whether a is a norm from L/K. Returns a vector [x,q] where a=Norm(x)*q. Looks for a solution which is a S-integer, with S a list of places in K containing the ramified primes, generators of the class group of ext, as well as those primes dividing a. If L/K is Galois, omit flag, otherwise it is used to add more places to S: all the places above the primes p <= flag (resp. p | flag) if flag > 0 (resp. flag < 0). The answer is guaranteed (i.e a is a norm iff q=1) if L/K is Galois or, under GRH, if S contains all primes less than 12.log(disc(M))^2, where M is the normal closure of L/K.rnfisnorminitGGD2,L,rnfisnorminit(pol,polrel,{flag=2}): let K be defined by a root of pol, L/K the extension defined by polrel. Compute technical data needed by rnfisnorm to solve norm equations Nx = a, for x in L, and a in K. If flag=0, do not care whether L/K is Galois or not; if flag = 1, assume L/K is Galois; if flag = 2, determine whether L/K is Galois.rnfkummer(bnr,{subgp},{d=0}): bnr being as output by bnrinit, finds a relative equation for the class field corresponding to the module in bnr and the given congruence subgroup (the ray class field if subgp is omitted). d can be zero (default), or positive, and in this case the output is the list of all relative equations of degree d for the given bnr, with the same conductor as (bnr, subgp).rnflllgram(nf,pol,order): given a pol with coefficients in nf and an order as output by rnfpseudobasis or similar, gives [[neworder],U], where neworder is a reduced order and U is the unimodular transformation matrix.rnfnormgrouprnfnormgroup(bnr,pol): norm group (or Artin or Takagi group) corresponding to the Abelian extension of bnr.bnf defined by pol, where the module corresponding to bnr is assumed to be a multiple of the conductor. The result is the HNF defining the norm group on the generators in bnr.gen.rnfpolred(nf,pol): given a pol with coefficients in nf, finds a list of relative polynomials defining some subfields, hopefully simpler.rnfpolredabsrnfpolredabs(nf,pol,{flag=0}): given a pol with coefficients in nf, finds a relative simpler polynomial defining the same field. Binary digits of flag mean: 1: return also the element whose characteristic polynomial is the given polynomial, 2: return an absolute polynomial, 16: partial reduction.rnfpolredbestrnfpolredbest(nf,pol,{flag=0}): given a pol with coefficients in nf, finds a relative polynomial P defining the same field, hopefully simpler than pol; flag can be 0: default, 1: return [P,a], where a is a root of pol 2: return an absolute polynomial Pabs, 3: return [Pabs, a,b], where a is a root of nf.pol and b is a root of pol.rnfpseudobasis(nf,pol): given a pol with coefficients in nf, gives a 4-component vector [A,I,D,d] where [A,I] is a pseudo basis of the maximal order in HNF on the power basis, D is the relative ideal discriminant, and d is the relative discriminant in nf^*/nf*^2.rnfsteinitz(nf,x): given an order x as output by rnfpseudobasis, gives [A,I,D,d] where (A,I) is a pseudo basis where all the ideals except perhaps the last are trivial.round(x,{&e}): take the nearest integer to all the coefficients of x. If e is present, do not take into account loss of integer part precision, and set e = error estimate in bits.selectselect(f, A, {flag = 0}): selects elements of A according to the selection function f. If flag is 1, return the indices of those elements (indirect selection)selfmself(): return the calling function or closure. Useful for defining anonymous recursive functions.seralgdepseralgdep(s,p,r): find a linear relation between powers (1,s, ..., s^p) of the series s, with polynomial coefficients of degree <= r.serconvol(x,y): convolution (or Hadamard product) of two power series.serlaplace(x): replaces the power series sum of a_n*x^n/n! by sum of a_n*x^n. For the reverse operation, use serconvol(x,exp(X)).serreverse(s): reversion of the power series s.setbinopsetbinop(f,X,{Y}): the set {f(x,y), x in X, y in Y}. If Y is omitted, assume that X = Y and that f is symmetric.setintersect(x,y): intersection of the sets x and y.setisset(x): true(1) if x is a set (row vector with strictly increasing entries), false(0) if not.setminus(x,y): set of elements of x not belonging to y.setrand(n): reset the seed of the random number generator to n.lGGD0,L,setsearch(S,x,{flag=0}): determines whether x belongs to the set (or sorted list) S. If flag is 0 or omitted, returns 0 if it does not, otherwise returns the index j such that x==S[j]. If flag is non-zero, return 0 if x belongs to S, otherwise the index j where it should be inserted.setunion(x,y): union of the sets x and y.shift(x,n): shift x left n bits if n>=0, right -n bits if n<0.shiftmul(x,n): multiply x by 2^n (n>=0 or n<0)sigma(x,{k=1}): sum of the k-th powers of the divisors of x. k is optional and if omitted is assumed to be equal to 1.sign(x): sign of x, of type integer, real or fractionsimplify(x): simplify the object x as much as possible.sin(x): sine of x.sincsinc(x): sinc function of x.sinh(x): hyperbolic sine of x.sizebyte(x): number of bytes occupied by the complete tree of the object x.sizedigit(x): rough upper bound for the number of decimal digits of (the components of) $x$. DEPRECATED.solve(X=a,b,expr): real root of expression expr (X between a and b), where expr(a)*expr(b)<=0.V=GGGED0,L,psolvestep(X=a,b,step,expr,{flag=0}): find zeros of a function in the real interval [a,b] by naive interval splitting.sqr(x): square of x. NOT identical to x*x.sqrt(x): square root of x.sqrtint(x): integer square root of x, where x is a non-negative integer.sqrtnGGD&psqrtn(x,n,{&z}): nth-root of x, n must be integer. If present, z is set to a suitable root of unity to recover all solutions. If it was not possible, z is set to zero.sqrtnintsqrtnint(x,n): integer n-th root of x, where x is non-negative integer.stirlingLLD1,L,stirling(n,k,{flag=1}): If flag=1 (default) return the Stirling number of the first kind s(n,k), if flag=2, return the Stirling number of the second kind S(n,k).subgrouplistsubgrouplist(bnr,{bound},{flag=0}): bnr being as output by bnrinit or a list of cyclic components of a finite Abelian group G, outputs the list of subgroups of G (of index bounded by bound, if not omitted), given as HNF left divisors of the SNF matrix corresponding to G. If flag=0 (default) and bnr is as output by bnrinit, gives only the subgroups for which the modulus is the conductor.GnGsubst(x,y,z): in expression x, replace the variable y by the expression z.substpolsubstpol(x,y,z): in expression x, replace the polynomial y by the expression z, using remainder decomposition of x.substvecsubstvec(x,v,w): in expression x, make a best effort to replace the variables v1,...,vn by the expression w1,...,wn.sum(X=a,b,expr,{x=0}): x plus the sum (X goes from a to b) of expression expr.sumalt(X=a,expr,{flag=0}): Cohen-Villegas-Zagier's acceleration of alternating series expr, X starting at a. flag is optional, and can be 0: default, or 1: uses a slightly different method using Zagier's polynomials.sumdedekindsumdedekind(h,k): Dedekind sum associated to h,ksumdigitssumdigits(n,{B=10}): sum of digits in the integer n, when written in base B.GVEsumdiv(n,X,expr): sum of expression expr, X running over the divisors of n.sumdivmultsumdivmult(n,d,expr): sum of multiplicative function expr, d running over the divisors of n.sumformalsumformal(f,{v}): formal sum of f with respect to v, or to the main variable of f if v is omitted.suminf(X=a,expr): infinite sum (X goes from a to infinity) of real or complex expression expr.V=GEDGpsumnum(n=a,f,{tab}): numerical summation of f(n) from n = a to +infinity using Euler-MacLaurin summation. Assume that f corresponds to a series with positive terms and is a C^oo function; a must be an integer, and tab, if given, is the output of sumnuminit.sumnuminitDGpsumnuminit({asymp}): initialize tables for Euler-MacLaurin delta summation of a series with positive terms.sumnummonien(n=a,f,{tab}): numerical summation from n = a to +infinity using Monien summation.DGDGDGpsumnummonieninit({asymp},{w},{n0 = 1}): initialize tables for Monien summation of a series with positive terms.sumpos(X=a,expr,{flag=0}): sum of positive (or negative) series expr, the formal variable X starting at a. flag is optional, and can be 0: default, or 1: uses a slightly different method using Zagier's polynomials.vssystem(str): str being a string, execute the system command str.tan(x): tangent of x.tanh(x): hyperbolic tangent of x.GnDPtaylor(x,t,{d=seriesprecision}): taylor expansion of x with respect to t, adding O(t^d) to all components of x.teichmuller(x): teichmuller character of p-adic number x.theta(q,z): Jacobi sine theta-function.thetanullk(q,k): k-th derivative at z=0 of theta(q,z).thue(tnf,a,{sol}): solve the equation P(x,y)=a, where tnf was created with thueinit(P), and sol, if present, contains the solutions of Norm(x)=a modulo units in the number field defined by P. If tnf was computed without assuming GRH (flag 1 in thueinit), the result is unconditional. If tnf is a polynomial, compute thue(thueinit(P,0), a).thueinit(P,{flag=0}): initialize the tnf corresponding to P, that will be used to solve Thue equations P(x,y) = some-integer. If flag is non-zero, certify the result unconditionaly. Otherwise, assume GRH (much faster of course).trace(x): trace of x.trapDrDEDEtrap({e}, {rec}, seq): try to execute seq, trapping runtime error e (all of them if e omitted); sequence rec is executed if the error occurs and is the result of the command. THIS FUNCTION IS OBSOLETE: use "IFERR"truncate(x,{&e}): truncation of x; when x is a power series,take away the O(X^). If e is present, do not take into account loss of integer part precision, and set e = error estimate in bits.type(x): return the type of the GEN x.uninlineuninline(): forget all inline variables [EXPERIMENTAL]vEIuntil(a,seq): evaluate the expression sequence seq until a is nonzero.valuation(x,p): valuation of x with respect to p.varhighersDnvarhigher(name,{v}): return a variable 'name' whose priority is higher than the priority of v (of all existing variables if v is omitted).variable({x}): main variable of object x. Gives p for p-adic x, 0 if no variable can be associated to x. Returns the list of user variables if x is omitted.variablesvariables({x}): all variables occuring in object x, sorted by decreasing priority. Returns the list of user variables if x is omitted.varlowervarlower(name,{v}): return a variable 'name' whose priority is lower than the priority of v (of all existing variables if v is omitted.vecextract(x,y,{z}): extraction of the components of the matrix or vector x according to y and z. If z is omitted, y represents columns, otherwise y corresponds to rows and z to columns. y and z can be vectors (of indices), strings (indicating ranges as in "1..10") or masks (integers whose binary representation indicates the indices to extract, from left to right 1, 2, 4, 8, etc.).vecmax(x,{&v}): largest entry in the vector/matrix x. If v is present, set it to the index of a largest entry (indirect max).vecmin(x,{&v}): smallest entry in the vector/matrix x. If v is present, set it to the index of a smallest entry (indirect min).vecsearchvecsearch(v,x,{cmpf}): determines whether x belongs to the sorted vector v. If the comparison function cmpf is explicitly given, assume that v was sorted according to vecsort(, cmpf).vecsort(x,{cmpf},{flag=0}): sorts the vector of vectors (or matrix) x in ascending order, according to the comparison function cmpf, if not omitted. (If cmpf is an integer, sort according to the value of the k-th component of each entry.) Binary digits of flag (if present) mean: 1: indirect sorting, return the permutation instead of the permuted vector, 2: sort using lexicographic order, 4: use descending instead of ascending order, 8: remove duplicate entries.vecsumvecsum(v): return the sum of the components of the vector vGDVDEvector(n,{X},{expr=0}): row vector with n components of expression expr (X ranges from 1 to n). By default, fill with 0s.vectorsmall(n,{X},{expr=0}): VECSMALL with n components of expression expr (X ranges from 1 to n) which must be small integers. By default, fill with 0s.vectorv(n,{X},{expr=0}): column vector with n components of expression expr (X ranges from 1 to n). By default, fill with 0s.version(): returns the PARI version as [major,minor,patch] or [major,minor,patch,VCSversion].warningwarning({str}*): display warning message strweber(x,{flag=0}): One of Weber's f function of x. flag is optional, and can be 0: default, function f(x)=exp(-i*Pi/24)*eta((x+1)/2)/eta(x), 1: function f1(x)=eta(x/2)/eta(x) 2: function f2(x)=sqrt(2)*eta(2*x)/eta(x). Note that j = (f^24-16)^3/f^24 = (f1^24+16)^3/f1^24 = (f2^24+16)^3/f2^24.while(a,seq): while a is nonzero evaluate the expression sequence seq. Otherwise 0.writewrite(filename,{str}*): appends the remaining arguments (same output as print) to filename.write1write1(filename,{str}*): appends the remaining arguments (same output as print1) to filename.writebinvsDGwritebin(filename,{x}): write x as a binary object to file filename. If x is omitted, write all session variables.writetexwritetex(filename,{str}*): appends the remaining arguments (same format as print) to filename, in TeX format.zeta(s): Riemann zeta function at s with s a complex or a p-adic number.zetamultzetamult(s): multiple zeta value at integral s = [s1,...,sd].znconreycharznconreychar(bid,m): Dirichlet character associated to m in (Z/qZ)* in Conrey's notation, where bid is znstar(q, 2)znconreyconductorGGD&znconreyconductor(bid,chi, {&chi0}): Let bid be idealstar(,q) and chi be a Dirichlet character on (Z/qZ)* given by its Conrey logarithm. Return the conductor of chi, and set chi0 to (the Conrey logarithm of) the associated primitive character. If chi0 != chi, return the conductor and its factorization.znconreyexpznconreyexp(bid, chi): Conrey exponential attached to bid = idealstar(,q). Returns the element m in (Z/qZ)^* attached to the character chi on bid: znconreylog(bid, m) = chi.znconreylogznconreylog(bid,m): Conrey logarithm associated to m in (Z/qZ)*, where bid is idealstar(,q)zncoppersmithzncoppersmith(P, N, X, {B=N}): finds all integers x with |x| <= X such that gcd(N, P(x)) >= B. X should be smaller than exp((log B)^2 / (deg(P) log N)).znlogznlog(x,g,{o}): return the discrete logarithm of x in (Z/nZ)* in base g. If present, o represents the multiplicative order of g. Return [] if no solution exist.znorder(x,{o}): order of the integermod x in (Z/nZ)*. Optional o represents a multiple of the order of the element.znprimroot(n): returns a primitive root of n when it exists.znstar(n): 3-component vector v, giving the structure of (Z/nZ)^*. v[1] is the order (i.e. eulerphi(n)), v[2] is a vector of cyclic components, and v[3] is a vector giving the corresponding generators.TeXstylebreakloopcolorscompatibledatadirdebugdebugfilesdebugmemechofactor_add_primesfactor_provenformatgraphcolormapgraphcolorshelphistfilehistsizelinewraplogfilenbthreadsnew_galois_formatoutputparisizepathprettyprinterpromptprompt_contpsfilereadlinerealbitprecisionrealprecisionrecoversecureseriesprecisionsopathstrictargsstrictmatchthreadsizetimert_MAT (%ldx%ld)t_COL (%ld elts)t_VEC (%ld elts) *** Error in the PARI system. End of program. user interruptintnumgaussintfuncinit with hard endpoint behaviourintfuncinitintfuncinit with finite endpointsintnuminit0integral from oo to oointegral from -oo to -oointnumromb recovery [too many iterations]intnumrombcontfracinitvalp()contfracevalsumnummonieninita+bsumnummonienincompatible initial value %Ps != %PssumnumPade, %ld/%ldlog power > 1 in sumnummonieninitcontfracinit, %ld/%ldromb: iteration %ld, guess: %Ps romb: relative error < 2^-%ld [target %ld bits] intnum [incorrect %s]real(z)*imag(z)!=0 in endpoint code, real(z) ignoredintnuminit [m]intnuminittable lengthefpbidbnfnfzkpolt2diffcodiffregray regulatorfuray unitsturay torsion unitszkstgengroupordersa1a2a3a4a6b2b4b6b8c4c6jomega [not defined over C]eta [not defined over C]areaarea [not defined over C]tatetate [not defined over Qp]clgp/usr/local/share/pariGP/PARI CALCULATOR Version 2.8.0 (development 18485-ba467f8)amd64 running linux (portable C kernel) 32-bit version18485-ba467f8Jan 21 2016singlevariable name expectedsyntax error21+&57;.)$*6-8#(%'4,90:<3  !"/N K!DE 0/UQaIGHJ$%OZWXYNcMd2145679>=@38:<;?ABCFiLl-.&'()*,+#P"h\QSRTm  V`be kj^] [_=>????@@@@AABBCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEFFGGHHHHHHIJJJJKLLLMLNNOPQQQQError: discarding)*+124567>?CDEHKOPQ67DD1:BDD#9DFG&?DELN# &'()*+,-.02345678A %8A%NB:99<#$9#9E;4$DDDDDDDDDDDDDDDDDDDDD0@DN?DDDDDDDDDDD;DEIJDFDFM?LD$9%;%9(#$99D@D??*JD9D#JError: poppingmemory exhaustedCleanup: discarding lookaheadCleanup: poppingsyntax error, unexpected %s, expecting %s or %s or %s or %ssyntax error, unexpected %s, expecting %s or %s or %ssyntax error, unexpected %s, expecting %s or %ssyntax error, unexpected %s, expecting %ssyntax error, unexpected %s$enderror$undefined")->""->""..""+=""-=""*=""/=""\\/=""\\=""%=""&&""||""===""==""!="">=""<="">>=""<<="">>""<<""\\/""++""--""integer""real number""variable name""character string"SEQDEFFUNCINTLVAL';'',''=''&''>''<''+''-''%''\\''/''*'SIGN'^''#''!''~''[''\'''.''('':'']''`'')''|'$acceptsequenceseqrangematrix_indexbacktickshistoryexprlvaluematrixeltsmatrixlinesininseqcompr$@1listargfuncidmemberiddefinition_===_[_.._][_|_<-_,_;_]%#forpariiforparistepforprime_initprime index read-only: was changed to %Psforcompositeindex read-only: was changed to %Psforvec [not a vector]forvec [expected vector not of type [min,MAX]][_|_<-_,_]dimensionvectorsmallnbcolsnbrowssumalt, k = %ld/%ldsumalt2, k = %ld/%ldf(a)f(b)solve recovery [too many iterations]solvestepsolvestep recovery [too many iterations]formal derivationlimitnumasympnumpolzag, i = %ld/%ldcheckalg [please apply alginit()]alg_get_relmultable [algebra not given via mult. table]alg_get_degree [use alginit]alg_get_dimalg_get_center [use alginit]alg_get_absdimalg_get_auts [non-cyclic algebra]alg_get_aut [non-cyclic algebra]alg_get_b [non-cyclic algebra]alg_get_splittingdata [algebra not given via mult. table]alg_get_splittingbasis [algebra not given via mult. table]alg_get_splittingbasisinv [algebra not given via mult. table]alg_get_splittingfield [use alginit]alg_get_splitpol [use alginit]alg_get_abssplitting [use alginit]alg_get_hasse_i [use alginit]computation of Hasse invariants over table CSAalg_get_hasse_f [use alginit]tensor of non-cyclic algebrastensor product [not the same center]tensor of cylic algebras of non-coprime degreesalg_cyclicdenominator(b)alcentralprojalcentralproj [z[i]'s not surjective]algprimesubalgcharacteristicalginvalgsubalgalgisassociativealgisassociative (mult. table)algindex [use alginit]algisdivision for table algebrasalgissplit [use alginit]algisramified [use alginit]algramifiedplaces [use alginit]alg_modelcheckalgxalM_add (rows)alM_add (columns)algalgtobasis [use alginit]alM_sub (rows)alM_sub (columns)algmulalgsplittingmatrixalg_type(al)algbasistoalg [use alginit]algdivlalgtrace_mat (nonsquare)algrandombalgpolevalbnfgwgeneric (no suitable p)nfgrunwaldwang>=nfgrunwaldwang [#Lpr != #Ld]nfgrunwaldwang [pl should have r1 components]#plnfgrunwaldwang for non prime-power local degrees (a)nfgrunwaldwang for non prime-power local degrees (b)nfgrunwaldwang for non prime-power local degrees (c)nfgrunwaldwang for non-prime degreecyclicrelfrobe(PR/pr)checkhasse [hf]checkhasse [Lpr]checkhasse [Lh]checkhasse [hi]checkhasse [hi should have r1 components]#hicheckhasse [Lpr and Lh should have same length]error in checkhasse [duplicate prime ideal]checkhasseHasse invariant at real place [must be 0 or 1/2]sum(Hasse invariants)alg_matrixnsubcycloindep (no suitable prime = 1(mod n))alg_hilbertdenominator(a)alginitalg_csa_tabledenominator(mt)(nonsquare) dimensionalgtableinitalglathnfhasseconvert [degree should be a denominator of the invariant]denom(h)ndivHasse invariant\algdivl (nonsquare)alM_mulalghasse_0 [use alginit]is_place_pridplalginv_i (nonsquare)algleftmultable_mat (nonsquare)aprclStarting APRCL with t = %ld aprcl: e(t) too smallStep4: %ld q-values testing Jacobi sums for q = %ld...OK Step5: testing conditions lp aprcl test fails! This is highly improbableIndividual Fermat powerings: %-3ld: %3ld Number of Fermat powerings = %lu Step6: testing potential divisors powpolmod: f = %ldellconvertnameellconvertname [incomplete name]ellsearchellsearchbynamenameellsearch [incomplete name]ellidentify [missing curve]%s/elldata/ell%ldelldata fileelldata file [read]ellfromeqn%s/galdata/NAM%ldGalois names files not available, please upgrade galdata [missing %s]galois file %sGaloisbig: polynomial #1 = %Ps EVENODD%s group galois in degree > 11%s/galdata/%s%ld_%ld_%ldCOSgalois filebin [not alphanumeric]fixprex [precision too large] ----> Group # %ld/%ld: more than %ld rational integer roots all integer roots are double roots Working with polynomial #%ld: tschirn $$$$$ Tschirnhaus transformation of degree %ld: $$$$$ Output of isin_%ld_G_H(%ld,%ld): %ld Reordering of the roots: ( %d ) Output of isin_%ld_G_H(%ld,%ld): not included. # rational integer roots = %ld: %ld^%ld %2ld: %Ps $$$$$ New prec = %ld gpoly [undefined invariant polynomial] *** Entering isin_%ld_G_H_(%ld,%ld) RESpartitions_galoisPartitions of %ld (%ld) i = %ld: %Ps %s/galpol/%ld/nbgalpol filegalpol file [incompatible]galoisgetpolindexcomplex%s/galpol/%ld/%ld/%sgroup indexgenus2redgenus(tame) p = %Ps (potential) stable reduction: %Ps reduction at p: %s, %Ps, f = %ld [I{0-0-0}] page 155[I{1-0-0}] page 170[I{2-0-0}] page 170[I{1-1-0}] page 179genus2localred [tt 1][I{0}-II-0] page 159genus2localred [tt 2]quadratc(Care: minimal discriminant over Z[i] smaller than over Z) genus2localred [tt 3][I{2-1-0}] page 179[I{1-1-1}] page 182[I{0}-III-0] page 161genus2localred [conductor][I{1}-II-0] page 172genus2localred [switch tt 4][V] page 156[V*] page 156[IX-2] page 157[VIII-4] page 157[IX-4] page 158genus2localred [tt 6]genus2localred [red1][II*-IV-(-1)] page 164[IV-III*-(-1)] page 167genus2localred [b0][IV] page 155[III] page 155genus2localred [c3][III*{%ld}] page 184[III{%ld}] page 184polymini_zi2 [polynomial not minimal]polymini_zi2 [alpha]quartic [type over Z[i] must be [K-K-(2*m)]]quartic [type choices][2I{%ld}-%ld] page 181[2I{0}-%ld] page 159[II] page 155[2I*{%ld}-%ld] pages 159, 181[2III-%ld] page 168[2III*-%ld] page 168[2II-%ld] page 162[2IV*-%ld] page 165[2IV-%ld] page 165[2II*-%ld] page 163quartic [type1]quartic [conductor]genus2localred [red2][VIII-1] page 156[IX-3] page 157[IX-1] page 157[VIII-3] page 157[VIII-2] page 157[VII] page 156[VII*] page 156genus2localred [index]genus2localred [padicfactors][II-II*{%ld}] page 176genus2localred [red3][IV*-II{0}] page 175[II*-III-(-1)] page 167genus2localred [tt 5]genus2localred [padicfactors 2][IV-II{%ld}] page 175[II*-II*{%ld}] page 176[II{%ld-%ld}] page 182[IV*-II{%ld}] page 175genus2localred [switch lambda]labelm3 [lambda = 3]labelm3 [R odd]labelm3 [R <= -2]labelm3 [val(eps2)]labelm3 [minimal equation][I*{0-0-0}] page 155tame_1 [bug1][VI] page 156tame_1 [bug8][I{%ld-0-0}] page 170[I*{%ld-0-0}] page 171[II*{%ld-0}] page 172[II{%ld-0}] page 171tame2 [bug10]tame2 [bug11]tame2 [bug12][III-II{%ld}] page 177[III*-II*{%ld}] page 178tame2 [bug13][III-II*{%ld}] page 178[III*-II{%ld}] page 178tame2 [bug14]tame2 [bug15]tame2 [bug16]tame2 [bug17][I{%ld-%ld-0}] page 179[I*{%ld-%ld-0}] page 180[2I{%ld}-0] page 181tame3 [bug20][III{%ld}] page 182tame3 [bug21][I{%ld-%ld-%ld}] page 182[I*{%ld-%ld-%ld}] page 183tame4 [bug23][II*{%ld-%ld}] page 184[II{%ld-%ld}] page 183tame4 [bug24]tame4 [bug25]tame4 [bug26][I{0}-I{0}-%ld] page 158[I*{0}-I*{0}-%ld] page 158[I{0}-I*{0}-%ld] page 159[IV-IV*-%ld] page 165[I{0}-IV-%ld] page 160[IV*-IV*-%ld] page 166[I{0}-IV*-%ld] page 160[IV-IV-%ld] page 165[III-III*-%ld] page 169[I{0}-III-%ld] page 161[I*{0}-III*-%ld] page 162[III-III-%ld] page 169[III*-III*-%ld] page 169tame5 [bug29][I{0}-III*-%ld] page 162[I*{0}-III-%ld] page 162[II-II*-%ld] page 163[I{0}-II-%ld] page 159[II*-IV-%ld] page 164[I*{0}-IV*-%ld] page 161[II-II-%ld] page 163[I*{0}-II*-%ld] page 160tame5 [bug30][II-IV-%ld] page 164[II*-IV*-%ld] page 164tame5 [bug31][I*{0}-II-%ld] page 160[II*-II*-%ld] page 163tame5 [bug32][I{0}-II*-%ld] page 160[II-IV*-%ld] page 164[I*{0}-IV-%ld] page 161tame5 [bug33][II*-III-%ld] page 166[IV-III*-%ld] page 167tame5 [bug34][II-III-%ld] page 166[IV*-III*-%ld] page 168tame5 [bug35][IV-III-%ld] page 167[II*-III*-%ld] page 167tame5 [bug36][IV*-III-%ld] page 168[II-III*-%ld] page 166tame5 [bug37]tame5 [bug38]tame5 [bug39][2I*{0}-%ld] page 159tame5 [bug40]tame5 [bug41]tame5 [bug42]tame5 [bug43][I{%ld}-I{0}-%ld] page 170[I*{0}-I*{%ld}-%ld] page 171tame6 [bug44][IV-I{%ld}-%ld] page 173[IV*-I{%ld}-%ld] page 173tame6 [bug45][III-I{%ld}-%ld] page 176[III*-I*{%ld}-%ld] page 177tame6 [bug46][III*-I{%ld}-%ld] page 176[III-I*{%ld}-%ld] page 177tame6 [bug47]tame6 [bug48][II-I{%ld}-%ld] page 172[IV*-I*{%ld}-%ld] page 174tame6 [bug49][II*-I*{%ld}-%ld] page 174[II-I*{%ld}-%ld] page 173[II*-I{%ld}-%ld] page 172[IV-I*{%ld}-%ld] page 174tame6 [bug50]tame6 [bug51]tame6 [bug52][I{%ld}-I{%ld}-%ld] page 179[I*{%ld}-I*{%ld}-%ld] page 180[I{%ld}-I*{%ld}-%ld] page 180[2I*{%ld}-%ld] page 181tame7 [bug55]tame567 [bug27]tame567 [bug29]sdivsi_remtame234 [bug9][I*{0}-I{0}-%ld] page 159discpart [must not reach]discpart [prod degree][I*{%ld}-I{%ld}-%ld] page 170[I*{%ld}-I{%ld}-%ld] page 180[I{%ld}-I*{%ld}-%ld] page 170litredtp [switch ri][%s-%s-%ld] pages %slitredtp [conductor]I{%ld}159-177I*{%ld}III161-177III*162-177II159-174IV*160-175IV160-174II*get_red [type]group_ident [not a group]galoisidentify for groups of order > 127padicfieldspadicfields [too many ramification possibilities] Computing extensions with decomposition [e, f, j] = [%ld, %ld, %ld] sdivsi Unramified part %Ps padicfields [too many extensions]There are %ld extensions to find and %Ps polynomials to consider considering polynomial %Ps %ld more extension%s (%ld/%ld, %ldms) GetSharp [no division]idealsqrtnrnfkummer[rnfkummer] conductorkummer for composite relative degreekummer [bug%ld]linear algebraStep 1 polred(compositum) = %Ps Step 2 [rnfkummer] compositumStep 3 [rnfkummer] bnfinit(Kz)[rnfkummer] Selmer groupStep 4 Step 5 isvirtualunitStep 6 Step 8 Step 9, 10 and 11 Step 12 Step 13 Step 14, 15 and 17 Step 16 Step 18 [rnfkummer] candidate listComputing Newton sums: %ld(%ld) polrel(beta) = %Ps reducing beta = %Ps beta reduced via ell-th root = %Ps reducebetabeta LLL-reduced mod U^l = %Ps beta reduced = %Ps rnfkummer [get_prlist]MPQS: number to factor N = %Ps MPQS: number too big to be factored with MPQS, giving upMPQS: factoring number of %ld decimal digits mpqs_find_k [ran out of primes]MPQS: found multiplier %ld for N manyseveralMPQS: factoring this number will take %s hours: N = %PsMPQS: kN = %Ps MPQS: kN has %ld decimal digits MPQS: Gauss elimination will require more than 128MBy of memory (estimated memory needed: %4.1fMBy) MPQS: creating factor base and allocating arrays... ,<%lu>MPQS: FB [-1,2,%lu] MPQS: sizing out of tune, FB size or tolerance too largeMPQS: computing logarithm approximations for p_i in FB MPQS: sizing out of tune, FB too small or way too few primes in AMPQS: sieving interval = [%ld, %ld] MPQS: size of factor base = %ld MPQS: striving for %ld relations MPQS: coefficients A will be built from %ld primes each MPQS: primes for A to be chosen near FB[%ld] = %ld MPQS: smallest prime used for sieving FB[%ld] = %ld MPQS: largest prime in FB = %ld MPQS: bound for `large primes' = %ld MPQS: sieve threshold = %u MPQS: first sorting at %ld%%, then every %3.1f%% / %3.1f%% MPQS: starting main loop MPQS%s/%sLPTMPFRELFNEWLPRELLPNEWCOMBMPQS: chose Q_%ld(x) = %Ps x^2 %c %Ps x + C MPQS: Ran out of primes for A, giving up. sMPQS: found %lu candidate%s %lu %lu%s :%s %s @ %s :%s MPQS: passing the %3.1f%% sort point, time = %ld ms MPQS: passing the %3.1f%% sort point r : 1 1 %ld %ld 0MPQS: combining {%ld @ %s : %s} * {%ld @ %s : %s} == {%s} output file [fputs]MPQS: combined %ld full relation%s MPQS: split N whilst combining, time = %ld ms MPQS: found factor = %Ps and combiningMPQS: done sorting%s, time = %ld ms MPQS: found %3.1f%% of the required relations MPQS: found %ld full relations MPQS: (%ld of these from partial relations) MPQS: Net yield: %4.3g full relations per 100 candidates MPQS: %4.3g full relations per 100 polynomials MPQS: %4.1f%% of the polynomials yielded no candidates MPQS: next sort point at %3.1f%% MPQS: starting Gauss over F_2 on %ld relations MPQS: allocating %ld words for Gauss full relations file [ftell]full relations file [strchr] longershorterMPQS: full relations file %s than expectedMPQS [panicking]\\ MATRIX READ BY MPQS FREL=%Ps \\ KERNEL COMPUTED BY MPQS KERNEL=%Ps MPQS: Gauss done: kernel has rank %ld, taking gcds... MPQS: no solutions found from linear system solverFREL file [fseek]FREL file [fgets][1]: mpqs_solve_linear_systemMPQS (relation is a nonsquare)[2]: mpqs_solve_linear_systemMPQS: X^2 - Y^2 != 0 mod N index i = %ld MPQS: wrong relation found after GaussMPQS: splitting N after %ld kernel vector%s MPQS: got two factors, looking for more... MPQS: resplitting a factor after %ld kernel vectors , looking for more...MPQS: got %ld factors%s [3]: mpqs_solve_linear_systemMPQS: wrapping up vector of %ld factors comp.unknown packaging %ld: %Ps ^%ld (%s) MPQS: time in Gauss and gcds = %ld ms MPQS: found factors = %Ps and %Ps MPQS: found %ld factors = , %Ps%s MPQS: no factors found. MPQS: restarting sieving ... MPQS: giving up. MPQS: decomposed a square 5th power7th powercubeMPQS: decomposed a %s output file [rename]MPQS: renamed file %s to %s error whilst flushing file %sMQPS: short of space -- another buffer for sorting MQPS: line wrap -- another buffer for sorting TMP file [fgets]MPQS: done sorting one file. MPQS: wrapping, more primes for A now chosen near FB[%ld] = %ld MPQS: new bit pattern for primes for A: 0x%lX MPQS: chose primes for A FB[%ld]=%ld%spartition functionnumbpart [n < 10^15]forpartforpart [expect vector of type [amin,amax]]forpart [expect 0<=min<=max, 0ulong assignmentgcd f_P does not divide n_p t_INT-->t_INT assignmentsol = %Ps T->partrel = %Ps * Checking for small solutions <= %Ps thue (SmallSols): y <= %PsSmallSols* real root no %ld/%ld c10 = %Ps c13 = %Ps - norm sol. no %ld/%ld B0 -> %Ps CF failed. Increasing kappa Semirat. reduction: B0 -> %Ps thue (totally rational case) Entering LLL... C (bitsize) : %d LLL_First_Pass successful B0 -> %Ps x <= %Ps LLL failed. Increasing kappa Semirat. reduction: B0 -> %Ps x <= %Ps Checking (+/- %Ps, +/- %Ps) thue [short continued fraction]thue [realroots] B0 = %Ps Baker = %Ps looking for a fundamental unit of norm -1 missing units in bnf%Ps eliminated because of sign inithuec1 = %Ps c2 = %Ps Indice <= %Ps epsilon_3 -> %Ps ### Errors on startup, exiting... version-short%lu.%lu.%lu versiontexmacsemacstestquietfastprimelimitstacksizeCopyright (C) 2000-2016 The PARI GroupPARI/GP is free software, covered by the GNU General Public License, and comes WITHOUT ANY WARRANTY WHATSOEVER. Type ? for help, \q to quit. Type ?15 for how to get moral (and possibly technical) support. parisizemax = %lu, primelimit = %lu parisize = %lu, primelimit = %lu, nbthreads = %luGoodbye! breakpointvbreakpoint(): interrupt the program and enter the breakloop. The program continues when the breakloop is exited.dbg_downvD1,L,dbg_down({n=1}): (break loop) go down n frames. Cancel a previous dbg_up.dbg_errdbg_err(): (break loop) return the error data of the current error, if any.dbg_updbg_up({n=1}): (break loop) go up n frames. Allow to inspect data of the parent function.quitvD0,L,quit({status = 0}): quit, return to the system with exit status 'status'.vrwhatnow(key): if key was present in GP version 1.39.15, gives the new function name.vV=GGEDGDGpplot(X=a,b,expr,{Ymin},{Ymax}): crude plot of expression expr, X goes from a to b, with Y ranging from Ymin to Ymax. If Ymin (resp. Ymax) is not given, the minimum (resp. the maximum) of the expression is used instead.vLGGplotbox(w,x2,y2): if the cursor is at position (x1,y1), draw a box with diagonal (x1,y1) and (x2,y2) in rectwindow w (cursor does not move).plotclipvLplotclip(w): clip the contents of the rectwindow to the bounding box (except strings).vLLplotcolor(w,c): in rectwindow w, set default color to c. Possible values for c are given by the graphcolormap default: factory settings are 1=black, 2=blue, 3=sienna, 4=red, 5=green, 6=grey, 7=gainsborough.vLLGGD0,L,plotcopy(sourcew,destw,dx,dy,{flag=0}): copy the contents of rectwindow sourcew to rectwindow destw with offset (dx,dy). If flag's bit 1 is set, dx and dy express fractions of the size of the current output device, otherwise dx and dy are in pixels. dx and dy are relative positions of northwest corners if other bits of flag vanish, otherwise of: 2: southwest, 4: southeast, 6: northeast corners.Lplotcursor(w): current position of cursor in rectwindow w.vGD0,L,plotdraw(list, {flag=0}): draw vector of rectwindows list at indicated x,y positions; list is a vector w1,x1,y1,w2,x2,y2,etc. If flag!=0, x1, y1 etc. express fractions of the size of the current output device.V=GGEpD0,M,D0,L, Parametric|1; Recursive|2; no_Rescale|4; no_X_axis|8; no_Y_axis|16; no_Frame|32; no_Lines|64; Points_too|128; Splines|256; no_X_ticks|512; no_Y_ticks|1024; Same_ticks|2048; Complex|4096ploth(X=a,b,expr,{flags=0},{n=0}): plot of expression expr, X goes from a to b in high resolution. Both flags and n are optional. Binary digits of flags mean: 1=Parametric, 2=Recursive, 4=no_Rescale, 8=no_X_axis, 16=no_Y_axis, 32=no_Frame, 64=no_Lines (do not join points), 128=Points_too (plot both lines and points), 256=Splines (use cubic splines), 512=no_X_ticks, 1024= no_Y_ticks, 2048=Same_ticks (plot all ticks with the same length), 4096=Complex (the two coordinates of each point are encoded as a complex number). n specifies number of reference points on the graph (0=use default value). Returns a vector for the bounding box.GGD0,L,plothraw(listx,listy,{flag=0}): plot in high resolution points whose x (resp. y) coordinates are in listx (resp. listy). If flag is 1, join points, other non-0 flags should be combinations of bits 8,16,32,64,128,256 meaning the same as for ploth().plothsizesD0,L,plothsizes({flag=0}): returns array of 6 elements: terminal width and height, sizes for ticks in horizontal and vertical directions, width and height of characters. If flag=0, sizes of ticks and characters are in pixels, otherwise are fractions of the screen size.vLDGDGD0,L,plotinit(w,{x},{y},{flag=0}): initialize rectwindow w to size x,y. If flag!=0, x and y express fractions of the size of the current output device. Omitting x or y means use the full size of the device.plotkill(w): erase the rectwindow w.vLGGD0,L,plotlines(w,X,Y,{flag=0}): draws an open polygon in rectwindow w where X and Y contain the x (resp. y) coordinates of the vertices. If X and Y are both single values (i.e not vectors), draw the corresponding line (and move cursor). If (optional) flag is non-zero, close the polygon.plotlinetypeplotlinetype(w,type): change the type of following lines in rectwindow w. type -2 corresponds to frames, -1 to axes, larger values may correspond to something else. w=-1 changes highlevel plotting.plotmove(w,x,y): move cursor to position x,y in rectwindow w.plotpoints(w,X,Y): draws in rectwindow w the points whose x (resp y) coordinates are in X (resp Y). If X and Y are both single values (i.e not vectors), draw the corresponding point (and move cursor).plotpointsizevLGplotpointsize(w,size): change the "size" of following points in rectwindow w. w=-1 changes global value.plotpointtypeplotpointtype(w,type): change the type of following points in rectwindow w. type -1 corresponds to a dot, larger values may correspond to something else. w=-1 changes highlevel plotting.plotrbox(w,dx,dy): if the cursor is at (x1,y1), draw a box with diagonal (x1,y1)-(x1+dx,y1+dy) in rectwindow w (cursor does not move).plotrecthLV=GGEpD0,M,D0,L, Parametric|1; Recursive|2; no_Rescale|4; no_X_axis|8; no_Y_axis|16; no_Frame|32; no_Lines|64; Points_too|128; Splines|256; no_X_ticks|512; no_Y_ticks|1024; Same_ticks|2048; Complex|4096plotrecth(w,X=a,b,expr,{flag=0},{n=0}): writes to rectwindow w the curve output of ploth(w,X=a,b,expr,flag,n). Returns a vector for the bounding box.plotrecthrawLGD0,L,plotrecthraw(w,data,{flags=0}): plot graph(s) for data in rectwindow w, where data is a vector of vectors. If plot is parametric, length of data should be even, and pairs of entries give curves to plot. If not, first entry gives x-coordinate, and the other ones y-coordinates. Admits the same optional flags as plotrecth, save that recursive plot is meaningless.plotrline(w,dx,dy): if the cursor is at (x1,y1), draw a line from (x1,y1) to (x1+dx,y1+dy) (and move the cursor) in the rectwindow w.plotrmove(w,dx,dy): move cursor to position (dx,dy) relative to the present position in the rectwindow w.plotrpoint(w,dx,dy): draw a point (and move cursor) at position dx,dy relative to present position of the cursor in rectwindow w.vLGGGGplotscale(w,x1,x2,y1,y2): scale the coordinates in rectwindow w so that x goes from x1 to x2 and y from y1 to y2 (y2 to continue; 'break' to go back to GP promptBreak loop: type 'break' to go back to GP prompt %cverbatim:missing DATA_[BEGIN | END] in TeXmacs commandspecial:unrecognized TeXmacs commandmissing enclosing parentheses for TeXmacs commandcompleteTexmacs command %s not implementedwas expecting 2 arguments for Texmacs command%clatex:\magenta\%%%ld = $\blue %s$%c!_As far as I can recall, this function never existedThis function did not change A function with that name existed in GP-1.39.15. Please update your script.This function no longer existsx*y_*_whatnowNew syntax: %s%s ===> %s%s #_%+_-__!_!=__%=__%__&&__'_*=__++_+=__+__--_-=__-__.a1_.a2_.a3_.a4_.a6_.area_.b2_.b4_.b6_.b8_.bid_.bnf_.c4_.c6_.clgp_.codiff_.cyc_.diff_.disc_.e_.eta_.f_.fu_.futu_.gen_.group_.index_.j_.mod_.nf_.no_.omega_.orders_.p_.pol_.r1_.r2_.reg_.roots_.sign_.t2_.tate_.tu_.tufu_.zk_.zkst_/=__/__<<=__<<__<=__<__==__>=__>>=__>>__>__[_.._,_.._]_[_.._]_\/=__\/__\=__\__^__^s___derivfun_eval_mnemonic_multi_if_void_if_||__~OO(_^_)Strabsacosacoshaddellelladd(e,z1,z2)addprimesadjmatadjoint(x)agmakellellak(e,n)algdepalgdep2(x,n,dec)algtobasisnfalgtobasis(nf,x)anellellanapellellapapell2apprpadicpadicappr(x,a)argasinasinhassmatmatcompanionatanatanhbasisnfbasisbasis2(x,2)basistoalgnfbasistoalgbernrealbernvecbestapprbezoutgcdext(a,b)bezoutresbigomegabilhellellbilbinbinomial(x,y)binarybittestboundcfcontfrac(x,lmax)(x,,lmax)boundfactfactor(x,lim)buchcertifybnfcertify(bnf)buchfubuchgenbuchgenforcefubuchgenfubuchimagquadclassunit(D,c1,c2,g)(D,,[c1,c2,g])buchinitbnfinit(P)(P,2)buchinitforcefu(P,1)buchinitfubuchnarrowbnfnarrowbuchraybnrinit(bnf,ideal)buchrayinitbuchrayinitgen(bnf,ideal,1)buchreal(D)bytesizesizebyteceilcenterliftcfcf2(b,x)(x,b)changevarcharcharpolychar1(x,y,1)char2(x,y,2)chellellchangecurvechinesechptellellchangepointclassnoqfbclassnoclassno2(x,1)coeffpolcoeff(x,s)compimagcompocomponentcompositumpolcompositum(pol1,pol2)compositum2(pol1,pol2,1)comprealrawqfbcomprawconcatconductorbnrconductor(a1)conductorofcharbnrconductorofchar(bnr,chi)conjconjveccontentconvolserconvolcorecore2coredisccoredisc2coscoshcvtoitruncate(x,&e)cyclopolcyclo(n)decodefactorfactorback(fa)decodemodulebnfdecodemodule(nf,fa)degreepoldegreedenomdenominatordeplinlindep(x,-1)derivdetmatdetdet2detintmatdetintdiagonalmatdiagonaldilogdirdivdireulerdirmuldirzetakdiscpoldiscdiscfnfdiscdiscf2discrayabsbnrdisc(bnr,subgroup)discrayabscond(bnr)(bnr,,,2)discrayabslistbnrdisclist(bnf,list)discrayabslistarch(bnf,arch,bound)(bnf,bound,arch)discrayabslistarchall(bnf,bound)(bnf,bound,,1)discrayabslistlongdiscrayrel(bnr,subgroup,,1)discrayrelcond(bnr,subgroup,,3)divisorsdivresdivremdivsumsumdiv(n,X,expr)eigenmateigeneint1erfcetaeulerEulerevalexpextractvecextractfactfactorialfactcantorfactorcantor(x,p)factfqfactorff(x,p,a)factmodfactormodfactoredbasis(x,,p)factoreddiscffactoredpolredpolredfactoredpolred2(x,2,p)factornffactorpadicfactorpadic2(x,p,r)(x,p,r,1)factpol(x,l,hint)factpol2fibofibonaccifloorforfordivforprimeforstepforvecfpnffinit(p,n)fracgaloispolgaloisgaloisapplynfgaloisapply(nf,aut,x)galoisconjnfgaloisconj(nf)galoisconj1(nf,2)galoisconjforce(nf,1)gamhgammahgammagaussmatsolvegaussmodulomatsolvemod(M,D,Y)gaussmodulo2(M,D,Y,1)gcdgetheapgetrandgetstackgettimeglobalredellglobalredgotohclassnoqfbhclassnohellellheight(e,x)hell2(e,x,1)hermitemathnfhermite2hermitehavashermitemodmathnfmod(x,d)hermitemodidmathnfmodidhermiteperm(x,3)hessmathesshilbhilbertmathilberthilbp(x,y,p)hvectorvectorhyperuiIidealaddidealaddmultoneidealaddtoone(nf,list)idealaddone(nf,x,y)idealappridealapprfact(nf,x,1)idealchineseidealcoprimeidealdividealdivexact(nf,x,y,1)idealfactoridealhermiteidealhnfidealhermite2idealintersectidealinvidealinv2ideallistideallistarchideallistarchgen(nf,list,arch)ideallistunit(nf,list,2)ideallistunitarchideallistunitarchgenideallistunitgen(nf,list,3)ideallistzstar(nf,bound)ideallistzstargen(nf,bound,1)ideallllredidealred(nf,x,vdir)idealmulidealmulredidealnormidealpowidealpowredidealtwoeltidealtwoelt2(nf,x,a)idealvalidmatmatidifimagimagematimageimage2imagecomplmatimagecomplincgamincgam1incgam2incgam3incgam4(s,x,y)indexrankmatindexrankindsortvecsort(x,,1)initalgnfinit(pol)initalgredinitalgred2initellellinitinitzetaintegintformalintersectmatintersectintgenintnum(x=a,b,s)(x=a,b,s,1)intinf(x=a,b,s,2)intopen(x=a,b,s,3)inverseimagematinverseimageisdiagonalmatisdiagonalisfundisfundamentalisidealnfisidealisinclnfisinclisinclfast(nf1,nf2)(nf1,nf2,1)isirreduciblepolisirreducibleisisomnfisisomisisomfastisoncurveellisoncurveisprimeisprincipalbnfisprincipal(bnf,x)(bnf,x,0)isprincipalforce(bnf,x,2)isprincipalgenisprincipalgenforce(bnf,x,3)isprincipalraybnrisprincipalisprincipalraygenispspispseudoprimeisqrtsqrtintissetsetissetissqfreeissquarefreeissquareisunitbnfisunitjacobiqfjacobijbesselhbesseljh(n,x)jellelljkaramulkbesselbesselk(nu,x)kbessel2kermatkerkerikerintmatkerintkerint1kerint2krokroneckerlabellambdaklaplaceserlaplacelcmlegendrepollegendrelengthlexlexsort(x,,2)liftlindep2lllqfllllll1lllgen(x,8)lllgramqflllgramlllgram1lllgramgenlllgramintlllgramkerim(x,4)lllgramkerimgen(x,5)lllintlllintpartiallllkerimlllkerimgenlllratlnloglngammalocalredelllocalred(e)logagmlseriesellelllseries(e,s,N,A)(e,s,A)makebigbnf(sbnf)matMatmatextract(x,y,z)mathellellheightmatrixmatrixmatrixqzmatrixqz2matrixqz3(x,-2)matsizemaxminminidealidealmin(nf,ix,vdir)minimqfminim(x,bound,maxnum)minim2(x,bound)(x,bound,,1)modModmodpmodreversemodulargcdmumoebiusnewtonpolynextprimenfdetintnfdivnfeltdiv(nf,a,b)nfdiveucnfeltdiveucnfdivresnfeltdivremnfhermitenfhnfnfhermitemodnfhnfmod(nf,x,detx)nfmodnfeltmodnfmulnfeltmulnfpownfeltpow(nf,a,k)nfreducenfeltreduce(nf,a,id)nfsmithnfsnfnfvalnfeltval(nf,a,pr)normnorml2nucompqfbnucomp(x,y,l)numdivnumernumeratornupowqfbnupow(x,n)oomegaordellellordinateorderznorderorderellellorderordredpolredordpadicprecpascalmatpascalperfqfperfection(a)permutationnumtoperm(n,k)permutation2numpermtonum(vect)pfqfbprimeformphieulerphipiPipnqncontfracpnqnpointellellztopoint(e,z)polintpolinterpolate(xa,ya,x)(xa,ya,p)polred2polredabspolredabs2polredabsallpolredabsfastpolredabsnoredpolsympolvarvariablepolyPol(x,v)polylogpolylogd(m,x)(m,x,1)polylogdold(m,x,2)polylogp(m,x,3)polyrevPolrevpolzagpolzagier(n,m)powellellmul(e,x,n)powrealrawqfbpowrawprecprecisionprimeprimedecidealprimedec(nf,p)primesprimrootznprimrootprincipalidealprincipalideleprod(x,X=a,b,expr)(X=a,b,expr,x)prodeulerprodinfprodinf1(X=a,expr)(X=a,expr,1)psiqfiQfb(a,b,c)qfr(a,b,c,d)quaddiscquadgenquadpolyrandomrankmatrankrayclassnobnrclassnorayclassnolistbnrclassnolist(bnf,liste)realrecippolrecipredimagqfbredredrealredrealnod(x,2,,d)reduceddiscpoldiscreduced(f)regulaquadregulatorreorderresultantpolresultantresultant2reverseserreverserhorealrhorealnod(x,3,,d)rndtoiroundrnfbasisrnfdiscfrnfdisc(nf,pol)rnfequationrnfequation2(nf,pol,1)rnfhermitebasisrnfhnfbasis(bnf,order)rnfisfreernflllgramrnfpolredrnfpseudobasisrnfsteinitzrootmodpolrootsmodrootmod2(x,p,1)rootpadicpolrootspadicrootspolrootsrootsof1nfrootsof1rootsoldrounderrorseriesSersetSetsetintersectsetminussetrandsetsearchsetunionshiftshiftmulsigmasigmak(k,x)(x,k)signsignatqfsignsignunitbnfsignunitsimplefactmodsimplifysinsinhsizesizedigitsmallbasissmallbuchinitbnfcompresssmalldiscfsmallfact(x,0)smallinitellsmallpolredsmallpolred2smithmatsnfsmith2smithcleansmithpolsolvesortsqrsqredqfgaussredsqrtsrgcdsturmpolsturmsturmpart(x,a,b)subcyclopolsubcyclo(p,d)subellellsub(e,a,b)substsumsumaltsumalt2suminfsumpossumpos2supplementmatsupplementsylvestermatrixpolsylvestermatrixsystemtanhtaniyamaelltaniyamataylortchebipolchebyshevteichteichmullerthetathetanullkthreetotwothreetotwo2torsellelltorstracetransmattransposetrunctschirnhauspoltschirnhaustwototwounitquadunituntilvaluationvecVecvecindexsortveclexsortvecmaxvecminvvectorvectorvweipellellwpwfweberwf2whilezellellpointtoz(e,P)zetazetaklfun(nfz,s)(L,s)zideallogideallog(nf,x,bid)zidealstaridealstar(nf,I)zidealstarinit(nf,id)(nf,id,1)zidealstarinitgen(nf,id,2)znstarallocatememboxplotboxplotcolor(w,c)cursorplotcursor(w)defaultdrawplotdraw(list)plotinit(w,x,y)killkillrectplotkilllineplotlines(w,x2,y2)linesmoveplotmoveplotploth2(X=a,b,expr)(X=a,b,expr,1)plothmultplothrawpointplotpointspointspostdrawpsdrawpostplothpsplothpostploth2postplothrawpsplothraw(listx,listy)pprintpprint1printprint1rboxplotrbox(w,dx,dy)readinputrlineplotrlinerlinesplotrlines(w,dx,dy,1)rmoveplotrmoverpointplotrpointrpointsplotrpointsscaleplotscale(w,x1,x2,y1,y2)setprecision(realprecision,n)setserieslength(seriesprecision,n)settypetype(x,t)stringplotstring(w,x)texprintprinttexintfouriercosintfouriersinintfourierexpintlaplaceinvintmellininvintmellininvshortzetakinitlfuninit(T)(T,sdom)gtodouble [t_REAL expected]%9.*g%s %10s%-9.7g%*.7g graphic functionrectwindow<>graphic function [use plotinit() first]initrectt_INT-->long assignmentx<=yrectcolorcolormallocing NULL objectrectpointsrectlinesplotcopydxdyploth#pointsploth [not a t_VEC with PLOT_PARAMETRIC]ploth [parametric ploc with odd # of components]ploth [not a t_VEC]ploth [multi-curves cannot be plot recursively]lg()rectplothgtodblList%%! 50 50 translate /p {moveto 0 2 rlineto 2 0 rlineto 0 -2 rlineto closepath fill} def /l {lineto} def /m {moveto} def /Times-Roman findfont %ld scalefont setfont %g %g scale aunknown color %ssnowghostwhitewhitesmokegainsborofloralwhiteoldlacelinenantiquewhitepapayawhipblanchedalmondbisquepeachpuffnavajowhitemoccasincornsilkivorylemonchiffonseashellhoneydewmintcreamazurealicebluelavenderlavenderblushmistyrosewhiteblackdarkslategraydarkslategreydimgraydimgreyslategrayslategreylightslategraylightslategreygraygreylightgreylightgraymidnightbluenavynavybluecornflowerbluedarkslateblueslatebluemediumslatebluelightslatebluemediumblueroyalbluebluedodgerbluedeepskyblueskybluelightskybluesteelbluelightsteelbluelightbluepowderbluepaleturquoisedarkturquoisemediumturquoiseturquoisecyanlightcyancadetbluemediumaquamarineaquamarinedarkgreendarkolivegreendarkseagreenseagreenmediumseagreenlightseagreenpalegreenspringgreenlawngreengreenchartreusemediumspringgreengreenyellowlimegreenyellowgreenforestgreenolivedrabdarkkhakikhakipalegoldenrodlightgoldenrodyellowlightyellowyellowgoldlightgoldenrodgoldenroddarkgoldenrodrosybrownindianredsaddlebrownsiennaperuburlywoodbeigewheatsandybrowntanchocolatefirebrickbrowndarksalmonsalmonlightsalmonorangedarkorangecorallightcoraltomatoorangeredredhotpinkdeeppinkpinklightpinkpalevioletredmaroonmediumvioletredvioletredmagentavioletplumorchidmediumorchiddarkorchiddarkvioletbluevioletpurplemediumpurplethistlesnow1snow2snow3snow4seashell1seashell2seashell3seashell4antiquewhite1antiquewhite2antiquewhite3antiquewhite4bisque1bisque2bisque3bisque4peachpuff1peachpuff2peachpuff3peachpuff4navajowhite1navajowhite2navajowhite3navajowhite4lemonchiffon1lemonchiffon2lemonchiffon3lemonchiffon4cornsilk1cornsilk2cornsilk3cornsilk4ivory1ivory2ivory3ivory4honeydew1honeydew2honeydew3honeydew4lavenderblush1lavenderblush2lavenderblush3lavenderblush4mistyrose1mistyrose2mistyrose3mistyrose4azure1azure2azure3azure4slateblue1slateblue2slateblue3slateblue4royalblue1royalblue2royalblue3royalblue4blue1blue2blue3blue4dodgerblue1dodgerblue2dodgerblue3dodgerblue4steelblue1steelblue2steelblue3steelblue4deepskyblue1deepskyblue2deepskyblue3deepskyblue4skyblue1skyblue2skyblue3skyblue4lightskyblue1lightskyblue2lightskyblue3lightskyblue4slategray1slategray2slategray3slategray4lightsteelblue1lightsteelblue2lightsteelblue3lightsteelblue4lightblue1lightblue2lightblue3lightblue4lightcyan1lightcyan2lightcyan3lightcyan4paleturquoise1paleturquoise2paleturquoise3paleturquoise4cadetblue1cadetblue2cadetblue3cadetblue4turquoise1turquoise2turquoise3turquoise4cyan1cyan2cyan3cyan4darkslategray1darkslategray2darkslategray3darkslategray4aquamarine1aquamarine2aquamarine3aquamarine4darkseagreen1darkseagreen2darkseagreen3darkseagreen4seagreen1seagreen2seagreen3seagreen4palegreen1palegreen2palegreen3palegreen4springgreen1springgreen2springgreen3springgreen4green1green2green3green4chartreuse1chartreuse2chartreuse3chartreuse4olivedrab1olivedrab2olivedrab3olivedrab4darkolivegreen1darkolivegreen2darkolivegreen3darkolivegreen4khaki1khaki2khaki3khaki4lightgoldenrod1lightgoldenrod2lightgoldenrod3lightgoldenrod4lightyellow1lightyellow2lightyellow3lightyellow4yellow1yellow2yellow3yellow4gold1gold2gold3gold4goldenrod1goldenrod2goldenrod3goldenrod4darkgoldenrod1darkgoldenrod2darkgoldenrod3darkgoldenrod4rosybrown1rosybrown2rosybrown3rosybrown4indianred1indianred2indianred3indianred4sienna1sienna2sienna3sienna4burlywood1burlywood2burlywood3burlywood4wheat1wheat2wheat3wheat4tan1tan2tan3tan4chocolate1chocolate2chocolate3chocolate4firebrick1firebrick2firebrick3firebrick4brown1brown2brown3brown4salmon1salmon2salmon3salmon4lightsalmon1lightsalmon2lightsalmon3lightsalmon4orange1orange2orange3orange4darkorange1darkorange2darkorange3darkorange4coral1coral2coral3coral4tomato1tomato2tomato3tomato4orangered1orangered2orangered3orangered4red1red2red3red4debianreddeeppink1deeppink2deeppink3deeppink4hotpink1hotpink2hotpink3hotpink4pink1pink2pink3pink4lightpink1lightpink2lightpink3lightpink4palevioletred1palevioletred2palevioletred3palevioletred4maroon1maroon2maroon3maroon4violetred1violetred2violetred3violetred4magenta1magenta2magenta3magenta4orchid1orchid2orchid3orchid4plum1plum2plum3plum4mediumorchid1mediumorchid2mediumorchid3mediumorchid4darkorchid1darkorchid2darkorchid3darkorchid4purple1purple2purple3purple4mediumpurple1mediumpurple2mediumpurple3mediumpurple4thistle1thistle2thistle3thistle4gray0grey0gray1grey1gray2grey2gray3grey3gray4grey4gray5grey5gray6grey6gray7grey7gray8grey8gray9grey9gray10grey10gray11grey11gray12grey12gray13grey13gray14grey14gray15grey15gray16grey16gray17grey17gray18grey18gray19grey19gray20grey20gray21grey21gray22grey22gray23grey23gray24grey24gray25grey25gray26grey26gray27grey27gray28grey28gray29grey29gray30grey30gray31grey31gray32grey32gray33grey33gray34grey34gray35grey35gray36grey36gray37grey37gray38grey38gray39grey39gray40grey40gray41grey41gray42grey42gray43grey43gray44grey44gray45grey45gray46grey46gray47grey47gray48grey48gray49grey49gray50grey50gray51grey51gray52grey52gray53grey53gray54grey54gray55grey55gray56grey56gray57grey57gray58grey58gray59grey59gray60grey60gray61grey61gray62grey62gray63grey63gray64grey64gray65grey65gray66grey66gray67grey67gray68grey68gray69grey69gray70grey70gray71grey71gray72grey72gray73grey73gray74grey74gray75grey75gray76grey76gray77grey77gray78grey78gray79grey79gray80grey80gray81grey81gray82grey82gray83grey83gray84grey84gray85grey85gray86grey86gray87grey87gray88grey88gray89grey89gray90grey90gray91grey91gray92grey92gray93grey93gray94grey94gray95grey95gray96grey96gray97grey97gray98grey98gray99grey99gray100grey100darkgreydarkgraydarkbluedarkcyandarkmagentadarkredlightgreen(\)(%s) %ld %ld m 90 rotate show -90 rotate %ld %ld m %ld %ld l stroke %ld %ld p %ld %ld m %ld %ld l %ld %ld l %ld %ld l closepath %ld %ld m %ld %ld l non-existent color: %ld%f %f %f setrgbcolor rectdrawgtos [integer expected]%.5gToo few points (%ld) for spline plotexpo()get_xy=cxcompotorgtofpplotps.pswpostscript file0 %ld translate -90 rotate stroke showpage GP_POSTSCRIPT_VIEWERopen -W%s "%s" 2>/dev/nullT!" K  'hnopqb ($ %#}&*+<=>?CGJMXYZ[\]^_`acdefgijklrstyz{|Illegal byte sequenceDomain errorResult not representableNot a ttyPermission deniedOperation not permittedNo such file or directoryNo such processFile existsValue too large for data typeNo space left on deviceOut of memoryResource busyInterrupted system callResource temporarily unavailableInvalid seekCross-device linkRead-only file systemDirectory not emptyConnection reset by peerOperation timed outConnection refusedHost is downHost is unreachableAddress in useBroken pipeI/O errorNo such device or addressBlock device requiredNo such deviceNot a directoryIs a directoryText file busyExec format errorInvalid argumentArgument list too longSymbolic link loopFilename too longToo many open files in systemNo file descriptors availableBad file descriptorNo child processBad addressFile too largeToo many linksNo locks availableResource deadlock would occurState not recoverablePrevious owner diedOperation canceledFunction not implementedNo message of desired typeIdentifier removedDevice not a streamNo data availableDevice timeoutOut of streams resourcesLink has been severedProtocol errorBad messageFile descriptor in bad stateNot a socketDestination address requiredMessage too largeProtocol wrong type for socketProtocol not availableProtocol not supportedSocket type not supportedNot supportedProtocol family not supportedAddress family not supported by protocolAddress not availableNetwork is downNetwork unreachableConnection reset by networkConnection abortedNo buffer space availableSocket is connectedSocket not connectedCannot send after socket shutdownOperation already in progressOperation in progressStale file handleRemote I/O errorQuota exceededNo medium foundWrong medium typeNo error informationsh-c/bin/shrwa  !"#  !"#              0123456789ABCDEF-+ 0X0x(null)-0X+0X 0X-0x+0x 0xinfINFnanNAN.