{VERSION 4 0 "IBM INTEL NT" "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 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 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 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Tim es" 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 "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 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 }{PSTYLE "Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 3 "" 0 "" {TEXT 256 37 "Runge-Kutta Methods, Tree s, and Maple" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 44 "Version: 9. Feb. 2001, (c) Folkmar Bornemann" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 72 "Author's address: Munic h University of Technology, 80290 Munich, Germany" }}{PARA 0 "" 0 "" {TEXT -1 85 " E-mail: bornemann@ma.tum.de, U RL: http://www.ma.tum.de/m3/" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 43 "Maple source code from: Folkmar Bornemann, " } {TEXT 258 28 "Runge-Kutta Methods, Trees, " }}{PARA 0 "" 0 "" {TEXT 260 11 "and Maple, " }{TEXT -1 37 "Selcuk J. Appl. Math. 2, 3--15, 200 1." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "`type/tree`:=list(tree): f:=[]:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "TreeSort:=proc(beta::tree)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " sort(map(TreeSort,beta));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "end: # TreeSort" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "beta[1]:=[[f,[f]],f]: beta[2]:=[f,[[f],f]]:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "evalb(TreeSort(beta[1])=Tree Sort(beta[2]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "TreeOrder:=proc(beta::tree)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " option remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " 1+`+`(op(map(TreeOrder,beta)));" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 16 "end: # TreeOrder" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "beta:=[[[f],[f],f],f]: TreeOrder(beta);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "TreeFactorial:=proc(beta::tree)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " option remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 51 " TreeOrd er(beta)*`*`(op(map(TreeFactorial,beta)));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "end: # TreeFactorial" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "TreeFactorial(beta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"$#>" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "TreeAlpha:=proc (beta::tree)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " option remember; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 " local n;" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 16 " n:=nops(beta);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " nops(combinat[permute](beta,n))/n!*" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 " `*`(op(map(TreeAlpha,beta)));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "end: # TreeAlpha" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "TreeAlpha(beta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6## \"\"\"\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "TreeA:=proc( beta::tree,no::posint)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " option \+ remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 " local vars,val,son; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " vars:=[i,j,k,l,m,p,q,r,u,v,w] ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 " val:=1;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " for son in beta do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " val:= val*Sum(a[vars[no],vars[no+1]]*" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 " TreeA(son,no+1),vars[no+1]=1..s);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " val;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "end: # TreeA" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "TreeOrderCondition:=proc(beta::tree)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 " Sum(b[i]*TreeA(beta,1),i=1..s)=" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 28 " 1/TreeFactorial(beta);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "end: # TreeOrderCondition" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 25 "TreeOrderCondition(beta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%$SumG6$*(&%\"bG6#%\"iG\"\"\"-F%6$*(&%\"aG6$F+%\"jGF, )-F%6$*&&F16$F3%\"kGF,-F%6$&F16$F:%\"lG/F?;F,%\"sGF,/F:FA\"\"#F,-F%6$F 8FCF,/F3FAF,-F%6$F0FGF,/F+FA#F,\"$#>" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "Trees:=proc(order::posint)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " option remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " local Replace,AddLeaf,all,trees;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " Replace:=proc(new::tre e,old::posint,beta::tree)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 " so rt(subsop(old=new,beta)); # order-independent..." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " end: # Replace" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " AddLeaf:=proc(beta::tree)" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " option remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 " local val,child,new;" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 31 " val:=\{sort([[],op(beta)])\};" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " for child from 1 to nops(beta) do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " new:=AddLeaf(beta[child]);" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " val:=val union map(Replace,ne w,child,beta);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 " od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 " val;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 16 " end: # AddLeaf" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 14 " trees:=\{[]\};" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " all:=[trees];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 " to order-1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " trees:=`uni on`(op(map(AddLeaf,trees)));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " \+ all:=[op(all),trees];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " od:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " all;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "end: # Trees" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "Trees(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&<#7\"<#7#F%<$7#F'7 $F%F%<&7$F%F'7#F)7#F*7%F%F%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "map(nops,Trees(10));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7,\"\"\" F$\"\"#\"\"%\"\"*\"#?\"#[\"$:\"\"$'G\"$>(" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 11 "`+`(op(%));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"%0 7" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "OrderConditions:=proc( order::posint,stages::posint)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 " \+ option remember;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 " local eqs,var s,auto,explicit;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " explicit:=\{s eq(seq(a[i,j]=0,j=i..stages)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " \+ i=1..stages)\};" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 36 " vars:=eval (\{seq(b[i],i=1..stages)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " \+ seq(seq(a[i,j],j=1..stages),i=1..stages)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 " seq(c[i],i=1..stages)\},explicit) minus \{0\}; " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 " auto:=eval(\{seq(sum(a[i,j],j =1..stages)=c[i]," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 " i=1..sta ges)\},explicit);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " eqs:=value(E val(map(TreeOrderCondition," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " \+ `union`(op(Trees(order)))),s=stages));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " eqs:=eval(eval(eqs,explicit),auto);" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 16 " eqs,auto,vars;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "end: # OrderConditions" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "OrderConditions(4,4): %[1];" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#<*/,*&%\"bG6#\"\"\"F)&F'6#\"\"#F)&F'6#\"\"$F)&F'6#\"\"% F)F)/,(*&F*F)&%\"cGF+F)F)*&F-F)&F7F.F)F)*&F0F)&F7F1F)F)#F)F,/,&*(F-F)& %\"aG6$F/F,F))F6F,F)F)*&F0F),&*&&FA6$F2F,F)FCF)F)*&&FA6$F2F/F))F9F,F)F )F)F)#F)\"#7/,(*&F*F))F6F/F)F)*&F-F))F9F/F)F)*&F0F))F;F/F)F)#F)F2/,&*( F-F)F@F)F6F)F)*&F0F),&*&FGF)F6F)F)*&FJF)F9F)F)F)F)#F)\"\"'/**F0F)FJF)F @F)F6F)#F)\"#C/,(*&F*F)FCF)F)*&F-F)FLF)F)*&F0F))F;F,F)F)#F)F//,&**F-F) F9F)F@F)F6F)F)*(F0F)F;F)FfnF)F)#F)\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "RungeKuttaMethod:=proc(p::posint,s::posint,pre::set) " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 " # explicit methods only" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " local conds,auto,vars,eqs,sols,so l,val;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " conds,auto,vars:=OrderC onditions(p,s);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " eqs:=conds uni on auto union pre;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " sols:=\{sol ve(eqs,vars)\};" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 " val:=NULL;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " for sol in sols do" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 14 " val:=val,[" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 " a=matrix([seq([seq(eval(a[i,j],sol),j=1..i-1)," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " seq(0,j=i..s)],i=1..s)])," }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 " b=vector([seq(eval(b[i],sol),i= 1..s)])," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 " c=vector([seq(eval( c[i],sol),i=1..s)])];" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 5 " od:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 " val;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "end: # RungeKuttaMethod" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "RungeKuttaMethod(2,2,\{b[2]=theta\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%/%\"aG-%'matrixG6#7$7$\"\"!F+7$,$*&\"\"\"F/%&the taG!\"\"#F/\"\"#F+/%\"bG-%'vectorG6#7$,&F0F1F/F/F0/%\"cG-F76#7$F+F-" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "pre:=\{c[2]=u,c[3]=1/4,c[4 ]=1/2,c[5]=3/4,c[6]=1," }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " b[2]=0 ,a[4,3]=v\}:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "RungeKuttaM ethod(5,6,pre): %[1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%\"aG-%'matr ixG6#7(7(\"\"!F*F*F*F*F*7(%\"uGF*F*F*F*F*7(,$*&,&!\"\"\"\"\"*&\"\")F2F ,F2F2F2F,F1#F2\"#K,$*&F2F2F,F1F5F*F*F*F*7(,$*&,*%\"vG!\"#F2F2*(F4F2F=F 2F,F2F2*&\"\"%F2F,F2F1F2F,F1#F1F4,$*&,&F=\"\"#F2F1F2F,F1FBF=F*F*F*7(,$ *&,*F2F2F=F1*&\"\"$F2F,F2F1*(FAF2F=F2F,F2F2F2F,F1#FL\"#;,$*&,&F1F2F=F2 F2F,F1FN,&#FLFAF2*&#FLFAF2F=F2F1#\"\"*FOF*F*7(,$*&,*\"\"(F2*&\"\"'F2F= F2F1*(\"#CF2F=F2F,F2F2*&\"#AF2F,F2F1F2F,F1#F1\"#9,$*&,&!\"(F2*&FinF2F= F2F2F2F,F1F^o,$F=#\"#7Fgn#!#7Fgn#F4FgnF*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "%%[2],%%[3];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$/%\"b G-%'vectorG6#7(#\"\"(\"#!*\"\"!#\"#;\"#X#\"\"#\"#:F-F)/%\"cG-F&6#7(F,% \"uG#\"\"\"\"\"%#F:F1#\"\"$F;F:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "0 0 0" 37 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 } {PAGENUMBERS 0 1 2 33 1 1 }