{VERSION 5 0 "SUN SPARC SOLARIS" "5.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 Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {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 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 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 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 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "#sfb 13 mar 04" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "# modeled after the matlab s olution" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "L:=6;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"LG\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "Range:=x=-L..L,y=-L..L;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&RangeG6$/%\"xG;!\"'\"\"'/%\"yGF(" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 13 "fun:=x^2-y^2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% $funG,&*$)%\"xG\"\"#\"\"\"F**$)%\"yGF)F*!\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "with(plots):with(linalg):" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 759 "geodesic:=proc(x0,y0,v1,v2,h,jmax,limit)\nloc al q, p, r, fx, fy, n, t, j, v, tn, r2, tmin,points;\nq:=[x0,y0,eval(f un,\{x=x0,y=y0\})];\nfx:=diff(fun,x); fy:=diff(fun,y);\nn:=[eval(fx,\{ x=x0,y=y0\}),eval(fy,\{x=x0,y=y0\}),-1];\nv:=[v1, v2, n[1]*v1+n[2]*v2] ;\ntn:=h*v/norm(v,2);\nr:=q+v;\nj:=0;points:=[q];\nwhile ( (j < jmax) \+ and (abs(q[1]) < L) and (abs(q[2])1) then\n tmin:=eval(t,r2[1]);\n r:=eva l([x,y,z],r2[1]);\n for i from 2 to nops([r2]) do\n t2:=eval(t,r2[i ]);\n if ( evalb(eval(abs(t2) " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}{PARA 7 "" 1 "" {TEXT -1 32 "Warning, premature end of input\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "display(plot3d(fun,Range,style=wire frame,shading=z));" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "6 0 0" 744 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }