{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 256 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Co urier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 2 6 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 2 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "restart:with(linalg) :with(plots):" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, new definition \+ for norm" }}{PARA 7 "" 1 "" {TEXT -1 33 "Warning, new definition for t race" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "GradNext:=proc(f,x, x0)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "local gr,valf,step;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "gr:=eval(grad(f,x),x=x0):valf:=eval (f,x=x0):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "step:=valf/(norm(gr,2) )^2:evalm(x0-step*gr);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "x:=array(1..2):GradNext(x[1] ^3+x[2]^2,x,[1,-2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$ #\"\"#\"\"&#!\"'F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "GradI ters:=proc(f,x,x0,N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "local k,sol ,valf;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "sol:=array(0..N):sol[0]:= x0:valf:=eval(f,x=x0):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "lprint(IT ERATION,0):print(sol[0]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "lprint (function):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for k fr om 1 to N do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " sol[k]:=GradNex t(f,x,sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " valf:=eval(f ,x=sol[k]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " lprint(ITERATION, k):print(sol[k]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " lprint(func tion):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "od:end:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "GradIter:=proc(f,x,x0,N)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "local k,sol,valf;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "sol:=array(0..N):sol[0]:=x0:valf:=eval(f,x=x0): " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "lprint(ITERATION,0):print(sol[0 ]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "lprint(function):print(valf) :" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for k from 1 to N do " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " sol[k]:=NewtonGradNext(f,x,sol[k -1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " valf:=eval(f,x=sol[k]): od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " lprint(ITERATION,k-1):pri nt(sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " lprint(function ):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "NewtonGradNext:=proc(f,x,x0)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "local gr,hess,hessinv,step;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "gr:=eval(grad(f,x),x=x0):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "hess:=subs(x=x0,hessian(f,x)):hessinv:=in verse(hess);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "step:=1:evalm(x0-st ep*(hessinv &* gr));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 54 "x:=array(1..2):NewtonGradNex t(x[1]^3+x[2]^2,x,[1,-2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vecto rG6#7$#\"\"\"\"\"#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 " NewtonGrads:=proc(f,x,x0,N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "loca l k,sol,valf;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "sol:=array(0..N):s ol[0]:=x0:valf:=eval(f,x=x0):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "lp rint(ITERATION,0):print(sol[0]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "lprint(function):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "f or k from 1 to N do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " sol[k]:= NewtonGradNext(f,x,sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 " \+ valf:=eval(f,x=sol[k]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 37 " lpri nt(ITERATION,k):print(sol[k]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " \+ lprint(function):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "o d:end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "NewtonGrad:=proc( f,x,x0,N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "local k,sol,valf;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "sol:=array(0..N):sol[0]:=x0:valf:=e val(f,x=x0):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "lprint(ITERATION,0) :print(sol[0]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "lprint(function) :print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for k from 1 to N \+ do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " sol[k]:=NewtonGradNext(f, x,sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 " valf:=eval(f,x=s ol[k]):od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " lprint(ITERATION,k -1):print(sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 32 " lprint(f unction):print(valf):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "x:=array(1..2):NewtonGrad(x[ 1]^3+x[2]^2,x,[1.,-2.],100);" }}{PARA 6 "" 1 "" {TEXT -1 13 "ITERATION 0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"\"\"\"\"!$!\"#F&" }} {PARA 6 "" 1 "" {TEXT -1 8 "function" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#$\"\"&\"\"!" }}{PARA 6 "" 1 "" {TEXT -1 15 "ITERATION 100" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$$\"+Q!4'))y!#S\"\"!" }} {PARA 6 "" 1 "" {TEXT -1 8 "function" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#$\"+RM44\\!$+\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 256 13 "Rosenbrock( n)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "Rosenbrock:=proc(n)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "local i,s; global x;" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 29 "x:=array(1..n);s:=(1-x[1])^2;" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "for i from 1 to n-1 do" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "s:=s+100*(x[i]-x[i+1]^2)^2 od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "Ros enbrock(2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&*$),&\"\"\"F'&%\"xG6# F'!\"\"\"\"#\"\"\"F'*$),&F(F'*$)&F)6#F,F,F-F+F,F-\"$+\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "x:=array(1..2):GradIter(Rosenbrock( 2),x,[0.8,0.2],100);" }}{PARA 6 "" 1 "" {TEXT -1 13 "ITERATION 0" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"\")!\"\"$\"\"#F&" }}{PARA 6 "" 1 "" {TEXT -1 8 "function" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"'+!y&!\" %" }}{PARA 6 "" 1 "" {TEXT -1 15 "ITERATION 100" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$$\"+(4!*4!**!#7\"\"!" }}{PARA 6 "" 1 "" {TEXT -1 8 "function" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+*4!*4!**!# 5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 155 "A:=contourplot(Rosenb rock(2),x[1]=-1..1.5,x[2]=0..1.5,scaling=constrained,grid=[100,100],co ntours=[0.2,0.4,0.6,0.8,1.,1.5,2.,2.5,3.,3.5,4.,4.5,5.,5.5,6.]):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "#display(A);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "NewtonGradSolSet:=proc(f,x,x0,N)" } }{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "local n,sol,k;global NGsolset;" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "n:=vectdim(x0):sol:=array(0..N):sol [0]:=x0:NGsolset:=sol[0]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for k \+ from 1 to N do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 40 " sol[k]:=Newto nGradNext(f,x,sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 41 " NGso lset:=augment(NGsolset,sol[k]):od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 " end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 68 "x:=array(1.. 2):f:=Rosenbrock(2):NewtonGradSolSet(f,x,[0.4,0.8],100):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "B:=pointplot(NGsolset,connect=false ,symbol=CROSS,color=BLACK):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "#display(A,B);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "GradS olSet:=proc(f,x,x0,N)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "local n,so l,k;global Gsolset;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "n:=vectdim(x 0):sol:=array(0..N):sol[0]:=x0:Gsolset:=sol[0]:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "for k from 1 to N do " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 " sol[k]:=GradNext(f,x,sol[k-1]):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 39 " Gsolset:=augment(Gsolset,sol[k]):od:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 8 " end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 62 "x:=array(1..2):f:=Rosenbrock(2):GradSolSet(f,x,[0.4,0 .8],100):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "C:=pointplot(G solset,connect=false,symbol=CIRCLE,color=BLUE):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 14 "#display(A,C);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "16 6 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 }