diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-19 16:39:05 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-19 16:39:05 +0000 |
commit | 44fd9c60eecdeb03f545d4c6199921b9ea71fa28 (patch) | |
tree | 9eb21522055866f281479507224108d5e46726f9 /Master | |
parent | 81c39042d694d7088a131fc09460771775e73c4e (diff) |
tablor update (17mar09)
git-svn-id: svn://tug.org/texlive/trunk@12434 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 755 | ||||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.pdf | bin | 391589 -> 391365 bytes | |||
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.tex | 4 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty | 100 | ||||
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 91 |
5 files changed, 409 insertions, 541 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index 46298e680db..82dfd03264f 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/03/2009 v4.04 la machine a creer des tableaux de signes et variations] +<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[17/03/2009 v4.04-b 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.html +</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">Cree 16 environnements : @@ -132,14 +132,14 @@ </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 </span><span class="comment"><span class="flyspell-incorrect">intermediares</span></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"> </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,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">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="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="comment">tableau avec valeurs intermediares 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="comment">TVIex([-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"> @@ -152,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"><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="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="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"> @@ -161,7 +161,7 @@ </span><span class="comment-delimiter">% </span><span class="comment">fichier metapost pour le modifier </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">Courbes parametrees +</span><span class="comment-delimiter">% </span><span class="comment">Courbes </span><span class="comment"><span class="flyspell-duplicate">parametrees</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">{TVP} </span><span class="comment-delimiter">% </span><span class="comment">TVP([-infinity,+infinity],[[-1,2],[-1]],["x","y"],"t",[t^2/((t+1)*(t-2)),t^2*(t+2)/(t+1)],1,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">{TVP} @@ -189,18 +189,18 @@ </span><span class="comment-delimiter">%% </span><span class="comment">ne l'avez pas de base </span> -<span class="font-latex-sedate">\RequirePackage</span>{filecontents} +<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-incorrect">filecontents</span>} <span class="font-latex-sedate">\RequirePackage</span>{ifthen} <span class="font-latex-sedate">\RequirePackage</span>{fancyvrb} -<span class="font-latex-sedate">\RequirePackage</span>{ifpdf} +<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-duplicate">ifpdf</span>} -<span class="font-latex-sedate">\fvset</span>{gobble=0} +<span class="font-latex-sedate">\fvset</span>{<span class="flyspell-incorrect">gobble</span>=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}{true}} +<span class="font-latex-sedate">\newboolean</span>{xcas}<span class="font-latex-sedate">\setboolean</span>{xcas}{<span class="flyspell-duplicate">false</span>} +<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">\ProcessOptions</span><span class="font-latex-sedate">\relax</span> @@ -209,22 +209,22 @@ <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}{false} +</span><span class="font-latex-sedate">\newboolean</span>{windows}<span class="font-latex-sedate">\setboolean</span>{windows}{<span class="flyspell-duplicate">false</span>} -<span class="comment-delimiter">%% </span><span class="comment">on configure tablor dans un fichier exterieur pour la plateforme +<span class="comment-delimiter">%% </span><span class="comment">on configure tablor dans un fichier exterieur pour la </span><span class="comment"><span class="flyspell-incorrect">plateforme</span></span><span class="comment"> </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.cfg}} +<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> <span class="comment-delimiter">%% </span><span class="comment">Definit des commandes disque selon l'OS utilise </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"><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>{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">\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>{<span class="flyspell-duplicate">cat</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>{<span class="flyspell-duplicate">cp</span> }} @@ -235,18 +235,18 @@ <span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via pdflatex </span> <span class="font-latex-sedate">\ifpdf</span> -<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{mps}{*}{} +<span class="font-latex-sedate">\DeclareGraphicsRule</span>{*}{<span class="flyspell-incorrect">mps</span>}{*}{} <span class="font-latex-sedate">\fi</span> <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* *.mpx} +<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="comment-delimiter">%% </span><span class="comment">Pour clore les fichiers metapost +<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> <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{queue.mp} @@ -264,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.cxx} +</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>} } @@ -277,7 +277,7 @@ <span class="comment-delimiter">%% </span><span class="comment">initialise les compteurs </span> -<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{TVn}</span> +<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">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\tv</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{TVnbis}</span> @@ -285,7 +285,7 @@ -<span class="comment-delimiter">%% </span><span class="comment">permet de donner un prefixe aux tableaux produits (</span><span class="font-latex-sedate"><span class="comment">\jobname</span></span><span class="comment"> par defaut) +<span class="comment-delimiter">%% </span><span class="comment">permet de donner un prefixe aux tableaux produits (</span><span class="font-latex-sedate"><span class="comment">\jobname</span></span><span class="comment"> par </span><span class="comment"><span class="flyspell-duplicate">defaut</span></span><span class="comment">) </span><span class="comment-delimiter">%% </span><span class="comment">effectue quelques verifications : </span> @@ -294,16 +294,16 @@ </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{0}</span><span class="comment">% Initialisation du compteur de tableaux. </span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{xcas}}<span class="comment">% Avec l'option XCas </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="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 </span><span class="comment"><span class="flyspell-incorrect">detruire</span></span><span class="comment"> </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">\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">\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 </span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -interaction=batchmode <span class="font-latex-sedate">\nomtravail</span>.Tab}}<span class="comment">% l'executer pour reconstituer les figures </span>{<span class="font-latex-sedate">\PackageWarning</span>{tablor}{Pas de source metapost pour creer les tableaux.}}<span class="comment">% sinon message d'erreur </span> <span class="comment">% (mais pas d'arret car les tableaux -</span> <span class="comment">% peuvent être presents ) +</span> <span class="comment">% peuvent être </span><span class="comment"><span class="flyspell-incorrect">presents</span></span><span class="comment"> ) </span>}}<span class="comment">% </span> @@ -312,7 +312,7 @@ </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">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{<span class="flyspell-duplicate">windows</span>}}<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{giac <#1 }}} <span class="font-latex-sedate">\makeatother</span> @@ -335,7 +335,7 @@ </span> <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTV.cxx} -TV(L,F,nom,nomv,f,ftt,trigo,nmr):={ +<span class="flyspell-duplicate">TV</span>(L,F,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); fp:=function_diff(f); @@ -347,13 +347,13 @@ if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); -ns:=size(SS); +<span class="flyspell-duplicate">ns</span>:=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]){ +<span class="flyspell-duplicate">while</span>(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } @@ -366,14 +366,14 @@ S:=solve(fp(x),x); qq:=member(simplify(S[j]),Z)==0; kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; - fpour + <span class="flyspell-duplicate">fpour</span> fsi; Z:=sort(Z); nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - ftantque; + <span class="flyspell-duplicate">ftantque</span>; @@ -385,20 +385,15 @@ nz:=size(Z); 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; + <span class="flyspell-duplicate">fsi</span>; + + +Z:=sort([op(set[op(Z)])]); -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:=" "; 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">fpour</span>; 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)); @@ -435,16 +430,16 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity; "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; +lnz:=limit(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">$"+ +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> etex,"+ if(kz==1){"1);"}else{"0);"}} - else{"limGauche(btex <span class="font-latex-math">$"+ + else{"limGauche(<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> etex,"+ - if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -452,15 +447,15 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">beginTableau</span>("+nmr+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ -intro+"beginTableau("+nmr+")"+ +intro+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } @@ -470,39 +465,39 @@ li+ lp+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ -lsi+lsp+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ li+ -lp+ +<span class="flyspell-duplicate">lp</span>+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }} sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -538,13 +533,13 @@ 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]){ @@ -560,14 +555,14 @@ S:=solve(fp(x),x); qq:=member(simplify(S[j]),Z)==0; kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; - fpour + <span class="flyspell-duplicate">fpour</span> fsi; Z:=sort(Z); nz:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - ftantque; + <span class="flyspell-duplicate">ftantque</span>; @@ -579,20 +574,15 @@ nz:=size(Z); 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; + <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:=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); + +Z:=sort([op(set[op(Z)])]); + +<span class="flyspell-duplicate">nz</span>:=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); -";fpour; +";<span class="flyspell-duplicate">fpour</span>; 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)); @@ -624,72 +614,72 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity; "valPos(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);"} } - else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> + else{"valPos(btex <span class="font-latex-math">$"+latex(</span><span class="font-latex-math"><span class="flyspell-duplicate">simplify</span></span><span class="font-latex-math">(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; +<span class="flyspell-duplicate">lnz</span>:=limit(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(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">$"+ + else{"limGauche(<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> etex,"+ - if(kz==1){"1);"}else{"0);"}}; + if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}}; -MetaLfc:=if(ftt==2){if(nz>2){" +MetaLfc:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ -intro+"beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">intro</span>+"beginTableau("+nmr+")"+ l0+ lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } }else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -lp+ -lf +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> +" endTableau; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}}else{ -if(nz>2){"beginTableau("+nmr+")"+ +if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsp+lsf+ li+ lp+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ -lsi+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsf+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }} @@ -697,7 +687,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -fclose(sortie); +<span class="flyspell-duplicate">fclose</span>(sortie); }:; @@ -726,7 +716,7 @@ fclose(sortie); TVZ(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); -nf:=size(FF); +nf:=size(<span class="flyspell-duplicate">FF</span>); 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]]}; @@ -739,7 +729,7 @@ if(FF[k][1]<L[1]){Imax[k]:=FF[k][1];LL:=L}else{Imax[k]:=L[1];LL:=[L[0]]}; IMIN:=[IMIN]; IMAX:=[IMAX]; f:=unapply(f,x); -fp:=function_diff(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); Z:=concat(LL,F); for(k:=0;k<nf;k++){ @@ -751,7 +741,7 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; -reset_solve_counter(-1,-1); +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ @@ -780,19 +770,11 @@ S:=solve(fp(x),x); if(Kk==1){Z:=append(Z,simplify(S[j]))}; } fpour - fsi; + <span class="flyspell-duplicate">fsi</span>; -Z:=sort(Z); -nz:=size(Z); +Z:=sort([op(set[op(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); for(j:=0;j<nf;j++){ @@ -801,14 +783,14 @@ for(j:=0;j<nf;j++){ } } } -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:=" "; 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">fpour</span>; 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)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); 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){ @@ -820,7 +802,7 @@ 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],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(member(Z[r],IMAX)!=0){if((member(Z[r],F)==0) and (fp(Z[r])!=undef)){"finNonDef;"}else{"</span><span class="font-latex-math"><span class="flyspell-duplicate">finNonDefStrict</span></span><span class="font-latex-math">;"}+ 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;"} @@ -828,7 +810,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; -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; +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{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">; "}} @@ -849,48 +831,48 @@ if(nz>2){ "-\\infty"}else{ latex(simplify(limit(f(x),x=Z[r],-1)))} +"$</span> etex,"+if(krm==1){ - "1);"}else{"0);"} + "1);"}<span class="flyspell-duplicate">else</span>{"0);"} +if(member(Z[r],F)==0){"debutNonDef;"}else{"debutNonDefStrict;"} - }//fsi Zr=Imin + }//fsi Zr=<span class="flyspell-duplicate">Imin</span> 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> etex,"+if(krp==1){ - "1);"}else{"0);"} + "1);"}<span class="flyspell-duplicate">else</span>{"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(krm==1){ + +"$</span> etex,"+if(<span class="flyspell-duplicate">krm</span>==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){ + +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==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);"}else{ - if(krp==1){ + if(<span class="flyspell-duplicate">krp</span>==1){ "1);"}else{"0);"}//felse(krp) - }//felse(valpos) + }//felse(<span class="flyspell-incorrect">valpos</span>) }//felse(member Zr F) } //felse(Zr=Imax) }//felse(Zr=Imin) - };//ffor + };//<span class="flyspell-incorrect">ffor</span> }//fsi nz -lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; +<span class="flyspell-duplicate">lnz</span>:=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,"+ +<span class="flyspell-duplicate">lf</span>:=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> <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(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -898,32 +880,32 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+nmr+")"+ +beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ -lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">lsi</span>+lsf+" +<span class="flyspell-duplicate">endTableau</span>; "; } -}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ +}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ -lp+ +<span class="flyspell-duplicate">lp</span>+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ @@ -931,17 +913,17 @@ if(nz>2){"beginTableau("+nmr+")"+ lsi+lsp+lsf+ li+ lp+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ -lsi+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsf+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }} @@ -949,7 +931,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -fclose(sortie); +<span class="flyspell-duplicate">fclose</span>(sortie); } :; @@ -965,7 +947,7 @@ fclose(sortie); </span> -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVapp.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVapp.<span class="flyspell-duplicate">cxx</span>} @@ -973,7 +955,7 @@ fclose(sortie); -TVapp(L,F,nom,nomv,f,ftt,nmr):={ +<span class="flyspell-duplicate">TVapp</span>(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); @@ -988,20 +970,20 @@ 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,fsolve(fp(x),x,k/10,newton_solver);end_for} +if(L==[-infinity,+infinity]){j:=[seq(-100+k,k=0..200)]minus F;for k in j do S:=S,fsolve(fp(x),x,k/10,<span class="flyspell-duplicate">newton</span>_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,fsolve(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,fsolve(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,fsolve(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,fsolve(fp(x),x,k/10,newton_<span class="flyspell-duplicate">solver</span>);end_for; }}}; 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; @@ -1026,8 +1008,8 @@ Z:=[S]; 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); -";fpour; +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>); +";<span class="flyspell-duplicate">fpour</span>; 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)); @@ -1045,7 +1027,7 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "} -lm0:=limit(f(x),x=Z[0],1)==-infinity; +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">; 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,"}+ @@ -1062,29 +1044,29 @@ lm0:=limit(f(x),x=Z[0],1)==-infinity; "}}} }; } -lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; +lnz:=limit(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">$"+ +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> 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,"+ + else{"limGauche(<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);nonDefBarre;"}else{"0);nonDefBarre;"}}; -MetaLfc:=if(ftt==2){if(nz>2){" +MetaLfc:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" -beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">beginTableau</span>("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; ";}else{ -intro+"beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } @@ -1092,34 +1074,34 @@ endTableau; l0+ li+ lp+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" endTableau; ";}}else{ -if(nz>2){"beginTableau("+nmr+")"+ +if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ -lsi+lsp+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ li+ lp+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }} @@ -1148,32 +1130,32 @@ 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 avec -</span><span class="comment-delimiter">%% </span><span class="comment">Valeurs intermediaires +</span><span class="comment-delimiter">%% </span><span class="comment">Valeurs </span><span class="comment"><span class="flyspell-incorrect">intermediaires</span></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>{<span class="flyspell-duplicate">XcasTVI</span>.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVI.cxx} TVI(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); -<span class="flyspell-duplicate">fp</span>:=function_diff(f); +fp:=function_diff(f); Z:=concat(L,F); 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]){ @@ -1185,38 +1167,35 @@ 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])); + 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,simplify(S[j]))}; fpour - fsi; + <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:=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:=" "; + +Z:=sort([op(set[op(Z)])]); + + + +<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:=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(<span class="flyspell-duplicate">nz</span>>2){ for(r:=1; +<span class="flyspell-duplicate">PB</span>:=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(<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(member(Z[r],F)){PB:=PB,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); A:=NULL;aa:=1; -kk:=0; +<span class="flyspell-duplicate">kk</span>:=0; @@ -1224,7 +1203,7 @@ if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[ 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> 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(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]-<span class="flyspell-duplicate">ao</span>))==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">$\\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} @@ -1236,7 +1215,7 @@ else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> et }; -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); +TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-<span class="flyspell-duplicate">ao</span>))==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)); @@ -1255,27 +1234,27 @@ if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(evalf(sign(LL[r 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); +</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(sign(LL[r]-ao))==evalf(sign(</span><span class="font-latex-math"><span class="flyspell-duplicate">LL</span></span><span class="font-latex-math">[r+1]-ao))) or (evalf(sign(LL[r]-ao))==0.0)or (evalf(sign(LL[r+1]-ao))==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(PB[r]==1){if(TestS==0){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;"}+"valBarre(btex $</span> <span class="font-latex-math">$ etex);"+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;} + else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ 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;"} + lsf:=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">;"} -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">; +</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">; -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); +TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(</span><span class="font-latex-math"><span class="flyspell-duplicate">LL</span></span><span class="font-latex-math">[1]-ao))==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,"} @@ -1300,33 +1279,33 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))= 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);"}} + "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);"}<span class="flyspell-duplicate">else</span>{"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 + etex,"+if(evalf(sign(fp(Z[rr]-0.01)))==sign(fp(Z[<span class="flyspell-duplicate">rr</span>]+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> 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{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);"}<span class="flyspell-duplicate">else</span>{"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; + etex,"+if(evalf(sign(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 testS==0 }//PB[r]==1 }//for nz<NL }// else nz<NL -//if nz=NL +//if nz=<span class="flyspell-duplicate">NL</span> };//if <span class="flyspell-duplicate">nz</span>>2 -lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; +lnz:=limit(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">$"+ +<span class="flyspell-duplicate">lf</span>:=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">$"+ + else{"limGauche(<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> etex,"+ if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -1338,7 +1317,7 @@ 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>; ";}<span class="flyspell-duplicate">else</span>{ "beginTableau("+nmr+")"+ @@ -1349,31 +1328,31 @@ lsi+lsf+" "; } }else{ -if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ +if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ lp+ <span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}}else{ if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsp+lsf+ li+ -lp+ +<span class="flyspell-duplicate">lp</span>+ lf +" <span class="flyspell-duplicate">endTableau</span>; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+ li+ @@ -1392,7 +1371,7 @@ li+ sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -fclose(sortie); +<span class="flyspell-duplicate">fclose</span>(sortie); }:; @@ -1414,24 +1393,24 @@ fclose(sortie); </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} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIex.<span class="flyspell-duplicate">cxx</span>} -TVIex(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ -nl:=size(L); +TVIex(L,F,nom,nomv,f,ftt,ao,trigo,<span class="flyspell-duplicate">nmr</span>):={ +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); fp:=function_diff(f); Z:=concat(L,F); S:=[]; -Sex:=NULL; -Zex:=solve(f(x)=ao); +<span class="flyspell-duplicate">Sex</span>:=NULL; +Zex:=solve(f(x)=<span class="flyspell-duplicate">ao</span>); 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]; +<span class="flyspell-duplicate">Sex</span>:=[<span class="flyspell-duplicate">Sex</span>]; @@ -1443,7 +1422,7 @@ Sex:=[Sex]; if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=solve(factor(simplify(fp(x))),x); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; @@ -1459,38 +1438,35 @@ 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])); + 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,simplify(S[j]))}; fpour - fsi; + <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:=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); + + + Z:=sort([op(set[op(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; +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(member(Z[r],F)){PB:=PB,0,1}else{PB:=PB,1}; +if(member(Z[r],F)){PB:=PB,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); A:=NULL;aa:=0; -kk:=0; +<span class="flyspell-duplicate">kk</span>:=0; @@ -1498,11 +1474,11 @@ if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(evalf(sign(LL[k]-ao))==evalf(sign(LL[ 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(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]-<span class="flyspell-duplicate">ao</span>))==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}}; +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> etex);" @@ -1510,7 +1486,7 @@ else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> et }; -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); +<span class="flyspell-duplicate">TestS</span>:=(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)); @@ -1526,15 +1502,15 @@ lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ 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;"}+ + lsp:=lsp+if(member(Z[r],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(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]-ao))==0.0); +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{"nonDefBarre;"}+ - if(kspp==1){"plus;"}else{"moins;"};rr:=rr+1;} + else{lsp:=lsp+if(member(Z[rr],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;"}+ + 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;} }}}}; @@ -1544,12 +1520,12 @@ else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(si -lm0:=limit(f(x),x=Z[0],1)==-infinity; +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]-ao))==0.0); +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,"} @@ -1562,7 +1538,7 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))= 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);"}} + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(</span><span class="font-latex-math"><span class="flyspell-duplicate">limit</span></span><span class="font-latex-math">(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);" @@ -1576,7 +1552,7 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))= 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 + 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(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$ "+ao+" $</span> etex,0.5); ";rr:=rr+1; }// testS==0 @@ -1598,10 +1574,10 @@ lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; 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(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> <span class="flyspell-duplicate">etex</span>,"+ + 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>;"}}; @@ -1610,12 +1586,12 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(<span class="flyspell-duplicate">btex</span -MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">MetaLfc</span>:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" -<span class="flyspell-duplicate">endTableau</span>; +endTableau; ";}else{ -"beginTableau("+nmr+")"+ +"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+" <span class="flyspell-duplicate">endTableau</span>; @@ -1626,32 +1602,32 @@ lsi+lsf+" if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ l0+ li+ -<span class="flyspell-duplicate">lp</span>+ -lf +lp+ +<span class="flyspell-duplicate">lf</span> +" endTableau; -";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ +";}else{"beginTableau("+nmr+")"+ l0+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" endTableau; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ -lsi+lsp+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ li+ lp+ -<span class="flyspell-duplicate">lf</span> +lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ lsi+lsf+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" <span class="flyspell-duplicate">endTableau</span>; @@ -1664,7 +1640,7 @@ lf sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -1687,14 +1663,14 @@ fclose(sortie); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.<span class="flyspell-duplicate">cxx</span>} -<span class="flyspell-duplicate">TVIapp</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ +TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=function_diff(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); z0:=concat(L,F);z:=sort(z0); nz:=size(z); @@ -1704,9 +1680,9 @@ 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} -<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; }}}; +else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S:=S,resoudre_numerique(<span class="flyspell-duplicate">fp</span>(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; }}}; @@ -1716,7 +1692,7 @@ else{if(L[0]==-infinity){j:=[seq(k,k=100..floor(L[1]))] minus F;for k in j do S: 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 (<span class="flyspell-duplicate">evalf</span>(S[j])<=L[1]); + kk:=(re(S[j])==S[j]);kok:=(evalf(S[j])>=L[0]) and (evalf(S[j])<=L[1]); if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; <span class="flyspell-duplicate">fsi</span>; @@ -1753,27 +1729,27 @@ LI:=limit(f(x),x,Z[0],1); <span class="flyspell-duplicate">LF</span>:=limit(f(x),x,Z[nz-1],-1); LP:=NULL; PB:=1; -if(<span class="flyspell-duplicate">nz</span>>2){ for(r:=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(<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(member(Z[r],F)){PB:=PB,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); A:=NULL;aa:=1; -kk:=0; +<span class="flyspell-duplicate">kk</span>:=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">$\\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> etex);"}} +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);";<span class="flyspell-duplicate">aa</span>:=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">$\\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:=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> etex);" @@ -1781,7 +1757,7 @@ else{l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[kk])+"$</span> et }; -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); +TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))==0.0) or (evalf(sign(<span class="flyspell-duplicate">LL</span>[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)); @@ -1797,15 +1773,15 @@ lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ 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;"}+ + lsp:=lsp+if(member(Z[r],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(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]-ao))==0.0); +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{"nonDefBarre;"}+ - 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;} }}}}; @@ -1815,12 +1791,12 @@ else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(evalf(si -lm0:=limit(f(x),x=Z[0],1)==-infinity; +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]-ao))==0.0); +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,"} @@ -1833,7 +1809,7 @@ TestS:=(evalf(sign(LL[0]-ao))==evalf(sign(LL[1]-ao))) or (evalf(sign(LL[0]-ao))= 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);"}} + "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(</span><span class="font-latex-math"><span class="flyspell-duplicate">lmrp</span></span><span class="font-latex-math">==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);" @@ -1848,11 +1824,11 @@ 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); + <span class="font-latex-math">$ "+ao+" $</span> <span class="flyspell-duplicate">etex</span>,0.5); ";rr:=rr+1; }// testS==0 else{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);"}} + "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);"}<span class="flyspell-duplicate">else</span>{"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; @@ -1861,7 +1837,7 @@ else{lp:=lp+if(member(Z[rr],F)){ }//for nz<NL }// else nz<NL //if nz=NL -};//if nz>2 +};//if <span class="flyspell-duplicate">nz</span>>2 @@ -1869,11 +1845,11 @@ 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(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(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -1881,14 +1857,14 @@ lf:=if(member(Z[nz-1],F)==0){"valPos(btex <span class="font-latex-math">$"+ -MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi+lsp+lsf+" endTableau; ";}else{ "beginTableau("+nmr+")"+ l0+ -lsi+lsf+" +<span class="flyspell-duplicate">lsi</span>+lsf+" endTableau; "; @@ -1900,12 +1876,12 @@ li+ lp+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ li+ -lf +<span class="flyspell-duplicate">lf</span> +" endTableau; ";}}else{ @@ -1916,7 +1892,7 @@ li+ lp+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ @@ -1924,7 +1900,7 @@ lsi+lsf+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }}; @@ -1951,7 +1927,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 parametrees +</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"> </span> @@ -1972,7 +1948,7 @@ LLL:=[]; all_trig_solutions:=1; -reset_solve_counter(-1,-1); +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); for(d:=0;d<=1;d++){ f:=subst(f,f[d]=unapply(f[d],t)); @@ -1990,7 +1966,7 @@ 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]){ +<span class="flyspell-duplicate">while</span>(evalf(subst(SS[k],n_1=m))>=L[0]){ S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; @@ -2008,11 +1984,11 @@ S:=concat(S,SS); fpour fsi; Z:=sort(Z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - ftantque; + <span class="flyspell-duplicate">ftantque</span>; @@ -2024,7 +2000,7 @@ u:=1; Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z); ftantque; u:=u+1; - ftantque; + <span class="flyspell-duplicate">ftantque</span>; }; @@ -2036,30 +2012,30 @@ 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); -";fpour; +";<span class="flyspell-duplicate">fpour</span>; lsi:="",""; FFF:=[[],[]]; for(d:=0;d<=1;d++){ -FFF[d]:=concat(F[d],[-infinity,+infinity]); +FFF[d]:=concat(F[d],[-infinity,+<span class="flyspell-duplicate">infinity</span>]); k0:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1)); 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{"nonDefBarre; + 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>; "}}+ 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{ - if(sign(fp[d]((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} + if(sign(fp[d]((Z[0]+10^(-5))))==1){"plus;"}<span class="flyspell-duplicate">else</span>{"moins;"} }} if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp[d](Z[r]+0.01))>0; lsp[d]:=lsp[d]+if(member(Z[r],F[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[r])))+"$</span> etex);"}else{"nonDefBarre;"}+ 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{"nonDefBarre;"}} +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>;"}} @@ -2088,7 +2064,7 @@ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; 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"}else{"0"}+ + if(K0[d]==1){"1"}<span class="flyspell-duplicate">else</span>{"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)); @@ -2099,19 +2075,19 @@ lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; <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(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);"}else{"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);"}<span class="flyspell-duplicate">else</span>{"0); "}}} }; } lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity; -lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex <span class="font-latex-math">$"+ +<span class="flyspell-duplicate">lf</span>[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);nonDefBarre;"}}; + if(Kz[d]==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; @@ -2129,26 +2105,26 @@ lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex <span class="font-latex-math">$" MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+nmr+")"+ +beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+" endTableau; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ -lsi[0]+lsf[0]+lsi[1]+lsf[1]+" +<span class="flyspell-duplicate">lsi</span>[0]+lsf[0]+lsi[1]+lsf[1]+" endTableau; "; } -}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ +}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li[0]+ lp[0]+ lf[0]+ li[1]+ lp[1]+ -lf[1] +<span class="flyspell-duplicate">lf</span>[1] +" endTableau; @@ -2159,19 +2135,19 @@ lf[0]+ li[1]+ lf[1] +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}}else{ if(nz>2){"beginTableau("+nmr+")"+ l0+ lsi[0]+lsp[0]+lsf[0]+ li[0]+ -lp[0]+ +<span class="flyspell-duplicate">lp</span>[0]+ lf[0]+ lsi[1]+lsp[1]+lsf[1]+ li[1]+ lp[1]+ -lf[1] +<span class="flyspell-duplicate">lf</span>[1] +" endTableau; @@ -2184,7 +2160,7 @@ lsi[1]+lsf[1]+ li[1]+ lf[1] +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} } @@ -2207,14 +2183,14 @@ fclose(sortie); -<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.cxx} +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.<span class="flyspell-duplicate">cxx</span>} TS(nomf,L,D,trigo,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=NULL; -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); S:=[]; mini:=D[0]; maxi:=D[1]; @@ -2226,7 +2202,7 @@ pour k de 0 jusque n-1 faire if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=solve(factor(simplify(L[k](x))),x); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(L[k](x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ m:=0; @@ -2259,13 +2235,9 @@ Z:=sort(Z); nz:=size(Z); + Z:=sort([op(set[op(Z)])]); - -if(nz>2){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; - fsi; -fpour;}; nz:=size(Z); if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; @@ -2282,7 +2254,7 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">); "+l0+li+ lsic+nomf+"(x)}$</span> etex);"+ if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" valBarre(btex 0 etex);"}else{" @@ -2299,7 +2271,7 @@ endTableau; l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; for(p:=0;p<=n-1;p++){lp:=""; @@ -2318,7 +2290,7 @@ for(p:=0;p<=n-1;p++){lp:=""; li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}else{" + valBarre(btex 0 etex);"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" "} }; @@ -2365,7 +2337,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignQ.cxx} TSq(nomf,L,Fo,D,trigo,nmr):={ L:=apply(f->unapply(f,x),L); -Fo:=apply(f->unapply(f,x),Fo); +<span class="flyspell-duplicate">Fo</span>:=apply(f->unapply(f,x),Fo); L:=concat(L,Fo); n:=size(L); Z:=NULL; @@ -2383,13 +2355,13 @@ if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); SS:=solve(factor(simplify(L[k](x))),x); -ns:=size(SS); +<span class="flyspell-duplicate">ns</span>:=size(SS); for(j:=0;j<ns;j++){ mm:=0; while(evalf(simplify(subst(SS[j],n_1=mm)))<=evalf(maxi)){ S:=concat(S,simplify(subst(SS[j],n_1=mm)));mm:=mm+1; };mm:=-1; -while(evalf(subst(SS[j],n_1=mm))>=evalf(mini)){ +<span class="flyspell-duplicate">while</span>(evalf(subst(SS[j],n_1=mm))>=evalf(mini)){ S:=concat(S,simplify(subst(SS[j],n_1=mm)));mm:=mm-1; } } @@ -2404,9 +2376,9 @@ S:=solve(L[k](x),x); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);} - fpour; + <span class="flyspell-duplicate">fpour</span>; fsi; -fpour; +<span class="flyspell-duplicate">fpour</span>; pour k de 0 jusque m-1 faire @@ -2416,20 +2388,20 @@ pour k de 0 jusque m-1 faire if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SSF:=solve(factor(simplify(Fo[k](x))),x); -nsf:=size(SSF); +<span class="flyspell-duplicate">SSF</span>:=solve(factor(simplify(Fo[k](x))),x); +<span class="flyspell-duplicate">nsf</span>:=size(SSF); for(j:=0;j<nsf;j++){ mm:=0; while(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ -SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1; +SF:=concat(SF,<span class="flyspell-duplicate">simplify</span>(<span class="flyspell-duplicate">subst</span>(SSF[j],n_1=mm)));mm:=mm+1; };mm:=-1; -while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){ +<span class="flyspell-duplicate">while</span>(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){ SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1; } } }else{ -SF:=solve(Fo[k](x),x); +<span class="flyspell-duplicate">SF</span>:=solve(Fo[k](x),x); } si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire @@ -2437,27 +2409,18 @@ SF:=solve(Fo[k](x),x); if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);} fpour; fsi; -fpour; +<span class="flyspell-duplicate">fpour</span>; -Z:=sort(Z); // on classe les zeros dans l'ordre croissant -nz:=size(Z); -if(nz>2){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 zeros en double - fsi; -fpour;} +Z:=<span class="flyspell-duplicate">concat</span>(Z,F); -Z:=sort(Z); -nz:=size(Z); -if(nz>2){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; - fsi; -fpour;}; +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); -if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; +if(nz==0){li:="";l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; for(p:=0;p<=n-1;p++){li:=li+lsic+latex(L[p](x))+"}<span class="font-latex-math">$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" @@ -2472,7 +2435,7 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p -MetaLfc:=" +</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">:=" beginTableau("+nmr+") newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+li+ @@ -2491,16 +2454,16 @@ endTableau; -}else{ +}<span class="flyspell-duplicate">else</span>{ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);";li:=" ";lr:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); ";fpour; -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> <span class="flyspell-duplicate">etex</span>);"; -for(p:=0;p<=n-1;p++){lp:=""; +for(p:=0;p<=n-1;p++){<span class="flyspell-duplicate">lp</span>:=""; li:=li+lsic+latex(L[p](x))+"}<span class="font-latex-math">$ etex);"+ if(mini!=-infinity and L[p](mini)==0){" valBarre(btex 0 etex);"}else{" @@ -2515,23 +2478,23 @@ for(p:=0;p<=n-1;p++){lp:=""; li:=li+lp+ if(simplify(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ if(L[p](Z[nz-1]+1.0)>0){"plus;"}else{"moins; - "}+if(maxi!=+infinity and L[p](maxi)==0){" - valBarre(btex 0 etex);"}else{" "} + "}+if(maxi!=+infinity and L[p](</span><span class="font-latex-math"><span class="flyspell-duplicate">maxi</span></span><span class="font-latex-math">)==0){" + valBarre(btex 0 etex);"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" "} }; 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],FF)==0){"valBarre(btex 0 etex);"}else{ "nonDefBarre;"} - fpour + if(member(Z[t+1],FF)==0){"valBarre(btex 0 etex);"}else{ "</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"} + </span><span class="font-latex-math"><span class="flyspell-duplicate">fpour</span></span><span class="font-latex-math"> -MetaLfc:=" +</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); +newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">); "+l0+ li + @@ -2556,7 +2519,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -2580,12 +2543,12 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSigna.cxx} TSa(a,b,c,d,nmr):={ zA:=solve(a*x+b=0,x)[0]; -zB:=solve(c*x+d=0,x)[0]; +<span class="flyspell-duplicate">zB</span>:=solve(c*x+d=0,x)[0]; zmin:=min(zA,zB); -zmax:=max(zA,zB); +<span class="flyspell-duplicate">zmax</span>:=max(zA,zB); Meta:= " beginTableau("+nmr+") - newLigneVariables(btex <span class="font-latex-math">$ {x}$</span> etex); + newLigneVariables(btex <span class="font-latex-math">$ {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); @@ -2599,9 +2562,9 @@ val(btex <span class="font-latex-math">$+\\infty$</span> etex); +lsic+if(c==1){"x+"}else{if(c==-1){"-x+"}else{c+"x+"}}+d+"}$</span> etex);" + 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;";fsi} + 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 etex);"}+ + if(zmin==zB){"barre;"}else{"valBarre(btex 0 <span class="flyspell-duplicate">etex</span>);"}+ if(c>0){"plus;"}else{"moins;"} +lsic+"{("+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 class="font-latex-math">$ etex);" @@ -2617,7 +2580,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,Meta); +</span><span class="font-latex-math"><span class="flyspell-duplicate">fprint</span></span><span class="font-latex-math">(sortie,Unquoted,Meta); fclose(sortie); @@ -2637,7 +2600,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTSc.cxx} -TSc(g,D,F,trigo,nmr):={ +<span class="flyspell-duplicate">TSc</span>(g,D,F,trigo,nmr):={ f:=unapply(g,x); mini:=D[0]; maxi:=D[1];lm:=" "; Z:=mini,maxi; @@ -2647,15 +2610,15 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; -reset_solve_counter(-1,-1); +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); SS:=solve(factor(simplify(f(x))),x); -ns:=size(SS); +<span class="flyspell-duplicate">ns</span>:=size(SS); for(j:=0;j<ns;j++){ m:=0; while(evalf(simplify(subst(SS[j],n_1=m)))<=evalf(maxi)){ S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m+1; };m:=-1; -while(evalf(subst(SS[j],n_1=m))>=evalf(mini)){ +<span class="flyspell-duplicate">while</span>(evalf(subst(SS[j],n_1=m))>=evalf(mini)){ S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1; } } @@ -2671,11 +2634,11 @@ S:=solve(f(x),x); if(size(S)==0){ l0:="val(btex <span class="font-latex-math">$"+latex(D[0])+"$</span> etex);val(btex <span class="font-latex-math">$"+latex(D[1])+"$</span> etex);"; li:=if(member(mini,F)!=0){"nonDefBarre;"}else{if(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}else{" + valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}}+ if(mini!=-infinity or maxi!=+infinity){if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}}else{if(f(0)>0){"plus;"}else{"moins;"}}; -lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}else{" +<span class="flyspell-duplicate">lf</span>:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){" + valBarre(btex 0 etex);"}<span class="flyspell-duplicate">else</span>{" "}}; } else{pour j de 0 jusque size(S)-1 faire @@ -2683,15 +2646,9 @@ else{pour j de 0 jusque size(S)-1 faire fpour; Z:=concat([Z],F); -Z:=sort(Z); -nz:=size(Z); -if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; - fsi; -fpour;} -if(Z[0]==Z[1]){Z:=Z[1..nz-1];nz:=nz-1;} -if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=nz-1;} + Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" ";li:=" ";lr:=" "; @@ -2702,40 +2659,40 @@ li:=if(mini!=-infinity and f(mini)==0){" if(f((mini+maxi)*0.5)>0){"plus;"}else{"moins;"}; lf:=if(maxi!=+infinity and f(maxi)==0){" valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" - "}else{"nonDefBarre;"} + "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} }; }else{ l0:="val(btex <span class="font-latex-math">$"+latex(Z[0])+"$</span> etex);";li:=" "; pour m de 1 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> etex); "; -fpour; +<span class="flyspell-duplicate">fpour</span>; li:= if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{if(member(mini,F)==0){" - "}else{"nonDefBarre;"} + "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} } lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+if(Z[r]==-infinity){ if(f((Z[r+1]-1))>0){"plus;"}else{"moins;"} }else{if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}} + - if(member(Z[r+1],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"} + if(member(Z[r+1],F)==0){"valBarre(btex 0 etex);"}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} }}else{" "}; -lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" - "}else{"nonDefBarre;"} +lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(<span class="flyspell-duplicate">maxi</span>)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" + "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} }; }}; -MetaLfc:=" +<span class="flyspell-duplicate">MetaLfc</span>:=" beginTableau("+nmr+") -newLigneVariables(btex <span class="font-latex-math">$\\displaystyle {x}$</span> etex); +newLigneVariables(btex <span class="font-latex-math">$\\displaystyle {x}$</span> <span class="flyspell-duplicate">etex</span>); "+l0+lsic+latex(f(x))+"}<span class="font-latex-math">$ etex);"+ li+lm+lf +" @@ -2748,7 +2705,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +fprint(sortie,Unquoted,</span><span class="font-latex-math"><span class="flyspell-duplicate">MetaLfc</span></span><span class="font-latex-math">); fclose(sortie); }:; @@ -3061,7 +3018,7 @@ 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>{<span class="flyspell-duplicate">TVI</span>}} +</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}} @@ -3083,7 +3040,7 @@ read("XCasTVIex.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>??]{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>}} +</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>{TVIex}} @@ -3109,7 +3066,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>{<span class="flyspell-duplicate">TVIapp</span>}} +</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}} @@ -3118,7 +3075,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"); -<span class="flyspell-duplicate">read</span>("XcasTVPC.cxx"); +read("XcasTVPC.cxx"); read("XCasTVPC.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -3129,9 +3086,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">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</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>??]{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>{<span class="flyspell-duplicate">TVPC</span>}} +</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}} @@ -3146,14 +3103,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.<span class="flyspell-duplicate">mp</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="comment-delimiter">%%</span><span class="comment"> -</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><span class="comment-delimiter">%% </span><span class="comment">Zi end -> enjoy :) </span></pre> </body> </html> diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.pdf b/Master/texmf-dist/doc/latex/tablor/tablor.pdf Binary files differindex 1c5b39b2bd2..3d9a5a1476f 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.pdf +++ b/Master/texmf-dist/doc/latex/tablor/tablor.pdf diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.tex b/Master/texmf-dist/doc/latex/tablor/tablor.tex index 3eb0c0dfbdd..880cfd34a20 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.tex +++ b/Master/texmf-dist/doc/latex/tablor/tablor.tex @@ -86,7 +86,7 @@ keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,com avec l'efficace participation de Jean-Michel \textsc{Boucart}\\ Forum d'aide ~:~\href{http://gconnan.free.fr/punbb/upload/index.php}{http://gconnan.free.fr/punbb/upload/index.php}} -\date{7 mars 2009 - Version 4.04} +\date{17 mars 2009 - Version 4.04-b} @@ -174,6 +174,8 @@ valeurs intermédiaires sous forme exacte quand c'est possible.(version 4.04) Un bug dans tous les TVI est corrigé.(Version 4.04) +Un bug dû à une mise à jour de XCAS (version 4.04-b compatible avec les précédentes). + \subsection{Professor.sty} diff --git a/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty b/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty index 482b6f7a360..f836d5061d1 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor-xetex.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor-xetex}[07/03/2009 v4.04 la machine a creer des +\ProvidesPackage{tablor-xetex}[17/03/2009 v4.04-b la machine a creer des tableaux de signes et variations compatible xetex] % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright @@ -276,14 +276,11 @@ epstopdf $1.eps; - - %% %% Code giac/Xcas pour les Tableaux de Variations %% - \begin{VerbatimOut}{XcasTV.cxx} TV(L,F,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); @@ -337,14 +334,9 @@ nz:=size(Z); 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; + +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); @@ -531,14 +523,9 @@ nz:=size(Z); 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; + +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); @@ -673,6 +660,7 @@ fclose(sortie); \begin{VerbatimOut}{XcasTVZ.cxx} + TVZ(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); nf:=size(FF); @@ -731,17 +719,9 @@ S:=solve(fp(x),x); fpour fsi; -Z:=sort(Z); -nz:=size(Z); - +Z:=sort([op(set[op(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); for(j:=0;j<nf;j++){ @@ -904,7 +884,6 @@ fclose(sortie); :; - \end{VerbatimOut} @@ -1140,14 +1119,11 @@ S:=solve(fp(x),x); 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; + +Z:=sort([op(set[op(Z)])]); + + + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; @@ -1349,7 +1325,6 @@ fclose(sortie); - \end{VerbatimOut} @@ -1415,14 +1390,11 @@ S:=solve(fp(x),x); 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; + + + Z:=sort([op(set[op(Z)])]); + + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; @@ -1630,8 +1602,6 @@ fclose(sortie); - - %% %% %% Quand les solutions de f'(x)=0 ne sont pas formellement calculables @@ -1903,7 +1873,6 @@ fclose(sortie); - %% %% Code giac/Xcas pour les Tableaux de variations de courbes parametrees %% @@ -2213,13 +2182,9 @@ Z:=sort(Z); nz:=size(Z); + Z:=sort([op(set[op(Z)])]); - -if(nz>2){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; - fsi; -fpour;}; nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; @@ -2403,12 +2368,10 @@ if(nz>2){pour u de 1 jusque nz-2 faire fpour;} -Z:=sort(Z); -nz:=size(Z); -if(nz>2){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; - fsi; -fpour;}; +Z:=concat(Z,F); + +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; @@ -2637,15 +2600,9 @@ else{pour j de 0 jusque size(S)-1 faire fpour; Z:=concat([Z],F); -Z:=sort(Z); -nz:=size(Z); -if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; - fsi; -fpour;} -if(Z[0]==Z[1]){Z:=Z[1..nz-1];nz:=nz-1;} -if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=nz-1;} + Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" ";li:=" ";lr:=" "; @@ -2716,11 +2673,6 @@ fclose(sortie); %%$ - - - - -%%$ %% %% traitement des fichiers produits par giac/xcas %% diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index 0c084de0fa0..d4aafbfcf0c 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,5 +1,5 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor}[07/03/2009 v4.04 la machine a creer des tableaux de signes et variations] +\ProvidesPackage{tablor}[17/03/2009 v4.04-b la machine a creer des tableaux de signes et variations] % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright % This work may be distributed and/or mofified under the conditions @@ -299,14 +299,9 @@ nz:=size(Z); 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; + +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); @@ -493,14 +488,9 @@ nz:=size(Z); 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; + +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); @@ -694,17 +684,9 @@ S:=solve(fp(x),x); fpour fsi; -Z:=sort(Z); -nz:=size(Z); - +Z:=sort([op(set[op(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); for(j:=0;j<nf;j++){ @@ -1102,14 +1084,11 @@ S:=solve(fp(x),x); 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; + +Z:=sort([op(set[op(Z)])]); + + + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; @@ -1376,14 +1355,11 @@ S:=solve(fp(x),x); 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; + + + Z:=sort([op(set[op(Z)])]); + + nz:=size(Z); l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; @@ -2171,13 +2147,9 @@ Z:=sort(Z); nz:=size(Z); + Z:=sort([op(set[op(Z)])]); - -if(nz>2){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; - fsi; -fpour;}; nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; @@ -2353,20 +2325,11 @@ fpour; -Z:=sort(Z); // on classe les zeros dans l'ordre croissant -nz:=size(Z); -if(nz>2){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 zeros en double - fsi; -fpour;} +Z:=concat(Z,F); -Z:=sort(Z); -nz:=size(Z); -if(nz>2){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; - fsi; -fpour;}; +Z:=sort([op(set[op(Z)])]); + nz:=size(Z); if(nz==0){li:="";l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; @@ -2595,15 +2558,9 @@ else{pour j de 0 jusque size(S)-1 faire fpour; Z:=concat([Z],F); -Z:=sort(Z); -nz:=size(Z); -if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; - fsi; -fpour;} -if(Z[0]==Z[1]){Z:=Z[1..nz-1];nz:=nz-1;} -if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=nz-1;} + Z:=sort([op(set[op(Z)])]); + nz:=size(Z); l0:=" ";li:=" ";lr:=" "; |