{VERSION 4 0 "IBM INTEL LINUX" "4.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {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 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 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 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 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 21 "La m\351thode de Hensel." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 267 "hensel1 \+ := proc(f,x,x0,p,q)\n local dfx0inv,pn,xn,yn,u;\n xn := x0;\n pn := p; \n dfx0inv := 1/subs(x=x0,diff(f,x)) mod p;\n while pn < q do\n yn := subs(x=xn,f)/pn mod p;\n u := -dfx0inv * yn ; \n xn := xn + pn * u; \n pn := pn * p \n od;\n mods(xn,pn)\nend;" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%(hensel1GR6'%\"fG%\"xG%#x0G%\"pG%\"q G6'%(dfx0invG%#pnG%#xnG%#ynG%\"uG6\"F2C'>8&9&>8%9'>8$-%$modG6$*&\"\"\" F@-%%subsG6$/9%F6-%%diffG6$9$FE!\"\"F9?(F2F@F@F22F89(C&>8'-F=6$*&-FB6$ /FEF5FIF@F8FJF9>8(,$*&F;F@FPF@FJ>F5,&F5F@*&F8F@FXF@F@>F8*&F8F@F9F@-%%m odsG6$F5F8F2F2F2" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT -1 112 "Application : 1 est une racine simple de x^3+x+3 modulo 5. Cherch ons l'unique solution modulo 5^100 de f(x) = 0," }}{PARA 0 "" 0 "" {TEXT -1 25 "qui est de la forme 5k+1." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "f := x^3+x+3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fG,(*$)%\"xG\"\"$\"\"\"F*F(F*F)F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "hensel1(f,x,1,5,5^100);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!aop7M]T')eR..eLSvz6O%p3)\\_J!*Rc#)[_ " 0 "" {MPLTEXT 1 0 22 "subs(x=%,f) mod 5^100; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 39 " Racines enti\350res d 'un polynome de Z[x]" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }{TEXT -1 22 "Majorant des racines :" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 140 "majorant := proc(P,x) local deg,cfd;\n \+ deg := degree(P,x);\n cfd := abs(coeff(P,x,deg));\n 1+max(seq(abs(co eff(P,x,i))/cfd,i=0..deg-1))\nend;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6# >%)majorantGR6$%\"PG%\"xG6$%$degG%$cfdG6\"F,C%>8$-%'degreeG6$9$9%>8%-% $absG6#-%&coeffG6%F3F4F/,&\"\"\"F>-%$maxG6#-%$seqG6$*&-F86#-F;6%F3F4% \"iGF>F6!\"\"/FJ;\"\"!,&F/F>F>FKF>F,F,F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 584 "introots := proc(f,x,p)\nlocal M,rootsmodp,q,i,candi dates,res;\nM := majorant(f,x);\nrootsmodp := Roots(f) mod p;\nif nops (rootsmodp) = 0 then RETURN([]) fi;\nif convert(map(t -> op(2,t),roots modp),`*`) > 1 then\n\011RETURN(FAIL) # L'une des racines modulo p au \+ moins est racine multiple\nelse \n q := p ;\n rootsmodp := map(t-> o p(1,t),rootsmodp);\n while q < 2*M do q := q*p od;\n candidates := [ seq(hensel1(f,x,rootsmodp[i],p,q),i=1..nops(rootsmodp))];\nfi ;\nres : = [];\nfor i from 1 to nops(candidates) do\n if subs(x=candidates[i ],f) = 0 then res := [op(res),candidates[i]] fi od;\nres\nend;" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%)introotsGR6%%\"fG%\"xG%\"pG6(%\"MG% *rootsmodpG%\"qG%\"iG%+candidatesG%$resG6\"F1C)>8$-%)majorantG6$9$9%>8 %-%$modG6$-%&RootsG6#F89&@$/-%%nopsG6#F;\"\"!-%'RETURNG6#7\"@%2\"\"\"- %(convertG6$-%$mapG6$R6#%\"tGF16$%)operatorG%&arrowGF1-%#opG6$\"\"#F8F 1F1F1F;%\"*G-FJ6#%%FAILGC&>8&FB>F;-FT6$RFWF1FYF1-Fgn6$FOF8F1F1F1F;?(F1 FOFOF12F`o,$F4Fin>F`o*&F`oFOFBFO>8(7#-%$seqG6$-%(hensel1G6'F8F9&F;6#8' FBF`o/Fgp;FOFE>8)FL?(FgpFOFO-FF6#F]p%%trueG@$/-%%subsG6$/F9&F]pFfpF8FH >F[q7$-Fgn6#F[qFfqF[qF1F1F1" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 12 "Application." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 505 "g := 19*x^21-21111111072*x^20+23167199711400 70148*x^19+2194787341138545988*x^18+2072854711137021828*x^17+195092208 1135497668*x^16+1828989451133973508*x^15+1707056821132449348*x^14+1585 124191130925188*x^13+1463191561129401028*x^12+1341258931127876868*x^11 +1219326301126352708*x^10+1097393671124828548*x^9+975461041123304388*x ^8+853528411121780228*x^7+731595781120256068*x^6+609663151118731908*x^ 5+487730521117207748*x^4+365797891115683588*x^3+243865261114159429*x^2 +121932630001524159*x+121932631112635269;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"gG,N*$)%\"xG\"#@\"\"\"\"#>*&\",s5666#F*)F(\"#?F*!\" \"*&\"4[,2S6(*>nJ#F*)F(F+F*F**&\"4))faQ6M(y%>#F*)F(\"#=F*F**&\"4G=-P6r aG2#F*)F(\"#F*)F(\"#;F*F**&\"43N(R8^%*)*G=F*)F(\" #:F*F**&\"4[$\\C8@o02C^e\"F*)F(\"#8F*F**&\" 4G5SH6c\">j9F*)F(\"#7F*F**&\"4oo(y7J*e7M\"F*)F(\"#6F*F**&\"43FNE6IE$>7 F*)F(\"#5F*F**&\"4[&G[7rOR(4\"F*)F(\"\"*F*F**&\"3)Q/L7T5Yv*F*)F(\"\")F *F**&\"3G-y@6TGN&)F*)F(\"\"(F*F**&\"3ogD?6y&fJ(F*)F(\"\"'F*F**&\"33>t= 6:j'4'F*)F(\"\"&F*F**&\"3[x?<6_Ix[F*)F(\"\"%F*F**&\"3)e$o:6*yzl$F*)F( \"\"$F*F**&\"3H%fT6h_'QCF*)F(\"\"#F*F**&\"3fT_,+jK>7F*F(F*F*\"3p_j76jK >7F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "introots(g,x,7);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"**ycM7\"*@Vl()*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}} {MARK "3 3 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }