{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " Blue Emphasis" -1 256 "Times" 0 0 0 0 255 1 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "Green Emphasis" -1 257 "Times" 1 12 0 128 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Maroon Emphasis" -1 258 "Times" 1 12 128 0 128 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Purple Emphasis" -1 260 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Red Emphasis" -1 261 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Dark Red Emphasis" -1 262 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 265 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 268 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 269 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 } {CSTYLE "" -1 270 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 271 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 272 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 274 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" 262 275 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "Grey E mphasis" -1 276 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 281 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 282 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 283 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "T imes" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 128 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 3 0 3 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 128 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 256 1 {CSTYLE " " -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal " -1 258 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 3 "" 0 "" {TEXT 259 78 "The Remez algorithm for construc ting minimax rational approximating functions " }}{PARA 0 "" 0 "" {TEXT -1 37 "by Peter Stone, Nanaimo, B.C., Canada" }}{PARA 0 "" 0 "" {TEXT -1 20 "Version: 25.3.2007\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " ;" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 56 "load interpolation and func tion approximation procedures" }}{PARA 0 "" 0 "" {TEXT -1 17 "The Mapl e m-file " }{TEXT 276 10 "fcnapprx.m" }{TEXT -1 38 " contains the code for the procedures " }{TEXT 0 7 "critpts" }{TEXT -1 5 " and " }{TEXT 0 5 "remez" }{TEXT -1 25 " used in this worksheet. " }}{PARA 0 "" 0 " " {TEXT -1 123 "It can be read into a Maple session by a command simil ar to the one that follows, where the file path gives its location. \+ " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "read \"K:\\\\Maple/procd rs/fcnapprx.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 69 "A utility routine for determining the critical points o f a function: " }{TEXT 0 7 "critpts" }{TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 14 "c ritpts: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 279 18 "Calling Sequence:\n" }}{PARA 0 "" 0 "" {TEXT 280 2 " " }{TEXT -1 21 " critpts( f, rng N) " }{TEXT 281 1 "\n " }{TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 11 "Parameters:" }} {PARA 0 "" 0 "" {TEXT -1 4 " " }}{PARA 0 "" 0 "" {TEXT 23 9 " f \+ - " }{TEXT -1 55 " an expression involving a single variable, sa y x," }}{PARA 0 "" 0 "" {TEXT -1 80 " w hich evaluates to a real floating point number." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 12 " rng - \+ " }{TEXT 282 53 "the range x=a..b for the function to be approximate d." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } {TEXT 23 12 " N - " }{TEXT 283 65 "the number of subintervals u sed in the search for critical points" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 7 "critpts" }{TEXT -1 333 " atte mpts to find all the critical points of f on the interval [a,b] by div iding the interval into N subintervals, and searching through these in tervals to find those in which the derivative changes sign. For any su ch subintervals the associated critical point is located accurately by solving the equation f ' = 0 numerically using " }{TEXT 0 6 "fsolve" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 16 "How to activate:" } {TEXT -1 156 "\nTo make the procedures active open the subsection, pla ce the cursor anywhere after the prompt [ > and press [Enter].\nYou c an then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 23 "critpts: implementation" }}{PARA 4 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 896 "critpts := proc(fx::algebraic,rng: :name=realcons..realcons,N::posint)\n local x,a,b,h,xx,newx,i,cpts,d ,val,newval,c;\n x := op(1,rng);\n a := evalf(op(1,op(2,rng)));\n \+ b := evalf(op(2,op(2,rng)));\n h := evalf((b-a)/N);\n xx := a;\n cpts := xx;\n d := unapply(diff(fx,x),x);\n val := d(xx);\n i f not type(val,numeric) then\n error \"non-numeric value\"\n en d if; \n for i to N do\n newx := xx + h;\n newval := d(n ewx);\n if not type(newval,numeric) then\n error \"non-nu meric value\"\n end if;\n if signum(0,val,0)<>signum(0,newva l,0) then\n c := traperror(fsolve(d(x),x=xx..newx));\n \+ if c=lasterror or not type(c,numeric) then\n error \"faile d to locate critical point in the interval %1\",x..newx;\n end if;\n cpts := cpts,c;\n end if;\n xx := newx;\n \+ val := newval;\n end do:\n [cpts,evalf(b)]\nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 42 "Examples are given later in the works heet." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 76 "A procedure for constructing polynomial o r rational minimax approximations: " }{TEXT 0 5 "remez" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 12 "remez: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 187 "Some of the code here is based on code by Bogdan Popov and Oksana Laushnyk from their rational approximation package, and so me of the code is extracted from the Maple \"numapprox\" package." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 263 18 "Calling Sequence:\n" }}{PARA 0 "" 0 "" {TEXT 264 2 " " } {TEXT -1 22 " remez( f, rng deg ) " }}{PARA 0 "" 0 "" {TEXT -1 33 " \+ remez( f, rng deg, 'maxerr' )" }}{PARA 0 "" 0 "" {TEXT -1 43 " re mez( f, rng deg, 'maxerr', 'minerr' )" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 257 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 4 " " }}{PARA 0 "" 0 "" {TEXT 23 9 " f - " }{TEXT -1 61 " an expression f(x) involving a single variable, say x, " }} {PARA 0 "" 0 "" {TEXT -1 88 " which evaluates t o a real floating point number, or a procedure." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 12 " rng - \+ " }{TEXT 265 68 "the range x=a . . b or a . . b for the function to be approximated." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 23 12 " deg - " }{TEXT 267 55 "the degree n \+ of the resulting polynomial approximation " }}{PARA 256 "" 0 "" {TEXT 268 1 " " }{XPPEDIT 18 0 "p(x)=a[0]+a[1]*x+` . . . `+a[n]*x^n" "6#/-% \"pG6#%\"xG,*&%\"aG6#\"\"!\"\"\"*&&F*6#F-F-F'F-F-%(~.~.~.~GF-*&&F*6#% \"nGF-)F'F5F-F-" }{TEXT 270 2 ", " }}{PARA 0 "" 0 "" {TEXT 269 125 " \+ or the pair of degrees [m,n] of the numerator and denominator of the resulting rational approximation " }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "r(x) = (a[0]+a[1]*x+` . . . `+a[m] *x^m)/(b[0]+b[1]*x+` . . . `+b[n]*x^n);" "6#/-%\"rG6#%\"xG*&,*&%\"aG6# \"\"!\"\"\"*&&F+6#F.F.F'F.F.%(~.~.~.~GF.*&&F+6#%\"mGF.)F'F6F.F.F.,*&% \"bG6#F-F.*&&F:6#F.F.F'F.F.F2F.*&&F:6#%\"nGF.)F'FBF.F.!\"\"" }{TEXT 271 2 ". " }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 6 " " }{TEXT 23 9 "maxerr - " }{TEXT -1 67 "optio nal argument for returning the maximum magnitude of the error." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 23 12 " minerr - " }{TEXT -1 109 "optional argument for returning the minimum magnit ude of the error at the critical points on the error curve." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 4 "Note" }{TEXT 272 56 ": deg is an optional argument with a default value of 2." } {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedur e " }{TEXT 0 5 "remez" }{TEXT -1 227 " attempts to find a minimax poly nomial or rational function of specified degree which approximates f(x ) on the interval [a,b], that is,\nthe polynomial or rational function r(x) such that\n max " }{XPPEDIT 18 0 "abs(f(x)-r(x))" "6#-%$absG6#,&-%\"fG6#%\"xG\"\"\"-%\"rG6#F*!\"\" " }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 27 " \+ " }{XPPEDIT 18 0 "a<=x" "6#1%\"aG%\"xG" }{XPPEDIT 18 0 "``<=b" " 6#1%!G%\"bG" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 13 "is a minim um." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 266 8 "Op tions:" }{TEXT -1 1 "\n" }}{PARA 0 "" 0 "" {TEXT -1 35 "method=itersol ve/chebsolve/ratsolve" }}{PARA 0 "" 0 "" {TEXT -1 83 "This option refe rs to the method of determining the estimate for the minimax error " } {XPPEDIT 18 0 "mu" "6#%#muG" }{TEXT -1 81 " at each stage in applying \+ the Remez algorithm to solve the system of equations: " }}{PARA 256 " " 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "r(x[k])-f(x[k]) = (-1)^(k-1)*mu, k=1,2,` . . . `,m+n+1" "6'/,&-%\"rG6#&%\"xG6#%\"kG\"\"\"-%\"fG6#&F)6# F+!\"\"*&),$F,F2,&F+F,F,F2F,%#muGF,/F+F,\"\"#%(~.~.~.~G,(%\"mGF,%\"nGF ,F,F," }{TEXT -1 4 ", " }}{PARA 0 "" 0 "" {TEXT -1 6 "where " } {XPPEDIT 18 0 "a=x[1]" "6#/%\"aG&%\"xG6#\"\"\"" }{XPPEDIT 18 0 "`` and press [Ent er].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 22 "remez: implementation " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "here" {MPLTEXT 1 0 72064 "remez := proc(f,r ng,arg3,arg4,arg5)\n local w1,proctype,x,a,b,m,n,mn,wproc,fproc,r,rp t,maxit,\n phi,crit,err,i,prntflg,startopts,Options,clr,maindet, \n a1,b1,Z1,Z2,F1,F2,crpts,sx,haveapprox,ncrit,eps,mthd,it,\n \+ unitcf,mxgrph,pts,rx,w,ertyp,makeproc,startDigits,vars,rg,\n as signerr,maxerror,minerror,var,err2,typ,c,aa,bb,varopt,t,\n xc,cc, exctpt,dd,h,minh,ht,at;\n global newDigits,oldDigits;\n\n if nargs <2 then\n error \"at least 2 arguments are required; the basic sy ntax is: 'remez(f(x),x=a..b)'.\"\n end if;\n \n if type(f,procedu re) then\n if nops([op(1,eval(f))])<>1 then\n error \"the 1st argument, %1, is invalid .. it should be a procedure with a singl e argument\",f;\n end if;\n proctype := true;\n if type (rng,realcons..realcons) then\n rg := rng\n else\n \+ error \"the 2nd argument, %1, is invalid .. when the 1st argument is a procedure, the 2nd argument should have the form 'a..b', where a an d b are real constants, to provide the interval over which to construc t the minimax approximation\",rng;\n end if;\n elif type(f,alge braic) then\n vars := indets(f,name) minus indets(f,realcons);\n \+ if nops(vars)<>1 then \n if not has(indets(f),\{Int,Sum\} ) then\n error \"the 1st argument, %1, is invalid .. it sho uld be an expression which depends only on a single variable\",f;\n \+ end if;\n end if;\n if type(rng,name=realcons..realcon s) then\n proctype := false;\n x := op(1,rng);\n \+ if not member(x,vars) then\n error \"the 1st argument, % 1, is invalid .. it should be an expression which depends only on the \+ variable %2\",f,x;\n end if;\n rg := op(2,rng);\n \+ else\n error \"the 2nd argument, %1, is invalid .. it should \+ have the form 'x=a..b', where a and b are real constants, to provide t he interval over which to construct the minimax approximation\",rng;\n end if;\n else\n error \"the 1st argument, %1, is invalid .. it should be an algebraic expression in a single variable, or a pr ocedure with a single real argument\",f;\n end if;\n\n startopts : = 3;\n m := 2;\n n := 0;\n assignerr := 0;\n if nargs>2 then\n if type(arg3,integer) then\n m := arg3;\n n := 0 ;\n startopts := startopts + 1;\n elif nops(arg3)=2 and t ype([arg3[1],arg3[2]],[integer,integer]) then\n m := arg3[1]; \n n := arg3[2];\n startopts := startopts + 1;\n \+ elif type(arg3,name) then\n startopts := startopts + 1;\n \+ assignerr := 3;\n elif not type(arg3,`=`) then\n erro r \"3rd argument must be an integer, a list of two integers, or a vari able to which the maximum error is assigned\"\n end if;\n if nargs>3 then\n if type(arg4,name) then\n startopts := startopts + 1;\n if type(arg3,name) then\n \+ assignerr := 4;\n else\n assignerr := 5;\n \+ end if;\n elif not type(arg4,`=`) then\n \+ if type(arg3,name) then\n error \"4th argument must be \+ a variable to which the minimum error at the critical points is assign ed\"\n else\n error \"4th argument must be a \+ variable to which the maximum error is assigned\"\n end if; \n end if;\n if nargs>4 then\n if type(arg5 ,name) then\n startopts := startopts + 1;\n \+ assignerr := 6;\n elif not type(arg5,`=`) then\n \+ if type(arg4,name) then\n error \"invalid argum ents\"\n else\n error \"5th argument mu st be a variable to which the minimum error at the critical points is \+ assigned\"\n end if;\n end if;\n end \+ if;\n end if;\n end if;\n\n if m<0 or n<0 then \n error \+ \"the degree(s) must be positive\"\n end if;\n\n prntflg := 0;\n \+ mthd := 'ratsolve';\n typ := 1;\n ertyp := 0;\n crpts := [];\n \+ haveapprox := false;\n w := 1;\n cc := 0;\n exctpt := false;\n unitcf := 1;\n maxit := Digits+iquo(Digits,2);\n rpt := maxit; \n var := evalf(4/sqrt((m+n-1)^2+16));\n varopt := false;\n mxgr ph := 4;\n clr := [COLOR(RGB,.7,0,.9),COLOR(RGB,.3,.8,.3),COLOR(RGB, 1,.4,0)];\n\n if startopts<=nargs then\n Options:=[args[startop ts..nargs]];\n if not type(Options,list(equation)) then\n \+ error \"each optional argument after the %-1 argument must be an equa tion\",startopts-1;\n end if;\n if hasoption(Options,'repeat ','rpt','Options') then \n if not type(rpt,posint) then\n \+ error \"\\\"repeat\\\" option must be a positive integer\"\n \+ end if;\n end if;\n if hasoption(Options,'maxiteration s','maxit','Options') then \n if not type(rpt,posint) then\n \+ error \"\\\"maxiterations\\\" option must be a positive inte ger\"\n end if;\n end if;\n if hasoption(Options,'va riation','var','Options') then \n if not type(var,realcons) or signum(0,1.-var,0)<0 or signum(0,var-0.1,0)<0 then\n error \"\\\"variation\\\" option must be a real constant between 0.1 and 1 \"\n end if;\n varopt := true;\n end if;\n i f hasoption(Options,'maxgraph','mxgrph','Options') then \n if \+ not type(mxgrph,nonnegint) then\n error \"\\\"maxgraph\\\" \+ option must be a non-negative integer\"\n end if;\n end i f;\n if hasoption(Options,'critpts','crpts','Options') then\n \+ if not type(crpts,list(realcons)) or nops(crpts)<1 or\n c onvert(crpts,set) intersect \{infinity,-infinity\}<>\{\} then\n \+ error \"\\\"critpts\\\" option must be a list of finite real cons tants\"\n end if;\n end if;\n if hasoption(Options,' method','mthd','Options') then\n if not member(mthd,\{'ratsolv e','itersolve','chebsolve'\}) then \n error \"\\\"method\\ \" option must be 'ratsolve','itersolve' or 'chebsolve'\"\n en d if;\n end if;\n if hasoption(Options,'type','typ','Options ') then\n if not member(typ,\{'standard','std','STD','even','E VEN','odd','ODD'\}) then \n error \"\\\"type\\\" option mus t be 'standard' <-> 'std' <-> 'STD','even' <-> 'EVEN' or 'odd' <-> 'OD D'\"\n end if;\n if member(typ,\{'standard','std','STD '\}) then typ := 1\n elif member(typ,\{'even','EVEN'\}) then t yp := 2 \n else typ := 3 end if;\n end if;\n if haso ption(Options,'errtype','ertyp','Options') or \n hasoption(Optio ns,'errortype','ertyp','Options') then\n if not member(ertyp, \{'absolute','ABSOLUTE','ABS','relative','RELATIVE','REL'\}) then \n \+ error \"\\\"errtype\\\" option must be 'absolute' <-> 'ABSOL UTE' <-> 'ABS' or 'relative' <-> 'RELATIVE' <-> 'REL'\"\n end \+ if;\n if member(ertyp,\{'absolute','ABSOLUTE','ABS'\})\n \+ then ertyp := 0 else ertyp := 1 end if;\n end if; \n \+ hasoption(Options,'weight','w','Options');\n if hasoption(Option s,'exactpoint','cc','Options') then\n if not type(cc,realcons) then\n error \"\\\"exactpoint\\\" option must be a real co nstant\"\n end if;\n exctpt := true;\n end if;\n \+ if hasoption(Options,'unitcoeff','unitcf','Options') then\n \+ if not member(unitcf,\{'first','last'\}) then \n error \+ \"\\\"unitcoeff\\\" option must be 'firs't or 'last'\"\n end i f;\n if unitcf='first' then unitcf := 1\n else unitcf \+ := 2 end if;\n end if;\n if hasoption(Options,'start','sx',' Options') then\n if proctype then\n error \"cannot \+ process 'start' option when 1st argument is a procedure\"\n en d if;\n sx := traperror(normal(sx)); \n if no t type(sx,ratpoly(realcons,x)) then\n error \"\\\"start\\\" option must be a rational or polynomial function in the variable %1\" ,x;\n end if;\n haveapprox := true;\n end if;\n \+ if hasoption(Options,'info','prntflg','Options') then\n if not member(prntflg,\{true,false,0,1,2,3,4,5\}) then\n erro r \"\\\"info\\\" option must be 0 <-> false,1,2,3 <-> true,4 or 5\"\n \+ end if;\n if prntflg=false then prntflg := 0\n \+ elif prntflg=true then prntflg := 3 end if; \n end if;\n if hasoption(Options,'colour','clr','Options')\n or hasoption(Op tions,'color','clr','Options') then\n if not type(clr,list) th en\n clr := [clr,clr,'black']\n elif nops(clr)=2 th en\n clr := [clr[1],clr[2],'black'];\n end if;\n \+ end if;\n if nops(Options)>0 then\n error \"%1 is not \+ a valid option for %2\",op(1,Options),procname;\n end if\n end \+ if;\n \n aa := op(1,rg);\n bb := op(2,rg);\n if typ=2 then\n \+ if signum(0,aa+bb,0)<>0 then\n if n=0 then\n er ror \"an even minimax polynomial can only be constructed on an interva l of the form -a..a which is symmetrical about 0\"\n else\n \+ error \"an even minimax rational function can only be constru cted on an interval of the form -a..a that is symmetrical about 0\"\n \+ end if;\n end if;\n elif typ=3 then\n if signum(0, aa+bb,0)<>0 then\n if n=0 then\n error \"an odd min imax polynomial can only be constructed on an interval of the form -a. .a which is symmetrical about 0\"\n else\n error \" a minimax rational function with an odd numerator and even denominator can only be constructed on an interval of the form -a..a that is symm etrical about 0\"\n end if;\n end if;\n end if;\n\n i f typ=2 then\n if n=0 then\n if irem(m,2)=1 then\n \+ error \"the polynomial degree specified must be even\"\n \+ end if;\n else\n if irem(m,2)=1 or irem(n,2)=1 then\n \+ error \"the degree specified for both the numerator and denomi nator must be even\"\n end if;\n end if;\n m := iquo (m,2);\n n := iquo(n,2);\n elif typ=3 then\n if n=0 then\n if irem(m,2)=0 then\n error \"the polynomial degre e specified must be odd\"\n end if;\n else\n if i rem(m,2)=0 or irem(n,2)=1 then\n error \"the degree specifi ed for the numerator must be odd and the degree specified for the deno minator must be even\"\n end if;\n end if;\n m := iq uo(m,2);\n n := iquo(n,2);\n end if;\n\n if haveapprox then\n m := degree(numer(sx));\n n := degree(denom(sx));\n if not varopt then\n var := evalf(4/sqrt((m+n-1)^2+16));\n \+ end if;\n if typ=2 then\n if n=0 then\n if not type(sx,evenfunc(x)) then\n error \"the starting approx imation must be an even function\"\n end if;\n else \n if not type(numer(sx),evenfunc(x)) or not type(denom(sx ),evenfunc(x)) then\n error \"the numerator and denomina tor of the starting approximation must both be even functions\"\n \+ end if;\n end if;\n m := iquo(m,2);\n n := iquo(n,2);\n elif typ=3 then\n if n=0 then\n \+ if not type(sx,oddfunc(x)) then\n error \"the startin g approximation must be an odd function\"\n end if;\n \+ else \n if not type(numer(sx),oddfunc(x)) or not type(de nom(sx),evenfunc(x)) then\n error \"the numerator of the starting approximation must be an odd function and the denominator of the starting approximation must be an even function\"\n en d if;\n end if;\n m := iquo(m,2);\n n := iquo( n,2);\n end if; \n end if;\n\n if exctpt and signum(0,cc -aa,0)=-1 or signum(0,cc-bb,0)=1 then\n error \"the exact point m ust lie in the interval for the approximation\"\n end if;\n\n mn : = m+n;\n if exctpt then\n if m<1 then\n if n=0 then \n \+ error \"with the 'exactpoint' option the polynomial degree \+ must be at least 1\"\n else\n error \"with the 'exa ctpoint' option the degree of the numerator must be at least 1\"\n \+ end if;\n end if;\n mn := mn-1;\n end if;\n \n \+ maindet := true;\n oldDigits := Digits;\n Digits := Digits+max(m+ n-2,0);\n startDigits := Digits;\n\n a := evalf(aa);\n b := eval f(bb);\n if not type([a,b],[numeric, numeric]) then\n error \"e xpecting a numeric range in the second argument\"\n end if;\n\n ma keproc := proc(fx,x,a,b)\n proc(_x)\n local y;\n \+ y := traperror(evalf(eval(subs(x=_x,fx))));\n if y=lasterror o r not type(y,numeric) then\n if evalf(_x-a)=0 then\n \+ y := evalf(limit(fx,x=_x,'right'));\n elif evalf(_x -b)=0 then\n y := evalf(limit(fx,x=_x,'left'));\n \+ else\n y := evalf(limit(fx,x=_x,'real'));\n \+ end if;\n end if;\n y;\n end proc;\n end pr oc;\n\n if proctype then\n if type(f,procedure) then fproc := e val(f)\n else\n try fproc := subs(_body=f(_t),proc(_t) ev alf(_body) end proc)\n catch:\n error \"expecting the \+ 1st argument to be an operator, but received %1\",f\n end try; \n fproc := subs(_t='t', eval(fproc))\n end if\n else\n fproc := makeproc(f,x,a,b)\n end if;\n\n if not type([fproc( a),fproc(.7101449275*a+.2898550725*b),\n fproc(.381966011*a+.6180 33989*b),fproc(b)],list(numeric)) then\n error \"function does no t evaluate to a numeric\"\n end if;\n\n if w<>1 then\n if pro ctype then\n if type(w,procedure) then wproc := eval(w)\n \+ else\n try wproc := subs(_body=w(_t),\n \+ proc(_t) evalf(_body) end proc)\n catch: error \"expe cting \\\"weight\\\" %1 to be an operator\",w;\n end try;\n wproc := subs(_t='t',eval(wproc))\n end if\n \+ else\n vars := indets(w,name) minus indets(w,realcons);\n \+ if nops(vars)<>1 then \n if not has(indets(w),\{Int,Sum \}) then\n error \"\\\"weight\\\" option, %1, must be an expression which depends only on a single variable\",w;\n \+ end if;\n end if;\n if not member(x,vars) then\n \+ error \"\\\"weight\\\" option, %1, must depend only on the varia ble %2\",w,x;\n end if;\n wproc := makeproc(w,x,a,b)\n end if;\n if not type([wproc(a),wproc(.7101449275*a+.289855 0725*b),\n wproc(.381966011*a+.618033989*b),wproc(b)],list(numer ic)) then\n error \"weight function, %1, does not evaluate to \+ a numeric\",w;\n end if;\n else\n wproc := 1;\n end if; \n\n if ertyp=0 then\n if w=1 then\n phi := proc(_t) fp roc(_t)-r(_t) end proc;\n else\n phi := proc(_t) wproc(_t )*(fproc(_t)-r(_t)) end proc;\n end if;\n else # ertyp=1 -- rel ative error\n if w=1 then\n phi := proc(_t) local ft; ft \+ := fproc(_t);\n (ft-r(_t))/ft;\n end proc; \n else\n phi := proc(_t) local ft; ft := fproc(_t);\n \+ wproc(_t)*(ft-r(_t))/ft;\n end proc;\n end if;\n end if;\n\n if prntflg>1 then\n if mthd='ratsolve' the n\n print(`Remez algorithm: calculating minimax error estimate by solving a rational equation`); \n else\n print(`R emez algorithm: calculating minimax error estimate by an iterative met hod`);\n if mthd='chebsolve' then\n print(`and usin g Chebyshev coefficients for numerator (and denominator) of approximat ing function`);\n end if;\n end if;\n if ertyp=0 the n\n if w=1 then\n print(`-- minimising the ABSOLUTE error --`)\n else\n print(`-- minimising the weigh ted ABSOLUTE error --`)\n end if;\n else\n if w=1 then\n print(`-- minimising the RELATIVE error --`)\n \+ else\n print(`-- minimising the weighted RELATIVE error --`)\n end if;\n end if; \n print(``);\n end if; \+ \n\n for it to 3 while maindet=true do\n Digits := Digits+3;\n newDigits := Digits;\n crit := array(1..mn+2);\n eps : = Float(1,1-Digits);\n a := evalf(aa);\n b := evalf(bb);\n \+ if exctpt then xc := evalf(cc) end if;\n if haveapprox then\n r := unapply(evalf(sx),x);\n Digits := Digits+3;\n \+ if typ=1 then c := a else c := 0. end if;\n pts := remez _localmax(phi,c,b,eps,3);\n Digits := Digits-3;\n pts \+ := convert(pts,list);\n if nops(pts)1 then\n print(`critical points of initial \+ approximation:`);\n print(seq(crit[i],i=1..mn+2));\n \+ print(``);\n end if;\n elif crpts=[] then\n \+ if typ=1 then \n for i to mn+2 do\n crit[i] : = evalf((a+b)/2+\n (b-a)/2*cos(Pi*(mn+2-i)/(mn+1) ))\n end do;\n else\n for i to mn+2 do\n crit[i] := evalf((a+b)/2+\n (b-a)/ 2*cos(Pi*(mn+2-i)/(2*mn+2)))\n end do;\n end if;\n \+ if prntflg>1 then\n if typ=1 then\n p rint(`standard Chebyshev points for initial critical points:`);\n \+ else\n print(`standard Chebyshev points for initi al critical points that lie in the right half of the interval:`);\n \+ end if;\n print(seq(crit[i],i=1..mn+2));\n \+ print(``);\n end if;\n else\n crpts := evalf( crpts);\n if typ=1 then c := a else c := 0.0 end if;\n \+ for i to nops(crpts) do\n if evalf(c-crpts[i])=0 then brea k end if;\n end do;\n if i>nops(crpts) then crpts := [ c,op(crpts)] end if;\n for i to nops(crpts) do\n if evalf(b-crpts[i])=0 then break end if;\n end do;\n if i>nops(crpts) then crpts := [op(crpts),b] end if;\n crpts := \+ sort(crpts);\n if nops(crpts)<>mn+2 then\n error \" \\\"critpts\\\" option must be a list of %1 values, when the end point s are added\",mn+2;\n end if;\n for i to mn+2 do\n \+ crit[i] := crpts[i];\n if crit[i]b th en\n error \"each member of \\\"critpts\\\", %1, must be in the range %2\",crpts,c..b;\n end if;\n end do; \n if prntflg>1 then\n print(`initial critical poin ts:`);\n print(seq(crit[i],i=1..mn+2));\n print( ``);\n end if;\n end if;\n\n if typ=3 then\n \+ if exctpt and xc=0 then exctpt := false end if;\n dd := b-a; \n h := dd/(10*mn+10);\n for i to mn+2 do\n \+ crit[i] := crit[i]+h*(b-crit[i])/dd;\n end do;\n if p rntflg>1 then\n print(`critical points perturbed away from \+ zero:`);\n print(seq(crit[i],i=1..mn+2));\n prin t(``);\n end if;\n end if;\n\n if exctpt then \n \+ dd := b-a;\n minh := dd;\n for i to mn+2 do\n \+ ht := abs(xc-crit[i]);\n if ht=xc and xc<>b then \n crit[i] := crit[i]+h*(b-cri t[i])/dd;\n else\n crit[i] := crit[i]-h *(crit[i]-a)/dd;\n end if;\n end do;\n \+ if prntflg>1 then\n print(`critical points perturbe d away from exact point:`);\n print(seq(crit[i],i=1..mn+ 2));\n print(``);\n end if;\n end if; \n end if;\n\n if typ=2 or typ=3 then at := 0 else at := a e nd if;\n\n if mthd='itersolve' then\n r := remez_itersolv e(fproc,wproc,at,b,m,n,crit,\n rpt,maxit,var,'maindet','er r','err2','a1','b1',\n typ,ertyp,prntflg ,clr,mxgrph,unitcf,exctpt,xc);\n elif mthd='chebsolve' then\n \+ r := remez_chebsolve(fproc,wproc,at,b,m,n,crit,\n rpt,m axit,var,'maindet','err','err2','a1','b1',\n ty p,ertyp,prntflg,clr,mxgrph,unitcf,exctpt,xc);\n else # mthd='rats olve'\n r := remez_ratsolve(fproc,wproc,at,b,m,n,crit,\n \+ maxit,var,'maindet','err','err2','a1','b1',\n \+ typ,ertyp,prntflg,clr,mxgrph,unitcf,exctpt,xc);\n end if; \n if maindet then\n if prntflg>0 then\n print (`intermediate unsuccessful approximation:`);\n print(evalf (normal(r(x),expanded),Digits));\n print(`trying to increas e Digits`)\n end if;\n else\n if startDigits+120 then\n print(`la st unsuccessful approximation:`);\n print(evalf(normal(r (x),expanded),Digits));\n end if;\n error \"insu fficient precision to calculate error curve\"\n end if\n \+ end if;\n Digits := newDigits;\n end do;\n Digits := oldDigit s;\n if assignerr>0 then\n maxerror := evalf(err);\n if as signerr<5 then arg3 := maxerror\n else arg4 := maxerror end if;\n if irem(assignerr,2)=0 then\n minerror := evalf(err2);\n if assignerr=4 then arg4 := minerror\n else arg5 := m inerror end if;\n end if; \n end if;\n if err<>0 then\n \+ F1 := abs(phi(a1));\n F2 := abs(phi(b1));\n Z1 := abs(F1-err )/err;\n Z2 := abs(F2-err)/err;\n while (.10 then\n print(`minima x approximation:`);\n print(evalf(rx,Digits));\n print(``); \n print(`minimax error: `);\n print(evalf(err,iquo(Digits,2 )));\n print(``);\n end if;\n if proctype then\n r := un apply(evalf(rx,Digits),x);\n eval(r);\n else\n evalf(rx,Di gits);\n end if;\nend proc: # of remez\n\nremez_localmax := proc(phi ,a,b,eps,m,nmax)\n local h,x0,x1,x2,x3,f0,f1,f2,f3,s,eps1,point,fval ,j,k,\n fmax,xmax,amax,fmin,xmin,amin,a1,b1,GR,\n u0,u 1,u2,y1,y2,ph1,ph2;\n\n GR := evalf(1/2*(3-sqrt(5)));\n h := 1/100 *b-1/100*a;\n x0 := a;\n x1 := x0 + h;\n x2 := x1 + h;\n f0 := phi(x0);\n f1 := phi(x1);\n f2 := phi(x2);\n if f0= fval[j] then\n \+ fmin := fval[j];\n xmin := point[j]\n end if;\n \+ end do;\n return [xmin,xmax];\n elif m = 2 then # max and \+ min magnitude of extrema\n for j to k do\n if amax <= abs (fval[j]) then\n amax := abs(fval[j]);\n xmax := point[j]\n end if;\n if amin >= abs(fval[j]) then\n \+ amin := abs(fval[j]);\n xmin := point[j]\n \+ end if;\n end do;\n return [xmin,xmax];\n elif m = 0 the n # max magnitude of extrema near \"nmax\"\n for j from 0 to k do \n if amax <= abs(fval[j]) and h1 th en\n print(`iteration `||ct);\n print(`--------------- -----------------------`);\n end if;\n Digits := Digits+3;\n if w<>1 then\n W := seq(w(crit[k]),k=1..mn+2);\n en d if;\n F := seq(f(crit[k]),k=1..mn+2);\n if exctpt then fc \+ := f(xc) end if;\n\n if prntflg>3 then\n print(`finding a n approximate solution for the equations:`);\n print(``);\n \+ if exctpt then\n print(eval(subs(x=xc,normal(rtemplat e)))=fc);\n end if;\n s := 1;\n for k to mn+2 \+ do\n s := -s;\n if ertyp=0 then\n \+ if w=1 then\n print(eval(subs(x=crit[k],normal(rtem plate)))\n =F[k]+s*e);\n else\n \+ print(eval(subs(x=crit[k],normal(W[k]*rtemplate)))\n =W[k]*F[k]+s*e);\n end if;\n \+ else\n if w=1 then\n print(eva l(subs(x=crit[k],normal(rtemplate)))\n =F[k]+s *e*F[k]);\n else\n print(eval(subs(x=cr it[k],normal(W[k]*rtemplate)))\n =W[k]*F[k]+s* e*F[k]);\n end if;\n end if;\n pri nt(``);\n end do;\n print(`for the coefficients in`); \n print(rtemplate);\n print(`and an estimate for the \+ minimax error e`);\n print(``);\n end if;\n oldmu := 0.;\n # inner loop to solve (non-linear) system\n to rpt do \n eqns := \{\};\n if exctpt then\n eq := c onvert([seq(p[i]*xc^i,i=0..m)],`+`)\n -convert([seq(fc*q[ i]*xc^i,i=1..n)],`+`)=fc;\n eqns := eqns union \{eq\}\n \+ end if;\n s := 1;\n for k to mn+2 do\n \+ s := -s;\n if typ=1 then\n if ertyp=0 then\n if w=1 then\n eq := convert([seq (p[i]*crit[k]^i,i=0..m)],`+`)\n -convert([seq((F[k]+s*mu) *q[i]*crit[k]^i,i=1..n)],`+`)\n -s*e=F[k];\n \+ else\n eq := \n con vert([seq(W[k]*p[i]*crit[k]^i,i=0..m)],`+`)\n -convert([seq((W[ k]*F[k]+s*mu)*q[i]*crit[k]^i,i=1..n)],`+`)\n -s*e =W[k]*F[k];\n end if;\n else\n \+ if w=1 then\n eq := convert([seq(p[i]*cri t[k]^i,i=0..m)],`+`)\n -convert([seq(F[k]*(1+s*mu)*q[i]*cri t[k]^i,i=1..n)],`+`)\n -s*e*F[k]=F[k];\n \+ else\n eq :=\n conve rt([seq(W[k]*p[i]*crit[k]^i,i=0..m)],`+`)\n -convert([seq(F[k] *(W[k]+s*mu)*q[i]*crit[k]^i,i=1..n)],`+`)\n -s*e* F[k]=W[k]*F[k];\n end if;\n end if;\n \+ elif typ=2 then\n if ertyp=0 then\n \+ if w=1 then\n eq :=\n \+ convert([seq(p[i]*crit[k]^(2*i),i=0..m)],`+`)\n -convert([seq( (F[k]+s*mu)*q[i]*crit[k]^(2*i),i=1..n)],`+`)\n -s *e=F[k];\n else\n eq :=\n \+ convert([seq(W[k]*p[i]*crit[k]^(2*i),i=0..m)],`+`)\n - convert([seq((W[k]*F[k]+s*mu)*q[i]*crit[k]^(2*i),i=1..n)],`+`)\n \+ -s*e=W[k]*F[k];\n end if;\n \+ else\n if w=1 then\n eq :=\n convert([seq(p[i]*crit[k]^(2*i),i=0..m)],`+`)\n -convert([seq(F[k]*(1+s*mu)*q[i]*crit[k]^(2*i),i=1..n)],`+`)\n -s*e*F[k]=F[k];\n else\n \+ eq :=\n convert([seq(W[k]*p[i]*crit[k]^ (2*i),i=0..m)],`+`)\n -convert([seq(F[k]*(W[k]+s*mu)*q[i]*crit[k]^ (2*i),i=1..n)],`+`)\n -s*e*F[k]=W[k]*F[k];\n \+ end if;\n end if;\n else # typ=3 \n if ertyp=0 then\n if w=1 then\n \+ eq :=\n convert([seq(p[i]*crit[k] ^(2*i+1),i=0..m)],`+`)\n -convert([seq((F[k]+s*mu)*q[i]*crit[k ]^(2*i+1),i=1..n)],`+`)\n -s*e=F[k];\n \+ else\n eq :=\n convert([s eq(W[k]*p[i]*crit[k]^(2*i+1),i=0..m)],`+`)\n -convert([seq((W[k]* F[k]+s*mu)*q[i]*crit[k]^(2*i+1),i=1..n)],`+`)\n - s*e=W[k]*F[k];\n end if;\n else\n \+ if w=1 then\n eq :=\n \+ convert([seq(p[i]*crit[k]^(2*i+1),i=0..m)],`+`)\n -conver t([seq(F[k]*(1+s*mu)*q[i]*crit[k]^(2*i+1),i=1..n)],`+`)\n \+ -s*e*F[k]=F[k];\n else\n \+ eq :=\n convert([seq(W[k]*p[i]*crit[k]^(2*i+1),i=0.. m)],`+`)\n -convert([seq(F[k]*(W[k]+s*mu)*q[i]*crit[k]^(2*i+1),i=1 ..n)],`+`)\n -s*e*F[k]=W[k]*F[k];\n \+ end if;\n end if;\n end if;\n \+ eqns := eqns union \{eq\}\n end do;\n soln := solve(eq ns,vars);\n if soln=lasterror or soln=NULL then\n # perturb citical points and repeat\n if not ptb then ptb := true end if;\n Digits := Digits+3;\n for i from 2 to mn+2 do\n crit[i] := max(crit[i]+eps1,b);\n \+ end do;\n if prntflg>1 then\n print(`per turbing critical points and trying again`);\n print(``); \n end if;\n Digits := Digits-3;\n br eak;\n else\n ptb := false; \n mu \+ := subs(soln,e);\n end if;\n if n=0 or abs(oldmu-mu)<= eps*abs(oldmu) then break end if;\n oldmu := mu;\n end do ;\n if ptb then next end if;\n if not type(map(rhs,soln),set (numeric)) then\n error \"error curve fails to oscillate suffi ciently; try different degrees, or increase \\\"Digits\\\"\"\n en d if;\n if prntflg>3 then\n print(`solutions:`);\n \+ print(op(soln));\n print(`estimate for minimax error:`);\n \+ print(mu);\n print(``);\n end if;\n den := su bs(soln,r_denom);\n solnden := [fsolve(den=0,x=a..b)];\n pri nt(`den=`,den);\n if solnden<>[] then\n error \"provision al rational approximation has a singularity in the interval %1 \",a..b ;\n end if;\n r := traperror(unapply(convert(subs(soln,\n \+ rtemplate),'horner',x),x));\n if r=lasterror then error r end if;\n if ertyp=0 then\n if w=1 then\n \+ phi := proc(_t) f(_t)-r(_t) end proc;\n else\n \+ phi := proc(_t) w(_t)*(f(_t)-r(_t)) end proc;\n end if; \n else # ertyp=1\n if w=1 then\n phi := proc( _t) local ft; ft := f(_t);\n (ft-r(_t))/ft; \n end proc;\n else\n phi := pr oc(_t) local ft; ft := f(_t);\n w(_t)*(ft-r( _t))/ft;\n end proc;\n end if;\n end \+ if;\n if prntflg>1 then\n if n=0 then \n print (`provisional polynomial approximation:`);\n else\n \+ print(`provisional rational approximation:`);\n end if;\n \+ print(normal(r(x),expanded));\n print(``);\n end if; \n Digits := Digits+3;\n pts := remez_localmax(phi,a,b,eps,2 );\n xmax := pts[2];\n errmax := abs(phi(xmax));\n if n ot type(errmax,numeric) then\n error \"failed to determine max imum error\"\n end if;\n Digits := Digits-3;\n if mu<>0 then test1 := abs(errmax-abs(mu))/abs(mu)\n else break end if;\n if abs(errmax)<=Float(1,-Digits+1) then break end if;\n sav ever := ver;\n if test1 then\n print(`maximum magnitude of error:`);\n print(errmax);\n print(`estimate for mini max error:`);\n print(abs(mu));\n print(`difference:`) ;\n print(errmax-abs(mu));\n if mu<>0 then\n \+ print(`relative difference:`);\n print(test1);\n \+ print(`goal for relative difference:`);\n print(level_ep s);\n end if;\n print(``);\n end if;\n for i to mn+2 do oldcrit[i] := crit[i] end do;\n criterr := traperror( remez_critpts\n (phi,a,b,eps,mn+2,ver,cri t,xmax));\n if criterr=lasterror then\n error \"could not determine critical points\"\n end if;\n ver := savever;\n \+ Digits := Digits-3;\n if irem(prntflg,2)=1 and ct<=mxgrph the n\n if errmax>Float(1,-38) then\n sc := 1;\n \+ if typ=1 then\n print(`error graph`)\n e lse\n print(`error graph drawn for the right half of the interval`)\n end if;\n else\n pow := (1 0*iquo(-ilog10(errmax),10));\n sc := 10^pow;\n p rint(`error graph scaled by 10 to the power`,pow);\n if typ =2 or typ=3 then\n print(`and drawn for the right half o f the interval`);\n end if;\n end if;\n ord s := seq([[oldcrit[i],0],[oldcrit[i],\n sc*phi(oldcrit[i])]] ,i=1..mn+2),seq([[crit[i],0],\n [crit[i],sc*phi(crit[i])] ],i=1..mn+2);\n delta := abs(b-a)*0.001;\n print(plot( [sc*'phi'(x),ords],x=a..b+delta,\n color=[clr[1],clr[ 2]$(mn+2),clr[3]$(mn+2)],\n thickness=[1$(mn+3),2$(mn +2)],\n view=[a..b+delta,-sc*errmax..sc*errmax]));\n \+ end if;\n if prntflg>1 then\n if typ=1 then\n \+ print(`critical points:`);\n else\n print(`cri tical points in the right half of the interval:`)\n end if;\n \+ print(seq(crit[k],k=1..mn+2));\n print(``);\n end if;\n if test<=level_eps then break end if;\n if convert(ol dcrit,set)=convert(crit,set) and ver=1 then\n ver := 2;\n \+ Digits := Digits+3;\n for i to mn+2 do oldcrit[i] := crit[ i] end do;\n criterr := traperror(remez_critpts\n \+ (phi,a,b,eps,mn+2,ver,crit,xmax));\n if crite rr=lasterror then\n error \"could not determine critical po ints\"\n end if;\n Digits := Digits-3;\n if pr ntflg>1 then\n if typ=1 then\n print(`adjuste d critical points:`);\n else\n print(`adjuste d critical points in the right half of the interval:`)\n en d if;\n print(seq(crit[k],k=1..mn+2));\n print(` `);\n end if;\n end if;\n end do;\n if ct<=maxit then maindet := false end if;\n maxerror := errmax;\n minerror := abs( phi(pts[1]));\n a1 := crit[1];\n b1 := crit[mn+2];\n if n>0 and \+ unitcf=2 then\n nx := numer(r(x));\n dx := denom(r(x));\n \+ cf := coeff(dx,x,n);\n nx := nx/cf;\n dx := dx/cf;\n \+ rx := nx/dx;\n r := unapply(convert(rx,'horner',x),x);\n end i f; \n eval(r);\nend proc: # of remez_itersolve\n\n# 2nd Version of Remez algorithm where estimate for\n# minimax error is determined by \+ an iterative method and\n# using Chebyshev coefficients for numerator \+ and denom \nremez_chebsolve := proc(f,w,a,b,m,n,crit,rpt,maxit,var,\n \+ maindet,maxerror,minerror,a1,b1,typ,ertyp,prntflg,\n \+ clr,mxgrph,unitcf,exctpt,xc)\n local eps,level_eps,vars,i,p,q,e,y,x, rtemplate,mu,errmax,\n oldcrit,k,W,F,eqns,s,soln,r,criterr,xmax,e q,rx,phi,\n ords,mn,ct,nx,dx,cf,oldmu,pts,delta,savever,\n v er,j,test,test1,r_numer,r_denom,den,solnden,ptb,eps1,\n sc,fc,pow ;\n global oldDigits;\n\n mn := m+n;\n if exctpt then mn := mn-1 end if;\n oldcrit := array(1..mn+2);\n eps := Float(1,1-Digits); \n level_eps := evalf(Float(1,-oldDigits)^var);\n eps1 := evalf((b -a)/(2*mn+2));\n if typ=2 or typ=3 then eps1 := 2*eps1 end if;\n v ars := \{seq(q[i],i=1..n),seq(p[i],i=0..m),e\};\n if typ=1 then\n \+ y := unapply((2*x-a-b)/(b-a),x);\n r_numer := convert([seq(p[i ]*orthopoly['T'](i,y(x)),i=0..m)],`+`);\n r_denom := 1+convert([s eq(q[i]*orthopoly['T'](i,y(x)),i=1..n)],`+`);\n elif typ=2 then\n \+ y := unapply(x/b,x);\n r_numer := convert([seq(p[i]*orthopoly[ 'T'](2*i,y(x)),i=0..m)],`+`);\n r_denom := 1+convert([seq(q[i]*or thopoly['T'](2*i,y(x)),i=1..n)],`+`);\n else\n y := unapply(x/b ,x);\n r_numer := convert([seq(p[i]*orthopoly['T'](2*i+1,y(x)),i= 0..m)],`+`);\n r_denom := 1+convert([seq(q[i]*orthopoly['T'](2*i, y(x)),i=1..n)],`+`);\n end if;\n rtemplate := r_numer/r_denom;\n \+ mu := 0;\n errmax := Float(1,Digits);\n test := Float(1,Digits); \n ver := 1;\n ptb := false;\n # main loop to construct rational function\n # with given critical pts and minmax error approximation \n for ct to maxit do\n if prntflg>1 then\n print(`iter ation `||ct);\n print(`--------------------------------------` );\n end if;\n Digits := Digits+3;\n if w<>1 then\n \+ W := seq(w(crit[k]),k=1..mn+2);\n end if;\n F := seq(f( crit[k]),k=1..mn+2);\n if exctpt then fc := f(xc) end if;\n\n \+ if prntflg>3 then\n print(`finding an approximate solution f or the equations:`);\n print(``);\n if exctpt then\n \+ print(eval(subs(x=xc,normal(rtemplate)))=fc);\n end \+ if;\n s := 1;\n for k to mn+2 do\n s := -s; \n if ertyp=0 then\n if w=1 then\n \+ print(eval(subs(x=crit[k],normal(rtemplate)))\n \+ =F[k]+s*e);\n else\n print( eval(subs(x=crit[k],normal(W[k]*rtemplate)))\n \+ =W[k]*F[k]+s*e);\n end if;\n else\n \+ if w=1 then\n print(eval(subs(x=crit[k],normal( rtemplate)))\n =F[k]+s*e*F[k]);\n \+ else\n print(eval(subs(x=crit[k],normal(W[k]*rtempl ate)))\n =W[k]*F[k]+s*e*F[k]);\n \+ end if;\n end if;\n print(``);\n end do ;\n print(`for the coefficients in`);\n if typ=1 then \n print(convert([seq(p[i]*T(i,'y(x)'),i=0..m)],`+`)/\n \+ (1+convert([seq(q[i]*T(i,'y(x)'),i=1..n)],`+`)));\n \+ print(`where 'y(x)' is`,(2*x-a-b)/(b-a));\n elif typ=2 t hen\n print(convert([seq(p[i]*T(2*i,'y(x)'),i=0..m)],`+`)/ \n (1+convert([seq(q[i]*T(2*i,'y(x)'),i=1..n)],`+`))); \n print(`where 'y(x)' is`,x/b);\n else # typ=3\n \+ print(convert([seq(p[i]*T(2*i+1,'y(x)'),i=0..m)],`+`)/\n \+ (1+convert([seq(q[i]*T(2*i,'y(x)'),i=1..n)],`+`)));\n \+ print(`where 'y(x)' is`,x/b);\n end if;\n prin t(`and an estimate for the minimax error e`);\n print(``);\n \+ end if;\n oldmu := 0.;\n # inner loop to solve (non-line ar) system\n to rpt do\n eqns := \{\};\n if exctp t then\n eq := convert([seq(orthopoly['T'](i,y(xc))*p[i],i= 0..m)],`+`)\n - convert([seq(fc*orthopoly['T'](i,y(xc))*q[ i],i=1.. n)],`+`)=fc;\n eqns := eqns union \{eq\}\n \+ end if;\n\n s := 1;\n for k to mn+2 do\n s := -s;\n if typ=1 then\n if ertyp=0 then\n \+ if w=1 then\n eq := convert([seq(o rthopoly['T']\n (i,y(crit[k]))*p[i] ,i=0..m)],`+`)\n - convert([seq((F[k]+s*mu)*orthop oly['T']\n (i,y(crit[k]))*q[i],i=1.. n)],`+`)-s*e= F[k];\n else\n eq := convert([seq (W[k]*orthopoly['T']\n (i,y(crit[k] ))*p[i],i=0..m)],`+`)\n - convert([seq((W[k]*F[k]+ s*mu)*orthopoly['T']\n (i,y(crit[k]))*q[i],i=1.. n )],`+`)-s*e=W[k]*F[k];\n end if;\n else \n if w=1 then\n eq := convert([s eq(orthopoly['T']\n (i,y(crit[k]))* p[i],i=0..m)],`+`)\n - convert([seq(F[k]*(1+s*mu)* orthopoly['T']\n (i,y(crit[k]))*q[i],i=1.. n)],`+` )-s*e*F[k]=F[k];\n else\n eq := c onvert([seq(W[k]*orthopoly['T']\n ( i,y(crit[k]))*p[i],i=0..m)],`+`)\n - convert([seq( F[k]*(W[k]+s*mu)*orthopoly['T']\n (i,y(crit[k]))*q [i],i=1..n)],`+`)\n -s*e*F[k]=W[k]*F[k];\n \+ end if;\n end if;\n elif typ=2 the n\n if ertyp=0 then\n if w=1 then\n \+ eq := convert([seq(orthopoly['T']\n \+ (2*i,y(crit[k]))*p[i],i=0..m)],`+`)\n \+ - convert([seq((F[k]+s*mu)*orthopoly['T']\n (2*i,y (crit[k]))*q[i],i=1.. n)],`+`)-s*e=F[k];\n else\n \+ eq := convert([seq(W[k]*orthopoly['T']\n \+ (2*i,y(crit[k]))*p[i],i=0..m)],`+`)\n \+ - convert([seq((W[k]*F[k]+s*mu)*orthopoly['T']\n \+ (2*i,y(crit[k]))*q[i],i=1.. n)],`+`)-s*e=W[k]*F[k];\n \+ end if;\n else\n if w=1 then\n eq := convert([seq(orthopoly['T']\n \+ (2*i,y(crit[k]))*p[i],i=0..m)],`+`)\n \+ - convert([seq(F[k]*(1+s*mu)*orthopoly['T']\n \+ (2*i,y(crit[k]))*q[i],i=1.. n)],`+`)-s*e*F[k]=F[k];\n \+ else\n eq := convert([seq(W[k]*orthopoly['T'] \n (2*i,y(crit[k]))*p[i],i=0..m)],`+` )\n - convert([seq(F[k]*(W[k]+s*mu)*orthopoly['T'] \n (2*i,y(crit[k]))*q[i],i=1..n)],`+`)\n \+ -s*e*F[k]=W[k]*F[k];\n end if;\n \+ end if;\n else # typ=3\n if ertyp=0 the n\n if w=1 then\n eq := convert([ seq(orthopoly['T']\n (2*i+1,y(crit[k] ))*p[i],i=0..m)],`+`)\n - convert([seq((F[k]+s*mu) *orthopoly['T']\n (2*i,y(crit[k]))*q[i],i=1.. n)], `+`)-s*e=F[k];\n else\n eq := con vert([seq(W[k]*orthopoly['T']\n (2*i+ 1,y(crit[k]))*p[i],i=0..m)],`+`)\n - convert([seq( (W[k]*F[k]+s*mu)*orthopoly['T']\n (2*i,y(crit[k])) *q[i],i=1.. n)],`+`)-s*e=W[k]*F[k];\n end if;\n \+ else\n if w=1 then\n eq \+ := convert([seq(orthopoly['T']\n (2*i +1,y(crit[k]))*p[i],i=0..m)],`+`)\n - convert([seq (F[k]*(1+s*mu)*orthopoly['T']\n (2*i,y(crit[k]))*q [i],i=1.. n)],`+`)-s*e*F[k]=F[k];\n else\n \+ eq := convert([seq(W[k]*orthopoly['T']\n \+ (2*i+1,y(crit[k]))*p[i],i=0..m)],`+`)\n \+ - convert([seq(F[k]*(W[k]+s*mu)*orthopoly['T']\n \+ (2*i,y(crit[k]))*q[i],i=1..n)],`+`)\n -s*e*F[k ]=W[k]*F[k];\n end if;\n end if;\n \+ end if;\n eqns := eqns union \{eq\}\n end do ;\n soln := solve(eqns,vars);\n if soln=lasterror or s oln=NULL then\n # perturb citical points and repeat\n \+ if not ptb then ptb := true end if;\n Digits := Digit s+3;\n for i from 2 to mn+2 do\n crit[i] := m ax(crit[i]+eps1,b);\n end do;\n if prntflg>1 the n\n print(`perturbing critical points and trying again`) ;\n print(``);\n end if;\n Digits \+ := Digits-3;\n break;\n else\n ptb := fa lse; \n mu := subs(soln,e);\n end if; \+ \n if n=0 or abs(oldmu-mu)<=eps*abs(oldmu) then break end if; \n oldmu := mu;\n end do;\n if ptb then next end if; \n if not type(map(rhs,soln),set(numeric)) then\n error \+ \"error curve fails to oscillate sufficiently; try different degrees, \+ or increase \\\"Digits\\\"\"\n end if;\n if prntflg>3 then\n print(`solutions:`);\n print(op(soln));\n pri nt(`estimate for minimax error:`);\n print(mu);\n prin t(``);\n end if;\n den := subs(soln,r_denom);\n solnden := [fsolve(den=0,x=a..b)];\n if solnden<>[] then\n error \"provisional rational approximation has a singularity in the interva l %1\",a..b;\n end if;\n r := traperror(unapply(convert(subs (soln,\n rtemplate),'horner',x),x));\n if \+ r=lasterror then error r end if;\n if ertyp=0 then\n if w =1 then\n phi := proc(_t) f(_t)-r(_t) end proc;\n e lse\n phi := proc(_t) w(_t)*(f(_t)-r(_t)) end proc;\n \+ end if;\n else # ertyp=1\n if w=1 then\n ph i := proc(_t) local ft; ft := f(_t);\n (ft-r (_t))/ft;\n end proc;\n else\n \+ phi := proc(_t) local ft; ft := f(_t);\n w(_ t)*(ft-r(_t))/ft;\n end proc;\n end if;\n \+ end if;\n if prntflg>1 then\n if n=0 then \n \+ print(`provisional polynomial approximation:`);\n else\n \+ print(`provisional rational approximation:`);\n end \+ if;\n print(normal(r(x),expanded));\n print(``);\n \+ end if;\n Digits := Digits+3;\n pts := remez_localmax(phi, a,b,eps,2);\n xmax := pts[2];\n errmax := abs(phi(xmax));\n \+ if not type(errmax,numeric) then\n error \"failed to dete rmine maximum error\"\n end if;\n Digits := Digits-3;\n \+ if mu<>0 then test1 := abs(errmax-abs(mu))/abs(mu)\n else break \+ end if;\n if abs(errmax)<=Float(1,-Digits+1) then break end if;\n savever := ver;\n if test1 then\n print(`maximum mag nitude of error:`);\n print(errmax);\n print(`estimate for minimax error:`);\n print(abs(mu));\n print(`diff erence:`);\n print(errmax-abs(mu));\n if mu<>0 then\n \+ print(`relative difference:`);\n print(test1);\n print(`goal for relative difference:`);\n print (level_eps);\n end if;\n print(``);\n end if;\n \+ for i to mn+2 do oldcrit[i] := crit[i] end do;\n criterr := t raperror(remez_critpts\n (phi,a,b,eps,mn+ 2,ver,crit,xmax));\n if criterr=lasterror then\n error \" could not determine critical points\"\n end if;\n ver := sav ever;\n Digits := Digits-3;\n if irem(prntflg,2)=1 and ct<=m xgrph then\n if errmax>Float(1,-38) then\n sc := 1; \n if typ=1 then\n print(`error graph`)\n \+ else\n print(`error graph drawn for the right ha lf of the interval`)\n end if;\n else\n \+ pow := (10*iquo(-ilog10(errmax),10));\n sc := 10^pow;\n \+ print(`error graph scaled by 10 to the power`,pow);\n \+ if typ=2 then\n print(`and drawn for the right half o f the interval`);\n end if;\n end if;\n ord s := seq([[oldcrit[i],0],[oldcrit[i],\n sc*phi(oldcrit[i])]] ,i=1..mn+2),seq([[crit[i],0],\n [crit[i],sc*phi(crit[i])] ],i=1..mn+2); \n delta := abs(b-a)*0.001;\n print(plo t([sc*'phi'(x),ords],x=a..b+delta,\n color=[clr[1],cl r[2]$(mn+2),clr[3]$(mn+2)],\n thickness=[1$(mn+3),2$( mn+2)],\n view=[a..b+delta,-sc*errmax..sc*errmax])); \n end if;\n if prntflg>1 then\n if typ=1 then\n \+ print(`critical points:`);\n else\n print(` critical points in the right half of the interval:`)\n end if; \n print(seq(crit[k],k=1..mn+2));\n print(``);\n \+ end if;\n if test<=level_eps then break end if;\n if convert (oldcrit,set)=convert(crit,set) and ver=1 then\n ver := 2;\n \+ Digits := Digits+3;\n for i to mn+2 do oldcrit[i] := cr it[i] end do;\n criterr := traperror(remez_critpts\n \+ (phi,a,b,eps,mn+2,ver,crit,xmax));\n if cr iterr=lasterror then\n error \"could not determine critical points\"\n end if;\n Digits := Digits-3;\n if prntflg>1 then\n if typ=1 then\n print(`adju sted critical points:`);\n else\n print(`adju sted critical points in the right half of the interval:`)\n \+ end if;\n print(seq(crit[k],k=1..mn+2));\n prin t(``);\n end if;\n end if;\n end do;\n if ct<=maxit t hen maindet := false end if;\n maxerror := errmax;\n minerror := a bs(phi(pts[1]));\n a1 := crit[1];\n b1 := crit[mn+2]; \n if n>0 then\n nx := numer(r(x));\n dx := denom(r(x));\n i f unitcf=1 then\n cf := coeff(dx,x,0)\n else\n cf := coeff(dx,x,n);\n end if;\n nx := nx/cf;\n dx := dx/ cf;\n rx := nx/dx;\n r := unapply(convert(rx,'horner',x),x); \n end if;\n eval(r);\nend proc: # of remez_chebsolve\n\n# Version of Remez algorithm where estimate for\n# minimax error is determined \+ by solving a rational equation\nremez_ratsolve := proc(f,w,a,b,m,n,cri tpts,maxit,var,\n maindet,maxerror,minerror,a1,b1,typ,ertyp,prntfl g,\n clr,mxgrph,unitcf,exctpt,xc)\n local e,level_e ps,eps,test,mn,x,p,q,vars,i,r_numer,r_denom,\n rtemplate,mu,mu1,e rrmax,maxoscill,ver,W,F,S,eqns,s,\n soln,eqn1,eqn2,eqn3,soln1,sol n2,n1,n2,equalsoln,j,\n nsoln,mmu,mmu1,munumber,mmin,N,ch,num,den ,solnden,\n dif,r,xmax,test1,criterr,denOK,e1,e2,rep,crit,oldcrit ,\n ind,d,eps1,soln3,phi,eq,ords,solne,ct,pts,delta,\n savev er,sc,fc,pow;\n global oldDigits;\n\n mn := m+n;\n if exctpt the n mn := mn-1 end if;\n level_eps := evalf(Float(1,-oldDigits)^var); \n eps := Float(1,1-Digits);\n eps1 := evalf((b-a)/(2*mn+2));\n \+ if typ=2 or typ=3 then eps1 := 2*eps1 end if;\n crit := array(1..mn+ 2);\n oldcrit := array(1..mn+2);\n for i to mn+2 do crit[i] := cri tpts[i] end do;\n p := array(0..m);\n q := array(0..n);\n vars : = \{seq(p[i],i=0..m),seq(q[i],i=0..n)\};\n if typ=1 then\n r_nu mer := convert([seq(p[i]*x^i,i=0..m)],`+`);\n elif typ=2 then\n \+ r_numer := convert([seq(p[i]*x^(2*i),i=0..m)],`+`);\n else # typ=3 \n r_numer := convert([seq(p[i]*x^(2*i+1),i=0..m)],`+`);\n end \+ if;\n if unitcf=2 then ind := n else ind := 0 end if;\n vars := va rs minus \{q[ind]\};\n q[ind] := 1;\n if typ=1 then\n r_denom := convert([seq(q[i]*x^i,i=0..n)],`+`);\n else\n r_denom := co nvert([seq(q[i]*x^(2*i),i=0..n)],`+`);\n end if;\n rtemplate := r_ numer/r_denom;\n mu := 0;\n errmax := Float(1,Digits);\n test := Float(1,Digits);\n maxoscill := 1;\n ver := 1;\n # main loop to construct rational function\n # with given critical pts and minimax error approximation\n for ct to maxit do\n if prntflg>1 then\n print(`iteration `||ct);\n print(`------------------- -------------------`);\n end if;\n rep := true;\n for j from 0 to 2 while rep=true do\n rep := false;\n if w< >1 then\n W := seq(w(crit[i]),i=1..mn+2);\n end if; \n F := seq(evalf(f(crit[i])),i=1..mn+2);\n S := seq(s ubs(x=crit[i],rtemplate),i=1..mn+2);\n if exctpt then\n \+ fc := evalf(f(xc));\n sc := subs(x=xc,rtemplate);\n \+ end if;\n if prntflg>3 then\n print(`solving \+ the equations:`);\n print(``);\n end if;\n \+ eqns := \{\};\n if exctpt then\n eq := normal(fc-sc =0,expanded);\n if prntflg>3 then\n print(eq) ;\n print(``);\n end if;\n eqns := eqns union \{eq\}\n end if;\n s := -1;\n for \+ i to mn+1 do\n s := -s; #(-1)^(i+1);\n if ertyp= 0 then\n if w=1 then\n eq := normal(F[i ]-S[i]=s*e,expanded);\n else\n eq := no rmal((F[i]-S[i])*W[i]=s*e,expanded);\n end if;\n \+ else\n if w=1 then\n eq := normal(F [i]-S[i]=s*e*F[i],expanded);\n else\n e q := normal((F[i]-S[i])*W[i]=s*e*F[i],expanded);\n end i f;\n end if;\n if prntflg>3 then\n \+ print(eq);\n print(``);\n end if;\n \+ eqns := eqns union \{eq\}\n end do;\n if prntflg>3 \+ then\n if ertyp=0 then\n if w=1 then\n \+ eq := normal(F[mn+2]-S[mn+2]=\n \+ (-1)^(mn+3)*e,expanded);\n else\n \+ eq := normal((F[mn+2]-S[mn+2])*W[mn+2]=\n \+ (-1)^(mn+3)*e,expanded);\n end if;\n \+ else\n if w=1 then\n eq := normal (F[mn+2]-S[mn+2]=\n (-1)^(mn+3)*e*F[m n+2],expanded);\n else\n eq := normal(( F[mn+2]-S[mn+2])*W[mn+2]=\n (-1)^(mn+3)* e*F[mn+2],expanded);\n end if;\n end if;\n \+ print(eq);\n print(``);\n print(`for th e coefficients in`);\n print(rtemplate);\n print (`and an estimate for the minimax error e`);\n print(``);\n end if;\n # 1st mn+1 equations are linear in terms of e\n soln := solve(eqns,vars);\n # last equation\n \+ if ertyp=0 then\n if w=1 then\n eqn1 := \+ (F[mn+2]-S[mn+2])-(-1)^(mn+3)*e;\n else\n eqn 1 := (F[mn+2]-S[mn+2])*W[mn+2]-(-1)^(mn+3)*e;\n end if;\n \+ else\n if w=1 then\n eqn1 := (F[mn+2]- S[mn+2])-(-1)^(mn+3)*e*F[mn+2];\n else\n eqn1 := (F[mn+2]-S[mn+2])*W[mn+2]-(-1)^(mn+3)*e*F[mn+2];\n end \+ if;\n end if;\n if soln=NULL then\n # pertu rb citical points and repeat\n rep := true;\n Di gits := Digits+3;\n for i from 2 to mn+2 do\n \+ crit[i] := crit[i]+eps1\n end do;\n Digits := D igits-3;\n else\n # sub vals for coeffs to get rati onal equn for e\n eqn1 := normal(subs(soln,eqn1));\n \+ e1 := numer(eqn1); \n if degree(e1,e)<=12 o r j=2 then\n eqn2 := e1 = 0; \n \+ soln1 := traperror(fsolve(eqn2,e)); \n if soln1=las terror or soln1=NULL then\n # perturb citical points \+ and repeat\n rep := true;\n Digits : = Digits+3;\n for i from 2 to mn+2 do\n \+ crit[i] := max(crit[i]+eps1,b);\n end do;\n \+ Digits := Digits-3;\n else\n \+ soln1 := \{soln1\};\n n1 := nops(soln1);\n \+ end if;\n if n<>0 and not rep then \+ \n eqn3 := denom(eqn1) = 0;\n so ln2 := traperror(fsolve(eqn3,e));\n if soln2=lasterro r or soln2=NULL then\n # perturb citical points an d repeat\n rep := true;\n Digi ts := Digits+3;\n for i from 2 to mn+2 do\n \+ crit[i] := max(crit[i]+eps1,b);\n \+ end do;\n Digits := Digits-3;\n \+ else\n soln2 := \{soln2\};\n n 2 := nops(soln2);\n end if;\n end if;\n else\n # truncate polynomial\n \+ e1 := series(eqn1,e,14+6*j);\n e1 := convert(e1,polynom );\n eqn2 := e1 = 0;\n soln1 := traperror( fsolve(eqn2,e));\n if soln1=lasterror or soln1=NULL\n \+ or member(0.,\{soln1\}) then\n # perturb citical points and repeat\n rep := true;\n \+ Digits := Digits+3;\n for i from 2 to mn+2 do \n crit[i] := max(crit[i]+eps1,b);\n \+ end do;\n Digits := Digits-3\n else \n soln1 := \{soln1\};\n n1 := nops( soln1)\n end if\n end if\n end if;\n \+ if rep=true and prntflg>1 then\n print(`perturbing \+ critical points and trying again`);\n print(``);\n \+ end if;\n end do;\n if rep=true then break end if;\n eq ualsoln := \{\};\n if n<>0 then\n if degree(e1,e)<=12 the n\n for i to n1 do\n for j to n2 do\n \+ if eps3 then\n print(`candidates for e; \+ the estimate for the minimax error`);\n print(soln1);\n \+ print(``);\n end if;\n if soln1 = [] then\n # pert urb citical points and repeat\n rep := true;\n Digits \+ := Digits+3;\n for i from 2 to mn+2 do\n crit[i] := max(crit[i]+eps1,b);\n end do;\n Digits := Digits-3; \n if prntflg>1 then\n print(`perturbing critical p oints and trying again`);\n print(``);\n end if;\n \+ break;\n end if;\n nsoln := nops(soln1);\n mmu \+ := array(1..nsoln);\n munumber := array(1..nsoln);\n Digits \+ := Digits+3;\n if nsoln<>1 then\n # sort soln1 in order o f magnitude\n mmu1 := array(1..nsoln);\n for i to nsol n do\n mmu[i] := abs(soln1[i]);\n mmu1[i] := sol n1[i];\n munumber[i] := i\n end do;\n for i to nsoln-1 do\n mmin := mmu[i];\n N := i;\n \+ for j from i to nsoln do\n if mmu[j] <= mmin the n\n mmin := mmu[j];\n N := j;\n \+ end if\n end do;\n ch := mmu[i];\n \+ num := munumber[i];\n mmu[i] := mmu[N];\n \+ munumber[i] := munumber[N];\n mmu[N] := ch;\n \+ munumber[N] := num\n end do;\n denOK := false;\n \+ i := 1;\n while i<= nsoln do \n N := munumber[i] ;\n solne := traperror(subs(e=mmu1[N],soln));\n \+ if solne=lasterror then error solne end if;\n den := subs(s olne,r_denom);\n solnden := [fsolve(den=0,x=a..b)];\n \+ if solnden=[] then\n denOK := true;\n \+ break;\n end if;\n i := i+1;\n end do; \n if not denOK and i=nsoln+1 then\n print(`trying another candidate for the minimax error estimate`);\n # tr y another estimate for the minimax error\n # find solution \+ closest to previous value of mu\n N := munumber[1];\n \+ dif := abs(mmu[1]-abs(mu));\n for j from 2 to nsoln d o\n if abs(mmu[j]-abs(mu))[] then\n \+ error \"all tentative rational approximations have a singular ity in the interval %1\",a..b;\n end if;\n end if; \n mu := mmu1[N];\n mu1 := soln1[N]\n else # just one solution for e\n mmu1 := soln1[1];\n solne := tra perror(subs(e=mmu1,soln));\n if solne=lasterror then error sol ne end if;\n den := subs(solne,r_denom);\n solnden := \+ [fsolve(den=0,x=a..b)];\n if solnden<>[] then\n err or \"provisional rational approximation has a singularity in the inter val %1\",a..b;\n end if;\n mu := mmu1;\n mu1 : = soln1[1]\n end if; \n soln3 := subs(e=mu,soln); \n if prntflg>3 then\n print(`solutions:`);\n pri nt(soln3);\n end if;\n if not type(map(rhs,soln3),set(numeri c)) then\n error \"error curve fails to oscillate sufficiently ; try different degrees, or increase \\\"Digits\\\"\"\n end if;\n r := traperror(unapply(convert(subs(soln3,\n \+ rtemplate),'horner',x),x));\n if r=lasterror then error r end if;\n if ertyp=0 then\n if w=1 then\n phi := \+ proc(_t) f(_t)-r(_t) end proc;\n else\n phi := proc (_t) w(_t)*(f(_t)-r(_t)) end proc;\n end if;\n else # ert yp=1\n if w=1 then\n phi := proc(_t) local ft; ft : = f(_t);\n (ft-r(_t))/ft;\n \+ end proc;\n else\n phi := proc(_t) local ft; ft := f(_t);\n w(_t)*(ft-r(_t))/ft;\n \+ end proc;\n end if;\n end if;\n if prntf lg>1 then\n if n=0 then \n print(`provisional polyn omial approximation:`);\n else\n print(`provisional rational approximation:`);\n end if;\n print(normal(r (x),expanded));\n print(``);\n end if;\n pts := reme z_localmax(phi,a,b,eps,2);\n xmax := pts[2];\n errmax := abs (phi(xmax));\n if not type(errmax,numeric) then\n error \+ \"failed to determine maximum error\"\n end if;\n Digits := \+ Digits-3;\n mu := mu1; \n test1 := abs(errmax-abs(mu))/ abs(mu);\n if abs(errmax)<=Float(1,-Digits+1) then break end if; \n savever := ver;\n if test1 then\n print(`maximum m agnitude of error:`);\n print(errmax);\n print(`estima te for minimax error:`);\n print(abs(mu));\n print(`di fference:`);\n print(errmax-abs(mu));\n if mu<>0 then \n print(`relative difference:`);\n print(test1) ;\n print(`goal for relative difference:`);\n pr int(level_eps);\n end if;\n print(``);\n end if; \n Digits := Digits+3;\n for i to mn+2 do oldcrit[i] := crit [i] end do;\n criterr := traperror(remez_critpts\n \+ (phi,a,b,eps,mn+2,ver,crit,xmax));\n if criterr=la sterror then\n error \"could not determine critical points\"\n end if;\n Digits := Digits-3;\n ver := savever;\n \+ if irem(prntflg,2)=1 and ct<=mxgrph then\n if errmax>Float(1, -38) then\n sc := 1;\n if typ=1 then\n \+ print(`error graph`)\n else\n print(`err or graph drawn for the right half of the interval`)\n end i f;\n else\n pow := (10*iquo(-ilog10(errmax),10));\n sc := 10^pow;\n print(`error graph scaled by 10 to the power`,pow);\n if typ=2 then\n print( `and drawn for the right half of the interval`);\n end if; \n end if;\n ords := seq([[oldcrit[i],0],[oldcrit[i], \n sc*phi(oldcrit[i])]],i=1..mn+2),seq([[crit[i],0],\n \+ [crit[i],sc*phi(crit[i])]],i=1..mn+2);\n delta := abs( b-a)*0.001;\n print(plot([sc*'phi'(x),ords],x=a..b+delta,\n \+ color=[clr[1],clr[2]$(mn+2),clr[3]$(mn+2)],\n \+ thickness=[1$(mn+3),2$(mn+2)],\n view=[a..b+d elta,-sc*errmax..sc*errmax]));\n end if;\n if prntflg>1 then \n if typ=1 then\n print(`critical points:`);\n \+ else\n print(`critical points in the right half of the interval:`)\n end if;\n print(seq(crit[k],k=1..mn+2)) ;\n print(``);\n end if;\n if test<=level_eps then b reak end if;\n if convert(oldcrit,set)=convert(crit,set) and ver= 1 then\n ver := 2;\n Digits := Digits+3;\n for i to mn+2 do oldcrit[i] := crit[i] end do;\n criterr := trape rror(remez_critpts\n (phi,a,b,eps,mn+2,ve r,crit,xmax));\n if criterr=lasterror then\n error \+ \"could not determine critical points\"\n end if;\n Di gits := Digits-3;\n if prntflg>1 then\n if typ=1 th en\n print(`adjusted critical points:`);\n el se\n print(`adjusted critical points in the right half o f the interval:`)\n end if;\n print(seq(crit[k], k=1..mn+2));\n print(``);\n end if;\n end if; \n end do;\n if rep=true then\n error \"failed to determine m inimax error estimate\"\n end if;\n if ct<=maxit then maindet := f alse end if;\n maxerror := errmax;\n minerror := abs(phi(pts[1])); \n a1 := crit[1];\n b1 := crit[mn+2];\n eval(r)\nend proc: # of \+ remez_ratsolve" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "Examples are given in the next section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 0 5 "remez" }{TEXT -1 10 ": examples " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{PARA 0 "" 0 "" {TEXT -1 44 "We construc t a polynomial approximation for " }{XPPEDIT 18 0 "exp(x)" "6#-%$expG6 #%\"xG" }{TEXT -1 45 " with minimax absolute error on the interval " } {XPPEDIT 18 0 "[0,1]" "6#7$\"\"!\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "remez(e xp(x),x=0..1,2,'maxerr','minerr');\nmaxerr;\nminerr;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,($\"+Agv35!\"*\"\"\"*&$\"+MdUZ&)!#5F'%\"xGF'F'*&$\" +3@Fg%)F+F')F,\"\"#F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+:@-c()! #7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+9@-c()!#7" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "A starting approximatio n may be given." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 45 "remez(exp(x),x=0..1,start=1+0.85*x+0.85*x^2); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,($\"+Agv35!\"*\"\"\"*&$\"+MdUZ&)! #5F'%\"xGF'F'*&$\"+3@Fg%)F+F')F,\"\"#F'F'" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 79 "Alternatively, estimates for th e locations of the critical points may be given." }}{PARA 0 "" 0 "" {TEXT 260 4 "Note" }{TEXT -1 73 ": The end points of the interval will be added if they are not included. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "remez(exp(x),x=0..1,2,'max err',critpts=[1/3,2/3]);\nmaxerr;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#, ($\"+Agv35!\"*\"\"\"*&$\"+MdUZ&)!#5F'%\"xGF'F'*&$\"+3@Fg%)F+F')F,\"\"# F'F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+:@-c()!#7" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 119 "An approximation wi th minimax relative error can be constructed for a function which is n on-zero in the given interval." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 "remez(exp(x),x=0..1,4,errty pe=relative):\np := unapply(%,x);\nplot((exp(x)-p(x))/exp(x),x=0..1,\n color=COLOR(RGB,.4,0,.9),thickness=1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"pGf*6#%\"xG6\"6$%)operatorG%&arrowGF(,,$\"+Nh,+5!\" *\"\"\"*&$\"+0\\o!***!#5F09$F0F0*&$\"+%4*>\"3&F4F0)F5\"\"#F0F0*&$\"+9% *[I9F4F0)F5\"\"$F0F0*&$\"+[\"\\%)z'!#6F0)F5\"\"%F0F0F(F(F(" }}{PARA 13 "" 1 "" {GLPLOT2D 403 148 148 {PLOTDATA 2 "6'-%'CURVESG6#7hr7$$\"\" !F)$!38s$3+++Nh\"!#A7$$\"3ALL$3FWYs#!#?$!3k+`i<7'>O\"F,7$$\"3WmmmT&)G \\aF0$!3)=0o9p'[B6F,7$$\"3m****\\7G$R<)F0$!3'G,yN+ip(*)!#B7$$\"3ILLL3x &)*3\"!#>$!31*o[m9l@%oF=7$$\"3gmmTN@Ki8FA$!3\\k#4'=J\"o#[F=7$$\"3$**** *\\ilyM;FA$!3RI.&o#4JFHF=7$$\"3DLLe*)4D2>FA$!3?[[Z#)48S6F=7$$\"3emmm;a rz@FA$\"3s\\vPRs(=Q&!#C7$$\"3IL$e*)4bQl#FA$\"3EMt?opG4KF=7$$\"3.++D\"y %*z7$FA$\"33PH\\/**RybF=7$$\"3vm;ajW8-OFA$\"3#>@og*)oBm(F=7$$\"3[LL$e9 ui2%FA$\"3a$H!y)*fYx%*F=7$$\"33++voMrU^FA$\"3+)H`R1(zl7F,7$$\"3nmmm\"z _\"4iFA$\"3G$faFvoDZ\"F,7$$\"3%fmm\"zp!fu'FA$\"3@nT#pR-&R:F,7$$\"3emmm m6m#G(FA$\"3o#)f$pSoSe\"F,7$$\"3gnmTg#Q5b(FA$\"3Gc6oGN_)f\"F,7$$\"3Anm ;a`T>yFA$\"3Y,))3R!\\!3;F,7$$\"3'om;zW#z(3)FA$\"35y:vLd&Gh\"F,7$$\"3[m mmT&phN)FA$\"3yP\\nL(\\Jh\"F,7$$\"3e+v$f3rKi)FA$\"34KxVD:;4;F,7$$\"3IL $3-js.*))FA$\"3#)4Su\">(4,;F,7$$\"3+m\"zW/x\" F[t$\"3<0ZEL)3[6)FX7$$\"3w***\\i5`h(=F[t$!3lf:$>4t@^\"F=7$$\"3gm;HdG\" \\)>F[t$!38'[@j7vY\"QF=7$$\"3WLLL3En$4#F[t$!3I%\\5NJ=$*)fF=7$$\"33++Dc #o%*=#F[t$!37CLI`QXsxF=7$$\"3qmm;/RE&G#F[t$!3qArZFs*>T*F=7$$\"3CLLe9r5 $R#F[t$!3THiJ(p(o16F,7$$\"3\")*****\\K]4]#F[t$!39g$z9F;.D\"F,7$$\"3$** ****\\PAvr#F[t$!3OF.i?'z!o9F,7$$\"3n*****\\-w=#GF[t$!3pY11jD5Q:F,7$$\" 3)******\\nHi#HF[t$!3oSXtm^?&e\"F,7$$\"3Am\"H2B6O(HF[t$!3Q#Q.3'>2*f\"F ,7$$\"3-L$eky#*4-$F[t$!3,-7e%4!H3;F,7$$\"3#)*\\(=UVPoIF[t$!3R=?s8v!Hh \"F,7$$\"3jmm\"z*ev:JF[t$!3XL\">&o@)Hh\"F,7$$\"3SL3_]r4sJF[t$!3wXzozBD 2;F,7$$\"3>+]7.%Q%GKF[t$!3?*\\@IBD`f\"F,7$$\"3Um\"HdlzZG$F[t$!333Mh#yZ td\"F,7$$\"3?LLL347TLF[t$!3o26OJI[`:F,7$$\"3QLL$3xxlV$F[t$!3')y>'\\d>, ]\"F,7$$\"3,LLLLY.KNF[t$!3,XCrRtKJ9F,7$$\"3w***\\7o7Tv$F[t$!3cxT=L#Gw@ \"F,7$$\"3'GLLLQ*o]RF[t$!3mF9-!>Nkv*F=7$$\"3Em;H#GF&eSF[t$!3)psz$F=7$$\"3%***\\(=7O*))[ F[t$\"3-QmgX/)F=7$$\"3&em;zRQb@&F[t$\"3*oQEQms#G&*F=7$$\"3\\***\\(= >Y2aF[t$\"3U(zKE_TH=\"F,7$$\"39mm;zXu9cF[t$\"35u_)HC;GQ\"F,7$$\"3l**** **\\y))GeF[t$\"34I)>%3*4x_\"F,7$$\"3I***\\ibOO$fF[t$\"3S$GYo&)\\Od\"F, 7$$\"3'*)***\\i_QQgF[t$\"3.-&\\jgmBg\"F,7$$\"3-*\\(=U,1*3'F[t$\"3E+\\H VA%*4;F,7$$\"34**\\(=-N(RhF[t$\"3&o)\\O3lM8;F,7$$\"39*\\i:!*4/>'F[t$\" 3I&*)p9&=b7;F,7$$\"3@***\\7y%3TiF[t$\"3j2T*)\\&Rvg\"F,7$$\"3;**\\P4kh` jF[t$\"3)p3^_S\"H\"e\"F,7$$\"35****\\P![hY'F[t$\"3bBB\")*)\\EM:F,7$$\" 3)em;/risc'F[t$\"3))=mQ(Q7XZ\"F,7$$\"3kKLL$Qx$omF[t$\"3#*)zCC#>[F=7$$\"3Am;zpe()= !)F[t$!3t^_xxVEKnF=7$$\"3a***\\7`Wl7)F[t$!3u6vRgcOp&)F=7$$\"3nK$e*[ACI #)F[t$!3J_o/gbYB5F,7$$\"3#pmmm'*RRL)F[t$!3_\"[EqWqk<\"F,7$$\"3lmmTge)* R%)F[t$!3M!o!p&o_`J\"F,7$$\"3Qmm;a<.Y&)F[t$!31z))G./fK9F,7$$\"3M+]PM&* >^')F[t$!324gbf2YB:F,7$$\"3=LLe9tOc()F[t$!3gp@IF,'[e\"F,7$$\"3\")*\\P% [ko/))F[t$!3@g\"F,7$$\"3Ym;H#e0I&))F[t$!3cZ;k(3m:h\"F,7$$\"3y \\(=#\\^;x))F[t$!3MFQ7R9P8;F,7$$\"34Le9;ZK,*)F[t$!3U5rLjn68;F,7$$\"3U; H2$G%[D*)F[t$!3/_`)\\RX2h\"F,7$$\"3u******\\Qk\\*)F[t$!3@D*z%o,?1;F,7$ $\"31nmT5ASg!*F[t$!3qThP8I!fb\"F,7$$\"3CLL$3dg6<*F[t$!3%Rb><*))*HX\"F, 7$$\"3y***\\(oTAq#*F[t$!3Y)\\G^Qp:J\"F,7$$\"3ImmmmxGp$*F[t$!3\"QP%4!zj *=6F,7$$\"31+DJ&**)4A%*F[t$!3_)R?*\\iAQ**F=7$$\"3sK$eRA5\\Z*F[t$!3.*o) Rn;h@&)F=7$$\"3[mTg_9sF&*F[t$!3.O@g0\"3F$pF=7$$\"3A++D\"oK0e*F[t$!3'3) =zYUKk^F=7$$\"3B+]il(z5j*F[t$!33\">pgiD\"F=7$$\"3B+]PMRdNFi=#=iF=7$$\"35+]P40O\"*)* F[t$\"3!4[Y/u_eF*F=7$$\"3k]7.#Q?&=**F[t$\"3O`Z)yC3'*3\"F,7$$\"31+voa-o X**F[t$\"3q#Hs6hpyD\"F,7$$\"3[\\PMF,%G(**F[t$\"3gHO3r$yCV\"F,7$$\"\"\" F)$\"3`a(['4Ua8;F,-%&COLORG6&%$RGBG$\"\"%!\"\"F)$\"\"*Fjbm-%+AXESLABEL SG6$Q\"x6\"Q!6\"-%*THICKNESSG6#Fabm-%%VIEWG6$;F(F`bm%(DEFAULTG" 1 2 0 1 10 1 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 110 "A rational approximation with \+ specified (maximum) degree for the numerator and denominator can be co nstructed." }}{PARA 0 "" 0 "" {TEXT -1 41 "The third argument should b e in the form " }{TEXT 276 5 "[m,n]" }{TEXT -1 50 " to obtain an appro ximation with (maximum) degree " }{TEXT 276 1 "m" }{TEXT -1 41 " for t he numerator, and (maximum) degree " }{TEXT 276 1 "n" }{TEXT -1 21 " f or the denominator." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 131 "remez(exp(x),x=0..1,[2,2],errtype=relative ):\np := unapply(%,x);\nplot((exp(x)-p(x))/exp(x),x=0..1,\n colo r=COLOR(RGB,.4,0,.9));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"pGf*6#% \"xG6\"6$%)operatorG%&arrowGF(*&,($\"+8F++5!\"*\"\"\"*&$\"+!>%f6a!#5F1 9$F1F1*&$\"+!R\"fv5F5F1)F6\"\"#F1F1F1,($F1\"\"!F1*&$\"+0h0(e%F5F1F6F1! \"\"*&$\"+a:zBl!#6F1F:F1F1FBF(F(F(" }}{PARA 13 "" 1 "" {GLPLOT2D 400 131 131 {PLOTDATA 2 "6&-%'CURVESG6#7gr7$$\"\"!F)$!3%4`()******Hr#!#B7$ $\"3ALL$3FWYs#!#?$!35n6qD!e$\\BF,7$$\"3WmmmT&)G\\aF0$!3evL&*[nn,?F,7$$ \"3m****\\7G$R<)F0$!39NJjYLep;F,7$$\"3ILLL3x&)*3\"!#>$!3ea\\j#))4FN\"F ,7$$\"3gmmTN@Ki8F@$!3e*3#yyKp]5F,7$$\"3$*****\\ilyM;F@$!3r$Q*G)y_F@$!3EOEa+U-)*[FM7$$\"3emmm;arz@F@$!3Y+4P,+E-BFM7$$\" 3IL$e*)4bQl#F@$\"3=K+E#z@h*=FM7$$\"3.++D\"y%*z7$F@$\"3xwd[>B*[q&FM7$$ \"3vm;ajW8-OF@$\"3$oFFw3999*FM7$$\"3[LL$e9ui2%F@$\"3uQO=*)GEA7F,7$$\"3 xm;H2Q\\4YF@$\"32[d\\')\\QG:F,7$$\"33++voMrU^F@$\"3m+IyRw%Rz\"F,7$$\"3 QL$3-8Lfn&F@$\"3!f>Jbbu6-#F,7$$\"3nmmm\"z_\"4iF@$\"3UO42/bA7AF,7$$\"3e mmmm6m#G(F@$\"3a4?\">5ub\\#F,7$$\"3[mmmT&phN)F@$\"3/2wE'zyql#F,7$$\"3e +v$f3rKi)F@$\"37DBDvK9!o#F,7$$\"3IL$3-js.*))F@$\"3#*px@;t%op#F,7$$\"3+ m\"zW#F,7$$\"3%)***\\7LRDX\"Fes$\"3' o:CeF#)e$>F,7$$\"3/LLekGhe:Fes$\"3c9J?#fmQj\"F,7$$\"3]mm\"zR'ok;Fes$\" 38(zoFd)p08F,7$$\"39LL3_(>/x\"Fes$\"3^PEk-YF3'*FM7$$\"3w***\\i5`h(=Fes $\"3#p+rj:vw0'FM7$$\"3gm;HdG\"\\)>Fes$\"3ucQ(om\">rBFM7$$\"3WLLL3En$4# Fes$!3aUngu3\\$G\"FM7$$\"33++Dc#o%*=#Fes$!3N#GpM5I#GWFM7$$\"3qmm;/RE&G #Fes$!3'H0=$[2\"\\Y(FM7$$\"3CLLe9r5$R#Fes$!3w!>N.;f82\"F,7$$\"3\")**** *\\K]4]#Fes$!3%GK2#eaJu8F,7$$\"3()******\\jB4EFes$!3g!p-;;ZHl\"F,7$$\" 3$******\\PAvr#Fes$!3ZaXo=\\*H!>F,7$$\"3)******\\nHi#HFes$!3YXHX4yz&H# F,7$$\"3jmm\"z*ev:JFes$!3Pd!*Gl&))Ga#F,7$$\"3>+]7.%Q%GKFes$!3DW4v/nFQE F,7$$\"3?LLL347TLFes$!3%*=uPW\"p[p#F,7$$\"3+LLeR$\\))Q$Fes$!3v77ye!)=2 FF,7$$\"3QLL$3xxlV$Fes$!3V4D@a*GEr#F,7$$\"3?LL3-iI%[$Fes$!3Dc^h['[7r#F ,7$$\"3,LLLLY.KNFes$!3xoQ_ns6.FF,7$$\"3mm;HdO2VOFes$!3gD0]jHceEF,7$$\" 3w***\\7o7Tv$Fes$!3#eW8mrV#zDF,7$$\"3Im;HK5S_QFes$!3]J#)[!>M8[#F,7$$\" 3'GLLLQ*o]RFes$!3a]onlY!)eBF,7$$\"3A++D\"=lj;%Fes$!36QVxp_I6?F,7$$\"31 ++vV&R#o&>`*3\"F,7$$ \"3mL$3F9Y2aFes$\"3_>h\"G)p%G2 \"F,7$$\"39mm;zXu9cFes$\"3k]YT#o9Pc\"F,7$$\"3l******\\y))GeFes$\"3>S9P yF1-?F,7$$\"3'*)***\\i_QQgFes$\"3T;e@ulCVBF,7$$\"34**\\(=-N(RhFes$\"3m !\\EU2N>Z#F,7$$\"3@***\\7y%3TiFes$\"31f]%4GpXd#F,7$$\"3;**\\P4kh`jFes$ \"3'QxUJy4il#F,7$$\"35****\\P![hY'Fes$\"3'Q')\\Rm!>-FF,7$$\"3\\K$eRP0n ^'Fes$\"3T(z`CRj3r#F,7$$\"3)em;/risc'Fes$\"3bDJv3%f>r#F,7$$\"3D**\\(o/ ?yh'Fes$\"3t,\\alhR0FF,7$$\"3kKLL$Qx$omFes$\"31c\\[5z5\"p#F,7$$\"3mlm; z)Qjx'Fes$\"3V4=))y^`MEF,7$$\"3!)*****\\P+V)oFes$\"3Id4)eLYBa#F,7$$\"3 ?mm\"zpe*zqFes$\"3QpM.:qW&G#F,7$$\"3%)*****\\#\\'QH(Fes$\"3'\\=1k)yjx= F,7$$\"3im;zp%*\\%R(Fes$\"3@G09#=7Lk\"F,7$$\"3GKLe9S8&\\(Fes$\"3qVpo'H uVQ\"F,7$$\"3RmmT5hK+wFes$\"397sl<#*)**3\"F,7$$\"3R***\\i?=bq(Fes$\"33 N<2'*pNXxFM7$$\"3:m;H2FO3yFes$\"3iv^j?F\\$\\%FM7$$\"3\"HLL$3s?6zFes$\" 3#>&\\T\"=Ni6\"FM7$$\"3Am;zpe()=!)Fes$!3&G1ES>xU]#FM7$$\"3a***\\7`Wl7) Fes$!3Cfd9.Uz`hFM7$$\"3nK$e*[ACI#)Fes$!3+)G$pFy5N'*FM7$$\"3#pmmm'*RRL) Fes$!3]uyc74!=I\"F,7$$\"3lmmTge)*R%)Fes$!3^!>'=G/Ig^K>F,7$$\"3M+]PM&*>^')Fes$!3iWhZm$\\x>#F,7$$\"3=LLe9tOc( )Fes$!3Yu*4=DD*=CF,7$$\"3Ym;H#e0I&))Fes$!3eD#\\wfpWd#F,7$$\"3u******\\ Qk\\*)Fes$!3c)pJV,!\\vEF,7$$\"37nT5SMLx*)Fes$!3#GZw%f+6$p#F,7$$\"3RL$3 -.B]+*Fes$!36y#)G<$y_q#F,7$$\"3m*\\7.i7F.*Fes$!3,B;!oql1RBr#F,7$$\"3KL3_+=4)3*Fes$!3EM\"**=5hnq#F,7$$\"3f** \\i!R\"y:\"*Fes$!3Y,wx(R!z%p#F,7$$\"3)p;H2)4ZV\"*Fes$!3cJ\\!3M\"=wEF,7 $$\"3CLL$3dg6<*Fes$!3K^`35To]EF,7$$\"3y***\\(oTAq#*Fes$!3S5BwR%\\\"*\\ #F,7$$\"3ImmmmxGp$*Fes$!3Kc,9Ym0WAF,7$$\"31+DJ&**)4A%*Fes$!3iR!z0(pNh? F,7$$\"3sK$eRA5\\Z*Fes$!3EY$QrWtN%=F,7$$\"3[mTg_9sF&*Fes$!3[T#)Q=+i)e \"F,7$$\"3A++D\"oK0e*Fes$!37ER7!H\\VH\"F,7$$\"3B+]il(z5j*Fes$!3EZd[KNI Q(*FM7$$\"3C+++]oi\"o*Fes$!30%>D`()yF8'FM7$$\"3B+]PMR;O#FM7$$\"3v]iS\"*3))4)*Fes$\"3gw? %>QoB&\\FM7$$\"3;+D1k2/P)*Fes$\"3#p>MpL\"G!o(FM7$$\"3e\\(=nj+U')*Fes$ \"3EX,['H\")[0\"F,7$$\"35+]P40O\"*)*Fes$\"3/ve[([YhN\"F,7$$\"3k]7.#Q?& =**Fes$\"3-;[f*fy@n\"F,7$$\"31+voa-oX**Fes$\"3Hd&*R&GPL+#F,7$$\"3[\\PM F,%G(**Fes$\"3a1qO\"*p)*\\BF,7$$\"\"\"F)$\"3=%f[o)p\\7FF,-%+AXESLABELS G6$Q\"x6\"Q!Fbbm-%&COLORG6&%$RGBG$\"\"%!\"\"F)$\"\"*Fjbm-%%VIEWG6$;F(F jam%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example \+ 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 11 "When using " }{TEXT 0 5 "remez" }{TEXT -1 39 " to constru ct a rational approximation " }{XPPEDIT 18 0 "r(x)=p(x)/q(x)" "6#/-%\" rG6#%\"xG*&-%\"pG6#F'\"\"\"-%\"qG6#F'!\"\"" }{TEXT -1 16 " for a funct ion " }{XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 16 " on an int erval " }{XPPEDIT 18 0 "[a,b]" "6#7$%\"aG%\"bG" }{TEXT -1 2 ", " } {TEXT 260 16 "three variations" }{TEXT -1 37 " on the Remez algorithm \+ can be tried." }}{PARA 0 "" 0 "" {TEXT -1 90 "At each stage in applyin g the Remez algorithm, approximate values for the coefficients in " } {XPPEDIT 18 0 "r(x)" "6#-%\"rG6#%\"xG" }{TEXT -1 60 " are obtained alo ng with the estimate for the minimax error " }{XPPEDIT 18 0 "mu" "6#%# muG" }{TEXT -1 49 "\004 by solving the non-linear system of equations: " }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "r(x[k])-f(x[k]) \+ = (-1)^(k-1)*mu, k=1,2,` . . . `,m+n+1" "6'/,&-%\"rG6#&%\"xG6#%\"kG\" \"\"-%\"fG6#&F)6#F+!\"\"*&),$F,F2,&F+F,F,F2F,%#muGF,/F+F,\"\"#%(~.~.~. ~G,(%\"mGF,%\"nGF,F,F," }{TEXT -1 4 ", " }}{PARA 0 "" 0 "" {TEXT -1 6 "where " }{XPPEDIT 18 0 "a=x[1]" "6#/%\"aG&%\"xG6#\"\"\"" }{XPPEDIT 18 0 "`` " 0 "" {MPLTEXT 1 0 112 "st := time():\nevalf(remez( exp(x),x=0..1,[1,2],'maxerr','minerr',method=ratsolve),20);\ntime()-st ;\nmaxerr;\nminerr;" }{TEXT -1 0 "" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# *&,&$\"5j)=%Qo(\\F#)***!#?\"\"\"*&$\"5DmvgF'F(F,F(!\"\"*&$\"5pJ#eT/H;v<\"F'F()F,\"\"#F(F(F 3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&xF\"!\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5Wt8\"ehJ-Dx\"!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #$\"5Qt8\"ehJ-Dx\"!#B" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 113 "st := time():\nevalf(remez(exp(x), x=0..1,[1,2],'maxerr','minerr',method=itersolve),20);\ntime()-st;\nmax err;\nminerr;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"5j)=%Qo(\\F#)* **!#?\"\"\"*&$\"5Dmv gF'F(F,F(!\"\"*&$\"5pJ#eT/H;v<\"F'F()F,\"\"#F(F(F3" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"&5$>!\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5Wt 8\"ehJ-Dx\"!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5Qt8\"ehJ-Dx\"!#B " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 113 "st := time():\nevalf(remez(exp(x),x=0..1,[1,2],'maxe rr','minerr',method=chebsolve),20);\ntime()-st;\nmaxerr;\nminerr;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"5j)=%Qo(\\F#)***!#?\"\"\"*&$\"5 DmvgF'F(F,F(!\"\"*&$ \"5pJ#eT/H;v<\"F'F()F,\"\"#F(F(F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$ \"&um\"!\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5Wt8\"ehJ-Dx\"!#B" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5Rt8\"ehJ-Dx\"!#B" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 3" }}{PARA 0 "" 0 "" {TEXT -1 62 "Various levels of information can be provided via the opt ion \"" }{TEXT 276 27 "info=true/false/0/1/2/3/4/5" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 42 "We construct a rational approximation f or " }{XPPEDIT 18 0 "f(x)=ln(1+x)/x" "6#/-%\"fG6#%\"xG*&-%#lnG6#,&\"\" \"F-F'F-F-F'!\"\"" }{TEXT -1 17 " on the interval " }{XPPEDIT 18 0 "[0 ,1]" "6#7$\"\"!\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 113 "f := x -> ln(1+x)/x;\nr emez(ln(x+1)/x,x=0..1,[2,2],errtype=relative,info=true);\nr := unapply (convert(%,horner),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#% \"xG6\"6$%)operatorG%&arrowGF(*&-%#lnG6#,&\"\"\"F19$F1F1F2!\"\"F(F(F( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%]pRemez~algorithm:~calculating~mi nimax~error~estimate~by~solving~a~rational~equationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%D--~minimising~the~RELATIVE~error~--G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Wstandar d~Chebyshev~points~for~initial~critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"/ED\"G]\"\\&*!#:$\"0GD\"G]\"\\X$F'$\"0su=(\\ 3XlF'$\"0uu=(\\3X!*F'$\"0+++++++\"!#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~1G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%G--------------------------------------G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3#=_U\\l&******!#=\"\"\"*&$ \"3>0))oIaNafF'F(%\"xGF(F(*&$\"3!yK+s)Gx4>!#>F()F,\"\"#F(F(F(,($F(\"\" !F(*&$\"3qIA^$3+a4\"!#KFPU$R !#:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference: G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~gra phG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVES G6%7]r7$$\"\"!F)$\"0+++[d]M%!#@7$$\"0=/^\"*ots#!#<$\"0sI)p\"fFS$F,7$$ \"0N3-$ytaaF0$\"0O9cbEE_#F,7$$\"0`7`u1@=)F0$\"0qCPG%>-F@$!0$ym/N!3%F@$!0_^y#[O:iF@$!0Rf$F C7$$\"0#zWx9sFfr$\"0X]#3p\"eu$F,7$$\"0nT4Gmd4#Ffr$\"0]rnD2vO%F,7$$\"0E1Xsd;>#Ff r$\"0=(G.\"F,7$$\"0EJkaJ 0<%Ffr$\"0cW$R#>Ly&FC7$$\"0^i[T@LF%Ffr$!0jYO*3nZ`!#C7$$\"0w$H$G6hP%Ffr $!0e'R%y+n\"eFC7$$\"0YOwshL[%Ffr$!0H+_PP#p6F,7$$\"0<71f%Ffr$!0U\\L2 \\pt\"F,7$$\"0/^)f:5*o%Ffr$!0H'4M*pgB#F,7$$\"0#HsZ4f(y%Ffr$!0*\\XQa#)4 FF,7$$\"0%3Fo\"f++&Ffr$!0;sw!QaGOF,7$$\"0f9j$Rv?_Ffr$!0(z@*GQgS%F,7$$ \"0wo1QpGT&Ffr$!0w7w)4s9\\F,7$$\"0I2AN9m^&Ffr$!0MeP)z?>^F,7$$\"0%euB$f .i&Ffr$!0L$)yzxCF&F,7$$\"0)=Fx'[Rn&Ffr$!00#R$)RBJ`F,7$$\"0#zzI!Qvs&Ffr $!0,nbWYfP&F,7$$\"0'RK%QF6y&Ffr$!0I/;E[lS&F,7$$\"0,]yt;Z$eFfr$!0%pzWH+ BaF,7$$\"08G`YVr)eFfr$!0TEq(RSDaF,7$$\"0E1G>q&RfFfr$!0R+,E!G9aF,7$$\"0 R%G?p*>*fFfr$!0q!R76o*Q&F,7$$\"0^ixkBW/'Ffr$!0X3%HGo^`F,7$$\"0*o*ovue9 'Ffr$!0)f2&)*40C&F,7$$\"0EJg'eKZiFfr$!0!>Wi9h!3&F,7$$\"0^Pb=9EZ'Ffr$!0 R#[hh'*eXF,7$$\"0o;2wX]n'Ffr$!024RM]'4RF,7$$\"0,v`n%=\"*oFfr$!0\"HVcVD `IF,7$$\"0f9mlQq3(Ffr$!0**p5cz\"f@F,7$$\"0,D**ye6I(Ffr$!01iy#4i*3\"F,7 $$\"0$zf[\"HE](Ffr$!0)GKF4R]M!#B7$$\"0EcWsBKr(Ffr$\"0il%pc:s5F,7$$\"0o TbT=\">zFfr$\"0wGJS:t5#F,7$$\"0E\"yv5nM\")Ffr$\"0e)4Q**p\"3$F,7$$\"0NL m!RFU$)Ffr$\"0Bm@wcB&QF,7$$\"05xi%eU[%)Ffr$\"0#>C$4,=;%F,7$$\"0&3#fyxX b)Ffr$\"0A****[+AS%F,7$$\"06:*fU@2')Ffr$\"053>)>&H\\%F,7$$\"0Q4Rt])f') Ffr$\"0miHS/Lc%F,7$$\"0l.z?([7()Ffr$\"0N*4CH47YF,7$$\"0$z*=oB^w)Ffr$\" 0N![V$R\"QYF,7$$\"0$>R3uI*y)Ffr$\"0'H&\\La@k%F,7$$\"0%f)[8\"\\8))Ffr$ \"0@+WX+5k%F,7$$\"0&*z8'[nP))Ffr$\"02>%)ygXj%F,7$$\"0'R(yee='))Ffr$\"0 s'ejtrAYF,7$$\"0)>'3/E-\"*)Ffr$\"0daHpXBe%F,7$$\"0,]Q\\$fe*)Ffr$\"0Ag! *4K*=XF,7$$\"04FEhi%p!*Ffr$\"0:*)f`?9G%F,7$$\"0=/9tJ.=*Ffr$\"0h#fGn+1R F,7$$\"0x=HR%\\z#*Ffr$\"0l$p`bgVMF,7$$\"0NLW0d'y$*Ffr$\"0+W1rnD&GF,7$$ \"0K#=M^Q%[*Ffr$\"0o7n\\B22#F,7$$\"0FJR@8,f*Ffr$\"0H06Ym;7\"F,7$$\"0l! RX3rS'*Ffr$\"0-RgLk40'FC7$$\"0-]oZ38p*Ffr$\"0s3')34wk%Ffel7$$\"0R4$3h! >u*Ffr$!02zKtjUb&FC7$$\"0xo(RP]#z*Ffr$!0-:mD]=?\"F,7$$\"0dE[!y(o%)*Ffr $!0w;m-vv%>F,7$$\"0Q%))p=D,**Ffr$!0z0JA5xu#F,7$$\"0>U\\$fib**Ffr$!0BO8 w?Qg$F,7$$\"0+++++5+\"!#9$!0edn;![$\"3W;y$Rb]\" QF!#=$\"3)QKs;kD-(eF*$\"3!H#*=Urrgz)F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration ~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G----------------------------- ---------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~a pproximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3aCgYj[****** !#=\"\"\"*&$\"3!e()fQ[w/'fF'F(%\"xGF(F(*&$\"3scZcAm$p\">!#>F()F,\"\"#F (F(F(,($F(\"\"!F(*&$\"3Se;X59,'4\"!#goal~for~relative~di fference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6%7fr7$$\"\"!F)$\"0+++)R`O^!#@7$$\"0=/^\"*ots#!#<$\"0)H+h 'o:<%F,7$$\"0N3-$ytaaF0$\"0\\>k$\\\\oKF,7$$\"0`7`u1@=)F0$\"0cZ6#y'[U#F ,7$$\"0nTgcZ44\"!#;$\"0'*)R-SSQ;F,7$$\"03_vX%oj8F@$\"0q&ea$p#o!*!#A7$$ \"0]i!\\8UO;F@$\"0I:-\\s&zAFH7$$\"0#HdS#e\"4>F@$!0)*HLi(G.SFH7$$\"0M$3 K^*==#F@$!0ynRx#4,)*FH7$$\"0HdS&*3ll#F@$!05Q&R!3$z=F,7$$\"0DJgxA68$F@$ !0Zoq_;yk#F,7$$\"0?0!)fOdg$F@$!0*G%=.'G&H$F,7$$\"0/N!3%F@$!0p)[sw( 3$QF,7$$\"0v=A=cy9&F@$!03'RO:iF@$!0Y`V(Q.z]F,7$$\"0 4-`T2S['F@$!0\\A0X%QB^F,7$$\"0&e9')Gl_nF@$!0[Hlx#oY^F,7$$\"0g*)pN)H@qF @$!0\"[am:2]^F,7$$\"0NLy#Q%**G(F@$!09#[S&eY8&F,7$$\"0'3_pZBFyF@$!0e(Hw \"p;0&F,7$$\"0N37rDXO)F@$!0w;\"RA(e!\\F,7$$\"0yoWH+SV*F@$!0s_BAD%eWF,7 $$\"0#Hx([Z.0\"!#:$!0266`-i%QF,7$$\"0wo=Z,&\\6Ffr$!0&=2z\"GE<$F,7$$\"0 fkfXb'[7Ffr$!0Rp?Fi1V#F,7$$\"0#HFjOK^8Ffr$!0y\"RlnU?;F,7$$\"0D\"eq=*RX \"Ffr$!0AV(R`gSzFH7$$\"0#zWx9sFfr$\"0'\\cp;J;IF,7$$\"0nT4Gmd4#Ffr$\"0&[piO*Rf $F,7$$\"0E1Xsd;>#Ffr$\"0o$[AolHSF,7$$\"0%32o\"\\vG#Ffr$\"0\\%H!>lRR%F, 7$$\"0#zp@-]&R#Ffr$\"0^*G`i)pr%F,7$$\"0+D`F^M]#Ffr$\"0N?*o?WZ\\F,7$$\" 0]P3V[wb#Ffr$\"0J89$p#Ffr$ \"0*\\II>YK^F,7$$\"0+vt*)R-s#Ffr$\"0id+K$pO^F,7$$\"0](G)Raju#Ffr$\"0qN Z!=oN^F,7$$\"0++#**)oCx#Ffr$\"0tOPtN(H^F,7$$\"0]7,S$e)z#Ffr$\"0&=%4Q=* =^F,7$$\"0+D5!zpCGFfr$\"01TWa&H.^F,7$$\"0+]G!p#p(GFfr$\"0Yc![B\"z0&F,7 $$\"0+vY!f:HHFfr$\"0(GO.)oT*\\F,7$$\"0![CzP,CIFfr$\"0i1')***[L[F,7$$\" 0f9Qlr)=JFfr$\"0Q]%\\1L=YF,7$$\"0nT#H?YWLFfr$\"0!z6.gi8RF,7$$\"0=/'[V, SMFfr$\"0=jRJ<\\a$F,7$$\"0nmzmmb`$Ffr$\"0`=Lr%pTJF,7$$\"0(*[4t;nk$Ffr$ \"0p+s7:gj#F,7$$\"0EJRzmyv$Ffr$\"0t&Q%z[')4#F,7$$\"0(RKLMDcQFfr$\"0vD \"f^,.;F,7$$\"0n;F2SY&RFfr$\"0pT90zV4\"F,7$$\"0(Rd4eeiSFfr$\"0(H$)Qw\" yF&FH7$$\"0EJkaJ0<%Ffr$!0XtdVeA5%Fbt7$$\"0^i[T@LF%Ffr$!0&*y$>!*)ey&FH7 $$\"0w$H$G6hP%Ffr$!0Jx'H*fl5\"F,7$$\"0YOwshL[%Ffr$!0uIN^I:k\"F,7$$\"0< z><71f%Ffr$!0#\\VEHqa@F,7$$\"0/^)f:5*o%Ffr$!0^sEa[Ag#F,7$$\"0#HsZ4f(y% Ffr$!0X(4ov?BIF,7$$\"0%3Fo\"f++&Ffr$!0I_1LA[#QF,7$$\"0f9j$Rv?_Ffr$!0#* *QM%RyZ%F,7$$\"0wo1QpGT&Ffr$!0aA3q&RfFfr$!0D(Ffr$!0q%oG'RaH)FH7$$\"0,D* *ye6I(Ffr$!0C/p9QCn#FH7$$\"0Yh#pR*=S(Ffr$\"0!o[Ihg(p#FH7$$\"0$zf[\"HE] (Ffr$\"0)RGU;;!4)FH7$$\"04FlVEzg(Ffr$\"0%\\jfX,p8F,7$$\"0EcWsBKr(Ffr$ \"0%RIsci=>F,7$$\"0(*)**p5<;yFfr$\"0u`$[#y\"RCF,7$$\"0oTbT=\">zFfr$\"0 yG[C=i$HF,7$$\"0E\"yv5nM\")Ffr$\"09`l\\U*oQF,7$$\"0NLm!RFU$)Ffr$\"0L:G )*zad%F,7$$\"05xi%eU[%)Ffr$\"0NO*y)yD%[F,7$$\"0&3#fyxXb)Ffr$\"0@-gNAR. &F,7$$\"06:*fU@2')Ffr$\"03F0([!y4&F,7$$\"0Q4Rt])f')Ffr$\"0xH(pFdR^F,7$ $\"0^14(*oho)Ffr$\"0D-(fNz^^F,7$$\"0l.z?([7()Ffr$\"0U%e$*)R!e^F,7$$\"0 y+\\W0)Q()Ffr$\"0PL5Qh\"e^F,7$$\"0$z*=oB^w)Ffr$\"01'Hxm+_^F,7$$\"0%f)[ 8\"\\8))Ffr$\"0ZK%y?#Q7&F,7$$\"0'R(yee='))Ffr$\"0].l([(H2&F,7$$\"0)>'3 /E-\"*)Ffr$\"0/X=/0&)*\\F,7$$\"0,]Q\\$fe*)Ffr$\"0ygs7V%**[F,7$$\"04FEh i%p!*Ffr$\"0!4%G`%GuXF,7$$\"0=/9tJ.=*Ffr$\"0Y_\\76G5%F,7$$\"0x=HR%\\z# *Ffr$\"0.'>Hr@ZNF,7$$\"0NLW0d'y$*Ffr$\"0,F,7$$\"0!o0u\"\\s`*Ffr$\"0= =%3n3Y9F,7$$\"0FJR@8,f*Ffr$\"0)p85ifu))FH7$$\"0l!RX3rS'*Ffr$\"0t/?9R44 $FH7$$\"0-]oZ38p*Ffr$!0a!\\n7hKJFH7$$\"0R4$3h!>u*Ffr$!01[*f0`3)*FH7$$ \"0xo(RP]#z*Ffr$!0?\">#GO\\p\"F,7$$\"0dE[!y(o%)*Ffr$!0!H(Qi$e:DF,7$$\" 0Q%))p=D,**Ffr$!0QP>v_HR$F,7$$\"0>U\\$fib**Ffr$!0:80*piGVF,7$$\"0+++++ 5+\"!#9$!0r/!G\")>C`F,-%&COLORG6&%$RGBG$\"\"(!\"\"F)$\"\"*F`bm-%*THICK NESSG6#\"\"\"-F$6%7$7$F(F(F'-F[bm6&F]bm$\"\"$F`bm$\"\")F`bmF]cmFcbm-F$ 6%7$7$$\"0'*=3-Kjg'F@F(7$Fecm$!0gXk#R`O^F,F[cmFcbm-F$6%7$7$$\"0#y$Rb] \"QFFfrF(7$F^dm$\"0xj:/Ml8&F,F[cmFcbm-F$6%7$7$$\"0Ks;kD-(eFfrF(7$Fgdm$ !0xBr(R`O^F,F[cmFcbm-F$6%7$7$$\"0#*=Urrgz)FfrF(7$F`em$\"0.L:%R`O^F,F[c mFcbm-F$6%7$7$$\"0+++++++\"FgamF(7$Fiem$!0wWc)R`O^F,F[cmFcbm-F$6%Fibm- F[bm6&F]bmFfbm$\"\"%F`bmF)-Fdbm6#\"\"#-F$6%7$7$$\"04chkNO$pF@F(7$F[gm$ !0$e`Ig3^^F,F`fmFdfm-F$6%F\\dmF`fmFdfm-F$6%7$7$$\"0$>3N%*)*fdFfrF(7$Ff gm$!0X.Vk4e;&F,F`fmFdfm-F$6%7$7$$\"0aqGN!>E()FfrF(7$F_hm$\"05;Z*p()e^F ,F`fmFdfm-F$6%FgemF`fmFdfm-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Fea m;$!0Xo=k4e;&F,$\"0Xo=k4e;&F," 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Cur ve 12" "Curve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points :G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"3#H4chkNO$p!#>$\"3W;y $Rb]\"QF!#=$\"3SG>3N%*)*fdF*$\"3=Q0(GN!>E()F*$\"0+++++++\"!#9" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%,iteration~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G----------------- ---------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisiona l~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3 ua*\\-&[******!#=\"\"\"*&$\"3o4;]o)\\.'fF'F(%\"xGF(F(*&$\"3SeOh_O\"o\" >!#>F()F,\"\"#F(F(F(,($F(\"\"!F(*&$\"3vJ5(*=()*f4\"!#K=u[CM#F'F(F1F(F(!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>go al~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0++ +++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6%7fr7$$\"\"!F)$\"0+++0](\\^!#@7$$\"0=/^ \"*ots#!#<$\"0%=-kU'R=%F,7$$\"0N3-$ytaaF0$\"0?$\\O\\5!G$F,7$$\"0`7`u1@ =)F0$\"0$3/#3EdV#F,7$$\"0nTgcZ44\"!#;$\"0W^@eV&[;F,7$$\"03_vX%oj8F@$\" 0^:W-.G;*!#A7$$\"0]i!\\8UO;F@$\"0tT0.dvO#FH7$$\"0#HdS#e\"4>F@$!0Z\"z(* Ha@RFH7$$\"0M$3K^*==#F@$!0)eyK#*GD(*FH7$$\"0HdS&*3ll#F@$!0jcx+#ps=F,7$ $\"0DJgxA68$F@$!0E!3y)z?k#F,7$$\"0?0!)fOdg$F@$!0*\\Q9xM!H$F,7$$\"0 /N!3%F@$!0l'>j)fm#QF,7$$\"0v=A=cy9&F@$!0PZyo5\"oYF,7$$\"0MeW%>O:iF@$!0 &e.oo=x]F,7$$\"04-`T2S['F@$!0$y'Q8W<7&F,7$$\"0&e9')Gl_nF@$!0wn$=.BX^F, 7$$\"0g*)pN)H@qF@$!03*ey))y[^F,7$$\"0NLy#Q%**G(F@$!0Vz]]F,7$$\"0N37rDXO)F@$!0Cs\"zN=0\\F,7$$\"0yoWH+SV*F@$ !0K8OCMzX%F,7$$\"0#Hx([Z.0\"!#:$!0V'\\LfpXQF,7$$\"0wo=Z,&\\6Ffr$!0zO;& *Q><$F,7$$\"0fkfXb'[7Ffr$!0X\\x\")['HCF,7$$\"0#HFjOK^8Ffr$!0Z$=Hv%*=;F ,7$$\"0D\"eq=*RX\"Ffr$!0Q\")*3u,?zFH7$$\"0#zWx9jg&!#B7$ $\"0f9V3^jm\"Ffr$\"0gK$>xBg()FH7$$\"0UN=s:CpO:O#F,7$$\"0'*[,x(*o)>Ffr$\"0X]7@&fAIF,7$$\"0nT4Gmd4 #Ffr$\"0?&*y8#G,OF,7$$\"0E1Xsd;>#Ffr$\"0`#fkY%y.%F,7$$\"0%32o\"\\vG#Ff r$\"0T!*z%y0.WF,7$$\"0#zp@-]&R#Ffr$\"07]\"eZ4FZF,7$$\"0+D`F^M]#Ffr$\"0 PHZsa&e\\F,7$$\"0]P3V[wb#Ffr$\"0HJ[3j,/&F,7$$\"0+]jeX=h#Ffr$\"06men%)* )4&F,7$$\"0D1T;W*QEFfr$\"0w!=Az&*>^F,7$$\"0]i=uUgm#Ffr$\"0HS%fKPN^F,7$ $\"0v='>89$p#Ffr$\"0k\"RRbGX^F,7$$\"0+vt*)R-s#Ffr$\"0\"H#Q$Rv\\^F,7$$ \"0](G)Raju#Ffr$\"0US@!)o*[^F,7$$\"0++#**)oCx#Ffr$\"0b*[_pCV^F,7$$\"0] 7,S$e)z#Ffr$\"0dg__^E8&F,7$$\"0+D5!zpCGFfr$\"0qtcW[s6&F,7$$\"0+]G!p#p( GFfr$\"0F'o0vHs]F,7$$\"0+vY!f:HHFfr$\"0))pe@w*3]F,7$$\"0![CzP,CIFfr$\" 0oH9jO!\\[F,7$$\"0f9Qlr)=JFfr$\"0^f;3yXj%F,7$$\"0nT#H?YWLFfr$\"0@vN&)p 8$RF,7$$\"0=/'[V,SMFfr$\"0+K+>;)[ ^F,7$$\"0,]yt;Z$eFfr$!0(pyYb!o8&F,7$$\"0E1G>q&RfFfr$!0l!=u*=M2&F,7$$\" 0^ixkBW/'Ffr$!0k(Hu;sd\\F,7$$\"0*o*ovue9'Ffr$!0:JW6$)oz%F,7$$\"0EJg'eK ZiFfr$!0L:b4;#*e%F,7$$\"0^Pb=9EZ'Ffr$!0UX42L$pRF,7$$\"0o;2wX]n'Ffr$!0@ R,hzCC$F,7$$\"0,v`n%=\"*oFfr$!0p+n.(R;BF,7$$\"0![*fm6\"*)pFfr$!0(Q\"z8 .\\&=F,7$$\"0f9mlQq3(Ffr$!0Ut14ICP\"F,7$$\"0!)pKs)4%>(Ffr$!0f$Gf*)Hd#) FH7$$\"0,D**ye6I(Ffr$!0C***[iUWEFH7$$\"0Yh#pR*=S(Ffr$\"0_a'QL6;FFH7$$ \"0$zf[\"HE](Ffr$\"0*G:#[<#*4)FH7$$\"04FlVEzg(Ffr$\"0'f8p3%*o8F,7$$\"0 EcWsBKr(Ffr$\"0YLxl%e<>F,7$$\"0(*)**p5<;yFfr$\"0VQ%)31sV#F,7$$\"0oTbT= \">zFfr$\"0.sd6KL$HF,7$$\"0E\"yv5nM\")Ffr$\"0&>9m9@kQF,7$$\"0NLm!RFU$) Ffr$\"0=S8H!3pXF,7$$\"05xi%eU[%)Ffr$\"0\\\"R$fu`$[F,7$$\"0&3#fyxXb)Ffr $\"0\")R*4/&f-&F,7$$\"06:*fU@2')Ffr$\"0uG'QpY*3&F,7$$\"0Q4Rt])f')Ffr$ \"0p2X2z38&F,7$$\"0^14(*oho)Ffr$\"00QM'f#H9&F,7$$\"0l.z?([7()Ffr$\"05! )>'4+\\^F,7$$\"0y+\\W0)Q()Ffr$\"0_ml+a*[^F,7$$\"0$z*=oB^w)Ffr$\"0tC5bL E9&F,7$$\"0%f)[8\"\\8))Ffr$\"0&[JT<:9^F,7$$\"0'R(yee='))Ffr$\"0!G\\;s, j]F,7$$\"0)>'3/E-\"*)Ffr$\"0i=\"\\+F))\\F,7$$\"0,]Q\\$fe*)Ffr$\"0x\"fe 7%*))[F,7$$\"04FEhi%p!*Ffr$\"0!*36l6Kc%F,7$$\"0=/9tJ.=*Ffr$\"02X*[jA\" 4%F,7$$\"0x=HR%\\z#*Ffr$\"0C%RKwANNF,7$$\"0NLW0d'y$*Ffr$\"0aMDCTO%GF,7 $$\"0%yI%4@:V*Ffr$\"0L41!)\\kT#F,7$$\"0K#=M^Q%[*Ffr$\"0bbxk'zY>F,7$$\" 0!o0u\"\\s`*Ffr$\"0hS'4eHL9F,7$$\"0FJR@8,f*Ffr$\"0qp1Wfa)*3'HFH7$$\"0-]oZ38p*Ffr$!00\\oHbME$FH7$$\"0R4$3h!>u*F fr$!0`Ut]<+%**FH7$$\"0xo(RP]#z*Ffr$!0E!GhH83nH8)GDF,7$$\"0Q%))p=D,**Ffr$!0V)o-e>1MF,7$$\"0>U\\$fib**Ffr$!0-\"=$[j =M%F,7$$\"0+++++5+\"!#9$!0l\\jx2uL&F,-%&COLORG6&%$RGBG$\"\"(!\"\"F)$\" \"*F`bm-%*THICKNESSG6#\"\"\"-F$6%7$7$F(F(F'-F[bm6&F]bm$\"\"$F`bm$\"\") F`bmF]cmFcbm-F$6%7$7$$\"04chkNO$pF@F(7$Fecm$!0%z+7,v\\^F,F[cmFcbm-F$6% 7$7$$\"0#y$Rb]\"QFFfrF(7$F^dm$\"0AJ,.](\\^F,F[cmFcbm-F$6%7$7$$\"0$>3N% *)*fdFfrF(7$Fgdm$!0t(R:,v\\^F,F[cmFcbm-F$6%7$7$$\"0aqGN!>E()FfrF(7$F`e m$\"0NJ$>+v\\^F,F[cmFcbm-F$6%7$7$$\"0+++++++\"FgamF(7$Fiem$!0))yw1](\\ ^F,F[cmFcbm-F$6%Fibm-F[bm6&F]bmFfbm$\"\"%F`bmF)-Fdbm6#\"\"#-F$6%FccmF` fmFdfm-F$6%F\\dmF`fmFdfm-F$6%FedmF`fmFdfm-F$6%F^emF`fmFdfm-F$6%FgemF`f mFdfm-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Feam;$!0q*QUY/]^F,$\"0q* QUY/]^F," 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Cur ve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Cur ve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"3#H4chkNO$p!#>$\"3W;y$Rb]\"QF!#=$\"3SG>3N%*) *fdF*$\"3=Q0(GN!>E()F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%:adjusted~critical~point s:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"3#H4chkNO$p!#>$\"32w *)\\@\"f\"HF!#=$\"3SG>3N%*)*fdF*$\"3=Q0(GN!>E()F*$\"0+++++++\"!#9" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%,iteration~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G----------------- ---------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisiona l~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3 $f#3>][******!#=\"\"\"*&$\"3l=;Ns0NgfF'F(%\"xGF(F(*&$\"3!ph0p[9o\">!#> F()F,\"\"#F(F(F(,($F(\"\"!F(*&$\"37S:=*y)*f4\"!#goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6%7fr7$$\"\"!F)$\"0+++< 4)\\^!#@7$$\"0=/^\"*ots#!#<$\"0>x!o'=S=%F,7$$\"0N3-$ytaaF0$\"0f@2La,G$ F,7$$\"0`7`u1@=)F0$\"0@pIdqdV#F,7$$\"0nTgcZ44\"!#;$\"040wO$e[;F,7$$\"0 3_vX%oj8F@$\"08&)4y^J;*!#A7$$\"0]i!\\8UO;F@$\"0O,lvcyO#FH7$$\"0#HdS#e \"4>F@$!0Gf]@!H@RFH7$$\"0M$3K^*==#F@$!0@x/V%3D(*FH7$$\"0HdS&*3ll#F@$!0 4)zG)zE(=F,7$$\"0DJgxA68$F@$!0i%*)=g2UEF,7$$\"0?0!)fOdg$F@$!0w2v'=N!H$ F,7$$\"0/N!3%F@$!0]'>Z@nEQF,7$$\"0v=A=cy9&F@$!0oF&*)39oYF,7$$\"0Me W%>O:iF@$!0]SFgMs2&F,7$$\"04-`T2S['F@$!088?>'z@^F,7$$\"0&e9')Gl_nF@$!0 6F%QmGX^F,7$$\"0g*)pN)H@qF@$!0Y_!y$\\)[^F,7$$\"0NLy#Q%**G(F@$!06*=AFfL ^F,7$$\"0'3_pZBFyF@$!0L*)[)\\'30&F,7$$\"0N37rDXO)F@$!0-_1ik_!\\F,7$$\" 0yoWH+SV*F@$!0W`<0J!eWF,7$$\"0#Hx([Z.0\"!#:$!0<-8[2e%QF,7$$\"0wo=Z,&\\ 6Ffr$!05\\Nmj?<$F,7$$\"0fkfXb'[7Ffr$!0*zkUgyHCF,7$$\"0#HFjOK^8Ffr$!0p! H&*o4>;F,7$$\"0D\"eq=*RX\"Ffr$!0$Gs%)Qi@zFH7$$\"0#zWx9sFfr$\"0$ef*3)QAIF,7$ $\"0nT4Gmd4#Ffr$\"0'>7l$o5g$F,7$$\"0E1Xsd;>#Ffr$\"0NILoDw.%F,7$$\"0%32 o\"\\vG#Ffr$\"0rU:HMGS%F,7$$\"0#zp@-]&R#Ffr$\"0YQ^F,7$$\"0]i=uUgm#Ffr$\"0?bgb Q^8&F,7$$\"0v='>89$p#Ffr$\"0#eX%R]]9&F,7$$\"0+vt*)R-s#Ffr$\"01:1b=&\\^ F,7$$\"0](G)Raju#Ffr$\"0^Km)Ht[^F,7$$\"0++#**)oCx#Ffr$\"0q1W(3,V^F,7$$ \"0]7,S$e)z#Ffr$\"0lW3K:C8&F,7$$\"0+D5!zpCGFfr$\"0awe.7q6&F,7$$\"0+]G! p#p(GFfr$\"0OJT3h?2&F,7$$\"0+vY!f:HHFfr$\"0)\\mR(R(3]F,7$$\"0![CzP,CIF fr$\"08$\\f1!)[[F,7$$\"0f9Qlr)=JFfr$\"0(*Q(*=VVj%F,7$$\"0nT#H?YWLFfr$ \"08vmbR6$RF,7$$\"0=/'[V,SMFfr$\"0aI#)y*)Hc$F,7$$\"0nmzmmb`$Ffr$\"0&3F ?uFgJF,7$$\"0(*[4t;nk$Ffr$\"0$>C?!G^l#F,7$$\"0EJRzmyv$Ffr$\"0(\\)[?A#= @F,7$$\"0(RKLMDcQFfr$\"04nl*o$Hi\"F,7$$\"0n;F2SY&RFfr$\"0hO<71f%Ffr$!0wFZPxR8#F,7$$\"0/^)f:5*o%Ffr$!0jm` (Gl\"e#F,7$$\"0#HsZ4f(y%Ffr$!06Rxi&z-IF,7$$\"0%3Fo\"f++&Ffr$!0.E4-&)\\ !QF,7$$\"0f9j$Rv?_Ffr$!09U2`W)eWF,7$$\"0wo1QpGT&Ffr$!0$))HZ&*\\f[F,7$$ \"0I2AN9m^&Ffr$!0Vy*fE01]F,7$$\"0%euB$f.i&Ffr$!0TKN(H(>5&F,7$$\"0)=Fx' [Rn&Ffr$!09.2>698&F,7$$\"0#zzI!Qvs&Ffr$!0*zjSj0Z^F,7$$\"0'RK%QF6y&Ffr$ !05#oq&RfFfr$!04lDWi M2&F,7$$\"0^ixkBW/'Ffr$!0_L?Bcx&\\F,7$$\"0*o*ovue9'Ffr$!00sKB4pz%F,7$$ \"0EJg'eKZiFfr$!0<+K#RB*e%F,7$$\"0^Pb=9EZ'Ffr$!0YF1?L$pRF,7$$\"0o;2wX] n'Ffr$!0p$H*)\\YUKF,7$$\"0,v`n%=\"*oFfr$!0')G*\\!ojJ#F,7$$\"0![*fm6\"* )pFfr$!0D%GW#o[&=F,7$$\"0f9mlQq3(Ffr$!0i'*Rm*Qs8F,7$$\"0!)pKs)4%>(Ffr$ !0-VM'z$oD)FH7$$\"0,D**ye6I(Ffr$!0)3@6W\"Rk#FH7$$\"0Yh#pR*=S(Ffr$\"0Go .iomr#FH7$$\"0$zf[\"HE](Ffr$\"0)ytt4\")*4)FH7$$\"04FlVEzg(Ffr$\"0_.]x. !p8F,7$$\"0EcWsBKr(Ffr$\"0&*)QS/l<>F,7$$\"0(*)**p5<;yFfr$\"0*)=K3usV#F ,7$$\"0oTbT=\">zFfr$\"0B6>z,M$HF,7$$\"0E\"yv5nM\")Ffr$\"0R0?Y#GkQF,7$$ \"0NLm!RFU$)Ffr$\"09tj()\\\"pXF,7$$\"05xi%eU[%)Ffr$\"0]f/LUa$[F,7$$\"0 &3#fyxXb)Ffr$\"06G#Qb,E]F,7$$\"06:*fU@2')Ffr$\"0wX#>0`*3&F,7$$\"0Q4Rt] )f')Ffr$\"0Z(o53%48&F,7$$\"0^14(*oho)Ffr$\"0Jlhj')H9&F,7$$\"0l.z?([7() Ffr$\"0VT2og!\\^F,7$$\"0y+\\W0)Q()Ffr$\"0nx\\d7!\\^F,7$$\"0$z*=oB^w)Ff r$\"0&=pk5pU^F,7$$\"0%f)[8\"\\8))Ffr$\"0)z.mp?9^F,7$$\"0'R(yee='))Ffr$ \"0i^c2qI1&F,7$$\"0)>'3/E-\"*)Ffr$\"0+_fK?$))\\F,7$$\"0,]Q\\$fe*)Ffr$ \"077&*))))*))[F,7$$\"04FEhi%p!*Ffr$\"0R**y:_Kc%F,7$$\"0=/9tJ.=*Ffr$\" 0`$e^*e74%F,7$$\"0x=HR%\\z#*Ffr$\"0E*oUADNNF,7$$\"0NLW0d'y$*Ffr$\"0'Hf MqlVGF,7$$\"0%yI%4@:V*Ffr$\"0^v'>0Y;CF,7$$\"0K#=M^Q%[*Ffr$\"0Fc/:-o%>F ,7$$\"0!o0u\"\\s`*Ffr$\"0CR%QdHL9F,7$$\"0FJR@8,f*Ffr$\"0IC_#)eau)FH7$$ \"0l!RX3rS'*Ffr$\"0_$*yr#ygHFH7$$\"0-]oZ38p*Ffr$!0t&Rv5jjKFH7$$\"0R4$3 h!>u*Ffr$!0\"Q/p_DS**FH7$$\"0xo(RP]#z*Ffr$!0EmeAj\"3U\\$fib**Ffr$ !0P!y=g\">M%F,7$$\"0+++++5+\"!#9$!0f$*>PouL&F,-%&COLORG6&%$RGBG$\"\"(! \"\"F)$\"\"*F`bm-%*THICKNESSG6#\"\"\"-F$6%7$7$F(F(F'-F[bm6&F]bm$\"\"$F `bm$\"\")F`bmF]cmFcbm-F$6%7$7$$\"04chkNO$pF@F(7$Fecm$!0_;%Q\"4)\\^F,F[ cmFcbm-F$6%7$7$$\"0)*)\\@\"f\"HFFfrF(7$F^dm$\"0=vQ:4)\\^F,F[cmFcbm-F$6 %7$7$$\"0$>3N%*)*fdFfrF(7$Fgdm$!0@&\\Z\"4)\\^F,F[cmFcbm-F$6%7$7$$\"0aq GN!>E()FfrF(7$F`em$\"0j!GO\"4)\\^F,F[cmFcbm-F$6%7$7$$\"0+++++++\"FgamF (7$Fiem$!0l@$*=4)\\^F,F[cmFcbm-F$6%Fibm-F[bm6&F]bmFfbm$\"\"%F`bmF)-Fdb m6#\"\"#-F$6%FccmF`fmFdfm-F$6%F\\dmF`fmFdfm-F$6%7$7$$\"0.zblu8w&FfrF(7 $F_gm$!0<>cw8)\\^F,F`fmFdfm-F$6%F^emF`fmFdfm-F$6%FgemF`fmFdfm-%+AXESLA BELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Feam;$!0Oo:t8)\\^F,$\"0Oo:t8)\\^F," 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6( $\"\"!F$$\"3#H4chkNO$p!#>$\"32w*)\\@\"f\"HF!#=$\"3QI!zblu8w&F*$\"3=Q0( GN!>E()F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~5G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G--------------------------------------G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3Y4**=][******!#=\"\"\"*&$\"3`()4Bg0N gfF'F(%\"xGF(F(*&$\"3\"[$\\UwW\"o\">!#>F()F,\"\"#F(F(F(,($F(\"\"!F(*&$ \"3L@]'zy)*f4\"!#$3nEggoal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"3#H4chkNO$p!#>$\"32w*)\\@\"f\"HF! #=$\"3QI!zblu8w&F*$\"3I7_^UpYD()F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~6G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G-------------------------------- ------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~appr oximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3h[%*=][******!# =\"\"\"*&$\"3u-w1X0NgfF'F(%\"xGF(F(*&$\"3jH*e0Y9o\">!#>F()F,\"\"#F(F(F (,($F(\"\"!F(*&$\"3TwhW'y)*f4\"!#goal~for~r elative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"! #A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6( $\"\"!F$$\"3N`__$)R)f$p!#>$\"32w*)\\@\"f\"HF!#=$\"3QI!zblu8w&F*$\"3I7_ ^UpYD()F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~7G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G--------------------------------------G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3EY#*=][******!#=\"\"\"*&$\"3nw+4^0Ng fF'F(%\"xGF(F(*&$\"3)ff]lY9o\">!#>F()F,\"\"#F(F(F(,($F(\"\"!F(*&$\"3# \\')\\qy)*f4\"!#goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"\"!F$$\"3N`__$)R)f$p!#>$\"32w*)\\@\"f\"HF !#=$\"3QI!zblu8w&F*$\"3I7_^UpYD()F*$\"0+++++++\"!#9" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%7minimax~appr oximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"+][******!#5\"\" \"*&$\"+^0NgfF'F(%\"xGF(F(*&$\"+nW\"o\">!#6F()F,\"\"#F(F(F(,($F(\"\"!F (*&$\"+(y)*f4\"!\"*F(F,F(F(*&$\"+j\"\\CM#F'F(F1F(F(!\"\"" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%0minimax ~error:~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&)\\^!#6" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"+] [******!#5\"\"\"*&$\"+^0NgfF'F(%\"xGF(F(*&$\"+nW\"o\">!#6F()F,\"\"#F(F (F(,($F(\"\"!F(*&$\"+(y)*f4\"!\"*F(F,F(F(*&$\"+j\"\\CM#F'F(F1F(F(!\"\" " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rGf*6#%\"xG6\"6$%)operatorG%&a rrowGF(*&,&$\"+][******!#5\"\"\"*&,&$\"+^0NgfF0F1*&$\"+nW\"o\">!#6F19$ F1F1F1F:F1F1F1,&$F1\"\"!F1*&,&$\"+(y)*f4\"!\"*F1*&$\"+j\"\\CM#F0F1F:F1 F1F1F:F1F1!\"\"F(F(F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 22 "The rational function " }{XPPEDIT 18 0 "q(x)=x*`.`*r (x)" "6#/-%\"qG6#%\"xG*(F'\"\"\"%\".GF)-%\"rG6#F'F)" }{TEXT -1 31 " pr ovides an approximation for " }{XPPEDIT 18 0 "ln(1+x)" "6#-%#lnG6#,&\" \"\"F'%\"xGF'" }{TEXT -1 17 " on the interval " }{XPPEDIT 18 0 "[0,1] " "6#7$\"\"!\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "q := unapply(x*r(x),x);\nplo t(ln(1+x)-q(x),x=0..1,color=blue);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"qGf*6#%\"xG6\"6$%)operatorG%&arrowGF(*&*&9$\"\"\",&$\"+][******!#5 F/*&,&$\"+^0NgfF3F/*&$\"+nW\"o\">!#6F/F.F/F/F/F.F/F/F/F/,&$F/\"\"!F/*& ,&$\"+(y)*f4\"!\"*F/*&$\"+j\"\\CM#F3F/F.F/F/F/F.F/F/!\"\"F(F(F(" }} {PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6#7[q7 $$\"\"!F)F(7$$\"3ALL$3FWYs#!#?$\"3Sv*eFjb(Q6!#E7$$\"3WmmmT&)G\\aF-$\"3 -S@x-tk$y\"F07$$\"3m****\\7G$R<)F-$\"3=&3Pl9L])>F07$$\"3ILLL3x&)*3\"!# >$\"39]'oPc([!z\"F07$$\"3$*****\\ilyM;F>$\"39tR93\\?1R!#F7$$\"3emmm;ar z@F>$!3%opH#RC.(3#F07$$\"3.++D\"y%*z7$F>$!3%G4-0#f(G7)F07$$\"3[LL$e9ui 2%F>$!3#fxr^Rvr_\"!#D7$$\"3nmmm\"z_\"4iF>$!3))z**zC'fw0$FV7$$\"3emmmm6 m#G(F>$!3'p&zR)30\"4OFV7$$\"3[mmmT&phN)F>$!3w;RyV%)pQRFV7$$\"3IL$3-js. *))F>$!3NnpZ9%*y5SFV7$$\"36++v=ddC%*F>$!3S-)pC[w#>SFV7$$\"3al;H2)y(e** F>$!3+U1zxgbjRFV7$$\"3CLLe*=)H\\5!#=$!31+$)RXS\"R%QFV7$$\"3')***\\(=JN [6Fbp$!3Qr3UJ?2dMFV7$$\"3gmm\"z/3uC\"Fbp$!3/8>]6&fu'GFV7$$\"3%)***\\7L RDX\"Fbp$!3G-wa4q3!4\"FV7$$\"3]mm\"zR'ok;Fbp$\"3i#G_'3z[H8FV7$$\"3w*** \\i5`h(=Fbp$\"3s&Htu#GpRSFV7$$\"3WLLL3En$4#Fbp$\"3$H4MqwAh#oFV7$$\"3qm m;/RE&G#Fbp$\"39qZ!GxBd/*FV7$$\"3\")*****\\K]4]#Fbp$\"3%yf:Aa\\e5\"!#C 7$$\"3()******\\jB4EFbp$\"3I9?8z(*f\"=\"F]s7$$\"3$******\\PAvr#Fbp$\"3 %*z^-\"y\"*yB\"F]s7$$\"3n*****\\-w=#GFbp$\"3k>X2([8CF\"F]s7$$\"3)***** *\\nHi#HFbp$\"3Aa7`@=m'G\"F]s7$$\"3-L$eky#*4-$Fbp$\"3+\"HR2Xm:G\"F]s7$ $\"3jmm\"z*ev:JFbp$\"3OM7wF17f7F]s7$$\"3>+]7.%Q%GKFbp$\"3t'G7w_F*47F]s 7$$\"3?LLL347TLFbp$\"3u9dg\\QuO6F]s7$$\"3,LLLLY.KNFbp$\"3\\522eZ\"fg*F V7$$\"3w***\\7o7Tv$Fbp$\"3I!*HgZ)G7\"oFV7$$\"3'GLLLQ*o]RFbp$\"3Q^Ljvbo zPFV7$$\"3A++D\"=lj;%Fbp$\"3Qi,*>AC6\\&!#G7$$\"31++vV&RY2aFbp$!3C%oKzj.n4#F]s7$$\"3PL$e*[K56bFbp$!3WO .nUnk%>#F]s7$$\"39mm;zXu9cFbp$!3)f1G#**Q'=F#F]s7$$\"3*GL$e9i\"=s&Fbp$! 3;)yKDM+%GBF]s7$$\"3l******\\y))GeFbp$!3?'*=%\\'z,gBF]s7$$\"3[**\\7.AE \")eFbp$!3%)e.]E(ogO#F]s7$$\"3I***\\ibOO$fFbp$!3Q6GGT\\ylBF]s7$$\"39** \\P44,')fFbp$!3s33!>vt!fBF]s7$$\"3'*)***\\i_QQgFbp$!3s*e>)Hp&eM#F]s7$$ \"34**\\(=-N(RhFbp$!3!pc4Zt$e,BF]s7$$\"3@***\\7y%3TiFbp$!3?XSWkCVKAF]s 7$$\"3;**\\P4kh`jFbp$!3\"*puqS*Gk7#F]s7$$\"35****\\P![hY'Fbp$!39BA:\\u \"**)>F]s7$$\"3kKLL$Qx$omFbp$!3q*GBg]%4q;F]s7$$\"3!)*****\\P+V)oFbp$!3 Pbg#Qo^)H7F]s7$$\"3?mm\"zpe*zqFbp$!3nO'>=umo`(FV7$$\"3%)*****\\#\\'QH( Fbp$!3wq53\"R_(f;FV7$$\"3GKLe9S8&\\(Fbp$\"3v&Q'*o(zb1VFV7$$\"3R***\\i? =bq(Fbp$\"3O**)>$Gf'G2\"F]s7$$\"3\"HLL$3s?6zFbp$\"3SK)4]2U!)o\"F]s7$$ \"3a***\\7`Wl7)Fbp$\"3W%[S(=]ZzAF]s7$$\"3#pmmm'*RRL)Fbp$\"3;'z*[n_>bFF ]s7$$\"3lmmTge)*R%)Fbp$\"3+&y+([khZHF]s7$$\"3Qmm;a<.Y&)Fbp$\"3')[=<%*> y'4$F]s7$$\"3!G$3FWch)f)Fbp$\"3a1T#*))4^_JF]s7$$\"3M+]PM&*>^')Fbp$\"3_ D&=hmY\\>$F]s7$$\"35%3F%z9\\x')Fbp$\"3\"[#R\\>8*3@$F]s7$$\"3vm\"zWU$y. ()Fbp$\"3.q`')3U;BKF]s7$$\"3T\\7`p`2I()Fbp$\"3(fSF:[Y;B$F]s7$$\"3=LLe9 tOc()Fbp$\"3lhQ#p)z@OKF]s7$$\"3[;/^\")o_!y)Fbp$\"3g(QJ8rmoB$F]s7$$\"3 \")*\\P%[ko/))Fbp$\"3iw)\\ve:SB$F]s7$$\"38$ek`,Y)G))Fbp$\"3%*4Bo/&ovA$ F]s7$$\"3Ym;H#e0I&))Fbp$\"3\\'*y+P%Gu@$F]s7$$\"34Le9;ZK,*)Fbp$\"3%fizd owc=$F]s7$$\"3u******\\Qk\\*)Fbp$\"39?%er&e'z8$F]s7$$\"31nmT5ASg!*Fbp$ \"3a'4UO8\"*R'HF]s7$$\"3CLL$3dg6<*Fbp$\"3%Gh+l$Q&=p#F]s7$$\"3y***\\(oT Aq#*Fbp$\"3o=UJpRxcBF]s7$$\"3ImmmmxGp$*Fbp$\"3FhML:R5F>F]s7$$\"31+DJ&* *)4A%*Fbp$\"3)\\5;\\m[ml\"F]s7$$\"3sK$eRA5\\Z*Fbp$\"31qk?Y<\"eN\"F]s7$ $\"3[mTg_9sF&*Fbp$\"3*3SOVhOL-\"F]s7$$\"3A++D\"oK0e*Fbp$\"3KlDMM9ZzlFV 7$$\"3B+]il(z5j*Fbp$\"3_SzIq'*)>w#FV7$$\"3C+++]oi\"o*Fbp$!3m^m " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 4" }}{PARA 0 "" 0 "" {TEXT -1 46 "An initial ratio nal approximation can be used." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "with(orthopoly):\nnumapprox[ chebpade](sqrt(x),x=1/4..1,[2,2]):\nqx := normal(%,expanded);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#qxG*&,($\"+I)>s(Q!#6\"\"\"*&$\"+?A> Wv!#5F*%\"xGF*F**&$\"+.\"\\U\"pF.F*)F/\"\"#F*F*F*,($\"+8s(\\s#F.F**&$ \"+wmzG5!\"*F*F/F*F**&$\"+f[JL=F.F*F3F*F*!\"\"" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 102 "remez(sqrt( x),x=1/4..1,start=qx,info=true):\nh := unapply(%,x);\nplot(sqrt(x)-h(x ),x=1/4..1,color=blue);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%]pRemez~al gorithm:~calculating~minimax~error~estimate~by~solving~a~rational~equa tionG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%D--~minimising~the~ABSOLUTE~ error~--G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Jcritical~points~of~initial~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3sz\"4[\"[r3I!#=$\"38M1L%[ F&\\XF($\"3brLn2N0poF($\"3ZDnk7KAy!*F($\"\"\"\"\"!" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~1G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G-------------------------------- ------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~appr oximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3zOwN9iR*Q\"!#= \"\"\"*&$\"3V4+1\"=lb$G!#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"/ZX-*>F%>!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5re lative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0-'G;!HUf\"! #:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graph G" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6 %7_r7$$\"0++++++]#!#:$!,wC&f=7F*7$$\"0kJMjF-^#F*$!,qY#zg5F*7$$\"0GjoEb /_#F*$!+U\"*3)4*F*7$$\"0#\\H+HoIDF*$!+D5aawF*7$$\"0cEP`54a#F*$!+T%>aF' F*7$$\"0%)*e+eOhDF*$!+kkA.PF*7$$\"07`u1@=e#F*$!+_jYn8F*7$$\"0S;VLwAg#F *$\"*W6EX(F*7$$\"0oz6gJFi#F*$\"+v2uZEF*7$$\"0'H/oo=VEF*$\"+-'o@N%F*7$$ \"0D1\\8UOm#F*$\"+Iw(F*7$$\"0pHeh gxG$F*$\"+#yFwg%F*7$$\"0c,R5E@O$F*$\"+vy4I@F*7$$\"0Wt>f\"\\OMF*$!*+0$o KF*7$$\"0pauu#\\8NF*$!+caOqFF*7$$\"0%f$H!R\\!f$F*$!+L'o%\\]F*7$$\"0%f3 3'G,n$F*$!+,p(R=(F*7$$\"0%fB8Lw\\PF*$!+R\"3k0*F*7$$\"0dw)GE9HQF*$!,aj \")Q1\"F*7$$\"0>_3RF*$!,Dm6D>\"F*7$$\"0s6wKt,*RF*$!,MwDNH\"F*7$$\" 0D12rC=2%F*$!,7\\^JO\"F*7$$\"0'H/-Sy2TF*$!,=O\"4%Q\"F*7$$\"0ozLHVP9%F* $!,j\\T#*R\"F*7$$\"0/[!RHshTF*$!,'Ggo/9F*7$$\"0S;Ze-(zTF*$!,\"\\Pt39F* 7$$\"0w%QIAo(>%F*$!,yR.9T\"F*7$$\"07`g(=m:UF*$!,w^9FT\"F*7$$\"0?3')p-f B%F*$!,NI!f79F*7$$\"0Gj6_VhD%F*$!,J7+3T\"F*7$$\"0O=PM%QwUF*$!,*Q]P29F* 7$$\"0Wti;DmH%F*$!,83ZBS\"F*7$$\"0g$Q6o5PVF*$!,#Q]h(Q\"F*7$$\"0v$\\c%) exVF*$!,2swoO\"F*7$$\"0]i(*=%))eWF*$!,*f4C38F*7$$\"0DJI#*z,a%F*$!,YgG* G7F*7$$\"0D1&Gp'op%F*$!,cdHp-\"F*7$$\"0fLWL5!oZF*$!+&32x<*F*7$$\"0%4OS P:R[F*$!+,:l+!)F*7$$\"04Y68]P#\\F*$!+PmQ7lF*7$$\"0DJ>_Y$3]F*$!+8&QI&\\ F*7$$\"07`9w5+3&F*$!+h\"Qaf$F*7$$\"0+v4+v;:&F*$!+*zZ*>AF*7$$\"0s6#[v.N _F*$!*B$3ghF*7$$\"0W[a4+%=`F*$\"*X(*Rs*F*7$$\"0(H*\\2!>#R&F*$\"+#3p*\\ BF*7$$\"0]PX0!)fY&F*$\"+T_$zo$F*7$$\"0Z!=d$Rpa&F*$\"+&>#)o4&F*7$$\"0WB )f')*yi&F*$\"+8<*3V'F*7$$\"0)o9h5*\\q&F*$\"+t]O?wF*7$$\"0JqCY$3#y&F*$ \"+u?]@()F*7$$\"0Q%)*G\"fH%fF*$\",j*o.q5F*7$$\"0>#z5Kp!4'F*$\",'Rp#)47 F*7$$\"0m(\\$zo.<'F*$\",:^'Rn7F*7$$\"07.iPW+D'F*$\",x0i?J\"F*7$$\"0`>U \"\\!GL'F*$\",YS'fW8F*7$$\"0%fB_ac:kF*$\",M^EHO\"F*7$$\"0N_!)4(e^kF*$ \",\\)QZm8F*7$$\"0voQu3w['F*$\",ynYtO\"F*7$$\"0;&o*QIO_'F*$\",LJfbO\"F *7$$\"0c,b._'flF*$\",ODI6O\"F*7$$\"0ZbTwguj'F*$\",hseEM\"F*7$$\"0Q4G\\ p_r'F*$\",&f'eAJ\"F*7$$\"0W)4BNl&z'F*$\",#)>;(o7F*7$$\"0](Q`v.woF*$\", $yoK87F*7$$\"0)=#etULz<\\G)F*$!+h;VGyF*7$$\"0Dc; \")Q$R%)F*$!+\"[z/v*F*7$$\"0%f$oI.5g)F*$!,6ueC8\"F*7$$\"0Z0%oV&)y')F*$ !,,xc()=\"F*7$$\"0+v*Haqc()F*$!,[,10B\"F*7$$\"0STtS7lz)F*$!,=&GyX7F*7$ $\"0\"yq%Q>j$))F*$!,)*41nD\"F*7$$\"0@u?OEh())F*$!,o])3j7F*7$$\"0iS%RL$ f\"*)F*$!,^IUZE\"F*7$$\"0LO\\p5a&*)F*$!,4)p_h7F*7$$\"0.K/0))[**)F*$!,M *=H`7F*7$$\"0uFfSlV.*F*$!,qm_)R7F*7$$\"0WB9wUQ2*F*$!,7gC5A\"F*7$$\"0Z0 4%RRY\"*F*$!,b9`<<\"F*7$$\"0](Q?^%*=#*F*$!,d$e]-6F*7$$\"0Jq%fp4-$*F*$! +eK(3(**F*7$$\"07`&)z[_Q*F*$!+F**y@')F*7$$\"01*o%z?'f%*F*$!+)))=6:(F*7 $$\"0+D3z#*R`*F*$!+_\\@=aF*7$$\"0sO1&))G8'*F*$!+I@vnKF*7$$\"0W[/\"\\e# p*F*$!*g*[+zF*7$$\"0(H/MJ`I(*F*$\"*&Q[e^F*7$$\"0]PwN\"[o(*F*$\"+^Ww,>F *7$$\"0.K7eHk!)*F*$\"+LkLpLF*7$$\"0cE[!yPW)*F*$\"+G*)>?\\F*7$$\"0#*>ON e^))*F*$\"+kR_\"o'F*7$$\"0G8C!*Qf#**F*$\"+)>UHa)F*7$$\"0k17X>n'**F*$\" ,C1Z10\"F*7$$\"0++++]2+\"!#9$\"+v@Td7F__m-%&COLORG6&%$RGBG$\"\"(!\"\" \"\"!$\"\"*Fh_m-%*THICKNESSG6#\"\"\"-F$6%7$7$F($Fi_mFi_mF'-Fc_m6&Fe_m$ \"\"$Fh_m$\"\")Fh_mFg`mF\\`m-F$6%7$7$$\"0=4[\"[r3IF*Fd`m7$F_am$\",vC&f =7F*Fe`mF\\`m-F$6%7$7$$\"0jIV[F&\\XF*Fd`m7$Fham$!,sC&f=7F*Fe`mF\\`m-F$ 6%7$7$$\"0Ptw]`!poF*Fd`m7$Fabm$\",uC&f=7F*Fe`mF\\`m-F$6%7$7$$\"0tYE@B# y!*F*Fd`m7$Fjbm$!,uC&f=7F*Fe`mF\\`m-F$6%7$7$$F_`mFi_mFd`m7$FccmFdbmFe` mF\\`m-F$6%Fb`m-Fc_m6&Fe_mF_`m$\"\"%Fh_mFi_m-F]`m6#\"\"#-F$6%7$7$$\"0t $=ouN-HF*Fd`m7$Fbdm$\",00E9J\"F*FgcmF[dm-F$6%7$7$$\"07NcysUA%F*Fd`m7$F [em$!,uBnGT\"F*FgcmF[dm-F$6%7$7$$\"09LAL$Q\"['F*Fd`m7$Fdem$\",gV'Qn8F* FgcmF[dm-F$6%7$7$$\"0hyX(Ql4*)F*Fd`m7$F]fm$!,_A.[E\"F*FgcmF[dm-F$6%Fac mFgcmF[dm-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(F]_m;$!/(3wBnGT\"!#= $\"/(3wBnGT\"Fbgm" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Cu rve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3eDP=ouN-H!#=$\"3;B^ j&ysUA%F($\"3gSJBKLQ\"['F($\"3c6'yX(Ql4*)F($\"\"\"\"\"!" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iterati on~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G--------------------------- -----------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational ~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3\\Ij=*=#[* Q\"!#=\"\"\"*&$\"3]04#p!p.OG!#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"-XhC2;7!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0G j\"Q@[`#*!#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~di fference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6%7gr7$$\"0++++++]#!#:$!,B@yTJ\"F*7$$\"0kJMjF-^#F*$!,>KfL :\"F*7$$\"0GjoEb/_#F*$!+'HxQ***F*7$$\"0#\\H+HoIDF*$!+(oG2_)F*7$$\"0cEP `54a#F*$!+#p&G7rF*7$$\"0%)*e+eOhDF*$!+&y$G#[%F*7$$\"07`u1@=e#F*$!+34#) *3#F*7$$\"0S;VLwAg#F*$\")y,^yF*7$$\"0oz6gJFi#F*$\"+(R,b.#F*7$$\"0'H/oo =VEF*$\"+khN$z$F*7$$\"0D1\\8UOm#F*$\"+%)\\rj`F*7$$\"0Ha:\"F*7$$\"0U#eZx0YGF*$\",V2O3F\"F*7$$\"0TmO@*3') GF*$\",K)fV38F*7$$\"0S3n%\\51HF*$\",5/wZJ\"F*7$$\"0R](z17EHF*$\",bU)f8 8F*7$$\"0R#z7k8YHF*$\",eZfaI\"F*7$$\"0QMe9_h'HF*$\",@n))3H\"F*7$$\"0]( 3(yXn/$F*$\",]o)*p<\"F*7$$\"0iS$G%Rt7$F*$\"+M&*yb**F*7$$\"0:&3A+b2KF*$ \"+RW%Qr(F*7$$\"0pHehgxG$F*$\"+APPC_F*7$$\"0c,R5E@O$F*$\"+MV*f#GF*7$$ \"0Wt>f\"\\OMF*$\"*Z76Q%F*7$$\"0pauu#\\8NF*$!+()p5W>F*7$$\"0%f$H!R\\!f $F*$!+PPwrTF*7$$\"0%f33'G,n$F*$!+y_$HE'F*7$$\"0%fB8Lw\\PF*$!+;[a,\")F* 7$$\"0dw)GE9HQF*$!+3\\>f'*F*7$$\"0>_3RF*$!,aW\"F*7$$\"0D12rC=2%F*$!,*GZki7F*7$$\"0'H/-Sy2TF*$!,o%Rz$G\" F*7$$\"0ozLHVP9%F*$!,O0#H*H\"F*7$$\"0/[!RHshTF*$!,rAh\\I\"F*7$$\"0S;Ze -(zTF*$!,olm#48F*7$$\"0w%QIAo(>%F*$!,\"flA78F*7$$\"07`g(=m:UF*$!,f&*fQ J\"F*7$$\"0?3')p-fB%F*$!,PAOTJ\"F*7$$\"0Gj6_VhD%F*$!,As&y78F*7$$\"0O=P M%QwUF*$!,fyQ)48F*7$$\"0Wti;DmH%F*$!,&eF*7$ $\"0DJ>_Y$3]F*$!+))*)*4N%F*7$$\"07`9w5+3&F*$!+89#\\/$F*7$$\"0+v4+v;:&F *$!+@XeA#R&F*$\"+.%*)*fEF*7$$\"0]PX0!)fY&F*$\"+G9fQRF*7$$\"0Z!=d$Rpa&F *$\"++)[=G&F*7$$\"0WB)f')*yi&F*$\"+6'e)\\lF*7$$\"0)o9h5*\\q&F*$\"+N`Ww wF*7$$\"0JqCY$3#y&F*$\"+')z)[r)F*7$$\"0Q%)*G\"fH%fF*$\",cg\\k0\"F*7$$ \"0>#z5Kp!4'F*$\",eT)o%=\"F*7$$\"0m(\\$zo.<'F*$\",N![?O7F*7$$\"07.iPW+ D'F*$\",45n\\F\"F*7$$\"0K6_kC9H'F*$\",#*H2+H\"F*7$$\"0`>U\"\\!GL'F*$\" ,[E\\:I\"F*7$$\"0tFK=&=ujF*$\",g@*e48F*7$$\"0%fB_ac:kF*$\",n'4898F*7$$ \"0N_!)4(e^kF*$\",-8X_J\"F*7$$\"0voQu3w['F*$\",%p(GPJ\"F*7$$\"0;&o*QIO _'F*$\",P*yf48F*7$$\"0c,b._'flF*$\",w_sGI\"F*7$$\"0ZbTwguj'F*$\",==4'z 7F*7$$\"0Q4G\\p_r'F*$\",5qfYC\"F*7$$\"0](Q`v.woF*$\",vHdr8\"F*7$$\"0)= #et_;^$F* 7$$\"0PMNTOte(F*$\"+h2I@AF*7$$\"0DJl])QowF*$\"*/))[-*F*7$$\"04'\\\\P$= u(F*$!*&[LpIF*7$$\"0%4Y#**y_\"yF*$!+&pI._\"F*7$$\"0N_C/ub*yF*$!+*\\W+% GF*7$$\"0vVC4pe(zF*$!+lO+STF*7$$\"05YpZ?90)F*$!+:&HKL&F*7$$\"0W[9'=(p7 )F*$!+?l(e['F*7$$\"0>ULz<\\G)F*$!+u5R8()F*7$$\"0Dc;\")Q$R%)F*$!,np\"pc 5F*7$$\"0%f$oI.5g)F*$!,i[u\\?\"F*7$$\"0Z0%oV&)y')F*$!,W4]hD\"F*7$$\"0+ v*Haqc()F*$!,n!zH#H\"F*7$$\"0STtS7lz)F*$!,30CXI\"F*7$$\"0\"yq%Q>j$))F* $!,+gpAJ\"F*7$$\"0+\"RtGAc))F*$!,*yMS98F*7$$\"0@u?OEh())F*$!,$QnM:8F*7 $$\"0Td2&)Hg*))F*$!,H#e2:8F*7$$\"0iS%RL$f\"*)F*$!,(\\rc88F*7$$\"0LO\\p 5a&*)F*$!,9\")>oI\"F*7$$\"0.K/0))[**)F*$!,TnD\\H\"F*7$$\"0uFfSlV.*F*$! ,<()*px7F*7$$\"0WB9wUQ2*F*$!,pAd\\D\"F*7$$\"0Z04%RRY\"*F*$!,)oi:)>\"F* 7$$\"0](Q?^%*=#*F*$!,]#G%47\"F*7$$\"0Jq%fp4-$*F*$!,]*Q&e+\"F*7$$\"07`& )z[_Q*F*$!+\\^%pg)F*7$$\"01*o%z?'f%*F*$!+e/kRqF*7$$\"0+D3z#*R`*F*$!+&p 2a?&F*7$$\"0sO1&))G8'*F*$!+!R6<%HF*7$$\"0W[/\"\\e#p*F*$!*,))QX$F*7$$\" 0(H/MJ`I(*F*$\"+@w=>5F*7$$\"0]PwN\"[o(*F*$\"+;P-lCF*7$$\"0.K7eHk!)*F*$ \"+3*eP*RF*7$$\"0cE[!yPW)*F*$\"+B*Hqg&F*7$$\"0#*>ONe^))*F*$\"+q>\"oV(F *7$$\"0G8C!*Qf#**F*$\"+T,8o$*F*7$$\"0k17X>n'**F*$\",[P+.9\"F*7$$\"0+++ +]2+\"!#9$\"+\\ZMa8Fgam-%&COLORG6&%$RGBG$\"\"(!\"\"\"\"!$\"\"*F`bm-%*T HICKNESSG6#\"\"\"-F$6%7$7$F($FabmFabmF'-F[bm6&F]bm$\"\"$F`bm$\"\")F`bm F_cmFdbm-F$6%7$7$$\"0t$=ouN-HF*F\\cm7$Fgcm$\",E@yTJ\"F*F]cmFdbm-F$6%7$ 7$$\"07NcysUA%F*F\\cm7$F`dm$!,C@yTJ\"F*F]cmFdbm-F$6%7$7$$\"09LAL$Q\"[' F*F\\cm7$Fidm$\",C@yTJ\"F*F]cmFdbm-F$6%7$7$$\"0hyX(Ql4*)F*F\\cm7$FbemF cdmF]cmFdbm-F$6%7$7$$FgbmFabmF\\cm7$Fiem$\",A@yTJ\"F*F]cmFdbm-F$6%Fjbm -F[bm6&F]bmFgbm$\"\"%F`bmFabm-Febm6#\"\"#-F$6%7$7$$\"0Ij%=7\"G\"HF*F\\ cm7$Fjfm$\",;x!>:8F*F_fmFcfm-F$6%F^dmF_fmFcfm-F$6%7$7$$\"0y\")*HC!)[kF *F\\cm7$Fegm$\",R*HD:8F*F_fmFcfm-F$6%F`emF_fmFcfm-F$6%FgemF_fmFcfm-%+A XESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Feam;$!/$G[G%R:8!#=$\"/$G[G%R:8F \\im" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1 " "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8 " "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" }}}{PARA 11 " " 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3p-LY=7\"G\"H!#=$\"3;B^j&ysUA%F($\"3q w<)*HC!)[kF($\"3c6'yX(Ql4*)F($\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G---------------------------------- ----G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approx imation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3VvKXrlZ*Q\"!#=\" \"\"*&$\"3))=MKR(\\g$G!#*p')HeJ\"!#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"-:$=5/B\"!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5re lative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0_G#=Bef$*!# =" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graph G" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6 %7gr7$$\"0++++++]#!#:$!,pX*f98F*7$$\"0kJMjF-^#F*$!,(y()y`6F*7$$\"0GjoE b/_#F*$!+'R^#)***F*7$$\"0#\\H+HoIDF*$!+#yz^_)F*7$$\"0cEP`54a#F*$!+!H6o 6(F*7$$\"0%)*e+eOhDF*$!+<6&p[%F*7$$\"07`u1@=e#F*$!+(e?Y4#F*7$$\"0S;VLw Ag#F*$\")wretF*7$$\"0oz6gJFi#F*$\"+HPYI?F*7$$\"0'H/oo=VEF*$\"+Z@@)y$F* 7$$\"0D1\\8UOm#F*$\"+)fs%e`F*7$$\"0Ha:&>\"F*7$$\"0U#eZx0YGF*$\",e[a-F\"F*7$$\"0TmO@*3')GF*$\",F&z%yI\"F *7$$\"0S3n%\\51HF*$\",!ya=98F*7$$\"0R](z17EHF*$\",%fd+88F*7$$\"0R#z7k8 YHF*$\",t6l[I\"F*7$$\"0QMe9_h'HF*$\",<,$H!H\"F*7$$\"0](3(yXn/$F*$\",%e 8Sw6F*7$$\"0iS$G%Rt7$F*$\"+S&[)\\**F*7$$\"0:&3A+b2KF*$\"+\">uzq(F*7$$ \"0pHehgxG$F*$\"+oSg=_F*7$$\"0c,R5E@O$F*$\"++!Q.#GF*7$$\"0Wt>f\"\\OMF* $\"*-@eK%F*7$$\"0pauu#\\8NF*$!+]Z\\\\>F*7$$\"0%f$H!R\\!f$F*$!+^Y+xTF*7 $$\"0%f33'G,n$F*$!+*oA!oiF*7$$\"0%fB8Lw\\PF*$!+x1[1\")F*7$$\"0dw)GE9HQ F*$!+DZ)Rm*F*7$$\"0>_3RF*$!,?e#Q$4\"F*7$$\"0s6wKt,*RF*$!,%*4LN>\"F *7$$\"0D12rC=2%F*$!,dj%3j7F*7$$\"0'H/-Sy2TF*$!,A**GUG\"F*7$$\"0ozLHVP9 %F*$!,]^A(*H\"F*7$$\"0/[!RHshTF*$!,L]*Q08F*7$$\"0S;Ze-(zTF*$!,)>Gp48F* 7$$\"0w%QIAo(>%F*$!,Fo]EJ\"F*7$$\"07`g(=m:UF*$!,Y6#G98F*7$$\"0?3')p-fB %F*$!,6EcXJ\"F*7$$\"0Gj6_VhD%F*$!,Rt.KJ\"F*7$$\"0O=PM%QwUF*$!,+([D58F* 7$$\"0Wti;DmH%F*$!,n(4u08F*7$$\"0g$Q6o5PVF*$!,+tZ@H\"F*7$$\"0v$\\c%)ex VF*$!,4/\"ps7F*7$$\"0]i(*=%))eWF*$!,r'z.<7F*7$$\"0DJI#*z,a%F*$!,US<79 \"F*7$$\"0D1&Gp'op%F*$!+[NEs%*F*7$$\"0fLWL5!oZF*$!+az%>U)F*7$$\"0%4OSP :R[F*$!+^'f))G(F*7$$\"04Y68]P#\\F*$!+`n-ceF*7$$\"0DJ>_Y$3]F*$!+#>O^N%F *7$$\"07`9w5+3&F*$!+NC7\\IF*7$$\"0+v4+v;:&F*$!+)Rfos\"F*7$$\"0s6#[v.N_ F*$!*IGf'=F*7$$\"0W[a4+%=`F*$\"+\"[*eO8F*7$$\"0(H*\\2!>#R&F*$\"+([,al# F*7$$\"0]PX0!)fY&F*$\"+q+*Q$RF*7$$\"0Z!=d$Rpa&F*$\"+p^,x_F*7$$\"0WB)f' )*yi&F*$\"+*e&)[a'F*7$$\"0)o9h5*\\q&F*$\"+^RLrwF*7$$\"0JqCY$3#y&F*$\"+ @Pj4()F*7$$\"0Q%)*G\"fH%fF*$\",+L$*e0\"F*7$$\"0>#z5Kp!4'F*$\",@?.T=\"F *7$$\"0m(\\$zo.<'F*$\",())RgN7F*7$$\"07.iPW+D'F*$\",j#3Nu7F*7$$\"0K6_k C9H'F*$\",j3$Q*G\"F*7$$\"0`>U\"\\!GL'F*$\",Z><4I\"F*7$$\"0tFK=&=ujF*$ \",[Q\\*38F*7$$\"0%fB_ac:kF*$\",\\[$[88F*7$$\"0N_!)4(e^kF*$\",$*3\"f98 F*7$$\"0voQu3w['F*$\",TFoIJ\"F*7$$\"0;&o*QIO_'F*$\",v0J*38F*7$$\"0c,b. _'flF*$\",NZ*>-8F*7$$\"0ZbTwguj'F*$\",%fJ#*y7F*7$$\"0Q4G\\p_r'F*$\",5U hRC\"F*7$$\"0](Q`v.woF*$\",*GjVO6F*7$$\"0)=#etULz<\\G) F*$!+$H;+s)F*7$$\"0Dc;\")Q$R%)F*$!,mC4t0\"F*7$$\"0%f$oI.5g)F*$!,(4\\`0 7F*7$$\"0Z0%oV&)y')F*$!,>@zmD\"F*7$$\"0+v*Haqc()F*$!,]=$z#H\"F*7$$\"0S TtS7lz)F*$!,F.,]I\"F*7$$\"0\"yq%Q>j$))F*$!,^gFFJ\"F*7$$\"0+\"RtGAc))F* $!,!R<&[J\"F*7$$\"0@u?OEh())F*$!,33&y:8F*7$$\"0Td2&)Hg*))F*$!,X2/bJ\"F *7$$\"0iS%RL$f\"*)F*$!,r8&)RJ\"F*7$$\"0LO\\p5a&*)F*$!,L#p@28F*7$$\"0.K /0))[**)F*$!,&>7I&H\"F*7$$\"0uFfSlV.*F*$!,G:`!y7F*7$$\"0WB9wUQ2*F*$!,? a(Gb7F*7$$\"0Z04%RRY\"*F*$!,\"HDW)>\"F*7$$\"0](Q?^%*=#*F*$!,-h#=@6F*7$ $\"0Jq%fp4-$*F*$!,+SPg+\"F*7$$\"07`&)z[_Q*F*$!+vZ=3')F*7$$\"01*o%z?'f% *F*$!+_&>./(F*7$$\"0+D3z#*R`*F*$!+V&*\\0_F*7$$\"0sO1&))G8'*F*$!+qt9THF *7$$\"0W[/\"\\e#p*F*$!*0z8W$F*7$$\"0(H/MJ`I(*F*$\"+!Hy2-\"F*7$$\"0]PwN \"[o(*F*$\"+m8'pY#F*7$$\"0.K7eHk!)*F*$\"+x20'*RF*7$$\"0cE[!yPW)*F*$\"+ vKo4cF*7$$\"0#*>ONe^))*F*$\"+H>')RuF*7$$\"0G8C!*Qf#**F*$\"+r^er$*F*7$$ \"0k17X>n'**F*$\",]B(oS6F*7$$\"0++++]2+\"!#9$\"+@Qxa8Fgam-%&COLORG6&%$ RGBG$\"\"(!\"\"\"\"!$\"\"*F`bm-%*THICKNESSG6#\"\"\"-F$6%7$7$F($FabmFab mF'-F[bm6&F]bm$\"\"$F`bm$\"\")F`bmF_cmFdbm-F$6%7$7$$\"0Ij%=7\"G\"HF*F \\cm7$Fgcm$\",rX*f98F*F]cmFdbm-F$6%7$7$$\"07NcysUA%F*F\\cm7$F`dm$!,oX* f98F*F]cmFdbm-F$6%7$7$$\"0y\")*HC!)[kF*F\\cm7$Fidm$\",mX*f98F*F]cmFdbm -F$6%7$7$$\"0hyX(Ql4*)F*F\\cm7$Fbem$!,rX*f98F*F]cmFdbm-F$6%7$7$$FgbmFa bmF\\cm7$F[fmF\\emF]cmFdbm-F$6%Fjbm-F[bm6&F]bmFgbm$\"\"%F`bmFabm-Febm6 #\"\"#-F$6%FecmF_fmFcfm-F$6%F^dmF_fmFcfm-F$6%FgdmF_fmFcfm-F$6%7$7$$\"0 W)4%[A:)))F*F\\cm7$F`gm$!,r')HeJ\"F*F_fmFcfm-F$6%FiemF_fmFcfm-%+AXESLA BELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Feam;$!/>*p')HeJ\"!#=$\"/>*p')HeJ\"Feh m" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" " Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" " Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3p-LY=7\"G\"H!#=$\"3;B^j&ysUA%F($\"3qw<)*HC!)[kF( $\"3oW%)4%[A:)))F($\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~4G" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%G--------------------------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3AM9A.(*[*Q\"!#=\"\"\"*&$\"36Js Mg7-OG!#5aeJ[J\"!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# $\"+Jpw[\\!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5relative~difference :G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0g#e(*G!Qw$!#>" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 " " 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "61-%'CURVESG6%7gr7$$\"0+++++ +]#!#:$!,`eJ[J\"F*7$$\"0kJMjF-^#F*$!,,L**R:\"F*7$$\"0GjoEb/_#F*$!,&eZ, +5F*7$$\"0#\\H+HoIDF*$!+fH(o_)F*7$$\"0cEP`54a#F*$!+iwI=rF*7$$\"0%)*e+e OhDF*$!+M?2)[%F*7$$\"07`u1@=e#F*$!+6&*Q&4#F*7$$\"0S;VLwAg#F*$\")]w9tF* 7$$\"0oz6gJFi#F*$\"+c=LI?F*7$$\"0'H/oo=VEF*$\"+\"*pO)y$F*7$$\"0D1\\8UO m#F*$\"+>S*)e`F*7$$\"0Ha:\"F*7$$\" 0U#eZx0YGF*$\",[*pXq7F*7$$\"0TmO@*3')GF*$\",y\")p!38F*7$$\"0S3n%\\51HF *$\",DA:WJ\"F*7$$\"0R](z17EHF*$\",:DUKJ\"F*7$$\"0R#z7k8YHF*$\",]F2^I\" F*7$$\"0QMe9_h'HF*$\",**zR0H\"F*7$$\"0](3(yXn/$F*$\",hAdm<\"F*7$$\"0iS $G%Rt7$F*$\"+<^O_**F*7$$\"0:&3A+b2KF*$\"+(GT.r(F*7$$\"0pHehgxG$F*$\"+j dt?_F*7$$\"0c,R5E@O$F*$\"+B6>AGF*7$$\"0Wt>f\"\\OMF*$\"*[A6M%F*7$$\"0pa uu#\\8NF*$!+TLL[>F*7$$\"0%f$H!R\\!f$F*$!+(eNi<%F*7$$\"0%f33'G,n$F*$!+J NnniF*7$$\"0%fB8Lw\\PF*$!+eib1\")F*7$$\"0dw)GE9HQF*$!+)=![k'*F*7$$\"0> _3RF*$!,e0tM4\"F*7$$\"0s6wKt,*RF*$!,x#Rm$>\"F*7$$\"0D12rC=2%F*$!,t \\`KE\"F*7$$\"0'H/-Sy2TF*$!,hu8WG\"F*7$$\"0ozLHVP9%F*$!,\\eA**H\"F*7$$ \"0/[!RHshTF*$!,c+(f08F*7$$\"0S;Ze-(zTF*$!,)*f2*48F*7$$\"0w%QIAo(>%F*$ !,7esGJ\"F*7$$\"07`g(=m:UF*$!,)p4^98F*7$$\"0?3')p-fB%F*$!,&\\Fz98F*7$$ \"0Gj6_VhD%F*$!,DkZMJ\"F*7$$\"0O=PM%QwUF*$!,7)f]58F*7$$\"0Wti;DmH%F*$! ,%p!**fI\"F*7$$\"0g$Q6o5PVF*$!,x5>CH\"F*7$$\"0v$\\c%)exVF*$!,,yuHF\"F* 7$$\"0]i(*=%))eWF*$!,dlVt@\"F*7$$\"0DJI#*z,a%F*$!,a4T:9\"F*7$$\"0D1&Gp 'op%F*$!+wJtv%*F*7$$\"0fLWL5!oZF*$!+1JZD%)F*7$$\"0%4OSP:R[F*$!+;\"4CH( F*7$$\"04Y68]P#\\F*$!+X\\cfeF*7$$\"0DJ>_Y$3]F*$!+Z-ieVF*7$$\"07`9w5+3& F*$!+$)y__IF*7$$\"0+v4+v;:&F*$!+Xq:I#R&F*$\"+![mEl#F*7$$\"0]PX0!)fY& F*$\"+h_QJRF*7$$\"0Z!=d$Rpa&F*$\"+48zu_F*7$$\"0WB)f')*yi&F*$\"+X0(Ha'F *7$$\"0)o9h5*\\q&F*$\"+)3P(pwF*7$$\"0JqCY$3#y&F*$\"+%zw$3()F*7$$\"0Q%) *G\"fH%fF*$\",$*zWe0\"F*7$$\"0>#z5Kp!4'F*$\",`xJT=\"F*7$$\"0m(\\$zo.<' F*$\",N:wcB\"F*7$$\"07.iPW+D'F*$\",_snWF\"F*7$$\"0K6_kC9H'F*$\",4gB&*G \"F*7$$\"0`>U\"\\!GL'F*$\",)[:3,8F*7$$\"0tFK=&=ujF*$\",NxP\"48F*7$$\"0 %fB_ac:kF*$\",W2'p88F*7$$\"0N_!)4(e^kF*$\",*e[#[J\"F*7$$\"0voQu3w['F*$ \",*3LK88F*7$$\"0;&o*QIO_'F*$\",ZU2#48F*7$$\"0c,b._'flF*$\",7A(\\-8F*7 $$\"0ZbTwguj'F*$\",l;n#z7F*7$$\"0Q4G\\p_r'F*$\",!R;NW7F*7$$\"0](Q`v.wo F*$\",^3@p8\"F*7$$\"0)=#et%=:F*7 $$\"0N_C/ub*yF*$!+E3zPGF*7$$\"0vVC4pe(zF*$!+;ZTPTF*7$$\"05YpZ?90)F*$!+ :ELI`F*7$$\"0W[9'=(p7)F*$!+4'zE['F*7$$\"0>ULz<\\G)F*$!+t`f4()F*7$$\"0D c;\")Q$R%)F*$!,atdi0\"F*7$$\"0%f$oI.5g)F*$!,9_)[/7F*7$$\"0Z0%oV&)y')F* $!,h/TcD\"F*7$$\"0+v*Haqc()F*$!,p7nj$))F*$!,V0=\"F*7$$\"0](Q?^%*=#*F*$!,A$QJ?6F*7$$\"0Jq%fp4-$*F*$!,>M8 _+\"F*7$$\"07`&)z[_Q*F*$!+1TW+')F*7$$\"01*o%z?'f%*F*$!+]92LqF*7$$\"0+D 3z#*R`*F*$!+6wy)>&F*7$$\"0sO1&))G8'*F*$!+[e0NHF*7$$\"0W[/\"\\e#p*F*$!* WyrQ$F*7$$\"0(H/MJ`I(*F*$\"+P(ee-\"F*7$$\"0]PwN\"[o(*F*$\"+o-prCF*7$$ \"0.K7eHk!)*F*$\"+BhT+SF*7$$\"0cE[!yPW)*F*$\"+zHn8cF*7$$\"0#*>ONe^))*F *$\"+*RMMW(F*7$$\"0G8C!*Qf#**F*$\"+tisu$*F*7$$\"0k17X>n'**F*$\",pyc49 \"F*7$$\"0++++]2+\"!#9$\"+%Q(*\\N\"Fgam-%&COLORG6&%$RGBG$\"\"(!\"\"\" \"!$\"\"*F`bm-%*THICKNESSG6#\"\"\"-F$6%7$7$F($FabmFabmF'-F[bm6&F]bm$\" \"$F`bm$\"\")F`bmF_cmFdbm-F$6%7$7$$\"0Ij%=7\"G\"HF*F\\cm7$Fgcm$\",eeJ[ J\"F*F]cmFdbm-F$6%7$7$$\"07NcysUA%F*F\\cm7$F`dm$!,aeJ[J\"F*F]cmFdbm-F$ 6%7$7$$\"0y\")*HC!)[kF*F\\cm7$Fidm$\",deJ[J\"F*F]cmFdbm-F$6%7$7$$\"0W) 4%[A:)))F*F\\cm7$FbemFcdmF]cmFdbm-F$6%7$7$$FgbmFabmF\\cm7$Fiem$\",aeJ[ J\"F*F]cmFdbm-F$6%Fjbm-F[bm6&F]bmFgbm$\"\"%F`bmFabm-Febm6#\"\"#-F$6%Fe cmF_fmFcfm-F$6%F^dmF_fmFcfm-F$6%FgdmF_fmFcfm-F$6%F`emF_fmFcfm-F$6%Fgem F_fmFcfm-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F(Feam;$!/&zI2\")[J\"!# =$\"/&zI2\")[J\"F^hm" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Cu rve 13" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3p-LY=7\"G\"H!#=$\"3 ;B^j&ysUA%F($\"3qw<)*HC!)[kF($\"3oW%)4%[A:)))F($\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%:adj usted~critical~points:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++] #!#:$\"3p-LY=7\"G\"H!#=$\"3)3!p/CiCHUF($\"3qw<)*HC!)[kF($\"3oW%)4%[A:) ))F($\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%,iteration~5G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%G--------------------------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3gm4JV'*[*Q\"!#=\"\"\"*&$\"3fhm%*=:-OG!#_;%[J\"!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"(o *HP!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5relative~difference:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"05o$G!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3p-LY=7\"G\"H!#=$\"3)3!p/CiCHU F($\"30un?IW**[kF($\"3oW%)4%[A:)))F($\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~6G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G---------------------------------- ----G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approx imation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\"3p-(oNk*[*Q\"!#=\" \"\"*&$\"3Qz$e%=:-OG!#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"(h%)3\"!#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5rela tive~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0F4lvm#y#)!#B " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"0+++++++\"!#A" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~poi nts:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6($\"0++++++]#!#:$\"3p-LY=7\"G \"H!#=$\"3)3!p/CiCHUF($\"30un?IW**[kF($\"3%QKY2q0;)))F($\"\"\"\"\"!" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%7minimax~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,($\" +W'*[*Q\"!#5\"\"\"*&$\"+=:-OG!\"*F(%\"xGF(F(*&$\"+[uQEFF,F()F-\"\"#F(F (F(,($F(\"\"!F(*&$\"+'pu;'RF,F(F-F(F(*&$\"+.?e(R(F'F(F1F(F(!\"\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%0minimax~error:~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&[J\"!\"*" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%\"hGf*6#%\"xG6\"6$%)operatorG%&arrowGF(*&,($\"+W'*[*Q\"!#5\"\"\"*& $\"+=:-OG!\"*F19$F1F1*&$\"+[uQEFF5F1)F6\"\"#F1F1F1,($F1\"\"!F1*&$\"+'p u;'RF5F1F6F1F1*&$\"+.?e(R(F0F1F:F1F1!\"\"F(F(F(" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6#7gr7$$\"3++++++++D!#= $!3j]xPK`$[J\"!#A7$$\"3([i:gT<-^#F*$!3ihC!esfT:\"F-7$$\"3u\\7.K[V?DF*$ !3x()Hu?$=.+\"F-7$$\"3;vo/[AlIDF*$!3G#z,e267`)!#B7$$\"3.+D1k'p3a#F*$!3 _0#e`cCQ7(F=7$$\"3K]P4'\\/8c#F*$!3Uzg!oS'f&\\%F=7$$\"31+]7G$R?F=7$$\"3R](=U#Q/VEF*$\"3IJ-Rc$ynx$F=7$$\"39++Dc'yMm#F*$\"3-! HAb&z5Z`F=7$$\"3Uv=UK\"R!*p#F*$\"35]\"G8\"G0mwF=7$$\"3=]Pf3'*fMFF*$\"3 N0xQCS/1&*F=7$$\"3#\\ilZ3g,x#F*$\"3g$[/PiU<4\"F-7$$\"3A+v$4c?d!GF*$\"3 7+ZHo/l%>\"F-7$$\"39voaN?rXGF*$\"3#*=+yP4**p7F-7$$\"3/]i:5Nq&)GF*$\"3y ra)*eh)yI\"F-7$$\"3xP4YZ#*p0HF*$\"3hL*z(z.Q98F-7$$\"3&\\ilZ)\\pDHF*$\" 3>'[nCpfLJ\"F-7$$\"397.2A2pXHF*$\"3Vo%))zOz`I\"F-7$$\"3')**\\PfkolHF*$ \"3G\"=\"G**y'4H\"F-7$$\"3I++](e*>YIF*$\"3=gx8e#4x<\"F-7$$\"3?+]i:FrEJ F*$\"3q)RKCb2(o**F=7$$\"3:]i!*yJ%o?$F*$\"3Wrs9z/&GF=7$$\"3\")*\\Pf. cbV$F*$\"3?j@>R]NTY!#C7$$\"3&**\\(=n-[7NF*$!3*4aWF'z\\<>F=7$$\"33+vV) \\/%*e$F*$!3OuzTF!=c9%F=7$$\"3y*\\P%['f*oOF*$!3C'\\27^)HQiF=7$$\"3-+vV )z9&[PF*$!37K)R$RzOz!)F=7$$\"38+D19[\"y#QF*$!3!=V8g00.k*F=7$$\"3C+voH[ 62RF*$!3!)GVx<&G94\"F-7$$\"3/](oHk%o))RF*$!3%R&=\"f4l?>\"F-7$$\"3#)*** \\iXa-2%F*$!3mBt6N,:i7F-7$$\"3m\\(=U#y<1TF*$!3gpL&3(4a$G\"F-7$$\"31+v= #>,@9%F*$!31jq,'R'G*H\"F-7$$\"3)\\(=%F*$!3WZY1f,g78F-7$$\"3I+]7Gz%R@%F *$!30A2\"\\khVJ\"F-7$$\"35D\"y+`oTB%F*$!3*\\(ynSGy98F-7$$\"3!*\\7.K\"* QaUF*$!3T`D)G'yd88F-7$$\"3suV)Rt4YF%F*$!3\\xt`lox58F-7$$\"31+v$fLI[H%F *$!3\"H%4Bx4T18F-7$$\"3D]P%)R:FNVF*$!3'oyMrX8JH\"F-7$$\"3')***\\Pu7dP% F*$!3;t]T%)4&RF\"F-7$$\"3/++]is#pX%F*$!3V(o`=(*y)=7F-7$$\"3B++D\"yT\"Q XF*$!3\"[W]_D=O9\"F-7$$\"3%)***\\iDsYp%F*$!3')y'*pbA91&*F=7$$\"3/]P%)* eWdw%F*$!3]vw2b7zf%)F=7$$\"3D+vVBp\"o$[F*$!35yy#p![GItF=7$$\"39]PM-)G8 #\\F*$!34J>KlfA&F=7$$\"3h*\\Pf)QxCcF*$\"3M#y%>\"*e&f\\'F=7$$\"3i**\\( =F*y,dF*$\"3jYp+[5,DwF=7$$\"3k*\\7yl/)ydF*$\"3a'y*)Q**okm)F=7$$\"3B+]P 4'>&RfF*$\"3-stPC69=a[J\"F-7$$\"3[++v=^i$['F*$\"3wiQ+z?k88F-7$$\"3 u]i!*y2h>lF*$\"3>am+-*=)48F-7$$\"3!**\\i!RkfblF*$\"3!>L)4lTS.8F-7$$\"3 .](=nVFLj'F*$\"3-3G\"F-7$$\"3;+]PM%e5r'F*$\"3!odJ-NalC\"F-7$$\"3 G++]()emroF*$\"3t$>EFsh/9\"F-7$$\"3y**\\(o%*)yGqF*$\"3bU:!y%z4U**F=7$$ \"3)**\\Pfe83=(F*$\"3'zNqc.2m<)F=7$$\"3Y+]7G5h\\tF*$\"3Gk`6\\5(>)eF=7$ $\"3'**\\7G.ZaU(F*$\"3G9(RY>F)eZF=7$$\"3Z****\\PIG,vF*$\"3/tJ)pH!o!f$F =7$$\"3C**\\PfTD#e(F*$\"3XQ&*oSp8/BF=7$$\"37++D\"GDKm(F*$\"3St2d<.Q%)) *F\\t7$$\"3M\\PM_rfOxF*$!3'GV')[m&=)=#F\\t7$$\"3m*\\PM-p*4yF*$!3@Lc$4J B2V\"F=7$$\"3/]PfeQ=!*yF*$!31tr+&zK'\\FF=7$$\"3U++v$p)RqzF*$!3O\"=:Gu7 (\\SF=7$$\"3'*\\PM-Y(e/)F*$!3D)*RNFE&RC&F=7$$\"3\\*\\P4^]87)F*$!37;NsN !R&)R'F=7$$\"35+voa'Q\"z#)F*$!3J+\\f`1KL')F=7$$\"3o***\\iS0MV)F*$!3uBf `X8&)\\5F-7$$\"3k*\\P%)R3\\f)F*$!31T^AWW))*>\"F-7$$\"3i](=no\"os')F*$! 3/S&y?U4@D\"F-7$$\"3[+++v\\X]()F*$!3))e1`\\xW*G\"F-7$$\"3=^i:&=A-z)F*$ !3Z)GrIyQBI\"F-7$$\"3#3]7`R*)*H))F*$!3-(40w3)y58F-7$$\"3kD1R+I()\\))F* $!3&\\h$GB')G88F-7$$\"3W](oagc(p))F*$!319s%)*\\3YJ\"F-7$$\"3Evoa5-k*)) )F*$!3'4F%GVUs98F-7$$\"32+]i:Q_4*)F*$!3)p(Ry]Bh88F-7$$\"3gCJ?L<'*[*)F* $!3*f<<\\E#o28F-7$$\"3E]7y]'*R))*)F*$!3sfvgMhk'H\"F-7$$\"3!fPf$ov$y-*F *$!3sT;k2(>.G\"F-7$$\"3W+v$f[vs1*F*$!39u:R;%=&e7F-7$$\"3S](=n=a(R\"*F* $!3)**f'=U*eN?\"F-7$$\"3O++]()GB7#*F*$!3Z*y&=!\\M$G6F-7$$\"3G+D\"yl,`H *F*$!3G@PMg7r:5F-7$$\"3?+]7G/Py$*F*$!3H(p(*>p9At)F=7$$\"37+DcE\"oEX*F* $!3)Q3^mNd0>(F=7$$\"3++++De'p_*F*$!3SyYhkA$y2^JF=7$$\"3=+v$4^*R&o*F*$!3uwFd*p](yeF\\t7$$\"3!*\\(=U#)4Ls*F*$ \"3YG-W@$=7g(F\\t7$$\"3i****\\P,Ah(*F*$\"3190hs***))=#F=7$$\"3W]7y]/8* z*F*$\"3iMf04V4+PF=7$$\"3;+D1k2/P)*F*$\"3S*RbE:P`H&F=7$$\"3%[(o/t0yx)* F*$\"3Az%[0E(>0rF=7$$\"3k]7.#Q?&=**F*$\"3Ts#))*H.-;!*F=7$$\"3KDc,\">g# f**F*$\"3VN'p*Q?)H5\"F-7$$\"\"\"\"\"!$\"3iQER\"pg[J\"F--%'COLOURG6&%$R GBG$F[bmF[bmFbbm$\"*++++\"!\")-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;$ \"+++++D!#5Fiam%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 5" }}{PARA 0 "" 0 "" {TEXT 274 8 "Question" } {TEXT -1 2 ": " }}{PARA 0 "" 0 "" {TEXT -1 37 "Find a rational functio n of the form " }{XPPEDIT 18 0 "r(x)=p(x)/q(x)" "6#/-%\"rG6#%\"xG*&-% \"pG6#F'\"\"\"-%\"qG6#F'!\"\"" }{TEXT -1 8 ", where " }{XPPEDIT 18 0 " p(x)" "6#-%\"pG6#%\"xG" }{TEXT -1 18 " has degree 3 and " }{XPPEDIT 18 0 "q(x)" "6#-%\"qG6#%\"xG" }{TEXT -1 30 " has degree 4, to approxim ate " }{XPPEDIT 18 0 "Gamma(x+1)" "6#-%&GammaG6#,&%\"xG\"\"\"F(F(" } {TEXT -1 17 " on the interval " }{XPPEDIT 18 0 "[0,1]" "6#7$\"\"!\"\" \"" }{TEXT -1 29 " with minimax absolute error." }}{PARA 0 "" 0 "" {TEXT -1 77 "Find the maximum difference between the extreme values of the error function." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT 275 8 "Solution" }{TEXT -1 2 ": " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "remez(GAMMA(x+1),x=0. .1,[3,4],'maxerr','minerr',info=true):\nr := unapply(%,x);\nmaxerr;\nm inerr;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%]pRemez~algorithm:~calculat ing~minimax~error~estimate~by~solving~a~rational~equationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%D--~minimising~the~ABSOLUTE~error~--G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%Wstandard~Chebyshev~points~for~initial~critical~points:G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6+$\"\"!F$$\"2AmNWPBg!Q!#=$\"3Qis1%4mWY\"F'$\" 37^X'*F'$\"3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G--------------------------------------G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"6t\\w`x+')*******!#@\"\"\"*&$\"6vQ6#y z_.IJgF'F(%\"xGF(F(*&$\"6ZiR#)=H'*>A'=F'F()F,\"\"#F(F(*&$\"6N)*Rxg3=-. !p!#AF()F,\"\"$F(F(F(,,$F(\"\"!F(*&$\"6VV*\\OcgMM!=\"!#?F(F,F(F(*&$\"6 n?s9lZ!Rl97F'F(F0F(!\"\"*&$\"6Gnq1+bY@eh#F'F(F6F(FB*&$\"6%))y;fM&=9f5' F5F()F,\"\"%F(F(FB" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%goal~for ~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3fQy@9i!z $G!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "67-%'CURVESG6%7au7$$\"\"!F)$\",NiC#*R\"!#=7$$\"3M$3_v X%oj8!#?$\",[2&H-6F,7$$\"3omT5:*ots#F0$\"+\"GdCE)F,7$$\"3-]ilsL0\"4%F0 $\"+*=)3-dF,7$$\"3NL$3-$ytaaF0$\"+90ULLF,7$$\"3q;/w(GA%=oF0$\"+G-G[6F, 7$$\"3.+DJXn5#=)F0$!*_MEh)F,7$$\"3P$ekG?\"zX&*F0$!+UP!Hq#F,7$$\"3nm;/m v%44\"!#>$!+U<5%Q%F,7$$F/FT$!+ap)QH(F,7$$\"3++D1\\8UO;FT$!+:y'ek*F,7$$ \"3n;HdS#e\"4>FT$!,(\\8>\\6F,7$$\"3MLL3K^*==#FT$!,r8n!)G\"F,7$$\"3n\"H dS&*3ll#FT$!,c='4M9F,7$$\"3,]7.wF7JJFT$!,(3JCx9F,7$$\"3M3_+)fOdg$FT$!, %f!*)pV\"F,7$$\"3nm\"z*>/N!3%FT$!,8vd0L\"F,7$$\"3Me*)4,L59YFT$!,B*4f]6 F,7$$\"3,](=A=cy9&FT$!+s`oZ#*F,7$$\"3nT&QL14;o&FT$!+Vm!4p'F,7$$\"3ML$e W%>O:iFT$!+!*))3rRF,7$$\"3NLe9')Gl_nFT$!+#y![$=\"F,7$$\"3NLL$y#Q%**G(F T$\"+Huce:F,7$$\"3OL3_pZBFyFT$\"+@IHxTF,7$$\"3NL$37rDXO)FT$\"+4s(3h'F, 7$$\"3qT&QG+j#**))FT$\"+4Su,))F,7$$\"3.](oWH+SV*FT$\",wi3F2\"F,7$$\"3P e*)4'eP(o**FT$\",_&*piB\"F,7$$\"3n;Hx([Z.0\"F,$\",q\"\\Op8F,7$$\"3+](o =Z,&\\6F,$\",1c#oL:F,7$$\"3M$ekfXb'[7F,$\",rV&y#f\"F,7$$\"3nm;z2DKu7F, $\",Y8W\"F,7$$ \"3M$e9V3^jm\"F,$\"+!\\^n>*F,7$$\"3++]2G1F>sF,$\"*\\T0j(F,7$$\"3Me*[,x(*o)>F,$!+;))[?5F,7$$ \"3^7`aD?LT?F,$!+1uNsFF,7$$\"3nm;%4Gmd4#F,$!+RG)HZ%F,7$$\"3,]i]Cxl\"># F,$!+liY!H(F,7$$\"3ML32o\"\\vG#F,$!+q&o\"4)*F,7$$\"3n;zp@-]&R#F,$!,EM# G?7F,7$$\"3++]Kv7X.DF,$!,j!H.19F,7$$\"3+++N'eX=h#F,$!,R1YS`\"F,7$$\"3+ +]P(*)R-s#F,$!,&4$)Q,;F,7$$\"3++vG)Raju#F,$!,)po_3;F,7$$\"3+++?**)oCx# F,$!,7Ls@h\"F,7$$\"3++D6+Me)z#F,$!,e-aBh\"F,7$$\"3++]-,zpCGF,$!,e%y54; F,7$$\"3+++&G!p#p(GF,$!,,&o]#f\"F,7$$\"3++]n/f:HHF,$!,^$*yFc\"F,7$$\"3 n\"zW#zP,CIF,$!,jR(*oZ\"F,7$$\"3M$e9Qlr)=JF,$!,dwyIN\"F,7$$\"3,D\"G:%o mJKF,$!,*zqgi6F,7$$\"3nm;CH?YWLF,$!+)oFAL*F,7$$\"3omTg[V,SMF,$!+hoW`rF ,7$$\"3nmm'zmmb`$F,$!+M_P@[F,7$$\"3Me*[4t;nk$F,$!+tl(e*>F,7$$\"3,]7$Rz myv$F,$\"**z14')F,7$$\"3MeRKLMDcQF,$\"+M:NULF,7$$\"3nmmrs+kaRF,$\"+.?! or&F,7$$\"3MeRd4eeiSF,$\"+?8=L\")F,7$$\"3,]7VY:`qTF,$\",,\\^)G5F,7$$\" 3++D'[T@LF%F,$\",BSXY?\"F,7$$\"3,]PH$G6hP%F,$\",g\"*4wM\"F,7$$\"3MekjF <71f%F,$\",+G!eF:F,7$$\"3VNr%*=XB:YF,$ \",$3RUP:F,7$$\"3=/^\"f'o&)RYF,$\",!=3*\\a\"F,7$$\"3$H2$)G@zWm%F,$\", \")Rw-b\"F,7$$\"3oT5&)f:5*o%F,$\",so!Rs8ZF,$\",O\"3+ a:F,7$$\"3=zpy`iMQZF,$\",S2YCb\"F,7$$\"3$z%\\v+'oHw%F,$\",D\"Gi[:F,7$$ \"3n;HsZ4f(y%F,$\",%[>aU:F,7$$\"3,vo*z0DQ*[F,$\",3G>3\\\"F,7$$\"3ML3Fo \"f++&F,$\",H#H;*R\"F,7$$\"3M3FH_lS5^F,$\",&>ahk7F,7$$\"3M$e9j$Rv?_F,$ \",/fNS4\"F,7$$\"3nm;\\e;\"oJ&F,$\"+c:>,#*F,7$$\"3,](o1QpGT&F,$\"+(H$[ lsF,7$$\"3n\"H2AN9m^&F,$\"+.R/.]F,7$$\"3MLeuB$f.i&F,$\"+tTO=EF,7$$\"3n ;zzI!Qvs&F,$\")PT\"3*F,7$$\"3,++&yt;Z$eF,$!+$Q>NV#F,7$$\"3+]i!G>q&RfF, $!+&*RFL[F,7$$\"3,+DwZOUWgF,$!++j^*4(F,7$$\"3+vo*ovue9'F,$!+@9@2\"*F,7 $$\"3,]7.meKZiF,$!,!\\L,)3\"F,7$$\"3+vVyD+(*fjF,$!,0<2;D\"F,7$$\"3,+v` &=9EZ'F,$!,8[hZP\"F,7$$\"3n\"HK$z?ABlF,$!,0!em:9F,7$$\"3M$3FJ(*HQd'F,$ !,&z78Z9F,7$$\"3,v=#p'yVCmF,$!,W$e()o9F,7$$\"3ommrgd/vmF,$!,J$Rn![\"F, 7$$\"3Me*[]7j?q'F,$!,d/SG[\"F,7$$\"3,]7Q*[!3HnF,$!,Yp/@[\"F,7$$\"3nTNr `y4cnF,$!,Vva%y9F,7$$\"3MLe/=_6$y'F,$!,!pA)=Z\"F,7$$\"3n;/rY*\\r$oF,$! ,QAk*\\9F,7$$\"3,+]PvY=\"*oF,$!,XX$R;9F,7$$\"3n\"z%*fm6\"*)pF,$!,P()Qj K\"F,7$$\"3M$e9mlQq3(F,$!,6yB+?\"F,7$$\"3n\"zpKs)4%>(F,$!,)*=FM-\"F,7$ $\"3,+]#**ye6I(F,$!+n8W6\")F,7$$\"3Me9EpR*=S(F,$!+(*y&=%eF,7$$\"3o;zf[ \"HE](F,$!+jRPqLF,7$$\"3M$3FlVEzg(F,$!*4%pxkF,7$$\"3,]iXCPA8xF,$\"+E'f x7#F,7$$\"3Me*)**p5<;yF,$\"+5x[(z%F,7$$\"3om;a:%=\">zF,$\"+GIrCtF,7$$ \"3Me9mXZ*o-)F,$\"+>]32(*F,7$$\"3,]7yv5nM\")F,$\",5Jr/<\"F,7$$\"3o\"H2 7\\s%Q#)F,$\",e\"f#fJ\"F,7$$\"3NLLj1RFU$)F,$\",Z&f(eS\"F,7$$\"3'3FW:*= \")o$)F,$\",b*f&*=9F,7$$\"3O3_Xw)\\`R)F,$\",9KbxU\"F,7$$\"3'e9m8'y)=U) F,$\",\\zk@V\"F,7$$\"3O$3xi%eU[%)F,$\",SS%3K9F,7$$\"3'3-)=JQ'\\Z)F,$\" ,?(RUF9F,7$$\"3Oe*)4;=],&)F,$\",8)Q5=9F,7$$\"3'e*)45!)R!G&)F,$\",3#e0/ 9F,7$$\"3NL3#fyxXb)F,$\",KcB_Q\"F,7$$\"3-v$4Rt])f')F,$\",]:TFE\"F,7$$ \"3o;z*=oB^w)F,$\",E_rT1\"F,7$$\"3MeR(yee='))F,$\"+pPqy\")F,7$$\"3,++& Q\\$fe*)F,$\"+([KU<&F,7$$\"3nT&QK0GS,*F,$\"+!G+,D$F,7$$\"3M$3FEhi%p!*F ,$\"++'>I@\"F,7$$\"3,Dc,sr*[7*F,$!*\"R;A!*F,7$$\"3omTSJ\"Q\"F,7$$\"3_7.7h'4gm*F,$!,')R)zW8F,7$$\" 3-++&oZ38p*F,$!,7fR3H\"F,7$$\"3-v$4$3h!>u*F,$!,T,XW7\"F,7$$\"3-](o(RP] #z*F,$!+b*>!)p)F,7$$\"3FcwHs2p>)*F,$!+H,N>pF,7$$\"3^il#[!y(o%)*F,$!+ze zD[F,7$$\"3woaNP[1u)*F,$!+dNV%R#F,7$$\"3,vV))p=D,**F,$\"*gim)RF,7$$\"3 7G)[hQX[\"**F,$\"+**yiQ>F,7$$\"3D\"G8C!*Q%G**F,$\"++\"o%yNF,7$$\"3PMxn =C.U**F,$\"+ySZ@`F,7$$\"3](=U\\$fib**F,$\"+(\\,5<(F,7$$\"3jSm?^%>#p**F ,$\"+^aZI\"*F,7$$\"3v$4ru'H\"G)**F,$\",l9R.7\"F,7$$\"3)oaNP[1k***F,$\" ,GkJ$R8F,7$$\"3+++++++,5!#<$\"+j*)Qq:Fj^n-%&COLORG6&%$RGBG$\"\"(!\"\"F )$\"\"*Fc_n-%*THICKNESSG6#\"\"\"-F$6%7$7$F(F(F'-F^_n6&F`_n$\"\"$Fc_n$ \"\")Fc_nF``nFf_n-F$6%7$7$$\"2AmNWPBg!QF,F(7$Fh`n$!,MiC#*R\"F,F^`nFf_n -F$6%7$7$$\"3Qis1%4mWY\"F,F(7$Faan$\",QiC#*R\"F,F^`nFf_n-F$6%7$7$$\"37 ^X'*F,F(7$F\\dn$!,SiC#*R\"F,F^`nFf_n-F$6%7$7$$\"3++++++++5Fj^nF (7$Fedn$\",JiC#*R\"F,F^`nFf_n-F$6%F\\`n-F^_n6&F`_nFi_n$\"\"%Fc_nF)-Fg_ n6#\"\"#-F$6%7$7$$\"3A$*\\*f'R)>7$FTF(7$Fgen$!,$y&esZ\"F,F\\enF`en-F$6 %7$7$$\"3u#zpgVzT#H$f*F,F(7$F]in$!,%**\\z19F,F\\enF`en-F$6%FcdnF\\enF`en-%+A XESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F($\"0+++++5+\"!#9;$!/.!yw)p7;!#@$ \"/.!yw)p7;Fejn" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "C urve 14" "Curve 15" "Curve 16" "Curve 17" "Curve 18" "Curve 19" }}} {PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 12 "" 1 " " {XPPMATH 20 "6+$\"\"!F$$\"6j>K*\\*f'R)>7$!#A$\"6wWFzpgVzT#H$f*F*$\"3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~2G" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%G--------------------------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"6#\\g!p<6&)*******!#@\"\"\"*&$ \"6Qm@]mDxdx,'F'F(%\"xGF(F(*&$\"6#\\\"R:\"eZzWh=F'F()F,\"\"#F(F(*&$\"6 o2]m/$>`Juo!#AF()F,\"\"$F(F(F(,,$F(\"\"!F(*&$\"6dhaO.K<*)*y6!#?F(F,F(F (*&$\"6Du!>Xm*[XKA\"F'F(F0F(!\"\"*&$\"6)4ZSWD$=K*4EF'F(F6F(FB*&$\"6F@? .b]?L#*4'F5F()F,\"\"%F(F(FB" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%Z0+tz*z\"!#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3fQy@9i!z$G!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "67-%'CURVESG6%7cu7$$\"\"!F)$\",S4B) )[\"!#=7$$\"3M$3_vX%oj8!#?$\",q49x=\"F,7$$\"3omT5:*ots#F0$\"+Q<;u!*F,7 $$\"3-]ilsL0\"4%F0$\"+5hpqkF,7$$\"3NL$3-$ytaaF0$\"+@))ReSF,7$$\"3q;/w( GA%=oF0$\"+<4$!+.7^PQF,7$$F/FT$!+21'y$oF,7$$\"3++D1\\8UO; FT$!+')Hl!G*F,7$$\"3n;HdS#e\"4>FT$!,(3/t@6F,7$$\"3MLL3K^*==#FT$!,uG/'p 7F,7$$\"3n\"HdS&*3ll#FT$!,$*3I5V\"F,7$$\"3,]7.wF7JJFT$!,v=*3*[\"F,7$$ \"3eRZ_Jix\\KFT$!,DTo(*[\"F,7$$\"3/N!3%FT$!,1\"Q=q8F,7$$\"3Me*)4,L59YFT$!,1lcV? \"F,7$$\"3,](=A=cy9&FT$!+!ykW\"**F,7$$\"3nT&QL14;o&FT$!+Z?htuF,7$$\"3M L$eW%>O:iFT$!+(*>'e&[F,7$$\"3NLe9')Gl_nFT$!+V%pl:#F,7$$\"3NLL$y#Q%**G( FT$\"*#4i=^F,7$$\"3OL3_pZBFyFT$\"+\"[/<2$F,7$$\"3NL$37rDXO)FT$\"+=x+ha F,7$$\"3qT&QG+j#**))FT$\"+^)G?i(F,7$$\"3.](oWH+SV*FT$\"+$Q?8`*F,7$$\"3 Pe*)4'eP(o**FT$\",pl9F,7$$\"3M$ekfXb'[7F,$\",%)3Mv[\"F,7$$\"3nm;z2DKu7F,$ \",Zcf#*[\"F,7$$\"3+](='f&*)**H\"F,$\",Va\"z%[\"F,7$$\"3MLeW6mlD8F,$\" ,JusF,$\"*Jp\"\\')F,7$$\"3Me*[,x(*o)>F,$!*\"pU]\")F,7$$ \"3^7`aD?LT?F,$!+[!Q`Y#F,7$$\"3nm;%4Gmd4#F,$!+]y-nSF,7$$\"3,]i]Cxl\"># F,$!+P%*R=nF,7$$\"3ML32o\"\\vG#F,$!+'=HQ3*F,7$$\"3n;zp@-]&R#F,$!,WxJB8 \"F,7$$\"3++]Kv7X.DF,$!,1s#)[I\"F,7$$\"3+++N'eX=h#F,$!,e#))3A9F,7$$\"3 ++]P(*)R-s#F,$!,&)*fA\"[\"F,7$$\"3++vG)Raju#F,$!,1r(y'[\"F,7$$\"3+++?* *)oCx#F,$!,+L8!*[\"F,7$$\"3++D6+Me)z#F,$!,umKz[\"F,7$$\"3++]-,zpCGF,$! ,d*=e$[\"F,7$$\"3+++&G!p#p(GF,$!,Z=X_Y\"F,7$$\"3++]n/f:HHF,$!,xD6WV\"F ,7$$\"3n\"zW#zP,CIF,$!,z6:\"[8F,7$$\"3M$e9Qlr)=JF,$!,N8$*eA\"F,7$$\"3, D\"G:%omJKF,$!,%\\$H)R5F,7$$\"3nm;CH?YWLF,$!+jS6u\")F,7$$\"3omTg[V,SMF ,$!+\"H`F2'F,7$$\"3nmm'zmmb`$F,$!+OKOLQF,7$$\"3Me*[4t;nk$F,$!+#3<71f%F,$\",%flmx9F,7$$\"3VNr %*=XB:YF,$\",Q7?U[\"F,7$$\"3=/^\"f'o&)RYF,$\",Kj`&)[\"F,7$$\"3$H2$)G@z Wm%F,$\",:El1\\\"F,7$$\"3oT5&)f:5*o%F,$\",8Ec0\\\"F,7$$\"3V5!>o!Rs8ZF, $\",h&4B)[\"F,7$$\"3=zpy`iMQZF,$\",Hr'p$[\"F,7$$\"3$z%\\v+'oHw%F,$\",L #R'pZ\"F,7$$\"3n;HsZ4f(y%F,$\",(yf/o9F,7$$\"3,vo*z0DQ*[F,$\",!)zp\\S\" F,7$$\"3ML3Fo\"f++&F,$\",F8HNI\"F,7$$\"3M3FH_lS5^F,$\",!HCkg6F,7$$\"3M $e9j$Rv?_F,$\"+.:=P)*F,7$$\"3nm;\\e;\"oJ&F,$\"+Rt%)f!)F,7$$\"3,](o1QpG T&F,$\"+^WM-hF,7$$\"3n\"H2AN9m^&F,$\"+T+0NQF,7$$\"3MLeuB$f.i&F,$\"+9U& \\Y\"F,7$$\"3n;zzI!Qvs&F,$!+_JQF5F,7$$\"3,++&yt;Z$eF,$!+(\\Im\\$F,7$$ \"3+]i!G>q&RfF,$!+A#eT#eF,7$$\"3,+DwZOUWgF,$!+\\!>7+)F,7$$\"3+vo*ovue9 'F,$!+;$fy!**F,7$$\"3,]7.meKZiF,$!,/Bym:\"F,7$$\"3+vVyD+(*fjF,$!,x&eJ1 8F,7$$\"3,+v`&=9EZ'F,$!,!zRT99F,7$$\"3n\"HK$z?ABlF,$!,f[v#[9F,7$$\"3M$ 3FJ(*HQd'F,$!,q:mDZ\"F,7$$\"3Q\"=u\\mF,$!,/E@0\\\"F,7$$\"3ommrgd/vmF,$!,pX% [\"\\\"F,7$$\"3Me*[]7j?q'F,$!,@')4(*[\"F,7$$\"3,]7Q*[!3HnF,$!,2^F][\"F ,7$$\"3nTNr`y4cnF,$!,(G#HuZ\"F,7$$\"3MLe/=_6$y'F,$!,;17pY\"F,7$$\"3n;/ rY*\\r$oF,$!,4$e8P9F,7$$\"3,+]PvY=\"*oF,$!,RX#y&R\"F,7$$\"3n\"z%*fm6\" *)pF,$!,*\\'\\>H\"F,7$$\"3M$e9mlQq3(F,$!,+/([_6F,7$$\"3n\"zpKs)4%>(F,$ !+$3'HD'*F,7$$\"3,+]#**ye6I(F,$!+!>>DQ(F,7$$\"3Me9EpR*=S(F,$!+LSH:]F,7 $$\"3o;zf[\"HE](F,$!+2sQjCF,7$$\"3M$3FlVEzg(F,$\"*MwYA$F,7$$\"3,]iXCPA 8xF,$\"+()RvPJF,7$$\"3Me*)**p5<;yF,$\"+3N#=#eF,7$$\"3om;a:%=\">zF,$\"+ \\`wP$)F,7$$\"3Me9mXZ*o-)F,$\",uN\"*z1\"F,7$$\"3,]7yv5nM\")F,$\",A#4zg 7F,7$$\"3o\"H27\\s%Q#)F,$\",_v'z'R\"F,7$$\"3NLLj1RFU$)F,$\",HBAZZ\"F,7 $$\"3'3FW:*=\")o$)F,$\",9rOV[\"F,7$$\"3O3_Xw)\\`R)F,$\",^.>&*[\"F,7$$ \"3'e9m8'y)=U)F,$\",x![;!\\\"F,7$$\"3O$3xi%eU[%)F,$\",Z>zh[\"F,7$$\"3O e*)4;=],&)F,$\",bh')RY\"F,7$$\"3NL3#fyxXb)F,$\",cp,CU\"F,7$$\"3-v$4Rt] )f')F,$\",x1M9G\"F,7$$\"3o;z*=oB^w)F,$\",y!>Bj5F,7$$\"3^Pf)[8\"\\8))F, $\"+Owa\"Q*F,7$$\"3MeR(yee='))F,$\"+'[2Z)zF,7$$\"3'3/E-\"*)F,$\"+I& fCX'F,7$$\"3,++&Q\\$fe*)F,$\"+P,I)z%F,7$$\"3nT&QK0GS,*F,$\"+G\"QSx#F,7 $$\"3M$3FEhi%p!*F,$\"*F5&=kF,7$$\"3,Dc,sr*[7*F,$!+6?oh:F,7$$\"3omTSJ$z$F,7$$\"3Ne9;iI\"*H#*F,$!+jT_rdF,7$$\"3-](=HR%\\z#*F,$!+ V)H,p(F,7$$\"3pTgnBd2H$*F,$!+vC$>]*F,7$$\"3NLLVaqly$*F,$!,:l.a6\"F,7$$ \"3p\"H#=M^Q%[*F,$!,iVu*F, $!,(*[`C<\"F,7$$\"3-](o(RP]#z*F,$!+--,'**)F,7$$\"3FcwHs2p>)*F,$!+6:g.r F,7$$\"3^il#[!y(o%)*F,$!+km]%)[F,7$$\"3woaNP[1u)*F,$!+(fZ_J#F,7$$\"3,v V))p=D,**F,$\"*%3v'G'F,7$$\"37G)[hQX[\"**F,$\"+'*y2\\AF,7$$\"3D\"G8C!* Q%G**F,$\"+@<\"G(RF,7$$\"3PMxn=C.U**F,$\"+B&RK!eF,7$$\"3](=U\\$fib**F, $\"+NPzVxF,7$$\"3jSm?^%>#p**F,$\"+]s(zz*F,7$$\"3v$4ru'H\"G)**F,$\",FWO p>\"F,7$$\"3)oaNP[1k***F,$\",p?ghU\"F,7$$\"3+++++++,5!#<$\"+T5%ym\"Fd_ n-%&COLORG6&%$RGBG$\"\"(!\"\"F)$\"\"*F]`n-%*THICKNESSG6#\"\"\"-F$6%7$7 $F(F(F'-Fh_n6&Fj_n$\"\"$F]`n$\"\")F]`nFj`nF``n-F$6%7$7$$\"3A$*\\*f'R)> 7$FTF(7$Fban$!,N4B))[\"F,Fh`nF``n-F$6%7$7$$\"3u#zpgVzT#H$f*F,F(7$Ffdn$!,V4B))[\"F,Fh`nF``n -F$6%7$7$$\"3++++++++5Fd_nF(7$F_en$\",T4B))[\"F,Fh`nF``n-F$6%Ff`n-Fh_n 6&Fj_nFc`n$\"\"%F]`nF)-Fa`n6#\"\"#-F$6%7$7$$\"3(\\V]Z(e.1KFTF(7$Fafn$! ,P75,\\\"F,FfenFjen-F$6%7$7$$\"3\\AX\"4CN&o7F,F(7$Fjfn$\",up<%*[\"F,Ff enFjen-F$6%FbbnFfenFjen-F$6%7$7$$\"37VclZ!zbn%F,F(7$Fegn$\",t#3*3\\\"F ,FfenFjen-F$6%7$7$$\"3\\()[iHQ,smF,F(7$F^hn$!,Tn-:\\\"F,FfenFjen-F$6%7 $7$$\"3[mc@#3tBT)F,F(7$Fghn$\",.8h/\\\"F,FfenFjen-F$6%FddnFfenFjen-F$6 %F]enFfenFjen-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F($\"0+++++5+\"!#9 ;$!/cttE]\"\\\"!#@$\"/cttE]\"\\\"Fajn" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve \+ 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "Curve 14" "Curve 15" "Curve 16" "Curve 17 " "Curve 18" "Curve 19" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~ points:G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6+$\"\"!F$$\"6vr\\V]Z(e.1K!# A$\"6p)[AX\"4CN&o7!#@$\"6qg&4mfD:*oy#F*$\"62BJkbw/zbn%F*$\"6_%\\()[iHQ ,smF*$\"6Ivkm:A3tBT)F*$\"6!o#>gVzT#H$f*F*$\"3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iterat ion~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G-------------------------- ------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rationa l~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"6Kt&yB,^)* ******!#@\"\"\"*&$\"6DH.0>*=>zeOo'Q,oV(o!#AF()F,\"\"$F(F(F(,,$F(\"\"!F(*&$\"6+ln1!Q (e#**y6!#?F(F,F(F(*&$\"6gM-WmVpDKA\"F'F(F0F(!\"\"*&$\"6ye7:*p@)\\*4EF' F(F6F(FB*&$\"6?:Z,]WXk#*4'F5F()F,\"\"%F(F(FB" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3fQy@9i!z$G!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "67-%'CURVESG6%7cu7$$\"\"!F)$\" ,V@w)*[\"!#=7$$\"3M$3_vX%oj8!#?$\",&oXq)=\"F,7$$\"3omT5:*ots#F0$\"+B5Z $3*F,7$$\"3-]ilsL0\"4%F0$\"+a*R%zkF,7$$\"3NL$3-$ytaaF0$\"+QjgmSF,7$$\" 3q;/w(GA%=oF0$\"+9-(o$=F,7$$\"3.+DJXn5#=)F0$!*exi<#F,7$$\"3P$ekG?\"zX& *F0$!+&)=^/@F,7$$\"3nm;/mv%44\"!#>$!+joJKoF,7$$\"3++D 1\\8UO;FT$!+$R)zv#*F,7$$\"3n;HdS#e\"4>FT$!,p#eI@6F,7$$\"3MLL3K^*==#FT$ !,@mK#p7F,7$$\"3n\"HdS&*3ll#FT$!,UVL2V\"F,7$$\"3,]7.wF7JJFT$!,O5[))[\" F,7$$\"3eRZ_Jix\\KFT$!,K]Q&*[\"F,7$$\"3/N!3%FT$!,/$f+q8F,7$$\"3Me*)4,L59YFT$!,?x\" >/7F,7$$\"3,](=A=cy9&FT$!+v,#G\"**F,7$$\"3nT&QL14;o&FT$!+B8(=Z(F,7$$\" 3ML$eW%>O:iFT$!+aw%R&[F,7$$\"3NLe9')Gl_nFT$!+=FUa@F,7$$\"3NLL$y#Q%**G( FT$\"**e!G9&F,7$$\"3OL3_pZBFyFT$\"+JyTuIF,7$$\"3NL$37rDXO)FT$\"+iY-kaF ,7$$\"3qT&QG+j#**))FT$\"+OUMDwF,7$$\"3.](oWH+SV*FT$\"+a)>\\`*F,7$$\"3P e*)4'eP(o**FT$\",Tm.o6\"F,7$$\"3n;Hx([Z.0\"F,$\",\"4h\"4D\"F,7$$\"3+]( o=Z,&\\6F,$\",aSS-U\"F,7$$\"3M$ekfXb'[7F,$\",AX\"*z[\"F,7$$\"3nm;z2DKu 7F,$\",3G=(*[\"F,7$$\"3+](='f&*)**H\"F,$\",.R]_[\"F,7$$\"3MLeW6mlD8F,$ \",6[vZZ\"F,7$$\"3n;HFjOK^8F,$\",m.'\\e9F,7$$\"3M$3FpwdES\"F,$\",4c(R4 9F,7$$\"3+]7eq=*RX\"F,$\",Qz4)R8F,7$$\"3n;zWx9([&R6F,7$$\"3 M$e9V3^jm\"F,$\"+Ct!**y)F,7$$\"3++]2G1F>s< F,$\"+7T&Qy&F,7$$\"3MLef:(4^#=F,$\"+GcE'=%F,7$$\"3+]iNf#H!y=F,$\"+PL[b DF,7$$\"3F,$\"*%yJd')F,7$$\"3Me*[,x(*o)>F,$!*lK%[\")F,7$$\"3^ 7`aD?LT?F,$!+!H'ylCF,7$$\"3nm;%4Gmd4#F,$!+DA:oSF,7$$\"3,]i]Cxl\">#F,$! +FBx?nF,7$$\"3ML32o\"\\vG#F,$!+#\\0v3*F,7$$\"3n;zp@-]&R#F,$!,a,]G8\"F, 7$$\"3++]Kv7X.DF,$!,yv_bI\"F,7$$\"3+++N'eX=h#F,$!,a^4HU\"F,7$$\"3++]P( *)R-s#F,$!,Pu#>#[\"F,7$$\"3++vG)Raju#F,$!,yl)y([\"F,7$$\"3+++?**)oCx#F ,$!,;-[+\\\"F,7$$\"3++D6+Me)z#F,$!,Jh+!*[\"F,7$$\"3++]-,zpCGF,$!,;d#o% [\"F,7$$\"3+++&G!p#p(GF,$!,Yh4kY\"F,7$$\"3++]n/f:HHF,$!,%fpjN9F,7$$\"3 n\"zW#zP,CIF,$!,L)\\W\\8F,7$$\"3M$e9Qlr)=JF,$!,B(oJF7F,7$$\"3,D\"G:%om JKF,$!,Gs\\8/\"F,7$$\"3nm;CH?YWLF,$!+Ad5!>)F,7$$\"3omTg[V,SMF,$!+qGE*3 'F,7$$\"3nmm'zmmb`$F,$!+`oC]QF,7$$\"3Me*[4t;nk$F,$!+D)[(\\6F,7$$\"3,]7 $Rzmyv$F,$\"+TVym:F,7$$\"3MeRKLMDcQF,$\"+Qf#Q\"RF,7$$\"3nmmrs+kaRF,$\" +R#[l9'F,7$$\"3MeRd4eeiSF,$\"+'\\%o,%)F,7$$\"3,]7VY:`qTF,$\",h]n#R5F,7 $$\"3++D'[T@LF%F,$\",#ygR*>\"F,7$$\"3,]PH$G6hP%F,$\",K<71f%F,$\",#[\"RlZ\"F,7$$\"3VNr%*=X B:YF,$\",hhCJ[\"F,7$$\"3=/^\"f'o&)RYF,$\",(y1\\([\"F,7$$\"3$H2$)G@zWm% F,$\",')[N'*[\"F,7$$\"3oT5&)f:5*o%F,$\",@Gg&*[\"F,7$$\"3V5!>o!Rs8ZF,$ \",)f$ps[\"F,7$$\"3=zpy`iMQZF,$\",)p+x#[\"F,7$$\"3$z%\\v+'oHw%F,$\",?y sgZ\"F,7$$\"3n;HsZ4f(y%F,$\",#o3>n9F,7$$\"3,vo*z0DQ*[F,$\",'ycF/9F,7$$ \"3ML3Fo\"f++&F,$\",Gm.II\"F,7$$\"3M3FH_lS5^F,$\",KD)Hg6F,7$$\"3M$e9j$ Rv?_F,$\"+NOfN)*F,7$$\"3nm;\\e;\"oJ&F,$\"+L$*))f!)F,7$$\"3,](o1QpGT&F, $\"+wb,/hF,7$$\"3n\"H2AN9m^&F,$\"+7DYQQF,7$$\"3MLeuB$f.i&F,$\"+z12q9F, 7$$\"3n;zzI!Qvs&F,$!+Cbc?5F,7$$\"3,++&yt;Z$eF,$!+3@>)[$F,7$$\"3+]i!G>q &RfF,$!+'>JU\"eF,7$$\"3,+DwZOUWgF,$!+Au\"**)zF,7$$\"3+vo*ovue9'F,$!+hC N&*)*F,7$$\"3,]7.meKZiF,$!,.y?`:\"F,7$$\"3+vVyD+(*fjF,$!,bkd[I\"F,7$$ \"3,+v`&=9EZ'F,$!,,PvGT\"F,7$$\"3n\"HK$z?ABlF,$!,lz2nW\"F,7$$\"3M$3FJ( *HQd'F,$!,*HR(4Z\"F,7$$\"3U&[\"F,7$$\"3%3F>Q\"=u\\mF,$!,+*4!*)[\"F,7$$\"3ommrgd/vmF,$!,oAd)*[ \"F,7$$\"3Me*[]7j?q'F,$!,>aw!)[\"F,7$$\"3,]7Q*[!3HnF,$!,p\\*Q$[\"F,7$$ \"3nTNr`y4cnF,$!,*Gzyv9F,7$$\"3MLe/=_6$y'F,$!,v*)o_Y\"F,7$$\"3n;/rY*\\ r$oF,$!,aB$\\N9F,7$$\"3,+]PvY=\"*oF,$!,x@YTR\"F,7$$\"3n\"z%*fm6\"*)pF, $!,s&)R.H\"F,7$$\"3M$e9mlQq3(F,$!,+1B4:\"F,7$$\"3n\"zpKs)4%>(F,$!+:'y. h*F,7$$\"3,+]#**ye6I(F,$!+ODbotF,7$$\"3Me9EpR*=S(F,$!+B`U-]F,7$$\"3o;z f[\"HE](F,$!+)y0=X#F,7$$\"3M$3FlVEzg(F,$\"*vB^K$F,7$$\"3,]iXCPA8xF,$\" +8=3YJF,7$$\"3Me*)**p5<;yF,$\"+.mJGeF,7$$\"3om;a:%=\">zF,$\"+w1HU$)F,7 $$\"3Me9mXZ*o-)F,$\",=ME#o5F,7$$\"3,]7yv5nM\")F,$\",o\")*zg7F,7$$\"3o \"H27\\s%Q#)F,$\",TO$e'R\"F,7$$\"3NLLj1RFU$)F,$\",u)fGu9F,7$$\"3'3FW:* =\")o$)F,$\",w!R%Q[\"F,7$$\"3O3_Xw)\\`R)F,$\",:**p*)[\"F,7$$\"3'e9m8'y )=U)F,$\",.#*f&*[\"F,7$$\"3O$3xi%eU[%)F,$\",<%*=b[\"F,7$$\"3Oe*)4;=],& )F,$\",yR1\"F,7$$\"3^Pf)[8\"\\8))F,$\"+u*F,$!,.[aH<\"F,7$$ \"3-](o(RP]#z*F,$!+z.h)**)F,7$$\"3FcwHs2p>)*F,$!+Lky/rF,7$$\"3^il#[!y( o%)*F,$!+5!*=%)[F,7$$\"3woaNP[1u)*F,$!+_vL8BF,7$$\"3,vV))p=D,**F,$\"*O )pAjF,7$$\"37G)[hQX[\"**F,$\"+1/b`AF,7$$\"3D\"G8C!*Q%G**F,$\"+Sg=yRF,7 $$\"3PMxn=C.U**F,$\"+6+a4eF,7$$\"3](=U\\$fib**F,$\"+z]/^xF,7$$\"3jSm?^ %>#p**F,$\"+wW?1)*F,7$$\"3v$4ru'H\"G)**F,$\",'*Gfy>\"F,7$$\"3)oaNP[1k* **F,$\",ju&=F9F,7$$\"3+++++++,5!#<$\"+w=(*o;Fd_n-%&COLORG6&%$RGBG$\"\" (!\"\"F)$\"\"*F]`n-%*THICKNESSG6#\"\"\"-F$6%7$7$F(F(F'-Fh_n6&Fj_n$\"\" $F]`n$\"\")F]`nFj`nF``n-F$6%7$7$$\"3(\\V]Z(e.1KFTF(7$Fban$!,Q@w)*[\"F, Fh`nF``n-F$6%7$7$$\"3\\AX\"4CN&o7F,F(7$F[bn$\",T@w)*[\"F,Fh`nF``n-F$6% 7$7$$\"3c4mfD:*oy#F,F(7$Fdbn$!,X@w)*[\"F,Fh`nF``n-F$6%7$7$$\"37VclZ!zb n%F,F(7$F]cnF*Fh`nF``n-F$6%7$7$$\"3\\()[iHQ,smF,F(7$Fdcn$!,S@w)*[\"F,F h`nF``n-F$6%7$7$$\"3[mc@#3tBT)F,F(7$F]dn$\",X@w)*[\"F,Fh`nF``n-F$6%7$7 $$\"3$>gVzT#H$f*F,F(7$Ffdn$!,V@w)*[\"F,Fh`nF``n-F$6%7$7$$\"3++++++++5F d_nF(7$F_en$\",W@w)*[\"F,Fh`nF``n-F$6%Ff`n-Fh_n6&Fj_nFc`n$\"\"%F]`nF)- Fa`n6#\"\"#-F$6%F`anFfenFjen-F$6%FianFfenFjen-F$6%7$7$$\"3:aHUe\\@xFF, F(7$Fefn$!,pc-,\\\"F,FfenFjen-F$6%F[cnFfenFjen-F$6%FbcnFfenFjen-F$6%F[ dnFfenFjen-F$6%FddnFfenFjen-F$6%F]enFfenFjen-%+AXESLABELSG6$Q\"x6\"Q!6 \"-%%VIEWG6$;F($\"0+++++5+\"!#9;$!/U`8)\\.\\\"!#@$\"/U`8)\\.\\\"Fehn" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Cur ve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Cur ve 9" "Curve 10" "Curve 11" "Curve 12" "Curve 13" "Curve 14" "Curve 15 " "Curve 16" "Curve 17" "Curve 18" "Curve 19" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6+ $\"\"!F$$\"6vr\\V]Z(e.1K!#A$\"6p)[AX\"4CN&o7!#@$\"6%>:aHUe\\@xFF*$\"62 BJkbw/zbn%F*$\"6_%\\()[iHQ,smF*$\"6Ivkm:A3tBT)F*$\"6!o#>gVzT#H$f*F*$\" 3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G --------------------------------------G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approximation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"6T&z$o45&)*******!#@\"\"\"*&$\"6_S[0?Fn'yE*4'F5F()F,\"\"%F(F (FB" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%goal~for~ relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3fQy@9i!z$ G!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,error~graphG" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "67-%'CURVESG6%7cu7$$\"\"!F)$\",?;.**[\"!#=7$$\"3M$3_v X%oj8!#?$\",\"R$G()=\"F,7$$\"3omT5:*ots#F0$\"+*pxO3*F,7$$\"3-]ilsL0\"4 %F0$\"+wjhzkF,7$$\"3NL$3-$ytaaF0$\"+mKvmSF,7$$\"3q;/w(GA%=oF0$\"+>%))p $=F,7$$\"3.+DJXn5#=)F0$!*)[Pv@F,7$$\"3P$ekG?\"zX&*F0$!+l([W5#F,7$$\"3n m;/mv%44\"!#>$!+*4S6$QF,7$$F/FT$!+RbKKoF,7$$\"3++D1\\8UO;FT$!+5\"feF*F ,7$$\"3n;HdS#e\"4>FT$!,1H;87\"F,7$$\"3MLL3K^*==#FT$!,\\>Z#p7F,7$$\"3n \"HdS&*3ll#FT$!,8Ga2V\"F,7$$\"3,]7.wF7JJFT$!,hHu))[\"F,7$$\"3eRZ_Jix\\ KFT$!,3)ec*[\"F,7$$\"3/N!3%FT$!,&e*R+P\"F,7$$\"3Me*)4,L59YFT$!,8eGU?\"F,7$$\"3,]( =A=cy9&FT$!+z[?8**F,7$$\"3nT&QL14;o&FT$!+>=EsuF,7$$\"3ML$eW%>O:iFT$!+` OLa[F,7$$\"3NLe9')Gl_nFT$!+.Vza@F,7$$\"3NLL$y#Q%**G(FT$\"*`F$R^F,7$$\" 3OL3_pZBFyFT$\"+$[-T2$F,7$$\"3NL$37rDXO)FT$\"+I*\\PY&F,7$$\"3qT&QG+j#* *))FT$\"+yt6DwF,7$$\"3.](oWH+SV*FT$\"+]wuM&*F,7$$\"3Pe*)4'eP(o**FT$\", Y_#z;6F,7$$\"3n;Hx([Z.0\"F,$\",Hg64D\"F,7$$\"3+](o=Z,&\\6F,$\",+W\\-U \"F,7$$\"3M$ekfXb'[7F,$\",%3`,)[\"F,7$$\"3nm;z2DKu7F,$\",`8Y(*[\"F,7$$ \"3+](='f&*)**H\"F,$\",lH#G&[\"F,7$$\"3MLeW6mlD8F,$\",`[6[Z\"F,7$$\"3n ;HFjOK^8F,$\",6=O&e9F,7$$\"3M$3FpwdES\"F,$\",.3Y%49F,7$$\"3+]7eq=*RX\" F,$\",Bym)R8F,7$$\"3n;zWx9sF,$ \"*Lz0n)F,7$$\"3Me*[,x(*o)>F,$!*CBW8)F,7$$\"3^7`aD?LT?F,$!+*49VY#F,7$$ \"3nm;%4Gmd4#F,$!+.EhmSF,7$$\"3,]i]Cxl\">#F,$!+$)Q7>nF,7$$\"3ML32o\"\\ vG#F,$!+w=w&3*F,7$$\"3n;zp@-]&R#F,$!,*ymmK6F,7$$\"3++]Kv7X.DF,$!,#pBO0 8F,7$$\"3+++N'eX=h#F,$!,1.9FU\"F,7$$\"3++]P(*)R-s#F,$!,c;%*>[\"F,7$$\" 3++vG)Raju#F,$!,Ej*e([\"F,7$$\"3+++?**)oCx#F,$!,\\m[)*[\"F,7$$\"3++D6+ Me)z#F,$!,#R5!))[\"F,7$$\"3++]-,zpCGF,$!,O*G[%[\"F,7$$\"3+++&G!p#p(GF, $!,(o+@m9F,7$$\"3++]n/f:HHF,$!,'*)zVN9F,7$$\"3n\"zW#zP,CIF,$!,q;[#\\8F ,7$$\"3M$e9Qlr)=JF,$!,keBrA\"F,7$$\"3,D\"G:%omJKF,$!,RKi6/\"F,7$$\"3nm ;CH?YWLF,$!+gvI)=)F,7$$\"3omTg[V,SMF,$!+05a(3'F,7$$\"3nmm'zmmb`$F,$!+Q 7h[QF,7$$\"3Me*[4t;nk$F,$!+LXA[6F,7$$\"3,]7$Rzmyv$F,$\"+#G(=o:F,7$$\"3 MeRKLMDcQF,$\"+WY6:RF,7$$\"3nmmrs+kaRF,$\"+$p \"F,7$$\"3,]PH$G6hP%F,$\",)*e)*pK\"F,7$$\"3MekjF<71f%F,$\",&ogdw9F,7$$\"3VNr%*=XB:YF,$\",*4'eJ[\"F,7$$\"3=/^ \"f'o&)RYF,$\",Wx@v[\"F,7$$\"3$H2$)G@zWm%F,$\",\"=Pm*[\"F,7$$\"3oT5&)f :5*o%F,$\",wn&e*[\"F,7$$\"3V5!>o!Rs8ZF,$\",h&>H([\"F,7$$\"3=zpy`iMQZF, $\",E!**y#[\"F,7$$\"3$z%\\v+'oHw%F,$\",-*)*3w9F,7$$\"3n;HsZ4f(y%F,$\", \"*G0sY\"F,7$$\"3,vo*z0DQ*[F,$\",d)*yUS\"F,7$$\"3ML3Fo\"f++&F,$\",9r'* HI\"F,7$$\"3M3FH_lS5^F,$\",=l\"Gg6F,7$$\"3M$e9j$Rv?_F,$\"+EAMN)*F,7$$ \"3nm;\\e;\"oJ&F,$\"+rJdf!)F,7$$\"3,](o1QpGT&F,$\"+xRk.hF,7$$\"3n\"H2A N9m^&F,$\"+pq&RfF,$!+gct9eF,7$$\"3,+ DwZOUWgF,$!+oYT!*zF,7$$\"3+vo*ovue9'F,$!+.I$e*)*F,7$$\"3,]7.meKZiF,$!, UFm`:\"F,7$$\"3+vVyD+(*fjF,$!,?M**[I\"F,7$$\"3,+v`&=9EZ'F,$!,)zB\"HT\" F,7$$\"3n\"HK$z?ABlF,$!,YWUnW\"F,7$$\"3M$3FJ(*HQd'F,$!,$yg+r9F,7$$\"3< zW-?R8*f'F,$!,bcp%z9F,7$$\"3,v=#p'yVCmF,$!,EU^a[\"F,7$$\"3%3F>Q\"=u\\m F,$!,V:H*)[\"F,7$$\"3ommrgd/vmF,$!,y+%))*[\"F,7$$\"3Me*[]7j?q'F,$!,$== 5)[\"F,7$$\"3,]7Q*[!3HnF,$!,GC8M[\"F,7$$\"3nTNr`y4cnF,$!,<75eZ\"F,7$$ \"3MLe/=_6$y'F,$!,U^*Gl9F,7$$\"3n;/rY*\\r$oF,$!,ok5bV\"F,7$$\"3,+]PvY= \"*oF,$!,rOgTR\"F,7$$\"3n\"z%*fm6\"*)pF,$!,(3![.H\"F,7$$\"3M$e9mlQq3(F ,$!,P?D4:\"F,7$$\"3n\"zpKs)4%>(F,$!+FcL5'*F,7$$\"3,+]#**ye6I(F,$!+KzWo tF,7$$\"3Me9EpR*=S(F,$!+bmE-]F,7$$\"3o;zf[\"HE](F,$!+'4)f^CF,7$$\"3M$3 FlVEzg(F,$\"*'pkFLF,7$$\"3,]iXCPA8xF,$\"+_2PYJF,7$$\"3Me*)**p5<;yF,$\" +wDjGeF,7$$\"3om;a:%=\">zF,$\"+>TiU$)F,7$$\"3Me9mXZ*o-)F,$\",mTg#o5F,7 $$\"3,]7yv5nM\")F,$\",9WL3E\"F,7$$\"3o\"H27\\s%Q#)F,$\",kT:mR\"F,7$$\" 3NLLj1RFU$)F,$\",nN:VZ\"F,7$$\"3'3FW:*=\")o$)F,$\",oTsQ[\"F,7$$\"3O3_X w)\\`R)F,$\",9d(**)[\"F,7$$\"3'e9m8'y)=U)F,$\",K]'e*[\"F,7$$\"3O$3xi%e U[%)F,$\",,YWb[\"F,7$$\"3Oe*)4;=],&)F,$\",gfSKY\"F,7$$\"3NL3#fyxXb)F,$ \",63Z:U\"F,7$$\"3-v$4Rt])f')F,$\",U(\\P!G\"F,7$$\"3o;z*=oB^w)F,$\",n7 ))>1\"F,7$$\"3^Pf)[8\"\\8))F,$\"+)HY$o$*F,7$$\"3MeR(yee='))F,$\"+tf!3( zF,7$$\"3'3/E-\"*)F,$\"+C'GzV'F,7$$\"3,++&Q\\$fe*)F,$\"+]$=Ky%F,7$$ \"3nT&QK0GS,*F,$\"+T>VeFF,7$$\"3M$3FEhi%p!*F,$\"*Eo%eiF,7$$\"3,Dc,sr*[ 7*F,$!+gY%zd\"F,7$$\"3omTSJDUN\"F,7$$\"3-v$4$3h!>u*F,$!,t'>(H<\"F,7$$\"3-](o(RP]#z*F,$!+#oH()** )F,7$$\"3FcwHs2p>)*F,$!+4-([5(F,7$$\"3^il#[!y(o%)*F,$!+HIB%)[F,7$$\"3w oaNP[1u)*F,$!+qtL8BF,7$$\"3,vV))p=D,**F,$\"*&))=BjF,7$$\"37G)[hQX[\"** F,$\"+=di`AF,7$$\"3D\"G8C!*Q%G**F,$\"+c))GyRF,7$$\"3PMxn=C.U**F,$\"+>; n4eF,7$$\"3](=U\\$fib**F,$\"+!z17v(F,7$$\"3jSm?^%>#p**F,$\"+KwR1)*F,7$ $\"3v$4ru'H\"G)**F,$\",s)=)y>\"F,7$$\"3)oaNP[1k***F,$\",ew6sU\"F,7$$\" 3+++++++,5!#<$\"+h9+p;Fd_n-%&COLORG6&%$RGBG$\"\"(!\"\"F)$\"\"*F]`n-%*T HICKNESSG6#\"\"\"-F$6%7$7$F(F(F'-Fh_n6&Fj_n$\"\"$F]`n$\"\")F]`nFj`nF`` n-F$6%7$7$$\"3(\\V]Z(e.1KFTF(7$Fban$!,@;.**[\"F,Fh`nF``n-F$6%7$7$$\"3 \\AX\"4CN&o7F,F(7$F[bnF*Fh`nF``n-F$6%7$7$$\"3:aHUe\\@xFF,F(7$Fbbn$!,F; .**[\"F,Fh`nF``n-F$6%7$7$$\"37VclZ!zbn%F,F(7$F[cn$\",@;.**[\"F,Fh`nF`` n-F$6%7$7$$\"3\\()[iHQ,smF,F(7$Fdcn$!,?;.**[\"F,Fh`nF``n-F$6%7$7$$\"3[ mc@#3tBT)F,F(7$F]dn$\",B;.**[\"F,Fh`nF``n-F$6%7$7$$\"3$>gVzT#H$f*F,F(7 $Ffdn$!,C;.**[\"F,Fh`nF``n-F$6%7$7$$\"3++++++++5Fd_nF(7$F_enF^cnFh`nF` `n-F$6%Ff`n-Fh_n6&Fj_nFc`n$\"\"%F]`nF)-Fa`n6#\"\"#-F$6%F`anFdenFhen-F$ 6%FianFdenFhen-F$6%F`bnFdenFhen-F$6%FibnFdenFhen-F$6%FbcnFdenFhen-F$6% F[dnFdenFhen-F$6%7$7$$\"3hw+1:$pne*F,F(7$F[gn$!,P(pP!\\\"F,FdenFhen-F$ 6%F]enFdenFhen-%+AXESLABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F($\"0+++++5+\"!# 9;$!/1ltpP!\\\"!#@$\"/1ltpP!\\\"Fchn" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" "Curve 7" "Curve 8" "Curve 9" "Curve 10" "Curve 11" "Cur ve 12" "Curve 13" "Curve 14" "Curve 15" "Curve 16" "Curve 17" "Curve 1 8" "Curve 19" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6+$\"\"!F$$\"6vr\\V]Z(e.1K!#A$\"6p)[AX \"4CN&o7!#@$\"6%>:aHUe\\@xFF*$\"62BJkbw/zbn%F*$\"6_%\\()[iHQ,smF*$\"6I vkm:A3tBT)F*$\"618m2g]Jpne*F*$\"3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,iteration~5G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%G---------------------------------- ----G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Dprovisional~rational~approx imation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"6#)4Q*H+^)*******! #@\"\"\"*&$\"65Sj)Gz,=\"y,'F'F(%\"xGF(F(*&$\"6DnTslf.\\9'=F'F()F,\"\"# F(F(*&$\"63y,>1q**[\"!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%,difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$ \",4=l)*\\#!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%5relative~differenc e:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3YR6zxbzx;!#C" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%>goal~for~relative~difference:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"3fQy@9i!z$G!#B" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%1critical~points:G" }} {PARA 12 "" 1 "" {XPPMATH 20 "6+$\"\"!F$$\"6vr\\V]Z(e.1K!#A$\"6p)[AX\" 4CN&o7!#@$\"6%>:aHUe\\@xFF*$\"62BJkbw/zbn%F*$\"6_%\\()[iHQ,smF*$\"6Ivk m:A3tBT)F*$\"618m2g]Jpne*F*$\"3++++++++5!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%7minimax~approx imation:G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,*$\"+^)*******!#5\"\" \"*&$\"+-=\"y,'F'F(%\"xGF(F(*&$\"+O!\\9'=F'F()F,\"\"#F(F(*&$\"+*=0W(o! #6F()F,\"\"$F(F(F(,,$F(\"\"!F(*&$\"+wX**y6!\"*F(F,F(F(*&$\"+;J@B7F'F(F 0F(!\"\"*&$\"+e'e*4EF'F(F6F(FB*&$\"+N]F*4'F5F()F,\"\"%F(F(FB" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%0min imax~error:~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&+\\\"!#7" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%\"rGf*6#%\"xG6\"6$%)operatorG%&arrowGF(*&,*$\"+^)*******!#5\"\"\"*& $\"+-=\"y,'F0F19$F1F1*&$\"+O!\\9'=F0F1)F5\"\"#F1F1*&$\"+*=0W(o!#6F1)F5 \"\"$F1F1F1,,$F1\"\"!F1*&$\"+wX**y6!\"*F1F5F1F1*&$\"+;J@B7F0F1F9F1!\" \"*&$\"+e'e*4EF0F1F?F1FK*&$\"+N]F*4'F>F1)F5\"\"%F1F1FKF(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+7.(**[\"!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+i+(**[\"!#<" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 124 "We can check the values given for the ma ximum and minimum magnitudes of the extreme values of the error functi on as follows." }}{PARA 0 "" 0 "" {TEXT 260 4 "Note" }{TEXT -1 67 ": W e use the final rational function before rounding was performed." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 407 "r1 := x -> (.999999985100299380982+.601781180179288634010*x+.1861 44903596572416725*x^2+.687440518853569681708e-1*x^3)/(1.+1.17899457555 311467888*x-.122321311625896957496*x^2-.260995865848736936232*x^3+.609 927503468659831226e-1*x^4);\ner1 := unapply(GAMMA(x+1)-r1(x),x);\nDigi ts := 20:\ncrit := critpts(er1(x),x=0..1,50);\nvals := map(abs@er1,cri t);\nmx := max(op(vals));\nmn := min(op(vals));\nmx-mn;\nDigits := 10: " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%#r1Gf*6#%\"xG6\"6$%)operatorG%&a rrowGF(*&,*$\"6#)4Q*H+^)*******!#@\"\"\"*&$\"65Sj)Gz,=\"y,'F0F19$F1F1* &$\"6DnTslf.\\9'=F0F1)F5\"\"#F1F1*&$\"63F1)F5\"\"%F1F1FK F(F(F(" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$er1Gf*6#%\"xG6\"6$%)opera torG%&arrowGF(,&-%&GAMMAG6#,&9$\"\"\"F2F2F2*&,*$\"6#)4Q*H+^)*******!#@ F2*&$\"65Sj)Gz,=\"y,'F7F2F1F2F2*&$\"6DnTslf.\\9'=F7F2)F1\"\"#F2F2*&$\" 63F2!\"\"*&$\"6Ki$pt[e'e*4EF7F2FDF2FP*&$\" 6E7$)f'oM]F*4'FCF2)F1\"\"%F2F2FPFPF(F(F(" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%critG7+$\"\"!F'$\"5wK*G*[T&Qj?$!#@$\"5)\\+3@+mi&o7!#?$\"57j*G m0MFsx#F-$\"5t)4JN;n[fn%F-$\"5R+N/0Wh(>n'F-$\"5,@yG %%valsG7+$\".->1q **[\"!#?$\".R$y+(**[\"F($\".\"\\l+(**[\"F($\".0@1q**[\"F($\".%)=Jq**[ \"F($\".1Z1q**[\"F($\".=LHq**[\"F($\".@O1q**[\"F($\".lB1q**[\"F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#mxG$\".%)=Jq**[\"!#?" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#mnG$\".->1q**[\"!#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"'#)*\\#!#?" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 63 "The following minimax approximation is gi ven in the literature." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 143 "r2 := x -> (.9999999851+.601781180 6*x+.1861449035*x^2+.687440519e-1*x^3)/(1.+1.1789945760*x-.1223213114* x^2-.2609958662*x^3+.609927504e-1*x^4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#r2Gf*6#%\"xG6\"6$%)operatorG%&arrowGF(*&,*$\"+^)*******!#5\" \"\"*&$\"+1=\"y,'F0F19$F1F1*&$\"+N!\\9'=F0F1)F5\"\"#F1F1*&$\"*>0W(oF0F 1)F5\"\"$F1F1F1,,$F1\"\"!F1*&$\",gd%**y6F0F1F5F1F1*&$\"+9J@B7F0F1F9F1! \"\"*&$\"+i'e*4EF0F1F>F1FI*&$\"*/v#*4'F0F1)F5\"\"%F1F1FIF(F(F(" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 13 "Test examples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 8 " Standard" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 187 "remez(exp(x),x=-1..1,[1,1],method=itersolve,errtype= absolute);\nremez(exp(x),x=-1..1,[1,1],method=chebsolve,errtype=absolu te);\nremez(exp(x),x=-1..1,[1,1],method=ratsolve,errtype=absolute);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+RH-<5!\"*!\"\"*&$\"+MYZv^!#5 \"\"\"%\"xGF-F(F-,&$F-\"\"!F(*&$\"+>w%yR%F,F-F.F-F-F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+RH-<5!\"*!\"\"*&$\"+MYZv^!#5\"\"\"%\"xGF-F (F-,&$F-\"\"!F(*&$\"+>w%yR%F,F-F.F-F-F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+RH-<5!\"*!\"\"*&$\"+MYZv^!#5\"\"\"%\"xGF-F(F-,&$F-\"\"!F (*&$\"+>w%yR%F,F-F.F-F-F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 187 "remez(exp(x),x=-1..1,[1,1],method= itersolve,errtype=relative);\nremez(exp(x),x=-1..1,[1,1],method=chebso lve,errtype=relative);\nremez(exp(x),x=-1..1,[1,1],method=ratsolve,err type=relative);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+YV$y***!#5\" \"\"*&$\"+HGg,ZF'F(%\"xGF(!\"\"F(,&$F-\"\"!F(*&$\"+a7i-ZF'F(F,F(F(F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+YV$y***!#5\"\"\"*&$\"+HGg,ZF' F(%\"xGF(!\"\"F(,&$F-\"\"!F(*&$\"+a7i-ZF'F(F,F(F(F-" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#*&,&$!+YV$y***!#5\"\"\"*&$\"+HGg,ZF'F(%\"xGF(!\"\"F(, &$F-\"\"!F(*&$\"+a7i-ZF'F(F,F(F(F-" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 298 "remez(exp(x),x=-1..1,[1,2],method=itersolve,\n weight =(2-cos(Pi/2*x))/2,errtype=absolute);\nremez(exp(x),x=-1..1,[1,2],meth od=chebsolve,\n weight=(2-cos(Pi/2*x))/2,errtype=absolute); \nremez(exp(x),x=-1..1,[1,2],method=ratsolve,\n weight=(2-co s(Pi/2*x))/2,errtype=absolute);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&, &$\"+,'R?***!#5\"\"\"*&$\"+Gl;&Q$F'F(%\"xGF(F(F(,($F(\"\"!F(*&$\"+0og[ lF'F(F,F(!\"\"*&$\"+&*Q2s9F'F()F,\"\"#F(F(F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+,'R?***!#5\"\"\"*&$\"+Gl;&Q$F'F(%\"xGF(F(F(,($F (\"\"!F(*&$\"+0og[lF'F(F,F(!\"\"*&$\"+&*Q2s9F'F()F,\"\"#F(F(F3" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+,'R?***!#5\"\"\"*&$\"+Gl;&Q$F' F(%\"xGF(F(F(,($F(\"\"!F(*&$\"+0og[lF'F(F,F(!\"\"*&$\"+&*Q2s9F'F()F,\" \"#F(F(F3" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 298 "remez(exp(x),x=-1 ..1,[1,1],method=itersolve,\n weight=(2-cos(Pi/2*x))/2,errty pe=relative);\nremez(exp(x),x=-1..1,[1,1],method=chebsolve,\n \+ weight=(2-cos(Pi/2*x))/2,errtype=relative);\nremez(exp(x),x=-1..1,[1 ,1],method=ratsolve,\n weight=(2-cos(Pi/2*x))/2,errtype=rela tive);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+vf&p***!#5\"\"\"*&$\" +'3T/o%F'F(%\"xGF(!\"\"F(,&$F-\"\"!F(*&$\"+%fT[o%F'F(F,F(F(F-" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+vf&p***!#5\"\"\"*&$\"+'3T/o%F'F (%\"xGF(!\"\"F(,&$F-\"\"!F(*&$\"+%fT[o%F'F(F,F(F(F-" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#*&,&$!+vf&p***!#5\"\"\"*&$\"+'3T/o%F'F(%\"xGF(!\"\"F( ,&$F-\"\"!F(*&$\"+%fT[o%F'F(F,F(F(F-" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 " " 0 "" {TEXT -1 14 "Even functions" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 253 "remez(cosh(x),x=-1..1,[2,2] ,method=itersolve,\n type=even,errtype=absolute);\nremez(cosh (x),x=-1..1,[2,2],method=chebsolve,\n type=even,errtype=absol ute);\nremez(cosh(x),x=-1..1,[2,2],method=ratsolve,\n type=ev en,errtype=absolute);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+vhM*** *!#5\"\"\"*&$\"+UZlOUF'F()%\"xG\"\"#F(!\"\"F(,&$F/\"\"!F(*&$\"+[l*ou(! #6F(F,F(F(F/" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+vhM****!#5\"\" \"*&$\"+UZlOUF'F()%\"xG\"\"#F(!\"\"F(,&$F/\"\"!F(*&$\"+[l*ou(!#6F(F,F( F(F/" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+vhM****!#5\"\"\"*&$\"+U ZlOUF'F()%\"xG\"\"#F(!\"\"F(,&$F/\"\"!F(*&$\"+[l*ou(!#6F(F,F(F(F/" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 259 "remez(cosh(x),x=-1..1,[2,2],method=itersolve,\n type=e ven,errtype=relative);\nremez(cosh(x),x=-1..1,[2,2],method=chebsolve, \n type=even,errtype=relative);\nremez(cosh(x),x=-1..1,[2,2 ],method=ratsolve,\n type=even,errtype=relative);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$!+mkZ****!#5\"\"\"*&$\"+F6pLUF'F()%\"xG \"\"#F(!\"\"F(,&$F/\"\"!F(*&$\"+\"*y " 0 "" {MPLTEXT 1 0 331 "remez(cosh(x),x=-1..1,[2,4],method=itersolve,\n \+ type=even,weight=(2-cos(Pi/2*x))/2,errtype=absolute);\nremez(cos h(x),x=-1..1,[2,4],method=chebsolve,\n type=even,weight=(2-c os(Pi/2*x))/2,errtype=absolute);\nremez(cosh(x),x=-1..1,[2,4],method=r atsolve,\n type=even,weight=(2-cos(Pi/2*x))/2,errtype=absolu te);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+)G))*****!#5\"\"\"*&$ \"+*QC$zSF'F()%\"xG\"\"#F(F(F(,($F(\"\"!F(*&$\"+![I(4#*!#6F(F,F(!\"\"* &$\"+?h_8X!#7F()F-\"\"%F(F(F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$ \"+)G))*****!#5\"\"\"*&$\"+*QC$zSF'F()%\"xG\"\"#F(F(F(,($F(\"\"!F(*&$ \"+z/t4#*!#6F(F,F(!\"\"*&$\"+;h_8X!#7F()F-\"\"%F(F(F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+)G))*****!#5\"\"\"*&$\"+*QC$zSF'F()%\"xG\" \"#F(F(F(,($F(\"\"!F(*&$\"+z/t4#*!#6F(F,F(!\"\"*&$\"+ " 0 "" {MPLTEXT 1 0 331 "remez(cosh(x),x=-1.. 1,[2,4],method=itersolve,\n type=even,weight=(2-cos(Pi/2*x)) /2,errtype=relative);\nremez(cosh(x),x=-1..1,[2,4],method=chebsolve,\n type=even,weight=(2-cos(Pi/2*x))/2,errtype=relative);\nreme z(cosh(x),x=-1..1,[2,4],method=ratsolve,\n type=even,weight= (2-cos(Pi/2*x))/2,errtype=relative);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#*&,&$\"+=1******!#5\"\"\"*&$\"+\"y.*ySF'F()%\"xG\"\"#F(F(F(,($F(\"\" !F(*&$\"+z2h8#*!#6F(F,F(!\"\"*&$\"+RTIDX!#7F()F-\"\"%F(F(F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+=1******!#5\"\"\"*&$\"+\"y.*ySF'F()% \"xG\"\"#F(F(F(,($F(\"\"!F(*&$\"+z2h8#*!#6F(F,F(!\"\"*&$\"+TTIDX!#7F() F-\"\"%F(F(F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*&,&$\"+=1******!#5\" \"\"*&$\"+\"y.*ySF'F()%\"xG\"\"#F(F(F(,($F(\"\"!F(*&$\"+y2h8#*!#6F(F,F (!\"\"*&$\"+QTIDX!#7F()F-\"\"%F(F(F6" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}}}{MARK "3 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }