{VERSION 4 0 "SUN SPARC SOLARIS" "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 } {CSTYLE "" -1 256 "" 1 18 0 0 0 0 0 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 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 }{PSTYLE "" 0 256 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 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 256 13 "TP MAPLE N\260 5" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 20 "Travail pr\351liminaire" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "m1:=X^4+X^3+1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%#m1G,(*$)%\"XG\"\"%\"\"\"F**$)F(\"\"$F*F*F*F*" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 24 "Factor(X^4+X^3+1) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(*$)%\"XG\"\"%\"\"\"F(*$)F&\"\"$F(F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "alias(alpha=RootOf(X^4+X^3+1));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%&alphaG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "Factor(X^4+X^3+1,alpha) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#**,&%\"XG\"\"\"*$)%&alphaG\"\"#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&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "with(polytools);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7 '%(minpolyG%)recipolyG%&splitG%'splitsG%*translateG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 122 "th\351oriquement, alpha^3 est racine de X^5 +1 = X+1 * (X^4 + X^3 +X ^2+ X + 1) on v\351rifie que le 2\260 facteur e st irr\351ductible" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "evala (subs(X=alpha^3,m3)) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "Obtenu de la meme fa\347on ... " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "m:=m1*m3*m5;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"mG*(,(*$)%\"XG\"\"%\"\"\"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+" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 117 "et non pas factor sans majuscule, sinon \+ on essaie d'abord dans Q et on r\351duit ensuite. L\340 on veut r\351d uire dans Z_2[X]" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "seq(eva la(alpha^i) mod 2,i=0..15);" }}{PARA 11 "" 1 "" {XPPMATH 20 "62\"\"\"% &alphaG*$)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#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#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 78 "le s racines sont alpha, alpha^2 et alpha^4 et alpha^8 .... voir la th \351orie ..." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "minpoly(alp ha^3,4" }{TEXT -1 0 "" }{MPLTEXT 1 0 8 ") mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,,\"\"\"F$%#_XGF$*$)F%\"\"#F$F$*$)F%\"\"$F$F$*$)F%\"\"% F$F$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "m3:=1+X+X^2+X^3+X^4 ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#m3G,,\"\"\"F&%\"XGF&*$)F'\"\"# F&F&*$)F'\"\"$F&F&*$)F'\"\"%F&F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "m5:=X^" }{TEXT -1 0 "" }{MPLTEXT 1 0 6 "2+X+1;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#m5G,(*$)%\"XG\"\"#\"\"\"F*F(F*F*F* " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "evala(subs(X=alpha^5,m5 )) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 6 "Codage" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 211 "encodepoly:=proc(mes)\n local init_poly,a_retrancher;\n\ninit_po ly:=sum(mes[i]*X^(15-i),i=1..5);\na_retrancher := Rem(init_poly,m,X) m od 2; #ou a_jouter car modulo 2\n\nRETURN((init_poly - a_retrancher) m od 2);\nend;\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%+encodepolyGR6#%$m esG6$%*init_polyG%-a_retrancherG6\"F+C%>8$-%$sumG6$*&&9$6#%\"iG\"\"\") %\"XG,&\"#:F7F6!\"\"F7/F6;F7\"\"&>8%-%$modG6$-%$RemG6%F.%\"mGF9\"\"#-% 'RETURNG6#-FC6$,&F.F7FAF " 0 "" {MPLTEXT 1 0 24 "mess_essai:=[0,1,0,0,1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+mess_essaiG7'\"\"!\"\"\"F&F&F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "toto:=encodepoly(mess_essai);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%totoG,2*$)%\"XG\"#8\"\"\"F**$)F(\"#5F*F**$)F(\" \"*F*F**$)F(\"\"(F*F**$)F(\"\"&F*F**$)F(\"\"%F*F**$)F(\"\"$F*F**$)F(\" \"#F*F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 20 "Je suis forte, non ?" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "mess_essai[5];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "evala(subs(X=alpha,toto)) mod 2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "wi th(linalg):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 89 "fabrique_mat rice:=proc(R);\nmatrix(3,3, (i,j)->evala(subs(X=alpha^(i+j-1),R)) mod \+ 2);\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%1fabrique_matriceGR6#% \"RG6\"F(F(-%'matrixG6%\"\"$F,R6$%\"iG%\"jGF(6$%)operatorG%&arrowGF(-% $modG6$-%&evalaG6#-%%subsG6$/%\"XG)%&alphaG,(9$\"\"\"9%FCFC!\"\"T$\"\" #F(F(6$F'FBF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "recu:= fabrique_matrice(toto+X);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%recuG- %'matrixG6#7%7%%&alphaG*$)F*\"\"#\"\"\"*$)F*\"\"$F.7%F+F/,&F/F.F.F.7%F /F3,(F/F.F*F.F.F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rank(%) ;" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 79 "On ne peut pas utiliser rank car c'est un iquement pour Q. On utilise Gauss Jord" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "Gaussjord(recu,'rang') mod 2;rang;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"\"%&alphaG*$)F)\"\"#F(7%\"\"!F.F. F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 73 "On a bien d\351tect\351 une erreur ... pour 2 ou 3 erre urs, \347a marche aussi ..." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 433 "Decode := proc(R)\n local poly,mat,vect,matrice,titi,poly_loc; \n\n poly:=R;\n mat:=fabrique_matrice(R);\n Gaussjord(mat,'rk') \+ mod 2;\n\n\n if (rk=0) then RETURN(poly) fi;\n\n vect:=vector(rk,j ->evala(subs(X=alpha^(rk+j),poly) mod 2));\n matrice:=matrix(rk,rk,( i,j)->evala(subs(X=alpha^(i+j-1),poly)) mod 2);\n\n titi:=Linsolve(m atrice,vect) mod 2;\n poly_loc:=X^rk + sum(titi[i+1]*X^i,i=0..rk-1); \n\n RETURN(poly_loc mod 2);\nend;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'DecodeGR6#%\"RG6(%%polyG%$matG%%vectG%(matriceG%%tit iG%)poly_locG6\"F/C+>8$9$>8%-%1fabrique_matriceG6#F3-%$modG6$-%*Gaussj ordG6$F5.%#rkG\"\"#@$/F@\"\"!-%'RETURNG6#F2>8&-%'vectorG6$F@R6#%\"jGF/ 6$%)operatorG%&arrowGF/-%&evalaG6#-F:6$-%%subsG6$/%\"XG)%&alphaG,&F@\" \"\"F3FjnT#FAF/F/6$F)F2>8'-%'matrixG6%F@F@R6$%\"iGFOF/FPF/-F:6$-FT6#-F Y6$/Ffn)Fhn,(F3Fjn9%FjnFjn!\"\"F[oFAF/F/F\\o>8(-F:6$-%)LinsolveG6$F^oF IFA>8),&)FfnF@Fjn-%$sumG6$*&&Fap6#,&FdoFjnFjnFjnFjn)FfnFdoFjn/Fdo;FD,& F@FjnFjnF_pFjn-FF6#-F:6$FhpFAF/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Decode(toto+X);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,& %\"XG\"\"\"%&alphaGF%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "?Gau ssjord;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "11 0 0" 401 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }