{VERSION 6 0 "IBM INTEL LINUX" "6.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 "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 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "restart; # Example 5 .1.1 from [JH] and tips for decoding it (example 5.2.1)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "for i from 1 to 10 do 2^i mod 11; o d; #2 is primitive element in F_11" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# \"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "x:=[]: for i from 0 to 9 do x:=[op(x),2^i mod 11]: od : x; #the points where we evaluate" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# 7,\"\"\"\"\"#\"\"%\"\")\"\"&\"#5\"\"*\"\"(\"\"$\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "G:=matrix(5,10,[]):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "for i from 1 to 5 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " for j from 1 to 10 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " G[i,j]:=x[j]^(i-1) mod 11:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 " od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 3 "od:" } }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "evalm(G); #Generator matrix for k=5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#K%'matrixG6#7'7,\"\"\"F(F(F(F(F(F(F(F(F(7,F(\"\"#\" \"%\"\")\"\"&\"#5\"\"*\"\"(\"\"$\"\"'7,F(F+F-F/F1F(F+F-F/F17,F(F,F/F2F +F.F1F*F-F07,F(F-F1F+F/F(F-F1F+F/Q(pprint06\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "G:=matrix(5,10,[]):" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 20 "for i from 1 to 5 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " for j from 1 to 10 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " G[i,j]:=2^((i-1)*(j-1)) mod 11:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 " od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "od:evalm (G); #Another way of defining the generator matrix" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#K%'matrixG6#7'7,\"\"\"F(F(F(F(F(F(F(F(F(7,F(\"\"#\"\" %\"\")\"\"&\"#5\"\"*\"\"(\"\"$\"\"'7,F(F+F-F/F1F(F+F-F/F17,F(F,F/F2F+F .F1F*F-F07,F(F-F1F+F/F(F-F1F+F/Q(pprint06\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 96 "for i from 1 to 10 do subs(X=x[i],X^4) mod 11; od; #we are just evaluating polynomials at points" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"*" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 48 "#Tips for decoding Reed-Solomon codes with M aple" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 115 "A:=matrix([]); #De fine the matrix Q as in page 53, do not copy the numbers from page 53. Generate it using page 52." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG- %&arrayG6%;\"\"\"\"\"!F(7\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "b:=vector([0,0,0,0,0,0,0,0,0,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bGK%'vectorG6#7,\"\"!F)F)F)F)F)F)F)F)F)Q(pprint06\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "?Linsolve" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "Q:=Linsolve(A,b) mod 11; #The first part is Q_0, t he second part is Q_1" }{TEXT -1 1 "\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "#Define Q_0 and Q_1 from Q" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "Divide(Q0,Q1,'g') mod 11; #the transmited word is \+ generated by g" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "#How to define a poynomial a nd how to evaluate it at a point" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "g:=x->x^4 + x^ 3 + x^ 2 + x+ 1 mod 11;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"gGf*6#%\"xG6\"6$%)operatorG%&arrowGF(-%$modG 6$,,*$)9$\"\"%\"\"\"F4*$)F2\"\"$F4F4*$)F2\"\"#F4F4F2F4F4F4\"#6F(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "g(1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "14 0 0" 71 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }