{VERSION 4 0 "IBM INTEL NT" "4.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 0 0 255 1 0 2 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 1 12 128 0 0 1 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "2D Output" 2 20 "" 1 13 0 0 128 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" 0 21 "" 0 1 0 0 0 1 0 0 0 0 2 0 0 0 0 1 }{PSTYLE "No rmal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 16 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 "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 "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 6 6 1 0 1 0 2 2 0 1 } {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 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 14 0 0 128 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 3 0 3 0 2 2 0 1 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Co urier" 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 "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 128 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 "Normal" -1 258 1 {CSTYLE "" -1 -1 "Times" 1 16 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 "Title" -1 259 1 {CSTYLE "" -1 -1 "Ti mes" 1 36 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }3 1 0 0 12 12 3 0 3 0 2 2 19 1 }{PSTYLE "Normal" -1 260 1 {CSTYLE "" -1 -1 "Times" 1 18 255 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 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 528 "restart: if kernelo pts(platform)=\"unix\" \n then unix:= true; win98:= false; \n date_st ring:= convert(substring(ssystem(\"date \"\"+%a %d/%m/%Y\"\" \")[2], 1 ..-2), symbol)\n else unix:= false; win98:= evalb(ssystem(\"win\")[2][ 1..13]=\"Vous utilisez\"); \n if win98 then tmp:= ssystem(\"date\")[2 ]; searchtext(\":\", tmp); \n tmp:= cat(substring(tmp, 1..%-2), \" \+ \", substring(tmp, %+1..-1));\n date_string:= substring(tmp, 22.. 35);\n else date_string:= ssystem(\"date /t\")[2][1..-2];\n fi: fi: ' unix'=unix, 'win98'=win98, 'date'= date_string;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%/%%unixG%&falseG/%&win98G%%trueG/%%dateGQ/Mer~14/09/200 56\"" }}}{EXCHG {PARA 260 "" 0 "" {TEXT -1 56 "sous win98, taper [entr \351e] pour sortir de la fenetre DOS" }}{PAGEBK }{PARA 260 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 259 "" 0 "" {TEXT -1 20 "Conformalin (v6 8-15)" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 63 "Copyright (c) 1996-200 5 Pierre L. Douillet " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT -1 11 "Licence GPL" }}{PARA 258 "" 0 " " {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT -1 283 "libre reproduction p our un usage universitaire sous reserve d'une copie compl\350te,\navec reproduction du programme source dont, en particulier, la pr\351sente mention\n \naucune garantie de fiabilit\351. \nen particulier, toute \+ utilisation dans un contexte industriel est vivement d\351conseill\351 e\n" }}}{EXCHG {PARA 260 "" 0 "" {TEXT -1 39 "chargement automatique ( pas de readlib)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 15 "Initi alisations" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "gc( ); kernel opts(ASSERT=true):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 465 "[lib name][-1]: racine:= %[1..-4]:\ndo loc:= searchtext(\"\\\\\",racine); i f loc = 0 then break fi;\nracine:= cat(substring(racine,1..loc-1),\"/ \", substring(racine,loc+1..-1)); od:\ndo loc:= searchtext(\"\\\\\",ra cine); if loc = 0 then break fi;\nracine:= cat(substring(racine,1..loc -1),\"/\", substring(racine,loc+1..-1)); od:\nloc:= searchtext(\"MAPLE \", racine): if loc <> 0 then\nracine:= cat(substring(racine,1..loc-1) ,\"Maple\", substring(racine,loc+5..-1)); fi: \n'racine'=racine; " }} {PARA 11 "" 1 "" {XPPMATH 20 "6#/%'racineGQ,C:/MapleV6/6\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 69 "kernelopts(version): Version:= subs tring(%, 1..searchtext(\",\", %)-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%(VersionG%(Maple~6G" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 77 "Test i f \"pldx\" is preloaded, as required for this library to operate prope rly" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 206 "try read( cat(racine, \"upd ate/check.m\"));\nprint(`The usual 'update' directory stil exists, as \+ requiered`);\ncatch: print (` An 'update' repertory MUST be created, u sing 'pldx' package`);;\nend try; print(``);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%WThe~usual~'update'~directory~stil~exists,~as~requiere dG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%!G" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 27 "Biblioth \350que compl\351mentaire" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 66 "unprot ect(savelib); savelib:= proc() error \"savelib is gone\" end :" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "ssavelib:= NULL:" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1063 "xsavelib:= proc() local filename, values, library, pathname, f;\nglobal ssavelib, libname; option `Copyright Pl d`;\nif assigned(libname) then library := op(1, eval([libname], 1))\n \+ else error \"the global variable `libname' must be assigned\"\nend if; \nif nargs < 2 then error \"no names specified to save\" end if;\nfile name := args[nargs];\nvalues := args[1 .. nargs - 1] ;\nif not type(fi lename, '\{string, symbol\}') \n then error \"last argument (filenam e) must be a string\" end if;\nif not searchtext(\".m\", filename, -2 \+ .. -1) = 1 \n then error \"last argument (filename) must be a *.m str ing\" end if;\n if not type([values], 'list(\{symbol, string\})') \n \+ then f := remove(type, [values], \{symbol,string\}); \n error \"all \+ arguments must be symbols, cannot save these %1\", f\n end if;\n path name := cat(library, \"/\", filename);\n f := subs('T' = ( (op@map)(c onvert, [values], symbol), pathname), \n proc() save T end proc);\n try f(); ssavelib:= ssavelib, values; return; \n catch: print(last error); \n end try;\nerror \"unable to save %1 in %2\", [values], l ibrary\nend proc:" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 11 "Conformalin" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 3277 "conformalin:= proc(func) local t,x,xmin,xmax ,ymin,ymax,curveseq,gl,glx,gly,j,numx,numy, points,rang,u,v,w,wmax,wmi n, y,k,cstart,z,zmax,zmin,xlabel,ylabel,plotopts,s,tt ; \nglobal ff, \+ fa,varx, return_flag, pr_x, pr_y, dcolor1, dcolor2, xgrid,xinc,ygrid, yinc, lasterror, `plot/color`, `plot/options2d`, ``;\nu:='u': v:='v': \nff := eval(func);\nif type(ff,'procedure') then fa:='true';\n elif t ype(ff,'algebraic') then fa:='false'; varx := indets(ff, name);\n \+ if nops(varx) = 1 then varx := op(varx) fi;\n else ERROR(\"first argum ent must be type algebraic or type procedure\")\n fi;\nt := 2; curvese q := NULL; glx := 11; gly := 11; numx := 21; numy := 21;\nxlabel := `` ; ylabel := ``; plotopts := NULL; return_flag:= false; \npr_x:= (x,y) \+ ->x; pr_y:= (x,y)->y;\ndcolor1 := COLOUR('RGB',1.0 ,0,0); dcolor2 := \+ COLOUR('RGB',0,1.0 ,0); \n\nif 1 < nargs and type(args[2],'range') \n then zmin := op(1,args[2]); zmax := op(2,args[2]); t:= 3; \n elif 1 \+ < nargs and type(args[2],'equation') and type(op(2,args[2]),'range') \+ \n then varx := op(1,args[2]); t := 3; fa := 'false'; \n zmin := op( 1,op(2,args[2])); zmax := op(2,op(2,args[2])); \n else zmin := 0; zma x := 1+I; xlabel := '`x `'; ylabel := '`y `'\n fi;\n\nif 1 < nops(varx ) then ERROR(\"must be at most one indeterminant\") \n elif varx = \{ \} then varx := 'varx' fi;\nrang := NULL;\n\nif 2 < nargs and t = 3 an d type(args[3],'range') \n then t := 4; wmin := op(1,args[3]); wmax : = op(2,args[3]); \n xmin := Re(wmin); ymin := Im(wmin); xmax := R e(wmax); ymax := Im(wmax); \n rang := xmin .. xmax,ymin .. ymax\n el if 2 < nargs and t = 3 and type(args[3],'equation') and type(op(2,args [3]),'range') \nthen\n t := 4; wmin := op(1,op(2,args[3])); wmax := \+ op(2,op(2,args[3]));\n xmin := Re(wmin); ymin := Im(wmin); xmax := R e(wmax); ymax := Im(wmax);\n rang := xmin .. xmax,ymin .. ymax\n fi; \nfor j from t to nargs do t := args[j];\n if not type(t,'equation' ) then ERROR(\"invalid arguments\") \n else s := op(1,t); tt := op( 2,t) fi;\n if s = 'numxy' then\n if type(op(2,t),'list') then gl : = op(2,t);\n if nops(gl) = 2 then numx := op(1,gl); numy := op(2, gl);\n if not type(numx,'integer') and 0 < numx and type(numx,' integer') and 0 < numy then\n ERROR(\"incorrect numxy gi ven\")\n fi\n else ERROR(\"incorrect number \+ of numxy given\")\n fi\n else ERROR(\"numxy need to be \+ a list \")\n fi\n elif s = 'grid' then\n if type(op(2,t) ,'list') then gl := op(2,t);\n if nops(gl) = 2 then glx := op( 1,gl); gly := op(2,gl);\n if not type(glx,'integer') and 0 \+ < glx and type(gly,'integer') and 0 < gly then\n ERROR( \"incorrect gridlines given\")\n fi\n else ERROR( \"incorrect number of gridlines given\")\n fi\n else ER ROR(\"gridlines need to be a list \")\n fi\n elif s = 'color1 ' then dcolor1 := `plot/color`(tt)\n elif s = 'color2' then dcolor2 := `plot/color`(tt)\n elif s= 'procx' then if type(tt,'procedure') then pr_x:=eval(tt) \n else ERROR(\"PLD -> procx must be ty pe procedure\") fi\n elif s= 'procy' then if type(tt,'procedure') t hen pr_y:=eval(tt) \n else ERROR(\"PLD -> procy must be type procedure\") fi\n elif s= 'Return' then return_flag:=true\n el se plotopts := plotopts,t\n fi\n od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2565 "plotopts := `plot/options2d`(plotopts);\nxmin := Re(zmin); y min := Im(zmin); xmax := Re(zmax); ymax := Im(zmax);\nxinc := (xmax-xm in)/(numx-1); yinc := (ymax-ymin)/(numy-1); \nxgrid := (xmax-xmin)/(gl x-1); ygrid := (ymax-ymin)/(gly-1);\n\nx := xmin;\nto glx do y := ymin ; cstart := 1;\n for j to numy do z := evalf(pr_x(x,y)+I*pr_y(x,y)); \n if fa then w := traperror(evalf(ff( z )));\n if laste rror = w then\n if j = 1 then cstart := 2; y := y+yinc; nex t\n else k := 'k'; points := [[u[k],v[k]] $ (k = cstart .. j-1)];\n curveseq := curveseq,CURVES(points,dcolor1);\n cstart := j+1; y := y+yinc; next\n fi\n \+ fi\n else #fa \n w := traperror(evalf(subs(varx = z , ff)));\n if lasterror = w then\n if j = 1 then cstart := 2; y := y+yinc ; next\n else k := 'k'; points : = [[u[k],v[k]] $ (k = cstart .. j-1)];\n curveseq := cur veseq,CURVES(points,dcolor1);\n cstart := j+1; y := y+yi nc; next\n fi\n fi\n fi; \n u[j] := Re (w); v[j] := Im(w); y := y+yinc\n od;\n if cstart < numy then k : = 'k'; points := [[u[k],v[k]] $ (k = cstart .. numy)];\n cu rveseq := curveseq,CURVES(points,dcolor1) fi;\n x := x+xgrid\nod;\n y := ymin;\nto gly do x := xmin; cstart := 1;\n for j to numx do z : = evalf(pr_x(x,y)+I*pr_y(x,y));\n if fa then w := traperror(evalf (ff( z )));\n if lasterror = w then\n if j = 1 then cstart := 2; x := x+xinc; next\n else k := 'k'; points := [[u[k],v[k]] $ (k = cstart .. j-1)];\n curveseq := curv eseq,CURVES(points,dcolor2);\n cstart := j+1; x := x+xin c; next\n fi\n fi\n else w := traperror(eva lf(subs(varx = z , ff)));\n if lasterror = w then\n \+ if j = 1 then cstart := 2; x := x+xinc; next\n else k := \+ 'k'; points := [[u[k],v[k]] $ (k = cstart .. j-1)];\n cu rveseq := curveseq,CURVES(points,dcolor2);\n cstart := j +1; x := x+xinc; next\n fi\n fi\n fi;\n \+ u[j] := Re(w); v[j] := Im(w); x := x+xinc\n od;\n k := 'k';\n \+ if cstart < numx then k := 'k'; points := [[u[k],v[k]] $ (k = cstart \+ .. numx)];\n curveseq := curveseq,CURVES(points,dcolor2)\n fi; \n y := y+ygrid\n od;\nif xlabel <> `` or ylabel <> `` then plotopts := plotopts,AXESLABELS(xlabel,ylabel) fi;\nif rang <> NULL then ploto pts := plotopts,VIEW(rang) fi;\n if return_flag then RETURN(curveseq,p lotopts) else PLOT(curveseq,plotopts) fi;\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "xsavelib(conformalin, `conformalin.m`) :" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "lasterror:= 'lasterror': map (xmint, [ssavelib]):" }}{PARA 6 "" 1 "" {TEXT -1 11 "conformalin" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#QC--------------~pr_x~--------------6 \"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Parameters never used explicitly: \+ : y" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QC------------- -~pr_y~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Parameters ne ver used explicitly: : x" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "Tests" }} {EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 106 "conformalin(z, 1+I..2+2*I, 0 +0*I..2+2*I, scaling=constrained, color1=blue, color2= magenta, grid=[ 10,10]);" }}}{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 109 "conformalin(z^2 , 1+I..2+2*I, -4+0*I..4+8*I, scaling=constrained, color1=blue, color2= magenta, grid=[10,10]);" }}}{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 110 "conformalin(z, -3-3*I..3+3*I, -3-3*I..3+3*I, scaling=constrained, col or1=blue, color2= magenta, grid=[13,13]);" }}}{EXCHG {PARA 0 "" 0 "" {MPLTEXT 0 21 148 "conformalin((z-1)/(z+1), -4-3*I..2+3*I, -2-3*I..4+3 *I, scaling=constrained, \ncolor1=blue, color2= magenta, grid=[13,13], numxy=[60,60], axes=boxed);" }}}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 63 "Copyright (c) 1996-2005 Pierre L. Douillet " } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT -1 11 "Licenc e GPL" }}{PARA 258 "" 0 "" {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT -1 283 "libre reproduction pour un usage universitaire sous reserve d'une copie compl\350te,\navec reproduction du programme source dont, en pa rticulier, la pr\351sente mention\n \naucune garantie de fiabilit\351. \nen particulier, toute utilisation dans un contexte industriel est v ivement d\351conseill\351e\n" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 2 "1;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"\"" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "9 1 0 0" 7 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }