{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 }{CSTYLE "" 0 21 "" 0 1 0 0 0 1 0 0 0 0 2 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 "Heading 3" 4 5 1 {CSTYLE "" -1 -1 "" 1 12 0 0 0 0 1 0 0 0 0 0 0 0 0 }0 0 0 -1 0 0 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 "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 } 1 0 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 "Courier " 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 }{PSTYLE "" 0 258 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "" 0 259 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "restart; gc( ); inte rface(verboseproc=1); ever_load:= NULL :" }}}{EXCHG {PARA 258 "" 0 " " {TEXT -1 52 "Copyright (c) Pierre L. Douillet \n" }}{PARA 259 "" 0 "" {TEXT -1 281 "libre reproduction pour un usage uni versitaire sous reserve d'une copie compl\350te,\navec reproduction du programme source dont, en particulier, la pr\351sente mention\n\naucu ne garantie de fiabilit\351. \nen particulier, toute utilisation dans \+ un contexte industriel est vivement d\351conseill\351e" }}}{EXCHG {PARA 18 "" 0 "" {TEXT -1 12 "Manip(V5.07)" }}}{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) : ssavelib:= NULL: \nsavelib := proc() local filename, values, library, pathname, f; \nglobal savel ibname, ssavelib;\n if not assigned(savelibname) then savelibname := \+ op(1, [libname]) fi;\n filename := args[nargs];\n if not type(filena me, \{symbol,string\}) then \n ERROR(`last argument (filename) mus t be a symbol/string`) fi;\n values := args[1 .. nargs - 1];\n if no t type([values], list(\{symbol, string\})) then \n ERROR(`argument s must be symbol/string`) fi;\n if not type([savelibname], list(strin g)) then \n ERROR(`savelibname assigned improperly`) fi;\nssavelib := ssavelib, values;\n for library in [savelibname] do\n pat hname := cat(library, '`/`', filename);\n f := subs('T' = (valu es, pathname), proc() save T end);\n if traperror(f()) <> laste rror then RETURN() fi\n od;\n ERROR(`unable to save `.filename.` in`, savelibname)\nend :" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 4 "ini t" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "system(dater): fd:= fop en(\"c:/windows/date.txt\", READ):\ndate_string:= readline(fd); fclose (fd);" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 230 "message = \"splines ; a uthor : ; last modif (V5) : \".\n (substring(date _string, 22..35)):\n`splines/init`:= \n subs(%, proc() option `Copyri ght Pierre L. Douillet`; \n print(convert(message, symbol)) end): %() ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,date_stringGQDLa~date~actuelle ~est~Jeu~27/01/20006\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gosplines~~ ;~~author~:~~~;~~last~modif~(V5)~:~Jeu~27/01/2000G" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "xreadlib" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 249 "xreadlib:= proc(qui::uneval) option `Copyrigh t Pierre L. Douillet` ; local qui2, ou ; \nqui2:= eval(qui,1); to 10 d o ou:= searchtext('`/`', qui2); if ou = 0 then break fi;\nqui2:= subst ring(qui2, ou+1..-1): assign(qui2, readlib(qui)); od; qui2 ;\n end;" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xreadlibGR6#'%$quiG%'unevalG6$%%qu i2G%#ouG6#%=Copyright~Pierre~L.~DouilletG6\"C%>8$-%%evalG6$9$\"\"\"?(F /F7F7\"#5%%trueGC&>8%-%+searchtextG6$.%\"/GF2@$/F=\"\"!%&breakG>F2-%*s ubstringG6$F2;,&F=F7F7F7!\"\"-%'assignG6$F2-%(readlibG6#F6F2F/F/F/" }} }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 66 "Usuels (pie2mat, mat2pie, lin2mat, val_mat, clin, clin _a, mat_plo)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "pie2mat" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 319 "pie2mat:= proc(fb1) opt ion `Copyright Pierre L. Douillet`; \nlocal z; global x; z:='z': \nif \+ nargs=2 then fb1 else convert(fb1,piecewise); fi; [op(%)]; \n[seq( [ % [2*z-1],%[2*z]], z=1..ceil(nops(%)/2)-1), [x%(pie2matGR 6#%$fb1G6#%\"zG6#%=Copyright~Pierre~L.~DouilletG6\"C)>8$.F/@%/9#\"\"#9 $-%(convertG6$F5%*piecewiseG7#-%#opG6#%\"%G7$-%$seqG6$7$&F>6#,&F/F4!\" \"\"\"\"&F>6#,$F/F4/F/;FH,&-%%ceilG6#,$-%%nopsGF=#FHF4FHFGFH7$2%\"xG%) infinityG-F<6$FGF>-%'removeG6%%%typeGF>7$%\"=G%)anythingG-%$mapG6$RF(F ,F,F,7$-%$rhsG6#&F56#FH&F56#F4F,F,F,F>-%'matrixGF=F,6#FXF," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "mat2pie" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 178 "mat2pie:= proc(fun) option `Copyright Pierre \+ L. Douillet`; \nconvert(fun, list); map(proc(u) global x; [x<=u[1], u[ 2]] end, %); convert((piecewise@op@map)(op,%), piecewise); end ;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mat2pieGR6#%$funG6\"6#%=Copyright~P ierre~L.~DouilletGF(C%-%(convertG6$9$%%listG-%$mapG6$R6#%\"uGF(F(F(7$1 %\"xG&F/6#\"\"\"&F/6#\"\"#F(6#F9F(%\"%G-F-6$--%\"@G6$-FF6$%*piecewiseG %#opGF26$FKFAFJF(F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "lin2mat" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 270 "lin2mat:= pro c() option `Copyright Pierre L. Douillet`; global x; local k, mat; \nm at:= matrix(1+nargs/2,2,[args,infinity,0]); \nfor k from 2 to nargs/2 \+ do mat[k,2]:= (args[2*k-2]*(args[2*k-1]-x)+ args[2*k]*(x-args[2*k-3])) /(args[2*k-1]-args[2*k-3]) od;\nmatrix(mat); end ;" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%(lin2matGR6\"6$%\"kG%$matG6#%=Copyright~Pierre~L.~D ouilletGF&C%>8%-%'matrixG6%,&\"\"\"F39##F3\"\"#F67%9\"%)infinityG\"\"! ?(8$F6F3,$F4F5%%trueG>&F.6$F " 0 "" {MPLTEXT 1 0 198 "val_m at:= proc(mat, xx::numeric) option `Copyright Pierre L. Douillet`; glo bal x ; local k; \nfor k from 1 to rowdim(mat)-1 do if xx< mat[k,1] \n then break fi; od; RETURN(subs(x=xx, mat[k,2])) ; end ;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%(val_matGR6$%$matG'%#xxG%(numericG6#%\"kG6#%=C opyright~Pierre~L.~DouilletG6\"C$?(8$\"\"\"F3,&-%'rowdimG6#9$F3!\"\"F3 %%trueG@$29%&F86$F2F3%&breakG-%'RETURNG6#-%%subsG6$/%\"xGF=&F86$F2\"\" #F/6#FHF/" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 4 "clin" }{MPLTEXT 1 0 0 "" }}{PARA 0 "" 0 "" {MPLTEXT 0 21 81 "smaller_clin:= proc(tx,ty); ( ty=infinity) or((tx<>infinity) and is(tx " 0 "" {MPLTEXT 1 0 61 "smaller_clin:= proc(tx,ty); (ty=infinity) or is( tx " 0 "" {MPLTEXT 1 0 497 "clin:= proc(c1,f1 ,c2,f2) option `Copyright Pierre L. Douillet`; local mxj, mxk, j,k, rl ; \nmxj:= rowdim(f1); mxk:= rowdim(f2); j:=1; k:= 1 ; rl:= NULL; \nwhi le (j< mxj) or (k%%clinGR6&%#c1G%#f1G%#c2G%#f2G6'% $mxjG%$mxkG%\"jG%\"kG%#rlG6#%=Copyright~Pierre~L.~DouilletG6\"C*>8$-%' rowdimG6#9%>8%-F86#9'>8&\"\"\">8'FB>8(%%NULLG?(F3FBFBF352FAF62FDF<@'/& F:6$FAFB&F?6$FDFBC%>FF6$FF7$FN,&*&9$FB&F:6$FA\"\"#FBFB*&9&FB&F?6$FDFen FBFB>FA,&FAFBFBFB>FD,&FDFBFBFB-%-smaller_clinG6$FNFPC$>FFFT>FAF[oC$>FF 6$FF7$FPFV>FDF]o7$FF7$%)infinityG,&*&FX\"\"\"&F:6$F6FenFBFB*&FgnF^p&F? 6$F " 0 "" {MPLTEXT 1 0 698 "clin_a:= proc(c1, ff1, c2, ff2, ff3) option `Copyrig ht Pierre L. Douillet`; \nlocal mx1, mx2, j1, j2, j3; \nmx1:= arrdim(f f1); mx2:= arrdim(ff2); j1:=1; j2:= 1; j3:=1; \nassign(ff3, matrix(mx 1+mx2-1, 2, array) ); userinfo(5, 'pie', mx1, mx2, eval(ff3)); \nwhile (j1< mx1) or (j2%'cl in_aGR6'%#c1G%$ff1G%#c2G%$ff2G%$ff3G6'%$mx1G%$mx2G%#j1G%#j2G%#j3G6#%=C opyright~Pierre~L.~DouilletG6\"C.>8$-%'arrdimG6#9%>8%-F96#9'>8&\"\"\"> 8'FC>8(FC-%'assignG6$9(-%'matrixG6%,(F7FCF=FC!\"\"FC\"\"#%&arrayG-%)us erinfoG6'\"\"&.%$pieGF7F=-%%evalG6#FK?(F4FCFCF452FBF72FEF=C%>&FK6$FGFQ ,&*&9$FC&F;6$FBFQFCFC*&9&FC&F@6$FEFQFCFC>FG,&FGFCFCFC@'/&F;6$FBFC&F@6$ FEFCC%>&FK6$,&FGFCFPFCFCF[p>FB,&FBFCFCFC>FE,&FEFCFCFC-%-smaller_clinG6 $F[pF]pC$>FapF[p>FBFepC$>FapF]p>FEFgp>&FK6$FGFC%)infinityG>F\\o,&*&F`o \"\"\"&F;6$F7FQFCFC*&FdoFhq&F@6$F=FQFCFC@$2FGFOC$>FK-%*submatrixG6%FK; FCFG;FCFQ%%NULLGFKF4F4F4" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "mat_pl o" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 1020 "mat_plo : = proc(fun1::uneval) option `Copyright Pierre L. Douillet`; \nglobal x , val_mat; local opt, k, kmax, k_max, p, pmax, fun, xti, yti, mem, x_m ax ; \nopt := [args[2..-1]] ; \n Digits:= xoption(opt, 'digits', Digi ts) ; fun := matrix(eval(fun1), array) : kmax := rowdim(fun) ; \n x_m ax:= xoption(opt, 'xmax', fun[kmax-1,1]*1.3) ;\n for k_max from 1 to \+ kmax-1 while fun[k_max,1] < x_max do od; \n fun[k_max,1] := x_max; \+ \n k:= 'k': p:='p': seq(fun[k,1], k=1..k_max) ; xti := evalf([%],3) : \n map2(val_mat, fun, xti ): yti := evalf(%, 3): \n pmax := xoption( opt, 'numpoints', '10') ; \n if (fun[1,1]>0) and (fun[1,2]=0) then me m := [0,0], [fun[1,1], 0] else mem := NULL fi :\n mem, seq( (op@map) (subs, [seq(x=fun[k,1]+(fun[k+1,1]-fun[k,1])*p/pmax, p= 0..pmax )], [x , fun[k+1,2]]), k= 1..k_max-1) ;\n plot([%] , 'font' = ['TIMES', 'RO MAN', 20], 'labelfont' = ['TIMES', 'ROMAN', 20], 'axesfont' = ['TIMES' , 'ROMAN', 20],\n 'xtickmarks'= xti, 'ytickmarks'= yti, 'axes' ='framed', 'color'='black', op(opt)) : end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mat_ploGR6#'%%fun1G%'unevalG6-%$optG%\"kG%%kmaxG%&k_ maxG%\"pG%%pmaxG%$funG%$xtiG%$ytiG%$memG%&x_maxG6#%=Copyright~Pierre~L .~DouilletG6\"C3>8$7#&9\"6#;\"\"#!\"\">%'DigitsG-%(xoptionG6%F;.%'digi tsGFD>8*-%'matrixG6$-%%evalG6#9$%&arrayG>8&-%'rowdimG6#FK>8.-FF6%F;.%% xmaxG,$&FK6$,&FU\"\"\"FBF]oF]o$\"#8FB?(8'F]oF]oF\\o2&FK6$FaoF]oFZF8>Fc oFZ>8%.Fgo>8(.Fjo-%$seqG6$&FK6$FgoF]o/Fgo;F]oFao>8+-%&evalfG6$7#%\"%G \"\"$-%%map2G6%%(val_matGFKFdp>8,-Ffp6$FipFjp>8)-FF6%F;.%*numpointsG. \"#5@%32\"\"!&FK6$F]oF]o/&FK6$F]oFAF^r>8-6$7$F^rF^r7$F_rF^r>Fer%%NULLG 6$Fer-F]p6$--%\"@G6$%#opG%$mapG6%%%subsG7#-F]p6$/%\"xG,&F_pF]o*&*&,&&F K6$,&FgoF]oF]oF]oF]oF]oF_pFBF]oFjoF]o\"\"\"Fdq!\"\"F]o/Fjo;F^rFdq7$Fjs &FK6$FatFA/Fgo;F]o,&FaoF]oFBF]o-%%plotG6+Fhp/.%%fontG7%.%&TIMESG.%&ROM ANG\"#?/.%*labelfontGFbu/.%)axesfontGFbu/.%+xtickmarksGFdp/.%+ytickmar ksGF`q/.%%axesG.%'framedG/.%&colorG.%&blackG-Fbs6#F;F86$FjsF^qF8" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "ever_load:= ever_load, pie2m at, mat2pie, lin2mat, val_mat, smaller_clin, clin, clin_a, mat_plo;" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*ever_loadG6-%(xoptionG%'forgetG%#i dG%(pie2matG%(mat2pieG%(lin2matG%(val_matG%-smaller_clinG%%clinG%'clin _aG%(mat_ploG" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 59 "Int\351gration (mat_primi, mat_int, mat_esp, mat_var, mat_lap)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "mat_primi" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 322 "mat_primi:= proc (fun, var) option `Copyright Pierre L. Douillet`; local k, res, u; u:= 'u': res := copy(fun); \nres[1,2] \+ := int(subs(var = u, fun[1,2]),u = 0 .. var); \nfor k from 2 to rowdi m(fun) do int(subs(var = u,fun[k,2]),u = fun[k-1,1] .. var);\nres[k,2] := %+ subs(var = fun[k-1,1], res[k-1,2]) od; matrix(res) end ;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%*mat_primiGR6$%$funG%$varG6%%\"kG%$r esG%\"uG6#%=Copyright~Pierre~L.~DouilletG6\"C'>8&.F2>8%-%%copyG6#9$>&F 56$\"\"\"\"\"#-%$intG6$-%%subsG6$/9%F2&F9FF=-%'rowdi mGF8%%trueGC$-F@6$-FC6$FE&F96$FLF>/F2;&F96$,&FLF=!\"\"F=F=FF>&F5FV,&% \"%GF=-FC6$/FFFY&F56$FenF>F=-%'matrixG6#F5F/F/F/" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 7 "mat_int" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 204 "`splines/mat_int` := proc() option `Copyright Pierre L. Douillet`; local tmp; \ntmp:= mat_primi(args);\nif tmp[-1,1]=infin ity then limit(tmp[-1,2], args[2]=infinity) else (sort@expand)( tmp[-1 ,2]) fi; end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0splines/mat_intGR 6\"6#%$tmpG6#%=Copyright~Pierre~L.~DouilletGF&C$>8$-%*mat_primiG6#9\"@ %/&F-6$!\"\"\"\"\"%)infinityG-%&limitG6$&F-6$F6\"\"#/&F16#F>F8--%\"@G6 $%%sortG%'expandG6#F " 0 "" {MPLTEXT 1 0 135 "mat_esp := proc (ma) option `Copyright Pierre L. Douillet`; globa l x; \nmat_int(map(proc(z) global x; [z[1], x*z[2]] end, ma) ,x); end \+ ;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 286 "mat_var0 := proc (ma::uneval ) option `Copyright Pierre L. Douillet`, remember; local _esp; global \+ x; \n_esp := mat_int(map( proc(z) global x; [z[1], x*z[2]] end, eval(m a)),x); \nmat_int(map( proc(z) global x; [z[1], x^2*z[2]] end, eval(ma )),x)-_esp^2; ['`esp`' = _esp, '`var`' = %] end :" }}{PARA 0 "> " 0 " " {MPLTEXT 1 0 151 "mat_var := proc(ma::uneval, clear) option `Copyrig ht Pierre L. Douillet`; global mat_var0; \nif nargs=2 then forget(mat_ var0, ma) fi;\nmat_var0(ma) end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %(mat_espGR6#%#maG6\"6#%=Copyright~Pierre~L.~DouilletGF(-%(mat_intG6$- %$mapG6$R6#%\"zGF(F(F(7$&9$6#\"\"\"*&%\"xGF8&F66#\"\"#F8F(6#F:F(F6F:F( F>F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(mat_varGR6$'%#maG%'unevalG% &clearG6\"6#%=Copyright~Pierre~L.~DouilletGF+C$@$/9#\"\"#-%'forgetG6$% )mat_var0G9$-F66#F7F+6#F6F+" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "mat _lap" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 110 "mat_lap := proc (ma) global x; mat_int(map(proc(zz) global x, z; \n [zz[1], z z[2]*exp(-z*x)] end, ma) ,x); end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 147 "splines[mat_int]:= 'readlib'(`splines/mat_int`) : sa velib(`splines/mat_int`, mat_primi, mat_esp, mat_var, mat_var0, mat_la p, `splines/mat_int.m`) :" }}}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "xdif fer" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 632 "`splines /xdiffer`:= proc(f1,f2) option `Copyright Pierre L. Douillet`; global \+ x; local mxj, mxk, j,k, rl; \nmxj:= rowdim(f1); mxk:= rowdim(f2); if ( mxj>mxk) then RETURN(procname(f2,f1)) fi; \nj:=1; k:= 1 ; rl:= NULL; \+ \nwhile (j< mxj) or (k " 0 "" {MPLTEXT 1 0 102 "splines[xdiffer]:= 'readlib '(`splines/xdiffer`) : \n savelib(`splines/xdiffer`, `splines/xdiffer .m`) :" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%0splines/xdifferGR6$%#f1G% #f2G6'%$mxjG%$mxkG%\"jG%\"kG%#rlG6#%=Copyright~Pierre~L.~DouilletG6\"C ->8$-%'rowdimG6#9$>8%-F66#9%@$2F:F4-%'RETURNG6#-9!6$F=F8>8&\"\"\">8'FH >8(%%NULLG?(F1FHFHF152FGF42FJF:@'/&F86$FGFH&F=6$FJFHC%>FL6$FL7$FT*&&F8 6$FG\"\"#FH),&FgnFH&F=6$FJFin!\"\"Fin\"\"\">FG,&FGFHFHFH>FJ,&FJFHFHFH- %-smaller_clinG6$FTFVC$>FLFZ>FGFaoC$>FL6$FL7$FVFfn>FJFco7$FL7$%)infini tyG*&&F86$F4FinFH),&FcpFH&F=6$F:FinF^oFinF_o-%'matrixG6#%\"%G-%(mat_in tG6$F\\q%\"xG-%%sqrtG6#-%&evalfG6$-%'expandGF[q\"#IF16#F`qF1" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 24 "convol, version diverses" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 35 "Troisi\350me version (\340 travers xplif)" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 329 "`convol/smaller` := proc(a,b) loca l rep, ou_ca; \nif b=infinity then RETURN(true) fi; \nif a=infinity th en RETURN(false) fi;\nrep:= is(ax)=addressof , ou_ca)); fi;\nrep end:" }}}{SECT 0 {PARA 5 "" 0 "" {TEXT -1 10 "tri \+ fusion" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 501 "`convol/fus` := p roc(la::list, lb::list) local lc, pa,pb,pc, mxa, mxb; \nmxa:= nops(la) ; mxb:= nops(lb); pa:=1; pb:=1; pc:=1; lc:= array(1..mxa+mxb);\nwhile \+ (pa<=mxa) and (pb<=mxb) do if `convol/smaller`(la[pa],lb[pb]) \nthen l c[pc]:=la[pa]; pa:=pa+1; else lc[pc]:=lb[pb]; pb:=pb+1;fi;\npc:=pc+1; \+ od;\nwhile (pa<=mxa) do lc[pc]:=la[pa]; pa:=pa+1; pc:=pc+1; od;\nwhile (pb<=mxb) do lc[pc]:=lb[pb]; pb:=pb+1; pc:=pc+1; od; \nconvert(lc,lis t); end :\n`value/Fus`:= proc(x); `convol/fus`(op(value([op(x)]))) end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*value/FusGR6#%\"xG6\"F(F(-%+c onvol/fusG6#-%#opG6#-%&valueG6#7#-F-6#9$F(F(F(" }}}}{SECT 0 {PARA 5 " " 0 "" {TEXT -1 10 "tri Maple " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 258 "`convol/tri` := proc(li) global `convol/smaller`; local infi; \+ \n# print(` tri : `, args); \nif has (li, infinity) then infi:= true; \+ remove(has, li, infinity) \nelse infi:= false; li fi; \nsort(%, `convo l/smaller`); if infi then [op(%), infinity] else % fi; end :" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 " `value/Tri`:= proc(li::list ); `convol/tri`(value(li)) end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% *value/TriGR6#'%#liG%%listG6\"F*F*-%+convol/triG6#-%&valueG6#9$F*F*F* " }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 234 "`convol/xli` := proc \+ (ang_f, ang_g) global glob_assu ; \nmap(proc(c,li) (op@map)(proc(a,b) \+ a+b end, li, c) end, \n subs(infinity=NULL, ang_f), ang_g) ;\nxplif( \+ Tri(convert(convert(%,set), list)), [glob_assu]) ; [op(%), infinity] ; end :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1256 "`splines/convol ` := proc(ff, gg) option `Copyright Pierre L. Douillet`; \nglobal glob _assu, t, x ;\nlocal mxf, mxg, sq_ang_f, li_ang_g, sq_g_ang, \n kk, \+ x_li, mxr, t_tri, jj, _res, somme, nu, pg, vg, pf, vf ; kk:='kk' :\nmx f := rowdim(ff) ; sq_ang_f := op(map2(op,1,ff)); \nmxg := rowdim(gg) ; \nli_ang_g := subs(infinity=NULL, map2(op,1,gg)) ; \nsq_g_ang := seq( x-li_ang_g[mxg-kk], kk=1..mxg-1) ; \nx_li := `convol/xli`([sq_ang_f], \+ li_ang_g) ; userinfo(5, 'pie', 'x_li' = %) ; \nmxr := nops(x_li) ; _re s := matrix(map(z->[z,0], x_li)) ; kk:='kk' :\n\nfor jj from 1 to mxr- 1 do \n if jj=mxr-1 then x_li[jj]1) or (pf " 0 "" {MPLTEXT 1 0 48 "splines[convol]:= 'read lib'(`splines/convol`) : " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 134 "savel ib(`splines/convol`, `convol/xli`, `convol/tri`, `convol/fus`, `convol /smaller`, `value/Tri`, `value/Fus`, `splines/convol.m`) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%/splines/convolGR6$%#ffG%#ggG63%$mxfG%$mxg G%)sq_ang_fG%)li_ang_gG%)sq_g_angG%#kkG%%x_liG%$mxrG%&t_triG%#jjG%%_re sG%&sommeG%#nuG%#pgG%#vgG%#pfG%#vfG6#%=Copyright~Pierre~L.~DouilletG6 \"C/>8).F@>8$-%'rowdimG6#9$>8&-%#opG6#-%%map2G6%FK\"\"\"FG>8%-FE6#9%>8 '-%%subsG6$/%)infinityG%%NULLG-FN6%FKFPFU>8(-%$seqG6$,&%\"xGFP&FW6#,&F RFPF@!\"\"Fdo/F@;FP,&FRFPFdoFP>8*-%+convol/xliG6$7#FIFW-%)userinfoG6% \"\"&.%$pieG/.Fio%\"%G>8+-%%nopsG6#Fio>8.-%'matrixG6#-%$mapG6$R6#%\"zG F=6$%)operatorG%&arrowGF=7$FG\"\"!F=F=F=Fio>F@FA?(8-FPFP,&FhpFPFdoFP%% trueGC/@%/F^rF_r2&Fio6#F^rF`o6$Fdr2F`o&Fio6#,&F^rFPFPFP-F_p6%FapFbp/.F `o;FerFir6$-%$TriG6#7$FIF[o7$%*glob_assuGFfp>8,-%&xplifG6#Ffp-F_p6%Fap Fbp/.FisFfp>8/F[r>80F[r>81FR>82-FY6$/F`o,&F`oFP%\"tGFdo&FU6$Fft\"\"#>8 3FP>84-FY6$/F`oF]u&FG6$FbuF`u?(F=FPFPF=52FPFft2FbuFCC&>Fdt,&FdtFPFPFP- F_p6)FapFbpFdt/.FbuFbuFdu/.FftFftFht@%-%$hasG6$&Fis6#FdtF`oC$>Fft,&Fft FPFdoFP>FhtFitC$>Fbu,&FbuFPFPFP>FduFeu>Fbt,&FbtFP-%$intG6$*&FhtFPFduFP /F]u;F[w&Fis6#F`vFP>&F]q6$F[sF`uFbt-F_q6#F]qF=6%FgsF]uF`oF=" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 60 "Version acc\351l\351r\351e (impl\351mentation 'array' et \+ pas 'listlist')" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 566 "`convol_ a/fus` :=proc(la::array, lb::array, lc::symbol) global x, adrx; \nloca l pa,pb,pc, mxa, mxb; \nassume(args[4..-1]); adrx:= addressof(x); # l a variable qualifi\351e \nmxa:= arrdim(la); mxb:= arrdim(lb); pa:=1; p b:=1; pc:=1; lc:= array(1..mxa+mxb);\nwhile (pa<=mxa) and (pb<=mxb) do if `convol/smaller`(la[pa],lb[pb]) \nthen lc[pc]:=la[pa]; pa:=pa+1; e lse lc[pc]:=lb[pb]; pb:=pb+1;fi;\npc:=pc+1; od;\nwhile (pa<=mxa) do lc [pc]:=la[pa]; pa:=pa+1; pc:=pc+1; od; while (pb<=mxb) do lc[pc]:=lb[pb ]; pb:=pb+1; pc:=pc+1; od;\nx:='x': lc:= map2(subs, pointto(adrx)=x, l c); end: " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 170 "`convol_a/xli ` := proc (ang_f::list, ang_g:: list); \n map(proc(c,li) (op@map)(pro c(a,b) a+b end, li, c) end, ang_f, ang_g );\nconvert(convert(%,set), l ist); sort(%); end:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 180 "jim e:= 0: jnt:= proc(expr, _v1, _v2) global jime, _X; local stamp; stamp: =time();\n `int/indef`(expr); subs(_X=_v2,%)-subs(_X=_v1,%); expand(% ); \njime:=jime+time()-stamp; %%; end :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1458 "convol_a:= proc(ff::array, gg::array, _res::name) g lobal x, _X, infolevel, `int/indef`;\nlocal fft, ggt, mxf, mxg, ang_g, kk, x_li, mxr, jj, somme, nu, pg, vg, pf, vf, ang_f, g_ang, t_tri;\nt _tri:= 't_tri'; kk:= 'kk': mxf:= arrdim(ff); mxg:= arrdim(gg); # xtime (debut); \nang_f:= [seq(ff[kk,1], kk=1..mxf-1)]; \nang_g:= [seq(gg[kk, 1], kk=1..mxg-1)]; # !!! infinity !!!\n\nx_li:= `convol_a/xli`(ang_f, \+ ang_g); userinfo(5, 'pie', 'x_li' = %); \nmxr:= nops(x_li)+1; \n_res:= matrix(mxr,2, array); for kk to mxr-1 do _res[kk,1]:= x_li[kk] od; \n _res[mxr,1]:= infinity; _res[1,2]:= 0;\ng_ang:= array([seq(x-ang_g[mxg -kk], kk=1..mxg-1)]); ang_f:= array([op(ang_f), infinity]);\nfft:= map 2(subs,x=_X,ff); ggt:= map2(subs,x=x-_X,gg); \n\nfor jj from 1 to mx r-1 do jj; # xres_run([\", xtime(\")]);\n forget(`int/indef`, 'reiniti alize' = false);\n if jj=88 then infolevel['pie']:=10 else infolevel[' pie']:=1; fi; \n if jj=mxr-1 then x_li[jj]1) or (pf " 0 "" {MPLTEXT 1 0 156 "splines[convol_a]:= 'readlib'(`splines/convol_a`) : \+ savelib(convol_a, 'jime', jnt, `convol_a/xli`, `convol_a/fus`, `convol /smaller`, `splines/convol_a.m`) :" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 175 "subs(readlib= _readlib, eval(splines)): \nsort(op( %), proc(a,b) lexorder(lhs(a) , lhs(b)) end): 'elements' = vector(%, c olumn);\n'ever_loaded' = readlib(`pldx/xcol`)(ever_load);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%)elementsGL&/%'convolG-%)_readlibG6#%/splines /convolG/%)convol_aG-F)6#%1splines/convol_aG/%(mat_intG-F)6#%0splines/ mat_intG/%(xdifferG-F)6#%0splines/xdifferG%'columnG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#/%,ever_loadedGL-%(xoptionG%'forgetG%#idG%(pie2matG%( mat2pieG%(lin2matG%(val_matG%-smaller_clinG%%clinG%'clin_aG%(mat_ploG% 'columnG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "savelib('spline s', `splines/init`, ever_load, `splines.m`);" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "Contr\364le" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "liste:= select(type, [ssavelib], procedure): sort(%);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7A%%clinG%'clin_aG%+convol/fusG%/convol/smaller GF'%+convol/triG%+convol/xliG%)convol_aG%-convol_a/fusG%-convol_a/xliG %'forgetG%#idG%$jntG%(lin2matG%(mat2pieG%(mat_espG%(mat_lapG%(mat_ploG %*mat_primiG%(mat_varG%)mat_var0G%(pie2matG%-smaller_clinG%/splines/co nvolG%-splines/initG%0splines/mat_intG%0splines/xdifferG%(val_matG%*va lue/FusG%*value/TriG%(xoptionG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 114 "readlib(mmint): lasterror:= 'lasterror': _eps:= '_eps' : jime := 'jime' : \nfor _kkkk in liste do mmint(_kkkk); od;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@--------------~a~--------------6\"" }}{PARA 6 " " 1 "" {TEXT -1 54 "Declared global variables, but never used: \+ : x" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QF--------------~mat_var~----- ---------6\"" }}{PARA 6 "" 1 "" {TEXT -1 58 "Parameters never used exp licitly: : clear" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q @--------------~a~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "De clared global variables, but never used: : x" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@--------------~a~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Declared global variables, but never used: : x" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@--------------~a~------------- -6\"" }}{PARA 6 "" 1 "" {TEXT -1 54 "Declared global variables, but ne ver used: : x" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QG----------- ---~convol_a~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "These g lobal variables start with an '_': : _X" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QB--------------~jnt~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "These global variables start with an '_': : _ X" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#Q@--------------~a~-------------- 6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "Names used as global names, but no t declared: : Fs" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QE----------- ---~forget~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 86 "Names use d as global names, but not declared: : `/`, `invalid arguments`, \+ [plots]" }}{PARA 6 "" 1 "" {TEXT -1 61 "These local variables were nev er used: : initproc" }}{PARA 6 "" 1 "" {TEXT -1 56 "Local \+ variables used before assigned : : pkg" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#QF--------------~mat_plo~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "These constants cannot be assigned a value: \+ : 10" }}{PARA 6 "" 1 "" {TEXT -1 55 "Names used as global names, b ut not declared: : 10" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "5 5 3 0" 434 }{VIEWOPTS 1 1 0 1 1 1803 }