ࡱ> #% !"jg)` %bjbj7."h"h"h"hLnl&mlrlrlrlrGsGsGs$hwGsGswwlrlr===wlrlr=w==AIlrm ~"hy"0&80IIGsIt=uuGsGsGs3 GsGsGs&wwwwd_"h"h Programming and Computer Software (2009) Vo. 35, No. 2, pp 63-78 Mathematica Implementation of M. Bronstein's Poor Man's Integrator Parallel Integration Method Risch Norman Algorithm Prof. Dr. Robert Kragler, Weingarten Univ. of Applied Sciences, Germany email :  HYPERLINK "mailto:kragler@hs-weingarten.de" kragler@hs-weingarten.de web :  HYPERLINK "http://hs-weingarten.de/~kragler/public/" http://hs-weingarten.de/~kragler/public/ Abstract : In May 2005 Manuel Bronstein presented on the same CAS seminar in Dubna his implementation of the so-called "Poor Man's Integrator". The method of "Parallel Integration" which goes back to ideas of Risch, Norman, Davenport, Trager and others is a heuristic one and develops the integrand f over the differential field K in terms of multivariate rational functions such that  EMBED Equation.DSMT4  Here v is a quotient of multivariate polynomials, the ui are logarithmic derivatives. Hence, the parallel integration method consists in making educated guesses for the ui and the denominator of v, as well as for the degree of its numerator; thus the calculation of algebraic quantities is reduced to the problem of solving a linear system of equations in order to determine the ci's and constant coefficients of the numerator of v. If the linear equations for the unknown coefficients has a solution, then an integral of f is found. Yet, the nonexistence of a solution does not always imply that f does not have an elementary integral over K but could mean that the guess was wrong. This makes the method although heuristic nevertheless very successful in some CAS such as Maple or Mathematica. The original version of the program pmint (which stands for Poor Man's Integrator ) is a very short one with less than 100 lines of Maple code for integrating transcendental elementary or special functions. Because powerful Maple functions (e.g. convert) used do not have a direct correspondence in Mathematica the task rewriting pmint into Mathematica code is not straightforward. However, the Mathematica version of pmint was formulated in 2007 by Luis A. Medina and Alexander Pavlyk at Wolfram Research Inc. Many examples which have been tested with the Maple version of pmint are investigated with the Mathematica implementation of pmint . It turns out that the Poor Man's Integrator is able to compute even integrals which cannot be handled by the standard integrator implemented in Mathematica or Maple. This is due to the fact that pmint is applicable to special functions (such as Airy, Bessel, Lambert W, Wright Omega and Whittaker functions etc. ). The discussion of the current paper shows the strengths but also some drawbacks of this heuristic approach which can be considered as an extension of the well-established Risch algorithm Method of Parallel Integration In May 2005 Manuel Bronstein / INRIA presented on the 9th Workshop on Computer Algebra at LIT/JINR in Dubna his Maple version of the so-called "Poor Man's Integrator" a heuristic approach. In his monography on "Symbolic Integration I" [13], published in 2005, there is a new chapt. 10 devoted to "Parallel Integration" - a method which goes back to ideas of R. Risch, A.C.Norman, J.H. Davenport, B.M. Trager and others; for references see [1-12]. This method attempts to handle all the generators of the differential field containing the integrand "in parallel", i.e. all at once rather than considering only the topmost one. Hence, this method has been called either the "new Risch algorithm" [5], the "Risch-Norman algorithm" [7,8,12] or the "parallel Risch algorithm" [9,10,11]; it is in fact heuristic rather than algorithmic as it may fail both in theory and practice in computing elementary antiderivatives. As to [13] the general idea behind parallel integration is to avoid the recursive nature of the integration algorithm by viewing the differential field K containing the integrand f as a field of multivariate rational functions over its constants. The integrand f K belongs to a differential field of the form K = C(t1,... t n) where C = Const(K) and each ti is a transcendental function over C(t1,... t i-1). As a consequence of the strong version of Liouville's Theorem (Bronstein 2005, Chap. 5.5.3, p.145 [13]), if the integral of f is elementary over K, then there are v K, with c1,... cm algebraic numbers over C and u1,... um K(c1,... cm )* such that  EMBED Equation.DSMT4  (1) Since v is a quotient of multivariate polynomials in t1,... tn and the ui's are assumed (without loss of generality) to be polynomials in t1,... tn (logarithmic derivative identity), the parallel method consists in making educated guesses for the ui 's and the denominator of v, as well as for the degree of its numerator. This reduces the problem of solving equation (1) to finding the c i 's and the constant coefficients of the numerator of v, which can be achieved with elementary linear algebra. If the linear equations for the unknown constants c i have a solution, then an integral of f is found. However, the nonexistence of a solution does not always imply that f does not have an elementary integral over K; it could just mean that the guess was wrong. All parallel approaches published so far share the property that there are functions which have elementary antiderivatives that cannot be found with that variant. As a consequence, parallel integration is a convenient heuristic method which is significantly easier to implement than a complete integration algorithm. As will be shown below it is very successfully implemented for CAS such as Maple and Mathematica. Mathematica code for pmint The Maple implementation of the heuristic parallel integration, pmint, was published by M. Bronstein in May 2005 (" HYPERLINK "http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint" http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint") and contains less than 100 lines of code. pmint which stands for "Poor Man's Integrator" is a program for integrating transcendental elementary or special functions The analogous Mathematica implementation is more involved due to the fact that some powerfull built-in Maple procedures (such as convert etc. ) will have no direct correspondence in Mathematica. Yet, in 2007 at Wolfram Research Inc. (WRI) a Ph.D. student Luis A. Medina and Alexander Pavlyk [14] have formulated the Mathematica version of pmint, thus credit should be given to them. Various examples have been tested by the author under the most recent Mathematica V6.0.2 Subsequently, the Mathematica code for the procedures below is listed and - where available - compared with the corresponding Maple code : (1) Code : pmint, pmIntegrate, tryIntegral, getSpecial, myFactors, enumerateMonoms, splitFactor, deflation --------------------------------------------- pmint ------------------------------------------------------ Here is the Mathematica module : Clear[pmint]; pmint[f_,x_,opt:OptionsPattern[{Extension0}]]:= Module[{ff,si,li,lin,lout,q,d,l,lv,ld,ls,fint,lc,t,terms,list}, ff=Together[TrigToTan[f]]; list=ToIndetsAndDerivation[ff,x,t]; If[list$Failed,Return[INT[f]]]; {ff,terms,lv,ld}=list; q=denD[ld]; ld=q*ld; ls=DeleteCases[Map[getSpecial[#,Thread[termsRest[lv]]]&,terms],Null]; ToTerms[ pmIntegrate[ff,lv,ld,q,ls,OptionValue[Extension]], terms,Rest[lv]]/.{tanTan} ] For comparison the corresponding Maple procedures will be shown. pmint := proc(f,x) local ff, si, li, lin, lout, ld, q, d, l, vars, dx, ls, fint, lc; ff := eval(convert(f, tan)); # convert trigs to tan si := select(proc(d) diff(d,x) <> 0 end, indets(ff)); si := select(proc(d) diff(d,x) <> 0 end, indets(map(diff, si, x) )) union si; li := [op(si)]; # list of terms in integrand and its derivative lin := [seq(d=`tools/genglobal`(x), d=li)]; # substitution terms-> indets lout := [seq(rhs(d)=lhs(d), d=lin)]; # substitution indets->terms ld := subs(lin, map(diff, li, x)); # derivatives of all the terms q := lcm(seq(denom(d), d=ld)); # denominator of the total derivation l := [seq(normal(q * d), d=ld)]; # q * derivatives of all the terms vars := map(lhs, lout); dx := totalDerivation(vars, l); # vector field dx = q * d/dx ls := [seq(getSpecial(d, lin), d=li)]; # list of known Darboux for dx fint := subs(lout, pmIntegrate(subs(lin, ff), dx, q, vars, ls)); lc := select(proc(d) convert(d,string)[1]="_"; end, indets(fint, name)); subs({seq(d = 0, d=lc minus si)}, fint); end; ---------------------------------------------------------- pmIntegrate -------------------------------------------- Mathematica module : Clear[pmIntegrate]; pmIntegrate[f_,lv_List,ld_List,q_,ls_: {},ext_: 0]:= Module[{splq,s,df,spl,cden,dg,x,monomials,cand,lunk,sol,i,AA}, DRPrint["Visit pmIntegrate."]; splq=splitFactor[q,lv,ld]; s=First[splq]; Scan[If[Last[#],s=s*First[#]]&,ls]; x=First[lv]; df=Denominator[f]; spl=splitFactor[df,lv,ld]; cden=s*First[spl]*deflation[Last[spl],lv,ld]; dg=1+totalDeg[s,lv]+ Max[ totalDeg[Numerator[f],lv],totalDeg[Denominator[f],lv]]; monomials=enumerateMonoms[lv,dg]; DRPrint[" There are ",Length[lv], " new variables in the integrand and the guess bound for deg is ",dg, " therefore the number of monomials is ", Length[monomials],"."]; If[Length[monomials] > 800, DRPrint["\n Since the number of monomials is bigger than 800, then 'pmint' failed. It is possible that the integral is doable,"]; DRPrint["but it will require too much time. The bound 800 can be changed to a smaller one"]; Return[INT[f]]]; cand=Total[Table[ AA[i]* monomials[[i]], {i,Length[monomials]}]]/cden; lunk=Table[AA[i],{i,Length[monomials]}]; sol=tryIntegral[ f,lv,ld,q,cand,lunk, First[spl], (* normal part of df *) Last[spl], (* special part of df *) Last[splq], (* special part of q *) ls,ext]; If[ First[sol],INT[f],Last[sol]] ] Maple procedure pmIntegrate := proc(f, d, q, vars) local ls, splq, s, ff, df, spl, cden, dg, monomials, cand, lunk, sol, i; if nargs = 5 then ls := args[5]; else ls := []; fi; splq := splitFactor(q, d); s := splq[1]; for i to nops(ls) do if ls[i][2] then s := s*ls[i][1]; fi; od; ff := normal(f); df := denom(ff); spl := splitFactor(df, d); cden := s * spl[1] * deflation(spl[2], d); dg := 1 + degree(s) + max(degree(numer(ff)), degree(denom(ff))); monomials := [op(enumerateMonoms(vars, dg))]; cand := add('_A'[i] * monomials[i], i = 1..nops(monomials)) / cden; lunk := { seq('_A'[i], i = 1..nops(monomials)) }; sol:= tryIntegral(f, d, q, vars, cand, lunk, spl[1], spl[2], splq[1], ls, 0); if sol[1] then sol := tryIntegral(f, d, q, vars, cand, lunk, spl[1], spl[2], splq[1], ls, I); fi; if sol[1] then Int(f); else sol[2]; fi; end; ---------------------------------------------------------- tryIntegral -------------------------------------------- Mathematica module : Clear[tryIntegral]; tryIntegral[f_,lv_List,ld_List,q_,cand_,lunk_,l1_,l2_,l3_,ls_,k_]:= (* In this application the "k" is a variable or variables to adjoint *) Module[{candlog,p,candidate,i,sol,DD,BB,lu,dens}, DRPrint["Visit tryIntegral."]; DD=totalDerivation[lv,ld]; candlog=Union[myFactors[l1,k],myFactors[l2,k], myFactors[l3,k],First /@ ls]; candidate=cand + Total[Table[BB[i] Log[candlog[[i]]], {i,Length[candlog]}]]; lu=Union[lunk,Table[BB[i],{i,Length[candlog]}]]; DRPrint[" Applying 'funky way' of Together..."]; sol=totalDerivation[lv,Together[ld/q]]; {sol,dens}=Reap[Collect[f-sol[candidate], Alternatives @@ lu, With[{tmp=Together[#]},Sow[Denominator[tmp]]; tmp]&] ]; dens=PolynomialLCM @@ Flatten[dens]; DRPrint[" Applying Collect..."]; sol=Collect[sol,Alternatives@@lu,Together[dens*#]&]; sol=DeleteCases[PolyCoeffs[sol,lv],0]; DRPrint[" Applying Outer..."]; dens=Outer[D,sol,lu]; DRPrint[" Solving linear equation with a ", First[Dimensions[dens]]," x ", Last[Dimensions[dens]]," matrix."]; sol=Quiet[LinearSolve[dens,-sol/.Thread[lu0]]]; If[Head[sol]===LinearSolve,sol={}]; If[sol=!={},sol=Thread[lusol]]; {sol==={},(candidate/.sol)/.Thread[lu0]} ] Maple procedure. tryIntegral := proc(f, d, q, vars, cand, lunk, l1, l2, l3, ls, K) local candlog, p, candidate, i, sol; candlog := [op({myfactors(l1, K), myfactors(l2, K), myfactors(l3, K)} union { seq(p[1], p=ls) })]; candidate := cand + add('_B'[i] * log(candlog[i]), i = 1..nops(candlog)); sol := solve({coeffs(numer(normal(f - d(candidate)/q)), {op(vars)})}, lunk union { seq('_B'[i], i = 1..nops(candlog)) }); [evalb(sol=NULL), subs(sol,candidate)]; end; ---------------------------------------------------------- getSpecial -------------------------------------------- Mathematica module : (* To get the known Darboux polynomials *) getSpecial[f_tan,ru_]:={1+(f/.ru)^2,False}; getSpecial[f_Tanh,ru_]:= With[{ff=f/.ru},Sequence @@ {{1+ff,False}, {1-ff,False}}]; getSpecial[f_ProductLog,ru_]:={f/.ru,True}; getSpecial[___]:=Null; Maple procedure. getSpecial := proc(f, l) local p; # return known Darboux polynomials p := op(0,f); if p = `tan` then [1+subs(l,f)^2, false]; elif p = `tanh` then [1 + subs(l,f), false], [1 - subs(l,f), false]; elif p = `LambertW` then [subs(l,f), true]; else NULL; fi; end; ---------------------------------------------------------- myfactors -------------------------------------------- Mathematica module : myFactors[p_,Algebraic]:= Module[{f,var}, ( var=Variables[#]; If[Length[var]1, Apply[Sequence,( First[var]-(First[var]/. {ToRules[ Roots[#0,First[var]] ]}) )],#] )& /@ myFactors[p,I] ]; myFactors[p_/;!NumericQ[p],0]:= Drop[First/@ FactorList[p],1]; myFactors[p_?NumericQ,_]:={p}; myFactors[p_/;!NumericQ[p],extension_]:= Drop[First/@ FactorList[p,Extension extension],1]; Maple procedure. myfactors := proc(p, K) local l, fact; if K = 0 then l := factors(p); else l := factors(p, K); fi; seq(fact[1], fact=l[2]); end; --------------------------------------------- enumerateMonoms -------------------------------------------------- Mathematica module : (* Calculate all monomials in variables "lv" such that TOTAL deg is "deg" *) enumerateMonoms[{},deg_]:={1}; enumerateMonoms[lv_List,deg_]:= Module[{i,v=Most[lv]}, Union[enumerateMonoms[v,deg], Sequence @@ Table[Last[lv]^i*enumerateMonoms[v,deg-i],{i,deg}]] ] Maple procedure. enumerateMonoms := proc(vars, d) local n, x, i, v, s, w; n := nops(vars); if n = 0 then {1}; else x := vars[n]; v := [seq(vars[i], i = 1..n-1)]; s := enumerateMonoms(v, d); for i to d do s := s union {seq(x^i*w,w= enumerateMonoms(v,d-i))}; od; s; fi; --------------------------------------------- splitFactor -------------------------------------------------------- Mathematica module : splitFactor[p_,lv_List,ld_List]:= Module[{theT,c,hn,hs,S,q,qn,qs,DD}, theT=mainVar[p,lv]; If[theT===$Failed,Return[{p,1}]]; DD=totalDerivation[lv,ld]; {c,q}=PolyContentPP[p,theT]; {hn,hs}=splitFactor[c,lv,ld]; S=PolynomialQuotient[PolynomialGCD[q,DD[q]], PolynomialGCD[q,D[q,theT]],theT]; If[Exponent[S,theT]0,Return[{hn p,hs}]]; {qn,qs}=splitFactor[PolynomialQuotient[q,S,theT],lv,ld]; {hn qn,S hs qs} ] Maple procedure. splitFactor := proc(p, d) local si, x, c, q, spl, s, splh; si := select(proc(z) d(z) <> 0 end, indets(p,name)); if si = {} then RETURN([1,p]) fi; x := si[1]; c := content(p, x, 'q'); spl := splitFactor(c, d); s := normal(gcd(q, d(q)) / gcd(q, diff(q, x))); if degree(s) = 0 then RETURN([spl[1], q * spl[2]]); fi; splh := splitFactor(normal(q / s), d); [spl[1] * splh[1] * s, spl[2] * splh[2]]; end; --------------------------------------------- deflation ----------------------------------------------------------- Mathematica module : (* Calculate the deflation of p with respect to the "new derivation". *) deflation[p_,lv_List,ld_List]:= Module[{theT,c,q,DD}, theT=mainVar[p,lv]; If[theT===$Failed,Return[p]]; DD=totalDerivation[lv,ld]; {c,q}=PolyContentPP[p,theT]; deflation[c,lv,ld]*PolynomialGCD[q,DD[q,theT]] ] Maple procedure. deflation := proc(p, d) local si, x, c, q; si := select(proc(z) d(z) <> 0 end, indets(p,name)); if si = {} then RETURN(p) fi; x := si[1]; c := content(p, x, 'q'); deflation(c, d) * gcd(q, diff(q, x)); end; (2) Conversion of trig functions to tan : TrigToTan, Derivative --------------------------------------------- TrigToTan ------------------------------------------------------ Mathematica module : Clear[TrigToTan,tan,exp]; TrigToTan[ee_]:= Module[{ToTan,e=ee/.Sec[x_]^21+Tan[x]^2}, ToTan[Sin[x_]]=With[{y=Together[x/2]},2 tan[y]/(1+tan[y]^2)]; ToTan[Cos[x_]]=With[{y=Together[x/2]},(1-tan[y]^2)/(1+tan[y]^2)]; ToTan[Sec[x_]]=With[{y=Together[x/2]},(1+tan[y]^2)/(1-tan[y]^2)]; ToTan[Sec[x_]^2]:=1+tan[x]^2; ToTan[Csc[x_]]=With[{y=Together[x/2]},(1+tan[y]^2)/(2 tan[y])]; (* ToTan[Tan[x_]]=With[{y = Together[x/2]},2 tan[y]/(1-tan[y]^2)]; *) ToTan[Tan[x_]]:=tan[x]; ToTan[Cot[x_]]=With[{y=Together[x/2]},(1-tan[y]^2)/(2 tan[y])]; e//.{x:(_Sin|_Cos|_Tan|_Cot|_Sec|_Csc)ToTan[x]} ] In Maple there is a powerful built-in procedure convert(expr,form) which transforms expr into another form. The function convert is used to convert an expression from one form to another. Some of the conversions are data-type conversions, others are form or function conversions. For the latter one a set of optional arguments are given to perform the conversion in different manners, e.g. convert(f,tan)which converts trigonometric functions into expressions involving only the function tan. --------------------------------------------- Derivative ---------------------------------------------------------- The Mathematica module : Derivative[1][tan]=Function[1+tan[#]^2]; Derivative[1][exp]=exp; exp[a_+b_]:=exp[a] exp[b]; exp[Log[x_]]:=x; is an extension of the first derivatives of tan and exp with additional rules for the exponential function (3) Other auxillary functions are : totalDerivation, PolyContentPP, PolyCoeffs, mainVar, myVariables, RationalFunctionQ, td, totalDeg, SubSet. --------------------------------------------- totalDerivation ------------------------------------------------- Mathematica module : totalDerivation[lv_List,ld_List]:= Function[u,ld.Table[D[u,k],{k,lv}],Listable] Maple procedure. totalDerivation := proc(lv, ld) proc(f) local fp, i; fp := 0; for i to nops(ld) do fp := fp + ld[i] * diff(f, lv[i]); od; fp; end; end; --------------------------------------------- PolyContentPP ---------------------------------------------------- Mathematica module : (* Returns the content and the primitive part of A as a polynomial in t *) PolyContentPP[A_,t_]:= With[{q=FactorTermsList[A,t]}, { Times @@ Most[q],Last[q] } ] --------------------------------------------- PolyCoeffs ---------------------------------------------------------- PolyCoeffs[p_,vars_]:= Block[{t}, Union @ Flatten[ CoefficientArrays[p,vars] /. t_SparseArray :> ArrayRules[t] [[All,2]] ] ] --------------------------------------------- mainVar ---------------------------------------------------------- mainVar[p_,lv_List]:= Catch[ Scan[ If[Exponent[p,#1]>0,Throw[#1]]&,Reverse[lv]]; $Failed ] --------------------------------------------- myVariables -------------------------------------------------------- myVariables[e:(_Plus|_Times)]:= Union[Flatten[myVariables/@ Apply[List,e]]]; myVariables[HoldPattern[Power][e_,a_Integer]]:= myVariables[e]; myVariables[e_/;NumericQ[e]]:= {}; myVariables[HoldPattern[Power][x_,p_Plus]]:= Union[Flatten[myVariables[x^Apply[List,p]]]]; myVariables[e_]:= {e}; SetAttributes[myVariables,{Listable}]; --------------------------------------------- RationalFunctionsQ ------------------------------------------ RationalFunctionQ[expr:(_Plus|_Times),x_]:= Fold[Function[{pr,el},pr && RationalFunctionQ[el,x]],True, List @@ expr]; RationalFunctionQ[HoldPattern[Power][e_,a_Integer],x_]:= RationalFunctionQ[e,x]; RationalFunctionQ[x_,x_]:= True; RationalFunctionQ[expr:Except[_Times|_Plus],x_List]:= Fold[#1 && (expr === #2||FreeQ[expr,#2])&,True,x]; RationalFunctionQ[expr:Except[_Times|_Plus],x:Except[_List]]:= FreeQ[expr,x]; --------------------------------------------- td ------------------------------------------------------------------------ td[mono_]:= Total[Exponent[mono,myVariables[mono]]]; td[mono_,vars_]:= Total[Exponent[mono,vars]]; --------------------------------------------- totalDeg ------------------------------------------------------------- totalDeg[poly_Plus]:= Max[td /@ List @@ poly]; totalDeg[poly_]:= td[poly]; totalDeg[poly_Plus,vars_]:= Max[td[#,vars]& /@ List @@ poly]; totalDeg[poly_,vars_]:= td[poly,vars]; --------------------------------------------- SubSet ----------------------------------------------------------------- SubSet[A_,B_]:= Module[{a=Tally[A][[All,1]],b=Tally[B][[All,1]]}, Length[Intersection[a,b]] Length[a] ]; (4) Building monomials extension : ToIndetsAndDerivation, ToTerms, denD --------------------------------------------- ToIndetsAndDerivation -------------------------------------- Clear[ToIndetsAndDerivation]; ToIndetsAndDerivation[f_,x_,t_]:= Module[{vars,terms,deriv,newF,limitList,list,F,dterms,count=0}, F=f//.{Expexp}; terms=Select[myVariables[F],PolynomialQ[#,x]False &]; dterms=Union[Select[ Flatten[myVariables[D[terms,x]]], (PolynomialQ[#,x] False &)],terms]; While[ Not[SubSet[dterms,terms]] && count15, terms = Union[terms,dterms]; dterms=Union[Select[Flatten[myVariables[D[terms,x]]], (PolynomialQ[#,x] False &)],terms]; count=count+1 ]; If[count>15, Return[$Failed] ]; deriv=D[terms,x]; vars=Map[ t,Range[Length[terms]] ]; limitList=Thread[terms -> vars]; newF=F /. limitList; deriv= deriv /. limitList /. {HoldPattern[Power][a_,b_Plus] :> Times @@ ((a^Apply[List,b]) /. limitList)}; If[ True || Fold[#1 && RationalFunctionQ[#2,Join[{x},vars] ]&, True,deriv], {newF,terms,Join[{x},vars],Join[{1},deriv]}, $Failed] (* Else *) ]//.{exp[y_] :> Exp[y]}; Here f is the integrand, x the variable of integration and t a dummy variable whose purpose is to name the new variables as t1, t2 , . The output of the procedure ToIndetsAndDerivation is : the integrand f in terms of new variables, to adjoin the variables in order to calculate the integral. This information is needed when changing back the result in terms of the original variables. The last two elements of the output are of the form {x, t1, t2],} and {1,D[t1], D[t2],}. These elements are needed to obtain totalDerivation. --------------------------------------------- ToTerms --------------------------------------------------------------- ToTerms[F_,terms_List,vars_List]:= F/.Thread[vars -> terms] It is assumed that "derivations" are the list of derivatives of the ti 's. This list should be given at the time, when denD is called. In particular, it takes the last element of ToIndetsAndDerivation[f,x,t]. --------------------------------------------- denD -------------------------------------------------------------------- denD[derivations_List]:= PolynomialLCM @@ Denominator[Together[derivations]]; Finally, some auxillary definitions are needed for simplification of the expressions etc. (5) Transformations : LambertRule,log2ArctanRule,pureFctConversion Because Lambert's W function is implemented in Mathematica as the function ProductLog[z] a substitution rule is introduced. --------------------------------------------- LambertRule -------------------------------------------------------- LambertRule = {ProductLog[z_] -> lambertW[z]}; The inverse of the function f(w) = w eW is called the Omega function. The Wright Omega function is defined in terms of the Lambert W function with argument x . --------------------------------------------- Omega function -------------------------------------------------- W[x_]:=LambertW[x] In order to recast the logarithmic representation of the arctan function into the usual representation a sequence of replacement rules has to be defined --------------------------------------------- log2ArctanRule -------------------------------------------------- log2ArctanRule [result_]:= ((( ( result/.{Log[a_]-Log[b_] -> Log[a /b]} )/. {Log[(-+z_)/ +z_] -> Log[- ((1+ z)/(1- z))]} )/. {Log[-c_] -> Log[c]+Log[-1]} )/. {Log[(1+ z_)/(1- z_)] -> 2 ArcTan[z]} )//Simplify The following rule achieves the conversion between the two forms of Mathematica's pure function representation with Function[par,body] and body[#]& . --------------------------------------------- pureFctConversion --------------------------------------------- pureFctConversion = Literal[ Function[ par_, body_ ] ] /; FreeQ[ body, #] :> Unevaluated[ Function[ body ] /. par # ]; and finally a debugging utility --------------------------------------------- DRPrint --------------------------------------------------------------- Clear[DRPrint]; DRPrint[w___]/;($DebugRisch===True):= Print[w]; Demonstration of pmint In order to demonstrate the potential of the heuristic parallel integrator pmint a selection of examples will given. There are several categories such as: Elementary functions Rational functions Trigonometric functions Log-Exp functions Liouvillian special functions ( Error function) Airy functions Bessel functions Lambert W function Wright Omega function As will be shown below some examples involving Airy, Bessel, Lambert W, Wright Omega and Whittaker W functions where pmint gives a result cannot be dealed with either by Maple's built-in integrator int or/and by Mathematica's built-in procedure Integrate. Where available the results of the built-in integrators obtained by Maple and/or Mathematica will be compared with the result of pmint. (a) Elementary functions In the case of elementary functions such as (non-rational) polynomials involving powers of x or combinations of trigonometric functions pmint reproduces the same results as found with the built-in integrators of Mathematica or Maple. Generally, there arise some problems to cast the results in the same form. Thus, as shown by the subsequent example it needs some additional efforts, i.e. a sequence of Mathematica commands, until the result looks the same. res1 = pmint[x2 Csc[x3] Sec[x3],x] => -(1/3) Log[-1+Tan[x3/2]]+1/3 Log[Tan[x3/2]]-1/3 Log[1+Tan[x3/2]] The result which looks quite complicated can be simplified by a sequence of transformation rules res11=(((res1//TrigFactor )//.{Log[a_]-Log[b_]Log[a /b]} //FullSimplify)/.{Log[(-(1/2))*a_]-Log[-2]+Log[a]}//Expand); res11//.{(c=Select[res11,FreeQ[#,x]&]) C1} => 1/3 Log[Tan[x3]]+C1 and agrees with the result of Integrate res2 = Integrate[x2 Csc[x3] Sec[x3],x] //Simplify up to an complex integration constant C1=-(1/3) (Log[2]+ p ) as can be easily proofed by differentiating both results D[res1-res2,x] //Simplify => 0 . (b) Rational functions Handling rational polynomial functions seems to be no problem for pmint  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  However, the obviously simple integration  EMBED Equation.DSMT4  with result ArcTan[x] only works with extension to complex numbers by the additional option of pmint , i.e. ExtensionAlgebraic.  EMBED Equation.DSMT4  => -(1/2) (Log[-+x]-Log[+x]) With a sequence of replacement rules log2ArctanRule the logarithmic terms are finally casted into the function ArcTan. res1 //log2ArctanRule => ArcTan[x]+ p/2 which is the result of Integrate up to an integration constant  EMBED Equation.DSMT4  . (c) Trigonometric functions Moreover, pmint can handle integrands which are rational polynomials of trigonometric functions and powers of x. However, pmint cannot cope with the following simple example, because  EMBED Equation.DSMT4  has no representation in terms of transcendentals t i. The result of Integrate is an elliptic integral of 2nd kind  EMBED Equation.DSMT4 . But, if the series expansion of the integrand, i.e. series[ EMBED Equation.DSMT4 ,{x,0,14}]//Normal, is used pmint will deal with the integrand up to arbitrary order. The result in terms of a power series  EMBED Equation.DSMT4  coincides with the series expansion of  EMBED Equation.DSMT4 . Straightforward calculcation of the integral  EMBED Equation.DSMT4  fails because it requires an extention to rationals for factorization. Therefore, with the additional option Extension ( Algebraic which is passed to FactorList the procedure pmint will find a solution res1 = pmint[1/(2+Sin[x]),x,ExtensionAlgebraic] =>  EMBED Equation.DSMT4  Alternatively, the Extension ( (-1)1/3 could have been chosen but this choice would require some kind of preknowledge of the result; therefore the option Extension ( Algebraic is more general. In order to obtain the result in the same form given by the built-in integrator first the roots {(-1)1/3,(-1)2/3} have to be casted into  EMBED Equation.DSMT4  by means of the substitution rule algNumbRule : algNumbRule = Thread[{(-1)1/3,(-1)2/3} ( ComplexExpand[{(-1)1/3,(-1)2/3}] ]; res1a =(res1/.algNumbRule//FullSimplify)/.{Log[arg_](Log[2 arg]}//Simplify With the help of the subsequent rewrite rule (((res1a /. {1+2Tan[x/2] (  EMBED Equation.DSMT4 z,-1-2Tan[x/2] ( - EMBED Equation.DSMT4 z}//Simplify )/. {Log[a_]-Log[b_] ( Log[a/b]})/. {Log[(-z)/( +z)] ( -(Log[1- z]-Log[1+ z])}//ExpToTrig )/. {z ( (1+2Tan[x/2])/ EMBED Equation.DSMT4 } the result finally agrees with that of Integrate. =>  EMBED Equation.DSMT4  Another intricate example is  EMBED Equation.DSMT4  A straightforward calculation fails again but the calculation is doable if the integrand is casted into a rational polynomial using the substitution Tan[x/2] z. Because of this substitution the transformed integrand fct(z) has to be divided by an additional factor  EMBED Equation.DSMT4  . Hence using Apart and ComplexExpand the integrand becomes  EMBED Equation.DSMT4  and  EMBED Equation.DSMT4  Now, J1 = pmint[f1,z,Extension Algebraic]//. {z Tan[x/2]} //Simplify => 1+Cos[x]-2 Log[-+Tan[x/2]]+2 Log[+Tan[x/2]]+Log[1+Tan[x/2]]+Sin[x] The result of the second part J2 is quite lengthy J2 = ((pmint[f2,z,Extension Algebraic] //Simplify )//. {z Tan[x/2]}) J2//Short[#,4]& => (22/3 (1) Log[-1+1/6 (1+ EMBED Equation.DSMT4 ) (54-6  EMBED Equation.DSMT4 )1/3+((1- EMBED Equation.DSMT4 ) (9+1)1/3)/62/3+Tan[x/2]])/(-264 21/3 35/6  EMBED Equation.DSMT4 +4+(9- EMBED Equation.DSMT4 )2/3 (-35/6 (13 +3  EMBED Equation.DSMT4 ) (2 (9+ EMBED Equation.DSMT4 ))1/3+(39+3  EMBED Equation.DSMT4 ) 1+6 (9+3  EMBED Equation.DSMT4 +  EMBED Equation.DSMT4 + EMBED Equation.DSMT4 ABC : ; < T U V \ ] ͸xokckXcOckGhWDhWD5h"GhWD0JjhWDUjhWDUhWDhCkhWD0J#jh"GhWDUmHsHjhWDUmHsH hCkhWDhCkhWD56 h3KhWD5B*mHphsH(h3KhWD5B*CJaJmHphsH h3KhWD5B*CJaJphh>L~h>L~5CJaJh>L~5CJaJh>L~h>L~5CJaJABC V D ` RS  "#$a$gdgdg"$a$gdWDgdWD $]a$gdWD$a$gdWDgd>L~%   O D E \ ] ^ _ e f # $   l n ䷯yytyjjh{hWD56 hWD5h{hWD5H*h{hWD5!jh&hEHOJQJU%j\K hCJOJQJUVaJhOJQJjhOJQJUh{hWD5OJQJ h hWDh hWD56hhWDh{hWD6 hCkhWDhCkhWD5) ',GUZj%3!"Z\47|hg"hg"0J\hg"0J6] h`0Jh1khg"0J6\ hg"0Jhhg"hg"H*hg"hg"hWD5hg"hg"5 hmhWDh"jh{hWD6h{hWD5h"jhWD5OJQJ^Jh{hWD5OJQJhWD0 .*+"""$$Z&[&&&S'T''''gd gdA$a$gdA$a$gdh5$a$gd2dgdg"$a$gdKV')*1268>@FrrhXc0J5OJQJ\^JhXc0J5OJQJ\^JhXc0J5\hXc0J56\]h6hXc0J"h6hXc0J5OJQJ\^J hXc0J h60Jh h0Jh h1k0Jh1kh1k0J6 h1k0J h&0J h`0J hg"0J+FHJLNXZ\^`nrv :¶‡{rl h60Jhh0J hg"0J h0JhhXc0J56\hXc0J5OJQJ\^Jh6hXc0J\hXc0J5\hXc0J56\] hXc0Jh0J56\hXc0J5H*\h&hXc0J56\hXc0J5\h6hXc0J56\&.0RTVXZ\^bjlnpz|ôçve!h6h0J5CJH*\aJh0J5OJQJ\^Jh0J5OJQJ\^Jh0J5\h0J5H*\h6h0J56\h0J5OJQJ\^Jh0J5\h6h0J56\ h60Jh0J5OJQJ\^J h0Jh0J56\]'  #$%&'(-.45defglmnowxy˺沪wwnwwnwh_h&0J6] h&0Jh&0J5\h&0J5H*\h&h&0J56\h&0J5\h&h&0J56\ h&0JhLOJQJhOJQJ!j'h&h&EHOJQJU%j\K h&CJOJQJUVaJh&OJQJjh&OJQJUhc<OJQJ h0J!!*+,-GHuvx)+1]^_踯ylfffYh&hCi0J56\ h2d0Jh&hc<0J56\hc<hc<0J5\hc<hc<0J5H*\hCi0J56\h&hc<0J56\ hCi0Jhc<hc<0J hc<0Jh&h&0J56\ h&0Jh&0J5H*\h&h&0J56\ h&0Jh&0J6]h2d0J6] _`ep   ` """""""""""""""""" ##+#,#-#~vpj h:O0J h'0Jhg"hh55 hh55 hM0J h0Jh2dhc<0J hCi0J]h2dhc<0J]hCihCi0J6hc<0J5OJQJ\^Jhc<0J6]hc<0J56\]hc<0J5\ hc<0J h2d0J hCi0Jhc<hCi0J5H*\'-#2#4#8#`#a###########$$ $$2$3$$$$$$$$% %%%7%B%j%p%r%%ӿݟ降wnehAhr_0Jhr_0J6]h>nhr_0J5OJQJ^J hA0Jhr_hr_0J\] hr_0J h0Jh:Oh:O0J6h>nh:O0J5OJQJ^JhRh'0JjN h'Ujh'0JU h'0J hh50J h:O0Jh>nh'0J5OJQJ^J&%%%%%%%%%%%%&0&F&Q&R&Y&Z&[&&&&&&&'|rkaO"htFhA0J5OJQJ\^JhAhA0J5 htF0J5hW3 hW3 0J5'htFhW3 0J5CJOJQJ^JaJ h:O0Jhr_hr_0J hA0J"h>nhr_0J5OJQJ\^Jhr_hr_0J] hr_0JhA0JB*\phhAhA0J\hAhr_0JB*\phhAhr_0JhAhr_0J\'''*'Q'R'S'T''''''''ʸrcQB3h 0JCJOJQJ\aJh/M0JCJOJQJ\aJ#h/Mh/M0JCJOJQJ\aJhA0J5CJOJQJ\&htFhtF0J5CJOJQJ\^JhtF0J5CJOJQJ\&h htF0J5CJOJQJ\aJhD0J5OJQJ\^J"htFhA0J5OJQJ\^J"htFh 0J5OJQJ\^J"htFh=T0J5OJQJ\^J"htFhtF0J5OJQJ\^J'''2(4(<(D(F(((((()))L)P)T)d)f)))))))****\*^*t*ϸ஝~~k~T~-h Wh W0JB*CJOJQJ^JaJph$h Wh W0JCJOJQJ^JaJ!h Wh W0JB*CJaJphhW0JCJaJmH sH  h Wh W0JCJaJmH sH hW0JCJaJ-h Wh W0JB*CJOJQJ^JaJph!h Wh W0JB*CJaJphh Wh W0JCJaJ#h h 0JCJOJQJ\aJ '''D(()P))))** +P+Z+\+++,G,,,-S--- 7$8$H$gdggdAgdW]gdWgd Wgd t******+ ++D+F+N+V+X+Z+\+++++++l,󷩛q[I"hghg5CJOJQJ\^J+hghg5B*CJOJQJ\^JphhD7+hA0J5CJaJhtFhA0J5CJaJhtFhD7+0J5CJaJhtFh`l0J5CJaJhD7+h`l0J5CJaJh WhA0J5CJaJ$h Wh W0JCJOJQJ^JaJ!h Wh W0JB*CJaJphhW0JCJaJh Wh W0JCJaJl,n,p,,,----#-S-`--------.8.A.X.~.....//+/G/f///0*0.0/00010߬t h0J5CJOJQJ\aJ htF0J5CJOJQJ\aJ hA0J5hghgCJOJQJ^J*hghg5CJOJQJ\^JmH sH htFCJOJQJ\^JhghgCJOJQJ\^J"hghg5CJOJQJ\^Jhg5CJOJQJ\^J(-8.~.../f///0*0/000000001E1g11111gdD7+gdAgdzgdtFgdg 7$8$H$gdg X7$8$H$]Xgdg10l0w0000000111E1H1Q1c1g1i1o1111111111111222212˼yykyZyyyyyZyZ!hD7+hD7+0JB*CJaJphh7hD7+0J5CJaJh70JCJaJ!hD7+hD7+0JB*CJaJphhD7+hD7+0JCJaJh hg0J5CJaJh/Mhz0JCJaJhz0JCJOJQJ\aJ"htFhtF0J5CJOJQJ\&htFhtF0J5CJOJQJ\^JhtF0J5CJOJQJ\#11232222y3z33!444445k5555555 6 6.6 7$8$H$gdtFgdPQgdD7+gdD7+123252;2I2J2L2N2T2m2n222222222222222 3'3*303V3Y3a3z3|333333333333334!4"4+4C4i44444444444h5UP0JCJaJh_30J5CJaJh5UPhD7+0J5CJaJh5UPh70J5CJaJh_30JCJaJ!hD7+hD7+0JB*CJaJphh70JCJaJhD7+hD7+0JCJaJ>4444555(5)5*5>5D5O5S5V5g5k5p5z5}555555555555555555 6 6 6{g'h h 0J5CJOJQJ^JaJ!hPQ0J5CJOJQJ^JaJ'h=hPQ0J5CJOJQJ^JaJ$h hD7+0JCJOJQJ^JaJhD7+h5UP0JCJaJhD7+0JCJaJh5UPhD7+0J5CJaJ!hD7+hD7+0JB*CJaJphhD7+hD7+0JCJaJh5UP0JCJaJ' 66/66677889 9X9\9]9^9_999999Ͻ{j[J6J[&htFhtF0J5CJOJQJ\^J h=0J5CJOJQJ\^JhtF0J5CJOJQJ\ h0J5CJOJQJ\aJ h 0J5CJOJQJ\aJ$h5UPh5UP0JCJOJQJ^JaJhtFhtFCJOJQJ^JhtF5CJOJQJ\^J"htFhtF5CJOJQJ\^J*htFhtF5CJOJQJ\^JmHsH3htFhtF5B*CJOJQJ\^JmHphsH.6x6667W777798l889/9X9]9^999999C::::gdMgd gdtF 7$8$H$gdtF h7$8$H$]hgdtF99999?:B:C:G:J::::::::::::;;;;";#;2;3;;;J;P;Q;S;T;Y;[;j;k;l;m;;;;;;;;<<!<%<G<I<±§™§§™§ˆ§ˆˆ§§§§§§§§§™§ˆ!hMhM0JB*CJaJphhMhM0J5CJaJhM0JCJaJ!hMhM0JB*CJaJphhMhM0JCJaJ&h h 0J5CJOJQJ\aJh/Mh 0JCJaJh 0JCJOJQJ\aJ5:;Y;;;<I<<<<<==S=}===r>t>>*?r??????gdD7+gdVDgdMI<K<v<<<<<<<<<<<<====S=U=V=}===============>>>*>\>j>p>r>t>x>z>ߐ߃у߃уv߃hFhF0JCJaJhFhM0JCJaJ hFhF0JCJaJmH sH hF0JCJaJmH sH  hMhM0JCJaJmH sH  hFhM0JCJaJmH sH hFhM0J5CJaJhF0JCJaJhMhM0JCJaJhM0JCJaJ.z>>>>>*?.?b?d?r?v???????????? @f@w@@ֵycQBQh 5CJOJQJ\^J"h/Mh/M5CJOJQJ\^J+h/Mh/M5B*CJOJQJ\^Jph'h htF0J5CJOJQJ^JaJ'h=hVD0J5CJOJQJ^JaJ'h h 0J5CJOJQJ^JaJhMhF0JCJaJhVD0JCJaJhM0JCJaJhF0JCJaJ$hMhM0JCJOJQJ^JaJhMhM0JCJaJ?@@f@@@%AAAAAFB[B\BBBCCCZC[C]CoCCCC8D 7$8$H$gdisgdrgdrgd=Tgdg"gd/M 7$8$H$gd/M@@A AkAlAAAAAABBFBZB[B\B]B_B`BaBcBfBBBözf\O\O\OAOhrhr0J5CJaJhrhr0JCJaJhr0JCJaJ&h h=T0J5CJOJQJ\aJh/Mh=T0JCJaJh=T0JCJOJQJ\aJ h=T0J5CJOJQJ\^Jh=T0J5CJOJQJ\h hVD0JCJaJ hVD0J*h/Mh/M5CJOJQJ\^JmH sH "h/Mh/M5CJOJQJ\^Jh 5CJOJQJ\^JBBBBBCC3CBCCCMCRCYCZC[C]CoCٺtgVE1'h=hr0J5CJOJQJ^JaJ!h 0J5CJOJQJ^JaJ!hr0J5CJOJQJ^JaJhrhjTr0JCJaJhjTrhjTr0JCJaJ!hjTrhjTr0JB*CJaJph!hrhjTr0JB*CJaJphhr0JCJaJhrhr0JCJaJ!hrhr0JB*CJaJphhr0JCJaJmHsH hrhr0JCJaJmHsH)hrhr0JB*CJaJmHphsHoCyCzCCyDzD{DDDDEEEEEEӵreQ@3)h^0JCJaJh^h^0JCJaJ!h^h^0JB*CJaJph&h his0J5CJOJQJ\aJh/Mhis0JCJaJhis0JCJOJQJ\aJ his0J5CJOJQJ\^Jhis0J5CJOJQJ\&h^h^0J5CJOJQJ\aJhishVD0JCJaJ his5CJOJQJ\^JaJ&hishis5CJOJQJ\^JaJ/hishis5B*CJOJQJ\^JaJph8DeDuDzD{DDEE/EFE FGGGHHHHHxIIIIJJgdy 7$8$H$gdygdygd^gdisgdis 7$8$H$gdisE/E1EFEJEFF FFfFrFFFFFFFFGGBGFGHGGGGHHHfHhHHHHHHHII󱝱uo hr0J"hyhy5CJOJQJ\^J+hyhy5B*CJOJQJ\^Jph'h=hy0J5CJOJQJ^JaJ'h hy0J5CJOJQJ^JaJ!h^h^0JB*CJaJph$h^h^0JCJOJQJ^JaJh^0JCJaJh^h^0JCJaJ&IIJ2JJJJJJNKPKRK\KbKdKfKKKKKK L L,L0LoLsLtLݽqgVVgggg!ha>ha>0JB*CJaJphha>0JCJaJ'ha>ha>0J5CJOJQJ^JaJha>ha>0J5CJaJh+?0J5CJaJha>ha>0JCJaJ#h hy0JCJOJQJ\aJhy0JCJOJQJ\aJ hy0J5CJOJQJ\^Jhy0J5CJOJQJ\&h hy0J5CJOJQJ\aJJJdKfKKpLtLuLLLLLLLM=MMMMN&N'NINgdkgdg"gd*gd+? 7$8$H$gd+?gd?X]Xgda>gda>x]xgd+?gdytLuLLLLL!MJMKMhMqMMMMMMMMMMN&NsdSdDh*0JCJOJQJ\aJ h*0J5CJOJQJ\^Jh*0J5CJOJQJ\ h0J5CJOJQJ\aJ hy0Jh+?5CJOJQJ\^J*h+?h+?5CJOJQJ\^JmHsH"h+?h+?5CJOJQJ\^J+h+?h+?5B*CJOJQJ\^Jph'h=h?0J5CJOJQJ^JaJ'h h?0J5CJOJQJ^JaJ&N'NFNINJNnNpNvNNNNNNNNNNNNNN O O9O:OBOCOeOgOPP.P4PPPPPPPPP˾˾՞Պv'h=h1'0J5CJOJQJ^JaJ'h h1'0J5CJOJQJ^JaJ$hkhk0JCJOJQJ^JaJh`h`0JCJaJh`hk0JCJaJh`0JCJaJhkhk0JCJaJ!hkhk0JB*CJaJphhkhy0JCJaJ(INnNNNNN O OeO.PPPPPPPtQQR R:RURRRRSSgd:Fo 7$8$H$gd:Fogd1'gdkPQSSSFSOSPSQSTSSSSSSS T Tѽ}naTFT5T!hBhB0JB*CJaJphhl=hB0J5CJaJhBhB0JCJaJhBhcK0JCJaJhcK0JCJOJQJ\aJhl=0J5CJOJQJ\ hcK0J5CJOJQJ\^J hl=0J5CJOJQJ\^JhcK0J5CJOJQJ\&h hcK0J5CJOJQJ\aJ hy0J"h:Foh:Fo5CJOJQJ\^J+h:Foh:Fo5B*CJOJQJ\^JphSSSSSSS#T:T[TyTTTTTTTUEUdUqUUUUUUgd-gd|[J 7$8$H$gd|[JgdR"ZgdBgdcKgdcK T T#T%T+T8T:TZZZZZZZZŷŷ隔~q~q~h+a0J5OJQJ^Jh+ah+a0J5OJQJ^J h.0J h+a0J h0JhEnh:CH0JCJaJhEn0JCJaJh:CH0JCJaJmH sH  h:CHh:CH0JCJaJmH sH $h:CHh:CH0JCJOJQJ^JaJh:CHh:CH0JCJaJh:CH0JCJaJ,ZZZZZZ[[&[([!\"\*\w\x\\\\\\\]]]]2]<]P]T]x]]ظز~o`hEn0JCJOJQJ\aJh,0J5CJOJQJ\ hEn0J5CJOJQJ\^JhEn0J5CJOJQJ\&h hEn0J5CJOJQJ\aJ h 0Jh.h+a0J5OJQJ^Jh.h.0J5OJQJ^J h.0J h|[J0Jh+ah+a0J5OJQJ^J h+a0J h2n0Jx]]]]]]^^n^o^^^o_______ `!`g`l` 7$8$H$gd>$gd>$%d7$8$H$Ogd>$gd,gdg"%d7$8$H$OgdEngdEn]]]]]]]]]^^^.^1^6^9^m^n^o^s^^^{nh^h^hXRhK<h,0J5OJQJ\^J h,0J5 h0J hEn0Jh,h,0J5 h,0Jh,h1'0JCJaJ&h,hEn5CJOJ QJ \^J aJ#h,hEn5CJOJ QJ ^J aJh=5CJOJ QJ ^J aJ h=5CJOJ QJ \^J aJ&hEnhEn5CJOJ QJ \^J aJ/h=hEn5B*CJOJ QJ \^J aJph#h hEn0JCJOJQJ\aJ^^^-_<_o__________˺˫m\mH4H'h=h>$0J5CJOJQJ^JaJ'h h>$0J5CJOJQJ^JaJ ho5CJOJ QJ \^J aJ&h>$h>$5CJOJ QJ \^J aJ/h>$h>$5B*CJOJ QJ \^J aJph#h h,0JCJOJQJ\aJh,0JCJOJQJ\aJ h,0J5CJOJQJ\^Jh,0J5CJOJQJ\&h h,0J5CJOJQJ\aJ"htFh,0J5OJQJ\^J__!`"`g`h`m`o`x`y`z`{````aaa>a±q_K9#hhCJOJ QJ \^J aJ&hh5CJOJ QJ \^J aJ#h h0JCJOJQJ\aJh0JCJOJQJ\aJ h0J5CJOJQJ\^Jh0J5CJOJQJ\ h0J5CJOJQJ\aJ h0J5CJOJQJ\aJ h>$0Jh>$5CJOJQJ\^J"h>$h>$5CJOJQJ\^J+h>$h>$5B*CJOJQJ\^Jphl`t`y`z``aaMaNaaaa!b"bbbb c!ctccccgdj %d7$8$H$OgdJugdJu%d7$8$H$Ogdgdgd>$ 7$8$H$gd>$>aDaIaNabadagaiaaaaaaaaaa!b"b6bʲʡʡʐ|m\mJ2/hJuhJu5B*CJOJ QJ \^J aJph#h hJu0JCJOJQJ\aJ hJu0J5CJOJQJ\^JhJu0J5CJOJQJ\&h hJu0J5CJOJQJ\aJ ho5CJOJ QJ \^J aJ hX5CJOJ QJ \^J aJ/hh5B*CJOJ QJ \^J aJph&hh5CJOJ QJ \^J aJ#hhCJOJ QJ \^J aJhXCJOJ QJ \^J aJ6b8b;bV.hlhj 0J5CJOJQJ\^JmH sH *hlhj 0J5CJOJQJ\mH sH &h hj 0J5CJOJQJ\aJ h.p5CJOJ QJ \^J aJ hJu5CJOJ QJ \^J aJ&hJuhJu5CJOJ QJ \^J aJ/hJuhJu5B*CJOJ QJ \^J aJph#h hJu0JCJOJQJ\aJhJu0J5CJOJQJ\ hJu0J5CJOJQJ\^JcccIddd e"e#eMeNeeeeCfff'gxgyggg)hWhgdC%d7$8$H$OgdCgdk%d7$8$H$Ogdlgdj ccddd*d5dIdvdyddddddddddddd eeѽѽlѽ[ѽ?7hlhl5B*CJOJ QJ \^J aJmH phsH  hl5CJOJ QJ \^J aJ&hBhC5CJOJ QJ \^J aJ&hBhl5CJOJ QJ \^J aJ/hBhl5B*CJOJ QJ \^J aJph h.p5CJOJ QJ \^J aJ&hlhl5CJOJ QJ \^J aJ/hlhl5B*CJOJ QJ \^J aJph+hlhj 0JCJOJQJ\aJmH sH eee!e#e$e%e&eLeMeNe|eeeee辩|jVjD,/hChC5B*CJOJ QJ \^J aJph#hChk0JCJOJQJ\aJ&hChk0J5CJOJQJ\^J"hChk0J5CJOJQJ\.hBhk0J5CJOJQJ\aJmH sH (h.p5CJOJ QJ \^J aJmH sH (hB5CJOJ QJ \^J aJmH sH (hl5CJOJ QJ \^J aJmH sH (hC5CJOJ QJ \^J aJmH sH .hlhl5CJOJ QJ \^J aJmH sH eeeeffff%f4f8f9f;foVobohojolonopooooooo p ppppp6ppXpbpfphplpppppppppʲʲ|kkkk h_cw5CJOJ QJ \^J aJ h*[5CJOJ QJ \^J aJ h# 5CJOJQJ\^JaJ&h*[h*[5CJOJQJ\^JaJ/h*[h*[5B*CJOJ QJ \^J aJph&h*[h*[5CJOJ QJ \^J aJ h=5CJOJ QJ \^J aJ h# 5CJOJ QJ \^J aJ*pppq q&q*qXqZq^q`qnqpqrqqqqqqqqqqqqqqqqqqrrʶt`&h_cwh*[5CJOJ QJ \^J aJ(h=5CJOJ QJ \^J aJmHsH(h_cw5CJOJ QJ \^J aJmHsH.h_cwh*[5CJOJ QJ \^J aJmHsH&h=h*[5CJOJ QJ \^J aJ h=5CJOJ QJ \^J aJ h_cw5CJOJ QJ \^J aJ&h*[h*[5CJOJ QJ \^J aJ rrr$r%r'r(r:r;r=r>rJrKrLrNrOrWrXrZr[rerfrwrrrrrrrrrrrrrrǶǶǶǶǥ}}۶e}}۶}}}/h*[h*[5B*CJOJ QJ \^J aJph&h*[h*[5CJOJ QJ \^J aJ&h_cwhT25CJOJ QJ \^J aJ h*[5CJOJ QJ \^J aJ h_cw5CJOJ QJ \^J aJ&h_cwh*[5CJOJ QJ \^J aJ h=5CJOJ QJ \^J aJ&h_cwh_cw5CJOJ QJ \^J aJ#rrrrrrrssssssssɸraO=()h9h>0J56CJOJQJ\aJ#h>h>0JCJOJQJ\aJ#h>ho0JCJOJQJ\aJ h 0J5CJOJQJ\aJ&h_cwh_cw5CJOJ QJ \^J aJh_cw5CJOJ QJ ^J aJ#h_cwh_cw5CJOJ QJ ^J aJ h_cw5CJOJ QJ \^J aJ h=5CJOJ QJ \^J aJ h*[5CJOJ QJ \^J aJ#h_cwh_cwCJOJ QJ \^J aJ&h*[h_cw5CJOJ QJ \^J aJss+s,sMsNs}sssssssssssssssss޵ɣɣ~oYoJ;oh90JCJOJQJ\aJh2n0JCJOJQJ\aJ*h'h'0J5CJOJQJ\^JaJh'0JCJOJQJ\aJ hT20J5CJOJQJ\aJ&h>h>0J5CJOJQJ\aJ#hT20J5CJH*OJQJ\aJ&h'h>0J6CJOJQJ\aJ)h9h>0J56CJOJQJ\aJh>0JCJOJQJ\aJ#h>h<0JCJOJQJ\aJssssMtttttttttttt۸zfT@+@+)hU`hT20J56CJOJQJ\aJ&hU`hT20J5CJOJQJ\aJ#hU`hT20JCJOJQJ\aJ'hU`hT20JCJOJQJ\^JaJ'hU`hp10JCJOJQJ\^JaJ'hU`h90JCJOJQJ\^JaJ*hU`h'0J6CJOJQJ\^JaJ'hU`h'0JCJOJQJ\^JaJh90JCJOJQJ\aJh'0JCJOJQJ\aJ)h9h'0J56CJOJQJ\aJst(u)uuuuuvv*w+wywzwwwxxxx ygd#x]xgdy %d7$8$H$O]gdDgdDgdg"%d7$8$H$OgddAgd $ & Fa$gd9tttttttttttttttttt uuuu#u%u֯ꤘq_q_qN= hU`h9CJOJQJ^JaJ hU`hT2CJOJQJ^JaJ#hU`h95CJOJQJ^JaJ#hU`hT25CJOJQJ^JaJ)hU`h90J5CJH*OJQJ\aJhU`hT25CJaJhU`hT2CJaJ#hU`hT20JCJOJQJ\aJ)hU`hT20J56CJOJQJ\aJ&hU`hT20J5CJOJQJ\aJ)hU`hT20J5CJH*OJQJ\aJ%u'u(u)uWu^uuuuuuuuuuuuuͻq]L]L]?9 h}_0Jh}_h}_0JCJaJ hdA5CJOJ QJ \^J aJ&hdAhdA5CJOJ QJ \^J aJ/hdAhdA5B*CJOJ QJ \^J aJph#h h 0JCJOJQJ\aJhT20J5CJOJQJ\ hT20J5CJOJQJ\^J"h h 0J5CJOJQJ\&hU`ho0J5CJOJQJ\aJ#hU`ho5CJOJQJ^JaJhU`hT25CJaJuuvvvvv!v"v#v$vTvXvvvvvvvvvv w)w*wõ㟎|k|\|M|hD0J5CJOJQJ\h0J5CJOJQJ\ h0J5CJOJQJ\^J"h hD0J5CJOJQJ\ h0J5CJOJQJ\aJ hC0JhDhD0J5OJQJ^JhD0J5CJH*\aJhDhD0JCJH*\aJhphD0J6CJ\aJ hD0J h}_0JhDh}_0J5OJQJ^J*w+wAwCwDwTwUwywzwwwwwwwwwxxxkWkA2h0JCJOJQJ\aJ*hy h#0J5OJQJ\^JmH sH 'hy hy 0JOJQJ\^JmH sH 'hy h#0JOJQJ\^JmH sH hy hy 0JmH sH hp0J5mH sH hy h#0JmH sH  h#0J hC0J hD5CJOJ QJ \^J aJ&hDhD5CJOJ QJ \^J aJ/hDhD5B*CJOJ QJ \^J aJph#h hD0JCJOJQJ\aJx"x)x+x-x:xexrxxxxxxxx y y}kWkEk3#h/h#0JCJOJQJ\aJ"h/h;0J5CJOJQJ\&h/hy 0J5CJOJQJ\^J"h/h#0J5CJOJQJ\&hhy 0J5CJOJQJ\aJh/0JCJOJQJ\aJ*hh0J5CJOJQJ\^JaJh0JCJOJQJ\aJ&hh0J6CJOJQJ\aJ&hhy 0J6CJOJQJ\aJ#hhy 0JCJOJQJ\aJ y y;y@`bƒă؄ & Fgd@$a$gd! gd^%d7$8$H$Ogd$_gdg"%d7$8$H$Ogd gd Ȃ>@^`bƒăƃݼna[QJ8#h^h@0J5CJOJQJ^J h^0J5h@h@0J5 hE90JhKh 0JCJaJ h@5CJOJ QJ \^J aJ/h$_h$_5B*CJOJ QJ \^J aJph h$_5CJOJ QJ \^J aJ&h$_h$_5CJOJ QJ \^J aJ#h;h 0JCJOJQJ\aJh 0J5CJOJQJ\"h;h 0J5CJOJQJ\ h 0J5CJOJQJ\^JFKPQcdŅȅɅʅڅ߅+.UV[dfk DOdµ﫤{qkakh#h#0J6 h#0Jh@h#0J5 h@0J5 hE90J h^0Jh{ mh@0J5OJQJ^J h{ m0J h{ m0J6h{ mh@0J6h@hE90JCJaJh@h@0J5h@h@0JCJaJ h!0Jh@h@0J5OJQJ^J h@0Jh@h 0J5%):Mcd ԈՈBC @B%d7$8$H$Ogd $a$gdafgd#$a$gd!gdg" & Fgd@def҈ԈՈوڈۈ܈仧mmm^L>h 0JCJaJmH sH #h h 0J5CJaJmH sH h 0J5CJaJmH sH )hj=h 5H*OJ QJ \^J mH sH &hj=h 5OJ QJ \^J mH sH  h 5OJ QJ \^J mH sH &h h 5OJ QJ \^J mH sH h h#0JCJaJ h 0J haf0Jh@h 0J5OJQJ^J h#0Jh#h#0Jh^h#0J5CJ'(<=ABC0vxȷkZkZKhew5CJOJ QJ ^J aJ h 5CJOJ QJ \^J aJ&h h 5CJOJQJ\^JaJ&h h 5CJOJ QJ \^J aJh h 0JCJaJ haf0J6h h 0J6 h 0J h h 0JCJaJmH sH  h h'L0JCJaJmH sH &h h 0J5CJH*aJmH sH #h h 0J5CJaJmH sH  24>@B~ǹtn[RE5hh5OJ QJ \^J hh'L0JCJaJh h'L0J$h h 0JCJOJQJ^JaJ h 0Jhh 0JCJaJh h 0JCJaJh h 0J5CJH*aJh h 0J5CJaJh h 0JCJaJhRh 0J5CJaJ&h h 5CJOJ QJ \^J aJ#h h 5CJOJQJ^JaJ#h h 5CJOJ QJ ^J aJB24b<>PR%d7$8$H$O]gdj=$a$gd!%d7$8$H$Ogdz$a$gdaf%d7$8$H$OgdRgdg"Ƌȋ֋؋DFjlnprtvµ|fVfCV$h0J5CJOJQJ\^JaJh h0J5CJ\aJ*h h0J5CJOJQJ\^JaJ$h0J5CJOJQJ\^JaJ*h h0J5CJOJQJ\^JaJhRh0J6 h0Jhh0JCJaJhRhR5OJ QJ \^J hR5OJ QJ \^J !hj=hR5H*OJ QJ \^J hj=hR5OJ QJ \^J vxz ".024<`b4͸}mdWOCOjhzOJQJUhzOJQJhzh@0JCJaJh@h@0Jhzh@0J5OJQJ^J h@0J h0J5h@h@0J5 h@0J5hh0JhhR0Jh0J5CJaJhh0J5CJaJ h0J5hh0J5hh0J h0Jhaf0J5CJ\aJh0J5CJ\aJ468:<>BLN|~؎ڎϿώ{ja[UIAhj=OJQJjhj=OJQJU hj=0J hz0Jh@h@0J!jhzhzEHOJQJU%jʶK hzCJOJQJUVaJhzOJQJhj=hzOJQJ hj=hzCJOJQJ^JaJhzh@0JCJaJhzhz5OJ QJ \^J jhzOJQJU!j hzhzEHOJQJU%jXK hzCJOJQJUVaJ (:\ҏ܏HJri\TA%jK hj=CJOJQJUVaJhj=OJQJhj=hj=0JCJaJh@h@0J"hj=hj=0J5OJQJ\^Jhj=hj=0J5\*h hj=0J5CJOJQJ\^JaJhj=hj=0J6hj=hj=0J5OJQJ^J hj=0Jhj=hj=0Jjhj=OJQJU!j(hzhj=EHOJQJU%jK hj=CJOJQJUVaJJLNPR^ln|~8HzķrlcSclcScM@h~g>h~g>0JCJaJ hj=0Jhj=hj=0J5OJQJ^Jhj=hj=0J h~g>0J hj=hj=0JCJaJmHsH#hj=hj=0J5CJaJmHsH'hj=hj=0J5CJOJQJ^JaJhj=hj=0J5CJaJhj=hj=0JCJaJhj=0JCJaJmHsHhzhj=5OJ QJ \^J jhj=OJQJU!jnhzhj=EHOJQJU‘đƑڑޑ )123JK{uau[u[OG4%jK h].CJOJQJUVaJh].OJQJjh].OJQJU h].0J'h~g>h~g>0J5CJOJQJ^JaJ h~g>0Jh~g>h~g>0JCJaJhj=hj=0J5CJaJhj=0JOJQJ^Jhj=hj=0J5CJaJhj=0JCJOJQJ^JaJ$hj=hj=0JCJOJQJ^JaJhj=hj=0JCJaJh~g>hj=5OJ QJ \^J h~g>h~g>5OJ QJ \^J PQmĔŔ >@%d7$8$H$Ogd>'o$a$gdSp$a$gd!gdj=gdg"%d7$8$H$Ogdj=KLMNOQUlmw|Ȓɒݒޒ()@ABCfƼyq^M!jh].h].EHOJQJU%jK h].CJOJQJUVaJh].OJQJh].h].0JOJQJ^J h>'o0J h ,0J hSp0J h].0Jh].h].0J5OJQJ^J h^0J hUS0Jh@hUS0J5 hUS0J5 hj=0Jh~g>0J5\ h~g>0Jjh].OJQJU!jzh].h].EHOJQJUfuvwxyz{ϓГѓғ ľľľud^^WMh ,h ,0J5 h!0J5 h!0J!j!hp8hp8EHOJQJU%jRK hp8CJOJQJUVaJhp8OJQJjhp8OJQJUh ,OJQJhp8h ,0JH*h ,hp80J5OJQJ^J h ,0J hp80J h].0Jh^0J5H*\h^0J56\hp8h].0J56\ h].0Jh].0J6]()*+=@GLMQ`l˸ﮨzm\P=%jK h_eCJOJQJUVaJh ,h_e5OJQJ jh ,h_e5OJQJUhS9h!0JCJaJ hUS0J hS90J hc,0J h^0JhS9h!0J5OJQJ^J h ,0J h!0Jh ,h ,0J5$jZ$h ,h ,5EHOJQJU.jK h ,h ,5CJOJQJUVaJh ,h ,5OJQJ jh ,h ,5OJQJU”ÔĔŔ 78OPQRSp÷ÅymeRAmey!j\/h>'oh>'oEHOJQJU%j(WK h>'oCJOJQJUVaJh>'oOJQJjh>'oOJQJU h>'o0J hc,0J h_e0J!j,hp8hS9EHOJQJU%jRK hS9CJOJQJUVaJhS9OJQJjhS9OJQJU hS90JhS9h_e0JCJaJ h_e0J jh ,h_e5OJQJU$j{'h_eh_e5EHOJQJUpʕ˕͕֕̕$<>@HJLNx̸ٰ̰uhuhuT'h>'oh>'o5B*OJ QJ \^J phhp_'5OJ QJ \^J h>'oh>'o5OJ QJ \^J h>'oh>'o0JCJaJ h_e0Jhc,0J^JhSph>'o0J5OJQJ^Jh>'o0J^J& jhSp5CJOJQJ\^JaJh>'o0J5OJQJ^Jh>'oh>'o0J5OJQJ^J hSp0J h>'o0Jh>'oh>'o0J6.02<BǺzttdWCW4h>'o0J5H*OJQJ^J& jhp_'5CJOJQJ\^JaJh>'o0J5OJQJ^Jh>'oh>'o0J5OJQJ^J h>'o0J!j2h>'oh>'oEHOJQJU%j8ZK h>'oCJOJQJUVaJh>'oOJQJjh>'oOJQJUhp_'OJQJh>'oh>'o0JCJaJh>'oh>'o5OJ QJ \^J 'h>'oh>'o5B*OJ QJ \^J ph'h>'oh>'o5B*OJQJ\^JphB !*+ŘƘݘޘߘtcPI h>'oh>'o$h>'oh>'o0JCJOJQJ^JaJ!j6h>'ohSpEHOJQJU%jKK hSpCJOJQJUVaJh>'oOJQJjh>'oOJQJU*h>'oh>'o0JCJH*OJ QJ \^J aJ'h>'oh>'o0JCJOJ QJ \^J aJ& jhSp5CJOJQJ\^JaJh>'o0J5OJQJ^Jh>'oh>'o0J5OJQJ^J h>'o0Jh>'o`aۙܙ89[\z{$a$gdSp%d7$8$H$Ogdp_'gd>'o%d7$8$H$Ogd>'ogdg"-058:;<ORWZ`afg̙ۙܙò잍Írlf`fSh h>'o0JCJaJ hSp0J h>'o0J h_C$0Jh>'oh>'o0JCJaJh CJOJQJ^JaJ h>'oh>'oCJOJQJ^JaJ&h_C$h>'o5CJOJQJ\^JaJ h>'o5CJOJQJ\^JaJ& jh>'o5CJOJQJ\^JaJ)h>'oh>'o5CJH*OJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJܙߙ "$0@BDHJxz|~ЧЛyhSЛyB!jt=h>'oh>'oEHOJQJU(h>'o5CJOJQJ\^JaJmH sH !jh:h>'oh>'oEHOJQJU%j`K h>'oCJOJQJUVaJh>'oh>'oOJQJmH sH jh>'oOJQJU& jh>'o5CJOJQJ\^JaJ(h4^5CJOJQJ\^JaJmH sH .h>'oh>'o5CJOJQJ\^JaJmH sH .h>'oh>'o5CJOJQJ\^JaJmH sH ښܚޚ иmYE1E&h9h>'o5CJOJQJ\^JaJ&h9h>'o5CJOJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJ& jh>'o5CJOJQJ\^JaJ h>'o5CJOJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJ"h>'oh>'o5OJQJ\^JaJ.hntuh>'o5CJOJQJ\^JaJmH sH .h>'oh>'o5CJOJQJ\^JaJmH sH .h>'oh>'o5CJOJQJ\^JaJmH sH  ",.0:<NPdfnpЛқׯככׇsbQEjh>'oOJQJU h4^5CJOJQJ\^JaJ h>'o5CJOJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJ&h9h>'o5CJOJQJ\^JaJ& jh>'o5CJOJQJ\^JaJ'h9h90J5CJOJQJ^JaJ&h9h>'o5CJOJQJ\^JaJ'hah90J5CJOJQJ^JaJқ-6789?@WXYȴ{k{^VC2!jChp_'hp_'EHOJQJU%jGeK hp_'CJOJQJUVaJh?OJQJh h>'o0JCJaJh h 0J5OJQJ^J h 0J h_C$0J h>'o0J$h>'oh>'o0JCJOJQJ^JaJ&h>'oh>'o5CJOJQJ\^JaJ&h>'oh>'o5CJOJQJ\^JaJjh>'oOJQJU!j@h>'oh>'oEHOJQJU%jbK h>'oCJOJQJUVaJh>'oOJQJYZ[\yz{}~Ĝ19Ƿylf`Z`Z`P`>"h_C$h_C$0J5OJQJ\^Jh_C$h_C$0J6 h90J h_C$0J h4^0JhSphSp0JCJaJ!jGhvdh?-EHOJQJU%jK h?-CJOJQJUVaJhvdhp_'OJQJjhvdhp_'OJQJUhvdhp_'5OJ QJ \^J hSph 0JCJaJ h 0J hp_'0Jh h>'o0JCJaJ h>'o0Jjh>'oOJQJU9zܞޞ 0:D^prȟʟ̟ΟквккАl_jMh_C$h_C$EHU%jumK h_C$CJOJQJUVaJh?h_C$h 0JCJaJ hp_'0Jj2Khj'h_C$EHUjjK h_C$UVh_C$jh_C$Uh_C$h_C$0J5OJQJ^J h90J h_C$0J"h_C$h_C$0J5OJQJ\^Jh_C$0J5OJQJ\^Jh_C$0J5\  ,.02468`bdԠ֠ĹllaS?S'hRIhRI0J5CJOJQJ^JaJhRIhRI0J5CJaJhRI0J5CJaJ&hRIhRI5CJOJQJ\^JaJ hRI5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJhRIhRICJaJh_C$h_C$h_C$CJaJh jh_C$UjnQh_C$h_C$EHU%jlK h_C$CJOJQJUVaJ ,.NPLln"$RTgd=(%d7$8$H$Ogd$a$gdKI%d7$8$H$OgdRIgdg" LNPR¡t`L;L hRI5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJhRIhRICJaJ hp5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJ&hSphRI5CJOJ QJ \^J aJhphRI hRIhRIhRICJaJhRIh_C$0J5CJaJhRIhRI0J5CJaJ'hRIhRI0J5CJOJQJ^JaJ¡ġȡ"$024HJLNlnz~ۢLj~p`pLpLpL'hahRI0J5CJOJQJ^JaJhahRI0J5CJH*aJhahRI0J5CJaJh?0JCJaJ hp0J&hRIhRI5CJOJ QJ \^J aJ hRI5CJOJ QJ \^J aJ&hRIhRI5CJOJQJ\^JaJ&hRIhRI5CJOJ QJ \^J aJ&hRIhRI5CJOJ QJ \^J aJ hRI5CJOJ QJ \^J aJ&(*,.4>@Bprì랍iVF2'hahRI0J5CJOJQJ^JaJhahRI0J5CJH*aJ$jXhahp5CJEHUaJ.j5K hahp5CJOJQJUVaJhahp5CJaJ jhahp5CJUaJhahRI0J5CJaJ,jUhahp5CJEHOJQJUaJ.j`K hahp5CJOJQJUVaJhahp5CJOJQJaJ(jhahp5CJOJQJUaJrtvƣʣУңԣ HƲƲƢƢƢƢƑmZƲƲƑ$j.^hahp5CJEHUaJ.jK hahp5CJOJQJUVaJhahp5CJaJ jhahp5CJUaJhahRI0J5CJH*aJ'hahRI0J5CJOJQJ^JaJhahRI0J5CJaJ(jhahp5CJOJQJUaJ,j"[hahp5CJEHOJQJUaJHJLNPV^dnpvx <>ĶĆn[ĶĆHĶĆn$j\ghahp5CJEHUaJ$jLdhahp5CJEHUaJ.jK hahp5CJOJQJUVaJhahp5CJaJ'hahRI0J5CJOJQJ^JaJhahRI0J5CJH*aJhahRI0J5CJaJ jhahp5CJUaJ$j>ahahp5CJEHUaJ.j5K hahp5CJOJQJUVaJ>@BFHJL\^`ʥ̥κκκ}fκZB.jK hahp5CJOJQJUVaJhahp5CJaJ,jzmhahp5CJEHOJQJUaJ.j`K hahp5CJOJQJUVaJhahp5CJOJQJaJ(jhahp5CJOJQJUaJ'hahRI0J5CJOJQJ^JaJhahRI0J5CJaJ jhahp5CJUaJ$jjjhahp5CJEHUaJ̥ΥХҥԥ"&(*,68:<@BDFNPRTXZ\¨΁΁q΁΁΁΁΁΁[q[q[q*hahRI0J5CJH*OJQJ^JaJhahRI0J5CJH*aJ'hahRI0J5CJOJQJ^JaJ$jshahp5CJEHUaJ.j5K hahp5CJOJQJUVaJUhahp5CJaJhahRI0J5CJaJ jhahp5CJUaJ$jphahp5CJEHUaJ# )))+1/(31/6 (1))+((1) 1)/(61 (1))+(4 (1))/1 but it is an explicit solution. Yet, interesting is the comparison with Integrate. The straightforward application of Integrate leads to a result much shorter which, however, is given as an implicit representation in terms of Mathematica's RootSum objects K = Integrate[(Sin[x] Cos[x] -Sin[x]2)/(1+Sin[x]+Cot[x]) ,x]//FullSimplify => 2 x+Cos[x]+Log[Sec[x/4]2]+Log[Cos[x/2]+Sin[x/2]] +Sin[x] + 8 RootSum[-7+296 #1+704 #12+5632 #13&, Log[-25+2 (9+88 #1 (-1+8 #1)) Tan[x/4]+25 Tan[x/4]2] #1& ] Numerical approximations of the results both of K and T1+T2 agree up to integration constants. (d) Log-Exp functions Here is an example where pmint gives a solution  EMBED Equation.DSMT4  => Log[2 x+ EMBED Equation.DSMT4  Log[-1+x]3] but Integrate fails. (e) Liouvillian special functions Liouvillian special functions are rational polynomials containing powers of the error functions erf(x) together with  EMBED Equation.DSMT4  :  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  The result of integration is the same for pmint and the integrators built into Maple and Mathematica. However, for a slightly more complicated case where the numerator  EMBED Equation.DSMT4  is replaced by  EMBED Equation.DSMT4  neither pmint nor the implemented integrators of Maple or Mathematica can deal with this case. (f) Airy functions For the subsequent examples which involve AiryAi and AiryAiPrime functions pmint is able to find solutions while Integrate fails in all cases. pmint[x AiryAiPrime[x] Cos[AiryAi[x]]+Sin[AiryAi[x]],x] =>  EMBED Equation.DSMT4  Here is another integral involving combinations of AiryAi, AiryAiPrime, Log and ArcTan :  EMBED Equation.DSMT4 // Simplify => AiryAi[x] ArcTan[x] Log[x] Another integral which pmint can solve but not Integrate is  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  Finally  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  In order to obtain this result the CPU time (with respect to the computer being used) is quite long. (g) Bessel functions A straightforward integration for the quotient of Bessel functions  EMBED Equation.DSMT4  fails both for pmint and Integrate.  EMBED Equation.DSMT4  The reason why pmint cannot directly cope with this integrand and hangs up is that every differentiation introduces new orders of BesselJ functions in this specific case NestList[ D[#,x]&,BesselJ[n,x],4] //Simplify// TraditionalForm //ColumnForm => Jn(x) 1/2 (Jn-1(x)-Jn+1(x)) 1/4 (Jn-2(x)-2 Jn(x)+Jn+2(x)) 1/8 (Jn-3(x)-3 Jn-1(x)+3 Jn+1(x)-Jn+3(x)) 1/16 (Jn-4(x)-4 Jn-2(x)+6 Jn(x)-4 Jn+2(x)+Jn+4(x)) In order to circumvent this feature of generating additional orders of BesselJ functions one applies instead a recurrence relation for Bessel functions according to [14] to obtain a simple differentiation rule. ( D[{BesselJ[n,x],BesselJ[n+1,x]},x]// Simplify`RecurrenceShift[#,TargetFunctions BesselJ[n,x]]& // Simplify /. {BesselJ[n,x]t1, BesselJ[n+1,x]t2} =>  EMBED Equation.DSMT4  This result serves as a guidance for the definition of t1' and t2' in terms of pure functions . {Derivative[1][t1] = Function[z, EMBED Equation.DSMT4 ]/. pureFctConversion , Derivative[1][t2] = Function[z, EMBED Equation.DSMT4 ]/. pureFctConversion} => {  EMBED Equation.DSMT4  ,  EMBED Equation.DSMT4 } The great advantage of pmint is that it suffices to know the derivative of a function (which needs to be in the monomial extension of transcendental functions) only in order to be able to perform the integration. It is assumed that the differential is closed on that extension. Therefore, because the derivative of D[n Log[x]-Log[t1[x]],x]//Simplify =>  EMBED Equation.DSMT4  turns out to be  EMBED Equation.DSMT4  the procedure pmint is able to calculate the integral.  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  The same strategy can also be used for the calculation of  EMBED Equation.DSMT4  where a direct calculation again fails but with the help of the auxillary functions t1 and t2 and their 1st derivatives given above)the integration turns out to be  EMBED Equation.DSMT4  =>  EMBED Equation.DSMT4  (h) Lambert W function In Mathematica the Lambert W function is identical with the function ProductLog. Hence, either LambertW or ProductLog can be used. The function w = ProductLog[z] is the principal solution for w of z = w w. (The kth solution is denoted by ProductLog[k,z]). Moreover, ProductLog[z] satisfies the differential equation  EMBED Equation.DSMT4 . Both pmint and Integrate can handle the following integral : pmint[Sin[ProductLog[x]],x]//FullSimplify =>  EMBED Equation.DSMT4  For the next example  EMBED Equation.DSMT4  a straightforward integration with pmint does not work. Because pmint has the default OptionsPattern[{Extension ( 0}] this example fails due to the fact that certain polynomials cannot be factorized. However, it suffices to enlarge the extension to Extension ( i in order to obtain the solution.  EMBED Equation.DSMT4  => (/2)(Log[-+x ProductLog[x]]-Log[+x ProductLog[x]]) With the help of the transformation rule log2ArctanRule the logarithms are finally simplified to => (/2+ArcTan[x ProductLog[x]] For the following integral a solution only exists with pmint whereas Integrate does not. pmint[(2 LambertW[x2] Cos[LambertW[x2]] (a x+LambertW[x2])+ a x (1+LambertW[x2] )+2 LambertW[x2])/((1+LambertW[x2]) (a x+LambertW[x2]) x),x] // FullSimplify => Log[a x+ProductLog[x2]]+Sin[ProductLog[x2]] (i) Wright Omega-function The Wright Omega function is defined in terms of the LambertW function with argument x. Therefore, we define W[x_]:=LambertW[x] Again, pmint gives a solution whereas Integrate fails : pmint[W[x],x]//Simplify => -1+ProductLog[x]+1/2 ProductLog[x]2 This applies to the following example too :  EMBED Equation.DSMT4  => Log[x+ProductLog[x]]+Sin[ProductLog[x]] Again, the built-in integrator Integrate cannot not find a solution whereas pmint does. Conclusion : It has to be emphasized that the Poor Man's Integrator ( pmint ) is not intended to be as complete as\^lnprxz|~¤Τ$(nԥ֥drÿujhhCJaJhSph5OJQJ^Jhh6hh5OJQJ^JhKIhKIhKI5OJQJ^Jh?hhphp6hSphphphRICJaJhahRI5CJaJhahRI0J5CJH*aJ*hahRI0J5CJH*OJQJ^JaJ"Ԧ֦"$*,Z\~ɴɩykyayaWyKykykyaWykyahh0J5aJh>n0JCJaJh0JCJaJhh0JCJH*aJhh0JCJaJh>n0JCJOJQJ^JaJ$hj=h>n0JCJOJQJ^JaJhhCJaJ)hh5CJH*OJ QJ \^J aJ&hh5CJOJ QJ \^J aJ h0Jh0JOJ QJ ^J h5CJOJ QJ \^J aJҨԨTj~ŽŽնՉ{phdQ%jK h?-CJOJQJUVaJh?-jh?-Uh=_CJ\^JaJh=_h?-CJ\^JaJhvdhvdCJaJhvdhvd5OJQJ^Jhvd h=(0Jh@h=(0J5 h=(0J5hh5hh5OJ QJ h0hh h>nhCJaJhhCJaJhh0J5aJ$&89YZOP$a$gd&$a$gd=_$a$gd!H%d7$8$H$Ogd!H$a$gdR%d7$8$H$Ogdvdgdg" "$&08:BDrtvxug\QM?Mh?-hR5OJQJ^JhRh?-hvdCJaJhvdhvdCJaJhvdhvd0JCJH*aJj5{hphvdEHU%jGK hvdCJOJQJUVaJhvdjhvdU$hvdhvd0JCJOJQJ^JaJhvdhvd0JCJaJhvd0JCJaJhvdhCJaJ&hvdhvd5CJOJ QJ \^J aJjh?-Ujvh?-h?-EHUƪȪ@HīЫҫ45678󭢞r^&h!Hh!H5OJ QJ \^J mHsHj.h!Hh!HEHU%jjK h!HCJOJQJUVaJjh!HUh>nh=_h!HhRCJaJhj<~hRh0EHU%jK h0CJOJQJUVaJjhRUh!HhR5h!Hhvdh@hR0J5hRhRhR5 89<=>UVWXYZǬɬ./FG¯Ɨ񐂐obO%jK h!HCJOJQJUVaJj h!Hh!HEHU%jK h!HCJOJQJUVaJh!Hh!H5OJQJ^J h!Hh!Hh!HhRmHsHjh!Hh!HEHU%jHK h!HCJOJQJUVaJh!Hjh!HUh>n0JCJOJQJ^JaJ$hj=h>n0JCJOJQJ^JaJh!HhRCJaJmHsHGHIRWŭѭ٭ڭ (09CFNOPRtb#h>nh=_CJ\^JaJmH sH h=_h=_CJaJhRh#Vh'6h'h'5OJQJ^Jh'hl#s5OJQJ^Jh'hl#sh@h=_0J5 h=_0J5h=_ h=_5hRh=_5 h!HhRh!Hh!H5OJQJ^Jh!Hjh!HUj)h!Hh!HEHU"RWYʮ  ôwj]LF@0@0Fh&h&0J5OJQJ^J h&0J h'0J h>nh>'o0JCJaJmH sH h>nh>'o0JmH sH jVh=_h4EHU%jK h4CJOJQJUVaJh>nh_C$mH sH jh_C$U,h>nh>n0JCJOJQJ^JaJmH sH h>nh=_CJaJmH sH .h>nh=_5CJOJ QJ \^J aJmH sH #h>nh=_CJ\^JaJmH sH #h>nh>nCJ\^JaJmH sH P  DEefƯǯ%d7$8$H$Ogd K%d7$8$H$Ogd'%d7$8$H$O]gd'$a$gd&gdg"%d7$8$H$Ogd=_    &'(),-.8;CDοΌ}qdL4/h4hu0J5CJOJQJ^JaJmH sH /h4h'0J5CJOJQJ^JaJmH sH h4h'0JmH sH h4CJaJmH sH h4h4CJaJmH sH h4h'CJaJmH sH !jhuh'CJ(EHUaJ(%jK h'CJOJQJUVaJh4h'CJ(aJ(mH sH jhuh'CJ(UaJ( h4h4hl#sh'0JCJaJh'h'0J h40JDEJdef}¯ïįп}o`Q>-!jh'h'CJ(EHUaJ(%jIjK h'CJOJQJUVaJh#Vh'CJ(aJ(mH sH jhuh'CJ(UaJ(h4hRGCJ\^JaJh4h'CJ\^JaJh4h40JCJaJh4h40J5OJQJ^Jh4h40Jh0JCJaJmH sH  h'h'0JCJaJmH sH  h'h'0JCJaJmH sH h'0JCJaJmH sH  h4h0JCJaJmH sH įůƯǯ˯̯ǸvgZLB5h4h40JmH sH h40JmH sH h K0JCJaJmH sH h#Vh'0JmH sH hRGhxCJ(aJ(mH sH !jh'hxCJ(EHUaJ(%jpK hxCJOJQJUVaJhRGh#VCJ(aJ(mH sH jhuh#VCJ(UaJ(hRGh#VCJaJmH sH  h#Vh'0JCJaJmH sH .h'h'5CJOJ QJ \^J aJmH sH jhuh'CJ(UaJ(2345ĹātkbWD3!j͡h'h KCJ(EHUaJ(%jvK h KCJOJQJUVaJhuh KCJ(aJ(h,h K0Jh,h40Jh,h#V0JCJaJ&h,h K5CJOJ QJ \^J aJ!jh'h4CJ(EHUaJ(%jK h4CJOJQJUVaJh,h KCJ(aJ(jhuh KCJ(UaJ(h,h4CJ\^JaJh,h KCJ\^JaJ h4h40JCJaJmH sH 6767Z[]^ҳӳ%d7$8$H$Ogd]dT%d7$8$H$Ogd~%d7$8$H$Ogdwgdw$a$gdC$a$gdgd Kgdg"567;<VcİѰ԰հذɾwdS!j^hwhe"CJ(EHUaJ(%ju{K he"CJOJQJUVaJhuhe"CJ(aJ(jhuhe"CJ(UaJ( he"0J h~0Jhwhw0J6hwhw0JhwhC0J5mHsHhwhCmHsHhwhC5mHsHh Kh K0J h,0J h K0Jh,h K0JCJaJh,hRG0J!&+4567>?VWXYZ[joݱʼ~jfXfXfTIh~h~CJaJh~hm8hm85OJQJ^Jhm8&hihw5CJOJ QJ \^J aJ!juhwhwCJ(EHUaJ(%jgzK hwCJOJQJUVaJhuhwCJ(aJ(jhuhwCJ(UaJ(h KhwCJ\^JaJhe"hwCJaJhwhC0J h~0Jhwhw0J5OJQJ^J he"0J hw0J6=@R]^bcnqvyòвӲڲݲDLPQmҳӳžžžžžžžžžžžžžžžŶh]dTh]dTCJaJh+h~5h~h~6hh~h~5OJQJ^Jh~hCJaJ h0JH* h0Jh~h~CJaJh5OJ QJ \^J h~h~5OJ QJ \^J h~5OJ QJ \^J 1ӳճ׳TVXz´Ĵ"˻즎ˎzk`QFhuh]dTCJ(aJ(jhuh]dTCJ(UaJ(h]dTh]dTCJaJh]dTh]dTCJaJmHsH&h]dTh]dT5CJOJQJ\^JaJ.h]dTh]dT5CJOJ QJ \^J aJmHsH(h]dT5CJOJ QJ \^J aJmHsHh]dTh]dT5OJ QJ \^J h]dTh]dT5OJQJ\^J h]dT5CJOJ QJ \^J aJ&h]dTh]dT5CJOJ QJ \^J aJ"$&(4R\Ƶȵ   /0wfwf[H%jK hMCJOJQJUVaJhuh]dTCJ(aJ( h]dT5CJOJ QJ \^J aJ&h]dTh]dT5CJOJ QJ \^J aJ hn5CJOJ QJ \^J aJhhCJaJh]dTh]dT6h+h]dTh]dT5OJQJ^Jh]dT h]dTh]dTjhuh]dTCJ(UaJ(!jīh]dTh]dTCJ(EHUaJ(%jBK h]dTCJOJQJUVaJ*J߶CDeɸʸ  G%d7$8$H$Ogd]dT$a$gdnh]hgdn%d7$8$H$O]gdn$a$gdgdw012GHIJKLNkl˺˘˘ߍzi˩^SKCKߍhnCJaJh]dTCJaJh]dTh]dTCJaJh]dTh]dTCJaJ!jJh]dTh]dTCJ(EHUaJ(%jlK h]dTCJOJQJUVaJhuh]dTCJ(aJ( h]dT5CJOJ QJ \^J aJ hn5CJOJ QJ \^J aJ h+5CJOJ QJ \^J aJ&h]dTh]dT5CJOJ QJ \^J aJjhuh]dTCJ(UaJ(!jh]dThMCJ(EHUaJ(¶öڶ۶ܶݶ޶߶~ļ̱̂wlhZhVhVhRhNCh]dTh]dTCJaJh]dThnh+hMhM5OJQJ^JhMhnhnCJaJhnh]dTCJaJhnhnCJaJ!jh]dTh]dTCJ(EHUaJ(%j`K h]dTCJOJQJUVaJhuh]dTCJ(aJ(hnCJaJh]dTCJaJjhuh]dTCJ(UaJ(!jyh]dTh]dTCJ(EHUaJ(%j/K h]dTCJOJQJUVaJ CDIJabcdeuvź|uq^MIq;q7h+h]dTh]dT5OJQJ^Jhn!jh]dTh]dTCJ(EHUaJ(%jK h]dTCJOJQJUVaJh]dT h]dTh]dT!jh]dTh]dTCJ(EHUaJ(%jiK h]dTCJOJQJUVaJhuh]dTCJ(aJ(jhuh]dTCJ(UaJ(h]dTh]dTCJaJh]dTh]dTCJaJmH sH .h]dTh]dT5CJOJ QJ \^J aJmH sH &h]dTh]dT5CJOJ QJ \^J aJƸǸɸʸ˸̸ϸиѸ ֿxiVC%juK h]dTCJOJQJUVaJ$hj=h>n0JCJOJQJ^JaJh]dTh]dTCJaJmH sH .h]dTh]dT5CJOJ QJ \^J aJmH sH !jhwh]dTCJ(EHUaJ(%jK h]dTCJOJQJUVaJhuh]dTCJ(aJ(jhuh]dTCJ(UaJ(h>nCJaJh`ICJaJhMh`ICJaJh]dTh]dTCJaJh+h]dThn     FGHIKLcdefghtcOB< hM0JhMhM0JCJaJ&hMhM5CJOJ QJ \^J aJ!jhMhMCJ(EHUaJ(%j~K hMCJOJQJUVaJhuhMCJ(aJ(jhuhMCJ(UaJ(h`ICJaJhMhMCJaJhMhl#s0JCJaJhe"hMhMh]dTCJaJh]dTh]dTmH sH jhuh]dTCJ(UaJ(!jh]dTh]dTCJ(EHUaJ(GHgh -.MNe"$56gd%%d7$8$H$Ogd%$a$gdsX@gdQ-$a$gdn%d7$8$H$OgdMgdg"ùŹѹӹ  )*+,-.12IƻuaQh>nhM0JOJQJ\^J&hMhM5CJOJ QJ \^J aJ!j;hMhMCJ(EHUaJ(%jK hMCJOJQJUVaJhuhMCJ(aJ(jhuhMCJ(UaJ(h`ICJaJhx:hMCJaJhMhM0JCJaJ h=_0J h+0JhMhM0JH* hM0JhMhM0J5OJQJ^JIJKLMNQRetvxĺ̺ͺκкѺҺܺxrllfVfPfPfVfP h+0Jh/h/0J5OJQJ^J h/0J h"0J hw!0Jh"hw!0J6hw!hQ-0J6hw!h/0J6 h/0Jh@hQ-0J5hQ-hQ-0JhQ-hQ-0J5 hQ-0J5hMhM0J5\jhuhMCJ(UaJ(!jhMhMCJ(EHUaJ(%jK hMCJOJQJUVaJ   $)*+-./0123 HfhսwqjZh"hw!0J5CJ^JaJ h/0JH* h/0J!h+hw!0J5CJH*\^J&h+h/0J5CJOJQJ\^J hw!0J h/0Jh/0J6] h/0J h"0Jhw!h/0Jhw!h/0JOJQJ^J$hw!h/0JCJOJQJ^JaJ hsX@0J hw!0J hx:0J h3e.0J#hl "$.8BT˖퐇qqdWGdh%h%5OJ QJ \^J h+5OJ QJ \^J h%h%0JCJaJhsX@h%0J5OJQJ^J h%0JhQ-hsX@0J hn0J h/0J!j[hw!hw!CJ(EHUaJ(%jK hw!CJOJQJUVaJhuhw!CJ(aJ(jhuhw!CJ(UaJ($hw!h/0JCJOJQJ^JaJ h/0Jh"h/0J5^J45689PQRSп沧raN7r-j/h%h%CJ(EHOJQJU^JaJ(%jK h%CJOJQJUVaJ h%h%CJ(OJQJ^JaJ()jh%h%CJ(OJQJU^JaJ(h%5OJ QJ \^J h%h%CJaJhw!h%h%hw!CJaJh%h%0JCJaJ!jh%h%CJEHUaJ+jK h%h%CJOJQJUVaJjh%h%CJUaJh%h%CJaJ6TUjl02rtgd:^%d7$8$H$Ogd/$a$gdAqgd%h%d7$8$H$O]hgd%$a$gdsX@gdg"%d7$8$H$Ogd%STUVx}žƾǾȾ˾߾GHPZ[^˽ϲϚp_ h%h%CJ(OJQJ^JaJ()jh%h%CJ(OJQJU^JaJ(h+OJQJ^Jh%5OJQJ^J jh%5OJQJ^Jhx:hx:5^Jhx:5OJQJ^JhsX@h`I5OJQJ^Jh`Ih%h%5OJQJ^Jh%hsX@h%h%CJaJh%h%5OJ QJ \^J BDhjl02{{{pea]O]aKG]eh/hsX@h%h%5OJQJ^Jh%hx:h%h%CJaJh%h%CJaJ$h%h%0JCJOJQJ^JaJh%h%0JCJaJ$h%h%0JCJOJQJ^JaJh%CJaJh%0JCJaJ)jh%h%CJ(OJQJU^JaJ(-j h5Xh5XCJ(EHOJQJU^JaJ(%jK h5XCJOJQJUVaJ2:<prt *+;<NOefvwƻ{rhrhrhrhrhrhrhr_h:^0J5\h/0J5H*\h/0J5\h/5OJ QJ \^J h:^hsX@CJaJh%h/h/5OJQJ^Jh:^h/5OJQJ^Jh/h5Xh%h%CJaJ h%h%CJOJQJ^JaJ* jph%h%0JCJOJQJ^JaJ$h%h%0JCJOJQJ^JaJ$ 8@QRؿvc]K"h h 0J5OJQJ\^J hAq0J$h5Xh 0JCJOJQJ^JaJhkh 0J5hkh 0J5CJaJh h 0Jh@h:^0J5hQ-h:^0J h:^0J5hQ-h:^0J5hsX@h:^h/CJaJh:^h:^0JCJH*aJh:^h:^0JCJaJh:^h/CJaJh%h/5OJ QJ \^J 246BDLbdfjlzͼra]O]O]K>h 5OJ QJ \^J h:^h h 5OJQJ^Jh !h h5X0J5CJ H*\^J"h h5X0J5OJQJ\^Jh h 5OJ QJ \^J 'h h 5B*OJ QJ \^J ph'h h 5B*OJQJ\^Jph!h 5B*OJQJ\^Jphh h:^CJaJ h hsX@ h 0Jh h 0J!h h 0J5CJ H*\^J46jlnp fh46_$a$gd*N%d7$8$H$Ogd gdg"$a$gdAq">@Bdfhjlnp˾~zobM< h%h CJ(OJQJ^JaJ()jh%h CJ(OJQJU^JaJ(h 5OJ QJ \^J h h%CJaJh h h CJaJh h 0JCJH*aJ'h h 0JCJH*OJQJ^JaJ$h h 0JCJOJQJ^JaJh h 0JCJaJh 0JCJaJh h CJaJh h 5OJ QJ \^J h h 5OJQJ\^J 468\^`dfh qqfbTPLPL>LhAqhAq5OJQJ^JhAqh h h 5OJQJ^JhIh h CJaJ'h h 0JCJH*OJQJ^JaJ$h h 0JCJOJQJ^JaJh h 0JCJaJh h CJaJh h 5OJ QJ \^J )jh%h CJ(OJQJU^JaJ(-jXh h CJ(EHOJQJU^JaJ(%j,K h CJOJQJUVaJ246x4>w|)379?AJO\/2Ͳ͓͍͍͍͍ͫͩͣ̓̓̓̓ͣq͍k hH0J"h*NhnD0J5OJQJ\^Jh*NhnD0J6 h*N0JhnDhnD0J5OJQJ^J h5X0JU hnD0J>*"hnDhnD0J5OJQJ\^JhnD0J6] hnD0Jh^h^0J5CJaJ hH0J5hnDhH0J5 hAq0J5 hw!h%* the large integrators based on the Risch algorithm which are built into Maple and Mathematica. The very small size of pmint makes it easy to port this procedure to any computer algebra system or library capable of factoring multivariate polynomials. Because it is applicable to special functions (such as Airy, Bessel, Lambert W and Wright Omega functions etc. ), the Poor Man's Integrator is capable to compute integrals some of which cannot be handled by existing integrators. Therefore, pmint is not intended to be a replacement for existing integrators - rather an extension, or a cheap and powerful alternative for any computer algebra project. References : [1] R. Risch (1968 ) : On the integration of elementary functions which are built up using algebraic operations. Research Report SP-2801/002/00, System Development Corp., Santa Monica, CA, USA [2] R. Risch (1969) : Further results of elementary functions. Research Report RC-2402, IBM Research, Yorktown Heights, NY, USA [3] R. Risch (1969) : The problem of integration in finite terms. Transactions of the American Mathematical Soc., 139 : 167-189 [4] R. Risch (1970) : The solution of problem of integration in finite terms. Bulletin of the American Mathematical Soc., 76 : 605-608 [5] A.C.Norman, P.M.A.Moore (1977) : Implementing the new Risch Integration Algorithm, Proceedings of the 4th International Colloquium on Advanced Computing Methods in Theoretical Physics, 99-110. [6] Risch (1979) : Algebraic properties of the elementary functions of analysis. American Journal of Mathematics, 101: 743-759 [7] S.H.Harrington (1979) : A new symbolic integration system in reduce, The Computer Journal 22, 127-131. [8] J.Fitch (1981) : User-based integration software, Proceedings of SYMSAC'81, ACM Press, 245-248. [9] J.H.Davenport (1982) : On the Parallel Risch Algorithm (I), Proceedings of EUROCAM'82, LNCS 144, Springer, 144-157. [10] J.H.Davenport (1982) : On the Parallel Risch Algorithm (III): Use of Tangents, SIGSAM Bulletin 16, 3-6. [11] J.H.Davenport, B.M.Trager (1985) : On the Parallel Risch Algorithm (II), ACM Transactions on Mathematical Software 11, 356-362. [12} K.Geddes, L.Stefanus (1989) : On the Risch-Norman Integration Method and its Implementation in Maple, Proceedings of ISSAC'89, ACM Press, 212-217. [13] M. Bronstein (2005) : Symbolic Integration I, Transcendental Functions (2nd Ed.) , Springer-Verlag Berlin Heidelberg [14] A. Pavlyk / WRI (Nov. 2007) : Private communications ^_`cds % b c d h w       !A!D!!!!!!!2"3"4"8"M"}"~""""""""###˿˷˷˿˷˷˷˷˷˷˷˷˿˷˷˷˷˷h~sh~sCJaJhg"hg"CJaJhg"CJaJhg"hg"5CJaJhg"hg"CJaJhg"hg"CJ^JaJhehg"0JCJaJhg"hg"0J5 he0J<_`c d   !!3"4"""######v$w$%%%%%gdg"# ##G#H############$>$?$u$v$w$|$$%%%%%(%%%%%ѺpahAhr_CJaJmH sH hr_hr_CJaJmHsHhg"CJaJmHsHh~shg"CJaJmHsHh~shg"5CJaJmHsHh~sh~s5CJaJmHsHh~sCJaJmHsHh~sh~sCJaJh~sCJaJhg"CJaJhg"hg"CJaJh~shg"5CJaJh~sCJaJ!%%%hAhr_CJaJmH sH hAhr_5CJaJmH sH 5 01h:pA. A!"#$7% DyK kragler@hs-weingarten.deyK @mailto:kragler@hs-weingarten.deDyK )http://hs-weingarten.de/~kragler/public/yK Rhttp://hs-weingarten.de/~kragler/public/'Dd \h  s *A? ?3"`?2k`O"Q_q%0f4GDc`!?`O"Q_q%0f4T` `0P xڝUAOA~3 Ͷ"j%C&[Ժ&-%mdz`"*p$^ ovvK)ENvf޼y#B"bIj5SN-v^:)NPڡ@Ԙ1? _a ﱬ0*>Lf4*PLlh~遛I](]1Ͱ)-5҃oZ>˟mrBgs;7?vqc7d0K p_V_jk0Kec,o_< 0sZWO?ǠM:2]` xbX'5Ċaռ}?Ȗ Ǩv0g<:W:nǮ3߅Pg<ޞ[Fxpw`#)▧M6?M~Zج9;o0 1m>x'MM3SuesF3wx6X;\`?\Zm/M&2Ii/OL<'F㣉RէLf8Uӑ}m<@+@@j>`)ZMB@McX%گ~VR߽ts F̸bT(*1#1*fP2S/Ab`'Q0< Cm. 8+lĝģsBϘa1ݱ# ,1_h<{ܘDzi90k-MИmYN' lk^Ά ꍗ E-Fe #`i'Dd \h  s *A? ?3"`?2k`O"Q_q%0f4Gk%`!?`O"Q_q%0f4T` `0P xڝUAOA~3 Ͷ"j%C&[Ժ&-%mdz`"*p$^ ovvK)ENvf޼y#B"bIj5SN-v^:)NPڡ@Ԙ1? _a ﱬ0*>Lf4*PLlh~遛I](]1Ͱ)-5҃oZ>˟mrBgs;7?vqc7d0K p_V_jk0Kec,o_< 0sZWO?ǠM:2]` xbX'5Ċaռ}?Ȗ Ǩv0g<:W:nǮ3߅Pg<ޞ[Fxpw`#)▧M6?M~Zج9;o0 1m>x'MM3SuesF3wx6X;\`?\Zm/M&2Ii/OL<'F㣉RէLf8Uӑ}m<@+@@j>`)ZMB@McX%گ~VR߽ts F̸bT(*1#1*fP2S/Ab`'Q0< Cm. 8+lĝģsBϘa1ݱ# ,1_h<{ܘDzi90k-MИmYN' lk^Ά ꍗ E-Fe #`iEDyK 4http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmintyK hhttp://www-sop.inria.fr/cafe/Manuel.Bronstein/pmintDd h  s *A? ?3"`?2@.l\!ǣ5 %`!.l\!ǣ5P) ?dxڍTAOA~3ۥ mEMT"+e,P 4.ImZ/xЛI/@B W=r Y/jov5a7}F%&ct[[ob|b!"XV8&Ix t7Ke)VzH/ߤ< LΕ_Vm?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     k$'C()*,+-./0123456789;:=<@>?ABDEdFHGJIKLMNOPRQTSUVWXZY[\^]_`baecgfihlmnopqrstuvwxyz{|}~Root Entry F~&Data 2WordDocument 7.ObjectPool;~~_1273126066F~~Ole CompObjiObjInfo  !"#$%(+,-./256789:;<?BCDEFILMNORUVWXY\_`abcdefghijklmpstuvwz}~ FMathType 5.0 Equation MathType EFEquation.DSMT49q2”( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  f==Coronet~DEquation Native _1273214552 F~~Ole  CompObj iArial}v|+p}c |i  ~D}u |i }u |i|i|=|1|m " FMathType 5.0 Equation MathType EFEquation.DSMT49qn( DSMT5WinAllBasicCodePagesObjInfo Equation Native _1273214666F~~Ole Times New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  pmint[ x 7 -24 x 4 -4 x 2 +8 x-8x 8 +6 x 6 +12 x 4 +8 x 2 ,x] //Simplify//Apart FMathType 5.0 Equation MathType EFEquation.DSMT49q(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObjiObjInfoEquation Native _1273215137 'F~~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` 4+6 x+8 x `2 `+3 x `3 `x (2+x `2 `) `2 `+Log[x] FMathType 5.0 Equation MathTyOle &CompObj'iObjInfo)Equation Native *Bpe EFEquation.DSMT49q&(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  pmint[ 11+x 2 ,x]_1273215886"F~~Ole 0CompObj1iObjInfo3 FMathType 5.0 Equation MathType EFEquation.DSMT49q(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  res1=pEquation Native 48_1273231390F~~Ole =CompObj >imint[ 11+x 2 ,x,Extension!Algebraic] //PowerExpand//Together FMathType 5.0 Equation MathType EFEquation.DSMT49qObjInfo!@Equation Native AN_1273231134$F~~Ole G2(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  -   i2 `Log[-1] ==   p2CompObj#%HiObjInfo&JEquation Native K_1273231698,)F~~ FMathType 5.0 Equation MathType EFEquation.DSMT49q(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  @ Cos[x] @Ole PCompObj(*QiObjInfo+SEquation Native TJ FMathType 5.0 Equation MathType EFEquation.DSMT49q.(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  2EllipticE[  x2 , 2 ] FMathType 5.0 Equation MathType EFEquation.DSMT49q(<DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/AP_1273233179.F~~Ole ZCompObj-/[iObjInfo0]Equation Native ^_1273321256J3F~~Ole nCompObj24oiG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `x-  `x  3 `12-  `x  ` 5 `480-  `19 x  7 `40320-  `559 x  9 `5806080-  `2651 x  11 `116121600-  `2368081 x  13 `398529331200-  `276580459 x  15 `167382319104000 FMathType 5.0 Equation MathType EFEquation.DSMT49q84( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  `pmint[ 12+Sin[x],x]ObjInfo5qEquation Native rP_1273322040@8F~~Ole x FMathType 5.0 Equation MathType EFEquation.DSMT49q8( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   (-1)CompObj79yiObjInfo:{Equation Native |_12733340911=F~~ 2/3 Log[(-1) 1/3 +Tan[  x2 ]]1+(-1) 1/3 - (-1) 2/3 Log[-(-1) 1/3 +Tan[  x2 ]]1+(-1) 1/3Ole CompObj<>iObjInfo?Equation Native O FMathType 5.0 Equation MathType EFEquation.DSMT49q83(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ( @   12 +   i  3  2 ) FMathType 5.0 Equation MathType EFEquation.DSMT49q8(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/AP_1273323759BF~~Ole CompObjACiObjInfoDEquation Native _12733241666GF~~Ole CompObjFHiG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   3  FMathType 5.0 Equation MathType EFEquation.DSMT49q8(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfoIEquation Native _1273324871E^LF~~Ole G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  @ 3 @ FMathType 5.0 Equation MathType EFEquation.DSMT49q8ƒ(DDSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObjKMiObjInfoNEquation Native _1273346708rmQF~~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A    2  3   ArcTan[  1+2 Tan[x/2]  3  ] FMathType 5.0 Equation MathType EFEquation.DSMT49qOle CompObjPRiObjInfoSEquation Native J¾( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint @[  @(Cos[x]-Sin[x])Sin[x]1+Cot[x]+Sin[x],x] FMathType 5.0 Equation MathType EFEquation.DSMT49q8DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1273326085VF~~Ole CompObjUWiObjInfoXEquation Native _1273326965[F~~Ole CompObjZ\i_A  (1+z 2 )/2 FMathType 5.0 Equation MathType EFEquation.DSMT49q8¯(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfo]Equation Native _1273326812Th`F~~Ole G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   @f1=  @11+z+  @4-4z(1+z  2 @)  2 @+  @21+z  2 FMathType 5.0 Equation MathTyCompObj_aiObjInfobEquation Native _1273331765eF~~pe EFEquation.DSMT49q8t(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  @f2=  7+2z-z @2 @-1-z-3z @2 @++z @3 FMathType 5.0 Equation MathType EFEquation.DSMT49q8(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_EOle CompObjdfiObjInfogEquation Native _A   @33 @ FMathType 5.0 Equation MathType EFEquation.DSMT49q8(DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1273331729YcjF~~Ole CompObjikiObjInfolEquation Native _1273347256oF~~Ole CompObjnpi_A  @ 11 @ FMathType 5.0 Equation MathType EFEquation.DSMT49qJ}( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_EObjInfoqEquation Native _1273346375tF~~Ole _A  `pmint[ -2e `2x `+2x e `2x `+3 3 ` `Log[-1+x] `2 `(-1+x) (e `2x `+ 3 ` `Log[-1+x] `3 `),x] FMathType 5.0 Equation MathType EFEquation.DSMT49qJ( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   @3 @CompObjsuiObjInfovEquation Native _1273952982yF~~Ole CompObjxziObjInfo{Equation Native   !$'()*-012347:;<=>?@CFGHIJKLMNORUVWXYZ[\]^adefghknopqrstuvwxyz} FMathType 5.0 Equation MathType EFEquation.DSMT49q5( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  e - x 2 FMathType 5.0 Equation MathType EFEquation.DSMT49qJ(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1273350250O~F~~Ole  CompObj} iObjInfo Equation Native  _1273350728F~~Ole CompObji_A   `pmint[  `e  `- x  2 `Erf[x]Erf[x]  3 `-Erf[x]  2 `-Erf[x]+1,x] FMathType 5.0 Equation MathTy% ?3"`?2qɥ:=5%`!qɥ:=54 @xڍToA~3 4 E& QM,?xhI钘'pԃB/ʵ]#Y6uV)Y,"Cc7a4:Mc+?wkh',C s*|(=&*O ><ۿ*)$)5;G‚2XUZZA!!gGsVDllZ[ O /U)ZGU-5JXKzgc:GD` iRNZm͙0Wm2DJ}lF#RU-X \JVz]+x9E`_:cӰ`G286hz^OSB8xV.^mE I V0a`n99ˋM$|2ftH3y1EG`鸥#ELmzJ[0y; n1Dg:=!z OrmtaOu7?@FDd llh  s *A? ?3"`?2#y28*-fl%`!^#y28*- Xh,xڍSn@ݍĎPQ B%zhZF⎛z (D*p؉DqzIP<Bfk[;yf<. P9@ ΀3!ƃ v=i\K+  lqG9yޥ>b\2MWrVb ΢WXv{) ^k[wO-G#EltOe#/=] =4-nJv oڎ +9|ÿ;*-3Ps}S>z.˰[0R@XmAZ`'6 C%q^( QH57ْVGx[NCr[<,/tFi 7,ċ;)S$B/EF Dd #lh  s *A? ?3"`?2Pݤ!2 6y],%`!$ݤ!2 6y]^@9XxڍTAOA~3 l+mEDDPY R6rm-lʚ۴kڞ`<Ƴr'oMt00͛3{of0P4 qznדxO0,tJ&KD}DK?ԛ 7e 0j#q}&دs*Ic(FI!\O'P_[6Ls P[AE"yU 0U5@m c.n~Dd Thh  s *A? ?3"`?2u AxՄuu%`!u AxՄuu @|dxڕTAoA~o]HXD&D`&1l"MCnp"`= /_0ģ1ۋ6]ܢt|x<AF GG!bp="̋K) Bw LC%>&Jg.FE<%n`(_c)\C>eA2&~c~2)ߡ j#czluPd"`7BMЙ Ty5;F:<0̑7UggzB% j!~ ùOU_@p8J[ͼg=^'{9Ot/:.9Bd%Gg<$ޅ^\NYwz^0djvy[;,ofC<{q=xZ@*9|{8)l[=ln.wVeRhoF_=EҁINDiR< Bqml{쑧Z|gM>o=(z&ug] y{I:֪'ō_>_{ pb?T >1$,bX,bt*[I~eq( Fޠ5ZHgP< >*()25OԢeXb9ۜD,lhE;\gL} w 2*N$vA7)#r?B{t+أN>r$*׀~$˗m+8vaL'qԳ-J[lD1t.HgEi /++x7~HU_{U5gp-kkx4-_߲g-UǮ~ aRdGَ T1,fvFRnõ#F 1 ߸yL-8L)B)Kqok$od$eUd^4*L‘ߗ_EM,i/ADd hh   s *A? ?3"`?2Q{WP?I6Z9#a]!%`!YQ{WP?I6Z9#" @ &|'xڍSQkP>umvu84an|S6+Ŷ0F5h ]KY;u> {OA}uHxnn UM9='! @ ΀4u!dA#_q 0X.zxC5x0< _(WD[ָo y_1 LßY>e6Pf خ {=PdiQ: t2/";7 9rqt`_h9 5J 4NsI492\{N<>=A:꾃qҬ֬Su_8ZCS{tC;ykBAjz.-n4c ,X-cZ~^}b^Uu ?5 *aSyG@0kWW|"F CʁaeDʾ2Mdp烗(%cċr1͛TM-uw0QHNB;K337CrKa/SR'!Dd |h   s *A? ?3"`? 2eZ0F͜y9{A$%`!9Z0F͜y9{F`0x]ROoP _n#ep`XA$؄5K;PH+4MS AM;@hmg>_{ pb?T >1$,bX,bt*[I~eq( Fޠ5ZHgP< >*()25OԢeXb9ۜD,lhE;\gL} w 2*N$vA7)#r?B{t+أN>r$*׀~$˗m+8vaL'qԳ-J[lD1t.HgEi /++x7~HU_{U5gp-kkx4-_߲g-UǮ~ aRdGَ T1,fvFRnõ#F 1 ߸yL-8L)B)Kqok$od$eUd^4*L‘ߗ_EM,i/Dd !h   s *A ? ?3"`? 2Ð8`J]c'%`!Ð8`J]c 6 xSdxڍUMkA~g&IZAFjgv ۠[iDI4SA/*"]Hnf;̼"-RCVU#k\3U4o^Z/!~ڪ( g -!I20&󾓞WDh@qԤΰN(v]ܩ'cwe⺻[eԛ] l/?z7],L !gJ шHNJm-yxWyxCHzQW6:\[;*u~{,Re1lK5m;$mrX-kqОD3Q{j*.zPC#Sk~dDnUاvaF/Mh6w0͹r,#e\E t~zV1ݢ'6s{t S9,[o7/,H Hx_)NKś}S Cۅ.~ij"? m,;;qcjtv@`Of'=Tiͥ~؏#Jrp&5'L%;WYp8ΝCNscQP0Z0p1Q seR\2 Lf S 4q7(!.eJHv:OI_;*wMj}ǖ6yO[dmTZu /v((: oJS6T.М IfFinوUJR4 Q?O1oH_s_s}K仗]Ζf +pgԽ}\*zADd hh   s *A? ?3"`? 2Q{WP?I6Z9#a_,%`!YQ{WP?I6Z9#" @ &|'xڍSQkP>umvu84an|S6+Ŷ0F5h ]KY;u> {OA}uHxnn UM9='! @ ΀4u!dA#_q 0X.zxC5x0< _(WD[ָo y_1 LßY>e6Pf خ {=PdiQ: t2/";7 9rqt`_h9 5J 4NsI492\{N<>=A:꾃qҬ֬Su_8ZCS{tC;ykBAjz.-n4c ,X-cZ~^}b^Uu ?5 *aSyG@0kWW|"F CʁaeDʾ2Mdp烗(%cċr1͛TM-uw0QHNB;K337CrKa/SR'8Dd h   s *A ? ?3"`? 2|9 yI (X/%`!P9 yI (@@xڍS=@Y\Dp耀+p"3`QD%U?pEj:~ -'d@#tk۷<;kpd1d(VЖ_Flح 9؆;SS_?yDB Eg62 IkH E̬HSYE/'~OE*᫱eKc(.u* g5mR-GBf-46-Ny0~#sU_^5擮u4*G})N1M{eY4VU娃16̶ܜ@AX9)=چIOZj!ꔴ;6`EsOm{z* }b\o8? }WejR!)!G2,eskO52Ô-~wc-! oyԢT9*S&75m)7EU7LִDd lh  s *A ? ?3"`? 2Y㛿mh7gE52%`!-㛿mh7gE+@0DxUOA3[lji\<Cl4n=ahyR^TzD8z]1P.Kic87o޼7} <ҁ FXKbl%vqNI'%҅~&c `[ kY0hF>ٸ !ʄ~~=Fzز e-$OMw~򣖟}AkߺBbLJC(Mv0>?\.jˑ*y_dWMaD[K:D<6!p6i/L&f"I&{ؒ9~3x3Zà%߄2Q(asRX2R\v6'{ϦC^:5eG}$K 4*9h왏<&:xv;DV|r'=vVdMX1v%%s[;G`ie]JUJ)Z3% \UdzY@P˷.9t"ʲ !p3Լ_+濞9?F8o4 (44Xah$k( 3Ao/3qlH;F9r%GD%dgmעqQ\E} $C``::H!M@%ox@F/NjtR b"N .E-.% _+Zͪ\QuT%~mzuE+ϪJ] Ja4Dd `h  s *A ? ?3"`?2\VrI{cLTu^E6%`!\VrI{cLTu^E\X hxڕTkSAͦKKRKQjiAi`B5I=}h i$Ԝғ7w{Q"  xy^9nldv~oE [ c !mA 0e zx[ZwZ^E@z!UX3H;8<ԝEwl Dn1ͅ}\T܏. )EuW]Xp9 0,^â#uHMkd='б$e̝ g&1ۍ`Gܯj$mCy5m=GU:]!8Y12 <³>c _HQָZx,`t4XkWe`ZjldbwdNbO8-u+.4 *jȤVnWlV\ ;f EX6kR?rR.B?˷+%\'$U p|&d| / _N>XF'`e% EeSL?}ތy:^UQ!gV6w:SePlأOSQ Dd |hh  s *A ? ?3"`?2Pܠ޴uM.㹱o,:%`!$ܠ޴uM.㹱o`@0|x]RjQ9mM`J(uMV  &K4%IIsQ HGNo"MwΞa̷3̜ &GRL`ֈh4Rhoj_Jyi{bhq¦ydHz CʥtVJ~?JS"89>#|.(4-FCKdhNL*갮o_-F /tu#ޥ4O=AdgD4%?y_E#|.(4-FCKdhNL*갮o_-F /tu#ޥ4O=AdgD4%?y_E Di:3Ml}d&T9*/?Ii` !)wZ?;ǐ*z^rd#|-Bݯ'tdzĽv^ouς"QlwHf=*d|9L]q_>579͸d Xn|%'Dd h  s *A? ?3"`?2kev=_kGC%`!?ev=_kT@xt xڕTMhSAlMbA)6JlѤ)EQ$AMIJ*{Mz0$(xCދGO"O{^Өvv|3aP;=61j::Iv~o+#52ǃx^%% 'ף)dބ3aQ+?U3ٺ*OJm$NW oA}~hTgPq,!+63-1+28Q2ۚI[{ݼSy>&,-t1ǏNQaEMoֈ=Ҏ`=(f员c nwߓH4V1k6]d_п`*k-(I]Gv(>M Xd]7q,i/4-,?v٤p:rlU8ry z͂oo4}&2y*Ǚyהj_$͗ZJkBX֤,bMRm*Ms1e5*p7wnjG!AI^[EyYVVu{PB)$'uU{thw>! V)URm)rn ðVAbX:u<:Auy$'|b HMplZEAs&sLG?К->3 A;0!Fk4ԜaOoeMK3Iah΄ ?Tk#Dd tT0  # A22IFhYL%J{vK%`!IFhYL%J{   XJx}R=o`~uҦN HJ~F^7@PD1ZX`)iPT%];/t/&2s:'{ϝO{/a0" gUD3D*IҵY=U$Rf}59=gY%4ѳyiSVT7*ojM36.o1 <ƻE+mw)1S_P}N?,οI\u<ɆS% %#g u|GWV ,?nw?F< Q/J-~/8Bh{]g\m{/G)tiqqٺ/73jV<oTGN~b\D<=R,< MB :';rlq <ܢ[M8YHwR֓v7QOC&;݉T(iۆDd b  c $A? ?3"`?2 Ք-_,N%`! Ք-_`@2rxڍTMoRA=wAh5ѤgM[R[H]&@šFh\RW@Q@+lV]pib҅~ĺBӅ&AA9{gΝ @! "6Lg]n\xq!m;:?iU0[q͈ɻܨ6 Cx?)[BiO GR)Fgpω5Vҍfh:/=8?6?кwgL_pP<BKQ#]XJej\3U |w40b]o51r˶B|.ܴWPM5iC) Cq:.ď]BxjVYW^-պ70Gx_˾n7+pז̲y au)4 Ryؖ>{rO5H(lؽB@a3z۸ƗG[K7 iuI9(9,wq/zFqWQB% \S vzjuOra,)X Dd |hh  s *A ? ?3"`?2Pܠ޴uM.㹱o,LU%`!$ܠ޴uM.㹱o`@0|x]RjQ9mM`J(uMV  &K4%IIsQ HGNo"MwΞa̷3̜ &GRL`ֈh4Rhoj_Jyi{bhq¦ydHz CʥtVJ~?JS"89>#|.(4-FCKdhNL*갮o_-F /tu#ޥ4O=AdgD4%?y_EyNҲYH ~˧G^~^x)j>,7,M!ވ}bO_`JX?jmZo=-wEGl:a_,#|.(4-FCKdhNL*갮o_-F /tu#ޥ4O=AdgD4%?y_EnS}ABJo5:=YFL|yH7A@Xd{H納 GL8 >NY=f%e%v9[跘 D}ʽ~;8b )~ MQ,/Z0 4j{<{fʯ{rffim!g4Fݗ_%jͼ~psVqeծYk\e#pxeҌ`ŭc)ݫ2W܊ `ቈ0M$1^@Jjb")bM/@sn7Fߕ)Xe3/مwDd hb  c $A? ?3"`?2X#NWmnƽ5C4a%`!,#NWmnƽ5C&@|x]RAkAlm6Mhm0*MVLUW$MIRjPŃJM{l }7=B00}e "HL&yˈ$/+cҌLd2ۘ1gpʢ ^6;!`'Z"5[TVh^ܥWg683A,q%: \`0Ǵ[insiI#:dC>yNҲYH ~˧G^~^x)j>,7,M!ވ}bO_`JX?jmZo=-wEGl:a_,nS}ABJo5:=YFL|yH7A@Xd{H納 GL8 >NY=f%e%v9[跘 D}ʽ~;8b )~ MQ,/Z0 4j{<{fʯ{rffim!g4Fݗ_%jͼ~psVqeծYk\e#pxeҌ`ŭc)ݫ2W܊ `ቈ0M$1^@Jjb")bM/@sn7Fߕ)Xe3/مwDd hb  c $A? ?3"`?2X#NWmnƽ5C4g%`!,#NWmnƽ5C&@|x]RAkAlm6Mhm0*MVLUW$MIRjPŃJM{l }7=B00}e "HL&yˈ$/+cҌLd2ۘ1gpʢ ^6;!`'Z"5[TVh^ܥWg683A,q%: \`0Ǵ[insiI#:dC>yNҲYH ~˧G^~^x)j>,7,M!ވ}bO_`JX?jmZo=-wEGl:a_,nS}ABJo5:=YFL|yH7A@Xd{H納 GL8 >NY=f%e%v9[跘 D}ʽ~;8b )~ MQ,/Z0 4j{<{fʯ{rffim!g4Fݗ_%jͼ~psVqeծYk\e#pxeҌ`ŭc)ݫ2W܊ `ቈ0M$1^@Jjb")bM/@sn7Fߕ)Xe3/مw Dd |hh   s *A ? ?3"`?2Pܠ޴uM.㹱o,m%`!$ܠ޴uM.㹱o`@0|x]RjQ9mM`J(uMV  &K4%IIsQ HGNo"MwΞa̷3̜ &GRL`ֈh4Rhoj_Jyi{bhq¦ydHz CʥtVJ~?JS"89>#|.(4-FCKdhNL*갮o_-F /tu#ޥ4O=AdgD4%?y_EnS}ABJo5:=YFL|yH7A@Xd{H納 GL8 >NY=f%e%v9[跘 D}ʽ~;8b )~ MQ,/Z0 4j{<{fʯ{rffim!g4Fݗ_%jͼ~psVqeծYk\e#pxeҌ`ŭc)ݫ2W܊ `ቈ0M$1^@Jjb")bM/@sn7Fߕ)Xe3/مwDd hb " c $A? ?3"`?!2X#NWmnƽ5C4s%`!,#NWmnƽ5C&@|x]RAkAlm6Mhm0*MVLUW$MIRjPŃJM{l }7=B00}e "HL&yˈ$/+cҌLd2ۘ1gpʢ ^6;!`'Z"5[TVh^ܥWg683A,q%: \`0Ǵ[insiI#:dC>yNҲYH ~˧G^~^x)j>,7,M!ވ}bO_`JX?jmZo=-wEGl:a_, 9ʬ`Z[)&ʚ%/f9`l ުmdԾ6:MOv |$12̘ > R)4x Jxˎ+6bF`ʊ6"IVii_Υy萷ӓyT_!p f ,FYZ6ڱQB:Of:rð}r,r;{a첹y<nW;%΋lYZZ,0~ά$ з{: u2-2QN$8M/)]\v<zt@*G#з-7*(!Ut;[GS%Pd=HsE7%Jg@OL>U$WYȘ?˕+Fij0Y9}D(OEE?aCDYzڤ[&_vW1~iǻ_̱sE|O SIBRk0yZ{~y+!7۲s:mY:-MMT9wʖ;,o9ж{Nc ȶJ pڳ|=7Tce Ӏ5E5H\wV1>a{mQ(FzmS썶ocfj̺Z z}V'&r 0Dd b % c $A? ?3"`?%2<{Մxq;Mpe EFEquation.DSMT49qJ( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  `   ` `8- 2-1+Erf[x]+Log[-1+EObjInfoEquation Native _1273351414F~~Ole "rf[x]]-Log[1+Erf[x]() FMathType 5.0 Equation MathType EFEquation.DSMT49qJ(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObj#iObjInfo%Equation Native &9_1273351056F~~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  e - x  2 Erf[x] FMathType 5.0 Equation MathType EFEquation.DSMT49qJ6( DSMT5WinAllBasicCodePagesOle +CompObj,iObjInfo.Equation Native /RTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  e - x 2 Erf[xe  x ] FMathType 5.0 Equation MathType EFEquation.DSMT49q_1273421308F~~Ole 5CompObj6iObjInfo8P¥(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` @2xTan[AiryAi[x]/2]1+Tan[AiryAi[x]/2] ` 2Equation Native 9_1273354182F~~Ole ACompObjBi FMathType 5.0 Equation MathType EFEquation.DSMT49qJ‘(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_EObjInfoDEquation Native E_1273391689|F~~Ole P_A  `pmint[ @AiryAi[x] ArcTan[x]x `+ @AiryAi[x] Log[x]1+x ` ` 2 `+AiryAiPrime[x]ArcTan[x]Log[x],x] FMathType 5.0 Equation MathType EFEquation.DSMT49qPš( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmintCompObjQiObjInfoSEquation Native T_1273393344F~~[  @AiryAiPrime[x]AiryAi[x  2 @] `-  @2xAiryAi[x]AiryAiPrime[x  2 @]AiryAi[x  2 @]  2 `,x]Ole _CompObj`iObjInfobEquation Native cg FMathType 5.0 Equation MathType EFEquation.DSMT49qPK(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` AiryAi[x]AiryAi[x ` `2 ] FMathType 5.0 Equation MathType EFEquation.DSMT49qPH(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1273421810F~~Ole iCompObjjiObjInfolEquation Native md_1273394866F~~Ole {CompObj|i_A   `pmint[  e  AiryAi[x]  AiryAiPrime[x]x+AiryAi[x]  3 `-  e  AiryAi[x]  `( 1+3AiryAi[x]  2 AiryAiPrime[x](x+AiryAi[x]  3 )  2 `,x] FMathType 5.0 Equation MathType EFEquation.DSMT49qP3(4DSMT5WinAllBasicCodePagesObjInfo~Equation Native O_1273396085F~~Ole Times New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   e  AiryAi[x]  x +e  AiryAi[x]  AiryAi[x]  3 (x+AiryAi[x]  3 )  2 FMathType 5.0 Equation MathType EFEquation.DSMT49qPX( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_ECompObjiObjInfoEquation Native t_1273395815F~~_A   BesselJ[n+1,x]BesselJ[n,x] FMathType 5.0 Equation MathType EFEquation.DSMT49qP†(4DSMT5WinAllBasicCodePagesOle CompObjiObjInfoEquation Native Times New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  pmint[ BesselJ[n+1,x]BesselJ[n,x] ,x] FMathType 5.0 Equation MathTy_1273412930F~~Ole CompObjiObjInfope EFEquation.DSMT49qPZ(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  @{-t2+ ` @nt1x,t1- (n+1)t2x }Equation Native v_1273420052F~~Ole CompObji FMathType 5.0 Equation MathType EFEquation.DSMT49qP.(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   @nt1ObjInfoEquation Native J_1273417836F~~Ole [z]z `-   t2[z] FMathType 5.0 Equation MathType EFEquation.DSMT49qP/(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APCompObjiObjInfoEquation Native K_1273417775F~~G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   @t1[z]-  @(n+1)t2[z]z FMathType 5.0 Equation MathType EFEquation.DSMT49qOle CompObjiObjInfoEquation Native QP5(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` nt1[#1]#1 @-t2[#1]& FMathType 5.0 Equation MathTy_1273417824F~~Ole CompObjiObjInfope EFEquation.DSMT49qPJ(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` t1[#1]- ` (n+1)t2[#1]#1 `&Equation Native f_1273418345F~~Ole CompObji FMathType 5.0 Equation MathType EFEquation.DSMT49qP( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  ` @ t2[ObjInfoEquation Native ,_1273418230F~~Ole x] @t1[x] FMathType 5.0 Equation MathType EFEquation.DSMT49qP ( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_ECompObjiObjInfoEquation Native )_1273418742F~~_A  `  @t2[x] `t1[x] FMathType 5.0 Equation MathType EFEquation.DSMT49qP.(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APOle CompObjiObjInfoEquation Native JG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  dt2[x]t1[x] `,x]/. @{t1[x]! BesselJ[n,x],t2[x]! BesselJ[n+1,x]}_1273418869F~~Ole CompObjiObjInfo FMathType 5.0 Equation MathType EFEquation.DSMT49qPL(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   @nLogEquation Native h_1273420414F~~Ole CompObji[x]-Log[BesselJ[n,x]] FMathType 5.0 Equation MathType EFEquation.DSMT49qP²(4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfoEquation Native _1273421056F~~Ole     !$'()*+,-.1456789:;<=@CDEFGHIJKLMNQTUVWXYZ[\^_`abcefghijklmnoprG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  xBesselJ[n+1,x]-nBesselJ[n,x] @x `,x] FMathType 5.0 Equation MathTyCompObjiObjInfo Equation Native  y_1273420709F~~pe EFEquation.DSMT49qP](4DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  xt2[x]-t1[x] @x `,x]Ole CompObjiObjInfoEquation Native 0 FMathType 5.0 Equation MathType EFEquation.DSMT49qP( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A  @nBesselJ[n,x] FMathType 5.0 Equation MathType EFEquation.DSMT49q>( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_1273436189F~~Ole CompObjiObjInfoEquation Native 7_1273436677F~~Ole "CompObj#i_A   dwdz= wz(1+w) FMathType 5.0 Equation MathType EFEquation.DSMT49q>#( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APObjInfo%Equation Native &?_1273437679wF~~Ole /G_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A    `12 `(-x Cos[ProductLog[x]]+(e  ProductLog[x] `+x)Sin[ProductLog[x]])CompObj0iObjInfo2Equation Native 3_1273953543F~~ FMathType 5.0 Equation MathType EFEquation.DSMT49q>”( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  `2 ProductLog[x]+ProductLog[x]  ` 2 `(1+ProductLog[x])(1+x  2 `ProductLog[x]  2 ) `,x] FMathType 5.0 Equation MathTyOle >CompObj?iObjInfoAEquation Native B!pe EFEquation.DSMT49q5( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  `2 ProductLog[x]+ProductLog[x]  ` 2 `(1+ProductLog[x])(1+x  2  `ProductLog[x]  2 ) `,x,Extension!i]//Simplify_1273441523 F~~Ole OCompObj  PiObjInfo R FMathType 5.0 Equation MathType EFEquation.DSMT49q>7( DSMT5WinAllBasicCodePagesTimes New RomanSymbolCourier NewMT Extra!/ED/APG_APAPAE%B_AC_AE*_HA@AHA*_D_E_E_A   `pmint[  `(1+[x](2+Equation Native SS1Table(@SummaryInformation(]DocumentSummaryInformation8d<Cos[[x]](x+[x])))(1+[x])(x+[x] ) `,x]// FullSimplifyOh+'0  ( H T `lt|      !"#$&')*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefhijklmnopqrstuvwxyz{|}~r%`!<{Մxq;Mf`Ho*xڕToA~3ֲ`MEiK[ ^vc!4v Tx_񦉉gOY=]? .̛7o|{3@K1O5ƻݮͳ??&P<)3~Al_` OD=zv/(Z!a1:B qɤ i^b[O/u}.P`qR+.|+ג_vجa!f"GL`I=},WͭX%s߷aslIop`塸=qX>OLN,'Ze;S߄8}ðbnrpYi'wBC}AϢ6p*;hju[w GٚdF"@I6ȶu*\Lrөg&SS>U;xЄ6aXۦxOpt;BU(>ꤱw!h,ܡ:O-L 3œxH* N-t|\֗WOklNCCk^ vC=]LC7Ł(!; ntD駵0D FuC.FF C9)ꞋKԨ;ăd򧯸!p/(!:Ѕ 1'Ĥy!r"#Dt8J u26 ^]TBzUu>=U'rn1Vf3ST}WcDd (b ( c $A? ?3"`?'2h&q,iEXDO%`!<&q,iEX@ h xڅSn@}n qP8  D* 'X@PDq*ˀ 9AO'z~!2'ٵ(Y{w̎g̬ @{G!HD "1NN]Vr@l2PT0yNr_di+| %# Ή T`],+O֫{*g淽6ORXg.uQ-n}9}ڿ s'c1F᭤F既8< 83invJ|D|qt:n_!%jzӷMwyT{ 7@>R>Z3=|;BUGe>+kf5"ӸXK7,Dvt5o:L*:[Xi6xb`:5ǎk9!\^'5X3KЄJ䤬J3eW.P/gF;mD\}$]3Ug]cnp0z=㤛)&-Dd @b ) c $A? ?3"`?(2wKKw?n':Sm%`!KKKw?n': phxڅSAkAlSM$VBBl Ջn衔%TI#Iɩ9xWoz "Ih|3)|{3oC he:b{R7XCQz[Dk0*{GSNr8$*Q6鵷6zr󛣗k?^ݫVRrry׷F#W[dXvTMQդﶚmrdb% +n)p|cJgM<%`!e*>JgM< ;[xڥTOQA4DPċz`*0.4e -=A]4z$GW=Y/jXg7ѷߛ7y3A@*J!Pp\q۶:;b)}+m q$QZoxcWfb.kh(%!\c"z"]-ٞp:zQ7vEu&"CRZ-}O[I? L̢a1QJl?s"6EM>5t͠`ǣm@Q790kÝ7G_pq E S bZ6_tu;`Svzx[sZӜj?N$did _Hޞڸ*rY3T "<m"lbK<ö_O(-NH{2;d~FPKKjM>rVTxY~T]¥ Ќ6 ]qa(ۜsV2q$GLB+k[jMͬ5Pe )Td)kON48~J9R+eBPGxV@1ɾA`E8(#`jM=MP%X8<8i3攨d#lpFs&rsr) tN͢CPyVu!Pɿ $TXEDd b , c $A? ?3"`?+20ݗpEꭔMȍ ޖ%`!ݗpEꭔMȍ&`;PxڭUOQv #u0!\ 4rSiM-MhK1z.Gé'@HϞ՛0fh:owS=o޼|7]A 889c.Ǹmw]seaEx^>Env@ Gg w8cӵF4e_`01"c&7B $q eUH1[.L )[`r{ybBF$;6wW|)>fF'v|HĩjV-J.zdS͊ifTLHTܙzV=g9ggpuJudG} ӫ~S~V#~V~t<-&[ٵ[j=GEwhhj ,|rcpmqg7tZr#u{QV Uc{' z2,%VyUxV)`n.kKZŠ*sZǍȏ+XqX!UViiĭܺp$1\בskE?M0 q`-s2!C B>D "%"5$/2'1FBͷ1/u""u"YӞ@=SиW /vħz^zq{Wd}Uam_^~`[?}J՚^]ȵ6<$%G W'Dd Lb - c $A ? ?3"`?,2q:Q"s1S iMĚ%`!E:Q"s1S i  dxڍSAPyijۭ4.",=,.MVmYpYQFڭm@أ={i!zċq潤׾y_M/fB@ GC)"cķ"Ҹ03ll `i|$-w>#7Hm2P jU2ʳP[}wQ3T,> |/0xXxwGSlAN5| @q8]xwn!Ϥ`5Bߙ›?~$vo)mRbIsXGI}1Ow u]4; ¶ouw?h zm7ވȼ;P:O['?iuM{2\8Ka#tӱ_.^ Z +Ѵ2J ^vlESzEZw*ꇂR3F&BNC&`a3aMl<)i\<>MEu#cA^7B 'ݧIO@&Dd (b . c $A!? ?3"`?-2p8!oc`tݾL%`!D8!oc`tݾh@0`JPxڵUOA3ۅ4iVP*ЪxKi %T& m ޼ʑx2pƛ4ZjB}oP5l͛f_wf86dMkj7 ]F>ns5[xn=n-pkrJ8Q]W_bPb\&0?'6wа ~4{q~Ed5轣nZsv*vl)r31$RbUђ?e˱Ii ǯe"BA'32`fT!bfaWESu:Bpw;x07z5M]N. QI.bof,~,!}'k:]Ƈ1sۊVl8L—kQ&r1fY3/'3{0t-{n #qG.K2/WDJ6)i"j,H-AׯDw Lx5wEa7Z)3pgY%Voط Qr+P/ki< h}:\0˨(tN?b"ؐ& Hd`8lk3GB#'Q&DW*/@8W=Ev[DDxe,LfSdwPK/!ʥ>eϛhC9>U}G@6ALQ/0}y l4?jlӽx;FoďDd b / c $A"? ?3"`?.2)=D" H;%`!)=D" H;싆`X!P}xڭTAOA~3-ZܖڃjBp.m#j!7iikhOܽԓDr?wMWYMC}ogwfy{ߛ73 ; l>$Θ#1lq.ėX~.CvPFZ2c\ylBh7~xʖ(b$)619ߟ1' hhu0~48 FqL(#B{OCߔk^0hT5<dD!oFy杼wN;EnQ#m-nx7%|m)7A`NdipL`/QDtfT*3\q\ӫJ\NW|ehBW4kFiDB^ť#reۭFF pm*Ly+-WSu֘՝-V4tdyښs(L9kѧ!960{ ]$/A$\0p#QlLQ35uu q?/Ujgz)d3&NXM'zŘu'G0 ڷVzl5)5zɻ WJDd |b 0 c $A#? ?3"`?/2a߄ I=%`!5߄ IѦ` @2xڕRMo@}Nhb"8TB`I,$+r59';?^r' qč+BJD=o߮ggߎG h_1زR X,BvOkeW<\0p &+&>'7u`Ѯ8;zݞUh7+gCf( Y YXIgeЙ'>Ql]54#G#;:]"*W~}{c|g D^j_|Xѿ@ORTRH+9GG8H*<YTݾyUᆲ U}|nO|2}֤bѧR6h2r77Y}jEc5ݸNa!+5fvpBt;2 H2*k4Z̨W0rhZbN==}>:6Øv6b@<Q7¢ OL0&;ƓLz5f{DX޼ٙy?K`[_2i?|$,4-evq#=YOk!6_6BPe/];c5z=]sP{h:H%6fݴk $b߾׬ӧiH:N!zn#7n7_gϐpsw3 sJuzmZ;+l5c4% *&U 6`0TuM3 ma׏2l11wphY~4~]c;qb6SQ&xZXDd x lb 2 c $A%? ?3"`?125>dx踒@dx踒@(gxBng~73;]I2NJ],]'| #grXƑ9G|soP5s c /'J( ~-IvO(C=3+-#I翼 m;So&N"6&pu1m\tmV f@&a&ϺOp[RYП|A)_>{c/bK noTT퀧{L5{D& rڸص;zm퇥#f>vsnnmv n ]эejC !qy2-o574KUtp+Uwm (%wq²z@_3F寮 Cq`E+e MÒp(rǀ}  4\_G"X&"V…п!+!Do S^ -Ύ #zG}j'Y?γ1a A.Dd lb 3 c $A&? ?3"`?22xb!K ӭDmT`%`!Lb!K ӭDm@ hxڍRn@]%q4 JO$.=M,z ("8TkA6o8*W@* ^@"Q ~;oA@`* g,Ff3ٵXቝ/GtgɄ0#cY\St6^+[Pg(@HޗUE&o_}R ˿ϙt?ج^[AzCo\7q1a t-[{ {rL/3dLb4L8&9+˿E#98V,+,a`>|'$)?͒4Lcj?juv{TzA N0Y{ 91$Kt*Ҡx/W.@?)_6!cq"3z1J3wwG8}JIRg w;bp_D}q_*ԫtO[]^w (V0sqt!#Շg6m~VF6rH]/XJ6k߮]%|I7d&de^&doFxdWl5:Pe )AP0 kml6ٌlɃ*XR."Jg _9nt?fIUܨۉQvOݔ 0Dd Db 5 c $A(? ?3"`?42z 4aMitsAWV%`!N 4aMitsAW @2xڍSn@vmCDr A C&RHq=H"rXp)o9¥^B}.ܐ@\@"nEvvf?.C>3@!D3hpBbRMGyVi4z|@?鼜I:J#t()ew?VLM=|L[{`a)tgiN|~WCö0l\߈ՌYE8 K?5bz 9U,"%"b+~+~fQ]: f0j7(#{0MkG^؛"kCo*&w<썐Z񀶖57y?QW֜y}nk˵/_"|޲8`X51͝`RSy]'msj Fk'8%P!k+!_,BQK^%TBT9ՉDoqT]EA9#oiA\mͦ7+3yQ6iRdKDd b 6 c $A)? ?3"`?52pSp^||2ʔq%`!ipSp^||2ʔL @P@27xڍSKo@]WNH DX}(m{$BE$CU,%F%+8"qĵĝ HmPԮ=3g2P$p4X!ZcW#By΀ES0, # t2!7pU8k dũrrU.lzmZ]Aָ؍7#lԂtA5*d`gdTZ@m `n$wT= mɉEjT1%Uh yHI&'*X. [FwQ $,q7sΆ4n5#їEC*_|RMR.1Dd b 7 c $A*? ?3"`?62@UV^߹;)8%`!UV^߹;)0 d@2x}RKAfvSKvӨ Aj{dQJSIAd]RSSUSv~ 6bp?.%`!T{8>v~ 6bp?.`P@2x}R_kA٪56(-B }GT%!\#h z!d>@H#ߤK w{ٛowf @F+H "HLТ{&g{b%2%:a^aGDžoSR5ZF1QU;pz̓RЭ:GnXv{sV?wZ=bFsV:G5*U?m|ͫ%/ G6Qfdy{;EMf.ۖ/?Hx. ]5^ؗOk@Q`q̰ ]9崧b#w$_[XgܽH}KLoj*1/ꛦ&RCUDd b 9 c $A,? ?3"`?827FT!+;Xy)#%`! FT!+;Xy)t-PG@2xڥTOA3l+z A-$~Ax!hK#!b-4FkA5&k z<"O4fR>jI͛7oo0pH F`Q8cx2l}ppPqA!h36/>(;A]gyy`6_{^Y>B/Z1 bB8+2i!M\.>j&mojRI4D{(f0BIlQ7MYDawF| uu-Ut]+dʁz6`|dq=L|O/<7uҭn'/Xkq$Aptݛnt8<(KBCO`ҡ}Nno| d>MP^x,js'>9](i:Rʗ'Y'oMZ5w8lLcsW}vj qhsy 16eiTb\Ҡ_L0%ذX  WbnXాK%AFEĽ-昣b NoXZAB DGIW;W[M!N"L:g$cήOЭAkLo8v8^i;VVbyC[3Dd b : c $A-? ?3"`?92?5x^1!%`!5x^1! HxuRn@}NJi jhĽNbQU H""2 AM?G>wT?p@Ȝ3ۤCw=oΎwvG o q Y)Ē X,4'-}rWsaJӰHH>SeT`=yΒ|i-qNh%[_jh?RGػ[:$(˳O^wYUTm=%N 'e OŪN.YYk5ғ~a%Hϫ z*A1T'ǃ BhM␖ΗU4ڶ; lb֎;82NįR7*>1ˬδg􀈳|71 4% LA/lMwX7 %-|'V'6z ]1P!Ő6Có8tw b.i?vkԀ-~^oJ fzDd lb ; c $A.? ?3"`?:2=p&8ȅV\%`!=p&8ȅV\,fxڝSoPClR9! CX$"(":* ؉&S# ad``BHL0W(3AJ . P$s]c W8@  cى`|W4s1Hf x*J@ѽ[ 8~Ei/6Bޏq"4'Ie7?}/oFGnl̈́Zy{yap 2͡r͵ؑ:^>|@|>˾ 'Cx׌sSrsoKQd?bԹ~?Uŏa:AږiwX x}w#[&2y\\;0m5s+ߺmw RbŴ 2Ro )ܷn5n*VziQ^҇%&5iEWwϺ\ YR4ڪ;V8VhBMw) 5d .0 mX&M%,PsK2{OcH5F¨Tdha $n Ty&_(r>'7vGYCsK#Ch lapǂFs([hzZ!{}(KU?y0~u:(›9:{tGa5 cׂOqjQQxW6h1˵J6#ozݱ_<ݧJv1H8p}Ȋy#bxcCbh 0kꐲII *UtFsėPɘ |aN aB´W$ndMd`e&p7jk94hXՄN<Dd b = c $A0? ?3"`?<28/ǡj%%`!8/ǡj%٘ FHx]RKAf6$lbP,=dQĔ$ vFSx@Rr꿣z*7tf͛c c_$BLdٚxksrcq)0c&L+G6&>C~S8+;i NPU\O2[ؤ:9~Jh'Qu[k}TLgϛdO HRD~+ P{J?.uܟ%5 ")z >K^:.wM' +SAjryޮ;ʺ]rk޼&hڈ}4*rfȉh".{٭NğmfhKZPgPLFQ e8 'nbXS _Сϰp06\a3$yOxj9GwASmx$ }tj[ܒhh)Dd b > c $A1? ?3"`?=2s,3`]ن \O%`!G,3`]ن \ @2xڍRn@ٍCF8!p@ H@HH\*M,z (jq4X4UҠ$/k\yqT\@"zC uvf<, !@ N@,6CLl&C薘2HBw6\p}JxB&JPdH$7_f%*z´k]$ܣ<~*䄩ȰQZA<s#lF)CGQ CB^< GY+71s&5* dgu37•)|dS")zL4@0XV?~h:o.uA!o[/)u;!ymymi1|R/=.Aֺ;.;8g?7_N<8nc٦sKYʞϱHCFT;Y%ВhnS'FM2BqחHtBl l$VDgUaWiRƷk 舛xB<=M>1\Dd |b ? c $A2? ?3"`?>20e})"?%`!0e})"?`.`G0xڭTM`-|=l`;7  I YHLVW= 7/^8bLgZZ&yt2o&8"\NBc|>Zm-l^nxWc][S0(b `.|G*QffI4u ㏙duk)=r6,I܏Pv+JF1NqaعFҼ8Ĭ%xG(@$ T Oг AOM1#iنX O^7PaumaA L6ԜAֲΚ9c^FZ_Нg 'Y3-gU0?ݯ,oDd \b @ c $A3? ?3"`??2( VVs%`! VV`%` 9PxڭUOoQ,$PkMbSj[O-j@kBvD` Rwpzધ j֋̾-$ԷΛ7;7,'\A;NΘ!1tj.r3L` [?OpV.֞&e+8P"FC̈́|IBiINb ^p lJ^*%D8a!$vBͿL)r߯\wo߿#lqPleCtNd;*2C?VQK5V>l^ר|G,qcufUgڊE/RK)>#5{fHVK]9KDd #b A c $A4? ?3"`?@2Ik֌>lrqQ%`!iIk֌>lr@9X7xڭUoQ&&~~JzhOЖCkPh<4 v[7 ƃ?0A 1)=vs3Sy-ת7F |Ωܛ%xE Mathematica Implementation of M Dr.Kragler Normal.dotKragler248Microsoft Office Word@S P@h@tP՜.+,D՜.+,X hp  FH-Weingarten"P'  Mathematica Implementation of M Titel 8@ _PID_HLINKSAwz 4http://www-sop.inria.fr/cafe/Manuel.Bronstein/pmint)http://hs-weingarten.de/~kragler/public/I' mailto:kragler@hs-weingarten.de  FMicrosoft Office Word-Dokument MSWordDocWord.Document.89qL@L Standard CJOJQJ_HaJmH sH tH V@V g" berschrift 3$<@&5CJ\^JaJJA@J Absatz-StandardschriftartXiX Normale Tabelle4 l4a 0k0 Keine Liste6U@6 WD Hyperlink >*B*phJOJ g"MathematicaFormatTextFormpOp g"MathematicaCellText 7$8$H$$CJOJ QJ ^J _HaJmH sH tH XO!X Xc MathematicaFormatTraditionalFormdO1d r_MathematicaSelectionInlineInput5CJ\aJOB AMathematicaCellSubsection 7$8$H$*5CJOJQJ\^J_HaJmH sH tH OR WMathematicaCellInput%d7$8$H$O*5CJOJ QJ \^J _HaJmH sH tH ^Oa^ WMathematicaFormatStandardForm OJ QJ ^J XOqX MathematicaFormatInputForm OJ QJ ^J O ! MathematicaCellInheritFromParent 7$8$H$$CJOJ QJ ^J _HaJmH sH tH O ~MathematicaCellOutput%d7$8$H$O$CJOJ QJ ^J _HaJmH sH tH .ABCVD`RS  " # VWWX|}%&A:;45CDv :IUDEXcG 1 s ?!T!~!!!!""#"$"Y"""""#"#8#V###$)$$$$u%%%%>&j&&&'$'H'L'M'^'_'''((m((()H)))*U*****'+<+=+Q+R+++,8,V,, ->-r---.!.J.n.o.... ///// 0:0>0?0Q0R0001$1y11!2&2'222223k333333 44F444444A5V5W555516p666677,7i7777788_8`889!9"94959n999999D:I:J:::::;2;W;u;;;;<?<{<<<<<<<=;=H=b=}===>:>?>@>>>>??K?b??????? @ @7@m@@@@@@@#A$AAAAAAABCBBBB1C}CCCCDDDDF F}FFFFFFGGsGtGHHtHHHHHHHI&IlIqIyI~IIIJJRJSJJJJ&K'KKKK%L&LyLLLLLLNMMMN'N(NRNSNNNNHOOO,P}P~PPP.Q\Q]QQQRR\RRRRRqSrSSS&T'TETFThTTTT^U_UU V3V9V\VqVVVVPWQWWXXXYY-Z.ZZZZZ[[/\0\~\\\\]]]]^^@^A^^^T_U_i_j_``t`u``\akalabbqbrbbbbcccccccccddddddee&e9eOePefffghhhh.i/iiiijDjEj`jajjjjjYkZkqkkkkklllll mmmmmmmmnn-nnngphpppppqqrr:r;rss t!tltmtttu=uuuuuuvv:v;vYvZvww x xxxUxxxxx y0y1y:{;{=|>|||B}C}}}}}} ~ ~C~D~Y~Z~|~23STIJ>?_`0101TUWX̆͆opDوڈ=>_ÊĊABab'(GH_*+LMcd̏͏ kl֑FGab01_`ƓǓȖɖ ޙߙ_`͚̚23;<000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 0 0 000000000000000000000000000000000000000000000000000000 0 0 0 0 0 0 0 0 000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 F_-#%''t*l,10124 69I<z>@BoCEItL&NP TUZWZ]^_>a6bbceewgWhEii kloprrsst%uu*wx yyhzL|~Sdv4JKfpBܙ қY9¡rH>̥\8GR Dį5ӳ"0 IhS2#%%SVWYZ[\]^_`abdegijkmoprstvwyz|~    '-1.6:?8DJINSUx]l`cWhHms y%BPG6_%TXcfhlnqux{} %U ;T\D\^]uw+kkkkkl,lDlFllllm n nnoowoooooohpppppppqqr6r8rsssttttttuuuuvv=vUvWvhwwwwwwwxxRyjylyuyyyyyyyyyzz z5zMzOzXzpzrzzzzzzzzzzzzz}~ ~~3~5~~  .07OQ(@B "ł݂߂ ,. 8PRs)+e}ԈֈC[]oʊE]_ #%+CE0HJf~ȏʏ,.XX::X::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::8@0(  B S  ?ycxc4zcoc4yctzczczc4{c$d$d-OK!MMU\xuu      -TK&MMU_x    9*urn:schemas-microsoft-com:office:smarttagsplace=*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceTypeB*urn:schemas-microsoft-com:office:smarttagscountry-region8*urn:schemas-microsoft-com:office:smarttagsCity9*urn:schemas-microsoft-com:office:smarttagsState NC]x,klllm nhppr9rssuuuv=vXvww~ (Cł,׈ʊ &ddnnfˏ͏͏ܐ ]_`j V[!K  @ C  &Y^ad39?E+35;DJ$'?DLOEJY^dfHJ  2 4 t v L!P!U!Z!~!!!!" """$"0"""""""""##%#(#;#?#Y#^###$$7$<$$$$$v%~%%%%%A&F&&&&&''''*'_'j'''''((((n(p((((()#)I)M)))))**^*b*******3+;+=+C+,!,>,N,,, --A-I-u-y-------%.*.M.U.r.v....../////////00?0O0R0]00000 11%1.112!2$2b2l222k3v3333333 4444G4K4444444 55M5U5W5a5555555556616;6p6z6666777-7/7j7n7777788`8p8"92959D9o9p99999999999E:G:y::::::;#;5;8;];m;y;{;~;;;;;;;;<<C<F<J<V<<<<<<<<<==<===I=J=c=f=~======>>:>=>n>w>>>??N?S?e?h?????????? @ @@8@:@n@p@@@@@@@@@A AAAAAAAAAB BFBLBBBBBBBCCCCCCFDNDDEEEFFFFFFFFFFG GGG2HAHHHHHHHII'I)ImIoItIwIyI|IIJSJaJ'K2KKKKKL MNMZMMMMMNN+N9NNNNNHOZOOO,P>PPPPP.Q1QQQQQR RR'R\ReRSS'T-TFT\TiTpTTTTTbUhU$V*V{D|N|~~D~G~~~jn FQ_dbgʌڎ֏؏mpMO 28`œǖזݖ # 9<x{ޚJMśț@CœŜ33333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333333BC ! 5D<IJ!U!~!!!"""""#"#$#8##$$$%%'$'M'_'[***=+,8,--.J.L.n...?0R0%1z1!2&2'22k3333444A5W5r5s5555j77789!9J::;2;Y;u;}<<<<:>?>@>>M?b???????@@AB F}FFFFFFGHImIrItI~IIIK&L{LL*NSNRR'TiT#V2V6V9V;V$_C$&1'p_'=(D7+, ,c,?-Q-.3e.&0_3m8p8:[9x:;4;u;j=l=~g>sX@dAWDnD:CH`I|[JM*N:O5UPPQUS=T]dT#VZW5XR"Z*[^4^:^}_$_=_r_``U`+aN7bXc2dvd_e"jol{ m2nEn>'o:Fo.pAqjTrl#sisJuntu_cwew>L~%Kj D 'L4CRG/^ky #p19L y~wVW`h} z>nk MiafBKIVDu/Mw!pr&MIn^0#s6`lp ^=BtFX~s'].-"FSpkS91kE9+?pHz& @>ukqi4Aa++@RK RI </9l'CiXe"=?}!*bk K!,@BBDkBBRRRTTTTTT/T05678(<(=(A(BDESTUVW^_`abcijklmqrtuvwxyz{|}~..ӏӐ,,,@@@@@8@@ @D@@(@*@X@@>@@@F@H@J@@@P@@@V@@@Z@@@j@l@n@p@@@z@|@~@@@@@@@@@@$@@@0@@@8@@@@@@@@@@X@@@l@@@|@@@@@@@8@UnknownG:Ax Times New Roman5Symbol3& :Cx Arialq Academy Engraved LETTimes New Roman;& :Cx Helvetica?5 :Cx Courier NewA/ Mathematica7AMathematica1IMathematica1MonoO1 CourierCourier NewIMathematica5MonoAMathematica59Helvetia3:Ax Times;Wingdings"1efSfPP"PP"!x24d 2Q@X)?^2Mathematica Implementation of M Dr.KraglerKragler0         CompObjqq