{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "2D Input" -1 19 "Times" 1 12 255 0 0 1 2 2 2 2 1 2 0 0 0 1 }{CSTYLE "2D Output" -1 20 "Times" 1 12 0 0 255 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle2" -1 201 "Courier" 1 14 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle4" -1 203 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 0 0 0 1 }{CSTYLE "_cstyle1" -1 211 "Times" 1 14 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "_cstyle6" -1 212 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 0 0 0 1 }{CSTYLE "" 211 256 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 257 "Helvetica" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 258 "Helvetica" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 261 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "Helvetica" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "H elvetica" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "Helvetic a" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "Helvetica" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "MS Serif" 1 14 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 2 0 2 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 1 0 0 0 0 2 0 2 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 2 0 2 0 2 2 0 1 }{PSTYLE "_pstyle1" -1 203 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 2 0 2 0 2 2 0 1 }{PSTYLE "_pstyle2" -1 210 1 {CSTYLE "" -1 -1 "Courier" 1 12 255 0 0 1 2 1 2 2 1 2 1 1 1 1 }1 1 0 0 0 0 2 0 2 0 2 2 0 1 }{PSTYLE "_ pstyle6" -1 211 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 2 0 2 0 2 2 0 1 }{PSTYLE "_pstyle5" -1 212 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 2 0 2 0 2 2 0 1 }} {SECT 0 {EXCHG {PARA 203 "" 0 "" {TEXT 211 23 "# Iteration of mappings " }}{PARA 203 "" 0 "" {TEXT 211 4 "Iter" }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 106 "Iter is a package of simpl e tools for studying the sequences a, f(a), f(f(a)), f(f(f(a))), ... o btained by" }}{PARA 203 "" 0 "" {TEXT 211 101 "repeatedly applying a f unction f to an initial value a. To iterate something is to do it repe atedly. " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 5 "iter " }}{PARA 203 "" 0 "" {TEXT 211 95 " Use iter( f , n, a ) to compute the sequence which begins with a, f(a), f(f(a)) .. . and has" }}{PARA 203 "" 0 "" {TEXT 211 27 " a total of n+1 terms . " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 10 "iterprint " }}{PARA 203 "" 0 "" {TEXT 211 97 " Use iterprint( \+ f, n , a ) to apply f to a n times and print the results in vertical f ormat. " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 9 "iterplot " }}{PARA 203 "" 0 "" {TEXT 211 93 " Use iterplot( f, n, a ) instead of iterprint to plot the sequence a, f(a), f(f(a)), ... " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 10 "iterplot2 " }}{PARA 203 "" 0 "" {TEXT 211 97 " Use iterplo t( f, g, n, a ) to plot the sequences a, f(a), f(f(a)), ... and a, g(a ), g(g(a))," }}{PARA 203 "" 0 "" {TEXT 211 9 " ... " }}{PARA 203 " " 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 7 "cobweb " }} {PARA 203 "" 0 "" {TEXT 211 89 " Use cobweb( f, n, s, a..b ) to sh ow how the sequence of iterates s, f(s), f(f(s)) is" }}{PARA 203 "" 0 "" {TEXT 211 42 " generated by the \"cobweb\" procedure. " }} {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 11 "pri ntarray " }}{PARA 203 "" 0 "" {TEXT 211 61 " Use printarray(y) to \+ print a list y in vertical format. " }}{PARA 203 "" 0 "" {TEXT 211 0 " " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 0 " " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 14 "# Jim Carlson " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 36 "# http://www.math.utah.edu/~carlson)" }}}{EXCHG {PARA 210 "> " 0 " " {MPLTEXT 1 201 16 "# August 9, 1993" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 31 "# Last revised: October 2, 1993" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 23 "p rintarray := proc( L )" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 10 " loc al i;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 40 " for i from 0 to op(2 ,op(2,eval(L))) do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 18 " print (i, L[i])" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 6 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 20 "i ter := proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " local \+ x, i;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 19 " x := array(0..n);" } }{PARA 210 "> " 0 "" {MPLTEXT 1 201 12 " x[0] := a;" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 22 " for i from 1 to n do" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 28 " x[i] := evalf(f(x[i-1]))" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 12 " \+ RETURN(x);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 24 "iterprint := proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " local y, z;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 21 " y := iter(f,n,a);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 18 " printarray(y);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 23 "iterplot := proc(f,n,a)" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 13 " local y, z;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " y := iter2(f,n,a);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 23 " z := convert(y,list);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 29 " plot(z, 0..n, style=POINT);" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 25 "iterplotna : = proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " local y, z; " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " y := iter2na(f,n,a);" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 23 " z := convert(y,list);" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 29 " plot(z, 0..n, style=POINT);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 29 "iterplot2 := proc(f,g,n,a,b)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 21 " local y, z, y2, z2;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " y := iter2(f,n,a);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 23 " z := convert(y,list);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 21 " y2 := iter2(g,n,b);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 25 " z2 := conve rt(y2,list);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 37 " plot(\{ z, z2 \}, 0..n, style=POINT);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end: " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 24 "iterplotP := proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " local y, u, z, i, j;" }}{PARA 210 " > " 0 "" {MPLTEXT 1 201 21 " u := array(0..2*n);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " y := iter2(f,n,a);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 9 " j := 0;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 24 " for i from 0 to n-1 do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 31 " \+ u[j] := [y[i][2],y[i][1]] ;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " j := j+1;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 33 " u[j] := [ y[i+1][2],y[i][1]] ;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " j : = j+1;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " od;" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 31 " u[2*n] := [y[n][2],y[n][1]] ;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 23 " z := convert(u,list);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 34 " plot(z, 0..y[n][2], style=LINE);" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 20 "iter2 := proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " l ocal x, i;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 19 " x := array(0..n );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " x[0] := [0, a];" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " for i from 1 to n do" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 31 " x[i] := [ i, f(x[i-1][2]) ] " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " od;" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 12 " RETURN(x);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}} {EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 22 "iter2na := proc(f,n,a)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 13 " local x, i;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 19 " x := array(0..n);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " x[0] := [0, a];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " for i from 1 to n do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 33 " x[i] := [ i, f(i,x[i-1][2]) ]" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 12 " RE TURN(x);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 29 "makethread := proc( f, n, a )" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 20 " local T, i, x, y;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " T := array(0..n);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " x := evalf(a);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 12 " y := 0.0;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " T[ 0] := [x,y];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 28 " for i from 1 by 2 to n do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 21 " x := T[i -1][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 25 " y := evalf( f( x) );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 23 " T[i] := [ x, y ] ;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 25 " T[i+1] := [ y, y ]; " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 6 " od;" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 22 " convert( T, list );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 31 "discretize := pr oc( f, n, a, b)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " local T, i , x, y, h;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 19 " T := array(0..n );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 16 " x := evalf(a);" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 12 " y := f(x);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 24 " h := evalf( (b-a)/n );" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 16 " T[0] := [x,y];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 22 " for i from 1 to n do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 15 " x := x + h;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 14 " \+ y := f(x);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 18 " T[i] := [x,y] ;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " od;" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 21 " convert( T, list );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 21 "xminoflist := proc(L)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 16 " local i,x, xm;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " xm:= L[1][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 30 " for i from 2 to nops(L) do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " x := L[i][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 34 " if (x < xm) then xm := x fi;" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 7 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " xm;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 21 "xmaxoflist := proc(L)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 16 " local i,x, xm;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " xm:= L[1][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 30 " \+ for i from 2 to nops(L) do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " x := L[i][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 34 " \+ if (x > xm) then xm := x fi;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 7 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " xm;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 21 "y minoflist := proc(L)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 16 " local i,y, ym;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " ym:= L[1][2]; " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 30 " for i from 2 to nops(L) do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " y := L[i][1];" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 34 " if (y < ym) then ym := y \+ fi;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 7 " od;" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 5 " ym;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 21 "ymaxoflist := proc(L)" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 16 " local i,y, ym;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " ym:= L[1][2];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 30 " for i from 2 to nops(L) do" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 20 " y := L[i][1];" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 34 " if (y > ym) then ym := y fi;" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 7 " od;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 5 " ym;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end:" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 35 "id := x -> x; # identity function #" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 33 "cobweb := proc( f, n, a, xrange )" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 75 " local thread1, thread2, thread3, e psilon, x1, x2, y1, y2, yrange," }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 37 " xmin,xmax,ymin,ymax;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 17 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 27 " yrange := xrange;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 25 " epsilon := 0.1;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 45 " thread1 := makethread( f, 2*n, a );" }}{PARA 210 "> \+ " 0 "" {MPLTEXT 1 201 49 " x1 := op(1,xrange); x2 := op(2,xra nge);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 49 " y1 := op(1,y range); y2 := op(2,yrange);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 0 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 38 " xmin := xminoflis t(thread1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 38 " xmax : = xmaxoflist(thread1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 38 " \+ ymin := yminoflist(thread1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 38 " ymax := ymaxoflist(thread1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 10 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 44 " if (x1 > xmin) then x1 := xmin fi;" }}{PARA 210 "> " 0 " " {MPLTEXT 1 201 44 " if (x2 < xmax) then x2 := xmax fi;" }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 44 " if (y1 > ymin) then y 1 := ymin fi;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 44 " if ( y2 < ymax) then y2 := ymax fi;" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 10 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 37 " x1 \+ := x1 - epsilon*(x2-x1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 37 " \+ x2 := x2 + epsilon*(x2-x1);" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 48 " thread2 := discretize(f, 20, x1, x2 );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 48 " thread3 := discretize(id, 1, x1, x2 );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 10 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 46 " plot( \{ thread1, thread2, thread3 \}," }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 65 " x = x1..x2, y=y1..y2, sty le = LINE,thickness=2 );" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 4 "end: " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 20 "double := x -> 2*x; " }}}{EXCHG {PARA 210 "> " 0 " " {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 13 "evalf(ln(2));" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 256 52 "Example 1. We want to find the solutions to \+ 2^x=x^10" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 257 0 "" }{TEXT 258 96 "We may plot y=2^x and y=x^10 in various ranges and find that we sh ould have three intersections:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "p lot(\{2^x,x^10\},x=20..60);" }}{PARA 203 "> " 0 "" {MPLTEXT 1 0 33 "pl ot(\{2^x,x^10\},x=-2..2,y=0..20);" }}{PARA 203 "> " 0 "" {MPLTEXT 1 0 33 "plot(\{2^x,x^10\},x=-2..0,y=0..20);" }}{PARA 203 "" 0 "" {TEXT -1 99 "**Objective: We would like to use Fixed Point and Newton Methods t o find these three intersections." }}{PARA 203 "" 0 "" {TEXT 211 81 "M ethod 1. We define f1(x)=(10/ln(2))*(ln(x)) and apply the fixed point \+ algorithm." }}{PARA 203 "" 0 "" {TEXT 211 18 "Define a function " }} {PARA 210 "> " 0 "" {MPLTEXT 1 201 31 "f1 := x -> (10/ln(2))*(ln(x)); \+ " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 203 " " 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 25 "iterpri nt( f1, 10, 50 ); " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 99 "applies double a total of fo ur times to compute and print the sequence 1, 2, 4, 8, 16. The command " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 24 "iterplot( f1, 10, 50 ); " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 14 "diff(f1(x),x);" }}} {EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 40 "plot(\{10/(ln(2)*x),1\}, x=0..100,y=-2..2);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "fsolv e(10/ln(2)/x-1=0);" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 261 0 "" }{TEXT 262 132 "Remark: Note that |diff(f1(x),x)|<1 for x>15, so we have at most one solution for f(x)=x by FTP. We can see this by following graph." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "plot( \{f1(x),x\},x=0..70);" }}}{EXCHG {PARA 212 "" 0 "" {TEXT 212 69 "Metho d 2. We use g1(x)=2^(0.1*x) and apply the fixed point algorithm." }}} {EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 17 "g1:=x->2^(0.1*x);" }}} {EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 26 "iterprint( g1, 10, -0.5 \+ );" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 21 "iterplot(g1,10,-0 .5);" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 14 "diff(g1(x),x); " }}}{EXCHG {PARA 0 "> " 0 "" {XPPEDIT 19 1 "plot(diff(g1(x), x), x = \+ -5 .. 10, y = -2 .. 2);" "6#-%%plotG6%-%%diffG6$-%#g1G6#%\"xGF,/F,;,$ \"\"&!\"\"\"#5/%\"yG;,$\"\"#F1F7" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 263 0 "" }{TEXT 264 86 "**Question: Verify if we can apply the Fixed Point Theorem on g1 here to find g1(x)=x." }}}{EXCHG {PARA 212 "" 0 "" {TEXT -1 0 "" }}{PARA 212 "" 0 "" {TEXT 212 124 "Method 3. We apply the Newton's method to obtain the third root. Notice the New ton's method is x(n+1)=x(n)-h(x(n))/h'(x(n))." }{TEXT -1 0 "" }{TEXT 265 0 "" }}}{EXCHG {PARA 212 "" 0 "" {TEXT 212 21 "First, we define h( x)" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 15 "h:=x->2^x-x^10;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"hGf*6#%\"xG6\"6$%)operatorG%&arr owGF(,&)\"\"#9$\"\"\"*$)F/\"#5F0!\"\"F(F(F(" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 13 "diff(h(x),x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*&)\"\"#%\"xG\"\"\"-%#lnG6#F&F(F(*&\"#5F()F'\"\"*F(!\"\"" }}} {EXCHG {PARA 0 "" 0 "" {TEXT 267 73 "**Question: Explain why we cannot apply Fixed Point Theorem in this case." }{TEXT -1 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 39 "h1:=x->x-(2^x-x^10)/(2^x*ln(2)- 10*x^9);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#h1Gf*6#%\"xG6\"6$%)oper atorG%&arrowGF(,&9$\"\"\"*&,&)\"\"#F-F.*$)F-\"#5F.!\"\"F.,&*&F1F.-%#ln G6#F2F.F.*&F5F.)F-\"\"*F.F6F6F6F(F(F(" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 20 "iterprint(h1,10,-2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"!!\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"\"$!+&fb+!=!\"* " }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"#$!+1G@?;!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"$$!+_;me9!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"%$!+eW898!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"&$!+*>mk= \"!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"'$!+v%fz2\"!\"*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$\"\"($!+QJUc**!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"\")$!+h%Q*)\\*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$ \"\"*$!+f,8y$*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$\"#5$!+$>96P*!#5 " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 203 19 "iterplot(h1,10,-2); " }}{PARA 13 "" 1 "" {GLPLOT2D 400 400 400 {PLOTDATA 2 "6&-%'CURVESG6$ 7-7$$\"\"!F)$!\"#F)7$$\"\"\"F)$!3K4)e_fb+!=!#<7$$\"\"#F)$!3#fWdk!G@?;F 17$$\"\"$F)$!3m*4/Hlh'e9F17$$\"\"%F)$!3Ms;peW898F17$$\"\"&F)$!3/_yc*>m k=\"F17$$\"\"'F)$!3M=nlv%fz2\"F17$$\"\"(F)$!3K)G,@9Bk&**!#=7$$\"\")F)$ !3w$[SBYQ*)\\*FP7$$\"\"*F)$!3Wc@Qf,8y$*FP7$$\"#5F)$!3=Rny#>96P*FP-%'CO LOURG6&%$RGBG$\"*++++\"!\")F(F(-%&STYLEG6#%&POINTG-%+AXESLABELSG6$Q!6 \"Fho-%%VIEWG6$;F(Ffn%(DEFAULTG" 1 5 0 1 10 0 2 9 1 4 2 1.000000 45.000000 45.000000 0 0 "Curve 1" }}}}{EXCHG {PARA 212 "" 0 "" {TEXT 212 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 9 "Example 2" }}{PARA 203 "" 0 "" {TEXT 211 0 " " }}{PARA 203 "" 0 "" {TEXT 211 136 "The function \"cobweb\" is useful for demonstrating graphicaly how a map is iterated. It is also useful for for finding fixed points. Try " }}{PARA 203 "" 0 "" {TEXT 211 0 " " }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 28 "cobweb( f1, 20, 50, 0..60); " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 28 "cobweb( g1, 10, -0 .5, 0..2);" }{MPLTEXT 1 203 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 27 "cobweb( h1, 10, -2, -5..5);" }{MPLTEXT 1 203 0 "" } }}{EXCHG {PARA 203 "" 0 "" {TEXT 211 141 "Notice that the cobweb is us ed for fixed point algorithm and h1 is used for the Newton's method (s ee above) so the graph does not look right." }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 9 "Example 3" }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 99 "The iter \+ function can be used to implement Newton's method for finding roots. L et us use it to find" }}{PARA 203 "" 0 "" {TEXT 211 66 "the square roo t of two, which is a root of the quadratic function " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 24 " f := x -> x*x - 2; " }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}} {EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 40 "Newton tells us to iterate the function " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 30 " g :=x-> x - (f(x)/(2*x));" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 101 "with a reasonable guess for the starting va lue. Try the example below, which iterates g 10 times with" }}{PARA 203 "" 0 "" {TEXT 211 20 "1 as initial value. " }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 28 " iterprint( g, 10, 1 ); " }}}{EXCHG {PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 203 "" 0 "" {TEXT 211 0 "" }}{PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 210 "> " 0 "" {MPLTEXT 1 201 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 " " }}}{PARA 211 "" 0 "" {TEXT -1 0 "" }}}{MARK "66 0 1" 0 }{VIEWOPTS 1 1 0 15 10 1804 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }