diff options
author | Norbert Preining <preining@logic.at> | 2008-01-19 14:55:20 +0000 |
---|---|---|
committer | Norbert Preining <preining@logic.at> | 2008-01-19 14:55:20 +0000 |
commit | 9bca56189bb3edc83bf64b0088ef5a52b07e3b36 (patch) | |
tree | ddd6f446085e1b22c5bf2a9c75aeaf828b53d882 /Master/texmf-dist/doc/latex/tablor/tablor.html | |
parent | 53f5c9b6fd4fe0cde4c661cc8d252d571392b66f (diff) |
new package tablor, put into mathextra
git-svn-id: svn://tug.org/texlive/trunk@6313 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 | 813 |
1 files changed, 813 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html new file mode 100644 index 00000000000..1ff1f5ed59f --- /dev/null +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -0,0 +1,813 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"> +<!-- Created by htmlize-1.34 in css mode. --> +<html> + <head> + <title>tablor.sty</title> + <style type="text/css"> + <!-- + body { + color: #f5deb3; + background-color: #000000; + font-weight: bold; + } + .comment { + /* font-lock-comment-face */ + color: #ffd700; + background-color: #525252; + } + .comment-delimiter { + /* font-lock-comment-delimiter-face */ + color: #ffd700; + background-color: #525252; + } + .flyspell-duplicate { + /* flyspell-duplicate-face */ + color: #cdad00; + font-weight: bold; + text-decoration: underline; + } + .flyspell-incorrect { + /* flyspell-incorrect-face */ + color: #ff4500; + font-weight: bold; + text-decoration: underline; + } + .font-latex-bold { + /* font-latex-bold-face */ + color: #6b8e23; + font-weight: bold; + } + .font-latex-math { + /* font-latex-math-face */ + color: #ffa500; + } + .font-latex-sedate { + /* font-latex-sedate-face */ + color: #d3d3d3; + } + .font-latex-subscript { + /* font-latex-subscript-face */ + font-size: 80%; + } + .font-latex-warning { + /* font-latex-warning-face */ + color: #ff0000; + font-weight: bold; + } + .function-name { + /* font-lock-function-name-face */ + color: #87ceeb; + } + .keyword { + /* font-lock-keyword-face */ + color: #6495ed; + font-weight: bold; + } + .variable-name { + /* font-lock-variable-name-face */ + color: #98fb98; + } + + a { + color: inherit; + background-color: inherit; + font: inherit; + text-decoration: inherit; + } + a:hover { + text-decoration: underline; + } + --> + </style> + </head> + <body> + <pre> + +<span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] +<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-incorrect">tablor</span>} + [17/01/2008 v1.2 + la machine à créer des tableaux de signes et variations] + + + +<span class="comment-delimiter">%% </span><span class="comment">Crée 5 environnements : +</span><span class="comment-delimiter">%% </span><span class="comment">tableau de signes de 2 facteurs affines +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSa} +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TSa</span></span><span class="comment">(-2,3,-1,5,1); +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TSa} +</span><span class="comment-delimiter">% </span><span class="comment">%%%%%% Pour des tableaux de plus de 2 facteurs +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TS} +</span><span class="comment-delimiter">% </span><span class="comment">TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],2); +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TS} +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">pour les tableaux de signes avec quotient +</span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSq} +</span><span class="comment-delimiter">%</span><span class="comment">TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],3) +</span><span class="comment-delimiter">%%</span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TSq} +</span><span class="comment-delimiter">% </span><span class="comment">un tableau de variation : +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TV} +</span><span class="comment-delimiter">% </span><span class="comment">TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,4) +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TV} +</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-incorrect">intermédiares</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"><span class="flyspell-duplicate">TVI</span></span><span class="comment">([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,1) +</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="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>{ +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{rm XCasmp.mp* XCasmp.log XCasmp?.mp* XCasmp?.log XCasmpTV.mp* XCasmpTV.<span class="flyspell-duplicate">log</span> *.out <span class="flyspell-duplicate">XCasmpTVI</span>.<span class="flyspell-duplicate">mp</span>* <span class="flyspell-duplicate">XCasmpTVI</span>.<span class="flyspell-duplicate">log</span> + *.in *.meta *<span class="flyspell-incorrect">mpx</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">\bouger</span></span><span class="function-name">}</span>[1]{ +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{cp <span class="flyspell-duplicate">XCas</span>* #1}} + + +<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">\recup</span></span><span class="function-name">}</span>[2]{ +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">cp</span> #1 #2}} + + + +<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVn</span></span><span class="function-name">}</span> + + +<span class="font-latex-sedate"><span class="keyword">\usepackage</span></span><span class="function-name">{fancyvrb}</span> +<span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\usepackage</span></span><span class="comment">[upright]{fourier} +</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="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-incorrect">giac</span> <#1 } } +<span class="font-latex-sedate">\makeatother</span> + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.meta} +TV(L,F,nom,<span class="flyspell-duplicate">nomv</span>,f,ftt,<span class="flyspell-duplicate">nmr</span>):={ +<span class="flyspell-duplicate">nl</span>:=<span class="flyspell-duplicate">size</span>(L); +f:=unapply(f,x); +<span class="flyspell-duplicate">fp</span>:=fonction_derivee(f); +Z:=concat(L,F); +S:=resoudre(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[<span class="flyspell-duplicate">nl</span>-1])); + if(kk==1){Z:=append(Z,simplifier(S[j]))}; + <span class="flyspell-duplicate">fpour</span> + <span class="flyspell-duplicate">fsi</span>; + +Z:=sort(Z); +nz:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-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; + fsi; +<span class="flyspell-duplicate">fpour</span>; +<span class="flyspell-duplicate">nz</span>:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; +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>; + + k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); + kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + +<span class="flyspell-duplicate">lsi</span>:="newLigneSignes(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</span>);"+ + if(Z[0]==-infinity){if(sign(evalf(<span class="flyspell-duplicate">fp</span>(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{if(<span class="flyspell-duplicate">member</span>(Z[0],F)==0){ + if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(Z[0]+10^(-5)))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ + if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} + +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; + lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + if(ksp==1){"plus;"}else{"moins;"} + }; } + +<span class="flyspell-duplicate">lsf</span>:=if(member(Z[nz-1],F)==0){""}else{"<span class="flyspell-duplicate">nomDefBarre</span>;"} +<span class="flyspell-duplicate">lm</span>0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; + li:="newLigneVariations(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"}+ + if(k0==1){"1"}<span class="flyspell-duplicate">else</span>{"0"}+ + ");"; + + if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); + krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; + lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-<span class="flyspell-duplicate">infinity</span>; + lp:=lp+if(member(Z[r],F)){ + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(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(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}}} + }; } + +<span class="flyspell-duplicate">lnz</span>:=limite(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"}+ + if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}; + + +<span class="flyspell-duplicate">intro</span>:="input <span class="flyspell-duplicate">tableauVariation</span>; + <span class="flyspell-duplicate">verbatimtex</span> +<span class="comment-delimiter">%</span><span class="comment">&latex +</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> + <span class="flyspell-duplicate">etex</span> + +" + + +<span class="flyspell-duplicate">MetaL</span>:= if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++"<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lf</span> ++"<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>";}}<span class="flyspell-duplicate">else</span>{ +if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsp+<span class="flyspell-duplicate">lsf</span>+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++"<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+<span class="flyspell-duplicate">lsf</span>+ +li+ +<span class="flyspell-duplicate">lf</span> ++"<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>";} +} + +<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); + }:; + + + +<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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.<span class="flyspell-duplicate">meta</span>} + + +<span class="flyspell-duplicate">TVI</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ +<span class="flyspell-duplicate">nl</span>:=<span class="flyspell-duplicate">size</span>(L); +f:=unapply(f,x); +<span class="flyspell-duplicate">fp</span>:=fonction_derivee(f); +Z:=concat(L,F); +S:=resoudre(fp(x),x); + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + <span class="flyspell-duplicate">kk</span>:=(<span class="flyspell-duplicate">evalf</span>(S[j])>=<span class="flyspell-duplicate">evalf</span>(L[0])) and (<span class="flyspell-duplicate">evalf</span>(S[j])<=<span class="flyspell-duplicate">evalf</span>(L[<span class="flyspell-duplicate">nl</span>-1])); + if(<span class="flyspell-duplicate">kk</span>==1){Z:=append(Z,simplifier(S[j]))}; + <span class="flyspell-duplicate">fpour</span> + <span class="flyspell-duplicate">fsi</span>; + +Z:=sort(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + <span class="flyspell-duplicate">fsi</span>; +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; + <span class="flyspell-duplicate">fsi</span>; +<span class="flyspell-duplicate">fpour</span>; +<span class="flyspell-duplicate">nz</span>:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; + + + +LI:=limite(f(x),x,Z[0],1); +<span class="flyspell-duplicate">LF</span>:=limite(f(x),x,Z[<span class="flyspell-duplicate">nz</span>-1],-1); +<span class="flyspell-duplicate">LP</span>:=<span class="flyspell-duplicate">NULL</span>; +if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limite(f(x),x,Z[r],-1),limite(f(x),x,Z[r],1)}else{f(Z[r])}}}; +if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,<span class="flyspell-duplicate">LF</span>]}; + +<span class="flyspell-duplicate">NL</span>:=size(<span class="flyspell-duplicate">LL</span>); +A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; + +if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-<span class="flyspell-duplicate">ao</span>))==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">$\\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;}else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[k])+"$</span> <span class="flyspell-duplicate">etex</span>);"}} +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; + +if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-<span class="flyspell-duplicate">ao</span>))==0.0); +<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(LL[k+1])); +if(TestS==0){ if( TestL==1 ){l0:=l0}<span class="flyspell-duplicate">else</span>{ +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);";<span class="flyspell-duplicate">aa</span>:=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>);"}; + + + +<span class="flyspell-duplicate">TestS</span>:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); + k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); + kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); + +<span class="flyspell-duplicate">lsi</span>:="newLigneSignes(btex <span class="font-latex-math">$\\hbox{ Signe de }\\atop{\\displaystyle "+nom+"'("+nomv+")}$</span> <span class="flyspell-duplicate">etex</span>);"+ + if(Z[0]==-<span class="flyspell-duplicate">infinity</span>){if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">evalf</span>(<span class="flyspell-duplicate">fp</span>(if(Z[1]==+<span class="flyspell-duplicate">infinity</span>){0}<span class="flyspell-duplicate">else</span>{Z[1]-10^(-5)})))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{if(<span class="flyspell-duplicate">member</span>(Z[0],F)==0){ + if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>((Z[0]+10^(-10))))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{"<span class="flyspell-duplicate">nonDefBarre</span>;"+ + if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(10^(-10)+Z[0]))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"} }}+if(<span class="flyspell-duplicate">TestS</span>==0){"<span class="flyspell-duplicate">valBarre</span>(<span class="flyspell-duplicate">btex</span><span class="font-latex-math">$ $</span> <span class="flyspell-duplicate">etex</span>);"+ if(<span class="flyspell-duplicate">sign</span>(<span class="flyspell-duplicate">fp</span>(10^(-10)+Z[0]))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; + + + + + +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(<span class="flyspell-duplicate">evalf</span>(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==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{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex <span class="font-latex-math">$ $</span> etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}<span class="flyspell-duplicate">else</span>{" "}; + }} +<span class="flyspell-duplicate">else</span>{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); + TestL:=(abs(LL[r])==abs(LL[r+1])); + if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + if(kspp==1){"plus;"}else{"moins;"}+"valBarre(btex <span class="font-latex-math">$ $</span> etex);"+if(kspp==1){"plus;"}else{"moins;"};rr:=<span class="flyspell-duplicate">rr</span>+1;} + } else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=<span class="flyspell-duplicate">rr</span>+1;} +}} + }; + + + +lsf:=if(member(Z[nz-1],F)==0){""}else{"<span class="flyspell-duplicate">nomDefBarre</span>;"} +lm0:=limite(f(x),x=Z[0],1)==-<span class="flyspell-duplicate">infinity</span>; + +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); + + li:="newLigneVariations(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Variations de }\\atop{\\displaystyle \\Mathbold{"+nom+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"}+ + if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}<span class="flyspell-duplicate">else</span>{" "}; + + + if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(<span class="flyspell-duplicate">evalf</span>(LL[r+1]-ao))==0.0); + krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); + krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; + lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-<span class="flyspell-duplicate">infinity</span>; + lp:=lp+if(member(Z[r],F)) { + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+latex(simplifier(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(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(<span class="flyspell-duplicate">btex</span> + <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5);" + }else{" "}; +};//for +}else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-<span class="flyspell-duplicate">ao</span>))==0.0); + krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">rr</span>],-1)); + krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[<span class="flyspell-duplicate">rr</span>+1],-1)) ; + lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); +if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(<span class="flyspell-duplicate">btex</span> + <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5); + ";rr:=<span class="flyspell-duplicate">rr</span>+1; +}// else <span class="flyspell-incorrect">testL</span>==1 +}//<span class="flyspell-duplicate">testS</span>==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(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + etex,"+if(sign(<span class="flyspell-duplicate">evalf</span>(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}<span class="flyspell-duplicate">else</span>{"0); + "}}};rr:=<span class="flyspell-duplicate">rr</span>+1; +}//else <span class="flyspell-duplicate">testS</span>==0 +}//for nz<<span class="flyspell-duplicate">NL</span> +}// else nz<<span class="flyspell-duplicate">NL</span> +//if nz=NL +};//if <span class="flyspell-duplicate">nz</span>>2 + + +lnz:=limite(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ + if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}; + + + +<span class="flyspell-duplicate">intro</span>:=" +input <span class="flyspell-duplicate">tableauVariation</span>; +<span class="flyspell-duplicate">verbatimtex</span> +<span class="comment-delimiter">%</span><span class="comment">&latex +</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> + <span class="flyspell-duplicate">etex</span> + +"; + + +<span class="flyspell-duplicate">MetaL</span>:= if(ftt==0){if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++"endTableau; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lf</span> ++"endTableau; +<span class="flyspell-duplicate">end</span>";}}else{ +if(nz>2){intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++"endTableau; +<span class="flyspell-duplicate">end</span>";}else{intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsf+ +li+ +<span class="flyspell-duplicate">lf</span> ++"endTableau; +<span class="flyspell-duplicate">end</span>";} +}; + +<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">MetaL</span>); + }:; + + + +<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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.meta} +<span class="flyspell-duplicate">TS</span>(L,nmr):={ +L:=apply(f->unapply(f,x),L) +n:=size(L); +Z:=<span class="flyspell-duplicate">NULL</span>; + + +pour k de 0 jusque n-1 faire + S:=resoudre(L[k](x),x); + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + Z:=Z,simplifier(S[j]); + <span class="flyspell-duplicate">fpour</span>; + fsi; +<span class="flyspell-duplicate">fpour</span>; +Z:=sort(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); +pour u de 1 jusque nz-2 faire + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; + fsi; +<span class="flyspell-duplicate">fpour</span>; +nz:=size(Z); +l0:=" ";li:=" ";lr:=" "; +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>; + + + +for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=" "; + li:=li+"newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> etex);"+ + if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+ + for(r:=0; r<=nz-2;r++){ + lp:=lp+if(simplifier(L[p](Z[r]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ + if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins;"} + }; + + +pour t de 0 jusque nz-2 faire + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);" + fpour + +<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; + <span class="flyspell-duplicate">verbatimtex</span> +<span class="comment-delimiter">%</span><span class="comment">&latex +</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> + etex + beginTableau("+nmr+") +<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); + val(btex <span class="font-latex-math">$-\\infty$</span> etex);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>);"+ + li + + + " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe du }\\atop{{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> produit}}$</span> etex);"+ + if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + lr+ + if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+" +<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>" +; +return(<span class="flyspell-duplicate">MetaL</span>); + }:; +<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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.meta} +<span class="flyspell-duplicate">TSq</span>(nomf,L,Fo,nmr):={ +L:=apply(f->unapply(f,x),L); +<span class="flyspell-duplicate">Fo</span>:=apply(f->unapply(f,x),Fo); +L:=concat(L,Fo); +n:=size(L); +Z:=NULL; +m:=size(Fo); +F:=<span class="flyspell-duplicate">NULL</span>; + + + +pour k de 0 jusque n-1 faire + S:=resoudre(L[k](x),x); + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + Z:=Z,simplifier(S[j]); + <span class="flyspell-duplicate">fpour</span>; + fsi; +<span class="flyspell-duplicate">fpour</span>; + + +pour k de 0 jusque m-1 faire + SF:=resoudre(Fo[k](x),x); + si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire + F:=F,simplifier(SF[j]); + fpour; + fsi; +<span class="flyspell-duplicate">fpour</span>; + + + +Z:=sort(Z); // on classe les zéros dans l'ordre croissant +nz:=size(Z); +pour u de 1 jusque nz-2 faire + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; // pour les zéros en double + fsi; +fpour; +<span class="flyspell-duplicate">nz</span>:=size(Z); +l0:=" ";li:=" ";lr:=" "; +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>; + + + +for(p:=0;p<=n-1;p++){lp:=" "; + li:=li+"newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+latex(L[p](x))+"}}$</span> <span class="flyspell-duplicate">etex</span>);"+ + if(L[p](Z[0]-1.0)>0){"plus;"}else{"moins;"}+ + for(r:=0; r<=nz-2;r++){ + lp:=lp+if(simplifier(L[p](Z[r]))==0){" + <span class="flyspell-duplicate">valBarre</span>(btex 0 etex);"}else{"barre;"}+ + if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}+ + if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; + "} + }; + + +pour t de 0 jusque nz-2 faire + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[t+1],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + fpour + +<span class="flyspell-duplicate">MetaL</span>:=" input <span class="flyspell-duplicate">tableauVariation</span>; + <span class="flyspell-duplicate">verbatimtex</span> +<span class="comment-delimiter">%</span><span class="comment">&latex +</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> + etex + beginTableau("+nmr+") +<span class="flyspell-duplicate">newLigneVariables</span>(btex <span class="font-latex-math">$\\Mathbold{x}$</span> etex); + val(btex <span class="font-latex-math">$-\\infty$</span> etex);"+l0+"val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>);"+ + li + + + " newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> "+nomf+"(x) }$</span> etex);"+ + if(product(L[s](Z[0]-1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+if(member(Z[0],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ + lr+ + if(product(L[s](Z[nz-1]+1.0),s,0,n-1)>0){"plus;"}else{"moins;"}+" +<span class="flyspell-duplicate">endTableau</span>; +<span class="flyspell-duplicate">end</span>" +; +return(<span class="flyspell-duplicate">MetaL</span>); + }:; + + +<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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSign.meta} +<span class="flyspell-duplicate">TSa</span>(a,b,c,d,nmr):={ +zA:=resoudre(a*x+b=0,x)[0]; +<span class="flyspell-duplicate">zB</span>:=resoudre(c*x+d=0,x)[0]; +<span class="flyspell-duplicate">zmin</span>:=min(zA,zB); +<span class="flyspell-duplicate">zmax</span>:=max(zA,zB); + Meta:= " input <span class="flyspell-duplicate">tableauVariation</span>; + verbatimtex +<span class="comment-delimiter">%</span><span class="comment">&latex +</span> <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">documentclass</span><span class="function-name">{article}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="variable-name">[upright]</span><span class="function-name">{fourier}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">usepackage</span><span class="function-name">{amsmath}</span> + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">newcommand</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">Mathbold}</span>[1]{<span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">mbox</span><span class="function-name">{</span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">boldmath</span><span class="function-name"><span class="font-latex-math">$#1$</span></span><span class="function-name"><span class="font-latex-warning">\\</span></span><span class="function-name">unboldmath}</span>} + <span class="font-latex-warning">\</span><span class="keyword"><span class="font-latex-warning">\</span></span><span class="keyword">begin</span><span class="function-name">{document}</span> + <span class="flyspell-duplicate">etex</span> + beginTableau("+<span class="flyspell-duplicate">nmr</span>+") + newLigneVariables(btex <span class="font-latex-math">$\\Mathbold{x}$</span> <span class="flyspell-duplicate">etex</span>); + val(btex <span class="font-latex-math">$-\\infty$</span> etex);val(btex <span class="font-latex-math">$"+latex(zmin)+"$</span> etex); +val(btex <span class="font-latex-math">$"+latex(zmax)+"$</span>etex); +val(btex <span class="font-latex-math">$+\\infty$</span> etex); + newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}}$</span> <span class="flyspell-duplicate">etex</span>);" + + if(a>0){"moins;"}else{"plus;"}+ + if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(zmin==zA){si a>0 alors "plus;"; sinon "moins;";fsi} + else{si a>0 alors "moins;"; sinon "plus;"; <span class="flyspell-duplicate">fsi</span>}+ + if(zmin==zA){"barre;"}else{"valBarre(btex 0 etex);"}+ + if(a>0){"plus;"}else{"moins;"} + +" newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{"+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}}$</span> <span class="flyspell-duplicate">etex</span>);" + + if(c>0){"moins"}else{"plus"}+";"+ + if(zmin==zB){"valBarre(btex 0 etex);"}else{"barre;"}+ + if(zmin==zB){si c>0 alors "plus;"; sinon "moins;";<span class="flyspell-duplicate">fsi</span>} + else{si c>0 alors "moins;"; sinon "plus;"; fsi}+ + if(zmin==zB){"barre;"}else{"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}+ + if(c>0){"plus;"}else{"moins;"} + + +" newLigneSignes(btex <span class="font-latex-math">$\\hbox{\</span><span class="font-latex-bold"><span class="font-latex-math">\bf</span></span><span class="font-latex-math"> Signe de }\\atop{\\displaystyle \\Mathbold{("+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+")("+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+")}}$</span> <span class="flyspell-duplicate">etex</span>);" + + si a*c>0 alors plus; sinon moins;fsi+";"+ + "valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + si a*c>0 alors moins; sinon plus;<span class="flyspell-duplicate">fsi</span>+";"+ + "valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"+ + si a*c>0 alors plus; sinon moins;fsi+";"+" +endTableau; +<span class="flyspell-duplicate">end</span>" +; +<span class="flyspell-duplicate">return</span>(<span class="flyspell-duplicate">Meta</span>); + }:; +<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">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.in} +<span class="flyspell-duplicate">maple</span>_mode(0); +read("XcasTabSign.meta"); +Sortie:=fopen("XCasmp.mp"); +vect.xcas.out := read("XCas.out"); +<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; +<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +Resultat:=cat(" "); +<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +Resultat:=cat(Resultat,RslT); +<span class="flyspell-duplicate">fprint</span>(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fclose</span>(Sortie); +<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">{TSa}</span> +{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCas.out}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCas.in} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmp</span>} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmp.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +} + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasQ.in} +<span class="flyspell-duplicate">maple</span>_mode(0); +<span class="flyspell-duplicate">read</span>("XcasTabSignQ.meta"); +Sortie:=fopen("XCasmpQ.mp"); +<span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasQ.out"); +vxo := vect.xcas.out; +<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +<span class="flyspell-duplicate">Resultat</span>:=cat(" "); +<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +fprint(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fclose</span>(Sortie); +<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">{</span><span class="function-name"><span class="flyspell-duplicate">TSq</span></span><span class="function-name">}</span> +{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasQ.out}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasQ.in} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpQ</span>} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpQ.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +} + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.in} +<span class="flyspell-duplicate">maple</span>_mode(0); +<span class="flyspell-duplicate">read</span>("XcasTabSignL.meta"); +Sortie:=fopen("XCasmpL.mp"); +<span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasL.out"); +vxo := vect.xcas.out; +<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +<span class="flyspell-duplicate">Resultat</span>:=cat(" "); +<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,RslT); +fprint(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fclose</span>(Sortie); +<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">{</span><span class="function-name"><span class="flyspell-duplicate">TS</span></span><span class="function-name">}</span> +{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.out}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasL.in} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpL</span>} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpL.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +} + + + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.in} +<span class="flyspell-duplicate">maple</span>_mode(0); +read("XcasTV.meta"); +Sortie:=fopen("XCasmpTV.mp"); +<span class="flyspell-duplicate">vect</span>.xcas.out := read("XCasTV.out"); +<span class="flyspell-duplicate">vxo</span> := vect.xcas.out; +<span class="flyspell-duplicate">dim</span>.vxo := dim(vxo); +<span class="flyspell-duplicate">nbr</span>.line.vxo := dim.vxo; +Resultat:=cat(" "); +<span class="flyspell-duplicate">rslt</span> := vxo[0]; RslT:=cat(rslt); +<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,<span class="flyspell-duplicate">RslT</span>); +fprint(Sortie,Unquoted,Resultat); +<span class="flyspell-duplicate">fclose</span>(Sortie); +<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">{TV}</span> +{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.out}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{XCasTV.in} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpTV</span>} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{XCasmpTV.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +} + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XCasTVI</span>.in} +maple_mode(0); +<span class="flyspell-duplicate">read</span>("<span class="flyspell-duplicate">XcasTVI</span>.<span class="flyspell-duplicate">meta</span>"); +Sortie:=<span class="flyspell-duplicate">fopen</span>("<span class="flyspell-incorrect">XCasmpTVI</span>.mp"); +<span class="flyspell-duplicate">vect</span>.xcas.out := read("<span class="flyspell-duplicate">XCasTVI</span>.out"); +vxo := vect.xcas.out; +dim.vxo := dim(<span class="flyspell-duplicate">vxo</span>); +nbr.line.vxo := dim.<span class="flyspell-duplicate">vxo</span>; +<span class="flyspell-duplicate">Resultat</span>:=<span class="flyspell-duplicate">cat</span>(" "); +rslt := vxo[0]; RslT:=cat(<span class="flyspell-duplicate">rslt</span>); +<span class="flyspell-duplicate">Resultat</span>:=cat(Resultat,<span class="flyspell-duplicate">RslT</span>); +fprint(Sortie,Unquoted,Resultat); +fclose(Sortie); +<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">{</span><span class="function-name"><span class="flyspell-duplicate">TVI</span></span><span class="function-name">}</span> +{<span class="font-latex-sedate">\stepcounter</span>{TVn}<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XCasTVI</span>.out}} +{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + <span class="font-latex-sedate">\executGiacmp</span>{<span class="flyspell-duplicate">XCasTVI</span>.in} + + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost <span class="flyspell-duplicate">XCasmpTVI</span>} + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> + <span class="font-latex-sedate">\includegraphics</span>{<span class="flyspell-duplicate">XCasmpTVI</span>.<span class="font-latex-sedate">\theTVn</span>} +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> + +} + + + + + + +<span class="comment-delimiter">%%</span><span class="comment"> +</span><span class="comment-delimiter">%% </span><span class="comment">Zi </span><span class="comment"><span class="flyspell-duplicate">end</span></span><span class="comment"> +</span></pre> + </body> +</html> |