{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " Blue Emphasis" -1 256 "Times" 0 0 0 0 255 1 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "Green Emphasis" -1 257 "Times" 1 12 0 128 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Maroon Emphasis" -1 258 "Times" 1 12 128 0 128 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -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 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Purple Emphasis" -1 264 "Times" 1 12 127 0 255 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 266 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "" 1 18 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "Red Emphasis" -1 268 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Dark Red Emph asis" -1 269 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" 268 270 "" 1 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "Grey Emphasis" -1 271 "Times" 1 12 96 52 84 1 0 1 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 "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 } 1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE " " -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Plot" -1 13 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bulle t 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 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 27 "Clenshaw-Curtis integration" }} {PARA 0 "" 0 "" {TEXT -1 37 "by Peter Stone, Nanaimo, B.C., Canada" }} {PARA 0 "" 0 "" {TEXT -1 19 "Version: 24.3.2007" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 49 "load numerical integration procedures including: " } {TEXT 0 5 "CCint" }}{PARA 0 "" 0 "" {TEXT -1 17 "The Maple m-file " } {TEXT 271 6 "intg.m" }{TEXT -1 37 " contains the code for the procedur e " }{TEXT 0 5 "CCint" }{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 it s location. " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "read \"K:\\ \\Maple/procdrs/intg.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 35 "Clenshaw-Curtis integration formula" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 6 "Si nce " }{XPPEDIT 18 0 "T(k,x) = cos(k*theta);" "6#/-%\"TG6$%\"kG%\"xG-% $cosG6#*&F'\"\"\"%&thetaGF-" }{TEXT -1 7 ", when " }{XPPEDIT 18 0 "x=c os(theta)" "6#/%\"xG-%$cosG6#%&thetaG" }{TEXT -1 2 ", " }}{PARA 257 " " 0 "" {XPPEDIT 18 0 "Int(T(k,x),x)=-Int(cos(k*theta)*sin(theta),theta )" "6#/-%$IntG6$-%\"TG6$%\"kG%\"xGF+,$-F%6$*&-%$cosG6#*&F*\"\"\"%&thet aGF4F4-%$sinG6#F5F4F5!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 5 " = " }{XPPEDIT 18 0 "-1/2" "6#,$*&\"\"\"F%\"\"#!\"\"F'" } {TEXT -1 1 " " }{XPPEDIT 18 0 "Int(sin((k+1)*theta)-sin((k-1)*theta),t heta)" "6#-%$IntG6$,&-%$sinG6#*&,&%\"kG\"\"\"F-F-F-%&thetaGF-F--F(6#*& ,&F,F-F-!\"\"F-F.F-F3F." }{TEXT -1 2 " " }}{PARA 257 "" 0 "" {TEXT -1 5 " = " }{XPPEDIT 18 0 "1/2;" "6#*&\"\"\"F$\"\"#!\"\"" }{TEXT -1 1 " " }{XPPEDIT 18 0 "[cos((k+1)*theta)/(k+1)-cos((k-1)*theta)/(k-1)] " "6#7#,&*&-%$cosG6#*&,&%\"kG\"\"\"F,F,F,%&thetaGF,F,,&F+F,F,F,!\"\"F, *&-F'6#*&,&F+F,F,F/F,F-F,F,,&F+F,F,F/F/F/" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 4 " = " }{XPPEDIT 18 0 "1/2" "6#*&\"\"\"F$\"\"#! \"\"" }{TEXT -1 1 " " }{XPPEDIT 18 0 "[T(k+1,x)/(k+1)-T(k-1,x)/(k-1)] " "6#7#,&*&-%\"TG6$,&%\"kG\"\"\"F+F+%\"xGF+,&F*F+F+F+!\"\"F+*&-F'6$,&F *F+F+F.F,F+,&F*F+F+F.F.F." }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 4 "Now " }{XPPEDIT 18 0 "T(k,1)=1" "6# /-%\"TG6$%\"kG\"\"\"F(" }{TEXT -1 6 " \nand " }{XPPEDIT 18 0 "T(k,-1) \+ = cos(k*Pi" "6#/-%\"TG6$%\"kG,$\"\"\"!\"\"-%$cosG6#*&F'F)%#PiGF)" } {TEXT -1 4 ") = " }{XPPEDIT 18 0 "PIECEWISE([1,`if k is even`],[-1,`if k is odd`])" "6#-%*PIECEWISEG6$7$\"\"\"%-if~k~is~evenG7$,$F'!\"\"%,if ~k~is~oddG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 22 " It follows that, if " }{XPPEDIT 18 0 "k>1" "6 #2\"\"\"%\"kG" }{TEXT -1 3 ", " }{XPPEDIT 18 0 "Int(T(k,x),x=-1..1)=P IECEWISE([1/(k+1)-1/(k-1),`if k is even`],[0,`if k is odd`])" "6#/-%$I ntG6$-%\"TG6$%\"kG%\"xG/F+;,$\"\"\"!\"\"F/-%*PIECEWISEG6$7$,&*&F/F/,&F *F/F/F/F0F/*&F/F/,&F*F/F/F0F0F0%-if~k~is~evenG7$\"\"!%,if~k~is~oddG" } {TEXT -1 3 " " }}{PARA 257 "" 0 "" {TEXT -1 3 " = " }{XPPEDIT 18 0 " PIECEWISE([-2/((k+1)*(k-1)), `if k is even`],[0, `if k is odd`]);" "6# -%*PIECEWISEG6$7$,$*&\"\"#\"\"\"*&,&%\"kGF*F*F*F*,&F-F*F*!\"\"F*F/F/%- if~k~is~evenG7$\"\"!%,if~k~is~oddG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "This formula still hold s for k=0 and k=1, since " }{XPPEDIT 18 0 "Int(T(0,x),x=-1..1)=Int(1,x =-1..1)" "6#/-%$IntG6$-%\"TG6$\"\"!%\"xG/F+;,$\"\"\"!\"\"F/-F%6$F//F+; ,$F/F0F/" }{TEXT -1 10 " = 2 and " }{XPPEDIT 18 0 "Int(T(1,x),x=-1..1 )=Int(x,x=-1..1)" "6#/-%$IntG6$-%\"TG6$\"\"\"%\"xG/F+;,$F*!\"\"F*-F%6$ F+/F+;,$F*F/F*" }{TEXT -1 7 " = 0. " }}{PARA 0 "" 0 "" {TEXT -1 3 "If " }{XPPEDIT 18 0 "p(x)=c[0]/2 + Sum(c[k]*T(k,x),k=1..n)" "6#/-%\"pG6# %\"xG,&*&&%\"cG6#\"\"!\"\"\"\"\"#!\"\"F.-%$SumG6$*&&F+6#%\"kGF.-%\"TG6 $F7F'F./F7;F.%\"nGF." }{TEXT -1 28 ", where n is even, say, then" }} {PARA 257 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "Int(p(x),x=-1..1)=2 " "6#/-%$IntG6$-%\"pG6#%\"xG/F*;,$\"\"\"!\"\"F.\"\"#" }{TEXT -1 1 " " }{TEXT 266 2 "[ " }{XPPEDIT 18 0 "c[0]/2-c[2]/(1*`*`*3)-c[4]/(3*`*`*5) -c[6]/(5*`*`*7);" "6#,**&&%\"cG6#\"\"!\"\"\"\"\"#!\"\"F)*&&F&6#F*F)*(F )F)%\"*GF)\"\"$F)F+F+*&&F&6#\"\"%F)*(F1F)F0F)\"\"&F)F+F+*&&F&6#\"\"'F) *(F7F)F0F)\"\"(F)F+F+" }{TEXT -1 9 " . . . " }{XPPEDIT 18 0 "c[n]/(( n-1)*`*`*(n+1));" "6#*&&%\"cG6#%\"nG\"\"\"*(,&F'F(F(!\"\"F(%\"*GF(,&F' F(F(F(F(F+" }{TEXT -1 1 " " }{TEXT 267 1 "]" }{TEXT -1 1 "." }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{TEXT 270 27 "___________________________ " }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 12 "This is the " }{TEXT 264 35 "Clenshaw-Curtis integration \+ formula" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 54 "Basic procedure using Chebyshev series of fixed length" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1047 "CCint1:= proc(f::procedure,a::realcons,b::real cons,n::posint)\n local fn,d,m,ab,pie,csns,vals,k,i,sum,\n n 2,j,fa,fb,delta,cs,val,area,dist;\n\n fn := evalf@f;\n dist := eva lf(b-a);\n d := dist*0.5;\n ab := evalf((a+b)*0.5);\n fa := fn(a );\n fb := fn(b);\n\n pie := evalf(Pi);\n\n csns := [];\n vals :=[];\n \n # Set up cosines and function values\n delta := p ie/n;\n for k from 0 to n do\n cs := cos(k*delta);\n csns \+ := [op(csns),cs];\n val := fn(ab+d*cs);\n vals := [op(vals), val];\n end do;\n \n # Calculate even Chebyshev coefficients\n \+ sum := (fa+fb)*0.5;\n for k from 2 to n do\n sum := sum + vals[ k];\n end do;\n area := sum*dist/n;\n\n n2 := n+n;\n for j fro m 2 to n by 2 do\n sum := fb*0.5;\n for k from 1 to n-1 do\n m := irem(j*k,n2);\n if m > n then m := n2-m end if; \n sum := sum + csns[m+1]*vals[k+1];\n end do;\n sum := sum + fa*0.5;\n # Clenshaw-curtis sum\n area := area - 2 *sum/(n*(j-1)*(j+1)); \n end do;\n area*dist; \nend proc: " } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "CCint1(ln,1,2,10);\nevalf(Int(ln(x),x=1..2));" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"+8O%H'Q!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ 6O%H'Q!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 56 "A proced ure for performing Clenshaw-Curtis integration: " }{TEXT 0 5 "CCint" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 12 "CCint: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 259 18 "Calling Sequence:\n" }}{PARA 0 "" 0 "" {TEXT 260 2 " " }{TEXT -1 19 " CCint( fx, rng ) " }{TEXT 261 1 "\n" }{TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 4 " " }} {PARA 0 "" 0 "" {TEXT 23 10 " fx - " }{TEXT -1 55 " an expres sion involving a single variable, say x," }}{PARA 0 "" 0 "" {TEXT -1 85 " where f(x) evaluates to a real flo ating point number." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }{TEXT 23 12 " rng - " }{TEXT 262 62 "the range x =a..b for the definite integral to be approximated." }}{PARA 0 "" 0 " " {TEXT -1 10 " " }}{PARA 256 "" 0 "" {TEXT -1 12 "Descriptio n:" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 5 "CCint" }{TEXT -1 48 " attempts to find a numerical approximation for " } {XPPEDIT 18 0 "Int(fx,x = a .. b);" "6#-%$IntG6$%#fxG/%\"xG;%\"aG%\"bG " }{TEXT -1 39 " by using Clenshaw-Curtis integration." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 263 8 "Options:" }{TEXT -1 15 "\nmode=STD / FFT" }}{PARA 0 "" 0 "" {TEXT -1 114 "With \"mode=STD \", the coefficients of Chebyshev series are computed in a standard wa y, whereas, with \"mode=FFT\", a " }{TEXT 264 31 "fast Fourier (cosine ) transform" }{TEXT -1 9 " is used." }}{PARA 0 "" 0 "" {TEXT -1 25 "Th e default is \"mode=FFT\"" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 15 "maxiterations=n" }}{PARA 0 "" 0 "" {TEXT -1 95 "Wh en \"mode=STD\", the the total number of function evaluations made aft er the n th iteration is " }{XPPEDIT 18 0 "2^n+1" "6#,&)\"\"#%\"nG\"\" \"F'F'" }{TEXT -1 101 ", since, with each successive iteration, one ne w evaluation is performed between every previous pair." }}{PARA 0 "" 0 "" {TEXT -1 91 "When \"mode=FFT\", the total number of function eval uations made after the n th iteration is " }{XPPEDIT 18 0 "2*`*`*3^n+1 ;" "6#,&*(\"\"#\"\"\"%\"*GF&)\"\"$%\"nGF&F&F&F&" }{TEXT -1 103 ", sinc e, with each successive iteration, two new evaluations are performed b etween every previous pair." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 198 "The number of terms in the approximating Cheby shev series increases with each iteration until the integral is calcul ated with the required precision, or the maximum number of iterations \+ is reached. " }}{PARA 0 "" 0 "" {TEXT -1 137 "When \"mode=STD\", the \+ default is \"maxiterations=Digits\", and, when \"mode=FFT\", the defau lt is \"maxiterations=min(5+trunc(Digits/10),9))\"." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "info=true/false or 0, 1 , 2, 3" }}{PARA 0 "" 0 "" {TEXT -1 68 "The option \"info=1'' gives the total number of function evaluations." }}{PARA 0 "" 0 "" {TEXT -1 304 "The option \"info=2'' gives the total number of function evaluati ons, and also gives the integral estimate at each step.\nThe option \" info=3\" gives the same information as \"info=2\", and also provides a graph showing the distribution of evaluation points which contribute \+ to the computation of the integral." }}{PARA 0 "" 0 "" {TEXT -1 38 "\" info=true\" is equivalent to \"info=3\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 29 "Options relating to the graph" } {TEXT -1 59 " - which is drawn with the options \"info=3\" or \"info=t rue\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "colour/color=c or [c1, c2, c3, . . . ]" }}{PARA 0 "" 0 "" {TEXT -1 211 "A single colour for the graph can be specified, or, if a list of \+ colours c1, c2, c3, . . . are given, c1 will be used for the graph a nd c2, c3, . . . for the new points corresponding to successive itera tions." }}{PARA 0 "" 0 "" {TEXT -1 139 "If there are insufficient colo urs to colour the points for separate iterations in different colours, the last colour in the list is reused." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 10 "maxgraph=n" }}{PARA 0 "" 0 "" {TEXT -1 149 "When a large number of evaluations is performed, this option r estricts the evaluation points plotted to those which are used up to t he nth iteration." }}{PARA 0 "" 0 "" {TEXT -1 96 "When \"mode=FFT\", t he default is \"maxgraph=4\", and, when \"mode=STD\", the default is \+ \"maxgraph=8\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 72 "symbol=BOX/box, CROSS/cross, CIRCLE/circle, POINT/point, \+ DIAMOND/diamond" }}{PARA 0 "" 0 "" {TEXT -1 48 "The symbol to be used \+ for the evaluation points." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "plotcurve=true/false" }}{PARA 0 "" 0 "" {TEXT -1 229 "In the default mode \"plotcurve=false\", the only function evalua tions used to draw the graph are those used in evaluating the integral , and the curve is obtained by simply joining the evaluation points wi th straight line segments." }}{PARA 0 "" 0 "" {TEXT -1 219 "If you wis h to see a curve when the points are not sufficiently close to give th e desired effect, then you can use the \"plotcurve\" option to achieve this, in which case additional function evaluations will be performed ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 5 "Note s" }{TEXT -1 2 ": " }}{PARA 15 "" 0 "" {TEXT -1 31 "When \"mode=STD\", the procedure " }{TEXT 0 5 "CCint" }{TEXT -1 516 " avoids repeating a ny unnecessary function and cosine evaluations. Even so, the accumulat ion of the sums used to calculate the Chebyshev coefficients can be ti me consuming.\nWhen \"mode=FFT\", the Chebyshev coefficients are compu ted using a fast Fourier (cosine) transform method.\nThe algorithm is \+ one originally constructed by M.V.Gentleman in 1970, and written in Fo rtran.\nBoth Maple, and the computer algebra system MuPad, use this al gorithm.\nSee also \"Numerical recipies in C\", Cambridge University P ress, page 196." }}{PARA 15 "" 0 "" {TEXT -1 37 "Like the Maple and Mu Pad algorithms, " }{TEXT 0 5 "CCint" }{TEXT -1 174 " makes use of an e rror estimate based on the current Chebyshev coefficients, when it app ears that the integrand is sufficiently smooth. Unlike the Maple and M uPad algorithm, " }{TEXT 0 5 "CCint" }{TEXT -1 178 " will use a simple r error estimate, based on the difference between the new and old esti mates for the integral, and continue the calculation, even if the inte grand is not smooth." }}{PARA 15 "" 0 "" {TEXT -1 179 "A check for pos sible divergence or convergence to zero is made. This can be effective ly disabled by increasing the maximum number of iterations through the option \"maxiterations\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 16 "How to activat e:" }{TEXT 256 1 "\n" }{TEXT -1 154 "To make the procedure active open the subsection, place the cursor anywhere after the prompt [ > and p ress [Enter].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 22 "CCint: implementation " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20624 "CCint := \+ proc(alg_expr,eqn)\n \n local prntflg,maxfun,x0,x1,x,rs,Options,y0 ,y1,clr,r,err,\n saveDigits,eps,symbl,graph,pltcrv,pts,plt,nof un,\n ccquad3,radix3pass,f,result,tol,csxfrm,maxit,i,\n \+ iter,mxgrph,md,ccquad2,mxgopt,clropt,nc,numiter;\n\n if nargs<2 the n\n error \"at least 2 arguments are required; the basic syntax is : 'CCint(f(x),x=a..b)'.\"\n end if; \n\n if not type(alg_expr,alge braic) then \n error \"the 1st argument, %1, is invalid ..it shou ld be an algebraic expression in a single variable\",alg_expr;\n end if; \n if not type(eqn,`=`) then \n error \"the 2nd argument, \+ %1, is invalid ..it should be an equation of the form 'x=a..b' to give the required interval for the integral to be estimated\",eq;\n end \+ if;\n x := op(1,eqn);\n if not type(x,symbol) then\n error \" 2nd argument equation left side, %1, should be the independent variabl e\",x;\n end if;\n if not type(indets(alg_expr,name) minus \{x\},s et(realcons)) then\n error \"the 1st argument, %1, must depend on ly on the variable %2\",alg_expr,x;\n end if; \n rs := op(2,eqn) ;\n\n if not type(rs,realcons..realcons) then\n error \"2nd \+ argument equation right side, %1, should be a range of real values\",r s;\n end if;\n \n # Get the options\n # Set the default values to start with.\n md := 'FFT';\n maxit := min(5+trunc(Digits/10),9 );\n mxgrph := 4;\n pltcrv := false;\n clr := [gray,blue,COLOR(R GB,.5,0,0),COLOR(RGB,0,.7,0),cyan,\n magenta,COLOR(RGB,.9,0,.4), yellow,red,coral];\n symbl := 'circle';\n prntflg := 0;\n if nar gs>2 then\n Options:=[args[3..nargs]];\n if not type(Options ,list(equation)) then\n error \"each optional argument must be an equation\"\n end if;\n mxgopt := false;\n clropt := false;\n if hasoption(Options,'mode','md','Options') then\n \+ if not member(md,\{'STD','FFT'\}) then\n error \"\\\"mo de\\\" must be 'STD' or 'FFT'\"\n end if;\n if md='STD ' then\n maxit := Digits;\n mxgrph := 8;\n \+ end if; \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 if md='FFT' and maxit>9 then\n e rror \"\\\"maxiterations\\\" must be less than 10\"\n end if; \n end if;\n if hasoption(Options,'maxgraph','mxgrph','Optio ns') then \n if not type(mxgrph,posint) then\n erro r \"\\\"maxgraph\\\" must be a positive integer\"\n end if;\n \+ mxgrph := min(maxit,mxgrph);\n mxgopt := true;\n \+ end if;\n if hasoption(Options,'info','prntflg','Options') then\n if not member(prntflg,\{true,false,0,1,2,3\}) then\n \+ error \"\\\"info\\\" must be 0 <-> false, 1, 2 or 3 <-> true\"\n \+ end if;\n if prntflg=false then prntflg := 0\n e lif prntflg=true then prntflg := 3 end if; \n end if;\n if h asoption(Options,'plotcurve','pltcrv','Options') then\n if plt crv<>true then pltcrv := false end if; \n end if;\n if hasop tion(Options,'colour','clr','Options')\n or hasoption(Options, 'color','clr','Options') then\n clropt := true;\n end if; \n if mxgopt or clropt then \n if type(clr,list) then\n \+ nc := nops(clr);\n if nc0 then\n error \"%1 is not a valid option for %2\",o p(1,Options), procname;\n end if;\n end if;\n\nccquad3 := proc( f,aa,bb,eps)\n local esterr,used,log2eps,maxcoef,k,tol,rt3,\n \+ centre,width,shift,fund,angle,C,S,oldint,newint,\n t1,t2,t3, t4,t5,t6,t7,t8,t9,t10,t11,t12,n,n2,n3,\n n_less_1,n_less_3,m_m ax,j,step,L,j1,j2,j3,j4,\n j5,j6,j7,j8,j_rev,a,b,olderr,diverg e,zero,persist,\n singwarn,ctemp;\n \n persist := max(2,floo r(maxit/4));\n diverge := 0;\n zero := 0;\n singwarn := false;\n a := evalf(aa);\n b := evalf(bb);\n log2eps := evalf(ln(eps)/ln (2));\n rt3 := evalf(sqrt(3));\n m_max := 8;\n centre := (a+b)/2 ;\n width := (b-a)/2;\n L := array(1 .. m_max);\n for j from 1 t o m_max do L[j] := 1 end do;\n iter := 1;\n n := 6;\n \n # Samp le the function\n \n csxfrm[1] := f(b);\n csxfrm[7] := f(a);\n s hift := -0.5*width*rt3;\n csxfrm[2] := f(centre-shift);\n csxfrm[6 ] := f(centre+shift);\n shift := -0.5*width;\n csxfrm[3] := f(cent re-shift);\n csxfrm[5] := f(centre+shift);\n csxfrm[4] := f(centre );\n \n # Evaluate the factored n=6 cosine transform\n \n t1 := cs xfrm[1]+csxfrm[7];\n t2 := csxfrm[1]-csxfrm[7];\n t3 := 2.0*csxfrm [4];\n t4 := csxfrm[2]+csxfrm[6];\n t5 := (csxfrm[2]-csxfrm[6])*rt 3;\n t6 := csxfrm[3]+csxfrm[5];\n t7 := csxfrm[3]-csxfrm[5];\n t 8 := t1+2.0*t6;\n t9 := 2.0*t4+t3;\n t10 := t2+t7;\n t11 := t1-t 6;\n t12 := t4-t3;\n csxfrm[1] := t8+t9;\n csxfrm[2] := t10+t5; \n csxfrm[3] := t11+t12;\n csxfrm[4] := t2-2.0*t7;\n csxfrm[5] : = t11-t12;\n csxfrm[6] := t10-t5;\n csxfrm[7] := t8-t9;\n used : = 7;\n\n # evaluate first estimate of integral\n\n oldint := -0.01 428571429*csxfrm[7]-1/15*csxfrm[5]\n -1/3*csxfrm[3]+0.5* csxfrm[1];\n oldint := 1/3*width*oldint;\n olderr := oldint;\n i f prntflg>1 then\n print(`step 1: approx value of integral --> `, oldint);\n end if;\n if maxit=1 then\n WARNING(\"reached maxi mum number of function evaluations\");\n return [oldint,used,1]; \n end if;\n\n # Compute refined approximation\n # Sample the func tion at intermediate points in digit reversed order\n # As the sequen ce is generated, compute the first (radix 4 transform)\n # pass of th e fast Fourier transform\n \n for iter from 2 to maxit do\n for j from 2 to m_max do L[j-1] := L[j] end do;\n L[m_max] := 3*L[m _max-1];\n ctemp := array(1..used);\n for i to used do ctemp [i] := csxfrm[i] end do;\n csxfrm := array(1..3*used-2);\n f or i to used do csxfrm[i] := ctemp[i] end do;\n j := used;\n \+ fund := evalf(1/3*Pi/n);\n for j1 from 1 to L[1] do\n fo r j2 from j1 to L[2] by L[1] do\n for j3 from j2 to L[3] by L[2] do\n for j4 from j3 to L[4] by L[3] do\n \+ for j5 from j4 to L[5] by L[4] do\n for j6 from j5 to L[6] by L[5] do\n for j7 from j6 to L[7] by L[6] do\n for j8 from j7 to L[8] by L[7] do\n angle := fund*(3*j8-2);\n \+ shift :=\n - width*evalf(sin(1/2*Pi-angle));\n t1 := f (centre-shift);\n t3 := f(centre+shift); \n shift := -width*evalf(sin(angle));\n \+ t2 := f(centre+shift);\n \+ t4 := f(centre-shift);\n t5 : = t1+t3;\n t6 := t2+t4;\n \+ csxfrm[j+1] := t5+t6;\n csx frm[j+2] := t1-t3;\n csxfrm[j+3] := t5-t6 ;\n csxfrm[j+4] := t2-t4;\n \+ j := j+4\n end do\n \+ end do\n end do\n \+ end do\n end do\n end do\n end do\n \+ end do;\n \n # do radix 3 passes of fast Fourier transform\n \+ \n n2 := 2*n;\n step := 4;\n while step < n do\n \+ j1 := used+step;\n j2 := used+2*step;\n radix3pass(n 2,step,used,j1,j2);\n step := 3*step\n end do;\n \n \+ # Combine results - first do j=0 and j=n\n\n t1 := csxfrm[1];\n \+ t2 := csxfrm[used+1];\n csxfrm[1] := t1+2.0*t2;\n csxfrm [used+1] := t1-t2;\n t1 := csxfrm[n+1];\n t2 := csxfrm[n2+2] ;\n csxfrm[n+1] := t1+t2;\n csxfrm[n2+2] := t1-2.0*t2;\n\n \+ # Now do remaining values of j\n \n n3 := 3*n;\n n_less_ 1 := n-1;\n for j from 1 to n_less_1 do\n j1 := n+j;\n \+ j2 := n3-j;\n angle := fund*j;\n C := evalf(cos( angle));\n S := evalf(sin(angle));\n t1 := C*csxfrm[j1 +2]-S*csxfrm[j2+2];\n t2 := (S*csxfrm[j1+2]+C*csxfrm[j2+2])*rt 3;\n csxfrm[j1+2] := csxfrm[j+1]-t1-t2;\n csxfrm[j2+2] := csxfrm[j+1]-t1+t2;\n csxfrm[j+1] := csxfrm[j+1]+2.0*t1\n \+ end do;\n\n # Now unscramble\n\n t1 := csxfrm[n2+1];\n \+ t2 := csxfrm[n2+2];\n for j from 1 to n_less_1 do\n j 1 := used+j;\n j2 := n2+j;\n csxfrm[j2] := csxfrm[j1]; \n csxfrm[j1] := csxfrm[j2+2]\n end do;\n csxfrm[n3] := t1;\n csxfrm[n3+1] := t2;\n n := n3;\n used := n+1; \n\n # INTEGRAL EVALUATION\n # Evaluate new estimate of inte gral\n\n n_less_3 := n-3;\n newint := 0.5*csxfrm[used]/(1-n^ 2);\n for j from 1 to n_less_3 by 2 do\n j_rev := n-j;\n \+ newint := newint+csxfrm[j_rev]/j_rev/(2-j_rev)\n end do; \n newint := newint+0.5*csxfrm[1];\n newint := 2*width*newin t/n;\n\n if prntflg>1 then\n print(`step `||iter||`: appr ox value of integral --> `,newint);\n end if;\n\n # TEST IF \+ DONE\n # Determine where the coefficients start to be negligible \n # in magnitude\n\n maxcoef := max(abs(csxfrm[1]),abs(csxf rm[2]),abs(csxfrm[3]),\n abs(csxfrm[4]),abs(csxfrm[5])) ;\n for k from used by -1 to 8\n while abs(csxfrm[k])=olderr*0.5 then\n diverge := diverge+1; \n if diverge>persist then\n error \"values do not \+ appear to be converging\"\n end if;\n end if;\n if a bs(newint)persist then\n return [0,used,iter];\n end if;\n \+ end if;\n\n oldint := newint;\n olderr := esterr;\n\n \+ # If estimated error is OK, return\n if esterr= 4.\n\nradix3pass := \+ proc(n2,m,shift0,shift1,shift2)\n local halfm,m3,k,k0,k1,j,j0,j1,haf rt3,rsum,rdiff,rsum2,isum,\n idiff,idiff2,fund,angle,C1,S1,C2, S2,r0,r1,r2,i0,i1,i2;\n\n hafrt3 := 1/2*evalf(sqrt(3));\n halfm := iquo(m-1,2);\n m3 := 3*m;\n fund := evalf(2*Pi/m3);\n \n # Do a ll transforms for c_hat = 0, i.e. twiddle factor 1\n\n for k from 1 \+ to n2 by m3 do\n rsum := csxfrm[shift1+k]+csxfrm[shift2+k];\n \+ rdiff := (csxfrm[shift1+k]-csxfrm[shift2+k])*hafrt3;\n csxfrm[s hift1+k] := csxfrm[shift0+k]-0.5*rsum;\n csxfrm[shift2+k] := rdif f;\n csxfrm[shift0+k] := csxfrm[shift0+k]+rsum\n end do;\n\n \+ # Do all transforms for c_hat = Cap_C/2, i.e. twiddle factor E(B/6)\n \n j := 1/2*m+1;\n for k from j to n2 by m3 do\n rsum := (csx frm[shift1+k]+csxfrm[shift2+k])*hafrt3;\n rdiff := csxfrm[shift1+ k]-csxfrm[shift2+k];\n csxfrm[shift1+k] := csxfrm[shift0+k]-rdiff ;\n csxfrm[shift2+k] := rsum;\n csxfrm[shift0+k] := csxfrm[s hift0+k]+0.5*rdiff\n end do;\n\n\n # Do all transforms for the rem aining values of C_hat.\n # Notice that C_hat and cap_c - c_hat must be paired.\n # Choose a frequency index.\n\n for j from 1 to half m do\n j0 := j+1;\n j1 := m-j+1;\n\n # Compute the twid dle factor\n\n angle := fund*j;\n C1 := evalf(cos(angle));\n S1 := evalf(sin(angle));\n C2 := C1^2-S1^2;\n S2 := 2. 0*S1*C1;\n\n # Choose the replication\n\n for k0 from j0 to \+ n2 by m3 do\n k1 := k0-j0+j1;\n \n # Obtain the twi ddled values\n\n r0 := csxfrm[shift0+k0];\n i0 := csxf rm[shift0+k1];\n r1 := C1*csxfrm[shift1+k0]-S1*csxfrm[shift1+k 1];\n i1 := S1*csxfrm[shift1+k0]+C1*csxfrm[shift1+k1];\n \+ r2 := C2*csxfrm[shift2+k0]-S2*csxfrm[shift2+k1];\n i2 := S2 *csxfrm[shift2+k0]+C2*csxfrm[shift2+k1];\n\n # Compute transfo rms, and return in place\n\n rsum := r1+r2;\n rdiff := (r1-r2)*hafrt3;\n rsum2 := r0-0.5*rsum;\n isum := i1+ i2;\n idiff := (i1-i2)*hafrt3;\n idiff2 := i0-0.5*isum ;\n csxfrm[shift0+k0] := r0+rsum;\n csxfrm[shift0+k1] \+ := rsum2+idiff;\n csxfrm[shift1+k0] := rsum2-idiff;\n \+ csxfrm[shift1+k1] := rdiff+idiff2;\n csxfrm[shift2+k0] := rdif f-idiff2;\n csxfrm[shift2+k1] := i0+isum\n end do;\n en d do;\nend proc: # of r3pass\n\n# standard Clenshaw Curtis quadrature \+ (FFT not used)\nccquad2 := proc(f,a,b,eps)\nlocal pie,m,mid,csns,vals, persist,zero,L,d,oldint,newint,\n cs,yi,xi,esterr,olderr,n,k,sum, delta,diverge,x0,x1,\n y0,y1,j,n2,c,log2eps,singwarn,maxcoef,half n;\n \n pie := evalf(Pi);\n \n persist := max(2,round(maxit*0.2) );\n diverge := 0;\n zero := 0;\n log2eps := evalf(ln(eps)/ln(2) );\n singwarn := false;\n olderr := Float(1,2*Digits);\n csns := [1,-1];\n x0 := evalf(a);\n x1 := evalf(b);\n iter := 1;\n y0 := f(x0);\n y1 := f(x1);\n\n vals :=[y1,y0];\n L := x1 - x0;\n \+ d := L/2;\n mid := evalf((x0+x1)/2);\n n := 2;\n for iter from 1 to maxit do \n # Set up cosines and function values\n \+ delta := pie/n;\n for k from 1 to n by 2 do\n cs := cos (k*delta);\n csns := [op(1..k,csns),cs,op(k+1..nops(csns),csns )];\n xi := mid+d*cs;\n yi := f(xi);\n vals := [op(1..k,vals),yi,op(k+1..nops(vals),vals)];\n end do;\n \n # Compute Chebyshev coefficients (times 2/n)\n sum := (y0+y 1)/2;\n for k from 2 to n do\n sum := sum + vals[k];\n \+ end do;\n c := [sum];\n\n n2 := n+n;\n halfn := n/2; \n for j from 2 to n by 2 do\n sum := y1*0.5;\n f or k from 1 to n-1 do\n m := irem(j*k,n2);\n if \+ m > n then m := n2-m end if;\n sum := sum + csns[m+1]*vals[ k+1];\n end do;\n sum := sum + y0*0.5;\n c := \+ [op(c),sum];\n end do;\n\n # Compute integral estimate using Clenshaw sum\n newint := c[1]/2;\n for j from 1 to halfn do \n newint := newint - c[j+1]/((2*j+1)*(2*j-1));\n end do; \n newint := newint*L/halfn;\n\n if prntflg>1 then\n \+ print(`step `||iter||`: approx value of integral --> `,newint);\n \+ end if;\n \n if halfn>=8 then # TEST IF DONE\n ma xcoef :=\n max(abs(c[1]),abs(c[2]),abs(c[3]),abs(c[4]),abs(c [5]));\n\n # Determine where the coefficients start to be\n \+ # negligible in magnitude\n for k from halfn+1 by -1 to \+ 8 while abs(c[k])= olderr*0.5 then\n diverge := diverge+ 1;\n if diverge >= persist then\n error \"val ues do not appear to be converging\"\n end if;\n en d if;\n if abs(newint)= persist then\n return [0,2^it er+1,iter];\n end if;\n end if;\n olderr := esterr;\n end if;\n oldint := newint;\n n := n2;\n e nd do;\n WARNING(\"reached maximum number of iterations\");\n [new int,2^iter+1,iter-1];\nend proc: #of ccquad2\n\n eps := 0.5*10^(-Dig its);\n\n # Increase precision for the computation\n saveDigits := Digits;\n Digits := Digits+length(Digits)+1;\n\n x0 := evalf(op(1 ,rs));\n x1 := evalf(op(2,rs));\n if x0=x1 then return 0 end if;\n \n # f evaluates the given algebraic expression\n f := proc(xx)\n \+ local y;\n y := traperror(evalf(eval(subs(x=xx,alg_expr)))); \n if y=lasterror or not type(y,numeric) then\n if xx=x0 \+ then\n y := traperror(evalf(limit(alg_expr,x=xx,right)));\n if y=lasterror or not type(y,numeric) then\n \+ error \"no real value or right limit at %1\", evalf(xx,saveDigits);\n end if;\n elif xx=x1 then\n y := traper ror(evalf(limit(alg_expr,x=xx,left)));\n if y=lasterror or \+ not type(y,numeric) then\n error \"no real value or left limit at %1\", evalf(xx,saveDigits);\n end if;\n e lse\n error \"evaluation failed at %1\",evalf(xx,saveDigits );\n end if;\n end if;\n if prntflg>2 and iter<=mxgr ph then\n graph[iter] := [op(graph[iter]),[xx,y]];\n end \+ if;\n y;\n end proc:\n\n for i from 1 to mxgrph do graph[i] : = [] end do;\n\n # This is where the main calculation occurs.\n if prntflg>0 then\n print(`iterative Clenshaw-Curtis quadrature`)\n end if;\n if md='FFT' then\n if prntflg>0 then\n pri nt(`inserting 2 new evaluation points between each previous pair at ea ch iteration`);\n print(`and calculating the Chebyshev coeffic ients using a fast cosine transform`);\n end if;\n csxfrm := array(1..7);\n result := traperror(ccquad3(f,x0,x1,eps));\n el se\n if prntflg>0 then\n print(`inserting 1 new evaluatio n point between each previous pair at each iteration`);\n end if; \n result := traperror(ccquad2(f,x0,x1,eps));\n end if;\n if \+ result=lasterror then error \"result\" end if;\n r := result[1];\n \+ nofun := result[2];\n numiter := result[3];\n\n if prntflg>2 then # Draw the picture\n mxgrph := min(numiter,mxgrph);\n for i from 1 to mxgrph do\n graph[i] :=\n sort(graph[i],( u,v)->evalb(op(1,u)evalb(op(1,u)0 then\n print(`number of function evaluations --> `,no fun);\n end if;\n\n Digits := saveDigits;\n evalf(r)\nend proc: " }}}{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 0 5 "CC int" }{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 2 " " }{XPPEDIT 18 0 "Int(sin(x^2),x = 0 .. Pi/2);" " 6#-%$IntG6$-%$sinG6#*$%\"xG\"\"#/F*;\"\"!*&%#PiG\"\"\"F+!\"\"" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "CCint(sin(x^2),x=0..Pi/2,mode=FFT,info=true);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clenshaw-Curtis~quadrature G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%ioinserting~2~new~evaluation~poi nts~between~each~previous~pair~at~each~iterationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%coand~calculating~the~Chebyshev~coefficients~using~a~f ast~cosine~transformG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~1:~app rox~value~of~integral~-->~G$\".`n!R=\"G)!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~2:~approx~value~of~integral~-->~G$\".K%)Gj6G)!#8 " }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6)-%'CURVESG6% 757$$\"\"!F)F(7$$\"3)****4#)G'>$>\"!#>$\"30+!)QxtrB9!#@7$$\"3x***4u[Il t%F-$\"35+]&QAqMC#!#?7$$\"3-+]4=SB_5!#=$\"3.+IS2Q<26F-7$$\"30+5\"pk#[P =F:$\"3u**zrE5qvLF-7$$\"3:+!\\HbRb!GF:$\"3u**fw%QFH'yF-7$$\"3#***p)p\" 3*p#RF:$\"3-+5s.1-O:F:7$$\"3;+]%)4Yp5vF:7$$\"3)****4e:?S0\"!#<$\"3!)**z#GxW7'*)F:7 $$\"35+g4Xs4y6F]o$\"3&)***ftCMK$)*F:7$$\"3)*****\\rBC!H\"F]o$\"37+?+\" 4>f&**F:7$$\"3++S5i![qQ\"F]o$\"3;+gqG9.$Q*F:7$$\"37+g)\\#Hdl9F]o$\"3K+ +KT@W!Q)F:7$$\"36+5#>-JM_\"F]o$\"3x**pP>od;tF:7$$\"3)***H\"ROk)e:F]o$ \"3\"***Hrhu'*HlF:7$$\"3/+]zEjzq:F]o$\"3R+?RE&fEC'F:-%'COLOURG6&%$RGBG $\")=THv!\")FgqFgq-%&STYLEG6#%%LINEG-F$6%7)F'F7FGFVF`oF_pF^q-Fdq6&FfqF (F($\"*++++\"Fiq-F[r6#%&POINTG-F$6%7.F*F1F=FBFLFQFenFjnFeoFjoFdpFip-%& COLORG6&Ffq$\"\"&!\"\"F)F)Fer-%+AXESLABELSG6$Q!6\"Fds-%&TITLEG6#%2eval uation~pointsG-%'SYMBOLG6#%'CIRCLEG-%%VIEWG6$%(DEFAULTGFat" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "C urve 3" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Dnumber~of~function~evalua tions~-->~G\"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+)Gj6G)!#5" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "CCint(sin(x^2),x=0..Pi/2,mod e=STD,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clens haw-Curtis~quadratureG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%hoinserting ~1~new~evaluation~point~between~each~previous~pair~at~each~iterationG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~1:~approx~value~of~integral ~-->~G$\".?o'4I*Q)!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~2:~app rox~value~of~integral~-->~G$\".SJ=8.I)!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~integral~-->~G$\".Q5Se6G)!#8 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~4:~approx~value~of~integral ~-->~G$\".K%)Gj6G)!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~5:~app rox~value~of~integral~-->~G$\".>%)Gj6G)!#8" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6,-%'CURVESG6%7C7$$\"\"!F)F(7$$\"35 ++!z#o!>y$!#?$\"3****HWD>GI9!#A7$$\"3'****R\"[074:!#>$\"35++84[WxA!#@7 $$\"3+++CB\")*=Q$F4$\"34+gCUKsV6F-7$$\"3o***Hi`([yfF4$\"3!****z=rBUd$F -7$$\"3A++p6A)QF*F4$\"3>++g+JQ+')F-7$$\"38+5upXjB8!#=$\"3!***4xW)=>v\" F47$$\"3%***RRI Tp#*G&F47$$\"3I+]VJ%o9(GFJ$\"3)****oYT\"*fB)F47$$\"3)***fXFKa!\\$FJ$\" 3&***RJ(*pP:7FJ7$$\"35++j?.k^TFJ$\"3;+I\\>,4:564ubFJ$\"33++jn()HdIFJ7$$\"35+!))y#eu@jFJ $\"3=+qUw1\"4*QFJ7$$\"3a+!4S\"o:%3(FJ$\"3'***f_,o]5[FJ7$$\"3%)**R(Rj\" )R&yFJ$\"3o**\\a$*yo%y&FJ7$$\"3X***RRX1Qi)FJ$\"31+qI9!f,x'FJ7$$\"3i**H 0Su@'Q*FJ$\"3X+qIO]#Qr(FJ7$$\"3****fx:sQ85!#<$\"3s**f)y%pEd&)FJ7$$\"3' ****R$Gq&f3\"Ffq$\"3')**REj:SV#*FJ7$$\"3#***>t%HKc:\"Ffq$\"3q***[BP?Ws *FJ7$$\"3\"****[S+UDR \"Ffq$\"3L+]5y'f$H$*FJ7$$\"30+5#)pGVQ9Ffq$\"3]**4!og(*Ry)FJ7$$\"3-+!yY ]d!y9Ffq$\"3U+]Rk*>V<)FJ7$$\"36+?V^9,6:Ffq$\"3q***fs3>#ovFJ7$$\"3.+IcX t(p`\"Ffq$\"3X**R;f$ox-(FJ7$$\"3')**RJ@^qb:Ffq$\"3\\+?OB?W,n:Ffq$\"3;+]w%\\B\\L'FJ7$$\"3/+]zEjzq:Ffq$\"3R+?RE&fEC'FJ-%'CO LOURG6&%$RGBG$\")=THv!\")F^vF^v-%&STYLEG6#%%LINEG-F$6%7%F'FdpFeu-F[v6& F]vF(F($\"*++++\"F`v-Fbv6#%&POINTG-F$6%7$FRF]s-%&COLORG6&F]v$\"\"&!\" \"F)F)F\\w-F$6%7&F=F`oFiqFat-Fcw6&F]vF)$\"\"(FgwF)F\\w-F$6%7*F1FGFfnFj oF^qFcrFgsF[u-F[v6&F]vF(FjvFjvF\\w-F$6%72F*F8FBFMFWF[oFeoF_pFipFcqF^rF hrFbsF\\tFftF`u-F[v6&F]vFjvF(FjvF\\w-%+AXESLABELSG6$Q!6\"F\\y-%&TITLEG 6#%2evaluation~pointsG-%'SYMBOLG6#%'CIRCLEG-%%VIEWG6$%(DEFAULTGFiy" 1 2 4 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$%Dnumber~of~function~evaluations~-->~G\"#L" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+)Gj6G)!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 5 "CCint" } {TEXT -1 88 " is faster with the option \"mode=FFT\" because a fast Fo urier (cosine) transform is used." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 141 "st := time():\nevalf(CCint( sin(x^2),x=0..Pi/2,mode=FFT),30);\ntime()-st;\nst := time():\nevalf(CC int(sin(x^2),x=0..Pi/2,mode=STD),30);\ntime()-st;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?K];B8u9b*G%)Gj6G)!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"$g#!\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"?K];B8u9b*G%)Gj 6G)!#I" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"%-=!\"$" }}}{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 118 "The Clenshaw-Curtis meth od is a good method to use for high precision results with reasonably \+ well-behaved integrands." }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "Int(ln(ln(x)+1),x=1..2)" "6#-%$IntG6$-%#lnG6#,&-F'6#%\" xG\"\"\"F-F-/F,;F-\"\"#" }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 471 "f := x -> ln(ln(x)+1 ): # function\na := 1: # lower limit of integral\nb := 2: # upper limi t of integral\narc := op(1,op(1,plot(f(x),x=a..b))):\nregion := [[(a+b )/2,0],[a,0],[a,f(a)],op(arc),[b,f(b)],[b,0]]:\np1 := plots[polygonplo t](region,color=grey,style=PATCHNOGRID):\np2 := plot([[[a,0],[a,f(a)]] ,[[b,0],[b,f(b)]]],color=black):\np3 := plot(f(x),x=0.6..2.5,thickness =2): # adjust plot range\nplots[display]([p1,p2,p3],tickmarks=[3,3],la bels=[\"x\",\"y\"],\ntitle=\"y=ln(ln(x)+1)\");" }}{PARA 13 "" 1 "" {GLPLOT2D 400 300 300 {PLOTDATA 2 "6*-%)POLYGONSG6%7X7$$\"+++++:!\"*$ \"\"!F,7$$\"\"\"F,F+F-F-7$$\"+arz@5F*$\"+L+QL@!#67$$\"+TFwS5F*$\"+yOj< RF57$$\"+G:4i5F*$\"+H&R&\\eF57$$\"+&phN3\"F*$\"+W=d>xF57$$\"+>)H\\5\"F *$\"+J:=6&*F57$$\"+03uC6F*$\"+x7T66!#57$$\"+LRDX6F*$\"+DQ%=F\"FO7$$\"+ S'ok;\"F*$\"+7kY2a\"F*$\"+9Re#f$FO7$ $\"+eWZh:F*$\"+keX&o$FO7$$\"+&y))Ge\"F*$\"+&[O#zPFO7$$\"+E&QQg\"F*$\"+ /h$*oQFO7$$\"+y%3Ti\"F*$\"+p=(Q&RFO7$$\"+/[hY;F*$\"+BW7YSFO7$$\"+Qx$om \"F*$\"+Z?CFTFO7$$\"+P+V)o\"F*$\"+5k17UFO7$$\"+qe*zq\"F*$\"+&p#R(G%FO7 $$\"+#\\'QHF*$\"+wMt7]FO7$$\"+x(Gp$>F*$\"+\"4A[2&FO 7$$\"+oK0e>F*$\"+!e5*R^FO7$$\"+-@Fy>F*$\"+9g;,_FO7$$\"\"#F,$\"+T.*eE&F O7$Fhz$\"+W.*eE&FO7$FhzF+-%'COLOURG6&%$RGBG$\")=THv!\")Fd[lFd[l-%&STYL EG6#%,PATCHNOGRIDG-%'CURVESG6$7$F-F--Fa[l6&Fc[lF,F,F,-F\\\\l6$7$F_[l7$ Fhz$\"3W+++W.*eE&!#=F_\\l-F\\\\l6%7S7$$\"3w**************fFg\\l$!3'pAv Xbi.:(Fg\\l7$$\"3$pmm\"Hf99kFg\\l$!3qiSZM^HreFg\\l7$$\"3cK$3x3#\\unFg \\l$!3Al$eZ'4ZL\\Fg\\l7$$\"3SmmTI!R(zrFg\\l$!3N#G/'et_CSFg\\l7$$\"3Emm \"H@swe(Fg\\l$!3QV\"oR%4ZIKFg\\l7$$\"3KK$3-cmO*zFg\\l$!3[k4l9q>NDFg\\l 7$$\"3[m;/\"Hv+P)Fg\\l$!3mNhWsD?f>Fg\\l7$$\"3y**\\PHZ#)f()Fg\\l$!3$y\" G&z*4N?9Fg\\l7$$\"3'omTg:/H;*Fg\\l$!3!QeDDni\"[\"*!#>7$$\"3E**\\(=!4pk &*Fg\\l$!3U&yTp%Qw_XFh_l7$$\"3eKL$e&z(z(**Fg\\l$!3Z=YS:m12A!#?7$$\"3km ;zT,?M5!#<$\"3@T`n>^_2LFh_l7$$\"3))***\\8S/\"Fg\\l7$$\"3%****\\#QO)f:\"Fg`l$ \"3'*e%GozBON\"Fg\\l7$$\"3cmTg?O*>>\"Fg`l$\"3:GO&p1=!=;Fg\\l7$$\"3BLLe sH\"[B\"Fg`l$\"3'e%e+W+!Q\">Fg\\l7$$\"3KLLL!e'3r7Fg`l$\"3C!)z\"*pB3]@F g\\l7$$\"3$)*\\P%49G88Fg`l$\"3F(H>tyh+T#Fg\\l7$$\"3;LL$G)4j]8Fg`l$\"3E J5]Q2/GEFg\\l7$$\"3#**\\PWQ4;R\"Fg`l$\"3#*f^'\\Ha_&GFg\\l7$$\"3\"**\\7 L^I1V\"Fg`l$\"3[no(R/z41$Fg\\l7$$\"3CL$3x'\\Mr9Fg`l$\"3+c$4AX&\\lKFg\\ l7$$\"3OL3_YNt3:Fg`l$\"3%4&yf[U!\\W$Fg\\l7$$\"3gm;zz@1\\:Fg`l$\"3\"=M< :H'4IOFg\\l7$$\"3imTg&H_4f\"Fg`l$\"34n[2#)o*R\"QFg\\l7$$\"3()*\\iXw$HZFg`l$\"3Gg;`'*H(Q)\\Fg\\l7$$\"3mmTg_@>X>Fg`l$\"3[dY>exT+^Fg \\l7$$\"3!****\\dLMe)>Fg`l$\"3:dKTw2#QA&Fg\\l7$$\"31L3xia2C?Fg`l$\"3CV MaXSJO`Fg\\l7$$\"37+v=f%[S1#Fg`l$\"3Ebw@oLN]aFg\\l7$$\"3ILLep$HJ5#Fg`l $\"3UCd2*yB&ebFg\\l7$$\"3l*\\P4YVS9#Fg`l$\"3cQTL[/VocFg\\l7$$\"3wmmm$f [M=#Fg`l$\"3qEN@7(>7x&Fg\\l7$$\"3am;HLguBAFg`l$\"3M'>B(*G$QteFg\\l7$$ \"3;L3x*y4PE#Fg`l$\"39F*[ehFg\\l7$$\"3MmmmvY;!Q#Fg`l$\"3/D 5eCuBWiFg\\l7$$\"3/+vV47I?CFg`l$\"3G3/5#\\)RLjFg\\l7$$\"3u*\\iN*preCFg `l$\"3Mb:2!>UmT'Fg\\l7$$\"3++++++++DFg`l$\"3K+Y6qS\"R]'Fg\\l-Fa[l6&Fc[ l$\"#5!\"\"F+F+-%*THICKNESSG6#Fiz-%+AXESLABELSG6%Q\"x6\"Q\"yF_]m-%%FON TG6#%(DEFAULTG-%&TITLEG6#Q.y=ln(ln(x)+1)F_]m-%*AXESTICKSG6$\"\"$F\\^m- %%VIEWG6$;$\"\"'Fg\\m$\"#DFg\\mFd]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" }}}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "evalf(CCint(ln(ln(x)+1),x=1..2,mode=FFT),50);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"SK3aGK$H/A>iK5.H];$*3Wlet,;$!#]" }}}{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 "" {XPPEDIT 18 0 "Int(1+sin(x^2)*exp(-x/5),x = 0 .. 10);" "6#-%$IntG6$,&\"\"\"F'*& -%$sinG6#*$%\"xG\"\"#F'-%$expG6#,$*&F-F'\"\"&!\"\"F5F'F'/F-;\"\"!\"#5 " }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 65 "evalf(CCint(1+sin(x^2)*exp(-x/5),x=0..10,mode= STD,info=true),20);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Cle nshaw-Curtis~quadratureG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%hoinserti ng~1~new~evaluation~point~between~each~previous~pair~at~each~iteration G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~1:~approx~value~of~integra l~-->~G$\"8H!3y3!\\KlYr`*!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep ~2:~approx~value~of~integral~-->~G$\"8*\\PAJIyz+>G6!#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~integral~-->~G$\"8%Q3'=z (f&>HG-\"!#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~4:~approx~value ~of~integral~-->~G$\"8'4!*fX41\"zUAP*!#A" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~5:~approx~value~of~integral~-->~G$\"8p%QwtTWx7C%)**!#A" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~6:~approx~value~of~integral~-- >~G$\"8]f\"3rr\"4-?F0\"!#@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~7 :~approx~value~of~integral~-->~G$\"8A<,\\Dr=I6F0\"!#@" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6.-%'CURVESG6%7]s7$$\"\"!F)$\" \"\"F)7$$\"57U**)y*=l!f]\"!#A$\"8!z\\]T:2nA++5F/7$$\"5iUO!QT(*=F-'F/$ \"8^8@uax%Hi.+5F/7$$\"6?K>*[lg;xa8F/$\"8oJRM3')R/$=+5F/7$$\"6exob,RmOw S#F/$\"8:uifXJo)od+5F/7$$\"6i@4+X1qK-w$F/$\"8QIcFoj4M.9+\"F/7$$\"6;uK^ 4w,X6=F/$\"8BOI(Ge7C;jJ5F/7$$\"76Kvc&*Q8K)H:#F/$\"8lu=.(p6rQQW5F/7$$\"7/ -km\"[.(4fBDF/$\"8;.I=!Rrc'401\"F/7$$\"7w$z5'*[3u'zAHF/$\"87()Q\"z\\S_ )y/3\"F/7$$\"7D?G;)*Gy`Z5\"F/7$$\"7$f$>icVuL-1QF/$\" 8&\\k&GWY!4lU)F/$\"8#*pZ**G+j!zx]:F/7$$\" 7aZ<:3UU$f27*F/$\"8,RAI'=UiF%fh\"F/7$$\"7m'4XvnfUB'R)*F/$\"8G5il#o*4s$ ow;F/7$$\"8U&**oop'='yEe5F/$\"80KbQj92Sx$G:j=Lx%\\8\"F/$ \"8oDu??w(fyHlF/$\"8i&\\j(eo#p2:(Q'F[w7$$\"8]m#GLy`xM]@?F/$\"8wH? Am\"HTm%3f%F[w7$$\"8/F'\\t2\"H/f47#F/$\"8tXH2dV;*y:1OF[w7$$\"8iGw)))>! \\$)[@A#F/$\"8l_'Q+#Q%Hm^]PF[w7$$\"8]oYR^k0!>,DBF/$\"8K@>d?5kiI(o^F[w7 $$\"8:.n8*Q.zi[HCF/$\"8Hf8&)\\>,BOQr(F[w7$$\"8[j:)z5&)Q!4b`#F/$\"8&eA( *zYX9))Q(3\"F/7$$\"8\"=sv6+(eJ;Ik#F/$\"8OAcf'3by!y2Q\"F/7$$\"8'o(**p'p s^L%>v#F/$\"8E(4Y)y]DHRTb\"F/7$$\"8`RG&*e[G`CA'GF/$\"8p5M**G1<(*f@`\"F /7$$\"8yXX10v*HMztHF/$\"8))=Mur_d?cHI\"F/7$$\"8!e89^XU'F[w7$$ \"8!>=;)oFPhw&[NF/$\"8e85ckx*>uz75F/7$$\"8OPo!3bi7iVmOF/$\"82;Xh0wW$z4 p8F/7$$\"8(e-b!o$[+\"*4&y$F/$\"8$4e#*HOTz!Q1Y\"F/7$$\"89'Q,^c@*z$\\/RF /$\"8:Ui6hP^T6X?\"F/7$$\"8)e2me$>**Q[X-%F/$\"8ps&*Ht%eF,a**yF[w7$$\"8? =oQ\\)>c0>XTF/$\"8Sfbb8W6psal&F[w7$$\"8gqT7>BxiZjE%F/$\"8#4!*)GsgEyQ\" HuF[w7$$\"8o]2!>R+Cm%zQ%F/$\"8QE=EZ\\O7VO;\"F/7$$\"8*G+*p>_$)H9*4XF/$ \"8WxQ()=3g2LWS\"F/7$$\"8EN#)Gm,?=x@j%F/$\"8Ib61\\Evfl:?\"F/7$$\"8_sG* 4HOG;maZF/$\"87#H*R+0l-m'oxF[w7$$\"89%)f&QaQdQHx[F/$\"8K%G9qx*eCBdK'F[ w7$$\"8,++++++++++&F/$\"8.z9()of870J^*F[w7$$\"8)e,WhXhUhqA^F/$\"8y<%oM SA*[@9K\"F/7$$\"8]Fr+4P;PQ`C&F/$\"8EXkp!34\"=(\\T7F/7$$\"8wkj^**3!\\@'F/$\"8F-J;[\\utyjNL'F/$\"8@!>. /\\&yT&>(=\"F/7$$\"87=Q=JsiQB9X'F/$\"8Rr%y@5)\\\"oJk!)F[w7$$\"8FG$QdW* >q3%olF/$\"8!*Qv@`#3AGB,!)F[w7$$\"8mW`-5hpE\\Wo'F/$\"8=ilf\"*G*HO7p6F/ 7$$\"8a(QuS\\n#=v%*z'F/$\"8'\\#>rc*G+1j*>\"F/7$$\"8Ake)[a#=;hOQ;3)F[w7$$\"8\\gr/ T^rYvx8(F/$\"8Gup1$o>>KG^6F/7$$\"8;B+I.t#[m0[sF/$\"8:[%Q0Y,()Rxz6F/7$$ \"8@yU#))*HTo$)pN(F/$\"8i#[%zo^3qY#*[)F[w7$$\"8aO%=?*[6'4\\kuF/$\"8N+] _Ke'zIlT$)F[w7$$\"8(oHj3h'4s80d(F/$\"8swQCjn&)y/A:\"F/7$$\"8cJ`g[N%*4) )\\n(F/$\"8-dyi>AI9iA:\"F/7$$\"8UrB6,)4l6&yx(F/$\"8udz2\"RX2o(*y%)F[w7 $$\"8+t.lA*3d4/zyF/$\"8-'42W%z\"*R;ie)F[w7$$\"8_L 6oO/&R!))[6F/7$$\"8YUFU8.H&z:w!)F/$\"8A\"y#=qPV)=TN6F/7$$\"8g2\"\\F#=3 Um><)F/$\"8`([y5Q`IVP!f)F[w7$$\"85U?Q))oZ@keE)F/$\"80Jb5DP(*oy$R')F[w7 $$\"8p7.?4NUx%zd$)F/$\"8F*)HMJ#)>u9k7\"F/7$$\"8P3BYL&oBFqZ%)F/$\"8n([P *zNM\"HzV6F/7$$\"8U+AwtKf!R`N&)F/$\"8bSmYFAh)4tx*)F[w7$$\"8aq/YLdZTN7i )F/$\"8\\b(et,-=CtL%)F[w7$$\"8\"yeX&zunibZq)F/$\"8DpkP\"HYNK:k5F/7$$\" 8u(ytAC`KU/'y)F/$\"89:1\"pK+_d:o6F/7$$\"8Y0/[o8oE_]'))F/$\"8:is*3G(=?_ i\"**F[w7$$\"8e/58.L\"Q@tT*)F/$\"8q5X-8`hX`zM)F[w7$$\"8M.\\XA.ulPg,*F/ $\"8?hXz>d`+(zp$*F[w7$$\"8Y_#[=zvlS#z3*F/$\"8!=\\G2eg/]7G6F/7$$\"8SR&= EF^h![t:*F/$\"8?w(>ImV(Hj<8\"F/7$$\"8yHm``[i#yEC#*F/$\"8(=GF\"HU&fgS(e *F[w7$$\"89^\\.O,+0V')G*F/$\"8uj:S/TDAB+X)F[w7$$\"8:E$4dNab\\V]$*F/$\" 8Y\"eWfc4/8m:#*F[w7$$\"8Qc[^xT]6F/7$$\"85$zl;shlk%*>&*F/$\"8tAks;-OKq$o5F/7$ $\"8^PYiFT;YH*F[w7$$\"85k!yLkbiwR>'*F/$\"8/u*oU

x*G.))=)*F/$\"88d L-bDvRgk6\"F/7$$\"8+-j*>F(fEc,&)*F/$\"8C)*))>P]uI?'\\5F/7$$\"8?IAFk#>] 1^y)*F/$\"8lOmz,@)QE**F/$\"8\"e+gD%4_w$))\\()F[w7$$\"8%es'[!R#)\\D)e%**F /$\"8Rqr(*=T:b\"*Hj)F[w7$$\"8Qy!**\\N*Hn(Ri**F/$\"8(y60`(owLcIp)F[w7$$ \"8UAJW)4OLO#f(**F/$\"8*RNtL'p@hCq%))F[w7$$\"8!y13^MR$G_k)**F/$\"8Z1,X P#Gg/*[-*F[w7$$\"8Qdj>'e-\"GxR***F/$\"8Wf<9Qtr0\"\\y\"*F[w7$$\"8)y05@5 [$4%\\)***F/$\"8oxn!>k](*=mz#*F[w7$$\"#5F)$\"89t@#=7RD'3ZJ*F[w-%'COLOU RG6&%$RGBG$\")=THv!\")F\\dmF\\dm-%&STYLEG6#%%LINEG-F$6%7%F'Fc_lFccm-Fi cm6&F[dmF(F($\"*++++\"F^dm-F`dm6#%&POINTG-F$6%7$FbuFcil-%&COLORG6&F[dm $\"\"&!\"\"F)F)Fjdm-F$6%7&FbpFczFcdlFc^m-Faem6&F[dmF)$\"\"(FeemF)Fjdm- F$6%7*FPFjrF[xF[]lF[blF[glF[\\mF[am-Ficm6&F[dmF(FhdmFhdmFjdm-F$6%72F~G\"$H\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"57!\\Dr=I6F0\"!#=" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "evalf(Int(1+ sin(x^2)*exp(-x/5),x=0..10),20);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$ \"57!\\Dr=I6F0\"!#=" }}}{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 "" {XPPEDIT 18 0 "Int(-x*ln(x),x = 0 .. 1); " "6#-%$IntG6$,$*&%\"xG\"\"\"-%#lnG6#F(F)!\"\"/F(;\"\"!F)" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 18 "The derivative of " }{XPPEDIT 18 0 "f(x)=-x*ln(x)" "6#/-%\"fG6#%\"xG,$*&F'\"\"\"-%#lnG6#F'F*!\"\"" } {TEXT -1 13 " is f '(x) = " }{XPPEDIT 18 0 "-(ln(x)+1)" "6#,$,&-%#lnG6 #%\"xG\"\"\"F)F)!\"\"" }{TEXT -1 59 ", which tends to infinity as x te nds to 0 (from the right)." }}{PARA 0 "" 0 "" {TEXT -1 41 "This means \+ that the integral above is an " }{TEXT 264 17 "improper integral" } {TEXT -1 71 ", which is difficult to evaluate efficiently by numerical integration. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "f := x -> -x*ln(x);\nDiff(f(x),x)=diff(f(x),x); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&a rrowGF(,$*&9$\"\"\"-%#lnG6#F.F/!\"\"F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/-%%DiffG6$,$*&%\"xG\"\"\"-%#lnG6#F)F*!\"\"F),&F+F.F*F. " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "CCint(-x*ln(x),x=0..1,info=3 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clenshaw-Curtis~quad ratureG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%ioinserting~2~new~evaluati on~points~between~each~previous~pair~at~each~iterationG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%coand~calculating~the~Chebyshev~coefficients~us ing~a~fast~cosine~transformG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep ~1:~approx~value~of~integral~-->~G$\".qauC'*\\#!#8" }}{PARA 11 "" 1 " " {XPPMATH 20 "6$%Fstep~2:~approx~value~of~integral~-->~G$\".#Gxs***\\ #!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~inte gral~-->~G$\".#)*o*****\\#!#8" }}{PARA 7 "" 1 "" {TEXT -1 105 "Warning , integrand may have a singularity near the interval of integration - \+ using simple error estimate\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fste p~4:~approx~value~of~integral~-->~G$\".?'*******\\#!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~5:~approx~value~of~integral~-->~G$\".'***** ****\\#!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~6:~approx~value~o f~integral~-->~G$\".+++++]#!#8" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6+-%'CURVESG6%7_u7$$\"\"!F)F(7$$\"3W+++!ex9S*!#A$\"3* ****)f.^5<()!#@7$$\"3w******yuBgPF0$\"3A+IIx*p_'H!#?7$$\"3W+++W'3#f%)F 0$\"3e+g.-='\\)fF67$$\"3#*****4;%HN]\"F6$\"3a**4#)y4&Gx*F67$$\"3#***** R.@g[BF6$\"31+]=U%G=U\"!#>7$$\"3%*******G6#3Q$F6$\"3/+]7%QkN#>FF7$$\"3 o****f<$)z*f%F6$\"3'***\\7dJ\\vCFF7$$\"3#)****fh_20gF6$\"3%***z!oC'orI FF7$$\"3m*****Q\\Bhf(F6$\"3i**4<8t*pq$FF7$$\"3o++I'oWBP*F6$\"3E+?a_u(o P%FF7$$\"32++Y(32L8\"FF$\"3-+5Jz*\\s2&FF7$$\"31++,rkvZ8FF$\"3j***Qbn@W !eFF7$$\"3/++ht>]!e\"FF$\"3k***)*3k<]b'FF7$$\"3$****>#pgXJ=FF$\"3d++O$ 4KfK(FF7$$\"3/++B%QC05#FF$\"3I**fKN.H9\")FF7$$\"37++3Ldg(Q#FF$\"3U+5Sp (=u\"*)FF7$$\"3/++Ac@f#p#FF$\"34+S\"*f3#Gt*FF7$$\"3)*****pg*o`,$FF$\"3 '***R8ed\"e0\"!#=7$$\"3=++SjZ\"eN$FF$\"3++5UJJ7R6Fbq7$$\"3\")***fl`,Qr $FF$\"3&***49Vs*HA\"Fbq7$$\"3O++)fl%>*3%FF$\"3-+!*[,GC28Fbq7$$\"37++q^ H&=[%FF$\"3%***R#zAv;R\"Fbq7$$\"3=++&4wG;*[FF$\"3#***zxP)>hZ\"Fbq7$$\" 3,++#Q)zO=`FF$\"3))**p1M6Tg:Fbq7$$\"3K++;T,\">w&FF$\"37+5l%>#RW;Fbq7$$ \"3(******[V)3AiFF$\"3++g5PT\"zs\"Fbq7$$\"3c++y5)H()p'FF$\"3)***>q[c$3 \"=Fbq7$$\"3[***zM-b;>(FF$\"3++IJrD-$*=Fbq7$$\"3l*****Rqy1q(FF$\"3))** ***G`ZV(>Fbq7$$\"3M***f$H%4cA)FF$\"35+gu='*oa?Fbq7$$\"3/++a%z\\iw)FF$ \"34+?uwS$R8#Fbq7$$\"3R++'o['RA$*FF$\"30+S/_?(>@#Fbq7$$\"33++Ci.%Q*)*F F$\"3%***>-Z.q)G#Fbq7$$\"3-+gS_m.[5Fbq$\"3'***fF.7-kBFbq7$$\"3'****z.W v\"36Fbq$\"3%***4u-@%yV#Fbq7$$\"31+gS%yx(p6Fbq$\"3#***Hb&ev+^#Fbq7$$\" 3-+?O=0#GB\"Fbq$\"3')**\\a#3R1e#Fbq7$$\"3')**fXM*zsH\"Fbq$\"35+!*egZX \\EFbq7$$\"3-+]8#zJJO\"Fbq$\"3\")**pBz$\\kr#Fbq7$$\"3\"****4sK^.V\"Fbq $\"3k**4MdTb\"y#Fbq7$$\"3#***R;hK\"*)\\\"Fbq$\"3%)***Q%[YqWGFbq7$$\"3/ +gl5=zo:Fbq$\"36+S$RiSe!HFbq7$$\"3*)**>A(pg*R;Fbq$\"3G+?:jf!\\'HFbq7$$ \"3?+S:dJR71'y\"Fbq$\"3/++'>Fbq$\"3/+5%>lw%zJF bq7$$\"3****f[Tq?9?Fbq$\"3t**Ri$z$[FKFbq7$$\"3#****fNkRD4#Fbq$\"3w*** \\>PkJF$Fbq7$$\"33+!oDil><#Fbq$\"3y**>ox$)[;LFbq7$$\"3#***fk4^X_AFbq$ \"3u**zS+#HuN$Fbq7$$\"3$***>*f$y(RL#Fbq$\"31+]CaN'fR$Fbq7$$\"35+5CWJ]; CFbq$\"3>+?g092KMFbq7$$\"3++++++++DFbq$\"35++!G!ftlMFbq7$$\"3++q^.qV%e #Fbq$\"37+]H2L%p\\$Fbq7$$\"31+!)[,CypEFbq$\"3'***HKEHoDNFbq7$$\"3y***) **)4/gv#Fbq$\"3'***\\\"o/Z>b$Fbq7$$\"3%)**Hfr'pI%GFbq$\"3G+!z.(3tvNFbq 7$$\"3n**RZxj%4$HFbq$\"39+!)G\\C.(f$Fbq7$$\"3%)**R!)p6g>IFbq$\"3$)**zC BE&eh$Fbq7$$\"3:++942+4JFbq$\"3'****Qp&\\>KOFbq7$$\"3#)**f(fP6\"*>$Fbq $\"3))**H:yc1YOFbq7$$\"3y**>P$G**)*G$Fbq$\"3'***H\\;OZdOFbq7$$\"3#***f q*GI8Q$Fbq$\"3'***f\\U,VmOFbq7$$\"3;+S_6+PtMFbq$\"37+]=2\"\\Hn$Fbq7$$ \"3'***RWOQ)fc$Fbq$\"33+?\">yYqn$Fbq7$$\"3;+S>Op8fOFbq$\"3!)**4\\)zT(y OFbq7$$\"3-++rzUz_PFbq$\"3#***fb*3b!yOFbq7$$\"37+!)GY1#p%QFbq$\"3?+S2H )4]n$Fbq7$$\"3C+S&)Q1[TRFbq$\"3?+]-t8jpOFbq7$$\"3E++E(pQk.%Fbq$\"3;+q= +s%>m$Fbq7$$\"3()**\\m6\"f<8%Fbq$\"3K+q)H&o)>l$Fbq7$$\"3E+?'f.1uA%Fbq$ \"3,+]Vy=yROFbq7$$\"38+!\\7]VLK%Fbq$\"3%***f2pdODOFbq7$$\"3I+gPHa`>WFb q$\"3!)**z(R!Rx3OFbq7$$\"3w**R[Yc%f^%Fbq$\"35+!H(*[V+f$Fbq7$$\"3\"**** Rm*y`7YFbq$\"3))**pU,N@pNFbq7$$\"3l**zWbeF4ZFbq$\"3))**fnBYKYNFbq7$$\" 3#)**\\rVJ71[Fbq$\"3B+?c\">>9_$Fbq7$$\"3;+59TL/.\\Fbq$\"3')**>iJ6a%\\$ Fbq7$$\"3++++++++]FbqFe\\l7$$\"3%)***e)em&p4&Fbq$\"3?+IRP/0NMFbq7$$\"3 ;+]Gco(Q>&Fbq$\"3:++*>3LDS$Fbq7$$\"3M+?bWTs!H&Fbq$\"3s**\\TQNBoLFbq7$$ \"33++O.@Y(Q&Fbq$\"3))**Rn/G?KLFbq7$$\"3A+g^`V0%[&Fbq$\"3%)**R#f6$\\%H $Fbq7$$\"3q**RiqXY!e&Fbq$\"3s**4Y&)y:bKFbq7$$\"3U+5v)\\cmn&Fbq$\"3:+Iv X;D9KFbq7$$\"3u**z.kRfsdFbq$\"3#)**4`*)*H=<$Fbq7$$\"37+]L))3CoeFbq$\"3 ?+S#4^\\z7$Fbq7$$\"3I++u-8cjfFbq$\"3G+?qYxm#3$Fbq7$$\"3w**f9h$>&egFbq$ \"39+!*er`$zI:'Fbq$\"3%***4rp[8))HFbq7$$\"3)*****G? d?ZiFbq$\"3(***z:;I+RHFbq7$$\"3S+g!Q1j3M'Fbq$\"3?+?qy#3())GFbq7$$\"3/+ gbjh,MkFbq$\"3i**\\oH?JPGFbq7$$\"3S+gZ))*Hm_'Fbq$\"3-+q2Mi([y#Fbq7$$\" 3`**RH5(p'=mFbq$\"3!***Hw\"Rj9t#Fbq7$$\"3B+!Gmr+,r'Fbq$\"3#)**\\/![Orn #Fbq7$$\"3j**R-C'))3!oFbq$\"3$)**HQ'*)e>i#Fbq7$$\"3S++'3H**4*oFbq$\"3# ***RU,W*fc#Fbq7$$\"3g**f>I))R!)pFbq$\"3%***zIiqI4DFbq7$$\"3M+g_AO0pqFb q$\"39+IG'>h>X#Fbq7$$\"3g**pSG.$p:(Fbq$\"3!)***oYJ@SR#Fbq7$$\"3@+5+,f* RC(Fbq$\"3*****or1_bL#Fbq7$$\"3%***>^)f<-L(Fbq$\"39++b'==mF#Fbq7$$\"3b +I['*Hc:uFbq$\"3,++vLWGFbq7$$\"3[+?VxV.GyFbq$\"3&***p(\\Ozo \">Fbq7$$\"3M++Wc.Y2zFbq$\"3E+S_H6]c=Fbq7$$\"3s**R^eHz&)zFbq$\"3C+I$)> E<'z\"Fbq7$$\"3w**f'fs-I1)Fbq$\"30+5H,p&ft\"Fbq7$$\"3Z++OB11R\")Fbq$\" 33+]:&f;fn\"Fbq7$$\"3m**RV[!QR@)Fbq$\"3*****>*GQ6;;Fbq7$$\"3O+g%G%og(G )Fbq$\"3'****ft=5mb\"Fbq7$$\"3c**zx-$R+O)Fbq$\"31+!3Ummu\\\"Fbq7$$\"3^ +SM*=37V)Fbq$\"3*)**\\d9OuQ9Fbq7$$\"33+g$)Qn3,&)Fbq$\"3%)***e!32]!Q\"F bq7$$\"33++zs'['p&)Fbq$\"3&***\\h#)ozA8Fbq7$$\"3`+]'y?ooj)Fbq$\"3/++<* H!pl7Fbq7$$\"3d**Ral+s-()Fbq$\"3)***p.(HQ#47Fbq7$$\"3)***zj\"[zrw)Fbq$ \"3/+q7]t\\`6Fbq7$$\"3A+Sf:AAI))Fbq$\"3%***H*R-B&)4\"Fbq7$$\"3i***>'fX #=*))Fbq$\"3++gqL*pV/\"Fbq7$$\"3q**RfZL'>&*)Fbq$\"3u+!oh-<4\"**FF7$$\" 3r**fxjfh5!*Fbq$\"3]**>%)>#4uQ*FF7$$\"3Q+SJ^.wn!*Fbq$\"3U**fD:6pt))FF7 $$\"3e**fa?]PB\"*Fbq$\"3o+?p3oEq$)FF7$$\"3m**R1d!Ru<*Fbq$\"3Y++!)>*Gw( yFF7$$\"3J++gH@$*H#*Fbq$\"3]**f2D#eiR(FF7$$\"3k**>l(\\M3G*Fbq$\"3%*** \\],LiEpFF7$$\"3\")**>#*=q7I$*Fbq$\"3[**4$)z,=pkFF7$$\"3G++^c6zx$*Fbq$ \"35+583?PCgFF7$$\"3=+S)e)*3QU*Fbq$\"3q***>csGEf&FF7$$\"3_**zh,K;o%*Fb q$\"3!)**p#pumV<&FF7$$\"3Z+]!R7P3^*Fbq$\"3y**f)ol))*pZFF7$$\"3]***H[q9 =b*Fbq$\"3s**\\5;H))zVFF7$$\"3-+?SM03\"f*Fbq$\"3(****fudBW+%FF7$$\"3\" )**RMY)>'G'*Fbq$\"3')***GO,qRk$FF7$$\"3)****fO_=Wm*Fbq$\"3'***Hgbm'))H $FF7$$\"3c***HR5j%)p*Fbq$\"3?+!QFuU%pHFF7$$\"3G+!yVyS2t*Fbq$\"3)***f/% 37gl#FF7$$\"3'***>pE%R7w*Fbq$\"3-+5*4$G()eBFF7$$\"3U+qdhv%**y*Fbq$\"37 ++5isIy?FF7$$\"3c+!yIRao\")*Fbq$\"3-+S4z:e9=FF7$$\"3b***QE!)\\>%)*Fbq$ \"33+!z\\rXzc\"FF7$$\"3C+!**GNC_')*Fbq$\"3)***f8aJjQ8FF7$$\"3'***RD\"H pm))*Fbq$\"3#***>Bk2'o7\"FF7$$\"31+q8`lF1**Fbq$\"3A+]v/kGG$*F67$$\"3e* *41l(QS#**Fbq$\"3-++M='*>nvF67$$\"35+SQZ#\\*R**Fbq$\"3++5'pf3q)fF67$$ \"3a**R#o,-S&**Fbq$\"35+gP()H?*e%F67$$\"3M***4()y\">m**Fbq$\"3!***4!>q *4vLF67$$\"3c**f'*yR^w**Fbq$\"3))***>e(>%eM#F67$$\"33+!Reqk\\)**Fbq$\" 3!***>%)[&)R-:F67$$\"3[**fN\"zS:***Fbq$\"3#)**H:C(HcX)F07$$\"3w**4_i(R i***Fbq$\"37+g2@/`fPF07$$\"3W+?C_)f!****Fbq$\"3v**pCFc.,%*F-7$$\"\"\"F )F(-%'COLOURG6&%$RGBG$\")=THv!\")Fc^nFc^n-%&STYLEG6#%%LINEG-F$6%7)F'F[ tFb\\lFidlF^]mFeemF\\^n-F`^n6&Fb^nF(F($\"*++++\"Fe^n-Fg^n6#%&POINTG-F$ 6%7.FVF]qFhvFeyF__lF\\blFdglFajlF[`mFhbmFbhmF_[n-%&COLORG6&Fb^n$\"\"&! \"\"F)F)Fa_n-F$6%7FF7FGF_oF^pF]rF\\sFjtFiuFgwFfxFdzFc[lFa]lF`^lF^`lF]a lF[clFjclFfelFeflFchlFbilF`[mF_\\mF]^mF\\_mFj`mFiamFgcmFfdmFdfmFcgmFai mF`jmF^\\nF]]n-Fh_n6&Fb^nF)$\"\"(F\\`nF)Fa_n-F$6%7hqF*F1F~G \"%f9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+++++D!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "The exact value can \+ be obtained using integration by parts." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 78 "Int(-x*ln(x),x)=student [intparts](Int(-x*ln(x), x),ln(x));\n``=int(-x*ln(x),x);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#/-%$IntG6$,$*&%\"xG\"\"\"-%#lnG6#F)F*!\"\"F),&*& F+F*)F)\"\"#F*#F.F2-F%6$,$F)F3F)F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6# /%!G,&*&-%#lnG6#%\"xG\"\"\")F*\"\"#F+#!\"\"F-*&#F+\"\"%F+F,F+F+" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 8 "Letting " }{XPPEDIT 18 0 "F(x) = -ln(x)*x^2/2+x^2/4;" "6#/-%\"FG6#%\"xG,&*(-%#ln G6#F'\"\"\"*$F'\"\"#F-F/!\"\"F0*&F'F/\"\"%F0F-" }{TEXT -1 55 ", we can not evaluate F at zero, and so we need to find " }{XPPEDIT 18 0 "Limit (F(x),x=0,right)" "6#-%&LimitG6%-%\"FG6#%\"xG/F)\"\"!%&rightG" }{TEXT -1 9 " instead." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 78 "F := x -> -1 /2*ln(x)*x^2+1/4*x^2;\nLimit(F(x),x=0,right)=limit(F(x),x=0,right);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"FGf*6#%\"xG6\"6$%)operatorG%&arro wGF(,&*&-%#lnG6#9$\"\"\")F1\"\"#F2#!\"\"F4*&#F2\"\"%F2F3F2F2F(F(F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/-%&LimitG6%,&*&-%#lnG6#%\"xG\"\"\")F, \"\"#F-#!\"\"F/*&#F-\"\"%F-F.F-F-/F,\"\"!%&rightGF6" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 6 "Since " }{XPPEDIT 18 0 " F(1)=1/4" "6#/-%\"FG6#\"\"\"*&F'F'\"\"%!\"\"" }{TEXT -1 10 ", we have \+ " }{XPPEDIT 18 0 "Int(-x*ln(x),x=0..1)=1/4" "6#/-%$IntG6$,$*&%\"xG\"\" \"-%#lnG6#F)F*!\"\"/F);\"\"!F**&F*F*\"\"%F." }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "In t(-x*ln(x),x=0..1);\nvalue(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%$I ntG6$,$*&%\"xG\"\"\"-%#lnG6#F(F)!\"\"/F(;\"\"!F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6##\"\"\"\"\"%" }}}{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 1 " " }{XPPEDIT 18 0 "Int(x*sin(1/x),x=1/20..1)" "6#-%$IntG6$*&%\"xG\"\"\"-%$sinG6#*&F (F(F'!\"\"F(/F';*&F(F(\"#?F-F(" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "CCint(x*sin (1/x),x=1/20..1,maxgraph=3,plotcurve=true,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clenshaw-Curtis~quadratureG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%ioinserting~2~new~evaluation~points~between ~each~previous~pair~at~each~iterationG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%coand~calculating~the~Chebyshev~coefficients~using~a~fast~cosin e~transformG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~1:~approx~value ~of~integral~-->~G$\".!y)=z5\"Q!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ %Fstep~2:~approx~value~of~integral~-->~G$\"./#*o!H*y$!#8" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~integral~-->~G$\".c6+T Yy$!#8" }}{PARA 7 "" 1 "" {TEXT -1 105 "Warning, integrand may have a \+ singularity near the interval of integration - using simple error esti mate\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~4:~approx~value~of~in tegral~-->~G$\".7*o4k%y$!#8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~ 5:~approx~value~of~integral~-->~G$\".7*o4k%y$!#8" }}{PARA 13 "" 1 "" {GLPLOT2D 360 270 270 {PLOTDATA 2 "6*-%'CURVESG6%7io7$$\"3G+++++++]!#> $\"3[Q\"QODEZc%F*7$$\"3En\"Hd?T)e_F*$\"3u-&*z-)>a/c$4_V8&F*7$$\"3!)*\\(=\"z>'=RBTeF*$!3'zm$[-3ZndF*7$$\"3G$3_+AWf!fF*$!33 Jw-(p.Yb&F*7$$\"3OvV[@XlqfF*$!3I8#4VS))4:&F*7$$\"3wmm\"H#[ONgF*$!3K+p! GXizd%F*7$$\"3q+]PMs/`lF*$\"33!f>Auvy$GF*7$$\"3CLL$ekH22(F*$\"37%>Li)p hqqF*7$$\"35+v=U]frzF*$!3vl=xq'Q+u\"F27$$\"3%pmT&Q/Ys))F*$!3gKGM,8YQ&) F*7$$\"3KA!Q\"3,5***)F*$!3j0bG6`%z$*)F*7$$\"3GwVtx(Rd7*F*$!3w#>8C%RI> \"*F*7$$\"3EI2LZ%zBD*F*$!3gFN'))\\S,4*F*7$$\"3C%3Fp6>!z$*F*$!3y^B'phBB '))F*7$$\"3>#z>hX)HK'*F*$!3erMYp\"oQ(yF*7$$\"39+DJ&zxb))*F*$!3/>))>9+# **H'F*7$$\"3g\"zptk8#R5!#=$!3V/(3auEI/#F*7$$\"3KL$3_^p)*3\"Feq$\"3%4Dm \"G@q*o#F*7$$\"3WLL$3\"G&=>\"Feq$\"3n];0HH^C5Feq7$$\"3SL$ek5OQH\"Feq$ \"3KSjkRnt$G\"Feq7$$\"3#*\\7G$pM`R\"Feq$\"3GW!R![:fy5Feq7$$\"3smT5!GLo \\\"Feq$\"3UAJ,Svj&z&F*7$$\"3)**\\7GYN4f\"Feq$\"3cfTH0;ndQ!#@7$$\"3CL3 _Xw.&o\"Feq$!3wMy*)GzybdF*7$$\"3cmT50]Z#y\"Feq$!3Hy.rN-466Feq7$$\"3))* \\(okB\"*z=Feq$!3-SU0P=3W:Feq7$$\"3mmTN@Ao!)>Feq$!3gL\")o(ey'p=Feq7$$ \"3UL3-y?X\"3#Feq$!3uU:3n#fE2#Feq7$$\"3)****\\7Uv;8#Feq$!3%yuF;X%>J@Fe q7$$\"3am\"zWw)*==#Feq$!3#zo)4^iqj@Feq7$$\"3\")\\P4O/,2AFeq$!3s\")GNJ) 33<#Feq7$$\"33L$3x5A@B#Feq$!3-+>Q-=9s@Feq7$$\"3O;HKzPBdAFeq$!3ICO/Hp&z ;#Feq7$$\"3k*\\P4XXBG#Feq$!3#)[H0Kd]e@Feq7$$\"3C$3FW@ncQ#Feq$!3/s[gM*4 &p?Feq7$$\"3%om;z(*))*)[#Feq$!3FD$)[\"zl@\">Feq7$$\"3=L$e*32+rEFeq$!38 asbOiF8:Feq7$$\"3%****\\(3G!f(GFeq$!37ch8!4L2Z*F*7$$\"3m***\\iDY;3$Feq $!3yf+Al$[:=$F*7$$\"3s***\\7>=*zKFeq$\"3E_Ky%46t.$F*7$$\"3!H$3-.\"o*fM Feq$\"34.p(fLvng)F*7$$\"3omm\"H'[1uOFeq$\"3O*RVqXc#Feq7$$\"3Om m;9\\:`UFeq$\"378[Ff-VAIFeq7$$\"3m*\\(=Ap/eWFeq$\"3Abe[U0$y[$Feq7$$\"3 5+DcmD:`YFeq$\"3#)H!=irdl*QFeq7$$\"3qm;aQ[sc[Feq$\"3U];j!>X$*G%Feq7$$ \"3zmTgKxmV]Feq$\"3BzpF4\"\\=i%Feq7$$\"3-L$e*)*3JX_Feq$\"3u8pT**>d_\\F eq7$$\"37L3-y9waaFeq$\"3Kq\"\\!f\\&zE&Feq7$$\"3Y+D\"G#))3PcFeq$\"3Lqry Bc9@bFeq7$$\"3RL$3-N2S$eFeq$\"3Cn8,cm@udFeq7$$\"3A++]dMWPgFeq$\"3Qy4W8 =P:gFeq7$$\"3N**\\P**fYOiFeq$\"3x#[fR\"p8LiFeq7$$\"3[+v=U0.HkFeq$\"3x8 fihHFGkFeq7$$\"3F+]iN1%Gk'Feq$\"3(yj..SK'GmFeq7$$\"3ylm;9&e\\$oFeq$\"3 k%yq=pM`z'Feq7$$\"3()***\\iN&3SqFeq$\"3_A!)yXYlgpFeq7$$\"3NL3-j2'fA(Fe q$\"3fg?m6T7+rFeq7$$\"3i++vy;(=q!f[KUsFeq7$$\"3RmT&QJx.i(Fe q$\"3%fO:mKq4xFeq7$$\"3& QLL$oHC<%)Feq$\"3?ZmO=E:3yFeq7$$\"3zL$ek;I(=')Feq$\"3\"oX!)p.'e-zFeq7$ $\"3&o;a)[*[&=))Feq$\"3'**o3**=!\\!*zFeq7$$\"3v++]d;;-!*Feq$\"3!y?&=n6 gm!)Feq7$$\"3'om\"HUDg7#*Feq$\"3UQv!G'\\v[\")Feq7$$\"3\"GLL$yL#3S*Feq$ \"3k'*\\9Q_(z@)Feq7$$\"3B+v=Zg],'*Feq$\"3Evk%4owwG)Feq7$$\"3w*\\7y'\\e $z*Feq$\"3'fQ]\"*\\02N)Feq7$$\"\"\"\"\"!$\"30l*y![)4ZT)Feq-%'COLOURG6& %$RGBG$\")=THv!\")F[dlF[dl-%&STYLEG6#%%LINEG-F$6%7)7$F($\"3S+!QODEZc%F *7$$\"3'***R-K$zj8\"Feq$\"3?+qtO$)*zk'F*7$$\"3y***********\\(GFeq$!3k+ !H5_&R(\\*F*7$$\"3A++++++]_Feq$\"3u**>XCp$*f\\Feq7$$\"3b***********\\i (Feq$\"3u***=$\\I0qtFeq7$$\"3M+g(zm?OO*Feq$\"35+qv\"z(f/#)Feq7$Fbcl$\" 3e+!z![)4ZT)Feq-Fhcl6&Fjcl$FdclFdclFffl$\"*++++\"F]dl-F_dl6#%&POINTG-F $6%7.7$$\"3C++#>tJ;s&F*$!32++Bh:(*3cF*7$$\"3G++n70gkyF*$\"3/+gE'e)>m6F *7$$\"3%***f=&*))G6;Feq$!3/+]'3tU!R7F*7$$\"33+!))R&)en>#Feq$!35+!GGV?' o@Feq7$$\"3****H?>VSDOFeq$\"3#***Hg\"=rdN\"Feq7$$\"32+?3c6v(Feq7$$\"3'***R\"[5 6())))Feq$\"3m***4&>A3?!)Feq7$$\"3')**Ht[*RNr*Feq$\"3v**RAI0'[K)Feq7$$ \"3t**z!o#o$y#**Feq$\"3Y+]fEbv#R)Feq-%&COLORG6&Fjcl$\"\"&!\"\"FdclFdcl Fifl-F$6%7F7$$\"3#****4@[i.3&F*$\"3A+SF$p7Hw$F*7$$\"3E++E2!y6K&F*$!35+ qO&p0o,$F27$$\"3e***fuko.G'F*$!33++>;!pyL\"F*7$$\"3W++-l\")\\&*pF*$\"3 E**fFhqk3pF*7$$\"3_++>B\\t%)))F*$!3#)**>mMm$oe)F*7$$\"3%***HYe\\C05Feq $!3.+g#=u79-&F*7$$\"3/+!*y&*GV\"G\"Feq$\"31+?nuu\")z7Feq7$$\"3++ITM[\" *R9Feq$\"3G***ekPVt%))F*7$$\"3C+!GD?v\\z\"Feq$!3%***>\"==^G<\"Feq7$$\" 3/+I7?AN!*>Feq$!37+S?=VN%*=Feq7$$\"3'***>T*o'\\8CFeq$!37+?/]m>L?Feq7$$ \"3x**H;aB$)REFeq$!3/+!f6x\"G!f\"Feq7$$\"3y***[S*Q?=JFeq$!3%)**z0ILGP? F*7$$\"3A+SJ66ioLFeq$\"3a**>5#o<$*z&F*7$$\"31+5iWYo()QFeq$\"3!***zK/)[ e4#Feq7$$\"3)***H(RhuX:%Feq$\"3-+]DVSz%y#Feq7$$\"3!***p!zle&)p%Feq$\"3 w**z9/`1()RFeq7$$\"3')**\\ni?\"Q(\\Feq$\"3F+5%f5G1]%Feq7$$\"3-+]KPz=Eb Feq$\"3A+q#oq3%p`Feq7$$\"3++I4U8W,eFeq$\"3\"***H$)4uuLdFeq7$$\"3Y+q-'Q DaM'Feq$\"3k**RO%\\T`M'Feq7$$\"3R+!z`N:Bh'Feq$\"3t**ffHp,,mFeq7$$\"3n* *fo)))y88(Feq$\"3M+!)o_)G..(Feq7$$\"3c**4&f5'z\"Q(Feq$\"3V+gChS35sFeq7 $$\"3c**p$ekn,'yFeq$\"3x**zWlZW7vFeq7$$\"3?+!)e5L]'3)Feq$\"3H+!>+r'=Rw Feq7$$\"3$)**p()zxk4&)Feq$\"33+SO\"=9A&yFeq7$$\"3k**>Z(zC]q)Feq$\"3a+! QcvB7%zFeq7$$\"3i**pel^3g!*Feq$\"3i**R$zxP(*3)Feq7$$\"3c**4@/rc=#*Feq$ \"39+q9u%35:)Feq7$$\"3m**p`T]v%\\*Feq$\"3_**4)y+36D)Feq7$$\"3q**4o2l_6 '*Feq$\"3Y+I^U:0\"H)Feq7$$\"3d**z\\$=]/!)*Feq$\"3')**H(e\"[*GN)Feq7$$ \"3]+SDNJ'>()*Feq$\"3-+gA\\&[aP)Feq7$$\"3m**RF*>#)y'**Feq$\"3&)***H:S$ *\\S)Feq7$$\"3I+!*y^P'>***Feq$\"3r**>+ioG7%)Feq-F\\[m6&FjclFdcl$\"\"(F `[mFdclFifl-%&TITLEG6#%2evaluation~pointsG-%'SYMBOLG6#%'CIRCLEG-%+AXES LABELSG6$Q\"x6\"Q!Fhgm-%%VIEWG6$;$\".++++++&!#9Fbcl%(DEFAULTG" 1 2 4 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" "Curve 2" "Curve 3" "Curve 4" }}}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Dnumber~of~fun ction~evaluations~-->~G\"$([" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+p4 k%y$!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "evalf(Int(x*sin(1/x),x=1/20..1));" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#$\"+p4k%y$!#5" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 9 "Example 6" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Int(abs(sin(x)),x = 0 .. 2*Pi);" "6#-%$IntG6$-%$absG6#-%$sinG6#% \"xG/F,;\"\"!*&\"\"#\"\"\"%#PiGF2" }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 65 "plot(abs(sin (x)),x=0..2*Pi,color=COLOR(RGB,.9,.2,0),thickness=2);" }}{PARA 13 "" 1 "" {GLPLOT2D 321 157 157 {PLOTDATA 2 "6'-%'CURVESG6#7ep7$\"\"!F(7$$ \"1`#Gi#zxZo!#<$\"1]>-2uUUoF,7$$\"1^cC&eb&p8!#;$\"19&o'z\"y_O\"F27$$\" 16)>63x`'>F2$\"1hpU-([F&>F27$$\"1qR*pd)>hDF2$\"1!y=V&*)GLDF27$$\"1@%HT ;i7B$F2$\"1.!>'R`KvJF27$$\"1s[E^dK,RF2$\"1]F<<.6.QF27$$\"19+\"[&4$ed%F 2$\"1\"G()4R6yT%F27$$\"1c^NehL]_F2$\"1,*y(H4U7]F27$$\"1s#3kbN;#fF2$\"1 3s[d]d\"e&F27$$\"1*QhW&\\$Hf'F2$\"1#pD*eceDhF27$$\"1;5wGaJ:sF2$\"100'* 3KN0mF27$$\"1T11.fpPyF2$\"1?82*oU&fqF27$$\"1qr'fwtl7*F2$\"1)*QjP!>8\"z F27$$\"1%Ra&4L&f/\"!#:$\"1[%3w7ESl)F27$$\"1jXwg<#)y6Fio$\"1i.Z,bcT#*F2 7$$\"1qGW%H$\\:8Fio$\"1OpSF\"oen*F27$$\"1H22vMov8Fio$\"1_*\\T'zD5)*F27 $$\"1*e)pbO(eV\"Fio$\"1'fI'ft64**F27$$\"1>$*Q*f`(p9Fio$\"1W7L`_**[**F2 7$$\"1]+3VNj.:Fio$\"1:3MzUXx**F27$$\"1\"yqn[8v`\"Fio$\"1jU2u:]?4S***F27$ $\"1'z]kaJ%R;Fio$\"1y8:y_Xw**F27$$\"1RaW/1Xt;Fio$\"1^-))\\nNZ**F27$$\" 1#3SCmpuq\"Fio$\"1Fio$\"1CCb^l'3E*F27$$\"1U(ye< )G*4#Fio$\"12*>c4&oN')F27$$\"1a[#o!GC>AFio$\"1e*Rp1I-(zF27$$\"1YwJf&y( eBFio$\"1;s(f4sF0(F27$$\"1\"R2:&\\`?CFio$\"1&*eq%*[z,mF27$$\"1OrpV8H#[ #Fio$\"13N4EukDhF27$$\"124z$*y/]DFio$\"1?OTB'Rkd&F27$$\"1zY)QW/yh#Fio$ \"1Pawd/k,]F27$$\"1xAg-ZK#o#Fio$\"1;@BP.#HV%F27$$\"1v)>8'\\%ou#Fio$\"1 #*R%R(HvXQF27$$\"1z?n#3lT\"GFio$\"1P;#3K$3;KF27$$\"1%GCS?&[\")GFio$\"1 &o6f)Q%=d#F27$$\"1%3$\\!41L%HFio$\"1)*RTxv*)p>F27$$\"1%)='p(p70IFio$\" 1h5Xo]Ug8F27$$\"1a,ta\"4=2$Fio$\"1%4*3xuospF,7$$\"1B%)\\K8\\QJFio$\"1* pb)>hJ,J!#=7$$\"14]^u`v2KFio$\"1BM)3-Y9h'F,7$$\"1'fJlT>qF$Fio$\"1XT0(y J,N\"F27$$\"1\"=@(oRJPLFio$\"1')y@!HTZ%>F27$$\"1l2\"4_3wR$Fio$\"1#*=Ge HGKDF27$$\"1^()4*GGFY$Fio$\"14JU#)RiOFio$\"1,J!)=3zv\\ F27$$\"1m\\Q&z8#GPFio$\"1L:G;A]NbF27$$\"18!f%[$HSz$Fio$\"111$[?W72'F27 $$\"1T3B!G4x&QFio$\"1Lj@];gklF27$$\"1oE+7#*Q@RFio$\"1K4p_xMJqF27$$\"1) f0ii+G1%Fio$\"1WqZN&GL'zF27$$\"1fORr]')*=%Fio$\"1*3&3nLil')F27$$\"1&p% *z[LbK%Fio$\"1$[$Q0***4E*F27$$\"1'pExBp%[WFio$\"1%4g7n[Pl*F27$$\"1z&[2 ')pc^%Fio$\"1-Py@682)*F27$$\"1i/x$[qGe%Fio$\"1YPY!)>C;**F27$$\"1](o$ed [9YFio$\"1BiyjI6_**F27$$\"1Rq'H.,hk%Fio$\"1ef(ReP!y**F27$$\"1G`c2jrxYF io$\"1B*p4j*)R***F27$$\"1:%[Fio$\"1^6Oe=u;**F27$$\"1@9vt*Qh!\\Fi o$\"1K)*)[7\"*G\")*F27$$\"1u\"4%z!e2(\\Fio$\"1$49llz!o'*F27$$\"1eC[4&e g5&Fio$\"1`&yQBx]B*F27$$\"1!f![/*ojB&Fio$\"1#*oMmwMe')F27$$\"1dN^/,jp` Fio$\"1roqht!o\"zF27$$\"1A\"GX$yy,bFio$\"16TwV@sUqF27$$\"1yVy[u]ibFio$ \"1M_m#QT*)f'F27$$\"1L1/jqABcFio$\"1l4LY'Q38'F27$$\"1aK=$f=Gp&Fio$\"1? itIqlmbF27$$\"1xeKB,TidFio$\"1DF-zq_v\\F27$$\"1#4#\\ jU%F27$$\"12$e;6(*o)eFio$\"1*y_Bpo*fQF27$$\"1q>qe;E`fFio$\"1xDxczqRKF2 7$$\"1Lcu0ii>gFio$\"1DhVjR=0EF27$$\"1:=>Xb9$3'Fio$\"1WGL+I3()>F27$$\"1 **zj%)[mYhFio$\"1'*=#eVn4O\"F27$$\"1***G'*3D\\@'Fio$\"1wTuj?s?oF,7$$\" 1++i%H&=$G'Fio$\"1UE[]'efD\"!#B-%+AXESLABELSG6$Q\"x6\"%!G-%*THICKNESSG 6#\"\"#-%&COLORG6&%$RGBG$\"\"*!\"\"$FiglF`hlF(-%%VIEWG6$;F($\"+3`=$G'! \"*%(DEFAULTG" 1 2 0 1 10 2 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "CCint(abs(sin(x)),x=0..2*Pi,info=2,maxiterations=7 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clenshaw-Curtis~quad ratureG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%ioinserting~2~new~evaluati on~points~between~each~previous~pair~at~each~iterationG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#%coand~calculating~the~Chebyshev~coefficients~us ing~a~fast~cosine~transformG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep ~1:~approx~value~of~integral~-->~G$\".BHZ!HCN!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~2:~approx~value~of~integral~-->~G$\".-Ozm&\\R!#7 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~integral ~-->~G$\".Q\\EGW*R!#7" }}{PARA 7 "" 1 "" {TEXT -1 105 "Warning, integr and may have a singularity near the interval of integration - using si mple error estimate\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~4:~app rox~value~of~integral~-->~G$\".]\\L\"Q**R!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~5:~approx~value~of~integral~-->~G$\".!pk7$***R!# 7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~6:~approx~value~of~integra l~-->~G$\".5GO#****R!#7" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~7:~a pprox~value~of~integral~-->~G$\".E9:*****R!#7" }}{PARA 7 "" 1 "" {TEXT -1 46 "Warning, reached maximum number of iterations\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Dnumber~of~function~evaluations~-->~G\"%vV " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+^\"*****R!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 7" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "Int(1/((x-sqrt(2))^2+1/1000),x = 0 .. 2 )" "6#-%$IntG6$*&\"\"\"F',&*$,&%\"xGF'-%%sqrtG6#\"\"#!\"\"F/F'*&F'F'\" %+5F0F'F0/F+;\"\"!F/" }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "plot(1/((x-sqrt(2))^2+1/ 1000),x=0..2,color=coral);" }}{PARA 13 "" 1 "" {GLPLOT2D 281 191 191 {PLOTDATA 2 "6&-%'CURVESG6#7[p7$$\"\"!F)$\"3E6`P\\7](*\\!#=7$$\"39LLLL 3VfV!#>$\"3;L\\Z2!*G?`F,7$$\"3'pmm;H[D:)F0$\"31UQSt)zsi&F,7$$\"3LLLLe0 $=C\"F,$\"3j*Go%Q9O0gF,7$$\"3ILLL3RBr;F,$\"3t&4)*\\IpdU'F,7$$\"3Ymm;zj f)4#F,$\"3/;X2S[d*)oF,7$$\"3=LL$e4;[\\#F,$\"3#>IHD1PfO(F,7$$\"3p****\\ i'y]!HF,$\"3v$=2-\")zJ\"zF,7$$\"3,LL$ezs$HLF,$\"3Q]))>s:&ea)F,7$$\"3_* ***\\7iI_PF,$\"3C?rk/$)4b#*F,7$$\"3#pmmm@Xt=%F,$\"3o,m&RM'335!#<7$$\"3 QLLL3y_qXF,$\"3aBR'*[hK!4\"Fjn7$$\"3i******\\1!>+&F,$\"3?i'o5^Wb>\"Fjn 7$$\"3()******\\Z/NaF,$\"3J9o@X**G<8Fjn7$$\"3'*******\\$fC&eF,$\"3iqy( ps#4`9Fjn7$$\"3ELL$ez6:B'F,$\"3GJ)*=@pX&f\"Fjn7$$\"3Smmm;=C#o'F,$\"3ed gwq9s$z\"Fjn7$$\"3-mmmm#pS1(F,$\"3WcDSG12#*>Fjn7$$\"3]****\\i`A3vF,$\" 3/'p/33BrE#Fjn7$$\"3slmmm(y8!zF,$\"37bST%=85c#Fjn7$$\"3V++]i.tK$)F,$\" 3i^6u'[!GaHFjn7$$\"39++](3zMu)F,$\"3f%o9&e.L>MFjn7$$\"3#pmm;H_?<*F,$\" 3Bbt[tq(>.%Fjn7$$\"3emm;zihl&*F,$\"3iUj)zxG=v%Fjn7$$\"39LLL3#G,***F,$ \"3+u\\k;-HndFjn7$$\"3$H`!)yy3sFjn7$$\"3!****\\PQ#\\ \"3\"Fjn$\"3+%p\"zn.G_*)Fjn7$$\"3BLL$e\"*[H7\"Fjn$\"330KeTY-l6!#;7$$\" 3#*******pvxl6Fjn$\"3syEV6lP%f\"F`t7$$\"3z****\\_qn27Fjn$\"3c(op?5m0H# F`t7$$\"3#)**\\P/q%zA\"Fjn$\"3x$RBir%\\,GF`t7$$\"3%)***\\i&p@[7Fjn$\"3 ^#4dL?H?]$F`t7$$\"3%)**\\(=GB2F\"Fjn$\"34Hr8#p*)=j%F`t7$$\"3#)****\\2' HKH\"Fjn$\"3Cte?\\edL\"!#:7$$\"3$)***\\iirWM\"Fjn$\"3tHFOJ(Q`q\"Fiv7 $$\"39LL$exn_N\"Fjn$\"3xIh@hP$[B#Fiv7$$\"3y**\\i]emg8Fjn$\"3QVy/i\\u&e #Fiv7$$\"3WmmTDR1m8Fjn$\"3$\\![B)z6N,$Fiv7$$\"33L$3-+i9P\"Fjn$\"35Y0rj zWONFiv7$$\"3'******\\2goP\"Fjn$\"3o/vt'*>([<%Fiv7$$\"3U;H2L:v\"Q\"Fjn $\"3qZv&evi!p[Fiv7$$\"37Le9\"*Hk'Q\"Fjn$\"3k9?9#)yP\"o&Fiv7$$\"3!)\\(= #\\W`\"R\"Fjn$\"3B[!ylPFNg'Fiv7$$\"3[m;H2fU'R\"Fjn$\"3g)=U,Nrkf(Fiv7$$ \"3=$ek`O<8S\"Fjn$\"37%o6K$e.u&)Fiv7$$\"3()*\\PM#)3iS\"Fjn$\"3myWcKj#y R*Fiv7$$\"3b;/^\"G+6T\"Fjn$\"3>%Q$[`_+/**Fiv7$$\"3CLLeR<*fT\"Fjn$\"3ei 5)*>0[o**Fiv7$$\"3`;/E&RR8U\"Fjn$\"3!Gn#)*QEw;&*Fiv7$$\"3\")*\\P40(oE9 Fjn$\"3s;:44Qg`')Fiv7$$\"3XTgxy3OH9Fjn$\"3fR#RlewP8)Fiv7$$\"35$e9mqM?V \"Fjn$\"3)Q&fEUgf*e(Fiv7$$\"3'\\7`W`3ZV\"Fjn$\"3\"[p:&4f.UqFiv7$$\"3gm ;HiBQP9Fjn$\"3RwmT-g02lFiv7$$\"36](oz,IFW\"Fjn$\"3(>1EgFiv7$$\"3y*\\P%[L'*)[\"Fjn$\"3&\\& 3AL&>!=:Fiv7$$\"3Ymm\"H!o-*\\\"Fjn$\"3^9H=g:^?7Fiv7$$\"3GLL3A_1?:Fjn$ \"3kMQFc%\\O>)F`t7$$\"3))***\\7k.6a\"Fjn$\"3Qm4%=vzv%eF`t7$$\"3CL$e9as ;c\"Fjn$\"3u5zX&)[t'R%F`t7$$\"3emmmT9C#e\"Fjn$\"3@&\\,L[[2U$F`t7$$\"3C L$eR#F `t7$$\"3QLLL$*zym;Fjn$\"3))>S1:lNV:F`t7$$\"3GLL$3N1#4,U:\"e4 O6F`t7$$\"3kmm\"HYt7v\"Fjn$\"37\\Sa)e*GD()Fjn7$$\"3%*******p(G**y\"Fjn $\"3\"H'o/^EBMqFjn7$$\"3lmm;9@BM=Fjn$\"3;n()*yV$[OcFjn7$$\"3ELLL`v&Q(= Fjn$\"35_#\\.jB4r%Fjn7$$\"30++DOl5;>Fjn$\"3E:>0(*e=aRFjn7$$\"3/++v.Uac >Fjn$\"3QR#3\"pJU)Q$Fjn7$$\"\"#F)$\"3@y#R\"*fXd!HFjn-%'COLOURG6&%$RGBG $\"*++++\"!\")$\")AR!)\\FgdlF(-%+AXESLABELSG6$Q\"x6\"Q!F^el-%%VIEWG6$; F(F]dl%(DEFAULTG" 1 2 0 1 10 0 2 6 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "CCint(1/((x-sqrt(2))^2+1/1000),x=0..2,info=2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Eiterative~Clenshaw-Curtis~quadratu reG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%ioinserting~2~new~evaluation~p oints~between~each~previous~pair~at~each~iterationG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#%coand~calculating~the~Chebyshev~coefficients~using~a ~fast~cosine~transformG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~1:~a pprox~value~of~integral~-->~G$\".!))Qz+uf!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~2:~approx~value~of~integral~-->~G$\".CCY#*HQ&!#6 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~3:~approx~value~of~integral ~-->~G$\".!p@LyZ%*!#6" }}{PARA 7 "" 1 "" {TEXT -1 105 "Warning, integr and may have a singularity near the interval of integration - using si mple error estimate\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~4:~app rox~value~of~integral~-->~G$\".s+W,Op*!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~5:~approx~value~of~integral~-->~G$\".54BWLp*!#6 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Fstep~6:~approx~value~of~integral ~-->~G$\".14BWLp*!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%Dnumber~of~fu nction~evaluations~-->~G\"%f9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+J UM$p*!\")" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 61 "We can obtain an analytical value for this definite integral." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "Int(1/((x-sqrt(2))^2+1/1000),x=0..2);\nvalue(%);\nevalf(%);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%$IntG6$*&\"\"\"F',&*$),&%\"xGF'*$-%% sqrtG6#\"\"#F'!\"\"F1F'F'#F'\"%+5F'F2/F,;\"\"!F1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&-%'arctanG6#,$*&-%%sqrtG6#\"#5\"\"\",&!\"#F.*$-F+6# \"\"#F.F.F.F-F.F*F.!#5*(F-F.-F&6#,$*&F2F.F*F.F-F.F*F.F." }}{PARA 11 " " 1 "" {XPPMATH 20 "6#$\"+KUM$p*!\")" }}}{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 "" }}{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 }