{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 "Dark Red Emphasis" -1 259 "" 0 0 128 0 0 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 263 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 264 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "Purple Emphasis" -1 265 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Red Emphasis" -1 266 "Times " 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 270 "" 0 1 0 0 0 0 0 2 0 0 0 0 0 0 0 0 }{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 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "" -1 274 "" 0 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "Gre y Emphasis" -1 275 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 276 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal " -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 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 O utput" -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 "Time s" 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 "Bullet Item" -1 15 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 3 3 1 0 1 0 2 2 15 2 }{PSTYLE "Normal" -1 256 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 257 1 {CSTYLE "" -1 -1 "T imes" 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 } } {SECT 0 {PARA 3 "" 0 "" {TEXT -1 38 "Inverse interpolation and root-fi nding" }}{PARA 0 "" 0 "" {TEXT -1 37 "by Peter Stone, Nanaimo, B.C., C anada" }}{PARA 0 "" 0 "" {TEXT -1 19 "Version: 24.3.2007" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restar t;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 40 "load root-finding procedures including: " }{TEXT 0 26 "interproot,interproot_step" }}{PARA 0 "" 0 "" {TEXT -1 17 "The M aple m-file " }{TEXT 275 7 "roots.m" }{TEXT -1 38 " contains the code \+ for the procedures " }{TEXT 0 10 "interproot" }{TEXT -1 5 " and " } {TEXT 0 15 "interproot_step" }{TEXT -1 25 " used in this worksheet. " }}{PARA 0 "" 0 "" {TEXT -1 122 "It can be read into a Maple session by a command similar to the one that follows, where the file path gives \+ its location. " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "read \"K: \\\\Maple/procdrs/roots.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 33 "Approximating an inverse function" }} {PARA 0 "" 0 "" {TEXT -1 50 "Suppose we wish to find solutions of the \+ equation " }{XPPEDIT 18 0 "exp(-x) = sin(x);" "6#/-%$expG6#,$%\"xG!\" \"-%$sinG6#F(" }{TEXT -1 55 ". In particular, there is one solution in the interval " }{XPPEDIT 18 0 "[0,1]" "6#7$\"\"!\"\"\"" }{TEXT -1 35 ", as we can see from the graphs of " }{XPPEDIT 18 0 "y = exp(-x);" "6 #/%\"yG-%$expG6#,$%\"xG!\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "y = \+ sin(x);" "6#/%\"yG-%$sinG6#%\"xG" }{TEXT -1 7 " . . ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "plot([e xp(-x),sin(x)],x=0..3.3,colour=[red,blue]);" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6&-%'CURVESG6$7S7$$\"\"!F)$\"\"\"F) 7$$\"3e)****\\(31$>(!#>$\"3SCg`(oafI*!#=7$$\"3')**\\7o/ H****e(F27$$\"3m**\\iDSoiMF2$\"3+(eUU9EK2(F27$$\"3F**\\7elW;TF2$\"3ed[ a4nfDmF27$$\"3S**\\7$zzLz%F2$\"3[Y0S[<$>>'F27$$\"3'*)*\\78^Y$\\&F2$\"3 W>9uP'pKx&F27$$\"3!))*\\i]_I\">'F2$\"3[uG*>qBTQ&F27$$\"3V****\\2'>\"4p F2$\"3Yy-)))f)=6]F27$$\"3J***\\P)3PTvF2$\"3+&HIRnjTq%F27$$\"39****\\sg 8`#)F2$\"3%y`>M!e(4Q%F27$$\"3c)***\\PQ#y'*)F2$\"3O$GDw^*zySF27$$\"33** **\\Fzbc'*F2$\"32axCcVL2QF27$$\"3$**\\7jW*>G5!#<$\"3'=)3B)\\.ld$F27$$ \"3(****\\(**)pD5\"Fap$\"33;kYmt;?LF27$$\"3))******G9dl6Fap$\"3$eIVHrW u6$F27$$\"3&)*\\7[=d)Q7Fap$\"3Yx2i'>^r*GF27$$\"3k****\\'\\FPI\"Fap$\"3 iR#))oAy^r#F27$$\"3++D\")40!\\P\"Fap$\"3>G#\\6_Z'GDF27$$\"3))*\\P%\\Sn U9Fap$\"3QM]o%[]HO#F27$$\"3(***\\7G')Q8:Fap$\"3$Gfh4jE;?#F27$$\"3#)*\\ igoE$y:Fap$\"3)GD9tZ+K1#F27$$\"3q**\\Pa6P[;Fap$\"3&pO+=$)HO#>F27$$\"3m *\\78nF6s\"Fap$\"3)**QZ'RLk)y\"F27$$\"3k*\\(=LCY%y\"Fap$\"3Ydf!Q(G()y; F27$$\"3w**\\76d'G&=Fap$\"3mB(*R]@(yc\"F27$$\"3f****\\!*H`B>Fap$\"3w9) \\-:**3Y\"F27$$\"3s**\\iOrm#*>Fap$\"3SpQPeKJj8F27$$\"3s*\\7y(zbf?Fap$ \"3qEWI)>.^F\"F27$$\"3v**\\P_)GQ8#Fap$\"3Wt%3P`JQ=\"F27$$\"3]****\\OXc +AFap$\"3f^O)eB1u5\"F27$$\"3%)***\\P7>=F#Fap$\"3BB&*zKTCJ5F27$$\"3S*\\ 7.P'QOBFap$\"37NP0Mgjn'*F/7$$\"3v***\\_UvpS#Fap$\"39=#Qw)et3!*F/7$$\"3 g*\\7[A%RtCFap$\"3lu'fkcC)H%)F/7$$\"3b*\\i!35#Ga#Fap$\"3C$*Q*e0BW'yF/7 $$\"3b***\\(y$)p5EFap$\"3MbN(Gn?$[tF/7$$\"3e*\\7`pf?GFap$\"3Uhx s6!f%ffF/7$$\"3++D\"Q@,'*)GFap$\"39*y;d+Q)fbF/7$$\"3!)****\\qCQ`HFap$ \"35-k=^nH;_F/7$$\"3u**\\P))H[EIFap$\"3o+qY&R'e[[F/7$$\"3Y*****H'\\'=4 $Fap$\"3liQR-urTXF/7$$\"3!**\\7[yv:;$Fap$\"31xK!)))R*eB%F/7$$\"3\\*\\( =OzHGKFap$\"3=_7Z.#F27$F>$\"3T\"3vZQ@Fs#F27$FC$\"3!=B.Rn +RR$F27$FH$\"3!*)G))HOr6+%F27$FM$\"3v7\\.a'=>h%F27$FR$\"3q_?LA+I@_F27$ FW$\"3IV#)ySHF.eF27$Ffn$\"3C#fN_j-CP'F27$F[o$\"3)\\wghz*fYoF27$F`o$\"3 %*>%e]Y0wM(F27$Feo$\"3(GxS$evA8yF27$Fjo$\"3C$\\`2f@UA)F27$F_p$\"3u\"H7 /T1Pc)F27$Fep$\"3n?&3S7,P#*)F27$Fjp$\"31\"=D(*fP,>*F27$F_q$\"3KL>%z*>7 a%*F27$Fdq$\"3[k!Q6!f[X'*F27$Fiq$\"3%[c1e'pt3)*F27$F^r$\"3Yjm\"\\iN!=* *F27$Fcr$\"3;]&)p0j_$)**F27$Fhr$\"3?Pjypkr****F27$F]s$\"3]Q_+i=5)\\\"H))F27 $F`u$\"3%*fy$)>QSc%)F27$Feu$\"3)\\n'F27$F^w$\"3# =]U(HCGOcF27$Fcw$\"3s)>BhDZI1&F27$Fhw$\"3*yl'>EU)zV%F27$F]x$\"3P!QqB\\ fZ\"QF27$Fbx$\"39S%z%[C(*eJF27$Fgx$\"3u.JN\")*HL\\#F27$F\\y$\"3oEdHc)4 5(=F27$Fay$\"3=Q%ebGc&[6F27$Ffy$\"31-]mK)>2(\\F/7$F[z$!3'y\"QoG,=)*>F/ 7$F`z$!3!Q(\\1^%o'f')F/7$Fez$!35#[K9%pXx:F2-Fjz6&F\\[lF(F(F][l-%+AXESL ABELSG6$Q\"x6\"Q!6\"-%%VIEWG6$;F($\"#L!\"\"%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 22 ". . . or \+ the graph of " }{XPPEDIT 18 0 "f(x) = exp(-x)-sin(x);" "6#/-%\"fG6#%\" xG,&-%$expG6#,$F'!\"\"\"\"\"-%$sinG6#F'F-" }{TEXT -1 2 ".\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "f := x -> exp(-x)-sin(x);\nplot(f(x ),x=0..1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)op eratorG%&arrowGF(,&-%$expG6#,$9$!\"\"\"\"\"-%$sinG6#F1F2F(F(F(" }} {PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6%-%'CURVESG6$7S7$ $\"\"!F)$\"\"\"F)7$$\"3emmm;arz@!#>$\"3%)HKb*eKkc*!#=7$$\"3[LL$e9ui2%F /$\"3SD&yzIaI>*F27$$\"3nmmm\"z_\"4iF/$\"3[U>3rAXx()F27$$\"3[mmmT&phN)F /$\"3uh'=r^)pj$)F27$$\"3CLLe*=)H\\5F2$\"3O9_pkL]czF27$$\"3gmm\"z/3uC\" F2$\"3!y91)[63$e(F27$$\"3%)***\\7LRDX\"F2$\"3+lO2)p*e+sF27$$\"3]mm\"zR 'ok;F2$\"3v*4-/@&[4oF27$$\"3w***\\i5`h(=F2$\"3F')\\\"pUpTU'F27$$\"3WLL L3En$4#F2$\"3\\'f\\(pFcKgF27$$\"3qmm;/RE&G#F2$\"3G(R'Qb#G;p&F27$$\"3\" )*****\\K]4]#F2$\"36Op&*)Q2BJ&F27$$\"3$******\\PAvr#F2$\"3B2kQ:EBO\\F2 7$$\"3)******\\nHi#HF2$\"3U3KDsyQyXF27$$\"3jmm\"z*ev:JF2$\"3Wm0s.^LdUF 27$$\"3?LLL347TLF2$\"33'R^%Q.V!)QF27$$\"3,LLLLY.KNF2$\"3+E.3.(*GlNF27$ $\"3w***\\7o7Tv$F2$\"3T(e-^!\\^.KF27$$\"3'GLLLQ*o]RF2$\"3a-%>t!yh()GF2 7$$\"3A++D\"=lj;%F2$\"3YON\"R6Nda#F27$$\"31++vV&RltPBF27$$\"3\"HLL$3s?6zF2$!3!**esP$>0yDF27$$\"3a***\\7`Wl7)F2$!38 UipX3OCGF27$$\"3#pmmm'*RRL)F2$!3O$H9Z(zXcIF27$$\"3Qmm;a<.Y&)F2$!3-$\\s pl%e)G$F27$$\"3=LLe9tOc()F2$!3)e<*yW\"[N^$F27$$\"3u******\\Qk\\*)F2$!3 txEj8lk:PF27$$\"3CLL$3dg6<*F2$!3%oc+/d6=%RF27$$\"3ImmmmxGp$*F2$!3P8w]! RN\"RTF27$$\"3A++D\"oK0e*F2$!3qp2G`_MWVF27$$\"3A++v=5s#y*F2$!3]jq)=%\\ tNXF27$F*$!3rTXOOa\"ft%F2-%'COLOURG6&%$RGBG$\"#5!\"\"F(F(-%+AXESLABELS G6$Q\"x6\"Q!6\"-%%VIEWG6$;F(F*%(DEFAULTG" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 1 "\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "evalf(f(1));" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$!+Oa\"ft%!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "f maps the interval " } {XPPEDIT 18 0 "[0,1]" "6#7$\"\"!\"\"\"" }{TEXT -1 20 " onto the interv al " }{XPPEDIT 18 0 "[f(1), 1]" "6#7$-%\"fG6#\"\"\"F'" }{TEXT -1 60 " in a one-to-one fashion, so there is an inverse function f" } {XPPEDIT 18 0 "``^(-1);" "6#)%!G,$\"\"\"!\"\"" }{TEXT -1 22 " mapping \+ the interval " }{XPPEDIT 18 0 "[f(1), 1]" "6#7$-%\"fG6#\"\"\"F'" } {TEXT -1 19 " onto the interval " }{XPPEDIT 18 0 "[0,1]" "6#7$\"\"!\" \"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 92 "We can obtain a rough graph of this inverse function b y forming a list of points of the form" }{XPPEDIT 18 0 "``(f(x[i]),x[i ]);" "6#-%!G6$-%\"fG6#&%\"xG6#%\"iG&F*6#F," }{TEXT -1 27 ", for a sequ ence of points " }{XPPEDIT 18 0 "x[1],x[2],` . . . `,x[n];" "6&&%\"xG6 #\"\"\"&F$6#\"\"#%(~.~.~.~G&F$6#%\"nG" }{TEXT -1 80 ", and plotting th em along with the line segments which join each adjacent pair. " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 221 "f := x -> exp(-x)-sin(x):\nh := evalf(1/20):\nxvals := [seq(h*(i- 1),i=1..21)]:\npoints := map(x->[f(x),x],xvals):\nplot([points,points] ,style=[point,line],symbol=circle,\n color=[blu e,red],labels=[y,x]);" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6'-%'CURVESG6%777$$\"\"\"\"\"!$F*F*7$$\"3<+++_D]7!*!#=$\" 3G+++++++]!#>7$$\"3Y*****R,S+0)F/$\"3/+++++++5F/7$$\"3K+++R%)p7rF/$\"3 %**************\\\"F/7$$\"3a+++BUh+iF/$\"35+++++++?F/7$$\"3t*****zBoRJ &F/$\"3++++++++DF/7$$\"3?+++S,)HX%F/$\"3))**************HF/7$$\"3!)*** **>#G!zh$F/$\"3w*************\\$F/7$$\"30+++Pq,4GF/$\"3A+++++++SF/7$$ \"3.+++vhiE?F/$\"35+++++++XF/7$$\"3'******4@^5F\"F/$\"3++++++++]F/7$$ \"3S+++]\"eiU&F2$\"3U+++++++bF/7$$!35+++IP3$e\"F2$\"3w**************fF /7$$!3$********)G19$)F2$\"3A+++++++lF/7$$!35+++MQKw9F/$\"3a*********** ***pF/7$$!37+++t?s#4#F/$\"3++++++++vF/7$$!39+++o7F!o#F/$\"3U+++++++!)F /7$$!3w*****>ta'QKF/$\"3w*************\\)F/7$$!3!)******)\\svw$F/$\"3A +++++++!*F/7$$!3?+++8[umUF/$\"3a*************\\*F/7$$!3)******fV:ft%F/ F(-%'COLOURG6&%$RGBGF+F+$\"*++++\"!\")-%&STYLEG6#%&POINTG-F$6%F&-F[r6& F]rF^rF+F+-Fbr6#%%LINEG-%+AXESLABELSG6$%\"yG%\"xG-%'SYMBOLG6#%'CIRCLEG -%%VIEWG6$%(DEFAULTGFhs" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" }}}}{PARA 0 "" 0 "" {TEXT -1 1 " " } }{PARA 0 "" 0 "" {TEXT -1 176 "The intercept of this \"curve\" with th e vertical axis is the root we seek. We can obtain an estimate for the root by constructing an interpolating polynomial for the data points " }{XPPEDIT 18 0 "``(f(x[i]),x[i]);" "6#-%!G6$-%\"fG6#&%\"xG6#%\"iG&F* 6#F," }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 219 "Digits := 20:\nf := x -> exp(-x)-sin(x): \nh := evalf(1/20):\nxvals := [seq(h*(i-1),i=1..21)]:\nyvals := [seq(f (xvals[i]),i=1..21)]:\nx := 'x':\npx := interp(yvals,xvals,x):\nDigits := 10:\nfinv := evalf(unapply(px,x));\nfinv(0);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%%finvGf*6#%\"xG6\"6$%)operatorG%&arrowGF(,L*$)9$\"#: \"\"\"$!51rS!)f<#o.K(!#@*&$\"5=sSK]f$)>)\\$!#?F1)F/\"#F1F;$\"5'Q>4?)RuK&)eF8F1*&$\"5\")zL&H&[=vkWF4F1)F/\"#?F1F1*&$\" 5;CXje?E*43#F8F1)F/\"\"#F1F1*&$\"5WhW'fc1R.@(F8F1F/F1F;*&$\"5,h$>7#p/Q /&*F4F1)F/\"#6F1F;*&$\"5vaeB3Ll3(4\"F8F1)F/\"#7F1F1*&$\"5G/O%)*y#)\\\\ ?\"F8F1)F/\"#8F1F;*&$\"5(e<+^_aegi*F4F1)F/\"#9F1F1F(F(F(" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#$\"+SuK&)e!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 56 "The root obtained in this way agrees wi th that given by " }{TEXT 0 6 "fsolve" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "fsolve(f( x)=0,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+SuK&)e!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }} }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 54 "A root-finding method which use s inverse interpolation" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "; " }}}{PARA 0 "" 0 "" {TEXT -1 59 "We describe an iterative method of r oot-finding which uses " }{TEXT 265 32 "inverse polynomial interpolati on" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 61 "Starting with at least two points on the graph of a fun ction " }{XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 408 ", an ap proximate root is obtained by inverse interpolation using the given po ints. We can imagine that the coordinates of the points are reversed, \+ and that an interpolating polynomial curve (or a line in the case of j ust two points) is drawn through these \"reversed\" points. The second coordinate value at the point of intersection of the polynomial curve with the vertical axis gives the new approximation. " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{GLPLOT2D 378 289 289 {PLOTDATA 2 "63-%'CURVESG6& 7%7$$!\"$\"\"!$\"\"#F*7$$!\"\"F*$\"\"$F*7$F0$\"\"%F*-%'SYMBOLG6#%'CIRC LEG-%'COLOURG6&%$RGBG$F*F*F=$\"*++++\"!\")-%&STYLEG6#%&POINTG-F$6&F&-F 66#%&CROSSGF9FA-F$6&F&-F66#%(DIAMONDGF9FA-F$6%7S7$$!3++++++++X!#<$\"3) o$\\_gS=87FU7$$!3kmmTNq#HH%FU$\"3@'*fH[%[?J\"FU7$$!3GLe9cRv7TFU$\"3&*f mPB.#>S\"FU7$$!3#pm\"z%[I,\"RFU$\"3Pt0^c6X1:FU7$$!3`m;a$*Q;1PFU$\"3[Ha Y<\"[Xh\"FU7$$!3RLe*)>n;.NFU$\"3fV3zmY=CS$>FU7$$!3,n\"z>#za=HFU$\"3S\"z,8 D$oW?FU7$$!3#**\\i!\\Xlb?ZbxV:#FU7$$!3FLL3A5,6DFU$\"3wOYHHr) fE#FU7$$!3\"omT5H***GBFU$\"3'=^t\"ow#GO#FU7$$!3u***\\7>(4C@FU$\"3I>f!H Ic(pCFU7$$!3,++vVPN=>FU$\"3q<$e$*HlWd#FU7$$!3$)***\\(3=3?u89QHFU7$$!3K/]7G&HfL*!#=$\"38v82uorFIFU7$ $!3cPLLe3XouFjs$\"39`?0$RcK5$FU7$$!31**\\7y2`>aFjs$\"3Sv>hS;)>=$FU7$$! 3u&*\\PMVZoMFjs$\"3qjV\\&G`GD$FU7$$!3nHLe9;vK9Fjs$\"3$\"3?$3\\#foq#Q$FU7$$\"3oMLe*)*3JX#Fjs$\"3/&=!y)o)fVMFU7$$ \"35J$3-y9wa%Fjs$\"3K_znYpc-NFU7$$\"3W$*\\7G#))3P'Fjs$\"3/!Q&3)G%\\]NF U7$$\"3lJL3-N2S$)Fjs$\"3Czgq94*))f$FU7$$\"3L****\\dMWP5FU$\"3'p)Gyc5ZX OFU7$$\"3d**\\P**fYO7FU$\"3='piy&)yzo$FU7$$\"3O*\\(=U0.H9FU$\"3w)\\Jd- Zls$FU7$$\"3Q**\\iN1%Gk\"FU$\"3)fcx>(y%ow$FU7$$\"3+mm;9&e\\$=FU$\"3?;] qa!>7!QFU7$$\"3l***\\iN&3S?FU$\"3?a5!Hg#\\OQFU7$$\"3!H$3-j2'fA#FU$\"3; !>uTo[w'QFU7$$\"3S++vy;:?vE!zTFU7$$\"3I++]d;;-SFU$\"3Osk-?^JIUFU7$$\"3?m;HUDg7UFU$\"33[)GRz vgH%FU7$$\"3[LLLyL#3S%FU$\"3'=j(y7A8iVFU7$$\"3n+v=Zg],YFU$\"38_Cl`[7TW FU7$$\"3a*\\7y'\\e$z%FU$\"3i3O&ed;g_%FU7$$\"\"&F*$\"3]***\\Zk[&GYFU-F: 6&FF=F=-%*THICKNESSG6#\"\"\"-F$6%7S7$FS$\"3++++++DJ5FU7$FY$\"3KRcQ \\+9w6FU7$Fhn$\"3Ksmio4I*H\"FU7$F]o$\"3&zRl!)[wXV\"FU7$Fbo$\"3uZ9\">D$ Hn:FU7$Fgo$\"3/]O*)[q$fp\"FU7$F\\p$\"3GDI-t&Q@\"=FU7$Fap$\"3%)=zs-![$H >FU7$Ffp$\"3Atl8xsBZ?FU7$F[q$\"3'e\\x**))z8;#FU7$F`q$\"3/BifW1GvAFU7$F eq$\"3!*>k\"*)*plsBFU7$Fjq$\"3[F=n*Rw*yCFU7$F_r$\"3/:+;S?@#e#FU7$Fdr$ \"3Ksp@/5OyEFU7$Fir$\"3keb=u_$Gw#FU7$F^s$\"3+9#\\\")Gn(fGFU7$Fcs$\"3.c xW!*G*)QHFU7$Fhs$\"37=;Lde[FIFU7$F^t$\"3F(\\ia!4\"G5$FU7$Fct$\"3=)*GiE 46#=$FU7$Fht$\"3uvS$zbrVD$FU7$F]u$\"3OM%=!*G'QELFU7$Fbu$\"3)f5:zXw%*Q$ FU7$Fhu$\"3Q)GQk!HEaMFU7$F]v$\"3Sd9Ef,(z^$FU7$Fbv$\"3!39JR=^/d$FU7$Fgv $\"3+9xAR/-COFU7$F\\w$\"3WoP&Q6pfn$FU7$Faw$\"3PK79ELXBPFU7$Ffw$\"3mq9H N[DmPFU7$F[x$\"3joC7A$e,\"QFU7$F`x$\"3kCD>S\"ej%QFU7$Fex$\"3+js@TRh\") QFU7$Fjx$\"3JKCS*pK0\"RFU7$F_y$\"3B@;Q*4a)QRFU7$Fdy$\"3y*)z#=0gB'RFU7$ Fiy$\"39\\5KBQn$)RFU7$F^z$\"3(pJ**Hq$H,SFU7$Fcz$\"3=*z.&*yIj,%FU7$Fhz$ \"3A%z^nU;v-%FU7$F][l$\"3qizT@(4c.%FU7$Fb[l$\"3,`#oJ\"[HSSFU7$Fg[l$\"3 ]-#o>Zm;/%FU7$F\\\\l$\"3,(ze*RLyRSFU7$Fa\\l$\"3$3c2e_s\\.%FU7$Ff\\l$\" 3Pp)*zp7fESFU7$F[]l$\"3j^#>T&fU:SFU7$F`]lF3-%&COLORG6&Fo22'*F]il$\"+q*yIK$F_hl7$$\"+K_$[3\"F\\hl$\"+(fr!RLF_hl7$FahlF]\\m Figl-F:6&F$\")AR!)\\F@F=-%%TEXTG6%7$$\"#[F/$!\"#F/Q\"y6\"-F_gl6&F " 0 "" {MPLTEXT 1 0 841 "f := x -> x^2-2;\nmaxpts := 4;\neps := eva lf(10^(-9)):\na := evalf(1):\nb := evalf(2):\nfa := evalf(f(a)):\nfb : = evalf(f(b)):\nxvals := [a,b]:\nyvals := [fa,fb]:\nxx := b:\nfor i fr om 1 to 15 do\n print(`step `||i||``);\n pts := zip((_v,_u)->[_v,_ u],yvals,xvals);\n print(`interpolation points -> `,pts);\n print( ``);\n # calculate the new approximation to the root by inverse inte rpolation\n newx := interp(yvals,xvals,0);\n fx := f(newx);\n pr int(`approx root: `,newx,` new function value: `,fx);\n print(``);\n if abs(newx-xx)maxpts then\n \+ xvals := [op(2..nops(xvals),xvals)];\n yvals := [op(2..nops(yva ls),yvals)];\n end if;\nend do:\nnewx;\nmaxpts := 'maxpts':" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&arrow GF(,&*$)9$\"\"&\"\"\"F1\"\"$!\"\"F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'maxptsG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~1G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%9interpolation~points~->~G7$7$$!\"#\" \"!$\"\"\"F(7$$\"#HF($\"\"#F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%.approx~root:~G$\"+Hh^k5!\"*%6~new~ function~value:~G$!+GH-L;F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%9interpolation~points~->~G7%7$$!\"#\"\"!$\"\"\"F(7$$\" #HF($\"\"#F(7$$!+GH-L;!\"*$\"+Hh^k5F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%.approx~root:~G$\"+FQIO8!\" *%6~new~function~value:~G$\"+GD9h7F&" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~3G" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$%9interpolation~points~->~G7&7$$!\"#\"\"!$\"\"\"F(7$$ \"#HF($\"\"#F(7$$!+GH-L;!\"*$\"+Hh^k5F37$$\"+GD9h7F3$\"+FQIO8F3" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 &%.approx~root:~G$\"+7obm7!\"*%6~new~function~value:~G$\"*&y#Hf#F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%'step~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%9interpolation~points~- >~G7&7$$\"#H\"\"!$\"\"#F(7$$!+GH-L;!\"*$\"+Hh^k5F.7$$\"+GD9h7F.$\"+FQI O8F.7$$\"*&y#Hf#F.$\"+7obm7F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%.approx~root:~G$\"+zP]W7!\"*%6~new~ function~value:~G$!)4tu9F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~5G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6$%9interpolation~points~->~G7&7$$!+GH-L;!\"*$\"+Hh^k5F(7 $$\"+GD9h7F($\"+FQIO8F(7$$\"*&y#Hf#F($\"+7obm7F(7$$!)4tu9F($\"+zP]W7F( " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%.approx~root:~G$\"+#)ftX7!\"*%6~new~function~value:~G$\"&;2'F& " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~6G" }}{PARA 12 "" 1 "" {XPPMATH 20 "6$%9interpolation~poi nts~->~G7&7$$\"+GD9h7!\"*$\"+FQIO8F(7$$\"*&y#Hf#F($\"+7obm7F(7$$!)4tu9 F($\"+zP]W7F(7$$\"&;2'F($\"+#)ftX7F(" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%.approx~root:~G$\"+R4tX7!\"* %6~new~function~value:~G$!\"(F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'step~7G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%9interpolation~points~->~G7&7$$\"*&y#Hf#!\"*$\"+7obm7F (7$$!)4tu9F($\"+zP]W7F(7$$\"&;2'F($\"+#)ftX7F(7$$!\"(F($\"+R4tX7F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 &%.approx~root:~G$\"+R4tX7!\"*%6~new~function~value:~G$!\"(F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #$\"+R4tX7!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 93 "A p rocedure for graphing successive stages of the inverse interpolation r oot-finding method: " }{TEXT 0 15 "interproot_step" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 15 "interproot_step" } {TEXT -1 100 " enables the progress of the inverse interpolation root -finding method to be observed graphically." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 22 "interproot_step: usage " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } {TEXT 267 18 "Calling Sequence:\n" }}{PARA 0 "" 0 "" {TEXT 268 2 " " }{TEXT -1 61 " interproot_step( eqn, rng ) or interprootstep( eqn, r ng ) " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 4 " " }}{PARA 0 "" 0 " " {TEXT 23 10 " eqn - " }{TEXT -1 63 " an equation or expression i nvolving a single variable, say x," }}{PARA 0 "" 0 "" {TEXT -1 23 " \+ " }{TEXT 265 2 "OR" }{TEXT -1 88 " a function of t he form x -> f(x), where f(x) evaluates to a real floating point numbe r." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 " \+ " }{TEXT 23 9 "vals - " }{TEXT 271 89 "a range x=a..b (or simply a. .b when the1st argument is a procedure) where a and b are two" }} {PARA 0 "" 0 "" {TEXT 272 121 " distinct initial \+ approximations for the root, and x is the variable apperaring in the 1 st argument." }}{PARA 0 "" 0 "" {TEXT -1 22 " " } {TEXT 265 2 "OR" }{TEXT -1 21 " x=[a, . . ,b], (or " }{TEXT 273 1 " \+ " }{TEXT -1 11 "[a, . . ,b]" }{TEXT 274 37 " when the1st argument is a procedure)" }{TEXT -1 47 " giving a list of approximations for the ro ot. " }}{PARA 0 "" 0 "" {TEXT -1 6 " " }}{PARA 256 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 14 "The procedure " }{TEXT 0 15 "interproot_step" }{TEXT -1 85 " performs a single step of the inverse polynomial interpolation root-finding method. " }}{PARA 0 "" 0 "" {TEXT -1 43 "A picture is dr awn to illustrate the step. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 269 8 "Options:" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 155 "maxpoints=n or maxpts=n \+ or maxpoints=all or maxpts=all\nThis option can be used to specify the maximum number of data points to be retained after the step. " }} {PARA 0 "" 0 "" {TEXT -1 62 "\"maxpoints=all\" means that all data poi nts are to be retained." }}{PARA 0 "" 0 "" {TEXT -1 29 "The default is \"maxpoints=3\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 "draw=true/false" }}{PARA 0 "" 0 "" {TEXT -1 80 "this opti ons determines whether to draw the picture. The default is \"draw=true \"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 19 "co lor=c or colour=c" }}{PARA 0 "" 0 "" {TEXT -1 313 "If c is a list of u p to 4 colours, these colours will be applied in respective order to t he curve for the function, the inverse interpolating polynomial, the i nterpolation points and a small circle which highlights the point givi ng the new approximation for the root. A single colour is applied to t he curve only." }}{PARA 0 "" 0 "" {TEXT -1 46 "The default is \"colour =[red,green,blue,navy]\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 11 "thickness=t" }}{PARA 0 "" 0 "" {TEXT -1 152 "If t \+ is is a list of 1 or 2 positive integers, then they will be applied in respective order to specify the thickness of the curve and the secant line. " }}{PARA 0 "" 0 "" {TEXT -1 103 "A single thickness is applied to both the curve and the tangent line. The default is \"thickness=[1 ,2]\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 16 "How to activate:" }{TEXT 256 1 "\n " }{TEXT -1 154 "To make the procedure 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 31 "interproot_step: implementation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6292 "interprootstep := proc() \+ interproot_step(args[1..nargs]) end:\n\ninterproot_step := proc(ff,val s)\n local Options,a,b,xx,fx,xvals,yvals,divdiffs,i,mxpts,drawpic,\n x,f,fn,vars,lmr,sf,n,proctype,colr,clr,thik,thk,\n xmin,xma x,ymin,ymax,pts,d,pp,p1,p2,p3,p4;\n\n if nargs<2 then\n error \+ \"at least 2 arguments are required; the basic syntax is: 'interproot( f(x),x=a..b)'.\"\n end if; \n\n # start of main procedure interpro ot_step\n if type(ff,procedure) then\n if nops([op(1,eval(ff))] )<>1 then\n error \"the 1st argument, %1, is invalid .. it sho uld be a procedure with a single argument\",ff;\n end if;\n \+ proctype := true;\n if type(vals,realcons..realcons) or type(vals ,list(realcons)) then\n xvals := vals\n else\n er ror \"the 2nd argument, %1, is invalid .. when the 1st argument is a p rocedure, the 2nd argument should be a range of real constants or a li st of real constants\"\n end if;\n elif type(ff,algebraic) or t ype(ff,equation) then\n if type(ff,equation) then\n lmr : = lhs(ff)-rhs(ff);\n sf := traperror(simplify(lmr));\n \+ if sf<>lasterror then\n f := sf;\n else\n \+ f := lmr;\n end if;\n else\n f := ff;\n e nd if;\n vars := indets(f,name) minus indets(f,realcons);\n \+ if nops(vars)<>1 then \n if not has(indets(f),\{Int,Sum\}) the n\n error \"the 1st argument, %1, is invalid .. it should b e an expression or an equation which depends only on a single variable \",ff;\n end if;\n end if;\n if type(vals,name=realc ons..realcons) or type(vals,name=list(realcons)) then\n procty pe := false;\n x := op(1,vals);\n if not member(x,vars ) then\n error \"the 1st argument, %1, is invalid .. it sho uld be an expression or an equation which depends only on the variable %2\",ff,x;\n end if;\n xvals := op(2,vals);\n el se\n error \"the 2nd argument, %1, is invalid .. it should hav e the form 'x=a..b', to provide two real number starting values, or ha ve the form 'x=[a,..,b]' to provide a list of at least two real number starting values\",vals;\n end if;\n else\n error \"the 1s t argument, %1, is invalid .. it should be an algebraic expression in \+ a single variable, an equation in a single variable, or a procedure wi th a single real argument\",ff;\n end if;\n \n # Get the options .\n # Set the default values to start with.\n mxpts := 3;\n draw pic := false;\n clr := [COLOR(RGB,1,0,0),COLOR(RGB,0,1,0),COLOR(RGB, 0,0,1),COLOR(RGB,.137,.137,.557)];\n thk := [1,2];\n if nargs>2 th en\n Options:=[args[3..nargs]];\n if not type(Options,list(e quation)) then\n error \"each optional argument must be an equ ation\"\n end if;\n if hasoption(Options,'maxpoints','mxpts' ,'Options') then\n if mxpts<>all and (not type(mxpts,posint) o r mxpts<2) then\n error \"\\\"maxpoints\\\" must be a posit ive integer greater than or equal to 2\"\n end if;\n elif hasoption(Options,'maxpts','mxpts','Options') then\n if mxpts <>all and (not type(mxpts,posint) or mxpts<2) then\n error \+ \"\\\"maxpts\\\" must be a positive integer greater than or equal to 2 \"\n end if;\n end if;\n if hasoption(Options,'draw' ,'drawpic','Options') then\n if drawpic<>true then drawpic := \+ false end if;\n end if;\n if hasoption(Options,'color','colr ','Options') or\n hasoption(Options,'colour','colr','Options') then\n if type(colr,list) then\n for i from 1 to m in(nops(colr),4) do\n clr[i] := `plot/color`(colr[i]);\n end do;\n else\n clr[1] := `plot/color` (colr);\n end if;\n end if;\n if hasoption(Options,' thickness','thik','Options') then\n if type(thik,list) then\n \+ for i from 1 to min(nops(thik),2) do\n thk[i] := thik[i];\n end do;\n else\n thk := [ thik,thik];\n end if;\n end if;\n if nops(Options)>0 then\n error \"%1 is not a valid option for %2 .. the recogni sed options are \\\"draw\\\", \\\"maxpoints\\\", or (\\\"maxpts\\\"), \\\"colour\\\", or (\\\"color\\\") and \\\"thickness\\\"\",op(1,Option s),procname;\n end if;\n end if;\n\n if proctype then\n \+ fn := ff;\n else\n # Evaluate any real or real constants in f\n fn := unapply(evalf(f),x);\n end if;\n\n n := nops(xvals);\n if type(xvals,range) then\n a := evalf(op(1,xvals));\n b \+ := evalf(op(2,xvals));\n if a=b then\n error \"distinct s tarting values are required\"\n end if;\n xvals := [a,b];\n \+ else\n if nops(\{op(xvals)\})<>n then\n error \"distinc t starting values are required\"\n end if;\n if n>mxpts then \n WARNING(\"reducing the number of points to %1\",mxpts); \n \+ xvals := [op(n-mxpts+1..n,xvals)];\n end if;\n end if; \n \n yvals := [];\n for i from 1 to n do\n fx := traperror (evalf(fn(op(i,xvals))));\n if fx=lasterror or not type(fx,numeri c) then\n error \"evaluation failed at %1\",a;\n end if; \n yvals := [op(yvals),fx];\n end do;\n\n # this is where the new approximation for the root is calculated\n xx := interp(yvals,x vals,0); \n\n if drawpic then\n # Determine the plotting range \n xmin := min(op(xvals));\n xmax := max(op(xvals));\n \+ d := (xmax-xmin)/5;\n xmax := xmax+d;\n xmin := xmin-d;\n \+ ymin := min(op(yvals));\n ymax := max(op(yvals));\n d := \+ (ymax-ymin)/5;\n ymax := ymax+d;\n ymin := ymin-d;\n p1 := plot([[0,xx]],style=point,color=op(4,clr),symbol=circle,symbolsize =20);\n pp := op(1,op(1,plot('fn'(x),x=xmin..xmax)));\n pp : = map(_u -> [op(2,_u),op(1,_u)],pp);\n p2 := plot(pp,color=op(1,c lr),thickness=op(1,thk));\n p3 := plot(interp(yvals,xvals,y),y=ym in..ymax,xmin..xmax,\n color=op(2,clr),thickness= op(2,thk));\n pts := zip((_v,_u)->[_v,_u],yvals,xvals);\n p4 := plot([pts$3],style=point,color=op(3,clr),symbol=[circle,cross,diam ond]);\n print(plots[display]([p1,p2,p3,p4]));\n end if;\n\n \+ xvals := [op(xvals),xx]; \n\n # Retain at most 'mxpts' data points. \n if nops(xvals)>mxpts then\n xvals := [op(2..nops(xvals),xval s)];\n end if;\n \n xvals; \nend proc: # of interproot_step" } }}{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 15 "interproot_step" }{TEXT -1 11 ": examples \+ " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 82 "This example illustrates the use of the inverse i nterpolation method to calculate " }{XPPEDIT 18 0 "sqrt(2)" "6#-%%sqrt G6#\"\"#" }{TEXT -1 27 " as a zero of the function " }{XPPEDIT 18 0 "f (x)=x^2-2" "6#/-%\"fG6#%\"xG,&*$F'\"\"#\"\"\"F*!\"\"" }{TEXT -1 2 ". \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 164 "f := x -> x^2-2;\nxvals := 1..2;\nfor i from 1 to 6 do\n xv als := interproot_step(f(x),x=xvals,draw=is(i<=3));\n print(`approxi mations for root -> `,xvals);\nend do:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&arrowGF(,&*$)9$\"\"#\"\"\"F1F0! \"\"F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&xvalsG;\"\"\"\"\"#" } }{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%'CURVESG6&7#7 $$\"\"!F)$\"3!******HLLLL\"!#<-%&COLORG6&%$RGBG$\"$P\"!\"$F1$\"$d&F3-% &STYLEG6#%&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7S7$$!3))************f8 F,$\"3U+++++++!)!#=7$$!3NEVWZJC58F,$\"3VLLLe,;0$)FG7$$!3K$e%*4sMaE\"F, $\"3_nmT!Qy1d)FG7$$!3Sv@5w%eL@\"F,$\"3WLL$3R\"Gp))FG7$$!3=([i1*f8f6F,$ \"3eML$etj)p\"*FG7$$!3OTjR#3xL5\"F,$\"3+nmTlu,p%*FG7$$!3/CJ5&zK*FG$\"3YL $3d4cI.\"F,7$$!3YgSH[n]2()FG$\"33+]([VhE1\"F,7$$!3'>\")>\">U,^!)FG$\"3 qmm;lT6$4\"F,7$$!3C%*fxcBTduFG$\"3aLLeYp$*>6F,7$$!3%)[*)[w(R>x'FG$\"31 ++]XI8]6F,7$$!3;s$4(>SIlgFG$\"31++]KJX!=\"F,7$$!3?vKF'yKpO&FG$\"3@++]a @n47F,7$$!3Btx%[c^zr%FG$\"3\\L$3d#e?O7F,7$$!3Y/$4itBz#RFG$\"3)ommr#pvn 7F,7$$!39lVsl(*3VKFG$\"3!pmm'[[[%H\"F,7$$!3\">n*QP')[GCFG$\"3;+]PvddD8 F,7$$!3k;6.Z#)H\"p\"FG$\"3%ommO^'4`8F,7$$!3MXl(eCm0l)!#>$\"3?+]PD6H$Q \"F,7$$!381bg(3_I8'!#?$\"36+]7ON/79F,7$$\"3)=#**ya=**[zFds$\"3(om;/mV? W\"F,7$$\"3GH$zy&*Rqf\"FG$\"3#omT&RJfp9F,7$$\"3!yEhE,u#zCFG$\"3YLLeu*3 $*\\\"F,7$$\"3$**RTU!oO9MFG$\"3iL$3dPv,`\"F,7$$\"3el`$4+\")QC%FG$\"37+ ]ioY/d:F,7$$\"3y4DVox*f:&FG$\"3mLL3TU1'e\"F,7$$\"3R=SIj<*f6'FG$\"38+++ *HWgh\"F,7$$\"3%y#>O\" z\"F,7$$\"3nZ_'y'[b;8F,$\"3?++]*3T6#=F,7$$\"3qA$RO))z*>9F,$\"3om;/i(=$ \\=F,7$$\"3!\\E1/H'yH:F,$\"3A+]()[Dxy=F,7$$\"3+*4LZ_>)Q;F,$\"3$omm\"4! pv!>F,7$$\"3/I/'\\?WZv\"F,$\"32+]PMirP>F,7$$\"398iuP=6o=F,$\"3mLLL&f^n '>F,7$$\"3wV0IC/z&)>F,$\"3WLLeXWW'*>F,7$$\"3Bub+igB/@F,$\"3An;/C9*e-#F ,7$$\"3**=,AtUg9AF,$\"3++++R,&H0#F,7$$\"3@C/q<'**GM#F,$\"3%pm;*zC'R3#F ,7$$\"3E$oBN5y#fCF,$\"3[LLL(G+<6#F,7$$\"3%yQZr!o0&e#F,$\"3@+]PvXFT@F,7 $$\"3m$e,mY\"32FF,$\"37+]iU4ep@F,7$$\"3u++++++SGF,$\"3;+++++++AF,-F.6& F0\"\"\"F)F)-%*THICKNESSG6#Ff\\l-F$6%7S7$$!33+++++++;F,$\"33****>(**** ***zFG7$$!3>++]_>X3:F,$\"3];G]b,;0$)FG7$$!3(***\\(e['zG9F,$\"3[)ffvPy1 d)FG7$$!32++v#e:#R8F,$\"3'QSYzQ\"Gp))FG7$$!33++Dz3/\\7F,$\"3sXj\"Htj)p \"*FG7$$!37+]PgZHf6F,$\"3Gk(pCY')3w5F,$\"3E&p3TErju* FG7$$!3/,+v3[L**)*FG$\"3RkY21bN.5F,7$$!3o***\\(GrJ3!*FG$\"3jF]S&4cI.\" F,7$$!3o++v`p:?\")FG$\"3uL(oXVhE1\"F,7$$!3!******\\/vl?(FG$\"3Cbt&[;9J 4\"F,7$$!3X****\\-;*=S'FG$\"3bR8FYp$*>6F,7$$!37)****\\j3g\\&FG$\"3s') \\=XI8]6F,7$$!3[+++DgS'e%FG$\"3oa>=KJX!=\"F,7$$!3A)****\\ON)4PFG$\"3tK !zT:s'47F,7$$!3%****\\(G_#Q\"HFG$\"3e7ZQDe?O7F,7$$!3E+++&=#Hn>FG$\"3%4 *)Ro#pvn7F,7$$!3Q******RXXl6FG$\"3+=sL[[[%H\"F,7$$!3H)***\\(QnsK#Fds$ \"3SUC/vddD8F,7$$\"3n0+++T&*GfFds$\"3%oNJL^'4`8F,7$$\"3!=+]7wL()\\\"FG $\"3%3nO]7\"H$Q\"F,7$$\"31,+v$318O#FG$\"3\\&z$yNN/79F,7$$\"3u,+]7)48E$ FG$\"3@iC2gO/U9F,7$$\"3Y/+D'=%z(3%FG$\"3[2Z>RJfp9F,7$$\"3Q,+]P#p#z\\FG $\"3[-MBu*3$*\\\"F,7$$\"3n***\\7Fh_!fFG$\"3c:`Nv`e(FG$\"3uEZsSU1'e\"F,7$$\"3k,++q*G8[ )FG$\"3Q&RQ')HWgh\"F,7$$\"3k****\\-\"=7O*FG$\"3[iaQORPX;F,7$$\"3;+]73c D@5F,$\"3uCw+p=vt;F,7$$\"3;++vv@y:6F,$\"3yt%z[sg_q\"F,7$$\"3))*****4]= 2?\"F,$\"394LHLGdLO7_?!Qw\"F,7$$\"3;+]7`E et8F,$\"3!R@Ht@%>\"z\"F,7$$\"3g++]oKUj9F,$\"3'e)y6*3T6#=F,7$$\"3!)**\\ 7'Gcza\"F,$\"3eMnlh(=$\\=F,7$$\"3B+]iYwJO;F,$\"3sAr[[Dxy=F,7$$\"3F++]F qqAF,7$$\"3)***\\7.([J\"=F,$\"3;G7)RB;x$>F,7$$\"3`++ +'ya-!>F,$\"33em$\\f^n'>F,7$$\"37++vOLL*)>F,$\"3!*)o$=XWW'*>F,7$$\"3M+ ]7sUnx?F,$\"3Ex!ROU\"*e-#F,7$$\"3Y++++]7E P#QU#F,$\"3Ps3'\\du79#F,7$$\"3!3+vy#Gu3DF,$\"35U!3A%4ep@F,7$$\"33+++++ ++EF,$\"39++e*******>#F,-F.6&F0F)Ff\\lF)-Fh\\l6#\"\"#-F$6&7$7$$!\"\"F) $Ff\\lF)7$$Ff\\mF)F_]m-F;6#F=-F.6&F0F)F)Ff\\lF6-F$6&Fi\\m-F;6#%&CROSSG Fb]mF6-F$6&Fi\\m-F;6#%(DIAMONDGFb]mF6-%+AXESLABELSG6%Q!6\"Fa^m-%%FONTG 6#%(DEFAULTG-%%VIEWG6$;$!+++++;!\"*$\"+++++EF]_m;$\"+++++!)!#5$\"+++++ AF]_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" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7%$\"\"\"\"\"!$\"\"#F' $\"+LLLL8!\"*" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6 *-%'CURVESG6&7#7$$\"\"!F)$\"34+++>w/>9!#<-%&COLORG6&%$RGBG$\"$P\"!\"$F 1$\"$d&F3-%&STYLEG6#%&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7S7$$!3))*** *********f8F,$\"3U+++++++!)!#=7$$!3NEVWZJC58F,$\"3VLLLe,;0$)FG7$$!3K$e %*4sMaE\"F,$\"3_nmT!Qy1d)FG7$$!3Sv@5w%eL@\"F,$\"3WLL$3R\"Gp))FG7$$!3=( [i1*f8f6F,$\"3eML$etj)p\"*FG7$$!3OTjR#3xL5\"F,$\"3+nmTlu,p%*FG7$$!3/C< CrC3]5F,$\"3cLL3n7PY(*FG7$$!30r'p#ysxK**FG$\"3:+]P1bN.5F,7$$!3'pa)>J5& zK*FG$\"3YL$3d4cI.\"F,7$$!3YgSH[n]2()FG$\"33+]([VhE1\"F,7$$!3'>\")>\"> U,^!)FG$\"3qmm;lT6$4\"F,7$$!3C%*fxcBTduFG$\"3aLLeYp$*>6F,7$$!3%)[*)[w( R>x'FG$\"31++]XI8]6F,7$$!3;s$4(>SIlgFG$\"31++]KJX!=\"F,7$$!3?vKF'yKpO& FG$\"3@++]a@n47F,7$$!3Btx%[c^zr%FG$\"3\\L$3d#e?O7F,7$$!3Y/$4itBz#RFG$ \"3)ommr#pvn7F,7$$!39lVsl(*3VKFG$\"3!pmm'[[[%H\"F,7$$!3\">n*QP')[GCFG$ \"3;+]PvddD8F,7$$!3k;6.Z#)H\"p\"FG$\"3%ommO^'4`8F,7$$!3MXl(eCm0l)!#>$ \"3?+]PD6H$Q\"F,7$$!381bg(3_I8'!#?$\"36+]7ON/79F,7$$\"3)=#**ya=**[zFds $\"3(om;/mV?W\"F,7$$\"3GH$zy&*Rqf\"FG$\"3#omT&RJfp9F,7$$\"3!yEhE,u#zCF G$\"3YLLeu*3$*\\\"F,7$$\"3$**RTU!oO9MFG$\"3iL$3dPv,`\"F,7$$\"3el`$4+\" )QC%FG$\"37+]ioY/d:F,7$$\"3y4DVox*f:&FG$\"3mLL3TU1'e\"F,7$$\"3R=SIj<*f 6'FG$\"38+++*HWgh\"F,7$$\"3%y#>O\"z\"F,7$$\"3nZ_'y'[b;8F,$\"3?++]*3T6#=F,7$$\"3qA$RO))z*>9F ,$\"3om;/i(=$\\=F,7$$\"3!\\E1/H'yH:F,$\"3A+]()[Dxy=F,7$$\"3+*4LZ_>)Q;F ,$\"3$omm\"4!pv!>F,7$$\"3/I/'\\?WZv\"F,$\"32+]PMirP>F,7$$\"398iuP=6o=F ,$\"3mLLL&f^n'>F,7$$\"3wV0IC/z&)>F,$\"3WLLeXWW'*>F,7$$\"3Bub+igB/@F,$ \"3An;/C9*e-#F,7$$\"3**=,AtUg9AF,$\"3++++R,&H0#F,7$$\"3@C/q<'**GM#F,$ \"3%pm;*zC'R3#F,7$$\"3E$oBN5y#fCF,$\"3[LLL(G+<6#F,7$$\"3%yQZr!o0&e#F,$ \"3@+]PvXFT@F,7$$\"3m$e,mY\"32FF,$\"37+]iU4ep@F,7$$\"3u++++++SGF,$\"3; +++++++AF,-F.6&F0\"\"\"F)F)-%*THICKNESSG6#Ff\\l-F$6%7S7$$!33+++++++;F, $\"3%***>N9dGuqFG7$$!3>++]_>X3:F,$\"3n$y(o\"[S1a(FG7$$!3(***\\(e['zG9F ,$\"3Ui(>ero0%zFG7$$!32++v#e:#R8F,$\"33#3*y]D$QQ)FG7$$!33++Dz3/\\7F,$ \"3k&4Cot(3B))FG7$$!37+]PgZHf6F,$\"3!*f9*H*\\L`#*FG7$$!3;+]()>')3w5F,$ \"3UGjPO=1Y'*FG7$$!3/,+v3[L**)*FG$\"3I#))o,VXY+\"F,7$$!3o***\\(GrJ3!*F G$\"3[i9\">$[QX5F,7$$!3o++v`p:?\")FG$\"3?WU[bjJ&3\"F,7$$!3!******\\/vl ?(FG$\"3PfPT!R&oD6F,7$$!3X****\\-;*=S'FG$\"3))e*>**))\\1;\"F,7$$!37)** **\\j3g\\&FG$\"3#yMTB`Z$*>\"F,7$$!3[+++DgS'e%FG$\"3=%3@3M'\\P7F,7$$!3A )****\\ON)4PFG$\"3[CJFp()et7F,7$$!3%****\\(G_#Q\"HFG$\"3]sowbNz08F,7$$ !3E+++&=#Hn>FG$\"3n$e]pG\"QV8F,7$$!3Q******RXXl6FG$\"3)z\"[K2Aiu8F,7$$ !3H)***\\(QnsK#Fds$\"3!)=/c[%p-T\"F,7$$\"3n0+++T&*GfFds$\"3-%>0h7,7W\" F,7$$\"3!=+]7wL()\\\"FG$\"3+&eat*eYu9F,7$$\"31,+v$318O#FG$\"3a05$34)[0 :F,7$$\"3u,+]7)48E$FG$\"3<%*HqTme(FG$\"3/U65 1ejz;F,7$$\"3k,++q*G8[)FG$\"3()*R&4M(ysq\"F,7$$\"3k****\\-\"=7O*FG$\"3 FAh(Q)4lL>F,7$$\"3F++]FqqAF,7$$\"3)***\\7.([J \"=F,$\"3%)Hfs$oV-'>F,7$$\"3`+++'ya-!>F,$\"3O&GG(*e\\\"z>F,7$$\"37++vO LL*)>F,$\"3?nog(*4\"y*>F,7$$\"3M+]7sUnx?F,$\"3xD*>B;Yc,#F,7$$\"3Y++++]7EP#QU#F,$\"3wj)HGn%3z?F,7$$\"3!3+vy#Gu3DF ,$\"3_PhS'*)yI4#F,7$$\"33+++++++EF,$\"30+#*er&Gu5#F,-F.6&F0F)Ff\\lF)-F h\\l6#\"\"#-F$6&7%7$$!\"\"F)$Ff\\lF)7$$Ff\\mF)F_]m7$$!3(*******HAAAAFG $\"3!******HLLLL\"F,-F;6#F=-F.6&F0F)F)Ff\\lF6-F$6&Fi\\m-F;6#%&CROSSGFg ]mF6-F$6&Fi\\m-F;6#%(DIAMONDGFg]mF6-%+AXESLABELSG6%Q!6\"Ff^m-%%FONTG6# %(DEFAULTG-%%VIEWG6$;$!+++++;!\"*$\"+++++EFb_m;$\"+++++!)!#5$\"+++++AF b_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" }}}{PARA 11 "" 1 " " {XPPMATH 20 "6$%~G7%$\"\"#\"\"!$\"+LLLL8! \"*$\"+>w/>9F*" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 " 6*-%'CURVESG6&7#7$$\"\"!F)$\"3)******z`oTT\"!#<-%&COLORG6&%$RGBG$\"$P \"!\"$F1$\"$d&F3-%&STYLEG6#%&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7S7$$ !3a+++++++c!#=$\"3%**************>\"F,7$$!3p`\"*=f\\g2^FE$\"3*)*G[0,W. A\"F,7$$!3A'*>%**>SCn%FE$\"3fBvMD_/Q7F,7$$!3EO&yYKlb<%FE$\"33D:q#4_zD \"F,7$$!3e*pES>#RnOFE$\"3IoVp:4*zF\"F,7$$!3e\\Y&yRgO:$FE$\"3yn%fw\\MzH \"F,7$$!3?\"*Q)pue-n#FE$\"3h3t4^ZU;8F,7$$!3#eso\\t=D;#FE$\"3F:\\`P.dN8 F,7$$!3XEhHJ=qH;FE$\"3iKnTI2Pb8F,7$$!3g.t^Y-z!4\"FE$\"3[hu=Bw5v8F,7$$! 3IiM3M&[KG&!#>$\"3KbYPV%4aR\"F,7$$!3?zJ&z*zq2E!#?$\"3xYgk(H\"H89F,7$$ \"37'4%f!or)paFbp$\"3Go*\\-.AMV\"F,7$$\"34^ng)Qf08\"FE$\"3]#3w:UNOX\"F ,7$$\"3#)ypAV7n+i\\A#FE$\"3-(p,P)Q!3\\ \"F,7$$\"3gc)44\"*Rl&GFE$\"3vtIL^z$=^\"F,7$$\"3E&yo')3#\\)R$FE$\"3QV+m lllH:F,7$$\"30I*zs#3!p.%FE$\"3!G'[7]QQ]:F,7$$\"3pLfL&yp\"4YFE$\"3I@%z* 35to:F,7$$\"3JYnVK[yW_FE$\"3;@66]2'))e\"F,7$$\"3k%Qd#=MddeFE$\"3r3w$R- H!3;F,7$$\"3@'z0cs(y/lFE$\"3(od\"z1\"H!G;F,7$$\"30c#yT**yh5(FE$\"3A%o, iU&RY;F,7$$\"3%ow_TxBCw(FE$\"3U`!*)G)f?m;F,7$$\"3SVT4!e)Q_%)FE$\"3A//Y7]#y\"F,7$$\"3!=%[#*R!QED\"F,$ \"3PG6&*\\r].=F,7$$\"3*o-]*[d2@8F,$\"3!>$))))))=QA=F,7$$\"3![B+g7M\\R \"F,$\"3+!>P9qMD%=F,7$$\"3Eea)GHiDY\"F,$\"3C!*G!\\9'zg=F,7$$\"3(GN.)34 EP:F,$\"3Q/-4E2w!)=F,7$$\"3-NJ[-WF3;F,$\"3Kt76Tea**=F,7$$\"3WJ-v$ReKo \"F,$\"3R\\J**)p\"=>>F,7$$\"3/`FciWJdF,7$$\"33#fVh2Mc $=F,$\"3e[CJ*[x%e>F,7$$\"3RdzT+*G=\">F,$\"3u!46mRMy(>F,7$$\"3'*G&p!RT_ !*>F,$\"3G@S5I'Hw*>F,7$$\"3++(RmtT$p?F,$\"3PK#p!\\4E.%oq\"3*H9F,7$$\"3+#3o@nnS6\"FE$\"3)4wiUy3NX\"F,7$ $\"3'Rk,OQZyy\"FE$\"3ca_:Yu\"pZ\"F,7$$\"3R'Q7R)*erV#FE$\"3I%z%eb@?*\\ \"F,7$$\"3NKv:AhzEIFE$\"3>h*4%>f?>:F,7$$\"3WRgX5<$zs$FE$\"38w@U?QqU:F, 7$$\"3j*R^=_&)=K%FE$\"3c'y+DSkBc\"F,7$$\"3Pb%*e/]z7]FE$\"3-a1)QL^\\e\" F,7$$\"3:t\">p'pOCcFE$\"3n]m'zl!p/;F,7$$\"3a)eO&Q$e`H'FE$\"3!\\RagZtgi \"F,7$$\"3.![`**z+V$pFE$\"3kz2Ib\"ohk\"F,7$$\"3lKi(*G-(4g(FE$\"3Ernqkt &om\"F,7$$\"3YS9\\w3=8#)FE$\"3]vZ0@pg&o\"F,7$$\"3kzAimF`t))FE$\"3c)G(4 dHc0z_%f&*FE$\"39epE'G(*fs\"F,7$$\"3BW%Q!>[l:5F,$\"3VN)* z37aV@\"F,$\"3!f$4:_Eh*z\"F,7$$\"3UhD;aT+v7F,$\"3$ 3A.Oe0r\"=F,7$$\"3%HH=R$Q-X8F,$\"3,/-:S9BO=F,7$$\"38%))H/jRzS\"F,$\"3w L+XV-:`=F,7$$\"3u%)QJsc6v9F,$\"3+$\\fI3O4(=F,7$$\"3dcPe]r)f`\"F,$\"3!Q *ef;U!o)=F,7$$\"3k'3(fad`-;F,$\"3lxo,a>)Q!>F,7$$\"3aX'>Z!G:l;F,$\"3s7% oe$Hp>>F,7$$\"3f*f!QkcgIF,7$$\"3s0FR)z(f%z\"F,$\"3o K&H!)f&e^>F,7$$\"3Gj5AK;fh=F,$\"3CH#QZ+sw'>F,7$$\"36%z.ml9h#>F,$\"3!R. IOg%*G)>F,7$$\"3!)Q?Io()4#*>F,$\"3m@85&Q(=)*>F,7$$\"37j2C)\\Ov0#F,$\"3 7P$3^PzI,#F,7$$\"3'[saf(pm<@F,$\"3!pX&3kG_E?F,7$$\"3_ae8*G$e'=#F,$\"3J h51/rkT?F,7$$\"3Y!R-7'GA[AF,$\"3Uwubfy\"\\0#F,7$$\"37NkK,N%RJ#F,$\"3?C oj()*oRl%oP#F,$\"3'fmS\"o)H=3#F,7$$\"3!)*****\\WWWW#F, $\"3kg?zm0b&4#F,-F.6&F0F)Ff\\lF)-Fh\\l6#\"\"#-F$6&7%7$$Ff\\mF)F[]m7$$! 3(*******HAAAAFE$\"3!******HLLLL\"F,7$$\"3)********\\9'p8Fbp$\"34+++>w />9F,-F;6#F=-F.6&F0F)F)Ff\\lF6-F$6&Fi\\m-F;6#%&CROSSGFh]mF6-F$6&Fi\\m- F;6#%(DIAMONDGFh]mF6-%+AXESLABELSG6%Q!6\"Fg^m-%%FONTG6#%(DEFAULTG-%%VI EWG6$;$!+wmmmm!#5$\"+XWWWC!\"*;$\"+++++7Ff_m$\"+LLLL@Ff_m" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curv e 3" "Curve 4" "Curve 5" "Curve 6" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$ %~G7%$\"+LLLL8!\"*$\"+>w/>9F'$\"+Q&oTT\"F' " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7%$ \"+>w/>9!\"*$\"+Q&oTT\"F'$\"+nN@99F'" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$%~G7%$\"+Q&oTT\"!\"*$\"+nN@99F'$\"+iN@99F '" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7%$ \"+nN@99!\"*$\"+iN@99F'F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 2" }}{PARA 0 "" 0 "" {TEXT -1 102 "This example il lustrates the use of the inverse interpolation method to find the zero of the function " }{XPPEDIT 18 0 "f(x)=sin(19*x)/5+x^2-2" "6#/-%\"fG6 #%\"xG,(*&-%$sinG6#*&\"#>\"\"\"F'F/F/\"\"&!\"\"F/*$F'\"\"#F/F3F1" } {TEXT -1 28 " which lies in the interval " }{XPPEDIT 18 0 "[1,2]" "6#7 $\"\"\"\"\"#" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 231 "f := x -> sin(19*x)/5+x^2-2 ;\nxvals := [1,2];\nfor i from 1 to 8 do\n xvals := interproot_step( f(x),x=xvals,draw=is(i<=5),\n color=[magenta,coral,black$2], maxpoints=4);\n print(`approximations for root -> `,xvals);\nend do: " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&a rrowGF(,(*&#\"\"\"\"\"&F/-%$sinG6#,$*&\"#>F/9$F/F/F/F/*$)F7\"\"#F/F/F: !\"\"F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&xvalsG7$\"\"\"\"\"# " }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%'CURVESG6& 7#7$$\"\"!F)$\"3\"******zF9-K\"!#<-%'COLOURG6&%$RGBGF)F)F)-%&STYLEG6#% &POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7ho7$$!3QS#HAE?FE\"F,$\"3U+++++++ !)!#=7$$!3*e'p$y**)fC8F,$\"3VLLLe,;0$)FB7$$!3mA*H/=.z V)FB7$$!3G)pi$zSUu8F,$\"3_nmT!Qy1d)FB7$$!3['z8n#y=\"R\"F,$\"3$***\\i&) )z*>()FB7$$!332a1z0R&R\"F,$\"3WLL$3R\"Gp))FB7$$!3)y>,U>T>R\"F,$\"3*GL$ 3xpUW*)FB7$$!3Kf&Hx>sWQ\"F,$\"3YLLLjDd>!*FB7$$!3A]0is3'GP\"F,$\"3-MLe \\\"=Z4*FB7$$!3md$)>-l1d8F,$\"3eML$etj)p\"*FB7$$!3<0BSi]U88F,$\"3z+]i+ 1W>$*FB7$$!31qWY$fRZD\"F,$\"3+nmTlu,p%*FB7$$!3&))4%>ea;:6F,$\"3cLL3n7P Y(*FB7$$!3n#)\\mh#[w]*FB$\"3:+]P1bN.5F,7$$!31\")e[AC^BzFB$\"3YL$3d4cI. \"F,7$$!31dOo=KWvsFB$\"3mm;Hl(ey/\"F,7$$!3/YkWmf2gnFB$\"33+]([VhE1\"F, 7$$!3whxw3+7&Q'FB$\"3SL3-+y)y2\"F,7$$!3[]jtO(e9<'FB$\"3qmm;lT6$4\"F,7$ $!3Xl.LWYX4hFB$\"3B+](ebDl5\"F,7$$!3E\"p_%y#*=]hFB$\"3aLLeYp$*>6F,7$$! 3uJLAiGV\"H'FB$\"3!omTg*\\.N6F,7$$!3SNYg+ae&\\'FB$\"31++]XI8]6F,7$$!3- y@gvde7pFB$\"31++]KJX!=\"F,7$$!3ZAHq90bHqFB$\"3+++]VE1&>\"F,7$$!3*o$46 ;n&=/(FB$\"3@++]a@n47F,7$$!3NiPOruzQpFB$\"3tmT5!**QHA\"F,7$$!3$\\$H8.I Z7nFB$\"3\\L$3d#e?O7F,7$$!3!Rj'\\e6quiFB$\"33+vVw8)>D\"F,7$$!35W!>2oL \"ecFB$\"3)ommr#pvn7F,7$$!3G?dc'**>rE%FB$\"3!pmm'[[[%H\"F,7$$!3,R\"H)3 =9ABFB$\"3;+]PvddD8F,7$$!3TPwQ!Gcz,'!#>$\"3%ommO^'4`8F,7$$\"3C=wWjx*Hg *F[w$\"3?+]PD6H$Q\"F,7$$\"3zJKB1u\"H^\"FB$\"3/++vItm(R\"F,7$$\"3bU606D *H#>FB$\"36+]7ON/79F,7$$\"3A(3t7/W&)>#FB$\"3gL3F)fVqU\"F,7$$\"3./t@[Dj IBFB$\"3(om;/mV?W\"F,7$$\"3M#))*H)R-gM#FB$\"3'p;z**R=eX\"F,7$$\"3AY<^t Ar'G#FB$\"3#omT&RJfp9F,7$$\"31O!p^u$Rd?FB$\"3YLLeu*3$*\\\"F,7$$\"3K&fH (y1[v>FB$\"3VLe9v@u9:F,7$$\"35Q9R&=^5)>FB$\"3iL$3dPv,`\"F,7$$\"3mfK*>U _#)3#FB$\"3(omm@-5Oa\"F,7$$\"3CGxoJ:w6BFB$\"37+]ioY/d:F,7$$\"3=%*e#)H: /)p#FB$\"3!p;a[Xa:d\"F,7$$\"3#Ry%34\"z\"F,7$$\"35zHBOas28F,$\"3?++]*3T6#=F,7$$\"3rzX_3]q18F, $\"3KL3xD*H_$=F,7$$\"3ePW0;DX58F,$\"3om;/i(=$\\=F,7$$\"3cekgoF=B8F,$\" 3ML$ealXS'=F,7$$\"3)HFF[()H\"[8F,$\"3A+]()[Dxy=F,7$$\"3#*3BJN!*e'Q\"F, $\"3iL3-z2<$*=F,7$$\"3nU`Hn>:S9F,$\"3$omm\"4!pv!>F,7$$\"3]H\"y\\!zF+;F ,$\"32+]PMirP>F,7$$\"3*o;V;#f9.=F,$\"3mLLL&f^n'>F,7$$\"377<@ZY.K?F,$\" 3WLLeXWW'*>F,7$$\"3G1gl^QqYAF,$\"3An;/C9*e-#F,7$$\"3\"y@$\\'f#o2CF,$\" 3++++R,&H0#F,7$$\"3[V1K$)oTyCF,$\"3[L$e%4jXo?F,7$$\"3+*fb!\\bSKDF,$\"3 %pm;*zC'R3#F,7$$\"3Ip)Q'o#3sc#F,$\"3U+]i$QJy4#F,7$$\"3'>HMk994f#F,$\"3 [LLL(G+<6#F,7$$\"3T>YDvPn1EF,$\"3jmTNJu[E@F,7$$\"3U`$>*QnA;EF,$\"3@+]P vXFT@F,7$$\"3UmN+!y\\Ej#F,$\"37+]iU4ep@F,7$$\"35JYdNDCwEF,$\"3;+++++++ AF,-F.6&F0$\"*++++\"!\")F(Fgdl-%*THICKNESSG6#\"\"\"-F$6%7S7$$!3#****** H@%)ed\"F,$\"3K]e1/+++!)FB7$$!3s2!)*))4UM[\"F,$\"3%*=8Zi,;0$)FB7$$!3\\ iJq4(3IS\"F,$\"3Q=uh%Qy1d)FB7$$!3m*)zG^Hb78F,$\"3=rY5&R\"Gp))FB7$$!3Qk !*Q$f(\\@7F,$\"3[Dd HyR&zoFB$\"3[SDklT6$4\"F,7$$!3Mv'[$Gx*p1'FB$\"3\"yalq%p$*>6F,7$$!3)[[k \\#yE_^FB$\"3i_$*)f/L,:\"F,7$$!3Ad:r_>yLUFB$\"3w>l*H8`/=\"F,7$$!3%QR-N i]'[LFB$\"3%oU.]:s'47F,7$$!3l1P[zl'[a#FB$\"3WK!=i#e?O7F,7$$!3)4G)[2'*3 *e\"FB$\"33CQoFpvn7F,7$$!3m1MOF9@%z(F[w$\"3SU,>\\[[%H\"F,7$$\"3Wyj)\\j dTi\"F[w$\"3KDe!fxvbK\"F,7$$\"3k:yQO,,h**F[w$\"3Y(*R?9l4`8F,7$$\"34)fY ]'ey5>FB$\"3Yo%>f7\"H$Q\"F,7$$\"3q))=rZ@y\"y#FB$\"3PlinON/79F,7$$\"35; H;&Rv0p$FB$\"3cB](4mV?W\"F,7$$\"3)[Cr3HJ^_%FB$\"33Ol5SJfp9F,7$$\"3:S!y *oDJDaFB$\"35F_:v*3$*\\\"F,7$$\"3kra5#pY/d:F,7$$\"3'G^9*f$)Q`!)FB$\"37NdnTU1'e\"F,7$$\"3wa R,PPdh*)FB$\"3\"))[*f*HWgh\"F,7$$\"3%G&*Gs%f0])*FB$\"3!=Uct$RPX;F,7$$ \"3O/;0<3(42\"F,$\"3=I\"))*p=vt;F,7$$\"3/f%y(R0Um6F,$\"3`y0(esg_q\"F,7 $$\"3Udk%4O'=_7F,$\"3$y$RHMGdL\"z\"F,7$$\"3Z%eCsscu^\"F,$\"3Vrz9!4 T6#=F,7$$\"3eU%G?I:Gg\"F,$\"3!))H'pi(=$\\=F,7$$\"3')QQl2'R?p\"F,$\"3y% fO&\\Dxy=F,7$$\"3!=#47vEFzF,7$$\"3mG!>Ch(fq=F,$\"3PG 00NirP>F,7$$\"3ArLE\"Qa&e>F,$\"3eDd,'f^n'>F,7$$\"3C?VG\")G][?F,$\"3UWF FYWW'*>F,7$$\"3Dy5JilqP@F,$\"32R!QZU\"*e-#F,7$$\"3AY(Q3[v'>AF,$\"3_oFq R,&H0#F,7$$\"3&\\;f;6@OJ#F,$\"3[mni![iR3#F,7$$\"3CU*)z.sk(R#F,$\"3b*)* \\!)G+<6#F,7$$\"3!=zENaOs[#F,$\"38Z')4wXFT@F,7$$\"3e9&))H(\\)Hd#F,$\"3 eQ`NV4ep@F,7$$\"3-+++rL8lEF,$\"3KHvt++++AF,-F.6&F0Fgdl$\")AR!)\\FidlF( -F[el6#\"\"#-F$6&7$7$$!3\")******zbC+(*FB$F]elF)7$$\"3')*****frt#f?F,$ F\\emF)-F66#F8F-F1-F$6&F_em-F66#%&CROSSGF-F1-F$6&F_em-F66#%(DIAMONDGF- F1-%+AXESLABELSG6%Q!6\"Fgfm-%%FONTG6#%(DEFAULTG-%%VIEWG6$;$!+8U)ed\"! \"*$\"+rL8lEFcgm;$\"+++++!)!#5$\"+++++AFcgm" 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" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7%\"\"\"\"\"#$\"+yU@?8!\"*" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%'CURVESG6&7#7$$\"\"!F)$\"3$**** **4F\\xU\"!#<-%'COLOURG6&%$RGBGF)F)F)-%&STYLEG6#%&POINTG-%'SYMBOLG6$%' CIRCLEG\"#?-F$6%7ho7$$!3QS#HAE?FE\"F,$\"3U+++++++!)!#=7$$!3*e'p$y**)fC 8F,$\"3VLLLe,;0$)FB7$$!3mA*H/=.zV)FB7$$!3G)pi$zSUu8F, $\"3_nmT!Qy1d)FB7$$!3['z8n#y=\"R\"F,$\"3$***\\i&))z*>()FB7$$!332a1z0R& R\"F,$\"3WLL$3R\"Gp))FB7$$!3)y>,U>T>R\"F,$\"3*GL$3xpUW*)FB7$$!3Kf&Hx>s WQ\"F,$\"3YLLLjDd>!*FB7$$!3A]0is3'GP\"F,$\"3-MLe\\\"=Z4*FB7$$!3md$)>-l 1d8F,$\"3eML$etj)p\"*FB7$$!3<0BSi]U88F,$\"3z+]i+1W>$*FB7$$!31qWY$fRZD \"F,$\"3+nmTlu,p%*FB7$$!3&))4%>ea;:6F,$\"3cLL3n7PY(*FB7$$!3n#)\\mh#[w] *FB$\"3:+]P1bN.5F,7$$!31\")e[AC^BzFB$\"3YL$3d4cI.\"F,7$$!31dOo=KWvsFB$ \"3mm;Hl(ey/\"F,7$$!3/YkWmf2gnFB$\"33+]([VhE1\"F,7$$!3whxw3+7&Q'FB$\"3 SL3-+y)y2\"F,7$$!3[]jtO(e9<'FB$\"3qmm;lT6$4\"F,7$$!3Xl.LWYX4hFB$\"3B+] (ebDl5\"F,7$$!3E\"p_%y#*=]hFB$\"3aLLeYp$*>6F,7$$!3uJLAiGV\"H'FB$\"3!om Tg*\\.N6F,7$$!3SNYg+ae&\\'FB$\"31++]XI8]6F,7$$!3-y@gvde7pFB$\"31++]KJX !=\"F,7$$!3ZAHq90bHqFB$\"3+++]VE1&>\"F,7$$!3*o$46;n&=/(FB$\"3@++]a@n47 F,7$$!3NiPOruzQpFB$\"3tmT5!**QHA\"F,7$$!3$\\$H8.IZ7nFB$\"3\\L$3d#e?O7F ,7$$!3!Rj'\\e6quiFB$\"33+vVw8)>D\"F,7$$!35W!>2oL\"ecFB$\"3)ommr#pvn7F, 7$$!3G?dc'**>rE%FB$\"3!pmm'[[[%H\"F,7$$!3,R\"H)3=9ABFB$\"3;+]PvddD8F,7 $$!3TPwQ!Gcz,'!#>$\"3%ommO^'4`8F,7$$\"3C=wWjx*Hg*F[w$\"3?+]PD6H$Q\"F,7 $$\"3zJKB1u\"H^\"FB$\"3/++vItm(R\"F,7$$\"3bU606D*H#>FB$\"36+]7ON/79F,7 $$\"3A(3t7/W&)>#FB$\"3gL3F)fVqU\"F,7$$\"3./t@[DjIBFB$\"3(om;/mV?W\"F,7 $$\"3M#))*H)R-gM#FB$\"3'p;z**R=eX\"F,7$$\"3AY<^tAr'G#FB$\"3#omT&RJfp9F ,7$$\"31O!p^u$Rd?FB$\"3YLLeu*3$*\\\"F,7$$\"3K&fH(y1[v>FB$\"3VLe9v@u9:F ,7$$\"35Q9R&=^5)>FB$\"3iL$3dPv,`\"F,7$$\"3mfK*>U_#)3#FB$\"3(omm@-5Oa\" F,7$$\"3CGxoJ:w6BFB$\"37+]ioY/d:F,7$$\"3=%*e#)H:/)p#FB$\"3!p;a[Xa:d\"F ,7$$\"3#Ry%34\"z\"F,7$ $\"35zHBOas28F,$\"3?++]*3T6#=F,7$$\"3rzX_3]q18F,$\"3KL3xD*H_$=F,7$$\"3 ePW0;DX58F,$\"3om;/i(=$\\=F,7$$\"3cekgoF=B8F,$\"3ML$ealXS'=F,7$$\"3)HF F[()H\"[8F,$\"3A+]()[Dxy=F,7$$\"3#*3BJN!*e'Q\"F,$\"3iL3-z2<$*=F,7$$\"3 nU`Hn>:S9F,$\"3$omm\"4!pv!>F,7$$\"3]H\"y\\!zF+;F,$\"32+]PMirP>F,7$$\"3 *o;V;#f9.=F,$\"3mLLL&f^n'>F,7$$\"377<@ZY.K?F,$\"3WLLeXWW'*>F,7$$\"3G1g l^QqYAF,$\"3An;/C9*e-#F,7$$\"3\"y@$\\'f#o2CF,$\"3++++R,&H0#F,7$$\"3[V1 K$)oTyCF,$\"3[L$e%4jXo?F,7$$\"3+*fb!\\bSKDF,$\"3%pm;*zC'R3#F,7$$\"3Ip) Q'o#3sc#F,$\"3U+]i$QJy4#F,7$$\"3'>HMk994f#F,$\"3[LLL(G+<6#F,7$$\"3T>YD vPn1EF,$\"3jmTNJu[E@F,7$$\"3U`$>*QnA;EF,$\"3@+]PvXFT@F,7$$\"3UmN+!y\\E j#F,$\"37+]iU4ep@F,7$$\"35JYdNDCwEF,$\"3;+++++++AF,-F.6&F0$\"*++++\"! \")F(Fgdl-%*THICKNESSG6#\"\"\"-F$6%7S7$$!3#******H@%)ed\"F,$\"3\"z$4@E BP9oFB7$$!3s2!)*))4UM[\"F,$\"3]E8`0e)fK(FB7$$!3\\iJq4(3IS\"F,$\"3I&)*z MU_Ow(FB7$$!3m*)zG^Hb78F,$\"3Q)**e$pF`Z#)FB7$$!3Qk!*Q$f(\\@7F,$\"3Mr3S ;KsD()FB7$$!3!=x6d+v38\"F,$\"3iMGo%oxF>*FB7$$!3?IiVmi&o/\"F,$\"3PC!R(* )y*yh*FB7$$!3c[rr%G(f)f*FB$\"3\\FNV-w+05F,7$$!3=&z*eWy())p)FB$\"3))Gx \\yj%)[5F,7$$!3tGv6;Q/-yFB$\"3m`)y8>x;4\"F,7$$!3K(=>HyR&zoFB$\"3T+jTL/ $[8\"F,7$$!3Mv'[$Gx*p1'FB$\"3q*\\Y#))33s6F,7$$!3)[[k\\#yE_^FB$\"3K$Q,W ^lJ@\"F,7$$!3Ad:r_>yLUFB$\"3Ed4&zR7ND\"F,7$$!3%QR-Ni]'[LFB$\"3G702xY` \"H\"F,7$$!3l1P[zl'[a#FB$\"3&[)G=YFB$\" 37%=s^4l+]\"F,7$$\"3q))=rZ@y\"y#FB$\"3(G>$)pdC<`\"F,7$$\"35;H;&Rv0p$FB $\"3I%))e%)=()Qc\"F,7$$\"3)[Cr3HJ^_%FB$\"3IWrcp#REf\"F,7$$\"3:S!y*oDJD aFB$\"3$H8,0i6Gi\"F,7$$\"3krOu&eO%eX**GC,$=F,7$$\"3az7R\"ofPM\"F,$\"3Yt&[)>f#H&=F,7$$\" 3\"G$e=?(QnU\"F,$\"3!p![M]y!G(=F,7$$\"3Z%eCsscu^\"F,$\"3'3`TCx&p$*=F,7 $$\"3eU%G?I:Gg\"F,$\"3b%H<,eSD\">F,7$$\"3')QQl2'R?p\"F,$\"3Q;F)oE+9$>F ,7$$\"3!=#47vEFzF,7$$\"3mG!>Ch(fq=F,$\"3]p(3(H(ol'>F ,7$$\"3ArLE\"Qa&e>F,$\"3OQFF#eIE)>F,7$$\"3C?VG\")G][?F,$\"3cR%Q^o%>)*> F,7$$\"3Dy5JilqP@F,$\"3G(Q-OfpF,#F,7$$\"3AY(Q3[v'>AF,$\"3&4rl742a-#F,7 $$\"3&\\;f;6@OJ#F,$\"3<\"Q#z99+R?F,7$$\"3CU*)z.sk(R#F,$\"3'***)y%)Hb.0 #F,7$$\"3!=zENaOs[#F,$\"3/k*HYdB;1#F,7$$\"3e9&))H(\\)Hd#F,$\"3![5A'o$* fr?F,7$$\"3-+++rL8lEF,$\"3kPiDLsV\"3#F,-F.6&F0Fgdl$\")AR!)\\FidlF(-F[e l6#\"\"#-F$6&7%7$$!3\")******zbC+(*FB$F]elF)7$$\"3')*****frt#f?F,$F\\e mF)7$$!3!)******pSknEFB$\"3\"******zF9-K\"F,-F66#F8F-F1-F$6&F_em-F66#% &CROSSGF-F1-F$6&F_em-F66#%(DIAMONDGF-F1-%+AXESLABELSG6%Q!6\"F\\gm-%%FO NTG6#%(DEFAULTG-%%VIEWG6$;$!+8U)ed\"!\"*$\"+rL8lEFhgm;$\"+++++!)!#5$\" +++++AFhgm" 1 2 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "C urve 1" "Curve 2" "Curve 3" "Curve 4" "Curve 5" "Curve 6" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7&\"\"\"\"\"#$\"+ yU@?8!\"*$\"+r#\\xU\"F)" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%'CURVESG6&7#7$$\"\"!F)$\"3++++$e5iQ\"!#<-%'COLOURG6&% $RGBGF)F)F)-%&STYLEG6#%&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7ho7$$!3QS #HAE?FE\"F,$\"3U+++++++!)!#=7$$!3*e'p$y**)fC8F,$\"3VLLLe,;0$)FB7$$!3mA *H/=.zV)FB7$$!3G)pi$zSUu8F,$\"3_nmT!Qy1d)FB7$$!3['z8n #y=\"R\"F,$\"3$***\\i&))z*>()FB7$$!332a1z0R&R\"F,$\"3WLL$3R\"Gp))FB7$$ !3)y>,U>T>R\"F,$\"3*GL$3xpUW*)FB7$$!3Kf&Hx>sWQ\"F,$\"3YLLLjDd>!*FB7$$! 3A]0is3'GP\"F,$\"3-MLe\\\"=Z4*FB7$$!3md$)>-l1d8F,$\"3eML$etj)p\"*FB7$$ !3<0BSi]U88F,$\"3z+]i+1W>$*FB7$$!31qWY$fRZD\"F,$\"3+nmTlu,p%*FB7$$!3&) )4%>ea;:6F,$\"3cLL3n7PY(*FB7$$!3n#)\\mh#[w]*FB$\"3:+]P1bN.5F,7$$!31\") e[AC^BzFB$\"3YL$3d4cI.\"F,7$$!31dOo=KWvsFB$\"3mm;Hl(ey/\"F,7$$!3/YkWmf 2gnFB$\"33+]([VhE1\"F,7$$!3whxw3+7&Q'FB$\"3SL3-+y)y2\"F,7$$!3[]jtO(e9< 'FB$\"3qmm;lT6$4\"F,7$$!3Xl.LWYX4hFB$\"3B+](ebDl5\"F,7$$!3E\"p_%y#*=]h FB$\"3aLLeYp$*>6F,7$$!3uJLAiGV\"H'FB$\"3!omTg*\\.N6F,7$$!3SNYg+ae&\\'F B$\"31++]XI8]6F,7$$!3-y@gvde7pFB$\"31++]KJX!=\"F,7$$!3ZAHq90bHqFB$\"3+ ++]VE1&>\"F,7$$!3*o$46;n&=/(FB$\"3@++]a@n47F,7$$!3NiPOruzQpFB$\"3tmT5! **QHA\"F,7$$!3$\\$H8.IZ7nFB$\"3\\L$3d#e?O7F,7$$!3!Rj'\\e6quiFB$\"33+vV w8)>D\"F,7$$!35W!>2oL\"ecFB$\"3)ommr#pvn7F,7$$!3G?dc'**>rE%FB$\"3!pmm' [[[%H\"F,7$$!3,R\"H)3=9ABFB$\"3;+]PvddD8F,7$$!3TPwQ!Gcz,'!#>$\"3%ommO^ '4`8F,7$$\"3C=wWjx*Hg*F[w$\"3?+]PD6H$Q\"F,7$$\"3zJKB1u\"H^\"FB$\"3/++v Itm(R\"F,7$$\"3bU606D*H#>FB$\"36+]7ON/79F,7$$\"3A(3t7/W&)>#FB$\"3gL3F) fVqU\"F,7$$\"3./t@[DjIBFB$\"3(om;/mV?W\"F,7$$\"3M#))*H)R-gM#FB$\"3'p;z **R=eX\"F,7$$\"3AY<^tAr'G#FB$\"3#omT&RJfp9F,7$$\"31O!p^u$Rd?FB$\"3YLLe u*3$*\\\"F,7$$\"3K&fH(y1[v>FB$\"3VLe9v@u9:F,7$$\"35Q9R&=^5)>FB$\"3iL$3 dPv,`\"F,7$$\"3mfK*>U_#)3#FB$\"3(omm@-5Oa\"F,7$$\"3CGxoJ:w6BFB$\"37+]i oY/d:F,7$$\"3=%*e#)H:/)p#FB$\"3!p;a[Xa:d\"F,7$$\"3#Ry%34\"z\"F,7$$\"35zHBOas28F,$\"3?++]*3T6 #=F,7$$\"3rzX_3]q18F,$\"3KL3xD*H_$=F,7$$\"3ePW0;DX58F,$\"3om;/i(=$\\=F ,7$$\"3cekgoF=B8F,$\"3ML$ealXS'=F,7$$\"3)HFF[()H\"[8F,$\"3A+]()[Dxy=F, 7$$\"3#*3BJN!*e'Q\"F,$\"3iL3-z2<$*=F,7$$\"3nU`Hn>:S9F,$\"3$omm\"4!pv!> F,7$$\"3]H\"y\\!zF+;F,$\"32+]PMirP>F,7$$\"3*o;V;#f9.=F,$\"3mLLL&f^n'>F ,7$$\"377<@ZY.K?F,$\"3WLLeXWW'*>F,7$$\"3G1gl^QqYAF,$\"3An;/C9*e-#F,7$$ \"3\"y@$\\'f#o2CF,$\"3++++R,&H0#F,7$$\"3[V1K$)oTyCF,$\"3[L$e%4jXo?F,7$ $\"3+*fb!\\bSKDF,$\"3%pm;*zC'R3#F,7$$\"3Ip)Q'o#3sc#F,$\"3U+]i$QJy4#F,7 $$\"3'>HMk994f#F,$\"3[LLL(G+<6#F,7$$\"3T>YDvPn1EF,$\"3jmTNJu[E@F,7$$\" 3U`$>*QnA;EF,$\"3@+]PvXFT@F,7$$\"3UmN+!y\\Ej#F,$\"37+]iU4ep@F,7$$\"35J YdNDCwEF,$\"3;+++++++AF,-F.6&F0$\"*++++\"!\")F(Fgdl-%*THICKNESSG6#\"\" \"-F$6%7S7$$!3#******H@%)ed\"F,$\"3'[*f='Hcoc%FB7$$!3s2!)*))4UM[\"F,$ \"3Hu%eV'FB7$$!3m*)zG^Hb78F,$ \"3`Ieu&e.gI(FB7$$!3Qk!*Q$f(\\@7F,$\"34>p:F.r6\")FB7$$!3!=x6d+v38\"F,$ \"3q97(>TKr%))FB7$$!3?IiVmi&o/\"F,$\"3iSNbfcxs%*FB7$$!3c[rr%G(f)f*FB$ \"3#Q:W\\nlm+\"F,7$$!3=&z*eWy())p)FB$\"3#\\@pwfOE1\"F,7$$!3tGv6;Q/-yFB $\"3uj-T,'\\K6\"F,7$$!3K(=>HyR&zoFB$\"39mUjPGFg6F,7$$!3Mv'[$Gx*p1'FB$ \"3U*>M!**yu(>\"F,7$$!3)[[k\\#yE_^FB$\"3,R!p#oK%eB\"F,7$$!3Ad:r_>yLUFB $\"3u7\"*y!z!3q7F,7$$!3%QR-Ni]'[LFB$\"33syDTsg*H\"F,7$$!3l1P[zl'[a#FB$ \"3\"zR#*eAZPK\"F,7$$!3)4G)[2'*3*e\"FB$\"3_y.mvu[\\8F,7$$!3m1MOF9@%z(F [w$\"3yL8!HQf!p8F,7$$\"3Wyj)\\jdTi\"F[w$\"3URRNonf*Q\"F,7$$\"3k:yQO,,h **F[w$\"3#R!yJzO219F,7$$\"34)fY]'ey5>FB$\"3fYv-`ykA9F,7$$\"3q))=rZ@y\" y#FB$\"3AuW18cGP9F,7$$\"35;H;&Rv0p$FB$\"3!)[$HA!yq^9F,7$$\"3)[Cr3HJ^_% FB$\"37$pB\\4$[k9F,7$$\"3:S!y*oDJDaFB$\"3/S_$Gi\"3y9F,7$$\"3kr:F,7$$\"3waR,PPdh*)FB$\"3,7#GJ6Eh`\"F,7$$\"3%G&*Gs %f0])*FB$\"3=EB8S.]`:F,7$$\"3O/;0<3(42\"F,$\"3'H&Hw#e'*>d\"F,7$$\"3/f% y(R0Um6F,$\"3_@K#QxS[f\"F,7$$\"3Udk%4O'=_7F,$\"3GwY:**=w<;F,7$$\"3az7R \"ofPM\"F,$\"3-kk#oZ#3X;F,7$$\"3\"G$e=?(QnU\"F,$\"3I#4[m]sEn\"F,7$$\"3 Z%eCsscu^\"F,$\"33%4S$[TC1Ch(fq=F,$\"3sQ;(ezrs(=F,7$$\"3ArLE\"Qa&e>F,$\"3Vu!=Wcj9$>F,7$$\"3 C?VG\")G][?F,$\"31moj1pK#*>F,7$$\"3Dy5JilqP@F,$\"3=[4h9iXe?F,7$$\"3AY( Q3[v'>AF,$\"3%z_fLgtX7#F,7$$\"3&\\;f;6@OJ#F,$\"3z+e7!Q'*p?#F,7$$\"3CU* )z.sk(R#F,$\"3oQ)o&*)>.(G#F,7$$\"3!=zENaOs[#F,$\"3qwynu+EzBF,7$$\"3e9& ))H(\\)Hd#F,$\"3%)e>>W9]uCF,7$$\"3-+++rL8lEF,$\"3YYjJK(*y%e#F,-F.6&F0F gdl$\")AR!)\\FidlF(-F[el6#\"\"#-F$6&7&7$$!3\")******zbC+(*FB$F]elF)7$$ \"3')*****frt#f?F,$F\\emF)7$$!3!)******pSknEFB$\"3\"******zF9-K\"F,7$$ \"33+++I*Gy?#FB$\"3$******4F\\xU\"F,-F66#F8F-F1-F$6&F_em-F66#%&CROSSGF -F1-F$6&F_em-F66#%(DIAMONDGF-F1-%+AXESLABELSG6%Q!6\"Fagm-%%FONTG6#%(DE FAULTG-%%VIEWG6$;$!+8U)ed\"!\"*$\"+rL8lEF]hm;$\"+++++!)!#5$\"+++++AF]h 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" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7&\"\"#$\"+yU@?8!\"*$\"+r #\\xU\"F($\"+$e5iQ\"F(" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%'CURVESG6&7#7$$\"\"!F)$\"33+++Im\\a8!#<-%'COLOURG6&%$ RGBGF)F)F)-%&STYLEG6#%&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7X7$$!3=rLC ^dC^p!#=$\"35+++MrD%=\"F,7$$!3()oP(>7Gu-(F@$\"3C%>>*4$HY>\"F,7$$!3=@oX t%z60(F@$\"3S)QQe[,]?\"F,7$$!3js&3*[f\"4-(F@$\"3)f&fkgi-97F,7$$!3F8U]T lTPpF@$\"3MBNXN50B7F,7$$!3O\"yxBe'*\\x'F@$\"3CljfQ.?L7F,7$$!3$Q\\c@@6q `'F@$\"3$p?RvV)=TG\"F,7$$!39MK,SZ\\dPF@$\"3LPw;fH(HI\"F,7$$!36R+A*eA2_#F@$ \"3#>g2OI&\\A8F,7$$!3$yt185:LB\"F@$\"3l:W:S`oU8F,7$$!3)>!3t^%er'[!#?$ \"3ilz*pi5GO\"F,7$$\"3!zQ'G\"*>B)p*!#>$\"31c(G#e>^$Q\"F,7$$\"39\\AS[.' Rk\"F@$\"3k0[/-du,9F,7$$\"3s.FE\"=*GF@F@$\"3H+7$*yDFA9F,7$$\"3'[X5RGBU L#F@$\"3\\si9TP)GW\"F,7$$\"3(*)R(\\wXkBBF@$\"3qzf4:kui9F,7$$\"3a?SQ%\\ )=0AF@$\"3'\\[?fi$y![\"F,7$$\"3!=kmhpis.#F@$\"3I/s=9;B-:F,7$$\"3')Hqx$ 3y]'>F@$\"36ojet3S?:F,7$$\"3U\"RDiqtW)>F@$\"3w@vgd%o4`\"F,7$$\"3g$z'*) =*HX1#F@$\"3>v'G;/O:a\"F,7$$\"3!=(z/=P&R>#F@$\"3)))f&4W,*3b\"F,7$$\"3# zidan#o$Q#F@$\"3!G_ilCW-c\"F,7$$\"3LQ1HF^9CIF@$\"3oFfY7,x!e\"F,7$$\"3A J%oQM5l\"RF@$\"3&pU]2f:.g\"F,7$$\"3\\]YMA%G45&F@$\"3j%)\\)oC42i\"F,7$$ \"3u\"pHiY%e]jF@$\"3/apU*)pVR;F,7$$\"3e8sAsVzxxF@$\"3'eg)y*QP'f;F,7$$ \"3QP1hYfQJ#*F@$\"3Un_aG*>1o\"F,7$$\"3J&\\>Ytc\"Q5F,$\"3U**[@!H&)))p\" F,7$$\"3)4:k'zfjU6F,$\"39OS@\"Q7'=Qv7F,$\"3M50Zl-$*e\\/k*z\"F,7$$\"3b:.+>K338F,$\"3k5-C;m))== F,7$$\"3QY#pqxgrI\"F,$\"3D]Id2gVR=F,7$$\"3-CkQ4%)p;8F,$\"3#yog.\"o0e=F ,7$$\"3aZa]GvNZ8F,$\"3'\\61iE9%y=F,7$$\"3&H#=r0JK,9F,$\"3kHImX!pv*=F,7 $$\"3;jWgNBW'[\"F,$\"3kIVR48f<>F,7$$\"3M$f))>oIof\"F,$\"3O!HG>tmr$>F,7 $$\"3U\"G;M0Cft\"F,$\"3#pgl^Qgw&>F,7$$\"35(f7qClW)=F,$\"3o1;'*3#)Rx>F, 7$$\"3)*=>3i+yS?F,$\"3Wt+f%)He(*>F,7$$\"3i6(3T0'R*=#F,$\"3(HE&3?1gJ#F,$\"3hVT:[Z*f.#F,7$$\"33.%QT?M\"GCF,$\"3wotp%\\wq0#F, 7$$\"37!\\#>Bg^1DF,$\"3=aH7gA$f2#F,7$$\"3_R)3LerLc#F,$\"3;&4b)Qk.'4#F, 7$$\"3C#yPWS1bf#F,$\"3Fer8.(y_6#F,7$$\"3lXuj/$\\Kh#F,$\"3\")*****R9df8 #F,-F.6&F0$\"*++++\"!\")F(Fj]l-%*THICKNESSG6#\"\"\"-F$6%7Y7$$!3<+++;.s >tF@$\"39xR!G)f%>Y\"F,7$$!3Di(3S:1*4mF@$\"3CfJ.afO?9F,7$$!3q&)e,Z1I#*f F@$\"3=fbb3Q`!R\"F,7$$!3QQ)e5mQxH&F@$\"3Se\"==V,PO\"F,7$$!3q=ASnEd)f%F @$\"3u25`vK^V8F,7$$!3V!GowoHF!RF@$\"3-pc\"GqW)H8F,7$$!3-*Q`8<%fdKF@$\" 3jp'ov7tDK\"F,7$$!3B*3N;%RfBHF@$\"3$\\8E7i\\2K\"F,7$$!3W*y;>r$f*e#F@$ \"3'f>'oem>?8F,7$$!3bd)\\l>qTC#F@$\"3Q?Dw,w\"4K\"F,7$$!3mDH=\"oY()*=F@ $\"3!)*p]R@3HK\"F,7$$!3R@#Qc?:,@\"F@$\"3[QV4i][I8F,7$$!3ezns%*3t<]F]q$ \"3`z&[CpwHM\"F,7$$\"3@We/?.N@7F]q$\"3!)3+hZshd8F,7$$\"3glJ^X!y]C)F]q$ \"3kNNty#GyP\"F,7$$\"347Z=(ek(H:F@$\"3v?M>xjs,9F,7$$\"3v_f:y,T4AF@$\"3 YG'*otJ\"yU\"F,7$$\"37r!pf[$fEGF@$\"3)Qi(Q6v!QX\"F,7$$\"3gek?MT[gNF@$ \"3O^!*R'H.s[\"F,7$$\"3AQ$eyx&=#=%F@$\"3O.B%>y,t^\"F,7$$\"3L!*p(fes`! \\F@$\"3'='*)4\"zGSb\"F,7$$\"3QY3X]a^XbF@$\"3)e?Zajfxe\"F,7$$\"3YsZ'*H O&yC'F@$\"387\"[5kHdi\"F,7$$\"39tMPlck;pF@$\"3-WMq)4$[i;F,7$$\"3wP2V$* *fWh(F@$\"3p>B@_-4,lGF% *G5F,$\"3nJ0kz5%[%=F,7$$\"3/'[60OVk4\"F,$\"3!QoBQ)=Py=F,7$$\"35mR;=\"y h;\"F,$\"3#ys&>([S6\">F,7$$\"36EErt**RM7F,$\"3Ckq3rA+T>F,7$$\"3M4%eo73 /I\"F,$\"3M#)48ah\\n>F,7$$\"3cuZ%o#*)pt8F,$\"3k[y`q+w$*>F,7$$\"3^RDPqR bR9F,$\"3hl?!pK%=9?F,7$$\"3^>g\"eGo)4:F,$\"3!3VU3*fIK?F,7$$\"3EV*pj]$e t:F,$\"3oH\"4CUE^/#F,7$$\"3%*40$=2TKk\"F,$\"3Yy1MS#y[0#F,7$$\"36()yQ7M y3E\"zsQIu\"F,$\"37BbM?OOg?F,7$$\"3k^tVVSH xF,$\"3]U^Rl(fN/#F,7$$\"31g(\\&fm$> )>F,$\"3VC\\H*fGo-#F,7$$\"3#QF?7O.50#F,$\"3HEgDiVF.?F,7$$\"3RI*Hd:)\\> @F,$\"3)pzV/'[7t>F,7$$\"3'[8!HexV#=#F,$\"3z(yZ._a\"R>F,7$$\"3CNYbXOdaA F,$\"37\"eN40wC*=F,7$$\"38f@1VG4>BF,$\"36v\"fRS&RV=F,7$$\"3i3h^kP)yQ#F ,$\"3-3Ti/X4$y\"F,7$$\"3k@P>4Y!3U#F,$\"33**[szTA^]tr\"F,7$$\"3cncV(R.\"*[#F,$\"3U,F\"[`p'y;F,7$$\"3*******4M \"[CDF,$\"3K%*[#*G3eP;F,-F.6&F0Fj]l$\")AR!)\\F\\^lF(-F^^l6#\"\"#-F$6&7 &7$$\"3')*****frt#f?F,$F]`mF)7$$!3!)******pSknEF@$\"3\"******zF9-K\"F, 7$$\"33+++I*Gy?#F@$\"3$******4F\\xU\"F,7$$\"3#*******f?m$3\"F@$\"3++++ $e5iQ\"F,-F66#F8F-F1-F$6&F``m-F66#%&CROSSGF-F1-F$6&F``m-F66#%(DIAMONDG F-F1-%+AXESLABELSG6%Q!6\"Fcbm-%%FONTG6#%(DEFAULTG-%%VIEWG6$;$!+;.s>t!# 5$\"+T8[CD!\"*;$\"+MrD%=\"Fbcm$\"+Wr&f8#Fbcm" 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" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7&$\"+yU@?8!\"*$\"+r#\\xU\"F'$\"+$e5iQ\"F'$\"+Im\\a8 F'" }}{PARA 13 "" 1 "" {GLPLOT2D 406 294 294 {PLOTDATA 2 "6*-%'CURVESG 6&7#7$$\"\"!F)$\"3%******H;wDO\"!#<-%'COLOURG6&%$RGBGF)F)F)-%&STYLEG6# %&POINTG-%'SYMBOLG6$%'CIRCLEG\"#?-F$6%7S7$$!3GeAW)e`m,%!#=$\"3/+++zsq) H\"F,7$$!3J_??E?yI\"F,7$$!3IAZEV37UOF@$\"3-YpfoS%[I\" F,7$$!346sF\\D/UMF@$\"3d-v(e4b!38F,7$$!34Z^N'yb$QKF@$\"3WG7$zS(G68F,7$ $!38/X@Xv!Q.$F@$\"3s*)*ptN/XJ\"F,7$$!3'o^xE0EH%GF@$\"3Z8zH\")o[<8F,7$$ !39=6:lvTWEF@$\"3H]227^d?8F,7$$!3#e?/dJ@'QCF@$\"3\"yx`Z'*oPK\"F,7$$!3y '))p%*z>MB#F@$\"3NX2ruD&pK\"F,7$$!3!3'=`yFuA?F@$\"36#*o')3tAI8F,7$$!3* QhjVo*)y$=F@$\"3@,T\\'p6JL\"F,7$$!3&*>-K,!35j\"F@$\"3;()pzL)ejL\"F,7$$ !3-c6!=d>]U\"F@$\"3V'R8F,7$$!37?W*H;*eG7F@$\"3'3b+:PhFM\"F,7$$!3 _(4D')Q=B0\"F@$\"3IlLmpYhX8F,7$$!3K#['>QzUd%)!#>$\"3kee:Z3=R%[W%!#?$\"3MOEswL_k8F,7$$\"3[%)z#*=Foe@F[r$\"3!G[&*)R%\\xO\"F,7$$ \"3Q4(GfV_[o$F[r$\"3%f3cH(>rq8F,7$$\"3M:Z[1Q$oF&F[r$\"3/hi3lu!RP\"F,7$ $\"3uv+&eOX\"ooF[r$\"316GL$oEsP\"F,7$$\"3!Qs?rm;'*>)F[r$\"3qtQdsg6!Q\" F,7$$\"3[]#R9^v%z&*F[r$\"39E;6#pOKQ\"F,7$$\"3K9@\"G.pR4\"F@$\"3#f'pW(f gkQ\"F,7$$\"3%3<9Bo\\/A\"F@$\"3]kQ&)fXh*Q\"F,7$$\"3![Xhgd*[O8F@$\"3Mki l!=mER\"F,7$$\"3cxIc*o-zX\"F@$\"3YD-F&[agR\"F,7$$\"3q8&fqmS-c\"F@$\"3Q 0omF!*4*R\"F,7$$\"31!pX3?!Qi;F@$\"37<(>ls\\BS\"F,7$$\"3eFI1W9a[F@$\"3 6I0Llda69F,7$$\"3_OqV$)4B$)>F@$\"3#oI3\"yIr99F,7$$\"3W0C&feVp/#F@$\"34 ^1G0(4yT\"F,7$$\"3%z$)p3eRm5#F@$\"3jD'\\pe^5U\"F,7$$\"3/l^\")zDZd@F@$ \"37COI/RT8W(\\BF@$\"3 -+++qiD\\9F,-F.6&F0$\"*++++\"!\")F(Fa\\l-%*THICKNESSG6#\"\"\"-F$6%7S7$ $!3u******p'QFk$F@$\"3s*e0ymt@H\"F,7$$!3#3,P(e'eR\\$F@$\"3[.ly:;N(H\"F ,7$$!3?\"[fk'f]kLF@$\"3;$*Qn?ic,8F,7$$!3Bj*e\\(G#*=KF@$\"3Z:@7'=,gI\"F ,7$$!3wWlAkZPsIF@$\"35K7n%>f,J\"F,7$$!3mgK3rJ_EHF@$\"3n%f(=zC,98F,7$$! 3qTf$R2+8z#F@$\"3?3%fbf[tJ\"F,7$$!3KftE*Q%G^EF@$\"3\"f[Dz%3e?8F,7$$!3h /'))y'*zk]#F@$\"3NO=k.ZqB8F,7$$!3'*yc7O*R@O#F@$\"3T&o8=P;mK\"F,7$$!3'e P7=ZoO@#F@$\"3kf#3\"z8UH8F,7$$!3w:0BDZ*G3#F@$\"3yve/u\"\\F@$\"3QZ6b3&GUL\"F,7$$!3GF3t%p\\yy\"F@$\"3Z(p(HPweO8F,7$$!37@M) =9$RX;F@$\"3bj'oW0d(Q8F,7$$!3p9jJW*Gg^\"F@$\"3,/Ke%fa1M\"F,7$$!3')\\f. ,C?i8F@$\"3k-m.47%GM\"F,7$$!3N!e;99\"*=B\"F@$\"3Y&*[t\\3lW8F,7$$!3QA^q n\"3.3\"F@$\"3Aw'GivEnM\"F,7$$!3;f.C7bJh%*F[r$\"3'=Yg&3ab[8F,7$$!3!GsX 4P&=*)zF[r$\"3!R2+Fbr0N\"F,7$$!3Kw.)zMpte'F[r$\"3G3@#[L>DN\"F,7$$!3DDP <)Q@Z7&F[r$\"3S\"yt*e.ga8F,7$$!3M;PzrRb\"y$F[r$\"37'*yJuBdc8F,7$$!3tAF hdkwKBF[r$\"3?DkmUNye8F,7$$!3S$[;p/M)y#)Fes$\"33G[J&R$>h8F,7$$\"3$=\\8 v;<7#[Fes$\"3onRo**>Sj8F,7$$\"3cCGnOJ'p*=F[r$\"3;02Gj3#fO\"F,7$$\"3ipU ylFjeLF[r$\"3/8POaxoo8F,7$$\"3[ELGN8f)y%F[r$\"3=%[uQ#edr8F,7$$\"3_#Rt$ y(\\@<'F[r$\"3q[Rp#yeXP\"F,7$$\"3fKz;RbN3xF[r$\"3iH2b'G4\"y8F,7$$\"3aR KvSZq)3*F[r$\"3W+%e-KK:Q\"F,7$$\"3]K$3V@_i0\"F@$\"3!fX[6K]aQ\"F,7$$\"3 c+J>w>!)*=\"F@$\"39@\\:gBD*Q\"F,7$$\"3$R$y/Tr!eL\"F@$\"3'=rRFt,PR\"F,7 $$\"3GqvsAm=t9F@$\"3U%Q?I.&=)R\"F,7$$\"3XV7=lxy;;F@$\"3eZy%yh(>.9F,7$$ \"3)f$)G)HT=d%)pN7h;/>F@$\"3X!ej=b1VT\"F,7$ $\"3i#fa2BFd/#F@$\"3zG4C-ZM?9F,7$$\"3#3^T/#R\\!>#F@$\"3go;-g;$pU\"F,7$ $\"3U(pY)o=1MBF@$\"3%HOe]'[*QV\"F,7$$\"3;Z2/.f)fY#F@$\"3lH6bz!)oS9F,7$ $\"3z]n%Qt&=&F[r$\"33+++Im\\a8F,-F66#F8F-F1-F$6&Fi\\m-F66#%&CROSSGF-F1-F$ 6&Fi\\m-F66#%(DIAMONDGF-F1-%+AXESLABELSG6%Q!6\"F]_m-%%FONTG6#%(DEFAULT G-%%VIEWG6$;$!+q'QFk$!#5$\"+IN#H=$Fi_m;$\"+zsq)H\"!\"*$\"+qiD\\9F_`m" 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" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7&$\"+r#\\xU\"!\"*$\"+$e5 iQ\"F'$\"+Im\\a8F'$\"+jhdi8F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%~G7&$\"+$e5iQ\"!\"*$\"+Im\\a8F'$\"+jhdi8F'$\"+C Olj8F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$% ~G7&$\"+Im\\a8!\"*$\"+jhdi8F'$\"+COlj8F'$\"+zDqj8F'" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$%~G7&$\"+jhdi8!\"*$\"+COlj 8F'$\"+zDqj8F'$\"+mDqj8F'" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 54 "A root-fin ding procedure using inverse interpolation: " }{TEXT 0 10 "interproot " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 10 "interproot" }{TEXT -1 187 " \+ implements the root-finding method outlined above.\nThis procedure cou ld be useful in situations where the function involved is slow to eval uate, or where very high precision is required." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 17 "interproot: usage " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 17 "Call ing Sequence:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 " interproot( eqn, rng )" }}{PARA 256 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 " " {TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT 23 10 " eqn - " }{TEXT -1 63 " an equation or expression involving a single variable, say x, " }}{PARA 0 "" 0 "" {TEXT -1 22 " " }{TEXT 265 2 "OR" }{TEXT -1 75 " a procedure of the form x -> f(x), where f(x) eval uates to the type float." }}{PARA 0 "" 0 "" {TEXT -1 1 "." }}{PARA 0 " " 0 "" {TEXT -1 5 " " }{TEXT 23 8 "rng - " }{TEXT 262 89 "a rang e x=a..b (or simply a..b when the1st argument is a procedure) where a \+ and b are two" }}{PARA 0 "" 0 "" {TEXT 263 182 " d istinct initial approximations for the root, and x is the variable app eraring in the 1st argument.\n a and b may or may \+ not bracket the root." }{TEXT -1 0 "" }{TEXT 264 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 12 "Description:" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The proce dure " }{TEXT 0 10 "interproot" }{TEXT -1 33 " attempts to calculate a root of " }{XPPEDIT 18 0 "f(x) = 0;" "6#/-%\"fG6#%\"xG\"\"!" }{TEXT -1 83 " by the method of inverse interpolation, when given two distinc t starting values.\n\n" }{TEXT 261 8 "Options:" }{TEXT -1 31 "\n\nmaxi terations=n or maxiter=n " }}{PARA 0 "" 0 "" {TEXT -1 120 "This option can be used to override the default value of Digits*5 for the maximum number of iterations to be performed.\n" }}{PARA 0 "" 0 "" {TEXT -1 161 "maxpoints=n or maxpts=n or maxpoints=all or maxpts=all\nThis opti on can be used to specify the maximum number of data points to be reta ined after each iteration. " }}{PARA 0 "" 0 "" {TEXT -1 130 "\"maxpoin ts=all\" means that all data points are to be retained, in which case \+ the divided differences are also retained for re-use." }}{PARA 0 "" 0 "" {TEXT -1 29 "The default is \"maxpoints=4\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "info=n or info=true/false " }}{PARA 15 "" 0 "" {TEXT -1 46 "info=0: No intermediate output i s printed." }}{PARA 15 "" 0 "" {TEXT -1 67 "info=1: The successive approximations for the root are printed." }}{PARA 15 "" 0 "" {TEXT -1 141 "info=2: In addition to printing the successive approximati ons for the root, the data points used for the inverse interpolation a re given." }}{PARA 15 "" 0 "" {TEXT -1 74 "info=true is equivalent to \+ info=2, and info=false is equivalent to info=0." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 16 "How to activate:" }{TEXT 256 1 "\n" }{TEXT -1 154 "To ma ke the procedure active open the subsection, place the cursor anywhere after the prompt [ > and press [Enter].\nYou can then close up the s ubsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 26 "interproot: impleme ntation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7873 "interproot := proc(ff,rng)\n local Options,a,b,xx ,newx,fa,fb,fx,xvals,yvals,divdiffs,eps,\n saveDigits,i,j,k,maxit ,mxpts,prntflg,x,f,fn,rg,vars,\n lmr,sf,dvdfs,prod,term,proctype, complexround,n,d,dd,t,h;\n\n if nargs<2 then\n error \"at least 2 arguments are required; the basic syntax is: 'interproot(f(x),x=a.. b)'.\"\n end if; \n\n# local procedure\ncomplexround := proc(zz)\n \+ local re,im,eps;\n re := Re(zz);\n im := Im(zz);\n if im=0 then return Re(zz) end if;\n if re=0 then return Im(zz) end if;\n if n ot type(re,float) or not type(im,float) then return zz end if;\n eps := Float(1,-Digits);\n if abs(re)<=eps*abs(im) then return im*I\n \+ elif abs(im)<=eps*abs(re) then return re\n else return zz end if;\n end proc: # of complexround \n\n # start of main procedure interpro ot\n if type(ff,procedure) then\n if nops([op(1,eval(ff))])<>1 \+ then\n error \"the 1st argument, %1, is invalid .. it should b e a procedure with a single argument\",ff;\n end if;\n proct ype := true;\n if type(rng,complexcons..complexcons) then\n \+ rg := rng\n else\n error \"the 2nd argument, %1, is in valid .. when the 1st argument is a procedure, the 2nd argument should be a range of complex constants\",rng\n end if;\n elif type(ff ,algebraic) or type(ff,equation) then\n if type(ff,equation) then \n lmr := lhs(ff)-rhs(ff);\n sf := traperror(simplify( lmr));\n if sf<>lasterror then\n f := sf;\n \+ else\n f := lmr;\n end if;\n else\n f := ff;\n end if;\n vars := indets(f,name) minus indets(f,co mplexcons);\n if nops(vars)<>1 then \n if not has(indets( f),\{Int,Sum\}) then\n error \"the 1st argument, %1, is inv alid .. it should be an expression or an equation which depends only o n a single variable\",ff;\n end if;\n end if;\n if t ype(rng,name=complexcons..complexcons) then\n proctype := fals e;\n x := op(1,rng);\n if not member(x,vars) then\n \+ error \"the 1st argument, %1, is invalid .. it should be an e xpression or an equation which depends only on the variable %2\",ff,x; \n end if;\n rg := op(2,rng);\n else\n er ror \"the 2nd argument, %1, is invalid .. it should have the form 'x=a ..b', to provide two complex number starting values\",rng;\n end \+ if;\n else\n error \"the 1st argument, %1, is invalid .. it sho uld be an algebraic expression in a single variable, an equation in a \+ single variable, or a procedure with a single argument\",ff;\n end i f;\n \n # Get the options \"maxiterations\", \"maxpoints\" and \"i nfo\".\n # Set the default values to start with.\n maxit := Digits *5;\n mxpts := 4;\n prntflg := 0;\n if nargs>2 then\n Optio ns:=[args[3..nargs]];\n if not type(Options,list(equation)) then \n error \"each optional argument must be an equation\"\n \+ end if;\n if hasoption(Options,'maxiterations','maxit','Options' ) then\n if not type(maxit,posint) then\n error \" \\\"maxiterations\\\" must be a positive integer\"\n end if;\n elif hasoption(Options,'maxiter','maxit','Options') then\n \+ if not type(maxit,posint) then\n error \"\\\"maxiter\\\" must be a positive integer\"\n end if;\n end if;\n \+ if hasoption(Options,'maxpoints','mxpts','Options') then\n if \+ mxpts<>all and (not type(mxpts,posint) or mxpts<2) then\n e rror \"\\\"maxpoints\\\" must be a positive integer greater than or eq ual to 2, or \\\"all\\\"\"\n end if;\n elif hasoption(Opt ions,'maxpts','mxpts','Options') then\n if mxpts<>all and (not type(mxpts,posint) or mxpts<2) then\n error \"\\\"maxpts\\ \" must be a positive integer greater than or equal to 2, or \\\"all\\ \"\"\n end if;\n end if;\n if hasoption(Options,'inf o','prntflg','Options') then\n if not member(prntflg,\{true,fa lse,0,1,2\}) then\n error \"\\\"info\\\" must be false=0, 1 , or true=2\"\n end if;\n if prntflg=false then prntfl g := 0\n elif prntflg=true then prntflg := 2 end if; \n e nd if;\n if nops(Options)>0 then\n if type(op(1,Options), 'name'='range') \n or type(op(1,Options) ,'range') then\n error \"%1 is not a valid argument for %2 \+ .. only one range is allowed as an argument\",op(1,Options),procname; \n else\n error \"%1 is not a valid option for %2 . . the recognised options are \\\"maxiterations\\\",(or \\\"maxiter\\\" ),\\\"maxpoints\\\",(or \\\"maxpts\\\") and \\\"info\\\"\",op(1,Option s),procname;\n end if;\n end if;\n end if;\n\n # Incr ease precision for the computation\n saveDigits := Digits;\n Digit s := Digits + min(iquo(Digits,3),5);\n\n if proctype then\n fn \+ := ff;\n else\n # Evaluate any real or complex constants in f\n fn := unapply(evalf(f),x);\n end if;\n\n a := evalf(op(1,rg) );\n b := evalf(op(2,rg));\n if a=b then\n error \"distinct s tarting values are required\"\n end if;\n\n fa := traperror(evalf( fn(a)));\n if fa=lasterror or not type(fa,complex(numeric)) then\n \+ error \"evaluation failed at %1\",evalf(a,saveDigits);\n end if; \n fb := traperror(evalf(fn(b)));\n if fb=lasterror or not type(fb ,complex(numeric)) then\n error \"evaluation failed at %1\",evalf (b,saveDigits);\n end if;\n eps := Float(1,-saveDigits-min(iquo(Di gits,10),2));\n xvals := [a,b];\n yvals := [fa,fb];\n xx := a; \+ \n d := [[xvals[1]]];\n\n for k from 1 to maxit do\n n := eva l(nops(xvals));\n if prntflg>1 then\n print(``||n||` dat a points used for inverse interpolation`);\n print(xvals);\n \+ print(yvals);\n print(` `);\n end if;\n \n \+ if mxpts=all then\n # construct the divided differences\n \+ # we can use previous divided diffs\n d[1] := [op(d[1]) ,xvals[n]];\n for i to n-1 do \n t := (d[i,n+1-i]-d [i,n-i])/(yvals[n]-yvals[n-i]);\n if i0 then\n print(`approximation ` ||k||` -> `,newx);\n if prntflg>1 then print(` `) end if ;\n end if;\n if abs(h)<=eps*abs(newx) then break end \+ if;\n xx := newx;\n else # construct all required divide d diffs\n dvdfs := xvals;\n\011 for i from 2 to n do\n \011 for j from n by -1 to i do\n\011 dvdfs[j] \+ := (dvdfs[j]-dvdfs[j-1])/(yvals[j]-yvals[j-i+1]);\n\011 end \+ do;\n end do;\n\n # Newton (inverse) interpolation giv es new approx root\n\011 prod := 1.;\n\011 newx := dvdfs [1];\011\n\011 for i from 1 to n-1 do\n\011 prod := p rod*(-yvals[i]);\n\011\011 term := prod*dvdfs[i+1];\n\011\011 newx := newx + term;\n end do;\n\n if prntfl g>0 then\n print(`approximation `||k||` -> `,newx);\n \+ if prntflg>1 then print(` `) end if;\n end if;\n \+ if abs(newx-xx)<=eps*abs(newx) then break end if;\n xx := \+ newx;\n end if;\n\n fx := traperror(evalf(fn(xx)));\n i f fx=lasterror or not type(fx,complex(numeric)) then\n error \+ \"evaluation failed at %1\",evalf(xx,saveDigits);\n end if;\n \n \+ xvals := [op(xvals),xx];\n yvals := [op(yvals),fx];\n \+ \n # Retain at most 'maxpoints' data points.\n if mxpts<>all and nops(xvals)>mxpts then\n xvals := [op(2..nops(xvals),xval s)];\n yvals := [op(2..nops(yvals),yvals)];\n end if; \+ \n end do:\n Digits := saveDigits;\n xx := evalf(complexround( newx));\n if k<=maxit then\n return xx;\n else\n print(`la st iteration gives`,xx);\n error \"reached max, %1, iterations wit hout convergence\",maxit;\n end if;\nend proc: # of interproot" }}} {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 10 "interproot" }{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 13 "We calculate " } {XPPEDIT 18 0 "sqrt(2)" "6#-%%sqrtG6#\"\"#" }{TEXT -1 31 " as a soluti on of the equation " }{XPPEDIT 18 0 "x^2-2=0" "6#/,&*$%\"xG\"\"#\"\"\" F'!\"\"\"\"!" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "interproot(x^2=2,x=1..2,info =true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M2~data~points~used~for~in verse~interpolationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"\"\"\"\"! $\"\"#F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$!\"\"\"\"!$\"\"#F&" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\".LLLLLL\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M3~data~point s~used~for~inverse~interpolationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7 %$\"\"\"\"\"!$\"\"#F&$\".LLLLLL\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#7%$!\"\"\"\"!$\"\"#F&$!-BAAAAA!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\" .Z!>w/>9!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M4~data~points~used~for~inverse~interpolationG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\"\"\"\"\"!$\"\"#F&$\".LLLLLL\"!#7$ \".Z!>w/>9F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&$!\"\"\"\"!$\"\"#F&$ !-BAAAAA!#7$\",B^9'p8F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~3~~->~~~G$\".h)fWB99!# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M4~data~points~used~for~inverse~interpolationG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\"\"#\"\"!$\".LLLLLL\"!#7$\".Z!>w/> 9F)$\".h)fWB99F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\"\"#\"\"!$!-BA AAAA!#7$\",B^9'p8F)$\")eu5fF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".w:c8U T\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M4~data~points~used~for~inverse~interpolationG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\".LLLLLL\"!#7$\".Z!>w/>9F&$\".h)fW B99F&$\".w:c8UT\"F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&$!-BAAAAA!#7$ \",B^9'p8F&$\")eu5fF&$!%bAF&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\".tBc8U T\"!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%M4~data~points~used~for~inverse~interpolationG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\".Z!>w/>9!#7$\".h)fWB99F&$\".w:c8U T\"F&$\".tBc8UT\"F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7&$\",B^9'p8!#7 $\")eu5fF&$!%bAF&$\"\"!F," }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\".tBc8UT\"! #7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"~G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+iN@99!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 9 "Example 2" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 49 "We find the single real solution of the equation " } {XPPEDIT 18 0 "cos(x)=x" "6#/-%$cosG6#%\"xGF'" }{TEXT -1 23 " correct \+ to 20 digits. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "evalf(interproot(cos(x)=x,x=0..1,info=1),20);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\":kd+l4XgK dL2&o!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$ \":Weax))yY&o&>KT(!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximati on~3~~->~~~G$\":US`dIeT!3v)3R(!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$% 7approximation~4~~->~~~G$\":1zr#[;0/K8&3R(!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\":+'elT1;:K8&3R(!#D" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\":?Jb;kg^@L ^3R(!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~7~~->~~~G$ \":@Jb;kg^@L^3R(!#D" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"5mT1;:K8&3R( !#?" }}}{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 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "Using t he procedure " }{TEXT 0 10 "interproot" }{TEXT -1 97 " with the maximu m number of data points restricted to 2 is equivalent to using the sec ant method." }}{PARA 0 "" 0 "" {TEXT -1 79 "We illustrate this in the \+ calculation of the positive solution of the equation " }{XPPEDIT 18 0 "exp(-x^2) = ln(x+1);" "6#/-%$expG6#,$*$%\"xG\"\"#!\"\"-%#lnG6#,&F)\" \"\"F0F0" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "interproot(exp(-x^2)=ln(x+1),x=0.5. .1,info=1,maxpoints=2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approxima tion~1~~->~~~G$\".K#)Q9?n(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7app roximation~2~~->~~~G$\".Z-!=-lv!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ %7approximation~3~~->~~~G$\".YBj)Qrv!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".(*[Ux8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\".uOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\".xOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+CuPrv!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "secant(exp(-x^2)=ln(x+1 ),x=0.5..1,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximat ion~1~~->~~~G$\".L#)Q9?n(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7appr oximation~2~~->~~~G$\".[-!=-lv!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$% 7approximation~3~~->~~~G$\".ZBj)Qrv!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".(*[Ux8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\".uOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\".xOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+CuPrv!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 95 "Retaining more data points at each i teration may mean that the number of iterations is reduced." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "in terproot(exp(-x^2)=ln(x+1),x=0.5..1,info=1,maxpoints=4);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\".K#)Q9?n(!#8" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\".l4sm*ov!# 8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~3~~->~~~G$\".,R>x 8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\" .wOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~ ~G$\".uOUx8d(!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+CuPrv!#5" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "evalf(interproot(exp(-x^2)=l n(x+1),x=0.5..1,info=1,maxpoints=2),50);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\"X#>&frj#=!==HV*3vp'RN)3\")*[K#)Q9?n( !#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\"XO' H?2)Qh\\p*eF77vlg9Y!=]Y-!=-lv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7 approximation~3~~->~~~G$\"Xi`*yZBj)Qrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\"X'e)ph1H.E*[wriW '))>iFioR)*[Ux8d(!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximatio n~5~~->~~~G$\"XLR`b!*H$fs>FSVk*yUsa%\\tbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\"X!e^Tt)\\c`pWtWNf7\"oH,ttbn BuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~7~~->~~~G$ \"X2dKpP3Hv>It,%)47\"oH,ttbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$%7approximation~8~~->~~~G$\"X%>)4?P1Hv>It,%)47\"oH,ttbnBuPrv!#b" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~9~~->~~~G$\"X(>)4?P1Hv >It,%)47\"oH,ttbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"S,sj!H v>It,%)47\"oH,ttbnBuPrv!#]" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "evalf(interproot(exp(-x^2)=ln(x+1), x=0.5..1,info=1,maxpoints=4),50);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$% 7approximation~1~~->~~~G$\"X#>&frj#=!==HV*3vp'RN)3\")*[K#)Q9?n(!#b" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\"XBVep'3ME0 ?^Bb>n()*yZ/>\"['4sm*ov!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approx imation~3~~->~~~G$\"XapMgF0fdYD[Pd*zhg4ji-/!R>x8d(!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\"X5v\\zC**=m&>7.MR!4*HU H2WbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~-> ~~~G$\"X(z*R8&pVl5S;LeC@6oH,ttbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\"X%>)4?P1Hv>It,%)47\"oH,ttbnBuPrv!#b " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~7~~->~~~G$\"X(>)4? P1Hv>It,%)47\"oH,ttbnBuPrv!#b" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"S, sj!Hv>It,%)47\"oH,ttbnBuPrv!#]" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 9 "Example 4" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 13 "The equation " }{XPPEDIT 18 0 "arccosh(x)=10+ln(3+sq rt(8))" "6#/-%(arccoshG6#%\"xG,&\"#5\"\"\"-%#lnG6#,&\"\"$F*-%%sqrtG6# \"\")F*F*" }{TEXT -1 18 " has the solution " }{XPPEDIT 18 0 "cosh(10+l n(3+sqrt(8)))" "6#-%%coshG6#,&\"#5\"\"\"-%#lnG6#,&\"\"$F(-%%sqrtG6#\" \")F(F(" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 53 "We solve this equation numerically in various ways. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "cosh(10+ln(3+sqrt(8)) );\nevalf(evalf(%,15));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%%coshG6#, &\"#5\"\"\"-%#lnG6#,&\"\"$F(*&\"\"#F(-%%sqrtG6#F/F(F(F(" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#$\"+ND)*=k!\"&" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 138 "The inverse interpolation method wit h starting values near 10 requires fewer iterations than either the se cant method or Newton's method. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "interproot(arccosh(x)=10+ln( 3+sqrt(8)),x=10..10.1,info=1,maxpoints=all);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\".k4xf&p(*!#6" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\".^T@Q\"f5!\"*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~3~~->~~~G$\".UhGGX4)! \"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".+b EG*yJ!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G $\".Ph5!G%y&!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~ ~->~~~G$\".R<4()QS'!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approxima tion~7~~->~~~G$\".TU:w*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7app roximation~8~~->~~~G$\".8a`#)*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$%7approximation~9~~->~~~G$\".9a`#)*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ND)*=k!\"&" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "secant(arccosh(x)=10+ln(3+sq rt(8)),x=10..10.1,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7app roximation~1~~->~~~G$\".n4xf&p(*!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $%7approximation~2~~->~~~G$\".!)4zY&yM!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~3~~->~~~G$\"./]9wcP\"!\"*" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".#R&RS%[U!\"*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\".'*zp4m6\" !\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~G$\".6 U[P'oB!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~7~~->~~~ G$\".YM%=WGS!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~8~ ~->~~~G$\".QU!e^%[&!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approxima tion~9~~->~~~G$\".VoWvpA'!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8app roximation~10~~->~~~G$\".U+WpXS'!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$%8approximation~11~~->~~~G$\".e&)zl(=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8approximation~12~~->~~~G$\".~~~G$\".@a`#)*=k!\")" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%8approximation~14~~->~~~G$\".@a`#)*=k !\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ND)*=k!\"&" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "newton( arccosh(x)=10+ln(3+sqrt(8)),x=10,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~1~~->~~~G$\".xc`mbs*!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~2~~->~~~G$\".SH3OjG(!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~3~~->~~~G$\".?uuk<*R!\"*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~4~~->~~~G$\".x'GN$z]\" !\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~5~~->~~~G$\".; Sa/Ap$!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~6~~->~~~ G$\".XLAETt&!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximation~7~ ~->~~~G$\".bMmu5Q'!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7approximat ion~8~~->~~~G$\".3.Qq)=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%7appr oximation~9~~->~~~G$\".qW`#)*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $%8approximation~10~~->~~~G$\".La`#)*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%8approximation~11~~->~~~G$\".La`#)*=k!\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ND)*=k!\"&" }}}{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 -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "Let " }{XPPEDIT 18 0 "f(x)=Int(sin(sin(t)+3*cos (2*t)),t=0..x)" "6#/-%\"fG6#%\"xG-%$IntG6$-%$sinG6#,&-F,6#%\"tG\"\"\"* &\"\"$F2-%$cosG6#*&\"\"#F2F1F2F2F2/F1;\"\"!F'" }{TEXT -1 70 ". This f unction is slow to evaluate if numerical integration is used." }} {PARA 0 "" 0 "" {XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 105 " has a zero between 1.4 and 1.6. We compare the time required to calcu late this root by various methods. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "f := x -> Int(sin(sin(t)+3* cos(2*t)),t=0..x);\nplot(f(x),x=0..5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&arrowGF(-%$IntG6$-%$sinG6#,&-F0 6#%\"tG\"\"\"*&\"\"$F6-%$cosG6#,$F5\"\"#F6F6/F5;\"\"!9$F(F(F(" }} {PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6%-%'CURVESG6$7aq7 $$\"\"!F)F(7$$\"+4x&)*3\"!#5$\"+/md07!#67$$\"+#R(*Rc\"F-$\"+enb^U$G5\"F-7$$\"+]4\\Y_F-$\"+&3$\\^>F-7$$\"+U-/PiF-$ \"+2#)z8HF-7$$\"+fmpisF-$\"+n_`&)QF-7$$\"+EV1$z(F-$\"+j+m#H%F-7$$\"+#* >VB$)F-$\"+M1k!f%F-7$$\"+y`w(e)F-$\"+v1j!p%F-7$$\"+j()4_))F-$\"+objbZF -7$$\"+caE%)*)F-$\"+PdmuZF-7$$\"+\\@V;\"*F-$\"+!3HYy%F-7$$\"+T))f[#*F- $\"+pb_&y%F-7$$\"+Mbw!Q*F-$\"+?_SxZF-7$$\"+8\\m_'*F-$\"+^^\"Gt%F-7$$\" +#HkX#**F-$\"+c=*>l%F-7$$\"+njk>5!\"*$\"+PR7PXF-7$$\"+0j$o/\"Fhq$\"+4f +\"R%F-7$$\"+GTt%4\"Fhq$\"+)4:x1%F-7$$\"+_>jU6Fhq$\"+lgZxOF-7$$\"+eNb' >\"Fhq$\"+HZI$=$F-7$$\"+j^Z]7Fhq$\"+jNRcEF-7$$\"+w\"=YI\"Fhq$\"+BM#e6# F-7$$\"+)=h(e8Fhq$\"+o0qy:F-7$$\"+8!Q4T\"Fhq$\"+j@9s5F-7$$\"+Q[6j9Fhq$ \"+KA\"oy&F07$$\"+%R'\\5:Fhq$\"+Eh(QS\"F07$$\"+\\z(yb\"Fhq$!+Yv%3#HF07 $$\"+-#>Uh\"Fhq$!+s\"4.0)F07$$\"+b/cq;Fhq$!+&p2SK\"F-7$$\"+')))G=Fhq$!+)Re3#QF-7$$\"+#pW`(>Fhq$!+M&4eG%F-7$$\"+ \"f#=$3#Fhq$!+k([#R^F-7$$\"+#=EX8#Fhq$!+_7Z8aF-7$$\"+t(pe=#Fhq$!+(z>=d &F-7$$\"+&oi#*>#Fhq$!+1V-#f&F-7$$\"+)fbE@#Fhq$!+()R6.cF-7$$\"+6&[gA#Fh q$!+T3(\\g&F-7$$\"+B9WRAFhq$!+0u_(f&F-7$$\"+\\sAmAFhq$!+rFtabF-7$$\"+u I,$H#Fhq$!+%pb_Z&F-7$$\"+t&3AM#Fhq$!+#zZ*Q_F-7$$\"+rSS\"R#Fhq$!+:)p)** [F-7$$\"+i!oWW#Fhq$!+'**=gW%F-7$$\"+`?`(\\#Fhq$!+')yqNRF-7$$\"+E1l_DFh q$!+%zdhQ$F-7$$\"++#pxg#Fhq$!+\\l&\\&GF-7$$\"+!3]dl#Fhq$!+K2yJCF-7$$\" +g4t.FFhq$!+\"GX+1#F-7$$\"+!Hst!GFhq$!+K&p4Y\"F-7$$\"+3\"34'GFhq$!+#zU xD\"F-7$$\"+ERW9HFhq$!+D\"o[6\"F-7$$\"+z#=o'HFhq$!+:-#*>5F-7$$\"+KE>>I Fhq$!+C#=\"R&*F07$$\"+#RU07$Fhq$!+U3Jo%)F07$$\"+1#3o<$Fhq$!+n[^CwF07$$ \"+?S2LKFhq$!+XO`RjF07$$\"+c8j$G$Fhq$!+Al)4l%F07$$\"+$p)=MLFhq$!+V!*oP BF07$$\"+*=]@W$Fhq$\"+F^%\\&\\F07$$\"+pZ1\"\\$Fhq$\"+m&o_C*F07$$\"+]$z *RNFhq$\"+>:t&R\"F-7$$\"+2fX$f$Fhq$\"+&>A'G>F-7$$\"+kC$pk$Fhq$\"+WCsOC F-7$$\"+O(\\sp$Fhq$\"+'ewl%GF-7$$\"+3qcZPFhq$\"+cRbZJF-7$$\"+K]'Qx$Fhq $\"+$z$e\\KF-7$$\"+cI;+QFhq$\"+(Hx(3LF-7$$\"+o?J8QFhq$\"+T%f:K$F-7$$\" +!3hk#QFhq$\"+Ce!HK$F-7$$\"+#45'RQFhq$\"+,Fw7LF-7$$\"+/\"fF&QFhq$\"+S< <\"H$F-7$$\"+a8=/RFhq$\"+BAt+JF-7$$\"+0OgbRFhq$\"+*G_3w#F-7$$\"+nAFjSF hq$\"+9#Q)eUFhq$\"+f?pKWF07$ $\"+ye,tUFhq$\"+Ek-(3#F07$$\"+^=;'G%Fhq$\"+&))\\?r\"F07$$\"+ByI*H%Fhq$ \"+ROX>9F07$$\"+'z`CJ%Fhq$\"+heY37F07$$\"+p(*fDVFhq$\"+l0'y2\"F07$$\"+ TduQVFhq$\"+XI+E5F07$$\"+9<*=N%Fhq$\"+Mj*30\"F07$$\"+(oP]O%Fhq$\"+/yA] 6F07$$\"+fO=yVFhq$\"+W^T@8F07$$\"+$z-lU%Fhq$\"+Xvg?DF07$$\"+E>#[Z%Fhq$ \"+rGj&\\%F07$$\"+(G!e&e%Fhq$\"+zO,36F-7$$\"+&)Qk%o%Fhq$\"+#zA#G=F-7$$ \"+UjE!z%Fhq$\"+!=,0i#F-7$$\"+60O\"*[Fhq$\"+su71LF-7$$\"\"&F)$\"+6JWHQ F--%'COLOURG6&%$RGBG$\"#5!\"\"F(F(-%+AXESLABELSG6$Q\"x6\"Q!Ff[m-%%VIEW G6$;F(Fgjl%(DEFAULTG" 1 2 0 1 10 0 2 9 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 59 "st := time():\nevalf(fsolve(f(x),x= 1.4..1.6),30);\ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?gc-h &*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&>R\"!\"$" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 74 "st := time():\nevalf(interproot(f(x),x=1.4..1.6,maxpts=all),30); \ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?gc-h&*3&e/:J\")He_ \"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&%H7!\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "st := tim e():\nevalf(interproot(f(x),x=1.4..1.6,maxpts=4),30);\ntime()-st;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?gc-h&*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"%a**!\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 72 "st := time():\nevalf(int erproot(f(x),x=1.4..1.6,maxpts=2),30);\ntime()-st;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"?gc-h&*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&8A\"!\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "st := time():\nevalf(secant( f(x),x=1.4..1.6),30);\ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$ \"?gc-h&*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"&FK\" !\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 " Newton's method can be used because the derivative f '(" }{TEXT 276 1 "x" }{TEXT -1 4 ") = " }{XPPEDIT 18 0 " sin(sin(x)+3*cos(2*x))" "6#-%$ sinG6#,&-F$6#%\"xG\"\"\"*&\"\"$F*-%$cosG6#*&\"\"#F*F)F*F*F*" }{TEXT -1 53 " is available. This appears to be the fastest method." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "st := time():\nevalf(newton(f(x),x=1.5),30);\ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?gc-h&*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"%R*)!\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "The bisection method is very slow. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "st : = time():\nevalf(bisect(f(x),x=1.4..1.6),30);\ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?gc-h&*3&e/:J\")He_\"!#H" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"'-:=!\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {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 5 "Tasks" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q1" }}{PARA 0 "" 0 "" {TEXT -1 64 "Calculate the first positive zero of the 0 th B essel J function " }{XPPEDIT 18 0 "J[0](x);" "6#-&%\"JG6#\"\"!6#%\"xG " }{TEXT -1 26 ", to 500 digits\n(a) using " }{TEXT 0 6 "fsolve" } {TEXT -1 29 " and (b) using the procedure " }{TEXT 0 10 "interproot" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 1 "\n" }{TEXT 265 4 "Note" } {TEXT -1 26 ": The Maple function for " }{XPPEDIT 18 0 "J[0](x)" "6#- &%\"JG6#\"\"!6#%\"xG" }{TEXT -1 4 " is " }{TEXT 0 18 " x -> BesselJ(0, x)" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 43 "___________________ ________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 44 "_______________________________________ _____" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q2" }}{PARA 0 "" 0 "" {TEXT -1 45 "This qu estion is concerned with the function " }{XPPEDIT 18 0 "f(x)=(6*sqrt(2 6+9*x^2-30*x)-6+tanh(3*x-5))/(18*x-30)" "6#/-%\"fG6#%\"xG*&,(*&\"\"'\" \"\"-%%sqrtG6#,(\"#EF,*&\"\"*F,*$F'\"\"#F,F,*&\"#IF,F'F,!\"\"F,F,F+F8- %%tanhG6#,&*&\"\"$F,F'F,F,\"\"&F8F,F,,&*&\"#=F,F'F,F,F7F8F8" }{TEXT -1 3 ". " }}{PARA 0 "" 0 "" {TEXT -1 22 "(a) Plot the graph of " } {XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 5 " for " }{XPPEDIT 18 0 "-5 <= x;" "6#1,$\"\"&!\"\"%\"xG" }{XPPEDIT 18 0 "`` <= 5;" "6#1% !G\"\"&" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 28 "(b) Find the \+ single zero of " }{XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 73 " to a precision of 10 digits by the inverse interpolation method meth od. " }}{PARA 0 "" 0 "" {TEXT -1 31 " You may use the procedure " }{TEXT 0 10 "interproot" }{TEXT -1 10 " for this." }}{PARA 0 "" 0 "" {TEXT -1 91 "(c) Investigate the convergence of the inverse interpola tion method to the single zero of " }{XPPEDIT 18 0 "f(x)" "6#-%\"fG6#% \"xG" }{TEXT -1 28 " with the starting interval " }{XPPEDIT 18 0 "[-1, 2];" "6#7$,$\"\"\"!\"\"\"\"#" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 38 " Find the setting for the option \"" }{TEXT 275 9 "ma xpoints" }{TEXT -1 20 "\" for the procedure " }{TEXT 0 10 "interproot " }{TEXT -1 40 " which gives convergence to the zero of " }{XPPEDIT 18 0 "f(x)" "6#-%\"fG6#%\"xG" }{TEXT -1 92 " with the minimum number o f iterations.\n Illustrate the convergence using the procedure " } {TEXT 0 15 "interproot_step" }{TEXT -1 39 " with the same setting for \+ the option \"" }{TEXT 275 9 "maxpoints" }{TEXT -1 4 "\". " }}{PARA 0 "" 0 "" {TEXT -1 42 "__________________________________________" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 42 "__________________________________________" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}} {SECT 1 {PARA 256 "" 0 "" {TEXT 270 17 "Code for picture " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1052 "A1 \+ := [-3,2]: B1 := [-1,3]: C1 := [3,4]:\np1 := plot([[A1,B1,C1]$3],style =point,symbol=[circle,cross,diamond],color=blue):\npx := interp([-3,-1 ,3],[2,3,4],y):\nfx := interp([-5,-3,-1,3,4.5],[1,2,3,4,4.4],y):\nxmin := -0.3: xmax := 5:\nymin := -4.5: ymax := 5:\np2 := plot([fx,px],y=y min..ymax,x=xmin..xmax,\n color=[red,COLOR(RGB,0,.8,0)],thick ness=[1,2]):\nhh := evalf(Pi/15):\nxx := evalf(subs(y=0,px)):\ndd := ( ymax-ymin)/80:\nee := (xmax-xmin)/60:\ncc := [seq([dd*cos(hh*i),xx+ee* sin(hh*i)],i=0..30)]:\np3 := plots[polygonplot](cc,color=coral):\nt1 : = plots[textplot]([[4.8,-0.2,`y`],[-0.2,4.8,`x`]],color=COLOR(RGB,0,0, 0.01)):\nt2 := plots[textplot]([[-3.8,2.3,`[f(x0),x0]`],[-1.7,3.35,`[f (x2),x2]`],\n [2.4,4.34,`[f(x1),x1]`]],color=navy):\nt3 := plots[ textplot]([1.8,3.2,`approximate root`],color=coral):\nt4 := plots[text plot]([-3,.8,`inverse interpolating polynomial`],\n \+ color=COLOR(RGB,0,.8,0)):\nt5 := plots[textplot]([4 .3,4.9,`y = f(x)`],color=red):\nplots[display]([p1,p2,p3,t1,t2,t3,t4,t 5],tickmarks=[0,0]);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}}{MARK "4 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }