{VERSION 3 0 "SGI MIPS UNIX" "3.0" } {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 18 0 0 0 0 0 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 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 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 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 }{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 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 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" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple O utput" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 0 "" 0 "" {TEXT 256 40 "Integration for a logarit hmic extension." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 251 "Let K be some differential field, and assume that we are able to compute anti-derivatives of elements of K whenever the anti-d erivative is elementary (i.e. whenever the anti-derivative can be expr essed in terms of: log, exp, and algebraic extensions)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 66 "Let theta be an elem ent of some differential field extension of K." }}{PARA 0 "" 0 "" {TEXT -1 61 "Say for example: theta = log(a) where a is some element o f K." }}{PARA 0 "" 0 "" {TEXT -1 63 "Then theta' = a'/a. This leads u s to the following definition:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 16 "theta is called " }{TEXT 261 19 "logarith mic over K " }{TEXT -1 29 "if the following things hold:" }}{PARA 0 " " 0 "" {TEXT -1 68 "*) theta is an element of a differential field e xtension of K, and" }}{PARA 0 "" 0 "" {TEXT -1 42 "*) theta' = a'/a f or some element a of K," }}{PARA 0 "" 0 "" {TEXT -1 273 "*) and ther e is no b in K for which b' = a'/a (note that theta' = a'/a, so this condition means that theta is not in K, in other words, theta is real ly a new function we didn't already have inside K, so the differential field K(theta) really has more functions than K)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 157 "Assume that we know how \+ to integrate elements of K. Let theta be logarithmic over K, so theta' = a'/a for some a in K. How to integrate elements of K(theta)?" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 10 "Suppose K =" }{TEXT 257 1 "C" }{TEXT -1 36 "(x,exp(x)). Let theta1=exp(x), so K= " }{TEXT 258 1 "C" }{TEXT -1 131 "(x,theta1). Now suppose we want to i ntegrate elements of K(theta) where theta=log(x^2+exp(x)). So we want \+ to integrate elements of:" }}{PARA 0 "" 0 "" {TEXT -1 9 "K(theta)=" } {TEXT 259 1 "C" }{TEXT -1 17 "(x,theta1,theta)=" }{TEXT 260 1 "C" } {TEXT -1 26 "(x,exp(x),log(x^2+exp(x))." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 405 "Note that at this point we do not k now how to integrate elements of this field K, however, Maple does kno w, and furthermore, in a few weeks we will know as well. We will not s how how to integrate elements of K in this worksheet. We will only sho w how to integrate elements of K(theta) assuming that we already know \+ how to integrate elements of K. To integrate elements of K, we'll use \+ Maple's int command." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "res tart; theta1:=exp(x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'theta1G-% $expG6#%\"xG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "theta:=log( x^2+theta1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&thetaG-%#lnG6#,&*$) %\"xG\"\"#\"\"\"F--%$expG6#F+F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 307 "UseVariables:=proc(f) # this procedure replaces the functions theta1 and theta by variables\n\n # indicate to Maple that these a re globally used\n global theta,theta1,Theta,Theta1;\n\n # Note: do the substitution for the last extension (theta=Theta) first. \n \+ subs( theta=Theta, theta1=Theta1, f)\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-UseVariablesGR6#%\"fG6\"F(F(-%%subsG6%/%&thetaG%&The taG/%'theta1G%'Theta1G9$F(6&F-F0F.F1F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 108 "UseFunctions:=proc(f)\n global theta,theta1,Theta ,Theta1;\n subs( Theta=theta, Theta1=theta1, f)\nend; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%-UseFunctionsGR6#%\"fG6\"F(F(-%%subsG6%/%& ThetaG%&thetaG/%'Theta1G%'theta1G9$F(6&F.F1F-F0F(" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 256 "We will use functions theta=exp(x), theta1=log(x^ 2+exp(x)) whenever we differentiate. We use variables theta=Theta, the ta1=Theta1 whenever we do things where Maple only accepts polynomials \+ or rational functions as input, such as factor, gcd, resultant etc." } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 83 "F:=(theta1+theta+theta^2)/ theta^3/(theta^2-x)^2+2*log(theta)+theta^2+log(x)+theta1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"FG,,*&,(-%$expG6#%\"xG\"\"\"-%#lnG6#,&*$)F+ \"\"#F,F,F(F,F,*$)F-F3F,F,F,*&)F-\"\"$F,),&F4F,F+!\"\"F3F,F;F,*&F3F,-F .6#F-F,F,F4F,-F.F*F,F(F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "f:=normal(diff(F,x));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%\"fG*&,bq* (-%#lnG6#,&*$)%\"xG\"\"#\"\"\"F0-%$expG6#F.F0F0F-F0F1F0!\"#**\"\"&F0)F (\"\"%F0F.F0F1F0F0**F/F0F1F0F.F0)F(F/F0!\"\"**\"\"(F0F.F0)F1F/F0F:F0F0 **F/F0F(F0)F.\"\"$F0F1F0F;**F/F0F(F0F.F0F>F0F;**F/F0)F(\"\"*F0F.F0F1F0 F;**\"\"'F0)F(F=F0F-F0F1F0F0**FGF0)F(F6F0F@F0F1F0F;**F/F0)F(FAF0)F.F8F 0F1F0F0**F/F0)F(\"#6F0F.F0F1F0F;**FGF0FDF0F-F0F1F0F0**FGF0FHF0F@F0F1F0 F;**F/F0FJF0FMF0F1F0F0**FAF0)F(\"\")F0F.F0F1F0F0**FAF0)F(FGF0F1F0F-F0F ;*(F7F0F1F0F@F0F0*()F(\"#5F0F@F0F1F0F;**FAF0FUF0FMF0F1F0F0**FAF0FXF0)F .F6F0F1F0F;*(F7F0)F.FGF0F1F0F0*(FenF0F.F0F>F0F;**FAF0FUF0F-F0F>F0F0**F AF0FXF0F@F0F>F0F;*(F7F0FMF0F>F0F0*(FAF0F>F0F-F0F;*(F/F0FLF0F@F0F;*(F8F 0FDF0F-F0F;*(\"#7F0FHF0F@F0F0*(FdoF0FJF0FMF0F;*(F8F0FLF0FinF0F0*(F8F0F OF0F-F0F;*(FdoF0FDF0F@F0F0*(FdoF0FHF0FMF0F;*(F8F0FJF0FinF0F0*&FenF0F-F 0F;*(FAF0FUF0F@F0F0*(FAF0FXF0FMF0F;*&F7F0FinF0F0*&FenF0F1F0F;*(FGF0F1F 0F@F0F;*(FdoF0FLF0F-F0F0*(F8F0F(F0F@F0F;*(FfnF0F7F0F-F0F0*(F8F0F:F0F@F 0F;**\"#8F0F1F0F-F0F:F0F0*(FLF0F@F0F1F0F;*(F(F0FMF0F1F0F0*(FLF0F.F0F>F 0F;*(F(F0F-F0F>F0F0**F8F0FLF0F.F0F1F0F0F0**F+F0F7F0),&*$F:F0F;F.F0FAF0 F.F0F;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "UseVariables(f); " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#*&,bq*&)%&ThetaG\"\"'\"\"\")%\"xG \"\"%F)!\"$*(\"#7F))F'\"\"$F))F+\"\"#F)F)*(F,F)F'F))F+F1F)!\"\"*(\"#5F ))F'F,F)F2F)F)*(F,F))F'F3F)F5F)F6*&)F'F8F)%'Theta1GF)F6*(F1F))F>F3F)F2 F)F6*(F(F)F>F)F5F)F6*&F9F))F+\"\"&F)F)*(F3F)F0F)F5F)F6*(F,F))F'\"\"*F) F2F)F6*(F/F))F'\"\"(F)F5F)F)*(F/F))F'FDF)F*F)F6*(F,F)F0F)FCF)F)*(F,F)) F'\"#6F)F2F)F6*(F/F)FGF)F5F)F)*(F/F)FJF)F*F)F6*(F,F)FMF)FCF)F)*&F=F)F2 F)F6*(F1F))F'\"\")F)F5F)F)**F3F)F'F)F2F)F>F)F6**FDF)F9F)F+F)F>F)F)**F3 F)F>F)F+F)F;F)F6**FKF)F+F)F@F)F;F)F)**F3F)F'F)F5F)F>F)F6**F3F)F'F)F+F) F@F)F6**F3F)FGF)F+F)F>F)F6**F(F)FJF)F2F)F>F)F)**F(F)FMF)F5F)F>F)F6**F3 F)F0F)F*F)F>F)F)**F3F)FPF)F+F)F>F)F6**F(F)FGF)F2F)F>F)F)**F(F)FJF)F5F) F>F)F6**F3F)FMF)F*F)F>F)F)**F1F)FWF)F+F)F>F)F)**F1F)F&F)F>F)F2F)F6*(F9 F)F>F)F5F)F)*(F=F)F5F)F>F)F6**F1F)FWF)F*F)F>F)F)**F1F)F&F)FCF)F>F)F6*( F9F))F+F(F)F>F)F)*(F=F)F+F)F@F)F6**F1F)FWF)F2F)F@F)F)**F1F)F&F)F5F)F@F )F6*(F9F)F*F)F@F)F)**\"#8F)F>F)F2F)F;F)F)*(F0F)F5F)F>F)F6*(F'F)F*F)F>F )F)*(F0F)F+F)F@F)F6*(F'F)F2F)F@F)F)**F,F)F0F)F+F)F>F)F)F)**,&*$F2F)F)F >F)F)F9F)),&*$F;F)F6F+F)F1F)F+F)F6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "sqrfree(denom(%),Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$,$*&,&*$)%\"xG\"\"#\"\"\"F+%'Theta1GF+F+F)F+!\"\"7$7$ %&ThetaG\"\"%7$,&*$)F0F*F+F+F)F-\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "%[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7$%&ThetaG \"\"%7$,&*$)F%\"\"#\"\"\"F,%\"xG!\"\"\"\"$" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 24 "d:=Theta; pole_order:=4;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG%&ThetaG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+po le_orderG\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "A1:=add(c [i]*Theta^i,i=0..degree(d,Theta)-1)/d^(pole_order-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A1G*&&%\"cG6#\"\"!\"\"\"*$)%&ThetaG\"\"$F*!\"\" " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 44 "We're going to have to differ entiate A1, so:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "A1:=UseF unctions(A1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A1G*&&%\"cG6#\"\"! \"\"\"*$)-%#lnG6#,&*$)%\"xG\"\"#F*F*-%$expG6#F3F*\"\"$F*!\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "f-diff(A1,x);" }}{PARA 12 " " 1 "" {XPPMATH 20 "6#,&*&,bq*(-%#lnG6#,&*$)%\"xG\"\"#\"\"\"F/-%$expG6 #F-F/F/F,F/F0F/!\"#**\"\"&F/)F'\"\"%F/F-F/F0F/F/**F.F/F0F/F-F/)F'F.F/! \"\"**\"\"(F/F-F/)F0F.F/F9F/F/**F.F/F'F/)F-\"\"$F/F0F/F:**F.F/F'F/F-F/ F=F/F:**F.F/)F'\"\"*F/F-F/F0F/F:**\"\"'F/)F'F " 0 "" {MPLTEXT 1 0 49 "UseVari ables(%); # because we're going to do rem" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,&*&,bq*&)%&ThetaG\"\"'\"\"\")%\"xG\"\"%F*!\"$*(\"#7F*) F(\"\"$F*)F,\"\"#F*F**(F-F*F(F*)F,F2F*!\"\"*(\"#5F*)F(F-F*F3F*F**(F-F* )F(F4F*F6F*F7*&)F(F9F*%'Theta1GF*F7*(F2F*)F?F4F*F3F*F7*(F)F*F?F*F6F*F7 *&F:F*)F,\"\"&F*F**(F4F*F1F*F6F*F7*(F-F*)F(\"\"*F*F3F*F7*(F0F*)F(\"\"( F*F6F*F**(F0F*)F(FEF*F+F*F7*(F-F*F1F*FDF*F**(F-F*)F(\"#6F*F3F*F7*(F0F* FHF*F6F*F**(F0F*FKF*F+F*F7*(F-F*FNF*FDF*F**&F>F*F3F*F7*(F2F*)F(\"\")F* F6F*F***F4F*F(F*F3F*F?F*F7**FEF*F:F*F,F*F?F*F***F4F*F?F*F,F*FF*F6 F*F?F*F7**F2F*FXF*F+F*F?F*F***F2F*F'F*FDF*F?F*F7*(F:F*)F,F)F*F?F*F**(F >F*F,F*FAF*F7**F2F*FXF*F3F*FAF*F***F2F*F'F*F6F*FAF*F7*(F:F*F+F*FAF*F** *\"#8F*F?F*F3F*F " 0 "" {MPLTEXT 1 0 43 "rem(numer(normal(%*d^pole _order)),d,Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,**&&%\"cG6#\"\" !\"\"\")%\"xG\"\"&F)\"\"'*(\"\"$F))%'Theta1G\"\"#F))F+F2F)!\"\"*(F-F)F 1F))F+F/F)F4**F/F)F%F))F+\"\"%F)F1F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "coeffs(%,Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#, **&&%\"cG6#\"\"!\"\"\")%\"xG\"\"&F)\"\"'*(\"\"$F))%'Theta1G\"\"#F))F+F 2F)!\"\"*(F-F)F1F))F+F/F)F4**F/F)F%F))F+\"\"%F)F1F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "solve(\{%\},\{seq(c[i],i=0..degree( d,Theta)-1)\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<#/&%\"cG6#\"\"!*&% 'Theta1G\"\"\"*$)%\"xG\"\"#F+!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "A1:=subs(%,A1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% #A1G*&%'Theta1G\"\"\"*&)%\"xG\"\"#F')-%#lnG6#,&*$F)F'F'-%$expG6#F*F'\" \"$F'!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "A1:=UseFuncti ons(A1); # because we're going to use diff" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A1G*&-%$expG6#%\"xG\"\"\"*&)F)\"\"#F*)-%#lnG6#,&*$F, F*F*F&F*\"\"$F*!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 100 "ne w_f:=normal(f-diff(A1,x)); # now use sqrfree denominator, so use varia bles to avoid error messages" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%&new _fG*&,`r*$)%\"xG\"\"&\"\"\"\"\"%**\"\"'F+F(F+)-%#lnG6#,&*$)F)\"\"#F+F+ -%$expG6#F)F+F,F+F7F+F+**F,F+)F)\"\"$F+F7F+)F0F6F+!\"\"**F6F+F;F+)F7F6 F+F=F+F>**F6F+F;F+F0F+F@F+F+**F6F+F;F+)F0\"\")F+F7F+F+**F.F+)F)F,F+)F0 F.F+F7F+F>*(F(F+)F0F**F.F+FFF+F7F+F=F+F+**F*(F)F+F@F+FGF+F>**F**F*()F)FDF+FIF+F7F+F>**F6F+)F)F.F+F=F+F7F+F>**F**F*(FfnF+FIF+F@F+F>**F.F+F@F+F/F+F)F+F>**F.F+F@F +F=F+F5F+F+*(F,F+F(F+F0F+F+*(\"#7F+FFF+F=F+F>*(F6F+FFF+F7F+F+*(F,F+FFF +FCF+F+*(FboF+F(F+FGF+F>*(FboF+FfnF+F/F+F+*(F,F+FinF+F=F+F>*(F6F+F@F+F GF+F+*(F6F+F(F+F=F+F+*(F,F+FinF+F/F+F>*&FFF+FUF+F+*(F*(F< F+FfnF+FLF+F+*&FinF+FIF+F>*(F,F+FFF+)F0\"#5F+F+*(FboF+F(F+FCF+F>*(FboF +FfnF+FGF+F+*(FapF+FFF+FIF+F>**F6F+F0F+F;F+F7F+F+*(FUF+F5F+F7F+F+**F**F**F6F+F`pF+F;F+F7F+F+**F.F+FCF+FFF+F7F+F>**F.F+FGF+F(F+F7F+F+**F6 F+F/F+FfnF+F7F+F>**\"#BF+FIF+F;F+F7F+F>**F*F+F0F+FFF+F7F+F+F+**FIF+F3F +),&*$F=F+F+F)F>F" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "sqrfree(denom(UseVariables(%)),Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$,$*&,&*$)%\"xG\"\"#\"\"\"F+%'Theta1GF+F+)F)\"\"$F+!\" \"7$7$%&ThetaGF.7$,&*$)F2F*F+F+F)F/F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "%[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7$%&ThetaG \"\"$7$,&*$)F%\"\"#\"\"\"F,%\"xG!\"\"F&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "d:=Theta*(Theta^2-x); pole_order:=3;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG*&%&ThetaG\"\"\",&*$)F&\"\"#F'F'%\"xG!\"\"F' " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+pole_orderG\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "A2:=add(c[i]*Theta^i,i=0..degree(d, Theta)-1)/d^(pole_order-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G* &,(&%\"cG6#\"\"!\"\"\"*&&F(6#F+F+%&ThetaGF+F+*&&F(6#\"\"#F+)F/F3F+F+F+ *&F4F+),&*$F4F+F+%\"xG!\"\"F3F+F:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "A2:=UseFunctions(A2); # prepare for diff" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G*&,(&%\"cG6#\"\"!\"\"\"*&&F(6#F+F+-%#lnG6 #,&*$)%\"xG\"\"#F+F+-%$expG6#F5F+F+F+*&&F(6#F6F+)F/F6F+F+F+*&F=F+),&*$ F=F+F+F5!\"\"F6F+FB" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "new_ f-diff(A2,x);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,**&,`r*$)%\"xG\"\"& \"\"\"\"\"%**\"\"'F*F'F*)-%#lnG6#,&*$)F(\"\"#F*F*-%$expG6#F(F*F+F*F6F* F***F+F*)F(\"\"$F*F6F*)F/F5F*!\"\"**F5F*F:F*)F6F5F*F " 0 "" {MPLTEXT 1 0 44 "numer(normal(UseVariables(%)*d^pole_order));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,`t*()%&ThetaG\"\"&\"\"\")%\"xG\"\"#F(%'Theta1GF(\" \"'*(\"\"%F(&%\"cG6#\"\"!F()F*F'F(!\"\"*&F/F(F4F(F(*(F+F()F&F-F()F,F+F (F(**\"#7F(F0F()F*F/F()F&F+F(F(**F+F(F0F(F " 0 "" {MPLTEXT 1 0 15 "rem(%,d,Theta);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,.*&,8*&&%\"cG6#\"\"!\"\"\")%\"xG\"\"%F+\"#7*(F .F+%'Theta1GF+)F-\"\"$F+!\"\"**\"\"'F+F'F+F2F+F1F+F+*(\"\")F+)F-\"\"&F +&F(6#\"\"#F+F+*&F/F+F,F+F4**F.F+F,F+F1F+F;F+F+*(F=F+)F1F=F+)F-F=F+F+* (F=F+F9F+&F(6#F+F+F4*(F=F+F,F+F1F+F+*&F=F+F9F+F+**F=F+F2F+F1F+FDF+F4F+ )%&ThetaGF=F+F+*&,6*&F1F+F2F+F=**F.F+F,F+F1F+FDF+F+*(F8F+F9F+FDF+F+*(F .F+F2F+FAF+F4**F=F+F'F+F2F+F1F+F4*(F=F+)F-F6F+F;F+F4*(F=F+F'F+F9F+F4*& F6F+F9F+F4*(F/F+F,F+F1F+F4**F=F+F,F+F1F+F;F+F4F+FJF+F+*(F.F+F'F+F9F+F4 *&F.F+F9F+F+**F=F+F'F+F,F+F1F+F4*(F=F+F,F+F1F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "coeffs(%,Theta);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%,**&&%\"cG6#\"\"!\"\"\")%\"xG\"\"&F)!\"%*&\"\"%F)F*F)F) **\"\"#F)F%F))F+F/F)%'Theta1GF)!\"\"*(F1F)F2F)F3F)F),6*&F3F))F+\"\"$F) F1**F/F)F2F)F3F)&F&6#F)F)F)*(\"\")F)F*F)F;F)F)*(F/F)F8F))F3F1F)F4**F1F )F%F)F8F)F3F)F4*(F1F))F+\"\"'F)&F&6#F1F)F4*(F1F)F%F)F*F)F4*&FDF)F*F)F4 *(\"#7F)F2F)F3F)F4**F1F)F2F)F3F)FEF)F4,8*&F%F)F2F)FJ*(F/F)F3F)F8F)F4** FDF)F%F)F8F)F3F)F)*(F>F)F*F)FEF)F)*&FJF)F2F)F4**F/F)F2F)F3F)FEF)F)*(F1 F)F@F))F+F1F)F)*(F1F)F*F)F;F)F4*(F1F)F2F)F3F)F)*&F1F)F*F)F)**F1F)F8F)F 3F)F;F)F4" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "solve(\{%\},\{ seq(c[i],i=0..degree(d,Theta)-1)\});" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#<%/&%\"cG6#\"\"!\"\"\"/&F&6#F)*&,&%\"xGF)%'Theta1GF)F)F/!\"\"/&F&6# \"\"#F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "A2:=UseFunctions (subs(%,A2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G*&,&\"\"\"F'*&* &,&%\"xGF'-%$expG6#F+F'F'-%#lnG6#,&*$)F+\"\"#F'F'F,F'F'F'F+!\"\"F'F'*& )F/F5F'),&*$F8F'F'F+F6F5F'F6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "new_f:=normal(new_f-diff(A2,x)); # pole orders should drop." }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%&new_fG*&,do*&)%\"xG\"\"'\"\"\"-%#ln G6#,&*$)F)\"\"#F+F+-%$expG6#F)F+F+\"\"%*(F2F+)F,\"\"$F+)F3F2F+F+*&F(F+ )F,F2F+F+*(F6F+F(F+F8F+F+**F2F+F8F+F1F+F3F+F+*(F " 0 "" {MPLTEXT 1 0 27 "denom(UseVariables(new_f));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#* *)%&ThetaG\"\"#\"\"\")%\"xG\"\"$F'),&*$F$F'!\"\"F)F'F&F',&*$)F)F&F'F'% 'Theta1GF'F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "sqrfree(%,T heta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&)%\"xG\"\"$\"\"\",&*$)F& \"\"#F(F(%'Theta1GF(F(7$7$%&ThetaGF,7$,&*$)F0F,F(F(F&!\"\"F," }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "%[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$7$%&ThetaG\"\"#7$,&*$)F%F&\"\"\"F+%\"xG!\"\"F&" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 163 "We don't care about the first par t of sqrfree(%,Theta), we only care about the second part (%[2]) that \+ contains Theta, not the part that contains only Theta1 or x." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "d:=Theta*(Theta^2-x); # loca tion of the poles of order 2" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG *&%&ThetaG\"\"\",&*$)F&\"\"#F'F'%\"xG!\"\"F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "pole_order:=2;" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%+pole_orderG\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "A3 :=add(c[i]*Theta^i,i=0..degree(d,Theta)-1)/d^(pole_order-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A3G*&,(&%\"cG6#\"\"!\"\"\"*&&F(6#F+F+%&Th etaGF+F+*&&F(6#\"\"#F+)F/F3F+F+F+*&F/F+,&*$F4F+F+%\"xG!\"\"F+F9" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "new_f - diff( UseFunctions(A 3) ,x);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,**&,do*&)%\"xG\"\"'\"\"\"- %#lnG6#,&*$)F(\"\"#F*F*-%$expG6#F(F*F*\"\"%*(F1F*)F+\"\"$F*)F2F1F*F**& F'F*)F+F1F*F**(F5F*F'F*F7F*F***F1F*F7F*F0F*F2F*F**(F;F*)F(\"\"(F*F2F*F **(F;F*)F(\"\"&F*F9F*F***F1F*FBF*F+F*F2F*F***F1F*FBF*F7F*F2F*F**()F(F5 F*F2F*F;F*F***F8F*F(F*F9F*F;F*F***F8F*F+F*)F(F8F*F2F*!\"\"**F8F*F+F*F( F*F9F*FK**F1F*)F+FCF*FJF*F2F*F***F5F*F7F*FGF*F2F*FK**F1F*)F+F@F*FJF*F2 F*F***F5F*FNF*FGF*F2F*FK*()F+F)F*F2F*F0F*F***F1F*)F+F5F*F2F*FJF*FK*(FT F*FBF*F2F*F***F1F*FVF*F'F*F2F*FK*(FTF*FJF*F9F*F***F1F*FVF*FGF*F9F*FK*& F9F*F0F*FK*(F5F*FNF*FGF*F**(\"\")F*F7F*FBF*FK*(F5F*FQF*FGF*F**(FhnF*FN F*FBF*FK*&FTF*FGF*F**(F1F*FVF*FBF*FK*(F1F*F2F*FJF*FK**F)F*F2F*F0F*F;F* F**(F7F*FJF*F2F*FK*(F+F*FGF*F2F*F**(F7F*F(F*F9F*FK*(F+F*F0F*F9F*F*F*** F;F*FJF*),&*$F;F*F*F(FKF1F*F.F*FKF**&,&*&*&&%\"cG6#F*F*,&F(F1F2F*F*F*F .FKF**&**F1F*&F\\p6#F1F*F+F*F^pF*F*F.FKF*F**&F+F*FeoF*FKFK*&*&,(&F\\p6 #\"\"!F**&F[pF*F+F*F**&FapF*F;F*F*F*F^pF*F**(F;F*FeoF*F.F*FKF**&*&FfpF *,&*&*&F+F*F^pF*F*F.FKF1F*FKF*F**&F+F*FdoF*FKF*" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 24 "normal(UseVariables(%));" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,$*&,dq*&&%\"cG6#\"\"!\"\"\")%\"xG\"\"&F+\"\"#*(F'F+)F- \"\"%F+%'Theta1GF+F+**\"\"$F+%&ThetaGF+)F-F5F+F3F+F+**F/F+)F6F2F+F1F+) F3F/F+F+**\"\"'F+F3F+)F-F/F+)F6F/F+!\"\"*()F6F5F+F7F+F3F+F+*(F6F+F1F+F 3F+F?*(FAF+F-F+F:F+F+*(F6F+F=F+F:F+F?**F5F+F-F+F:F+F>F+F?*(F1F+F3F+F>F +F?**F/F+F,F+FAF+F3F+F?**F/F+F,F+F6F+F3F+F?*(F>F+F,F+F:F+F?*(F>F+)F-\" \"(F+F3F+F?**F5F+F6F+F-F+F:F+F+**F/F+)F6F.F+F7F+F3F+F?**F2F+FAF+F1F+F3 F+F+**F/F+)F6FLF+F7F+F3F+F?**F2F+FOF+F1F+F3F+F+*()F6F F+F7F+FgnF+F3F+F+**FAF+F7F+&F(6#F/F+F3F+F+*(F6F+F,F+F'F+F+*(F>F+F,F+Fg nF+F+*(FAF+F,F+F\\oF+F+*,F5F+F7F+F'F+F3F+F>F+F?**FF+F?**F /F+F>F+F,F+F\\oF+F?**F/F+F9F+F1F+F\\oF+F?*,F/F+FAF+F7F+F3F+FgnF+F?**F9 F+F7F+F3F+F\\oF+F?**F>F+F1F+F3F+F\\oF+F?*(F/F+FAF+F:F+F?*(F/F+F9F+F,F+ F+*(\"\")F+FOF+F,F+F+*&FUF+F1F+F?*(F[pF+FAF+F,F+F+*(F2F+FRF+F1F+F?*(F2 F+FOF+F1F+F?*(F2F+FYF+FAF+F?*&FYF+F>F+F?*(F2F+FYF+F6F+F?*&F:F+F=F+F+*( F/F+F3F+F7F+F+F+**F>F+F7F+),&*$F>F+F?F-F+F/F+,&*$F=F+F+F3F+F+F?F?" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "normal(%*d^pole_order);" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#,$*&,dq*&&%\"cG6#\"\"!\"\"\")%\"xG\"\" &F+\"\"#*(F'F+)F-\"\"%F+%'Theta1GF+F+**\"\"$F+%&ThetaGF+)F-F5F+F3F+F+* *F/F+)F6F2F+F1F+)F3F/F+F+**\"\"'F+F3F+)F-F/F+)F6F/F+!\"\"*()F6F5F+F7F+ F3F+F+*(F6F+F1F+F3F+F?*(FAF+F-F+F:F+F+*(F6F+F=F+F:F+F?**F5F+F-F+F:F+F> F+F?*(F1F+F3F+F>F+F?**F/F+F,F+FAF+F3F+F?**F/F+F,F+F6F+F3F+F?*(F>F+F,F+ F:F+F?*(F>F+)F-\"\"(F+F3F+F?**F5F+F6F+F-F+F:F+F+**F/F+)F6F.F+F7F+F3F+F ?**F2F+FAF+F1F+F3F+F+**F/F+)F6FLF+F7F+F3F+F?**F2F+FOF+F1F+F3F+F+*()F6F F+F7F+FgnF+F3F+F+**FAF+F7F+&F(6#F/F+F3F+F+*(F6F+F,F+F 'F+F+*(F>F+F,F+FgnF+F+*(FAF+F,F+F\\oF+F+*,F5F+F7F+F'F+F3F+F>F+F?**FF+F?**F/F+F>F+F,F+F\\oF+F?**F/F+F9F+F1F+F\\oF+F?*,F/F+FAF+F7 F+F3F+FgnF+F?**F9F+F7F+F3F+F\\oF+F?**F>F+F1F+F3F+F\\oF+F?*(F/F+FAF+F:F +F?*(F/F+F9F+F,F+F+*(\"\")F+FOF+F,F+F+*&FUF+F1F+F?*(F[pF+FAF+F,F+F+*(F 2F+FRF+F1F+F?*(F2F+FOF+F1F+F?*(F2F+FYF+FAF+F?*&FYF+F>F+F?*(F2F+FYF+F6F +F?*&F:F+F=F+F+*(F/F+F3F+F7F+F+F+*&F7F+,&*$F=F+F+F3F+F+F?F?" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "numer(%);" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#,dq*&&%\"cG6#\"\"!\"\"\")%\"xG\"\"&F)!\"#*(F%F))F+\" \"%F)%'Theta1GF)!\"\"**\"\"$F)%&ThetaGF))F+F4F)F1F)F2**\"\"#F))F5F0F)F /F))F1F8F)F2**\"\"'F)F1F))F+F8F))F5F8F)F)*()F5F4F)F6F)F1F)F2*(F5F)F/F) F1F)F)*(F@F)F+F)F:F)F2*(F5F)F=F)F:F)F)**F4F)F+F)F:F)F>F)F)*(F/F)F1F)F> F)F)**F8F)F*F)F@F)F1F)F)**F8F)F*F)F5F)F1F)F)*(F>F)F*F)F:F)F)*(F>F))F+ \"\"(F)F1F)F)**F4F)F5F)F+F)F:F)F2**F8F))F5F,F)F6F)F1F)F)**F0F)F@F)F/F) F1F)F2**F8F))F5FKF)F6F)F1F)F)**F0F)FNF)F/F)F1F)F2*()F5FF)F6F)FfnF)F1F)F2**F@F)F6F)&F&6#F8F)F1F)F2*(F5F)F*F)F%F)F2*(F>F)F*F) FfnF)F2*(F@F)F*F)F[oF)F2*,F4F)F6F)F%F)F1F)F>F)F)**FF)F)** F8F)F>F)F*F)F[oF)F)**F8F)F9F)F/F)F[oF)F)*,F8F)F@F)F6F)F1F)FfnF)F)**F9F )F6F)F1F)F[oF)F)**F>F)F/F)F1F)F[oF)F)*(F8F)F@F)F:F)F)*(F8F)F9F)F*F)F2* (\"\")F)FNF)F*F)F2*&FTF)F/F)F)*(FjoF)F@F)F*F)F2*(F0F)FQF)F/F)F)*(F0F)F NF)F/F)F)*(F0F)FXF)F@F)F)*&FXF)F>F)F)*(F0F)FXF)F5F)F)*&F:F)F=F)F2*(F8F )F1F)F6F)F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "rem(%,d,Thet a);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,.*&,2*()%\"xG\"\"$\"\"\"%'Thet a1GF*&%\"cG6#F*F*!\"\"*&)F(\"\"&F*F,F*F/*(\"\"'F*&F-6#\"\"!F*)F(\"\"%F *F**(F9F*F1F*&F-6#\"\"#F*F***F)F*F5F*F'F*F+F*F***F=F*F8F*F+F*F;F*F**(F 4F*F+F*)F(F=F*F**(F)F*F(F*)F+F=F*F*F*)%&ThetaGF=F*F**&,2*(F8F*F+F*F;F* F/*&F+F*F'F*F/*&)F(F4F*F;F*F/*&F(F*FCF*F/*(F5F*F'F*F+F*F/*&F5F*F1F*F/* *F=F*F8F*F+F*F,F*F**(F9F*F1F*F,F*F*F*FEF*F**(F=F*F5F*F1F*F/*(F5F*F8F*F +F*F/*(F=F*F+F*F'F*F/*&FCF*FAF*F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "coeffs(%,Theta);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%, **&&%\"cG6#\"\"!\"\"\")%\"xG\"\"&F)!\"#*(F%F))F+\"\"%F)%'Theta1GF)!\" \"*(\"\"#F)F1F))F+\"\"$F)F2*&)F1F4F))F+F4F)F2,2*(F/F)F1F)&F&6#F4F)F2*& F1F)F5F)F2*&)F+\"\"'F)F " 0 "" {MPLTEXT 1 0 46 "solve(\{%\},\{seq(c[i],i=0..degree(d,Theta)-1)\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%/&%\"cG6#\"\"!,$*&%'Theta1G\"\"\"*$)%\"xG\"\"#F, !\"\"F1/&F&6#F,F(/&F&6#F0F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "A3:=UseFunctions(subs(%,A3));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %#A3G,$*&-%$expG6#%\"xG\"\"\"*()F*\"\"#F+-%#lnG6#,&*$F-F+F+F'F+F+,&*$) F/F.F+F+F*!\"\"F+F7F7" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "ne w_f:=normal(new_f - diff(A3,x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% &new_fG*&,2*(-%$expG6#%\"xG\"\"\"F+F,)-%#lnG6#,&*$)F+\"\"#F,F,F(F,F4F, F4*(\"\"%F,F-F,F3F,F,*(F.F,F+F,)F(F4F,F,*&F.F,F3F,F,*&F(F,F.F,F,*(F.F, )F+\"\"$F,F(F,F,*(F4F,F+F,F(F,F,*&F6F,F3F,F,F,*(F.F,F+F,F1F,!\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "fv:=UseVariables(new_f);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#fvG*&,2*(%'Theta1G\"\"\"%\"xGF))%&T hetaG\"\"#F)F-*(\"\"%F)F+F))F*F-F)F)*(F,F)F*F))F(F-F)F)*&F,F)F0F)F)*&F ,F)F(F)F)*(F,F))F*\"\"$F)F(F)F)*(F-F)F(F)F*F)F)*&F/F)F0F)F)F)*(F,F)F*F ),&*$F0F)F)F(F)F)!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "s qrfree(denom(fv),Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$*&%\"xG \"\"\",&*$)F%\"\"#F&F&%'Theta1GF&F&7#7$%&ThetaGF&" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 5 "%[2];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7#7$ %&ThetaG\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "d:=Theta; pole_order:=1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG%&ThetaG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%+pole_orderG\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "a,b:=numer(new_f), denom(new_f);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"aG%\"bG6$,2*(-%$expG6#%\"xG\"\" \"F-F.)-%#lnG6#,&*$)F-\"\"#F.F.F*F.F6F.F6*(\"\"%F.F/F.F5F.F.*(F0F.F-F. )F*F6F.F.*&F0F.F5F.F.*&F*F.F0F.F.*(F0F.)F-\"\"$F.F*F.F.*(F6F.F-F.F*F.F .*&F8F.F5F.F.*(F0F.F-F.F3F." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "b_prime:=diff(b,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(b_primeG ,(*&,&%\"xG\"\"#-%$expG6#F(\"\"\"F-F(F-F-*&-%#lnG6#,&*$)F(F)F-F-F*F-F- F2F-F-*(F/F-F(F-F'F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "r esultant(a-z*b_prime,b,theta); # have to use variables, otherwise erro r" }}{PARA 8 "" 1 "" {TEXT -1 40 "Error, (in resultant) invalid argume nts\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "UseVariables([a,b, b_prime]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%,2*(%'Theta1G\"\"\"%\" xGF')%&ThetaG\"\"#F'F+*(\"\"%F'F)F')F(F+F'F'*(F*F'F(F')F&F+F'F'*&F*F'F .F'F'*&F*F'F&F'F'*(F*F')F(\"\"$F'F&F'F'*(F+F'F&F'F(F'F'*&F-F'F.F'F'*(F *F'F(F',&*$F.F'F'F&F'F',(*&,&F(F+F&F'F'F(F'F'*&F*F'F9F'F'*(F*F'F(F'F=F 'F'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "op(%);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6%,2*(%'Theta1G\"\"\"%\"xGF&)%&ThetaG\"\"#F&F**(\" \"%F&F(F&)F'F*F&F&*(F)F&F'F&)F%F*F&F&*&F)F&F-F&F&*&F)F&F%F&F&*(F)F&)F' \"\"$F&F%F&F&*(F*F&F%F&F'F&F&*&F,F&F-F&F&*(F)F&F'F&,&*$F-F&F&F%F&F&,(* &,&F'F*F%F&F&F'F&F&*&F)F&F8F&F&*(F)F&F'F&F \+ " 0 "" {MPLTEXT 1 0 20 "av, bv, bv_prime:=%;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6%%#avG%#bvG%)bv_primeG6%,2*(%'Theta1G\"\"\"%\"xGF,)%& ThetaG\"\"#F,F0*(\"\"%F,F.F,)F-F0F,F,*(F/F,F-F,)F+F0F,F,*&F/F,F3F,F,*& F/F,F+F,F,*(F/F,)F-\"\"$F,F+F,F,*(F0F,F+F,F-F,F,*&F2F,F3F,F,*(F/F,F-F, ,&*$F3F,F,F+F,F,,(*&,&F-F0F+F,F,F-F,F,*&F/F,F>F,F,*(F/F,F-F,FBF,F," }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "resultant(av - z*bv_prime, \+ bv, Theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*(,**&%'Theta1G\"\"\"% \"xGF'\"\"#*&\"\"%F')F(F)F'F'*(F)F'%\"zGF'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 10 "f actor(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$**)%\"xG\"\"$\"\"\",&! \"#F(%\"zGF(F(,&F&\"\"#%'Theta1GF(F(),&*$)F&F-F(F(F.F(F-F(!\"\"" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "residues:=\{solve(%,z)\};" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)residuesG<#\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "add(r*log(gcd(av-r*bv_prime,bv)),r=residu es);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$-%#lnG6#%&ThetaG\"\"#" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 102 "A4:=UseFunctions(%); # Note : we only find log(things with Theta in it), we won't find log(x) this way." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A4G,$-%#lnG6#-F'6#,&*$)%\" xG\"\"#\"\"\"F0-%$expG6#F.F0F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "new_f:=normal(new_f-diff(A4,x));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&new_fG*&,.*(-%$expG6#%\"xG\"\"\"-%#lnG6#,&*$)F+\"\"#F,F,F(F,F ,F+F,F3*(\"\"%F,F-F,F2F,F,*&)F(F3F,F+F,F,F1F,F(F,*&F(F,)F+\"\"$F,F,F,* &F+F,F0F,!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "fv:=UseVa riables(new_f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#fvG*&,.*(%\"xG\" \"\"%&ThetaGF)%'Theta1GF)\"\"#*(\"\"%F)F*F))F(F,F)F)*&F(F))F+F,F)F)*$F /F)F)F+F)*&F+F))F(\"\"$F)F)F)*&F(F),&F2F)F+F)F)!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "denom(fv);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&%\"xG\"\"\",&*$)F$\"\"#F%F%%'Theta1GF%F%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "indets(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #<$%\"xG%'Theta1G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 103 "Theta no lo nger appears in the denominator. So fv is a polynomial in Theta, f is \+ a polynomial in theta." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "n ew_f:=collect(new_f,theta,normal);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%&new_fG,&*&*&-%#lnG6#,&*$)%\"xG\"\"#\"\"\"F0-%$expG6#F.F0F0,&F.F/F1F 0F0F0F+!\"\"F/*&,&*&F.F0F1F0F0F0F0F0F.F5F0" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 23 "d:=degree(new_f,theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "lcoeff(new_f,theta);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$*&,&%\"x G\"\"#-%$expG6#F&\"\"\"F+,&*$)F&F'F+F+F(F+!\"\"F'" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 32 "int(%,x); # Use integration in K" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,$-%#lnG6#,&*$)%\"xG\"\"#\"\"\"F,-%$expG6#F* F,F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "subs(theta=theta/(d +1),%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%#lnG6#,&*$)%\"xG\"\"#\"\" \"F+-%$expG6#F)F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "A5:=%* theta^d;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A5G*$)-%#lnG6#,&*$)%\"x G\"\"#\"\"\"F/-%$expG6#F-F/F.F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "new_f:=collect(new_f - diff(A5,x), theta,normal);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&new_fG*&,&*&%\"xG\"\"\"-%$expG6#F(F)F)F)F)F) F(!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "indets(new_f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$-%$expG6#%\"xGF'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "member(theta,%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 32 "theta \+ no longer appears in new_f" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "int(new_f,x); # Use integration in K" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&-%$expG6#%\"xG\"\"\"-%#lnGF&F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "result := %+A1+A2+A3+A4+A5;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'resultG,0-%$expG6#%\"xG\"\"\"-%#lnGF(F**&F&F**&)F)\" \"#F*)-F,6#,&*$F/F*F*F&F*\"\"$F*!\"\"F**&,&F*F**&*&,&F)F*F&F*F*F2F*F*F )F7F*F**&)F2F0F*),&*$F>F*F*F)F7F0F*F7F**&F&F**(F/F*F2F*F@F*F7F7*&F0F*- F,6#F2F*F*FAF*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "check := \+ normal(diff(result,x) - f);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&chec kG\"\"!" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 209 "As you can see, as lo ng as f (or new_f) still has theta in the denominator, we're only usin g things like normal, diff, sqrfree, solve, and such. Once new_f is in K[theta], only then do we use integration in K." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "How can integration fail? " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 166 "As l ong as the pole_order is >1 at any finite point, we can always reduce \+ it. That never fails, we don't use any integration but only other comm ands that always work." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 554 "When the pole_order=1, then we compute the residues . Now if any of them is non-constant, then no elementary integral exis ts because according to Liouvilles principle, if an elementary integra l exists then f must have a very special form, in particular these res idues must be constant. So if any residue is non-constant (contains an x) then the algorithm ends, no elementary integral exists. However, i f all residues are constant, then the computation proceeds and f (new_ f) is reduced to a new_f with no theta in the denominator. So new_f is in K[theta]." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 152 "When f (or new_f) is in K[theta], then we integrate lcoe ff(f,theta), which is an element of K. If the degree d is >0, then we \+ distinguish several cases." }}{PARA 0 "" 0 "" {TEXT -1 112 "1) lcoeff( f,theta) does not have an elementary anti-derivative. Then f has no el ementary anti-derivative either." }}{PARA 0 "" 0 "" {TEXT -1 357 "2) l coeff(f,theta) does have an elementary anti-derivative but it contains a logarithmic extension other than theta. Well, then we get theta^d*n ew_logarithm, but that's not allowed in Liouvilles theorem, new logari thms always come with a constant coefficient, not with something that \+ contains theta. So in case 2, there is again no elementary integral of f." }}{PARA 0 "" 0 "" {TEXT -1 324 "3) lcoeff(f,theta) has an element ary integral without any new logarithms (except for perhaps theta). So then int(lcoeff(f,theta),x) must be of the form c*theta+a for some a \+ in K, and constant c (which could be 0). Then take A=(c/(d+1) * theta \+ + a)*theta^d, and you see that f-diff(A,x) is a polynomial in theta of degree