{VERSION 2 3 "SUN SPARC SOLARIS" "2.3" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "terminal" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Tex t Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Error" 7 8 1 {CSTYLE "" -1 -1 "" 0 1 255 0 255 1 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 }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 } 1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Helvetica" 1 14 0 0 0 0 2 1 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Courier " 1 14 0 0 0 0 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 3 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } 3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 3 259 1 {CSTYLE "" -1 -1 " " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT 257 16 "dfin_closure.mws" } {MPLTEXT 1 0 0 "" }}{PARA 258 "" 0 "" {TEXT 258 84 "Math 262a, Fall 19 99, Glenn Tesler\nSum/product/... of D-finite functions is D-finite" } }{PARA 259 "" 0 "" {TEXT 259 8 "11/17/99" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 57 "We have two functions defined by differential equations: \+ " }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 97 "5*di ff(f(x),x$2)+f(x)=0; f_sol := dsolve(\",f(x));\n3*diff(g(x),x)+g(x)=0; g_sol := dsolve(\",g(x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,&-%%di ffG6$-F&6$-%\"fG6#%\"xGF-F-\"\"&F*\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&f_solG/-%\"fG6#%\"xG,&*&%$_C1G\"\"\"-%$cosG6#,$*&\" \"&#F-\"\"#F)F-#F-F3F-F-*&%$_C2GF--%$sinGF0F-F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/,&-%%diffG6$-%\"gG6#%\"xGF+\"\"$F(\"\"\"\"\"!" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&g_solG/-%\"gG6#%\"xG*&-%$expG6#,$F) #!\"\"\"\"$\"\"\"%$_C1GF2" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 58 "the \+ constants for f, g need to be different, so rename it:" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 29 "g_sol := subs(_C1=_C3,g_sol);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&g_solG/-%\"gG6#%\"xG*&-%$expG6#,$F)#!\"\"\"\"$ \"\"\"%$_C3GF2" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "We want to find a differential equation satisfied by" }{MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "h(x) := -f(x) + g(x) + f(x)*g(x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>-%\"hG6#%\"xG,(-%\"fGF&!\"\"-%\"gGF &\"\"\"*&F)F.F,F.F." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 116 "That is, \+ for all settings of the constants _C1,_C2,_C3, the following will be a solution of whatever diffeq we find:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "h_sol := subs(f_sol,g_sol,h(x));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&h_solG,**&%$_C1G\"\"\"-%$cosG6#,$*&\"\"&#F(\"\"#%\"xGF(#F(F.F (!\"\"*&%$_C2GF(-%$sinGF+F(F3*&-%$expG6#,$F1#F3\"\"$F(%$_C3GF(F(*(,&F& F(F4F(F(F9F(F?F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 280 "We will fi nd an equation solved by this without using this explicit solution. J ust keep h(x) in terms of f(x), g(x), and derivatives, symollically, w ithout ever plugging in the solutions obtained above.\nAll derivatives of h(x) involve derivatives of f(x), g(x) of various orders:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "diff(h(x),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,*-%%diffG6$-%\"fG6#%\"xGF*!\"\"-F%6$-%\"gGF)F*\"\"\"*& F$F0F.F0F0*&F'F0F,F0F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "d iff(h(x),x$2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,,-%%diffG6$-F%6$-% \"fG6#%\"xGF,F,!\"\"-F%6$-F%6$-%\"gGF+F,F,\"\"\"*&F$F4F2F4F4*&F'F4F0F4 \"\"#*&F)F4F.F4F4" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 298 "and using t he diffeqs satisfied by f and g, all 2nd order and higher derivatives \+ of f can be replaced by some expression in f(x), diff(f(x),x), and all derivatives of g(x) can be replaced by multiples of g(x). Assuming w e compute derivatives incrementally, this suffices to reduce the deriv atives:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "myreduce := proc(fn)\n \+ subs(diff(f(x),x$2)=-f(x)/5, diff(g(x),x)=-g(x)/3, fn)\nend:" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 171 "Build a table of derivatives of h (x), reduced by the differential equations that f(x),g(x) satisfy.\nTh e result will only involve f, df/dx, and g, and no other derivatives: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 124 "dh[0] := h(x);\nfor k from 1 t o 6 do\n dh[k] := myreduce(diff(dh[k-1],x));\nod; k := 'k': # res et k to unevaluated symbol " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG 6#\"\"!,(-%\"fG6#%\"xG!\"\"-%\"gGF+\"\"\"*&F)F0F.F0F0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"\",*-%%diffG6$-%\"fG6#%\"xGF/!\"\"-% \"gGF.#F0\"\"$*&F)F'F1F'F'*&F,F'F1F'F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"#,*-%\"fG6#%\"xG#\"\"\"\"\"&-%\"gGF+#F.\"\"**&F)F.F 0F.#!\"%\"#X*&-%%diffG6$F)F,F.F0F.#!\"#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"$,*-%%diffG6$-%\"fG6#%\"xGF/#\"\"\"\"\"&-% \"gGF.#!\"\"\"#F*&F)F1F3F1#\"\"#\"#:*&F,F1F3F1#\"#A\"$N\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"%,*-%\"fG6#%\"xG#!\"\"\"#D-%\"gGF+ #\"\"\"\"#\")*&F)F3F0F3#!$k\"\"%D?*&-%%diffG6$F)F,F3F0F3#\"#;\"$N\"" } }{PARA 12 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"&,*-%%diffG6$-%\"fG6#%\" xGF/#!\"\"\"#D-%\"gGF.#F1\"$V#*&F)\"\"\"F3F8#!$W#\"%D?*&F,F8F3F8#\"\"% \"%:7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%#dhG6#\"\"',*-%\"fG6#%\"xG #\"\"\"\"$D\"-%\"gGF+#F.\"$H(*&F)F.F0F.#\"%'4#\"&D6**&-%%diffG6$F)F,F. F0F.#\"#))\"%D?" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 76 "Symbollically, all of the above are in the span of the following 5 elements:" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 71 "B_module := [ f(x), diff(f(x),x), g (x), f(x)*g(x), diff(f(x),x)*g(x) ];" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%)B_moduleG7'-%\"fG6#%\"xG-%%diffG6$F&F)-%\"gGF(*&F&\"\"\"F-F0*&F*F 0F-F0" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 256 294 "(Note: it's possible t hat when we plug in the solutions for f(x), g(x), that the above would be dependent, but that's irrelevant. We treat these as formal, linea rly independent symbols, and the true values of these give a space tha t's a \"homomorphic image\" of the symbollic space we work in.)\n" } {TEXT -1 89 "\nwhich implies that any 6 of these are linearly dependen t (6>5), so we take dh[0]..dh[5]." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 177 "Form a dependency equation. The symbollic form uses capital lett ers etc. to avoid having the computations actually be carried out, whi le in the other form they are carried out." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 112 "dependency_symbollic := a[0]*` h`(x) + sum(a[k]*Diff (` h`(x),x$k),k=1..5);\ndependency := sum(a[k]*dh[k],k=0..5);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%5dependency_symbollicG,.*&&%\"aG6#\" \"!\"\"\"-%#~hG6#%\"xGF+F+*&&F(6#F+F+-%%DiffG6$F,F/F+F+*&&F(6#\"\"#F+- F46%F,F/F/F+F+*&&F(6#\"\"$F+-F46&F,F/F/F/F+F+*&&F(6#\"\"%F+-F46'F,F/F/ F/F/F+F+*&&F(6#\"\"&F+-F46(F,F/F/F/F/F/F+F+" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%+dependencyG,.*&&%\"aG6#\"\"!\"\"\",(-%\"fG6#%\"xG!\" \"-%\"gGF/F+*&F-F+F2F+F+F+F+*&&F(6#F+F+,*-%%diffG6$F-F0F1F2#F1\"\"$*&F 9F+F2F+F+F4F#!\" #F=F+F+*&&F(6#F=F+,*F9FDF2#F1\"#FF>#FB\"#:F4#\"#A\"$N\"F+F+*&&F(6#\"\" %F+,*F-#F1\"#DF2#F+\"#\")F4#!$k\"\"%D?F>#\"#;FWF+F+*&&F(6#FEF+,*F9FgnF 2#F1\"$V#F>#!$W#F]oF4#Fen\"%:7F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 102 "The maple co mmand collect is for polynomials, not modules, so it doesn't like the \+ form of our basis B:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "collect(dep endency,B_module);" }}{PARA 8 "" 1 "" {TEXT -1 45 "Error, (in collect) cannot collect, f(x)*g(x)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 269 "We could replace everything in B by symbols f(x)->b1, diff(f(x),x)->b2 , etc., resulting in linear polynomials in the b's, which are the sam e as a module spanned by the b's. But instead, since the basis is gen erated by polynomials in f(x), diff(f(x),x), g(x), we do:" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 69 "B_2 := [f(x),diff(f(x),x),g(x)];\ncollect(de pendency,B_2,distributed);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$B_2G7 %-%\"fG6#%\"xG-%%diffG6$F&F)-%\"gGF(" }}{PARA 12 "" 1 "" {XPPMATH 20 " 6#,,*(,.&%\"aG6#\"\"!\"\"\"&F'6#\"\"##!\"%\"#X&F'6#\"\"$#\"#A\"$N\"&F' 6#F*#!\"\"F3&F'6#\"\"%#!$k\"\"%D?&F'6#\"\"&#F=\"%:7F*-%\"fG6#%\"xGF*-% \"gGFHF*F**&,(F&F:F;#F:\"#DF+#F*FCF*FFF*F**(,,F7F*F1#F-\"#:F;#\"#;F6F+ #!\"#F3FA#!$W#F@F*-%%diffG6$FFFIF*FJF*F**&,(F7F:FAFNF1FPF*FenF*F**&,.F &F*F7F9F+#F*\"\"*F1#F:\"#FF;#F*\"#\")FA#F:\"$V#F*FJF*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "B_cofs := coeffs(\",B_2);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%'B_cofsG6',.&%\"aG6#\"\"!\"\"\"&F(6#\"\"## !\"%\"#X&F(6#\"\"$#\"#A\"$N\"&F(6#F+#!\"\"F4&F(6#\"\"%#!$k\"\"%D?&F(6# \"\"&#F>\"%:7,,F8F+F2#F.\"#:F<#\"#;F7F,#!\"#F4FB#!$W#FA,(F'F;F<#F;\"#D F,#F+FD,(F8F;FBFQF2FS,.F'F+F8F:F,#F+\"\"*F2#F;\"#FF<#F+\"#\")FB#F;\"$V #" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "B_sol := solve(\{B_cof s\},\{'a[k]'$k=0..5\});" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&B_solG<( /&%\"aG6#\"\"$,$&F(6#\"\"\"#\"#b\"\")/&F(6#\"\"#,$F,#\"$0#\"#s/&F(6#\" \"%,$F,#\"#vF1/&F(6#\"\"&F>/&F(6#\"\"!,$F,#\"\"(\"#O/F,F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 37 "So the final differential equation is" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "hDE := subs(B_sol,dependency_symbol lic):\nhDE = 0;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/,.*&&%\"aG6#\"\"\" F)-%#~hG6#%\"xGF)#\"\"(\"#O*&F&F)-%%DiffG6$F*F-F)F)*&F&F)-F36%F*F-F-F) #\"$0#\"#s*&F&F)-F36&F*F-F-F-F)#\"#b\"\")*&F&F)-F36'F*F-F-F-F-F)#\"#vF @*&F&F)-F36(F*F-F-F-F-F-F)FD\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 67 "where a[1] is anything at all. Set it to 72 to clear denominators :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "hDE := subs(a[1]=72,hDE):\nhDE = 0;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#/,.-%#~hG6#%\"xG\"#9-%%DiffG6 $F%F(\"#s-F+6%F%F(F(\"$0#-F+6&F%F(F(F(\"$&\\-F+6'F%F(F(F(F(\"$v'-F+6(F %F(F(F(F(F(F6\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 53 "Check it ag ainst the explicit solution found earlier:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "eval(subs(` h`(x)=h_sol,Diff=diff,hDE));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,,*(,&*&%$_C1G\"\"\"-%$cosG6#,$*&\"\"&#F(\"\"#% \"xGF(#F(F.F(#F(\"#D*&%$_C2GF(-%$sinGF+F(F3F(-%$expG6#,$F1#!\"\"\"\"$F (%$_C3GF(!$]%*(,&*(F'F(F7F(F.F/#F>F.*(F6F(F)F(F.F/F2F(F9F(F@F(\"#U*(,& FDF3FF#F>F4F(F9F(F@F(\"$X$*(,&FD#F>\"$D\"FF#F(FOF(F9F(F@F(\"$v'*(,&F&F EF5FEF(F9F(F@F(!#!*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "simp lify(\");" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 119 "Chyzak's routine to compute the same end result \+ as the above, but using Grobner bases.:\nFirst reset all variable name s." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "f := 'f'; g := 'g'; h := 'h'; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"gGF$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hGF$" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "with(Groebner); with(Ore_a lgebra); with(Holonomy); with(Mgfun):" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#75%*fglm_algoG%'gbasisG%'gsolveG%+hilbertdimG%,hilbertpolyG%.hilber tseriesG%-inter_reduceG%*is_finiteG%,is_solvableG%*leadcoeffG%(leadmon G%)leadtermG%(normalfG%/pretend_gbasisG%'reduceG%&spolyG%*termorderG%* testorderG%)univpolyG" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#74%-Ore_to_DE SolG%-Ore_to_RESolG%,Ore_to_diffG%-Ore_to_shiftG%-annihilatorsG%)apply oprG%-diff_algebraG%-poly_algebraG%/qshift_algebraG%/rand_skew_polyG%. shift_algebraG%-skew_algebraG%*skew_elimG%+skew_gcdexG%*skew_pdivG%+sk ew_powerG%*skew_premG%-skew_productG" }}{PARA 12 "" 1 "" {XPPMATH 20 " 6#7,%1algeq_to_dfiniteG%,dfinite_addG%,dfinite_mulG%.holon_closureG%-h olon_defintG%.holon_defqsumG%-holon_defsumG%/holon_diagonalG%5hypergeo m_to_dfiniteG%.takayama_algoG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 119 "pol_to_sys(h(x)=-f(x)+g(x)+f(x)*g(x),\n \{[f(x), \{5*diff(f (x),x$2) + f(x)\}],\n [g(x), \{3*diff(g(x),x) + g(x)\}]\});" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#<#,.-%\"hG6#%\"xG\"#9-%%diffG6$F%F(\"# s-F+6$F*F(\"$0#-F+6$F.F(\"$&\\-F+6$F1F(\"$v'-F+6$F4F(F6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "2 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }