{VERSION 6 0 "IBM INTEL NT" "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 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT -1 18 "Set home directory" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 75 "currentdir(\"C://Documents a nd Settings/mengland/My Documents/Maple/DM-35\"):" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 28 "We work with the (3,5)-curve" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "n:=3: s:=5: genus:=4;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&genusG\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 71 "Suppose w e want to find the coefficients of an equation in P functions." }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "rel:= 0 = P(3,3,4,4) + c[1]*P(2,3) \+ + c[2]*P(3,4)*lambda[4] + c[3]*P(3,3)*P(4,4)+c[4]*P(3,4)^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$relG/\"\"!,,-%\"PG6&\"\"$F+\"\"%F,\"\"\"* &&%\"cG6#F-F--F)6$\"\"#F+F-F-*(&F06#F4F--F)6$F+F,F-&%'lambdaG6#F,F-F-* (&F06#F+F--F)6$F+F+F--F)6$F,F,F-F-*&&F0F " 0 "" {MPLTEXT 1 0 19 "read( \"p5subs.txt\"):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "polnum: =numer(factor(subs(psubs,rhs(rel)))): nops(%); op(1,%%);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&-%%d iffG6%-%#siG6&%#u1G%#u2G%#u3G%#u4G-%\"$G6$F-\"\"#-F06$F.F2\"\"\")F(\" \"$F5!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 66 "Notice that each of the terms is a product of 4-sigma derivatives." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 71 "We will substitute sigma \+ for its series and multiply out the product. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 108 "We read in the sigma exp ansion. We only need the first two parts as the polynomial only invol ves lambda[4]." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 77 "read(\"SW.txt\"): read(\"C11.txt\"): sigma:=unapply(SW+C11, v[1],v[2],v[3],v[4]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&sigmaGf*6&%$v_1G%$v_2G%$v_3G%$v_4G6 \"6$%)operatorG%&arrowGF+,8*&#\"\"\"\"$[%F2*$)9'\"\")F2F2F2*&#F2F7F2*& )9&\"\"#F2)F6\"\"%F2F2!\"\"*&#F2F?F2*$)F " 0 "" {MPLTEXT 1 0 65 "ONE:=algsubs(lambda[4]^2=0,expand(eval(su bs(si=sigma,polnum)))): " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" } {TEXT -1 81 "Then setting each coefficient to zero gives linear equati ons we can easily solve." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 100 "map(coeffs,map(coeffs,map(coeffs,map(coeffs, \{coeffs(ONE,lambda[ 4])\},u1),u2),u3),u4): sol:=solve(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$solG<&/&%\"cG6#\"\"\"F*/&F(6#\"\"#!\"#/&F(6#\"\"$F//&F(6#\"\"%! \"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT -1 20 "to give the relation" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "subs(sol,rel);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/\"\"!,,-%\"PG6&\"\"$F)\"\"%F*\"\"\"-F '6$\"\"#F)F+*(F.F+-F'6$F)F*F+&%'lambdaG6#F*F+!\"\"*(F.F+-F'6$F)F)F+-F' 6$F*F*F+F5*&F*F+)F0F.F+F5" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 118 "But in general it is far more efficient to use the code Expand_Product wh ich takes advantage of the weight properties." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 120 "We use the code on each product in turn. The second \+ argument is the weight at which we discard terms, 4 in this case. " } }{PARA 0 "" 0 "" {TEXT -1 77 "The third argument is the number of seri es to multiply, again 4 in this case." }}{PARA 0 "" 0 "" {TEXT -1 66 " The fourth argument is an optional set of further simplifications." }} {PARA 0 "" 0 "" {TEXT -1 84 "The fifth arguement is also optional, for use with the addition formula operators. " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "read(\"Expand_Product.txt\"):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 99 "TWO:=0: for i from 1 to nops(polnum) do TWO:=T WO + Expand_Product( op(i,polnum), 4,4, [], no): od: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 100 "map(coeffs,map(coeffs,map(coeffs,m ap(coeffs, \{coeffs(TWO,lambda[4])\},u1),u2),u3),u4): sol:=solve(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$solG<&/&%\"cG6#\"\"\"F*/&F(6#\"\" #!\"#/&F(6#\"\"$F//&F(6#\"\"%!\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "subs(sol,rel);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/\" \"!,,-%\"PG6&\"\"$F)\"\"%F*\"\"\"-F'6$\"\"#F)F+*(F.F+-F'6$F)F*F+&%'lam bdaG6#F*F+!\"\"*(F.F+-F'6$F)F)F+-F'6$F*F*F+F5*&F*F+)F0F.F+F5" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT -1 141 "In this toy exampl e the efficiency is not highlighted. But with larger polynomials at h igher weight the second method is far more efficient." }}}}{MARK "16 0 1" 57 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }