{VERSION 4 0 "DEC ALPHA UNIX" "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 } {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 }{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 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 85 "# Derivation of a parametric family of 3-stage order-3 explicit Runge-Kutta formulas." }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 42 "# Use \+ LinearAlgebra and Groebner packages." }}{PARA 0 "" 0 "" {TEXT -1 1 "# " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "with(LinearAlgebra): wi th(Groebner):" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 56 "# Set up Runge-Kutta coefficient arrays A, b, c (and e)." }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "c := < 0, c2, c3 >;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "C := DiagonalMatrix(c);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "A \+ := << 0 | 0 | 0 >,< c2 | 0 | 0 >,< c3-a32 | a32 | 0 >>;" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 58 "b := < b1, b2, b3 >; bT := Transpose(b); e := \+ < 1, 1, 1 >;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"cG-%'RTABLEG6$\"+# >F:P&-%'MATRIXG6#7%7#\"\"!7#%#c2G7#%#c3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'RTABLEG6$\"+#f5=P&-%'MATRIXG6#7%7%\"\"!F.F.7%F.%#c2GF.7 %F.F.%#c3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\"+oH1 s`-%'MATRIXG6#7%7%\"\"!F.F.7%%#c2GF.F.7%,&%#c3G\"\"\"%$a32G!\"\"F5F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6$\"+K/'=P&-%'MATRIX G6#7%7#%#b1G7#%#b2G7#%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#bTG-% 'RTABLEG6$\"+3_9s`-%'VECTORG6#7%%#b1G%#b2G%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"eG-%'RTABLEG6$\"+/0'=P&-%'MATRIXG6#7%7#\"\"\"F-F-" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "# " }}{PARA 0 "" 0 "" {TEXT -1 24 "# Conditions for order 3" }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "rk1 := bT.e - 1; rk2 := bT.C .e - 1/2;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "rk31 := bT.C.C.e - 1/3 ; rk32 := bT.A.C.e - 1/6;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$rk1G,* %#b1G\"\"\"%#b2GF'%#b3GF'F'!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% $rk2G,(*&%#b2G\"\"\"%#c2GF(F(*&%#b3GF(%#c3GF(F(#F(\"\"#!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%rk31G,(*&%#b2G\"\"\")%#c2G\"\"#F(F(*&%#b3 GF()%#c3GF+F(F(#F(\"\"$!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%rk3 2G,&*(%#b3G\"\"\"%$a32GF(%#c2GF(F(#F(\"\"'!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "# " }}{PARA 0 "" 0 "" {TEXT -1 52 "# F is the list of polynomials generating the ideal." }}{PARA 0 "" 0 "" {TEXT -1 58 "# B is the Groebner basis, under pure lexicographic order." }}{PARA 0 "" 0 "" {TEXT -1 2 "# " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "F := [rk1,rk2,rk31,rk32]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "B := gbasi s(F,plex(b1,b2,b3,a32,c3,c2));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "f or i from 1 to nops(B) do [i,indets(B[i])] od;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"BG7',**$)%#c3G\"\"#\"\"\"F+*(F*F+%$a32GF+%#c2GF+!\" \"*(\"\"$F+F-F+)F.F*F+F+*&F.F+F)F+F/,**&%#b3GF+F(F+\"\"'F*F/**F7F+F.F+ F6F+F)F+F/*&F1F+F.F+F+,&*(F6F+F-F+F.F+F7F+F/,(*()F6F*F+F-F+F)F+F7*(F1F +F6F+F-F+F/%#b2GF+,,%#b1GF+**F7F+F>F+F-F+F)F+F/*(F1F+F6F+F-F+F+F6F+F+F /" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"\"<%%#c2G%#c3G%$a32G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"#<%%#c2G%#c3G%#b3G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7$\"\"$<%%#c2G%$a32G%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"%<&%#b2G%#c3G%$a32G%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"&<&%#b1G%#c3G%$a32G%#b3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "for i from 1 to nops(B) do [i,indets(B[i])] od; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"\"<%%#c2G%#c3G%$a32G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"#<%%#c2G%#c3G%#b3G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7$\"\"$<%%#c2G%$a32G%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"%<&%#b2G%#c3G%$a32G%#b3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$\"\"&<&%#b1G%#c3G%$a32G%#b3G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "with(Ore_algebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "Alg := poly_algebra(a32,b1,b2,b3,c2,c3):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "T := termorder(Alg,plex(a32,b1,b2,b 3,c2,c3));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "Bext := gbasi s(F,T);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "for i from 1 to \+ nops(Bext) do [i,indets(Bext[i]),leadmon(Bext[i],T)] od;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 57 "######## #################################################" }}{PARA 0 "" 0 "" {TEXT -1 2 "# " }}{PARA 0 "" 0 "" {TEXT -1 55 "# We know the solution \+ variety is NOT zero-dimensional!" }}{PARA 0 "" 0 "" {TEXT -1 21 "# Is \+ it decomposable?" }}{PARA 0 "" 0 "" {TEXT -1 38 "# What are the irredu cible components?" }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 57 "######################################################### " }}{PARA 0 "" 0 "" {TEXT -1 2 "# " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 64 "# The equations in the basis are in triangular form; solve them." }} {PARA 0 "" 0 "" {TEXT -1 1 "#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "a32s := solve(B[4],a32);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "f or i from 1 to 3 do b||i||s := solve(B[4-i],b||i) od;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 2 "# " }}{PARA 0 "" 0 "" {TEXT -1 74 "# Show \+ that the b's are the same as those found by the VanderMonde solver." } }{PARA 0 "" 0 "" {TEXT -1 75 "# [It may be necessary to change the pat hname to suit the current machine.]" }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "read \"/math/WWW/alex/REU /maple/vsolve\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "r := <1 ,1/2,1/3>;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "bv := vsolve(c,r);" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "map(simplify,bv - ); " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 44 "# Get the 4th-order truncation error terms, " }}{PARA 0 "" 0 "" {TEXT -1 55 "# reduce them modulo the ideal of 3rd-order conditions." }}{PARA 0 "" 0 "" {TEXT -1 61 "# Observe that two can be satisfied by \+ the choice of c2 & c3." }}{PARA 0 "" 0 "" {TEXT -1 48 "# The fourth eq uation is independent of c2 & c3." }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "rk41 := bT.map(x->x^3,c) - \+ 1/4;" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "rk42 := bT.C .A.C.e - 1/8;" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "rk4 3 := bT.A.C.C.e - 1/12;" }{TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "rk44 := bT.A.A.C.e - 1/24;" }{TEXT -1 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 77 "for i from 1 to 4 do\n redrk4||i := normalf (rk4||i,B,plex(a32,b1,b2,b3));\nod;" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 87 "# Choosing c3 = 3/4 and c2 = 1 /2 satisfies the 2nd and 3rd equations but not the first." }}{PARA 0 " " 0 "" {TEXT -1 1 "#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "sub s(c2=1/2,c3=3/4,redrk41);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }} {PARA 0 "" 0 "" {TEXT -1 65 "# Substitute c2 = 1/2 and c3 = 3/4 into t he parametric solution. " }}{PARA 0 "" 0 "" {TEXT -1 45 "# This is the formula used in Matlab's ode23." }}{PARA 0 "" 0 "" {TEXT -1 1 "#" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "for i from 1 to 3 do b||i||s s := subs(c2=1/2,c3=3/4,b||i||s) od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "cs := < 0, 1/2, 3/4 >;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "C : = DiagonalMatrix(cs); a32ss := subs(c2=1/2,c3=3/4,a32s);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "As := << 0 | 0 | 0 >,< cs[2] | 0 | 0 >,< cs[3 ]-a32ss | a32ss | 0 >>;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "bs := < \+ b1ss, b2ss, b3ss >; bsT := Transpose(bs);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 1 "#" }}{PARA 0 "" 0 "" {TEXT -1 74 "# An alternate solution : in B[4] the coefficient of a_32 is c2*(3*c2-2), " }}{PARA 0 "" 0 "" {TEXT -1 51 "# so B[4] can also be made zero if c2 = c3 = 2/3." }} {PARA 0 "" 0 "" {TEXT -1 1 "#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "F23 := F;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "for i fro m 1 to 4 do F23[i] := simplify(subs(c2=2/3,c3=2/3,F[i])) od;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "G23 := gbasis(F23,plex(a32,b 1,b2));" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "solve(G23[1],b2) ; solve(G23[2],b1); solve(G23[3],a32);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "8 7 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 5371527192 5371810592 5372062968 5371860432 5372145208 5371860504 }{RTABLE M6R0 I7RTABLE_SAVE/5371527192X*%)anythingG6"6"\[[[[[t$"$""!%#c2G%#c3GF& } {RTABLE M6R0 I7RTABLE_SAVE/5371810592X,%)anythingG6#%)diagonalG6"][[[[co$"$"$""!%#c2G%#c3GF' } {RTABLE M6R0 I7RTABLE_SAVE/5372062968X,%)anythingG6"6"][[[[[p*"$"$""!%#c2G,&%#c3G"""%$a32G!" "F'F'F,F'F'F'F& } {RTABLE M6R0 I7RTABLE_SAVE/5371860432X*%)anythingG6"6"\[[[[[t$"$%#b1G%#b2G%#b3GF& } {RTABLE M6R0 I7RTABLE_SAVE/5372145208X*%)anythingG6"6"\[[[[[x$"$%#b1G%#b2G%#b3GF& } {RTABLE M6R0 I7RTABLE_SAVE/5371860504X*%)anythingG6"6"\[[[[[t$"$"""F'F'F& }