{VERSION 3 0 "IBM INTEL NT" "3.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 0 0 255 1 0 2 0 0 1 0 0 0 0 }{CSTYLE "2D Math" -1 2 "Times" 1 14 128 0 0 1 0 0 2 0 0 0 0 0 0 }{CSTYLE "2D Output" 2 20 "" 1 14 0 0 128 1 0 0 0 0 0 0 0 0 0 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "" 1 16 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 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 1 0 0 0 0 0 0 0 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Heading 2" 3 4 1 {CSTYLE "" -1 -1 "" 1 14 0 0 0 0 0 0 0 0 0 0 0 0 0 } 0 0 0 -1 4 4 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 "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 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "Arial Black" 1 24 5 28 176 0 2 1 2 0 0 2 0 0 0 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Couri er" 0 9 0 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "R3 Font 2" -1 257 1 {CSTYLE "" -1 -1 "" 0 10 128 0 0 1 2 2 2 0 0 0 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "restart; gc( ); " }} }{EXCHG {PARA 18 "" 0 "" {TEXT -1 19 "Conformalin (V5.13)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "interface(verboseproc=1); ever_load := NULL :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 22 "Routines pr\351paratoires" }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 28 "Cr\351ation de la liste savelib" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 891 "unprotect (savelib) : ssave lib:= NULL: \nsavelib:= proc() local filename, values, library, pathn ame, f; \nglobal savelibname, ssavelib;\n if not assigned(savelibname ) then savelibname := op(1, [libname]) fi;\n filename := args[nargs]; \n if not type(filename, \{symbol,string\}) then \n ERROR(`last a rgument (filename) must be a symbol/string`) fi;\n values := args[1 . . nargs - 1];\n if not type([values], list(\{symbol, string\})) then \+ \n ERROR(`arguments must be symbol/string`) fi;\n if not type([sa velibname], list(string)) then \n ERROR(`savelibname assigned impr operly`) fi;\nssavelib:= ssavelib, values;\n for library in [saveli bname] do\n pathname := cat(library, '`/`', filename);\n \+ f := subs('T' = (values, pathname), proc() save T end);\n if t raperror(f()) <> lasterror then RETURN() fi\n od;\n ERROR(`unabl e to save `.filename.` in`, savelibname)\nend :" }}}}{SECT 0 {PARA 4 " " 0 "" {TEXT -1 4 "init" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 343 " system(dater): fd:= fopen(\"c:/windows/date.txt\", READ):\ndate_string := readline(fd): fclose(fd):\nmessage = \"conformalin ; co-author : \+ < Pierre L. Douillet > ; last modif (V5) : \".\n (substring(date_st ring, 22..35)):\n`conformalin/init`:= subs(% , proc( ) option `Copyrig ht Pierre L. Douillet`; \nprint(convert(message, symbol)); end ): %( );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%cpconformalin~~;~~co-author~:~< ~Pierre~L.~Douillet~~>~~;~~last~modif~(V5)~:~Mer~11/10/2000G" }}}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "xreadlib" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 249 "xreadlib:= proc(qui::uneval) option `Copyright Pi erre L. Douillet` ; local qui2, ou ; \nqui2:= eval(qui,1); to 10 do ou := searchtext('`/`', qui2); if ou = 0 then break fi;\nqui2:= substring (qui2, ou+1..-1): assign(qui2, readlib(qui)); od; qui2 ;\n end;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xreadlibGR6#'%$quiG%'unevalG6$%%qui 2G%#ouG6#%=Copyright~Pierre~L.~DouilletG6\"C%>8$-%%evalG6$9$\"\"\"?(F/ F7F7\"#5%%trueGC&>8%-%+searchtextG6$.%\"/GF2@$/F=\"\"!%&breakG>F2-%*su bstringG6$F2;,&F=F7F7F7!\"\"-%'assignG6$F2-%(readlibG6#F6F2F/F/F/" }}} }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "pr_x:= (x,y) ->x; convert( %, string);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%pr_xGR6$%\"xG%\"yG6 \"6$%)operatorG%&arrowGF)9$F)F)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q Kproc~(x,~y)~options~operator,~arrow;~x~end6\"" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 11 "Confo rmalin" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 3319 "`conformalin/con formal`:= proc(func) local t,x,xmin,xmax,ymin,ymax,curveseq,gl,glx,gly ,j,numx,numy, points,rang,u,v,w,wmax,wmin, y,k,cstart,z,zmax,zmin,xlab el,ylabel,plotopts,s,tt ; \nglobal ff, fa,varx, return_flag, pr_x, p r_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 type(ff,'algebraic') then fa:='f alse'; varx := indets(ff, name);\n if nops(varx) = 1 then varx := \+ op(varx) fi;\n else ERROR(\"first argument must be type algebraic or t ype procedure\")\n fi;\nt := 2; curveseq := NULL; glx := 11; gly := 11 ; numx := 21; numy := 21;\nxlabel := ``; ylabel := ``; plotopts := NUL L; 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]); z max := op(2,args[2]); t:= 3; \n elif 1 < nargs and type(args[2],'equat ion') 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,o p(2,args[2])); \n else zmin := 0; zmax := 1+I; xlabel := '`x `'; ylab el := '`y `'\n fi;\n\nif 1 < nops(varx) then ERROR(\"must be at most o ne indeterminant\") \n elif varx = \{\} then varx := 'varx' fi;\nrang \+ := NULL;\n\nif 2 < nargs and t = 3 and 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 := Re(wmax); ymax := Im(wmax); \n r ang := xmin .. xmax,ymin .. ymax\n elif 2 < nargs and t = 3 and type(a rgs[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 := Re(wmax); ymax := Im(wmax);\n ra ng := 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 op(1,t) = '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 the n\n ERROR(\"incorrect numxy given\")\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 op(1,t) = '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,g l);\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 ERROR(\"gridlines need \+ to be a list \")\n fi\n elif s = 'color1' then dcolor1 := rea dlib(`plot/color`)(tt)\n elif s = 'color2' then dcolor2 := readlib( `plot/color`)(tt)\n elif s= 'procx' then if type(tt,'procedure') th en pr_x:=eval(tt) \n else ERROR(\"PLD -> procx must be type \+ procedure\") fi\n elif s= 'procy' then if type(tt,'procedure') then pr_y:=eval(tt) \n else ERROR(\"PLD -> procy must be type pr ocedure\") fi\n elif s= 'return' then return_flag:=true\n else \+ plotopts := plotopts,t\n fi\n od;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 2574 "plotopts := readlib(`plot/options2d`)(plotopts);\nxmin := Re(z min); ymin := Im(zmin); xmax := Re(zmax); ymax := Im(zmax);\nxinc := ( xmax-xmin)/(numx-1); yinc := (ymax-ymin)/(numy-1); \nxgrid := (xmax-xm in)/(glx-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 i f lasterror = w then\n if j = 1 then cstart := 2; y := y+yi nc; next\n else k := 'k'; points := [[u[k],v[k]] $ (k = cs tart .. j-1)];\n curveseq := curveseq,CURVES(points,dcol or1);\n cstart := j+1; y := y+yinc; next\n f i\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'; p oints := [[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 fi; \n u[j ] := Re(w); v[j] := Im(w); y := y+yinc\n od;\n if cstart < numy t hen k := 'k'; points := [[u[k],v[k]] $ (k = cstart .. numy)];\n \+ curveseq := curveseq,CURVES(points,dcolor1) fi;\n x := x+xgrid \nod;\ny := 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 := traperro r(evalf(ff( z )));\n if lasterror = w then\n if j = 1 then cstart := 2; x := x+xinc; next\n else k := 'k'; po ints := [[u[k],v[k]] $ (k = cstart .. j-1)];\n curveseq \+ := curveseq,CURVES(points,dcolor2);\n cstart := j+1; x : = x+xinc; next\n fi\n fi\n else w := traper ror(evalf(subs(varx = z , ff)));\n if lasterror = w then\n \+ if j = 1 then cstart := 2; x := x+xinc; next\n els e k := 'k'; points := [[u[k],v[k]] $ (k = cstart .. j-1)];\n \+ curveseq := curveseq,CURVES(points,dcolor2);\n csta rt := 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 p lotopts := plotopts,AXESLABELS(xlabel,ylabel) fi;\nif rang <> NULL the n plotopts := plotopts,VIEW(rang) fi;\n if return_flag then RETURN(cur veseq,plotopts) else PLOT(curveseq,plotopts) fi;\nend :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "conformalin[conformal]:= 'readlib'( `conformalin/conformal`); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%,conf ormalinG6#%*conformalG-%(readlibG6#%6conformalin/conformalG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "savelib(`conformalin/conform al`, `conformalin/conformal.m`) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 94 "ever_load:= ever_load, `conformalin/init`;\nsavelib(' conformalin', ever_load, `conformalin.m`);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*ever_loadG%1conformalin/initG" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 129 "subs(readlib= _readlib, eval(conformalin)): s ort(op(%), proc(a,b) lexorder(lhs(a) , lhs(b)) end): 'elements' = vect or(%, column);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "'ever_loaded' = v ector(sort([ever_load]), column);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/ %)elementsGL#/%*conformalG-%)_readlibG6#%6conformalin/conformalG%'colu mnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%,ever_loadedGL#%1conformalin/ initG%'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 70 "select(ty pe, \{ssavelib\}, procedure): \nliste:= sort(convert(%, list) );" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "readlib(mmint): lasterror:= 'laster ror':\nfor _kkkk in liste do lprint(_kkkk); mmint(_kkkk); od;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&listeG7$%6conformalin/conformalG%1c onformalin/initG" }}{PARA 6 "" 1 "" {TEXT -1 21 "conformalin/conformal " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@--------------~a~--------------6 \"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Parameters never used explicitly: \+ : y" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@------------- -~a~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Parameters never used explicitly: : x" }}{PARA 6 "" 1 "" {TEXT -1 1 " \027" }{TEXT -1 16 "conformalin/init" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "# with (conformalin);" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}} {MARK "7 6 8 1" 16 }{VIEWOPTS 1 1 0 1 1 1803 }