{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 8 4 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 1 24 0 0 0 0 0 0 1 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 256 "" 0 "" {TEXT -1 30 "TD maple n\2604 - 12 oct obre 2001" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 24 "Fonction \"irreduct ibles\"" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "L:=Factors(X^6-4) mod 3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG7$\"\"\"7$7$,&%\"XGF& \"\"#F&\"\"$7$,&F*F&F&F&F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "map(t->t[1],op(2,L));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$,&%\"XG \"\"\"\"\"#F&,&F%F&F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " f:=x->degree(op(1,x))=3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGR6#% \"xG6\"6$%)operatorG%&arrowGF(/-%'degreeG6#-%#opG6$\"\"\"9$\"\"$F(F(F( " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 232 "irreductibles:=proc(X, n,p)\nlocal temp,L,L2,result;\n\ntemp:=Factors(X^(p^n)-X) mod p; # ON \+ TRAVAILLE MOD P et (F)actors est utile ...\n\nL:=op(2,temp);\nL2:=map( t->t[1],L);\n\nresult:=select(toto->degree(toto,X)=n,L2);\nRETURN(resu lt);\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%.irreductiblesGR6%%\"X G%\"nG%\"pG6&%%tempG%\"LG%#L2G%'resultG6\"F/C'>8$-%$modG6$-%(FactorsG6 #,&)9$)9&9%\"\"\"F;!\"\"F=>8%-%#opG6$\"\"#F2>8&-%$mapG6$R6#%\"tGF/6$%) operatorG%&arrowGF/&F;6#F?F/F/F/FB>8'-%'selectG6$R6#%%totoGF/FOF//-%'d egreeG6$F;T$T&F/F/6&F'F;F(F>FH-%'RETURNG6#FUF/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "irreductibles(X,4,2);" }{TEXT -1 1 " " }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7%,,*$)%\"XG\"\"%\"\"\"\"\"\"*$)F'\"\" $F)F**$)F'\"\"#F)F*F'F*F*F*,(F%F*F+F*F*F*,(F%F*F'F*F*F*" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 27 "Lucas du TP2, pour info ..." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 167 "lucas_old:=proc(n,a,list_q)\nlocal i,aux;\nfor i from 1 to nops(list_q)\ndo\n aux:=a&^((n-1)/list_q[i] ) mod n;\n if aux=1 then RETURN(false); fi;\nod;\nRETURN(true);\nend ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%*lucas_oldGR6%%\"nG%\"aG%'list_ qG6$%\"iG%$auxG6\"F-C$?(8$\"\"\"F1-%%nopsG6#9&%%trueGC$>8%-%$modG6$-%# &^G6$9%*&,&9$F1!\"\"F1\"\"\"&F56#F0!\"\"FC@$/F9F1-%'RETURNG6#%&falseG- FL6#F6F-F-F-" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 21 "Fonction \"gene rateur\"" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "readlib(ifactors ):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 67 "decoupe:=proc(n)\n \+ RETURN(map(t->op(1,t),op(2,ifactors(n))));\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(decoupeGR6#%\"nG6\"F(F(-%'RETURNG6#-%$mapG6$R6#%\"tG F(6$%)operatorG%&arrowGF(-%#opG6$\"\"\"9$F(F(F(-F66$\"\"#-%)ifactorsG6 #F9F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "decoupe(10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"#\"\"&" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 309 "generateur:=proc(f,p,X,g)\n\nlocal list_div,i ,n,q;\nn:=degree(f,X);\nq:=p^n; # nb elements dans le corps\nlist_div: =decoupe(q-1);\n\nif Powmod(g,q-1,f,X) mod p <>1 then RETURN(false) fi ;\nfor i from 1 to nops(list_div)\ndo\n if Powmod(g,(q-1)/list_div[i ],f,X) mod p = 1 then RETURN(false) fi;\nod;\n\nRETURN(true);\nend;\n " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%+generateurGR6&%\"fG%\"pG%\"XG% \"gG6&%)list_divG%\"iG%\"nG%\"qG6\"F0C(>8&-%'degreeG6$9$9&>8')9%F3>8$- %(decoupeG6#,&F:\"\"\"!\"\"FC@$0-%$modG6$-%'PowmodG6&9'FBF7F8F%%trueG@$/-FH6$-FK6&FM*&FB\"\"\"&F> 6#FS!\"\"F7F8F " 0 "" {MPLTEXT 1 0 26 "generateur(x^4+x+1,2,x,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "g enerateur(x^4+x^2+x+1,2,x,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&fal seG" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 19 "Fonction \"primitif\"" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "primitif:=proc(f,X,p)\nRETU RN(generateur(f,p,X,X));\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)p rimitifGR6%%\"fG%\"XG%\"pG6\"F*F*-%'RETURNG6#-%+generateurG6&9$9&9%F3F *F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 168 "list_prims:=proc( n,p,X) # primitifs de degr\351 n modulo p, en X\nlocal list_init,list_ res,i,L;\n\nlist_init:=irreductibles(X,n,p);\nselect(f->primitif(f,X,p ),list_init)\n\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+list_primsG R6%%\"nG%\"pG%\"XG6&%*list_initG%)list_resG%\"iG%\"LG6\"F/C$>8$-%.irre ductiblesG6%9&9$9%-%'selectG6$R6#%\"fGF/6$%)operatorG%&arrowGF/-%)prim itifG6%F7T$T&F/F/6&F)F6F(F8F2F/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "list_prims(4,3,X);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6 #7*,(*$)%\"XG\"\"%\"\"\"\"\"\"*$)F'\"\"$F)\"\"#F.F*,,F%F*F+F**$)F'F.F) F*F'F.F.F*,,F%F*F+F*F0F.F'F.F.F*,,F%F*F+F.F0F.F'F*F.F*,,F%F*F+F.F0F*F' F*F.F*,(F%F*F+F*F.F*,(F%F*F'F.F.F*,(F%F*F'F*F.F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "l:=irreductibles(X,4,3);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"lG74,,*$)%\"XG\"\"%\"\"\"\"\"\"*$)F)\"\"$F+F,*$)F) \"\"#F+F,F)F,F,F,,(F'F,F-F2F2F,,*F'F,F-F2F0F,F,F,,(F'F,F0F2F2F,,*F'F,F 0F,F)F,F,F,,,F'F,F-F,F0F,F)F2F2F,,(F'F,F0F,F2F,,,F'F,F-F,F0F2F)F2F2F,, *F'F,F-F,F)F2F,F,,,F'F,F-F2F0F2F)F,F2F,,*F'F,F-F,F0F,F,F,,,F'F,F-F2F0F ,F)F,F2F,,*F'F,F-F2F)F,F,F,,(F'F,F-F,F2F,,(F'F,F)F2F2F,,,F'F,F-F2F0F,F )F2F,F,,(F'F,F)F,F2F,,*F'F,F0F,F)F2F,F," }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 16 "Fonction de Zech" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 327 "tabule_zech:=proc(f,g,x,p)\n\nlocal table,inv_tab,tab_res,q,a,a ux;\nq:=p^(degree(f,x));\n\nfor a from 0 to q-2 do\n aux:=Powmod(g, a,f,x) mod p;\n table[a]:=aux;\n inv_tab[aux]:=a;\nod;\n\nfor a \+ from 0 to q-1 do if a<>(q-1)/2 then tab_res[a]:=inv_tab[1+table[a] mod p] fi od;\n\nRETURN(eval(table),eval(inv_tab),eval(tab_res));\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%,tabule_zechGR6&%\"fG%\"gG%\"xG%\" pG6(%&tableG%(inv_tabG%(tab_resG%\"qG%\"aG%$auxG6\"F2C&>8')9'-%'degree G6$9$9&?(8(\"\"!\"\"\",&F5F@!\"#F@%%trueGC%>8)-%$modG6$-%'PowmodG6&9%F >F;F&8$6#F>FF>&8%6#FFF>?(F>F?F@,&F5F@!\"\"F@FC@$0F>,&F5#F@\"\"##FX FgnF@>&8&FQ&FT6#-FH6$,&F@F@FOF@F7-%'RETURNG6%-%%evalG6#FP-Feo6#FT-Feo6 #F[oF2F2F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "t:=tabule_zec h(x^2+x+1,x,x,2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"tG6%-%&TABLEG 6#7%/\"\"!\"\"\"/F,%\"xG/\"\"#,&F.F,F,F,-F'6#7%/F1F0/F,F+/F.F,-F'6#7&/ F+&%(inv_tabG6#F+/F,F0/F0F,/\"\"$&F=6#,&F,F,&%&tableG6#FBF," }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 47 "OK (\347a merdoit \340 cause de la caract\351ristique 2)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "t :=tabule_zech(x^4+x+2,x,x,3):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "seq(t[3][i],i=0..79);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6\\p\"#S \"#`\"#C\"#z\"#8\"#u\"#s\"#D\"#f\"#x\"#q\"#K\"#R\"#T\"#>\"#i\"#e\"\"# \"#c\"#[\"#I\"#v\"#b\"\"(\"#<\"#B\"#M\"#r\"#J\"#N\"#]\"#n\"#Y\"#;\"#X \"#h\"#P\"#\\\"#:\"#V&&%\"tG6#\"\"$6#F#\"\"%\"#d\"#7\"\"\"\"#E\"#6\"#j \"#9\"#O\"#?\"\"'FO\"#W\"\")\"#y\"#t\"#k\"#L\"#a\"#5\"#H\"#Q\"#l\"#U\" #Z\"\"&\"#G\"#F\"#@\"#g\"#o\"#^\"#=\"#m\"#p\"\"*\"#w\"#A\"#_" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "P1:=x^2+2*x+1:P2:=2*x^3+x^2+ x+1:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "exp_1:=t[2][P1];exp _2:=t[2][P2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&exp_1G\"#E" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&exp_2G\"#p" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "t[3][43];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#7 " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 40 "Et maintenant, on veut g^12=x ^12, donc :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "t[1]:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "t[1][26+12];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(*$)%\"xG\"\"$\"\"\"\"\"#*$)F&F)F(F)F)\"\"\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 15 "Et en effet ..." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "Rem(P1+P2,x^4+x+2,x) mod 3;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#,(*$)%\"xG\"\"$\"\"\"\"\"#*$)F&F)F(F)F)\"\"\"" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "d'o\371 la proc\351dure :" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 268 "addition:=proc(f,g,x,p,A,B) \n\n local exp1,exp2,min_exp,max_exp,a_moins_b,t;\n\n t:=tabule_zech (f,g,x,p);\n exp1:=t[2][A];exp2:=t[2][B];\n min_exp:=min(exp1,exp2); max_exp:=max(exp1,exp2); \n a_moins_b:=max_exp-min_exp;\n\n RETUR N(t[1][min_exp+(t[3][a_moins_b])])\n\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%)additionGR6(%\"fG%\"gG%\"xG%\"pG%\"AG%\"BG6(%%exp1G% %exp2G%(min_expG%(max_expG%*a_moins_bG%\"tG6\"F4C*>8)-%,tabule_zechG6& 9$9%9&9'>8$&&F76#\"\"#6#9(>8%&FB6#9)-%&printG6$F@FH>8&-%$minGFN>8'-%$m axGFN>8(,&FT\"\"\"FP!\"\"-%'RETURNG6#&&F76#FZ6#,&FPFZ&&F76#\"\"$6#FXFZ F4F4F4" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "addition(x^4+x+2, x,x,3,P1,P2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#E\"#p" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(*$)%\"xG\"\"$\"\"\"\"\"#*$)F&F)F(F)F)\"\"\"" }}}}}{MARK "1 4 0 0" 86 }{VIEWOPTS 1 1 0 1 1 1803 }