{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 "" 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 }{PSTYLE "" 0 260 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 261 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 0 "" }}}{EXCHG {PARA 258 "" 0 "" {TEXT -1 52 "Copyright (c) Pierre L. Douillet \n" }}{PARA 259 "" 0 "" {TEXT -1 282 "libre reproduction pour un usage universitaire sous reserve d'une copie compl\350te,\navec repro duction du programme source dont, en particulier, la pr\351sente menti on\n\naucune garantie de fiabilit\351. en particulier, toute utilisati on dans un contexte industriel est vivement d\351conseill\351e\n " }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "restart; gc( ); " }}}{EXCHG {PARA 18 "" 0 "" {TEXT -1 13 "Ndiff_(V5.15)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "interface(verboseproc=1); ever_load:= NULL :" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 90 "# ndiff[]:= 'readlib'(`ndiff /`) : savelib(`ndiff/`, `ndiff/.m`) : \n# mod\350le de d\351claration " }}}{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) : ssavelib:= NULL: \nsavel ib:= proc() local filename, values, library, pathname, f; \nglobal sav elibname, ssavelib;\n if not assigned(savelibname) then savelibname : = op(1, [libname]) fi;\n filename := args[nargs];\n if not type(file name, \{symbol,string\}) then \n ERROR(`last argument (filename) m ust be a symbol/string`) fi;\n values := args[1 .. nargs - 1];\n if \+ not type([values], list(\{symbol, string\})) then \n ERROR(`argume nts must be symbol/string`) fi;\n if not type([savelibname], list(str ing)) then \n ERROR(`savelibname assigned improperly`) fi;\nssavel ib:= ssavelib, values;\n for library in [savelibname] do\n p athname := cat(library, '`/`', filename);\n f := subs('T' = (va lues, pathname), proc() save T end);\n if traperror(f()) <> las terror then RETURN() fi\n od;\n ERROR(`unable to save `.filename .` in`, savelibname)\nend :" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 4 "i nit" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "system(dater): fd:= f open(\"c:/windows/date.txt\", READ):\ndate_string:= readline(fd): fclo se(fd):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 108 "message = \"ndiff ; a uthor : ; last modif (V5) : \".\n (substring(date _string, 22..35)):" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 134 "`ndiff/init` := subs(% , proc( ) option `Copyright Pierre L. Douillet`; \nunprotect (gamma);\nprint(convert(message, symbol)) end ) : %();" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%eondiff~~;~~author~:~~~;~~last~ modif~(V5)~:~Sam~09/12/2000G" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 " xreadlib" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 249 "xreadlib:= proc (qui::uneval) option `Copyright Pierre 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, readl ib(qui)); od; qui2 ;\n end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xrea dlibGR6#'%$quiG%'unevalG6$%%qui2G%#ouG6#%=Copyright~Pierre~L.~Douillet G6\"C%>8$-%%evalG6$9$\"\"\"?(F/F7F7\"#5%%trueGC&>8%-%+searchtextG6$.% \"/GF2@$/F=\"\"!%&breakG>F2-%*substringG6$F2;,&F=F7F7F7!\"\"-%'assignG 6$F2-%(readlibG6#F6F2F/F/F/" }}}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 92 "Package Ndiff (xdiff, x push, xleibniz, diff/Xdiff, int/Xdiff, combine/Xdiff, simplify/Xdiff) " }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 38 "# une procedure explicitement \+ lineaire" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 471 "Xdi ff := proc(quoi,qui, nb) option remember, `Copyright Pierre L. Douille t, 1996`; \nlocal quoi1, qui1, nb1; \nif quoi=0 then 0\nelif nb=0 then quoi \nelif type(quoi,`*`) and remove(has, quoi, qui) <> 1\n then r emove(has,quoi,qui)* 'Xdiff' (select(has,quoi,qui), qui,nb) \nelif typ ematch(quoi, 'Xdiff'(quoi1::anything, qui1::name, nb1::anything)) and \+ \n qui1=qui then procname(quoi1, qui, nb+nb1) \nelif type(quoi,`+` ) then map(procname, args) \nelse 'Xdiff'(args) fi end ; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&XdiffGR6%%%quoiG%$quiG%#nbG6%%&quoi1G%%qui1G %$nb1G6$%)rememberG%CCopyright~Pierre~L.~Douillet,~1996G6\"@-/9$\"\"!F 5/9&F5F43-%%typeG6$F4%\"*G0-%'removeG6%%$hasGF49%\"\"\"*&F>FC-.F$6%-%' selectGF@FBF7FC3-%*typematchG6$F4-FF6%'8$%)anythingG'8%%%nameG'8&FR/FT FB-9!6%FQFB,&F7FCFWFC-F:6$F4%\"+G-%$mapG6$FZ9\"-FF6#F]oF1F1F1" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 17 "# procedure xpush" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 267 "xpush :=proc(expr) options \+ `Copyright Pierre L. Douillet, 1996`; \nif type (expr, 'Xdiff' (anyth ing $3)) then \n Xdiff ( combine( diff(op(1,expr),op(2,expr)) , 'power ') , op(2,expr), op(3,expr)-1) \nelif has(expr, 'Xdiff') then map(proc name, args) else expr fi; \nend; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%&xpushGR6#%%exprG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(@'-%%ty peG6$9$-.%&XdiffG6#-%\"$G6$%)anythingG\"\"$-F26%-%(combineG6$-%%diffG6 $-%#opG6$\"\"\"F/-FB6$\"\"#F/.%&powerGFE,&-FB6$F8F/FD!\"\"FD-%$hasG6$F /F1-%$mapG6$9!9\"F/F(F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 19 "#pro cedure xleibniz" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 517 "xleibniz:= proc (expr, fact::polynom) option `Copyright Pierre L. Douillet, 1996`;\nlo cal exp1, exp2, xx, nn, k;\n if fact=0 then ERROR()\n elif typematch (expr, 'Xdiff'(exp1::anything, xx::name, nn::algebraic)) then\n k:= 'k': exp2 := combine(normal(exp1/fact), power);\n fact *Xdiff(exp2, xx, nn ) +\n sum(diff(fact, xx $ k)*Xdiff(exp2, xx, nn - k)*binomi al(nn, k), k = 1 .. degree(fact));\n collect(%, Xdiff, z -> ``(xfac tor(expand(z))))\n elif has(expr, 'Xdiff') then map(procname, args)\n else expr\n fi\nend;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xleibniz GR6$%%exprG'%%factG%(polynomG6'%%exp1G%%exp2G%#xxG%#nnG%\"kG6#%CCopyri ght~Pierre~L.~Douillet,~1996G6\"@)/9%\"\"!-%&ERRORGF3-%*typematchG6$9$ -.%&XdiffG6%'8$%)anythingG'8&%%nameG'8'%*algebraicGC&>8(.FM>8%-%(combi neG6$-%'normalG6#*&FC\"\"\"F6!\"\"%&powerG,&*&F6\"\"\"-F@6%FPFFFIFgnFg n-%$sumG6$*(-%%diffG6$F6-%\"$G6$FFFMFgn-F@6%FPFF,&FIFgnFM!\"\"Fgn-%)bi nomialG6$FIFMFgn/FM;Fgn-%'degreeG6#F6Fgn-%(collectG6%%\"%GF@R6#%\"zGF3 6$%)operatorG%&arrowGF3-%!G6#-%(xfactorG6#-%'expandG6#F=F3F3F3-%$hasG6 $F=F?-%$mapG6$9!9\"F=F3F3F3" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 14 "# \+ d\351rivation " }{MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 161 "`diff/Xdiff`:= proc(uu,xx,nb,yy) options `Copyright Pierre L. Dou illet, 1996`; \nif yy <> xx then Xdiff( diff(uu,yy), xx, nb) else Xdi ff(uu, xx, nb+1); fi; end; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+diff /XdiffGR6&%#uuG%#xxG%#nbG%#yyG6\"6#%CCopyright~Pierre~L.~Douillet,~199 6GF+@%09'9%-%&XdiffG6%-%%diffG6$9$F0F19&-F36%F8F1,&F9\"\"\"F=F=F+F+F+ " }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 13 "# int\351gration" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 191 "`int/Xdiff`:= proc(xxdi ff) options `Copyright Pierre L. Douillet, 1996`; \nif op(2,xxdiff)= _ X then subsop(3=op(3,xxdiff)-1, xxdiff); \nelse subsop( 1=int(op(1, xx diff), _X), xxdiff) fi ; end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*i nt/XdiffGR6#%'xxdiffG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(@%/-% #opG6$\"\"#9$%#_XG-%'subsopG6$/\"\"$,&-F.6$F7F1\"\"\"!\"\"F;F1-F46$/F; -%$intG6$-F.6$F;F1F2F1F(F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 45 "# combine : juste pour etre connu de combine" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "`combine/Xdiff`:= proc(z) options `Copyright Pierre L . Douillet, 1996`; \nz; end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%.com bine/XdiffGR6#%\"zG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(9$F(F(F (" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 10 "# simplify" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 539 "`simplify/Xdiff`:=proc(expr) option `Copyright \+ Pierre L. Douillet, 1996`; \nlocal quoi, qui, qui1, nb, nb1, return; \+ \nglobal xfactor;\nreturn:= expr; \nif typematch(expr, 'Xdiff'(quoi::a nything, qui::name, nb::anything)) then\n if type(nb, integer) then r eturn:= (expand@diff)(quoi, qui $ nb) \n elif typematch(quoi, (qui1:: name)^(nb1::anything)) and qui1 = qui \n then return:= qui^(nb1 \+ - nb)*nb1!/(nb1 - nb)!\nfi elif has(expr, 'Xdiff') then return:= map(p rocname, args)\nfi; if nargs=1 then return else (xfactor@simplify)(ret urn) fi end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%/simplify/XdiffGR6#% %exprG6(%%quoiG%$quiG%%qui1G%#nbG%$nb1G%'returnG6#%CCopyright~Pierre~L .~Douillet,~1996G6\"C%>8)9$@&-%*typematchG6$F5-.%&XdiffG6%'8$%)anythin gG'8%%%nameG'8'F@@&-%%typeG6$FE%(integerG>F4--%\"@G6$%'expandG%%diffG6 $F?-%\"$G6$FBFE3-F86$F?)'8&FC'8(F@/FenFB>F4*&*&)FB,&Fgn\"\"\"FE!\"\"F^ o-%*factorialG6#FgnF^o\"\"\"-Fao6#F]o!\"\"-%$hasG6$F5F;>F4-%$mapG6$9!9 \"@%/9#F^oF4--FN6$%(xfactorG%)simplifyG6#F4F16#FfpF1" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "xsimplify:= proc(expr); simplify(expr, Xd iff, delay); end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*xsimplifyGR6#% %exprG6\"F(F(-%)simplifyG6%9$%&XdiffG%&delayGF(F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 32 "Routines matricielles (xschmidt)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 50 "# Routine xschmidt, elimination de Gauss-Schmidt \n" }{MPLTEXT 1 0 326 "xschmidt:= proc(gr) options `Copyright Pierre L. Douillet, 199 6`; \nlocal k, gr1, piv0, phi0; \ngr1:= copy(gr); phi0:=&*(); for k t o linalg['rowdim'](gr) - 1 do piv0:= xmk_piv(gr1,k);\ngr1:= evalm(tran spose(piv0) &* gr1 &* piv0); phi0:= evalm(phi0 &* piv0) od;\nif nargs= 2 then assign(args[2], evalm(gr1)) fi; evalm(phi0) ; end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)xschmidtGR6#%#grG6&%\"kG%$gr1G%%piv0G%%phi0G 6#%CCopyright~Pierre~L.~Douillet,~1996G6\"C'>8%-%%copyG6#9$>8'-%#&*GF/ ?(8$\"\"\"F=,&-&%'linalgG6#.%'rowdimGF5F=!\"\"F=%%trueGC%>8&-%(xmk_piv G6$F2F<>F2-%&evalmG6#-F:6$-F:6$-%*transposeG6#FIF2FI>F8-FO6#-F:6$F8FI@ $/9#\"\"#-%'assignG6$&9\"6#Fjn-FO6#F2-FO6#F8F/F/F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 42 "F aire joli (xradic, xfrac, xfactor, xdiff)" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 35 "# xfrac (bouger le signe moins ...)" }{MPLTEXT 1 0 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 334 "xfrac:=proc(z) option `Copyright Pierre L. Douillet, 1996`;\n if type(z, `=`) then map(procname, args) else expand(-numer(z))/expand(-denom(z)) fi ;end;\nxfrac2:= ``@nume r/denom;\nxfraq:= proc(z) option `Copyright Pierre L. Douillet, 1996`; \n if type(z, `=`) then map(procname, args) else (expand@numer)(z)/ (expand@denom)(z) fi; end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&xfrac GR6#%\"zG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(@%-%%typeG6$9$%\" =G-%$mapG6$9!9\"*&-%'expandG6#,$-%&numerG6#F/!\"\"\"\"\"-F86#,$-%&deno mGF=F>!\"\"F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'xfrac2G*&-%\"@ G6$%!G%&numerG\"\"\"%&denomG!\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %&xfraqGR6#%\"zG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(@%-%%typeG 6$9$%\"=G-%$mapG6$9!9\"*&--%\"@G6$%'expandG%&numerG6#F/\"\"\"--F96$F;% &denomGF=!\"\"F(F(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "# xradic \+ " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 366 "xradic:= proc(z) local sel, co mment; option `Copyright Pierre L. Douillet, 1996`;\nif nargs=1 then c omment:=id else comment:= args[2] fi;\nif type(z, '`*`') then sel := s elect(type, z, sqrt); \nsqrt(comment(sel^2)) * map(procname, remove(ty pe, z, sqrt), comment); RETURN( % ) fi;\n if type(z, \{`=`, functio n, '`+`'\}) then RETURN(map(procname, z, comment)) fi; z end ;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'xradicGR6#%\"zG6$%$selG%(commentG6# %CCopyright~Pierre~L.~Douillet,~1996G6\"C&@%/9#\"\"\">8%%#idG>F4&9\"6# \"\"#@$-%%typeG6$9$.%\"*GC%>8$-%'selectG6%F=F?%%sqrtG*&-FH6#-F46#*$)FD F:\"\"\"F2-%$mapG6%9!-%'removeGFGF4F2-%'RETURNG6#%\"%G@$-F=6$F?<%.%\"+ G%)functionG%\"=G-FX6#-FR6%FTF?F4F?F-F-F-" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 9 "# xfactor" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 331 "xfactor:= proc(expr) option `Copyright Pierre L. Dou illet, 1996`; \nlocal fact; global xcombipo, x, poly;\n if nargs = 2 then fact := args[2] else fact := poly fi; \n if type(fact, numeric) or fact= x then (xcombipo@factor)(expr) else \n algsubs(fact = _ZZ (x), yjoli(expr) ); subs(_ZZ(x) = fact, (xcombipo@factor)(%)) fi;\n%; \+ end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%(xfactorGR6#%%exprG6#%%factG 6#%CCopyright~Pierre~L.~Douillet,~1996G6\"C%@%/9#\"\"#>8$&9\"6#F1>F3%% polyG@%5-%%typeG6$F3%(numericG/F3%\"xG--%\"@G6$%)xcombipoG%'factorG6#9 $C$-%(algsubsG6$/F3-%$_ZZG6#F@-%&yjoliGFG-%%subsG6$/FNF3-FB6#%\"%GFYF, 6%FEF@F8F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 7 "# xdiff" }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 134 "xdiff:= proc(expr) option `Copyright Pierre L. Douillet, 1996`; \n yjoli(expr); if nargs=1 then % else diff(%, ar gs[2..nargs]) fi; end;" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "`diff/`:= proc(a,b); diff(a,b) end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&xdiff GR6#%%exprG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF(C$-%&yjoliG6#9$ @%/9#\"\"\"%\"%G-%%diffG6$F4&9\"6#;\"\"#F2F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&diff/GR6$%\"aG%\"bG6\"F)F)-%%diffG6$9$9%F)F)F)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 0 "" }}}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 49 "Sucre syn taxique (xintparts, xelim, xlimit, xvo )" }}{EXCHG {PARA 0 "" 0 "" {TEXT -1 11 "# xintparts" }{MPLTEXT 1 0 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 687 "xintparts:= proc(F, expr::algebraic) option `Copyrig ht Pierre L. Douillet, 1996`;\nlocal f, x, r, u, up, v, vp, arglist;\n global lasterror;\nif type(F, 'function') and member(op(0, F), \{'int' , 'Int'\}) then\n f := op(1, F); arglist := op(2 .. nops(F), F);\n x := op(2, F); if type(x, `=`) then r := rhs(x); x := lhs(x) fi;\n u : = expr; vp := traperror(normal(f/u));\n if vp = lasterror then ERROR( u, \" not a factor of \", f) fi;\n up := Xdiff(u, x,1); v := int(vp, \+ x);\n if type(r, 'range') then\n Limit(u*v, x= op(2, r), 'left') - Limit(u*v, x = op(1, r), 'right') - Int(up*v, arglist);\n else u*v - Int(up*v, arglist) fi \nelif has(F, \{int, Int\}) then map(procname, \+ args) \nelse F fi end;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*xintpar tsGR6$%\"FG'%%exprG%*algebraicG6*%\"fG%\"xG%\"rG%\"uG%#upG%\"vG%#vpG%( arglistG6#%CCopyright~Pierre~L.~Douillet,~1996G6\"@'3-%%typeG6$9$.%)fu nctionG-%'memberG6$-%#opG6$\"\"!F<<$.%$intG.%$IntGC,>8$-FC6$\"\"\"F<>8 +-FC6$;\"\"#-%%nopsG6#F8%-FC6$FVF<@$-F:6$Fen%\"=GC$>8&-%$rhsG6#Fen >Fen-%$lhsGFao>8'9%>8*-%*traperrorG6#-%'normalG6#*&FM\"\"\"Ffo!\"\"@$/ Fio%*lasterrorG-%&ERRORG6%FfoQ2~not~a~factor~of~F6FM>8(-%&XdiffG6%FfoF enFP>8)-FH6$FioFen@%-F:6$F^o.%&rangeG,(-%&LimitG6%*&FfoFPF`qFP/Fen-FC6 $FVF^o.%%leftGFP-Fjq6%F\\r/Fen-FC6$FPF^o.%&rightG!\"\"-FJ6$*&F[qFPF`qF apFRFir,&F\\rFPFjrFir-%$hasG6$F<<$FJFH-%$mapG6$9!9\"F " 0 "" {MPLTEXT 1 0 129 "xvo:=proc(z::uneval) option `Copyright Pier re L. Douillet, 1996`; \ntraperror(value(eval(z))); print(eval(z,1)= \+ eval(%) ); end ;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$xvoGR6#'%\"zG %'unevalG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF*C$-%*traperrorG6# -%&valueG6#-%%evalG6#9$-%&printG6#/-F56$F7\"\"\"-F56#%\"%GF*F*F*" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 167 "xvo:= proc(z::uneval, comme nt) option `Copyright Pierre L. Douillet, 1996`; \nif nargs=1 then eva l(z) else traperror(comment(z)) fi; print(eval(z, 1) = eval(%));%; end ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$xvoGR6$'%\"zG%'unevalG%(commen tG6\"6#%CCopyright~Pierre~L.~Douillet,~1996GF+C%@%/9#\"\"\"-%%evalG6#9 $-%*traperrorG6#-9%F5-%&printG6#/-F46$F6F2-F46#%\"%GFDF+F+F+" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 30 "# limites a gauche et a droite" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 103 "xlimit:=proc(f,x) local xx; xx:='x x': \n[limit(f(xx), xx=x, 'left') , limit(f(xx), xx=x, 'right')] end ; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'xlimitGR6$%\"fG%\"xG6#%#xxG6\"F +C$>8$.F.7$-%&limitG6%-9$6#F./F.9%.%%leftG-F26%F4F7.%&rightGF+F+F+" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "# `n diff/init`() ;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "ndiff['in it']:=`ndiff/init`;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%&ndiffG6#%%i nitG%+ndiff/initG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 211 "ever_ load:= Xdiff, `combine/Xdiff`, `diff/`, `diff/Xdiff`, `int/Xdiff`, `si mplify/Xdiff`, xdiff, xfactor, xfrac, ''xfrac2'', xfraq, xintparts, xl eibniz, xlimit, xpush, xradic, xreadlib, xschmidt, xsimplify, xvo;" }} {PARA 12 "" 1 "" {XPPMATH 20 "6#>%*ever_loadG66%&XdiffG%.combine/Xdiff G%&diff/G%+diff/XdiffG%*int/XdiffG%/simplify/XdiffG%&xdiffG%(xfactorG% &xfracG.%'xfrac2G%&xfraqG%*xintpartsG%)xleibnizG%'xlimitG%&xpushG%'xra dicG%)xreadlibG%)xschmidtG%*xsimplifyG%$xvoG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "sa velib('ndiff', `ndiff/init`, xreadlib, ever_load, `ndiff.m`);" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 8 "Contr\364le" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 53 "liste:= select(type, [ssavelib], procedure): s ort(%);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#77%&XdiffG%.combine/XdiffG% &diff/G%+diff/XdiffG%*int/XdiffG%+ndiff/initG%/simplify/XdiffG%&xdiffG %(xfactorG%&xfracG%&xfraqG%*xintpartsG%)xleibnizG%'xlimitG%&xpushG%'xr adicG%)xreadlibGF4%)xschmidtG%*xsimplifyG%$xvoG" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 56 "readlib(mmint): lasterror:= 'lasterror': _eps: = '_eps': " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "lasterror:= 'lasterror': for _kkkk \+ in liste do lprint(_kkkk); \nmmint(_kkkk); od;" }}{PARA 6 "" 1 "" {TEXT -1 10 "ndiff/init" }}{PARA 6 "" 1 "" {TEXT -1 8 "xreadlib" }} {PARA 6 "" 1 "" {TEXT -1 5 "Xdiff" }}{PARA 6 "" 1 "" {TEXT -1 13 "comb ine/Xdiff" }}{PARA 6 "" 1 "" {TEXT -1 5 "diff/" }}{PARA 6 "" 1 "" {TEXT -1 10 "diff/Xdiff" }}{PARA 6 "" 1 "" {TEXT -1 9 "int/Xdiff" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#QH--------------~int/Xdiff~----------- ---6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "Names used as global names, but not declared: : _X" }}{PARA 6 "" 1 "" {TEXT -1 14 "simplify/Xdif f" }}{PARA 6 "" 1 "" {TEXT -1 5 "xdiff" }}{PARA 6 "" 1 "" {TEXT -1 7 " xfactor" }}{PARA 6 "" 1 "" {TEXT -1 5 "xfrac" }}{PARA 6 "" 1 "" {TEXT -1 5 "xfraq" }}{PARA 6 "" 1 "" {TEXT -1 9 "xintparts" }}{PARA 6 "" 1 " " {TEXT -1 8 "xleibniz" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QG---------- ----~xleibniz~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 65 "Names \+ used as global names, but not declared: : power, Xdiff" }}{PARA 6 "" 1 "" {TEXT -1 6 "xlimit" }}{PARA 6 "" 1 "" {TEXT -1 5 "xpush" }} {PARA 6 "" 1 "" {TEXT -1 6 "xradic" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# QE--------------~xradic~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 55 "Names used as global names, but not declared: : id" }}{PARA 6 "" 1 "" {TEXT -1 8 "xreadlib" }}{PARA 6 "" 1 "" {TEXT -1 8 "xschmidt " }}{PARA 6 "" 1 "" {TEXT -1 9 "xsimplify" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#QH--------------~xsimplify~--------------6\"" }}{PARA 6 "" 1 "" {TEXT -1 65 "Names used as global names, but not declared: \+ : Xdiff, delay" }}{PARA 6 "" 1 "" {TEXT -1 3 "xvo" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# restart;" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 260 "" 0 "" {TEXT -1 52 "Copyright (c) Pierre L . Douillet \n" }}{PARA 261 "" 0 "" {TEXT -1 283 "lib re reproduction pour un usage universitaire sous reserve d'une copie c ompl\350te,\navec reproduction du programme source dont, en particulie r, la pr\351sente mention\n \naucune garantie de fiabilit\351. en part iculier, toute utilisation dans un contexte industriel est vivement d \351conseill\351e\n " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} }{PARA 3 "" 0 "" {TEXT -1 0 "" }}}{MARK "19 4 29" 0 }{VIEWOPTS 1 1 0 1 1 1803 }