{VERSION 5 0 "IBM INTEL LINUX" "5.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 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 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 "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 "" {TEXT 256 4 "Name" }{TEXT -1 14 ": stfr omcode. " }{TEXT 257 7 "Purpose" }{TEXT -1 66 ": Given an additive cod ing sequence generate a Sturmian sequence. " }{TEXT 258 6 "Method" } {TEXT -1 6 ": See " }{TEXT 259 26 "Substitutions in Dynamics," }{TEXT -1 35 "..., by N. Pytheas Fogg, page 165. " }{TEXT 260 5 "Input" } {TEXT -1 25 ": sequence of 0s and 1s. " }{TEXT 261 6 "Output" }{TEXT -1 41 ": sequence of 0s and 1s starting with 0. " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1246 "stfromcode:=proc(code::list)\nlocal St,L0,L 1,U0,U1,n,k,nmax;\n St:=[]; #Output word\n L0[0]:=1; #L0(k) is length of kth word in U0. (U of pg 165)\n L1[0]:=1; #L1(k) is leng th of kth word in U1. (U' of pg 165)\n U0[0,1]:=0; #A sequence of w ords, 0th word is 0. \n U1[0,1]:=1; #A sequence of words, 0th word is 1.\n nmax:=nops(code); #Length of input code.\n \n#print(nmax); # debug \n \n for n from 1 to nmax do\n \n if (co de[n]=0) then \n \n for k from 1 to L0[n-1] do U0[n,k]:=U0[n-1 ,k] od;\n L0[n]:=L0[n-1];\n \n for k from 1 to L1[n-1] do \+ U1[n,k]:=U1[n-1,k] od;\n for k from L1[n-1]+1 to L1[n-1]+L0[n-1] d o\n U1[n,k]:=U0[n-1,k-L1[n-1]] od;\n \+ L1[n]:=L0[n-1]+L1[n-1]; \n\n else \n for k from 1 to L1[n-1] d o U1[n,k]:=U1[n-1,k] od;\n L1[n]:=L1[n-1];\n \n for k from 1 to L0[n-1] do U0[n,k]:=U0[n-1,k] od;\n for k from L0[n-1]+1 to \+ L1[n-1]+L0[n-1] do\n U0[n,k]:=U1[n-1,k- L0[n-1]] od;\n L0[n]:=L0[n-1]+L1[n-1]; \n\n fi;\n\n#print(n,c ode[n],L0[n],L1[n]); \n#for k from 1 to L0[n] do print(U0[n,k]) od;\n# for k from 1 to L1[n] do print(U1[n,k]) od;\n\n\n od; \n\nfor k from 1 to L0[n-1] do St:=[op(St),U0[n-1,k]] od;\n\nSt;\nend: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "stfromcode([0,0,0,1,1,0,1]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#78\"\"!\"\"\"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 0 "" }}}} {MARK "0 0 11" 33 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }