diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-08 22:41:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-08 22:41:49 +0000 |
commit | 574cb32baaf65ec83f807b66b3fee8f589550b77 (patch) | |
tree | a876bec17f3241678a48fad2da89abe0a2028785 /Master/texmf-dist/doc/latex/tablor/tablor.html | |
parent | ac8d2e42c83eeee5220c37f44b9fb966a5774f4d (diff) |
tablor 4.04 (7mar09)
git-svn-id: svn://tug.org/texlive/trunk@12342 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/latex/tablor/tablor.html')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 632 |
1 files changed, 472 insertions, 160 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 11f73791c5a..46298e680db 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -87,7 +87,7 @@ <body> <pre> <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] -<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[07/02/2009 v4.03 la machine a creer des tableaux de signes et variations] +<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[07/03/2009 v4.04 la machine a creer des tableaux de signes et variations] <span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\copyleft</span></span><span class="comment"> Connan le Barbare (aka Guillaume Connan) </span><span class="font-latex-sedate"><span class="comment">\copyright</span></span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">This work may be distributed and/or mofified under the conditions @@ -95,7 +95,7 @@ </span><span class="comment-delimiter">% </span><span class="comment">any later version. The latest version is in </span><span class="comment-delimiter">% </span><span class="comment">http://www.latex-project.org/lppl/ </span><span class="comment-delimiter">% </span><span class="comment">This work consists of the files tablor.sty, tablor-xetex.sty, tablor.cfg, tablor.tex, -</span><span class="comment-delimiter">% </span><span class="comment">tablor.pdf and tablor.</span><span class="comment"><span class="flyspell-incorrect">html</span></span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">tablor.pdf and tablor.html </span> <span class="comment-delimiter">%% </span><span class="comment">Cree 16 environnements : @@ -132,11 +132,18 @@ </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVZ} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> -</span><span class="comment-delimiter">% </span><span class="comment">tableau avec valeurs intermediares +</span><span class="comment-delimiter">% </span><span class="comment">tableau avec valeurs </span><span class="comment"><span class="flyspell-incorrect">intermediares</span></span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVI} -</span><span class="comment-delimiter">%</span><span class="comment">TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">%</span><span class="comment"><span class="flyspell-duplicate">TVI</span></span><span class="comment">([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVI} </span><span class="comment-delimiter">%%%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">tableau avec valeurs </span><span class="comment"><span class="flyspell-duplicate">intermediares</span></span><span class="comment"> et racines exactes +</span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVIex} +</span><span class="comment-delimiter">%</span><span class="comment"><span class="flyspell-duplicate">TVIex</span></span><span class="comment">([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,n,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVIex} +</span><span class="comment-delimiter">%%%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau de variations avec f' sans zero formel </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVapp} </span><span class="comment-delimiter">% </span><span class="comment">TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) @@ -145,7 +152,7 @@ </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau de variations avec f' sans zero formel </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVIapp} -</span><span class="comment-delimiter">% </span><span class="comment">TVIapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,0,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVIapp</span></span><span class="comment">([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,0,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TVIapp} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> @@ -187,13 +194,13 @@ <span class="font-latex-sedate">\RequirePackage</span>{fancyvrb} <span class="font-latex-sedate">\RequirePackage</span>{ifpdf} -<span class="font-latex-sedate">\fvset</span>{<span class="flyspell-incorrect">gobble</span>=0} +<span class="font-latex-sedate">\fvset</span>{gobble=0} <span class="comment-delimiter">% </span><span class="comment">option xcas present </span> <span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{false} -<span class="font-latex-sedate">\DeclareOption</span>{xcas}{<span class="font-latex-sedate">\setboolean</span>{xcas}{<span class="flyspell-incorrect">true</span>}} +<span class="font-latex-sedate">\DeclareOption</span>{xcas}{<span class="font-latex-sedate">\setboolean</span>{xcas}{true}} <span class="font-latex-sedate">\ProcessOptions</span><span class="font-latex-sedate">\relax</span> @@ -202,14 +209,14 @@ <span class="comment-delimiter">%% </span><span class="comment">Initialisation du choix d'OS -</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{<span class="flyspell-duplicate">false</span>} +</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{false} <span class="comment-delimiter">%% </span><span class="comment">on configure tablor dans un fichier exterieur pour la plateforme </span><span class="comment-delimiter">%% </span><span class="comment">et l'editeur </span> -<span class="font-latex-sedate">\IfFileExists</span>{tablor.cfg}{<span class="font-latex-sedate"><span class="keyword">\input</span></span><span class="constant">{tablor.cfg}</span>}<span class="comment">%</span><span class="font-latex-sedate"><span class="comment">\typeout</span></span><span class="comment">{pas de fichier tablor.</span><span class="comment"><span class="flyspell-duplicate">cfg</span></span><span class="comment">}} +<span class="font-latex-sedate">\IfFileExists</span>{tablor.cfg}{<span class="font-latex-sedate"><span class="keyword">\input</span></span><span class="constant">{tablor.cfg}</span>}<span class="comment">%</span><span class="font-latex-sedate"><span class="comment">\typeout</span></span><span class="comment">{pas de fichier tablor.cfg}} </span> <span class="comment-delimiter">%% </span><span class="comment">Definit des commandes disque selon l'OS utilise @@ -217,7 +224,7 @@ </span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\rem</span></span><span class="function-name">}</span>{DEL } <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cat</span></span><span class="function-name">}</span>{TYPE } <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{COPY }}<span class="comment">% </span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\rem</span></span><span class="function-name">}</span>{rm }<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cat</span></span><span class="function-name">}</span>{cat } - <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{<span class="flyspell-duplicate">cp</span> }} + <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\cp</span></span><span class="function-name">}</span>{cp }} @@ -233,13 +240,13 @@ <span class="comment-delimiter">%% </span><span class="comment">pour nettoyer les fichiers auxiliaires </span> -<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> *.user XCas* Xcas* *.<span class="flyspell-incorrect">mpx</span>} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> *.user XCas* Xcas* *.mpx} } -<span class="comment-delimiter">%% </span><span class="comment">Pour clore les fichiers </span><span class="comment"><span class="flyspell-duplicate">metapost</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">Pour clore les fichiers metapost </span> <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{queue.mp} @@ -257,7 +264,7 @@ <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\nettoyer</span></span><span class="function-name">}</span>[1][<span class="font-latex-sedate">\jobname</span>]<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> #1.Tab.log queue.mp enteteMP.cfg session.tex config.<span class="flyspell-duplicate">cxx</span>} +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> #1.Tab.log queue.mp enteteMP.cfg session.tex config.cxx} } @@ -289,7 +296,7 @@ </span>{<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Si Tableaux.mp est present... </span> {<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\rem</span> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}}<span class="comment">% le detruire </span> {}<span class="comment">% -</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> enteteMP.cfg <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.</span><span class="comment"><span class="flyspell-duplicate">mp</span></span><span class="comment"> +</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> enteteMP.cfg <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Reconstituer l'entête de Tableaux.mp </span>} {<span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.mp}<span class="comment">% Sans l'option XCas, si </span> <span class="comment">% Tableaux.mp existe @@ -301,13 +308,13 @@ </span> -<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon </span><span class="comment"><span class="flyspell-duplicate">l'OS</span></span><span class="comment"> +<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon l'OS </span> <span class="font-latex-sedate">\makeatletter</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\executGiacmp</span></span><span class="function-name">}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<span class="comment">% </span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac #1 }}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">giac</span> <#1 }}} +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac <#1 }}} <span class="font-latex-sedate">\makeatother</span> @@ -338,7 +345,7 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; -<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ @@ -362,11 +369,11 @@ S:=solve(fp(x),x); fpour fsi; Z:=sort(Z); -<span class="flyspell-duplicate">nz</span>:=size(Z); +nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; @@ -385,13 +392,13 @@ nz:=size(Z); si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; fpour; nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); -";<span class="flyspell-duplicate">fpour</span>; +";fpour; k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); @@ -428,16 +435,16 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity; "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ if(kz==1){"1);"}else{"0);"}} - else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ + else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; @@ -447,30 +454,30 @@ MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ @@ -478,17 +485,17 @@ if(nz>2){"beginTableau("+nmr+")"+ lsi+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ -<span class="flyspell-duplicate">lsi</span>+lsf+ +lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} @@ -496,7 +503,7 @@ lf sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -<span class="flyspell-duplicate">fclose</span>(sortie); +fclose(sortie); }:; @@ -717,9 +724,9 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVZ.cxx} -<span class="flyspell-duplicate">TVZ</span>(L,F,FF,nom,<span class="flyspell-duplicate">nomv</span>,f,ftt,trigo,nmr):={ -<span class="flyspell-duplicate">nl</span>:=size(L); -nf:=size(<span class="flyspell-duplicate">FF</span>); +TVZ(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ +nl:=size(L); +nf:=size(FF); Ff:=NULL;IMIN:=NULL;IMAX:=NULL; for(k:=0;k<nf;k++){ if(FF[k][0]>L[0]){Imin[k]:=FF[k][0];LL:=L}else{Imin[k]:=L[0];LL:=[L[1]]}; @@ -728,9 +735,9 @@ if(FF[k][1]<L[1]){Imax[k]:=FF[k][1];LL:=L}else{Imax[k]:=L[1];LL:=[L[0]]}; IMIN:=IMIN,Imin[k]; IMAX:=IMAX,Imax[k]; } - FF:=[<span class="flyspell-duplicate">Ff</span>]; - IMIN:=[<span class="flyspell-duplicate">IMIN</span>]; - IMAX:=[<span class="flyspell-duplicate">IMAX</span>]; + FF:=[Ff]; + IMIN:=[IMIN]; + IMAX:=[IMAX]; f:=unapply(f,x); fp:=function_diff(f); Z:=concat(LL,F); @@ -743,13 +750,13 @@ S:=[]; if(trigo==t){ -<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +all_trig_solutions:=1; reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ @@ -772,7 +779,7 @@ S:=solve(fp(x),x); Kk:=(kk) and kK; if(Kk==1){Z:=append(Z,simplify(S[j]))}; } - <span class="flyspell-duplicate">fpour</span> + fpour fsi; Z:=sort(Z); @@ -783,27 +790,27 @@ nz:=size(Z); si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -<span class="flyspell-duplicate">fpour</span>; +fpour; nz:=size(Z); for(j:=0;j<nf;j++){ for(k:=1;k<nz;k++){ - if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; } } } nz:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); - kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); -<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -812,23 +819,23 @@ if(member(Z[0],IMIN)!=0){if((member(Z[0],F)==0) and (fp(Z[0])!=undef)){"debutNon if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; - lsp:=lsp+if(member(Z[r],</span><span class="font-latex-math"><span class="flyspell-duplicate">IMIN</span></span><span class="font-latex-math">)!=0){if((</span><span class="font-latex-math"><span class="flyspell-duplicate">member</span></span><span class="font-latex-math">(Z[r],F)==0) and (</span><span class="font-latex-math"><span class="flyspell-duplicate">fp</span></span><span class="font-latex-math">(Z[r])!=</span><span class="font-latex-math"><span class="flyspell-duplicate">undef</span></span><span class="font-latex-math">)){"</span><span class="font-latex-math"><span class="flyspell-duplicate">debutNonDef</span></span><span class="font-latex-math">;"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{"</span><span class="font-latex-math"><span class="flyspell-duplicate">debutNonDefStrict</span></span><span class="font-latex-math">;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ - if(</span><span class="font-latex-math"><span class="flyspell-duplicate">member</span></span><span class="font-latex-math">(Z[r],</span><span class="font-latex-math"><span class="flyspell-duplicate">IMAX</span></span><span class="font-latex-math">)!=0){if((</span><span class="font-latex-math"><span class="flyspell-duplicate">member</span></span><span class="font-latex-math">(Z[r],F)==0) and (</span><span class="font-latex-math"><span class="flyspell-duplicate">fp</span></span><span class="font-latex-math">(Z[r])!=</span><span class="font-latex-math"><span class="flyspell-duplicate">undef</span></span><span class="font-latex-math">)){"</span><span class="font-latex-math"><span class="flyspell-duplicate">fin</span></span><span class="font-latex-math"><span class="flyspell-duplicate"><span class="flyspell-incorrect">NonDef</span></span></span><span class="font-latex-math">;"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{"</span><span class="font-latex-math"><span class="flyspell-duplicate">finNonDefStrict</span></span><span class="font-latex-math">;"}+ - if(ksp==1){"plus;"}else{"moins;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ - if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{"nonDefBarre;"}+ + lsp:=lsp+if(member(Z[r],IMIN)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"debutNonDef;"}else{"debutNonDefStrict;"}}else{ + if(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}else{"finNonDefStrict;"}+ + if(ksp==1){"plus;"}else{"moins;"}}else{ + if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }}}}; -</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[</span><span class="font-latex-math"><span class="flyspell-duplicate">nz</span></span><span class="font-latex-math">-1],</span><span class="font-latex-math"><span class="flyspell-duplicate">IMAX</span></span><span class="font-latex-math">)!=0){if((</span><span class="font-latex-math"><span class="flyspell-duplicate">member</span></span><span class="font-latex-math">(Z[</span><span class="font-latex-math"><span class="flyspell-duplicate">nz</span></span><span class="font-latex-math">-1],F)==0) and (</span><span class="font-latex-math"><span class="flyspell-duplicate">fp</span></span><span class="font-latex-math">(Z[</span><span class="font-latex-math"><span class="flyspell-duplicate">nz</span></span><span class="font-latex-math">-1])!=</span><span class="font-latex-math"><span class="flyspell-duplicate">undef</span></span><span class="font-latex-math">)){"</span><span class="font-latex-math"><span class="flyspell-duplicate">fin</span></span><span class="font-latex-math"><span class="flyspell-duplicate"><span class="flyspell-incorrect">NonDef</span></span></span><span class="font-latex-math">;"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{"</span><span class="font-latex-math"><span class="flyspell-duplicate">fin</span></span><span class="font-latex-math"><span class="flyspell-duplicate"><span class="flyspell-incorrect">NonDefStrict</span></span></span><span class="font-latex-math">;"}}else{if(member(Z[nz-1],F)==0){""}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; +lsf:=if(member(Z[nz-1],IMAX)!=0){if((member(Z[nz-1],F)==0) and (fp(Z[nz-1])!=undef)){"finNonDef;"}else{"finNonDefStrict;"}}else{if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "}} -</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic +nom+"}$</span> etex);"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}else{"0"}+ ");"; @@ -838,68 +845,68 @@ if(nz>2){ krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; - lp:=<span class="flyspell-duplicate">lp</span>+if(<span class="flyspell-duplicate">member</span>(Z[r],<span class="flyspell-duplicate">IMIN</span>)!=0){"<span class="flyspell-duplicate">limGauche</span>(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+if(lmrm==1){ + lp:=lp+if(member(Z[r],IMIN)!=0){"limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ latex(simplify(limit(f(x),x=Z[r],-1)))} - +"$</span> <span class="flyspell-duplicate">etex</span>,"+if(<span class="flyspell-duplicate">krm</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} - +if(member(Z[r],F)==0){"<span class="flyspell-duplicate">debutNonDef</span>;"}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">debutNonDefStrict</span>;"} - }//<span class="flyspell-duplicate">fsi</span> <span class="flyspell-duplicate">Zr</span>=<span class="flyspell-duplicate">Imin</span> - <span class="flyspell-duplicate">else</span>{ - if (member(Z[r],<span class="flyspell-duplicate">IMAX</span>)!=0){if(member(Z[r],F)==0){"<span class="flyspell-duplicate">fin</span><span class="flyspell-duplicate"><span class="flyspell-incorrect">NonDef</span></span>;"}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">fin</span><span class="flyspell-duplicate"><span class="flyspell-incorrect">NonDefStrict</span></span>;"}+"<span class="flyspell-duplicate">limDroite</span>(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+if(lmrp==1){ + +"$</span> etex,"+if(krm==1){ + "1);"}else{"0);"} + +if(member(Z[r],F)==0){"debutNonDef;"}else{"debutNonDefStrict;"} + }//fsi Zr=Imin + else{ + if (member(Z[r],IMAX)!=0){if(member(Z[r],F)==0){"finNonDef;"}else{"finNonDefStrict;"}+"limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} - +"$</span> <span class="flyspell-duplicate">etex</span>,"+if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} - }<span class="flyspell-duplicate">else</span>{ - if(<span class="flyspell-duplicate">member</span>(Z[r],F)){ - "<span class="flyspell-duplicate">limGauche</span>(btex <span class="font-latex-math">$"+if(lmrm==1){ + +"$</span> etex,"+if(krp==1){ + "1);"}else{"0);"} + }else{ + if(member(Z[r],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ latex(simplify(limit(f(x),x=Z[r],-1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krm</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} - +"<span class="flyspell-duplicate">nonDefBarre</span>;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ + +"$</span> etex,"+if(krm==1){ + "1);"}else{"0);"} + +"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} - +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}<span class="flyspell-duplicate">else</span>{"0);"} - }//<span class="flyspell-duplicate">fsi</span> (member Zr F) - else{"valPos(btex<span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span><span class="flyspell-duplicate">etex</span>,"+ + +"$</span> etex,"+if(krp==1){ + "1);"}else{"0);"} + }//fsi (member Zr F) + else{"valPos(btex<span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span>etex,"+ if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){ - "0.5);"}<span class="flyspell-duplicate">else</span>{ - if(<span class="flyspell-duplicate">krp</span>==1){ - "1);"}else{"0);"}//felse(<span class="flyspell-duplicate">krp</span>) - }//felse(<span class="flyspell-incorrect">valpos</span>) + "0.5);"}else{ + if(krp==1){ + "1);"}else{"0);"}//felse(krp) + }//felse(valpos) }//felse(member Zr F) - } //felse(Zr=<span class="flyspell-duplicate">Imax</span>) - }//felse(Zr=<span class="flyspell-duplicate">Imin</span>) - };//<span class="flyspell-incorrect">ffor</span> - }//fsi <span class="flyspell-duplicate">nz</span> + } //felse(Zr=Imax) + }//felse(Zr=Imin) + };//ffor + }//fsi nz -<span class="flyspell-duplicate">lnz</span>:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -<span class="flyspell-duplicate">lf</span>:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + if(kz==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; -MetaLfc:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" +MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -<span class="flyspell-duplicate">intro</span>+"beginTableau("+nmr+")"+ +intro+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } @@ -907,41 +914,41 @@ lsi+lsf+" l0+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -<span class="flyspell-duplicate">lp</span>+ +lp+ lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }} sortie:=fopen("XCasmpfc.mp"); -<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,MetaLfc); fclose(sortie); } @@ -1148,25 +1155,25 @@ fclose(sortie); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTVI</span>.cxx} TVI(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=function_diff(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); Z:=concat(L,F); S:=[]; if(trigo==t){ -all_trig_solutions:=1; +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ @@ -1200,7 +1207,11 @@ LI:=limit(f(x),x,Z[0],1); LF:=limit(f(x),x,Z[nz-1],-1); LP:=NULL; PB:=1; -if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])};if(member(Z[r],F)){PB:=PB,0,1}}}; +if(<span class="flyspell-duplicate">nz</span>>2){ for(r:=1; + r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}; +if(<span class="flyspell-duplicate">member</span>(Z[r],F)){<span class="flyspell-duplicate">PB</span>:=<span class="flyspell-duplicate">PB</span>,0,1}else{PB:=<span class="flyspell-duplicate">PB</span>,1}; +} +}; if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]}; NL:=size(LL); @@ -1217,6 +1228,280 @@ if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(L if(PB[k]==1){if(TestS==0){ A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$\\alpha_</span><span class="font-latex-subscript"><span class="font-latex-math">"</span></span><span class="font-latex-math">+aa+"$</span> etex);";aa:=aa+1;kk:=kk+1} +else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=<span class="flyspell-duplicate">kk</span>+1}}; +} + + l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);" + + }; + + +TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-ao))==0.0); + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); + +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ + if(Z[0]==-infinity){if(evalf(sign(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ + if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"} }}+if(TestS==0){"valBarre(btex$</span> <span class="font-latex-math">$ etex);"+ if(sign(fp(10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-3)+Z[0]))==1){"plus;"}else{"moins;"}}else{" "}; + + + + +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); + ksp:=evalf(fp(Z[r]+0.01))>0; + TestL:=(abs(LL[r])==abs(LL[r+1])); + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex $</span> <span class="font-latex-math">$ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; + }} +else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); + + if(PB[r]==1){if(TestS==0){lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} + else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} +}}}}; + + + + + lsf:=if(member(Z[nz-1],F)==0){" "}else{"nonDefBarre;"} + + + +lm0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; + + + + +TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(LL[1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); + + li:=lvic+nom+"}$</span> etex); +"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}else{" "}; + + + if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); + krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; + lp:=lp+if(member(Z[r],F)) { + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> + etex,"+if(evalf(sign(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex + <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);" + }else{" "}; +};//for +}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(LL[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==0.0); + krm:=evalf(limit(f(x),x=Z[rr-1],1))< evalf(limit(f(x),x=Z[rr],-1)); + krp:=evalf(limit(f(x),x=Z[rr],1))> evalf(limit(f(x),x=Z[rr+1],-1)) ; + lmrm:=limit(f(x),x=Z[rr],-1)==-infinity;lmrp:=limit(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); + +if(PB[r]==1){if(TestS==0){lp:=lp+if(member(Z[rr],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[rr])))+"$</span> + etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex + <span class="font-latex-math">$ "+ao+" $</span> etex,0.5); + ";rr:=rr+1; +}// testS==0 +<span class="flyspell-duplicate">else</span>{lp:=lp+if(member(Z[rr],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[rr])))+"$</span> + etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); + "}}};rr:=rr+1; +}//else testS==0 +}//PB[r]==1 +}//for nz<NL +}// else nz<NL +//if nz=NL +};//if <span class="flyspell-duplicate">nz</span>>2 + + + +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + + + + + + + +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; + +";}<span class="flyspell-duplicate">else</span>{ +"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +<span class="flyspell-duplicate">endTableau</span>; + +"; +} +}else{ +if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +<span class="flyspell-duplicate">lf</span> ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; +";}}else{ +if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +<span class="flyspell-duplicate">endTableau</span>; + +";}else{"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +<span class="flyspell-duplicate">lf</span> ++" +<span class="flyspell-duplicate">endTableau</span>; + +";} +}}; + + + + + + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + + }:; + + + +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + + + +<span class="comment-delimiter">%%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">Pour avoir les racines sous forme exacte.... quand c'est possible ! +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%%%%%%%%%</span><span class="comment"> +</span> + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIex.cxx} + + + +TVIex(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ +nl:=size(L); +f:=unapply(f,x); +fp:=function_diff(f); +Z:=concat(L,F); +S:=[]; + +Sex:=NULL; +Zex:=solve(f(x)=ao); +Zex:=sort(Zex); +for(j:=0;j<size(Zex);j++){ +if((evalf(Zex[j])>=evalf(L[0])) and (evalf(Zex[j])<=evalf(L[nl-1]))){Sex:=Sex,Zex[j]}; +}; +Sex:=[Sex]; + + + + + + + + +if(trigo==t){ +all_trig_solutions:=1; +reset_solve_counter(-1,-1); +SS:=solve(factor(simplify(fp(x))),x); +ns:=size(SS); +for(k:=0;k<ns;k++){ +m:=0; +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +while(evalf(subst(SS[k],n_1=m))>=L[0]){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; +} +} +}else{ +S:=solve(fp(x),x); +} + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); + if(kk==1){Z:=append(Z,simplify(S[j]))}; + fpour + fsi; + +Z:=sort(Z); +nz:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; + fsi; +pour u de 1 jusque nz-2 faire + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; + fsi; +fpour; +nz:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; + + + +LI:=limit(f(x),x,Z[0],1); +LF:=limit(f(x),x,Z[nz-1],-1); +LP:=NULL; +PB:=1; +if(nz>2){ for(r:=1; + r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}; +if(member(Z[r],F)){PB:=PB,0,1}else{PB:=PB,1}; +} +}; +if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]}; + +NL:=size(LL); +A:=NULL;aa:=0; +kk:=0; + + + +if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0); +if(TestS==0){A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"+"val(btex <span class="font-latex-math">$"+latex(simplify(Sex[aa]))+"$</span> etex);";aa:=aa+1;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> etex);"}} +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex);"}; +//chgmt NL->nz +if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[k+1]-ao))) or (evalf(sign(LL[k]-ao))==0.0)or (evalf(sign(LL[k+1]-ao))==0.0); + +if(PB[k]==1){if(TestS==0){ + A:=A,aa;l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);"+"val(btex <span class="font-latex-math">$"+latex(simplify(Sex[aa]))+"$</span> etex);";aa:=aa+1;kk:=kk+1} else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> etex);";kk:=kk+1}}; } @@ -1300,24 +1585,24 @@ else{lp:=lp+if(member(Z[rr],F)){ else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[rr])))+"$</span> etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}};rr:=rr+1; -}//else testS==0 +}//else <span class="flyspell-duplicate">testS</span>==0 }//PB[r]==1 }//for nz<NL }// else nz<NL //if nz=NL -};//if nz>2 +};//if <span class="flyspell-duplicate">nz</span>>2 lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; -lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ - if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ +lf:=if(member(Z[nz-1],F)==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ if(kz==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ - if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -1327,13 +1612,13 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ "beginTableau("+nmr+")"+ l0+ lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } @@ -1341,12 +1626,12 @@ endTableau; if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -lp+ +<span class="flyspell-duplicate">lp</span>+ lf +" endTableau; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ lf @@ -1358,7 +1643,7 @@ if(nz>2){"beginTableau("+nmr+")"+ lsi+lsp+lsf+ li+ lp+ -lf +<span class="flyspell-duplicate">lf</span> +" endTableau; @@ -1368,7 +1653,7 @@ lsi+lsf+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }}; @@ -1378,7 +1663,6 @@ endTableau; - sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -1387,7 +1671,6 @@ fclose(sortie); }:; - <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -1406,7 +1689,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.cxx} -TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ +<span class="flyspell-duplicate">TVIapp</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ nl:=size(L); @@ -1422,8 +1705,8 @@ nz:=size(z); S:=NULL; if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for} else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for} -else{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for;} -else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for; }}}; +<span class="flyspell-duplicate">else</span>{if(L[1]==+infinity){j:=[seq(k,k=floor(L[0])..100)] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for;} +<span class="flyspell-duplicate">else</span>{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,resoudre_numerique(fp(x),x,k/10,newton_solver);end_for; }}}; @@ -1433,10 +1716,10 @@ else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,resou si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); + kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (<span class="flyspell-duplicate">evalf</span>(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; -fsi; +<span class="flyspell-duplicate">fsi</span>; S:=NULL; @@ -1461,16 +1744,20 @@ for(j:=1;j<nz;j++){ Z:=[S]; -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; LI:=limit(f(x),x,Z[0],1); -LF:=limit(f(x),x,Z[nz-1],-1); +<span class="flyspell-duplicate">LF</span>:=limit(f(x),x,Z[nz-1],-1); LP:=NULL; PB:=1; -if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])};if(member(Z[r],F)){PB:=PB,0,1}}}; +if(<span class="flyspell-duplicate">nz</span>>2){ for(r:=1; + r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limit(f(x),x,Z[r],-1),limit(f(x),x,Z[r],1)}else{f(Z[r])}; +if(<span class="flyspell-duplicate">member</span>(Z[r],F)){<span class="flyspell-duplicate">PB</span>:=<span class="flyspell-duplicate">PB</span>,0,1}else{PB:=<span class="flyspell-duplicate">PB</span>,1}; +} +}; if(nz>2){ LL:=[LI,LP,LF]; PB:=[PB,1]}else{LL:=[LI,LF];PB:=[1,1]}; NL:=size(LL); @@ -1631,13 +1918,13 @@ lf +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ lf +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} }}; @@ -1664,7 +1951,7 @@ fclose(sortie); <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de variations de courbes </span><span class="comment"><span class="flyspell-duplicate">parametrees</span></span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de variations de courbes parametrees </span><span class="comment-delimiter">%%</span><span class="comment"> </span> @@ -1674,7 +1961,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVP.cxx} -<span class="flyspell-duplicate">TVP</span>(L,F,nom,nomv,ff,ftt,trigo,nmr):={ +TVP(L,F,nom,nomv,ff,ftt,trigo,nmr):={ //local Z,LLL,FFF,nl,fp,f,S,d,t,ns,k,m,x,j,kk,nz,u,l0; nl:=size(L); fp:=[]; @@ -1685,20 +1972,20 @@ LLL:=[]; all_trig_solutions:=1; -reset_solve_<span class="flyspell-duplicate">counter</span>(-1,-1); +reset_solve_counter(-1,-1); for(d:=0;d<=1;d++){ f:=subst(f,f[d]=unapply(f[d],t)); fp:=append(fp,function_diff(f[d])); LLL:=concat(L,F[d]); Z:=LLL union Z; -<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(fp[d](t))),t); +SS:=solve(factor(simplify(fp[d](t))),t); ns:=size(SS); for(k:=0;k<ns;k++){ if(trigo==t){ m:=0; -<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; @@ -1709,7 +1996,7 @@ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } }else{ -S:=concat(S,<span class="flyspell-duplicate">SS</span>); +S:=concat(S,SS); } } @@ -1725,7 +2012,7 @@ nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - <span class="flyspell-duplicate">ftantque</span>; + ftantque; @@ -1737,7 +2024,7 @@ u:=1; Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z); ftantque; u:=u+1; - <span class="flyspell-duplicate">ftantque</span>; + ftantque; }; @@ -1751,7 +2038,7 @@ nz:=size(Z); pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; - <span class="flyspell-duplicate">lsi</span>:="",""; + lsi:="",""; FFF:=[[],[]]; @@ -1761,7 +2048,7 @@ FFF[d]:=concat(F[d],[-infinity,+infinity]); kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1)); //} //<span class="font-latex-math">$ - lsi[d]:=lsic+nom[d]+"'("+nomv+")}$</span> etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[0])))+"$</span> etex);"}else{if(Z[0]==-infinity){" "}else{"<span class="flyspell-duplicate">nonDefBarre</span>; + lsi[d]:=lsic+nom[d]+"'("+nomv+")}$</span> etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[0])))+"$</span> etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre; "}}+ if(Z[0]==-infinity){if(sign(evalf(fp[d](if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F[d])==0){ if(sign(fp[d](Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{ @@ -1772,7 +2059,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp[d](Z[r]+0.01))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[nz-1])))+"$</span> etex);"}else{if(Z[nz-1]==+infinity){" "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}} +lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[nz-1])))+"$</span> etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}} @@ -1798,10 +2085,10 @@ for(d:=0;d<=1;d++){ //{ //<span class="font-latex-math">$ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; - li[d]:=lvic+nom[d]+"}$</span> <span class="flyspell-duplicate">etex</span>);"+ + li[d]:=lvic+nom[d]+"}$</span> etex);"+ if(member(Z[0],F[d])==0){"valPos(btex <span class="font-latex-math">$"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$</span> etex,"} else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$</span> etex,"}+ - if(K0[d]==1){"1"}<span class="flyspell-duplicate">else</span>{"0"}+ + if(K0[d]==1){"1"}else{"0"}+ ");"; if(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limit(f[d](x),x=Z[r-1],1))< evalf(limit(f[d](x),x=Z[r],-1)); @@ -1810,21 +2097,21 @@ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; lp[d]:=lp[d]+if(member(Z[r],F[d])){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],-1)))}+"$</span> - etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$</span> etex,"+if(krp[d]==1){"1);"}else{"0);"}} + etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$</span> etex,"+if(krp[d]==1){"1);"}else{"0);"}} else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f[d](Z[r])))+"$</span> - etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}<span class="flyspell-duplicate">else</span>{"0); + etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}else{"0); "}}} }; } lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity; -lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ +lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex <span class="font-latex-math">$"+ if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> etex,"+ if(Kz[d]==1){"1);"}else{"0);"}} else{"limGauche(btex <span class="font-latex-math">$"+ if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> etex,"+ - if(Kz[d]==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; @@ -1844,13 +2131,13 @@ MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+lsi[1]+lsf[1]+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; "; } @@ -1861,18 +2148,18 @@ lp[0]+ lf[0]+ li[1]+ lp[1]+ -<span class="flyspell-duplicate">lf</span>[1] +lf[1] +" endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ li[0]+ -<span class="flyspell-duplicate">lf</span>[0]+ +lf[0]+ li[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ @@ -1880,24 +2167,24 @@ if(nz>2){"beginTableau("+nmr+")"+ lsi[0]+lsp[0]+lsf[0]+ li[0]+ lp[0]+ -<span class="flyspell-duplicate">lf</span>[0]+ +lf[0]+ lsi[1]+lsp[1]+lsf[1]+ li[1]+ lp[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+ li[0]+ -<span class="flyspell-duplicate">lf</span>[0]+ +lf[0]+ lsi[1]+lsf[1]+ li[1]+ lf[1] +" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";} } @@ -2703,7 +2990,7 @@ read("XCasTVP.user"); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XCasTVZ</span>.giac} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVZ.giac} maple_mode(0); read("config.cxx"); read("XcasTVZ.cxx"); @@ -2774,7 +3061,32 @@ read("XCasTVI.user"); </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVI.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVI}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVI</span>}} + + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVIex.giac} +maple_mode(0); +read("config.cxx"); +read("XcasTVIex.cxx"); +read("XCasTVIex.user"); +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIex}</span><span class="comment">% +</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIex.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{TVIex}} + + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIex*}</span>[1]<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIex.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVIex</span>}} + + + @@ -2797,7 +3109,7 @@ read("XCasTVIapp.user"); </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVIapp}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVIapp</span>}} @@ -2806,7 +3118,7 @@ read("XCasTVIapp.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVPC.giac} maple_mode(0); read("config.cxx"); -read("XcasTVPC.cxx"); +<span class="flyspell-duplicate">read</span>("XcasTVPC.cxx"); read("XCasTVPC.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -2817,9 +3129,9 @@ read("XCasTVPC.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVPC*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVPC.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVPC}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVPC</span>}} @@ -2834,14 +3146,14 @@ read("XCasTVPC.user"); <span class="comment-delimiter">%% </span><span class="comment">pour nettoyer les fichiers auxiliaires </span> -<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> queue.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> queue.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="flyspell-duplicate">mp</span>} } <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> enjoy :) +</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> </span><span class="comment"><span class="flyspell-incorrect">enjoy</span></span><span class="comment"> :) </span></pre> </body> </html> |