diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/tablor/tablor.html')
-rw-r--r-- | Master/texmf-dist/doc/latex/tablor/tablor.html | 1722 |
1 files changed, 1128 insertions, 594 deletions
diff --git a/Master/texmf-dist/doc/latex/tablor/tablor.html b/Master/texmf-dist/doc/latex/tablor/tablor.html index e4f32c8810f..7854e0762b3 100644 --- a/Master/texmf-dist/doc/latex/tablor/tablor.html +++ b/Master/texmf-dist/doc/latex/tablor/tablor.html @@ -7,7 +7,7 @@ <!-- body { color: #f5deb3; - background-color: #000000; + background-color: #262626; font-weight: bold; } .comment { @@ -22,7 +22,7 @@ } .constant { /* font-lock-constant-face */ - color: #9932cc; + color: #68228b; font-weight: bold; } .flyspell-duplicate { @@ -31,9 +31,15 @@ font-weight: bold; text-decoration: underline; } + .flyspell-incorrect { + /* flyspell-incorrect-face */ + color: #ff4500; + font-weight: bold; + text-decoration: underline; + } .font-latex-math { /* font-latex-math-face */ - color: #ffa500; + color: #436eee; } .font-latex-sedate { /* font-latex-sedate-face */ @@ -54,11 +60,11 @@ } .function-name { /* font-lock-function-name-face */ - color: #87ceeb; + color: #6ca6cd; } .keyword { /* font-lock-keyword-face */ - color: #6495ed; + color: #32cd32; font-weight: bold; } .variable-name { @@ -81,15 +87,15 @@ <body> <pre> <span class="font-latex-sedate">\NeedsTeXFormat</span>{LaTeX2e}[1995/12/01] -<span class="font-latex-sedate">\ProvidesPackage</span>{tablor}[12/06/2008 v3.00 la machine a creer des tableaux de signes et variations] +<span class="font-latex-sedate">\ProvidesPackage</span>{<span class="flyspell-duplicate">tablor</span>}[21/10/2008 v4.02 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 </span><span class="comment-delimiter">% </span><span class="comment">or the LaTeX Project Public Licence, either v1.3 or (at your option) -</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">any later version. </span><span class="comment"><span class="flyspell-incorrect">The</span></span><span class="comment"> 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.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">This work consists of the files tablor.</span><span class="comment"><span class="flyspell-incorrect">sty</span></span><span class="comment">, </span><span class="comment"><span class="flyspell-incorrect">tablor-xetex</span></span><span class="comment">.</span><span class="comment"><span class="flyspell-duplicate">sty</span></span><span class="comment">, tablor.cfg, tablor.tex, +</span><span class="comment-delimiter">% </span><span class="comment">tablor.pdf and tablor.</span><span class="comment"><span class="flyspell-incorrect">html</span></span><span class="comment"> </span> <span class="comment-delimiter">%% </span><span class="comment">Cree 16 environnements : @@ -100,29 +106,35 @@ </span><span class="comment-delimiter">% </span><span class="comment">%%%%%% Pour des tableaux de plus de 2 facteurs </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TS} -</span><span class="comment-delimiter">% </span><span class="comment">TS("P",[-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[a,b],</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">); +</span><span class="comment-delimiter">% </span><span class="comment">TS("P",[-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[a,b],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">{TS} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">pour les tableaux de signes avec quotient </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSq} -</span><span class="comment-delimiter">%</span><span class="comment">TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[a,b],</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">%</span><span class="comment">TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[a,b],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">{TSq} </span><span class="comment-delimiter">% </span><span class="comment">un tableau de variation : </span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment">pour les tableaux de signes à une seule ligne +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TSc} +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TSc</span></span><span class="comment">((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,0) +</span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\end</span></span><span class="comment">{TSc} +</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="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TV} -</span><span class="comment-delimiter">% </span><span class="comment">TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">% </span><span class="comment">TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,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">{TV} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau de variation avec zones interdites </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVZ} -</span><span class="comment-delimiter">% </span><span class="comment">TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",sqrt(x^2-1),1,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">% </span><span class="comment">TVZ([-infinity,+infinity],[],[[-1,1]],"f","x",sqrt(x^2-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">{TVZ} </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">% </span><span class="comment">tableau avec valeurs intermediares </span><span class="comment-delimiter">%</span><span class="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVI} -</span><span class="comment-delimiter">%</span><span class="comment">TVI([-1,+infinity],[-1],"f","x",x2/sqrt(x+1)-1,1,2,</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 de variations avec f' sans zero formel @@ -142,17 +154,26 @@ </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,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">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} </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="font-latex-sedate"><span class="comment">\begin</span></span><span class="comment">{TVP} -</span><span class="comment-delimiter">% </span><span class="comment">TVP([0,pi/2],[[],[]],["x","y"],"t",[2*cos(t),sin(2*t)],1,1,</span><span class="font-latex-sedate"><span class="comment">\tv</span></span><span class="comment">) +</span><span class="comment-delimiter">% </span><span class="comment">TVP([0,pi/2],[[],[]],["x","y"],"t",[2*cos(t),sin(2*t)],1,t,</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} </span><span class="comment-delimiter">% </span><span class="comment">% </span> +<span class="comment-delimiter">% </span><span class="comment">Fonctions </span><span class="comment"><span class="flyspell-incorrect">prolongeables</span></span><span class="comment"> par continuité +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVPC</span></span><span class="comment">([intervalles d'étude],[valeurs </span><span class="comment"><span class="flyspell-duplicate">prolongeables</span></span><span class="comment">],[valeurs interdites pour f'],"g","t",e^(-1/x^2),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">\begin</span></span><span class="comment">{TVPC} +</span><span class="comment-delimiter">% </span><span class="comment">TVPC([-infinity,+infinity],[0],[0],"g","t",e^(-1/x^2),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">{TVPC} +</span> + @@ -162,17 +183,17 @@ </span> <span class="font-latex-sedate">\RequirePackage</span>{filecontents} -<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-incorrect">ifthen</span>} +<span class="font-latex-sedate">\RequirePackage</span>{<span class="flyspell-incorrect">fancyvrb</span>} +<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 class="comment-delimiter">% </span><span class="comment">option xcas </span><span class="comment"><span class="flyspell-duplicate">present</span></span><span class="comment"> </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> @@ -180,22 +201,23 @@ -<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 class="comment-delimiter">%% </span><span class="comment">Initialisation du choix </span><span class="comment"><span class="flyspell-incorrect">d'OS</span></span><span class="comment"> +</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><span class="comment-delimiter">%% </span><span class="comment">et l'editeur +</span><span class="comment-delimiter">%% </span><span class="comment">et </span><span class="comment"><span class="flyspell-duplicate">l'editeur</span></span><span class="comment"> </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">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{<span class="flyspell-duplicate">windows</span>}}<span class="comment">% </span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\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 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-incorrect">COPY</span> }}<span class="comment">% +</span> {<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\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> }} @@ -203,26 +225,26 @@ -<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via pdflatex +<span class="comment-delimiter">%% </span><span class="comment">pour ceux compilant via </span><span class="comment"><span class="flyspell-incorrect">pdflatex</span></span><span class="comment"> </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} + <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{queue.<span class="flyspell-duplicate">mp</span>} - end + <span class="flyspell-duplicate">end</span> <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -235,7 +257,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>} } @@ -244,48 +266,48 @@ <span class="comment-delimiter">%% </span><span class="comment">Donne comme prefixe aux tableaux le prefixe courant </span><span class="comment-delimiter">%% </span><span class="comment">Peut-être modifie par </span><span class="font-latex-sedate"><span class="comment">\initablor</span></span><span class="comment"> </span> -<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\Tableaux</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\jobname</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">\nomtravail</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\jobname</span>} <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> +<span class="font-latex-sedate"><span class="keyword">\newcounter</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVnbis</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">\tvbis</span></span><span class="function-name">}</span>{<span class="font-latex-sedate">\theTVnbis</span>} <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><span class="comment-delimiter">%% </span><span class="comment">effectue quelques verifications : +</span><span class="comment-delimiter">%% </span><span class="comment">effectue quelques </span><span class="comment"><span class="flyspell-incorrect">verifications</span></span><span class="comment"> : </span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\initablor</span></span><span class="function-name">}</span>[1][<span class="font-latex-sedate">\jobname</span>]{<span class="comment">% -</span><span class="font-latex-sedate"><span class="keyword">\renewcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\Tableaux</span></span><span class="function-name">}</span>{#1}<span class="comment">% Arret du nom des tableaux +</span><span class="font-latex-sedate"><span class="keyword">\renewcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\nomtravail</span></span><span class="function-name">}</span>{#1}<span class="comment">% Arret du nom des tableaux </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">\Tableaux</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">\Tableaux</span>.Tab.mp}}<span class="comment">% le detruire +</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{xcas}}<span class="comment">% Avec l'option </span><span class="comment"><span class="flyspell-duplicate">XCas</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">% Si Tableaux.mp est </span><span class="comment"><span class="flyspell-duplicate">present</span></span><span class="comment">... +</span> {<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\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">\Tableaux</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">\Tableaux</span>.Tab.mp}<span class="comment">% Sans l'option XCas, si +{<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">\Tableaux</span>.Tab}}<span class="comment">% l'executer pour reconstituer les figures +</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> -<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon l'OS +<span class="comment-delimiter">%% </span><span class="comment">commande pour lancer giac selon </span><span class="comment"><span class="flyspell-duplicate">l'OS</span></span><span class="comment"> </span> <span class="font-latex-sedate">\makeatletter</span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\executGiacmp</span></span><span class="function-name">}</span>[1]{<span class="comment">% -</span><span class="font-latex-sedate">\ifthenelse</span>{<span class="font-latex-sedate">\boolean</span>{windows}}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac #1 }}<span class="comment">% -</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{giac <#1 }}} +</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{<span class="flyspell-duplicate">giac</span> #1 }}<span class="comment">% +</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="flyspell-duplicate">giac</span> <#1 }}} <span class="font-latex-sedate">\makeatother</span> @@ -293,7 +315,7 @@ <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">LES SCRIPTS GIAC/XCAS +</span><span class="comment-delimiter">%%% </span><span class="comment">LES SCRIPTS GIAC/</span><span class="comment"><span class="flyspell-incorrect">XCAS</span></span><span class="comment"> </span><span class="comment-delimiter">%</span><span class="comment"> </span><span class="comment-delimiter">%%%</span><span class="comment"> </span> @@ -306,83 +328,326 @@ </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,nmr):={ -nl:=size(L); +<span class="flyspell-duplicate">TV</span>(L,F,nom,nomv,f,ftt,trigo,nmr):={ +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); Z:=concat(L,F); -S:=resoudre(fp(x),x); - si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); - if(kk==1){Z:=append(Z,simplifier(S[j]))}; - fpour +S:=[]; + + +if(trigo==t){ +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(fp(x))),x); +<span class="flyspell-duplicate">ns</span>:=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])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +<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; +} +} +}else{ +S:=solve(fp(x),x); +} + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + qq:=member(simplify(S[j]),Z)==0; + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; + <span class="flyspell-duplicate">fpour</span> fsi; +Z:=sort(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); + <span class="flyspell-duplicate">ftantque</span>; + + + + + + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + if(kk==1){Z:=append(Z,simplify(S[j]))}; + <span class="flyspell-duplicate">fpour</span> + <span class="flyspell-duplicate">fsi</span>; Z:=sort(Z); -nz:=size(Z); - si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; +<span class="flyspell-duplicate">nz</span>:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; 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; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; -fpour; -nz:=size(Z); +<span class="flyspell-duplicate">fpour</span>; +<span class="flyspell-duplicate">nz</span>:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";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(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); - kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); -lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5))))==1){"plus;"}else{"moins;"} }} -if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.1))>0; lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=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:=limite(f(x),x=Z[0],1)==-infinity; +</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">; li:=lvic+nom+"}$</span> etex);"+ - if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}else{"0"}+ ");"; - if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); - krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; + if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)){ "limGauche(btex - <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(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(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> + <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> + etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}} }; } -lnz:=limite(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(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ - if(kz==1){"1);"}else{"0); -"}; +<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(<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);"}<span class="flyspell-duplicate">else</span>{"0);"}} + 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);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; -MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+nmr+")"+ + + +<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" + +<span class="flyspell-duplicate">beginTableau</span>("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ -intro+"beginTableau("+nmr+")"+ +<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsf+" +<span class="flyspell-duplicate">endTableau</span>; + +"; +} +}else{ if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++" +<span class="flyspell-duplicate">endTableau</span>; + +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +li+ +<span class="flyspell-duplicate">lf</span> ++" +<span class="flyspell-duplicate">endTableau</span>; + +";}}else{ +if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ +li+ +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> ++" +<span class="flyspell-duplicate">endTableau</span>; + +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ + l0+ +<span class="flyspell-duplicate">lsi</span>+lsf+ +li+ +<span class="flyspell-duplicate">lf</span> ++" +<span class="flyspell-duplicate">endTableau</span>; + +";} +}} + + +sortie:=fopen("XCasmpfc.mp"); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,<span class="flyspell-duplicate">MetaLfc</span>); +<span class="flyspell-duplicate">fclose</span>(sortie); + + + }:; + +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + + + + + + +<span class="comment-delimiter">%%%%</span><span class="comment"> +</span> + +<span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">%</span><span class="comment"> +</span><span class="comment-delimiter">% </span><span class="comment"><span class="flyspell-duplicate">TVPC</span></span><span class="comment"> : pour les fonctions </span><span class="comment"><span class="flyspell-duplicate">prolongeables</span></span><span class="comment"> par continuité. +</span><span class="comment-delimiter">%%</span><span class="comment"> +</span><span class="comment-delimiter">%%</span><span class="comment"> +</span> + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XcasTVPC</span>.cxx} +<span class="flyspell-duplicate">TVPC</span>(L,F,<span class="flyspell-incorrect">FP</span>,nom,nomv,f,ftt,trigo,nmr):={ +nl:=size(L); +f:=unapply(f,x); +fp:=function_diff(f); +Z:=concat(L,F); +Z:=<span class="flyspell-duplicate">concat</span>(Z,<span class="flyspell-duplicate">FP</span>); +S:=[]; + + +if(trigo==t){ +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +<span class="flyspell-duplicate">SS</span>:=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])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +while(evalf(subst(SS[k],n_1=m))>=L[0]){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; +} +} +}else{ +S:=solve(fp(x),x); +} + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + 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]))}}; + <span class="flyspell-duplicate">fpour</span> + fsi; +Z:=sort(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); + <span class="flyspell-duplicate">ftantque</span>; + + + + + + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + if(kk==1){Z:=append(Z,simplify(S[j]))}; + <span class="flyspell-duplicate">fpour</span> + <span class="flyspell-duplicate">fsi</span>; + +Z:=sort(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + fsi; +pour u de 1 jusque nz-2 faire + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; + fsi; +<span class="flyspell-duplicate">fpour</span>; +nz:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); +";<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[<span class="flyspell-duplicate">nz</span>-2],1)); + +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ + 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],FP)==0){ + if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ + if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5))))==1){"plus;"}else{"moins;"} }} + +if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.1))>0; + lsp:=lsp+if(member(Z[r],FP)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ + if(ksp==1){"plus;"}else{"moins;"} + }; } + +lsf:=if(member(Z[nz-1],</span><span class="font-latex-math"><span class="flyspell-duplicate">FP</span></span><span class="font-latex-math">)==0){""}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">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">; + li:=lvic+nom+"}$</span> etex);"+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"limDroite(btex <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0==1){"-\\infty"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(k0==1){"1"}else{"0"}+ + ");"; + + if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; + lp:=lp+if(member(Z[r],F)){ + "valPos(btex + <span class="font-latex-math">$"+if(</span><span class="font-latex-math"><span class="flyspell-duplicate">lmrm</span></span><span class="font-latex-math">==1){"-\\infty"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{latex(</span><span class="font-latex-math"><span class="flyspell-duplicate">simplify</span></span><span class="font-latex-math">(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> + 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)==-<span class="flyspell-duplicate">infinity</span>; + + + +<span class="flyspell-duplicate">lf</span>:=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);"}<span class="flyspell-duplicate">else</span>{"0);"}} + 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(<span class="flyspell-duplicate">kz</span>==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}}; + + + + + +MetaLfc:=if(ftt==2){if(<span class="flyspell-duplicate">nz</span>>2){" + +<span class="flyspell-duplicate">beginTableau</span>("+nmr+")"+ + l0+lsi+lsp+lsf+" +<span class="flyspell-duplicate">endTableau</span>; + +";}else{ +<span class="flyspell-duplicate">intro</span>+"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ lsi+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } @@ -390,41 +655,41 @@ 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; +<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+ +<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); @@ -433,6 +698,16 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + + + + + + + + + + <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%% </span><span class="comment">TV avec une zone interdite : on rajoute comme argument la liste des intervalles interdits @@ -442,9 +717,9 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVZ.cxx} -TVZ(L,F,FF,nom,nomv,f,ftt,nmr):={ -nl:=size(L); -nf:=size(FF); +<span class="flyspell-duplicate">TVZ</span>(L,F,FF,nom,nomv,f,ftt,trigo,nmr):={ +<span class="flyspell-duplicate">nl</span>:=size(L); +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]]}; @@ -453,57 +728,82 @@ if(FF[k][1]<L[1]){Imax[k]:=FF[k][1];LL:=L}else{Imax[k]:=L[1];LL:=[L[0]]}; IMIN:=IMIN,Imin[k]; IMAX:=IMAX,Imax[k]; } - FF:=[Ff]; - IMIN:=[IMIN]; + FF:=[<span class="flyspell-duplicate">Ff</span>]; + IMIN:=[<span class="flyspell-duplicate">IMIN</span>]; IMAX:=[IMAX]; f:=unapply(f,x); -fp:=fonction_derivee(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); Z:=concat(LL,F); for(k:=0;k<nf;k++){ Z:=concat(Z,FF[k]); } -S:=resoudre(fp(x),x); +S:=[]; + + +if(trigo==t){ +all_trig_solutions:=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++){ +m:=0; +while(<span class="flyspell-duplicate">evalf</span>(simplify(subst(SS[k],n_1=m)))<=<span class="flyspell-duplicate">evalf</span>(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +while(<span class="flyspell-duplicate">evalf</span>(subst(SS[k],n_1=m))>=L[0]){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; +} +} +}else{ +S:=solve(fp(x),x); +} + + + + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire for(k:=0;k<nf;k++){ - kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); - kK:=(evalf(S[j])<evalf(Imin[k])) or (evalf(S[j])>evalf(Imax[k])); + kk:=(<span class="flyspell-duplicate">evalf</span>(S[j])>=<span class="flyspell-duplicate">evalf</span>(L[0])) and (<span class="flyspell-duplicate">evalf</span>(S[j])<=<span class="flyspell-duplicate">evalf</span>(L[<span class="flyspell-duplicate">nl</span>-1])); + kK:=(<span class="flyspell-duplicate">evalf</span>(S[j])<<span class="flyspell-duplicate">evalf</span>(Imin[k])) or (<span class="flyspell-duplicate">evalf</span>(S[j])><span class="flyspell-duplicate">evalf</span>(Imax[k])); Kk:=(kk) and kK; - if(Kk==1){Z:=append(Z,simplifier(S[j]))}; + 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; + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; -fpour; -nz:=size(Z); +<span class="flyspell-duplicate">fpour</span>; +<span class="flyspell-duplicate">nz</span>:=size(Z); for(j:=0;j<nf;j++){ for(k:=1;k<nz;k++){ - if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=nz-1; + if ((Z[k]>Imin[j])and(Z[k]<Imax[j])){Z:=augment(Z[0..k-1],Z[k+1..nz-1]);nz:=<span class="flyspell-duplicate">nz</span>-1; } } } 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); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; <span class="flyspell-duplicate">lf</span>:=" ";lsp:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[m])+"$</span> <span class="flyspell-duplicate">etex</span>); ";fpour; - k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); - kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); + k0:= <span class="flyspell-duplicate">evalf</span>(limit(f(x),x=Z[0],1))> <span class="flyspell-duplicate">evalf</span>(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); -lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(member(Z[0],IMIN)!=0){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp(Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -512,121 +812,130 @@ if(member(Z[0],IMIN)!=0){"debutNonDef;"}else{if(Z[0]==-infinity){if(sign(evalf(f 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){"debutNonDef;"}else{ - if(member(Z[r],IMAX)!=0){"finNonDef;"+ - if(ksp==1){"plus;"}else{"moins;"}}else{ + lsp:=lsp+if(member(Z[r],IMIN)!=0){"debutNonDef;"}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ + if(member(Z[r],IMAX)!=0){"</span><span class="font-latex-math"><span class="flyspell-duplicate">finNonDef</span></span><span class="font-latex-math">;"+ + if(ksp==1){"plus;"}else{"moins;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{ if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }}}}; -lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[0],IMAX)!=0){"finNonDef;"}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">; "}} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +</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">; li:=lvic +nom+"}$</span> etex);"+ - if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}else{"0"}+ ");"; if(nz>2){ for(r:=1; r<=nz-2;r++){ - krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); - krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; + krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],IMIN)!=0){"limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ - latex(simplifier(limite(f(x),x=Z[r],-1)))} - +"$</span> etex,"+if(krm==1){ - "1);"}else{"0);"} - +"debutNonDef;" - }//fsi Zr=Imin + latex(simplify(limit(f(x),x=Z[r],-1)))} + +"$</span> etex,"+if(<span class="flyspell-duplicate">krm</span>==1){ + "1);"}<span class="flyspell-duplicate">else</span>{"0);"} + +"<span class="flyspell-duplicate">debutNonDef</span>;" + }//fsi Zr=<span class="flyspell-duplicate">Imin</span> else{ if (member(Z[r],IMAX)!=0) {"finNonDef;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){ - "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} - +"$</span> etex,"+if(krp==1){ - "1);"}else{"0);"} + "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} + +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==1){ + "1);"}<span class="flyspell-duplicate">else</span>{"0);"} } else { if(member(Z[r],F)){ "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){ "-\\infty"}else{ - latex(simplifier(limite(f(x),x=Z[r],-1)))} - +"$</span> etex,"+if(krm==1){ + latex(simplify(limit(f(x),x=Z[r],-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(simplifier(limite(f(x),x=Z[r],1)))} - +"$</span> etex,"+if(krp==1){ - "1);"}else{"0);"} + "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} + +"$</span> etex,"+if(<span class="flyspell-duplicate">krp</span>==1){ + "1);"}<span class="flyspell-duplicate">else</span>{"0);"} }//fsi (member Zr F) - else{"valPos(btex<span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span>etex,"+ + 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){ - "1);"}else{"0);"}//felse(krp) + "0.5);"}<span class="flyspell-duplicate">else</span>{ + if(<span class="flyspell-duplicate">krp</span>==1){ + "1);"}else{"0);"}//felse(<span class="flyspell-duplicate">krp</span>) }//felse(valpos) }//felse(member Zr F) } //felse(Zr=Imax) - }//felse(Zr=Imin) - };//ffor - }//fsi nz - -lnz:=limite(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(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ - if(kz==1){"1);"}else{"0); -"}; + }//felse(Zr=<span class="flyspell-duplicate">Imin</span>) + };//<span class="flyspell-incorrect">ffor</span> + }//fsi <span class="flyspell-duplicate">nz</span> + +lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + + + +<span class="flyspell-duplicate">lf</span>:=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(<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);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; -MetaLfc:=if(ftt==2){if(nz>2){" -beginTableau("+nmr+")"+ + + +<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(nz>2){" + +<span class="flyspell-duplicate">beginTableau</span>("+<span class="flyspell-duplicate">nmr</span>+")"+ 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">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+ -lf +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}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+")"+ l0+ -lsi+lsp+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsp+lsf+ li+ lp+ -lf +<span class="flyspell-duplicate">lf</span> +" -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>; ";} }} @@ -634,7 +943,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -fclose(sortie); +<span class="flyspell-duplicate">fclose</span>(sortie); } :; @@ -650,7 +959,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>} @@ -661,20 +970,32 @@ fclose(sortie); TVapp(L,F,nom,nomv,f,ftt,nmr):={ -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); nz:=size(z); -if(L==[-infinity,+infinity]){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..100);} -else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);} -else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);} -else{S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=z[0]..z[nz-1])}}}; + + + + + + +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} +<span class="flyspell-duplicate">else</span>{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; }}}; + + + + + 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]); - if(kk==1){if(kok==1){z:=append(z,simplifier(S[j]))}}; + if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; -fsi; +<span class="flyspell-duplicate">fsi</span>; S:=NULL; @@ -686,7 +1007,7 @@ for(j:=1;j<size(z);j++){ z:=[S]; Z:=sort(z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); S:=NULL; S:=S,Z[0]; @@ -697,13 +1018,13 @@ for(j:=1;j<nz;j++){ Z:=[S]; -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; 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(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); - kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ 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){ @@ -716,72 +1037,75 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; if(ksp==1){"plus;"}else{"moins;"} }; } -lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=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:=limite(f(x),x=Z[0],1)==-infinity; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$</span> etex);"+ - if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ + if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1"}else{"0"}+ ");"; - if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); - krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; + if(nz>2){ for(r:=1; r<=nz-2;r++){ krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(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(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}} }; } -lnz:=limite(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(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ - if(kz==1){"1);"}else{"0); -"}; - - +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">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + else{"limGauche(btex <span class="font-latex-math">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + -MetaLfc:=if(ftt==2){if(nz>2){" +<span class="flyspell-duplicate">MetaLfc</span>:=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+ -lf +<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("+nmr+")"+ l0+ lsi+lsp+lsf+ li+ -lp+ -lf +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ @@ -789,7 +1113,7 @@ lsi+lsf+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }} @@ -818,7 +1142,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 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> @@ -828,58 +1152,78 @@ fclose(sortie); <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,nmr):={ +<span class="flyspell-duplicate">TVI</span>(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +<span class="flyspell-duplicate">fp</span>:=function_diff(f); Z:=concat(L,F); -S:=resoudre(fp(x),x); +S:=[]; + + +if(trigo==t){ +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +SS:=solve(factor(simplify(fp(x))),x); +<span class="flyspell-duplicate">ns</span>:=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])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +<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; +} +} +}else{ +S:=solve(fp(x),x); +} + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); - if(kk==1){Z:=append(Z,simplifier(S[j]))}; - fpour + if(kk==1){Z:=append(Z,simplify(S[j]))}; + <span class="flyspell-duplicate">fpour</span> fsi; Z:=sort(Z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=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; +<span class="flyspell-duplicate">fpour</span>; nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; -LI:=limite(f(x),x,Z[0],1); -LF:=limite(f(x),x,Z[nz-1],-1); +LI:=limit(f(x),x,Z[0],1); +LF:=limit(f(x),x,Z[nz-1],-1); LP:=NULL; -if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limite(f(x),x,Z[r],-1),limite(f(x),x,Z[r],1)}else{f(Z[r])}}}; -if(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]}; +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(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,<span class="flyspell-duplicate">LF</span>]}; -NL:=size(LL); +<span class="flyspell-duplicate">NL</span>:=size(LL); A:=NULL;aa:=1;kk:=0; if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-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);"}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex);"}; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); TestL:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ 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}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex); +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>); "}; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); - k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); - kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); + 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)); -lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -889,60 +1233,60 @@ 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:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); ksp:=evalf(fp(Z[r]+0.01))>0; TestL:=(abs(LL[r])==abs(LL[r+1])); lsp:=lsp+if(member(Z[r],F)==0){"valBarre(btex 0 etex);"}else{"nonDefBarre;"}+ - if(ksp==1){"plus;"}else{"moins;"}+if(TestS==0){"valBarre(btex $</span> <span class="font-latex-math">$ etex);"}else{" "}+if(TestS==0){if(ksp==1){"plus;"}else{"moins;"}}else{" "}; + 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;"}}</span><span class="font-latex-math"><span class="flyspell-duplicate">else</span></span><span class="font-latex-math">{" "}; }} -else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==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:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==0.0); TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"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;} + 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:=rr+1;} + 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{"nomDefBarre;"} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} +</span><span class="font-latex-math"><span class="flyspell-duplicate">lm</span></span><span class="font-latex-math">0:=limit(f(x),x=Z[0],1)==-</span><span class="font-latex-math"><span class="flyspell-duplicate">infinity</span></span><span class="font-latex-math">; TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[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(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ +"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}else{" "}; if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); - krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); - krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; + krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(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(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);" }else{" "}; };//for }else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); - krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-1)); - krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ; - lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); + krm:=evalf(limit(f(x),x=Z[rr-1],1))< evalf(limit(f(x),x=Z[rr],-1)); + krp:=evalf(limit(f(x),x=Z[rr],1))> evalf(limit(f(x),x=Z[rr+1],-1)) ; + lmrm:=limit(f(x),x=Z[rr],-1)==-infinity;lmrp:=limit(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + "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(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5); ";rr:=rr+1; }// else testL==1 }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + "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[</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">])))+"$</span> etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}};rr:=rr+1; }//else testS==0 @@ -952,57 +1296,63 @@ else{lp:=lp+if(member(Z[rr],F)){ };//if nz>2 -lnz:=limite(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(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ - if(kz==1){"1);"}else{"0);"}; +lnz:=limit(f(x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + + +<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">$"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; -MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ +MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ "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+")"+ +if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ lp+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}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+")"+ l0+ lsi+lsp+lsf+ li+ -lp+ -lf +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ -lsi+lsf+ +<span class="flyspell-duplicate">lsi</span>+lsf+ li+ lf +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} }}; @@ -1010,7 +1360,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -1037,23 +1387,37 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVIapp.cxx} -TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ +<span class="flyspell-duplicate">TVIapp</span>(L,F,nom,nomv,f,ftt,ao,<span class="flyspell-duplicate">nmr</span>):={ -nl:=size(L); +<span class="flyspell-duplicate">nl</span>:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); -nz:=size(z); -if(L==[-infinity,+infinity]){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..100);} -else{if(L[0]==-infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=-100..L[1]);} -else{if(L[1]==+infinity){S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=L[0]..100);} -else{S:=seq(fsolve(fp(x),x,k/10,newton_solver),k=z[0]..z[nz-1])}}}; +<span class="flyspell-duplicate">nz</span>:=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} +<span class="flyspell-duplicate">else</span>{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; }}}; + + + + + + + + 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]); - if(kk==1){if(kok==1){z:=append(z,simplifier(S[j]))}}; + if(kk==1){if(kok==1){z:=append(z,simplify(S[j]))}}; fpour; -fsi; +<span class="flyspell-duplicate">fsi</span>; S:=NULL; @@ -1067,7 +1431,7 @@ z:=[S]; Z:=sort(z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); S:=NULL; S:=S,Z[0]; @@ -1078,38 +1442,38 @@ for(j:=1;j<nz;j++){ Z:=[S]; -nz:=size(Z); -l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";lsp:=" "; +<span class="flyspell-duplicate">nz</span>:=size(Z); +l0:=" newLigneVariables(btex <span class="font-latex-math">$"+nomv+"$</span> etex);";lp:=" "; lf:=" ";<span class="flyspell-duplicate">lsp</span>:=" "; -LI:=limite(f(x),x,Z[0],1); -LF:=limite(f(x),x,Z[nz-1],-1); -LP:=NULL; -if(nz>2){ for(r:=1; r<=nz-2;r++){LP:=LP,if(member(Z[r],F)){limite(f(x),x,Z[r],-1),limite(f(x),x,Z[r],1)}else{f(Z[r])}}}; +LI:=limit(f(x),x,Z[0],1); +<span class="flyspell-duplicate">LF</span>:=limit(f(x),x,Z[nz-1],-1); +<span class="flyspell-duplicate">LP</span>:=NULL; +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(nz>2){ LL:=[LI,LP,LF]}else{LL:=[LI,LF]}; -NL:=size(LL); -A:=NULL;aa:=1;kk:=0; +<span class="flyspell-duplicate">NL</span>:=size(LL); +A:=NULL;aa:=1;<span class="flyspell-duplicate">kk</span>:=0; if(NL==nz){for(k:=0;k<nz-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-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);"}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex);"}; +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>);"}; if(NL>nz){for(k:=0;k<NL-1;k++){TestS:=(sign(evalf(LL[k]-ao))==sign(evalf(LL[k+1]-ao))) or (sign(evalf(LL[k]-ao))==0.0)or (sign(evalf(LL[k+1]-ao))==0.0); -TestL:=(abs(LL[k])==abs(LL[k+1])); +<span class="flyspell-duplicate">TestL</span>:=(abs(LL[k])==abs(LL[k+1])); if(TestS==0){ if( TestL==1 ){l0:=l0}else{ 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}} -l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> etex); +l0:=l0+"val(btex <span class="font-latex-math">$"+latex(Z[nz-1])+"$</span> <span class="flyspell-duplicate">etex</span>); "}; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); - k0:= evalf(limite(f(x),x=Z[0],1))> evalf(limite(f(x),x=Z[1],-1)); - kz:=evalf(limite(f(x),x=Z[nz-1],-1))> evalf(limite(f(x),x=Z[nz-2],1)); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-<span class="flyspell-duplicate">ao</span>))==0.0); + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[<span class="flyspell-duplicate">nz</span>-2],1)); -lsi:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ +<span class="flyspell-duplicate">lsi</span>:=lsic+nom+"'("+nomv+")}<span class="font-latex-math">$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ if(fp(Z[0])==0){"valBarre(btex 0 etex);"}else{" "}+ if(sign(fp((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-10))))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ @@ -1119,60 +1483,60 @@ 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:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); +if(nz>2){rr:=1; if(nz==NL){for(r:=1; r<=NL-2;r++){ TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-</span><span class="font-latex-math"><span class="flyspell-duplicate">ao</span></span><span class="font-latex-math">))==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:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==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:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); TestL:=(abs(LL[r])==abs(LL[r+1])); - if(TestS==0){if( TestL==1 ){lsp:=lsp}else{lsp:=lsp+if(member(Z[rr],F)==0){"valBarre(btex 0 etex);"}else{"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;} + if(TestS==0){if( TestL==1 ){lsp:=lsp}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;"}+"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{"</span><span class="font-latex-math"><span class="flyspell-duplicate">nonDefBarre</span></span><span class="font-latex-math">;"}+ + if(kspp==1){"plus;"}else{"moins;"};rr:=</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">+1;} }} }; -lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +</span><span class="font-latex-math"><span class="flyspell-duplicate">lsf</span></span><span class="font-latex-math">:=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">;"} +</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)==-infinity; -TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-ao))==0.0); +TestS:=(sign(evalf(LL[0]-ao))==sign(evalf(LL[1]-ao))) or (sign(evalf(LL[0]-ao))==0.0) or (sign(evalf(LL[1]-</span><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(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"} - else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$</span> etex,"}+ +"+ if(member(Z[0],F)==0){"valPos(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"} + else{"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$</span> etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);"}else{" "}; if(nz>2){if(nz==NL){for(r:=1; r<=nz-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); - krm:=evalf(limite(f(x),x=Z[r-1],1))< evalf(limite(f(x),x=Z[r],-1)); - krp:=evalf(limite(f(x),x=Z[r],1))> evalf(limite(f(x),x=Z[r+1],-1)) ; - lmrm:=limite(f(x),x=Z[r],-1)==-infinity;lmrp:=limite(f(x),x=Z[r],1)==-infinity; + krm:=evalf(limit(f(x),x=Z[r-1],1))< evalf(limit(f(x),x=Z[r],-1)); + krp:=evalf(limit(f(x),x=Z[r],1))> evalf(limit(f(x),x=Z[r+1],-1)) ; + lmrm:=limit(f(x),x=Z[r],-1)==-infinity;lmrp:=limit(f(x),x=Z[r],1)==-infinity; lp:=lp+if(member(Z[r],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(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(simplifier(limite(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[r])))+"$</span> + "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex <span class="font-latex-math">$"+latex(simplify(f(Z[r])))+"$</span> etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+if(TestS==0){"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5);" }else{" "}; };//for }else{rr:=1;for(r:=1; r<=NL-2;r++){TestS:=(sign(evalf(LL[r]-ao))==sign(evalf(LL[r+1]-ao))) or (sign(evalf(LL[r]-ao))==0.0)or (sign(evalf(LL[r+1]-ao))==0.0); - krm:=evalf(limite(f(x),x=Z[rr-1],1))< evalf(limite(f(x),x=Z[rr],-1)); - krp:=evalf(limite(f(x),x=Z[rr],1))> evalf(limite(f(x),x=Z[rr+1],-1)) ; - lmrm:=limite(f(x),x=Z[rr],-1)==-infinity;lmrp:=limite(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); + krm:=evalf(limit(f(x),x=Z[rr-1],1))< evalf(limit(f(x),x=Z[rr],-1)); + krp:=evalf(limit(f(x),x=Z[rr],1))> evalf(limit(f(x),x=Z[rr+1],-1)) ; + lmrm:=limit(f(x),x=Z[rr],-1)==-infinity;lmrp:=limit(f(x),x=Z[rr],1)==-infinity; TestL:=(abs(LL[r])==abs(LL[r+1])); if(TestS==0){if( TestL==1 ){lp:=lp}else{ lp:=lp+if(member(Z[rr],F)) { - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + "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(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0);"}}}+"valPos(btex <span class="font-latex-math">$ "+ao+" $</span> etex,0.5); ";rr:=rr+1; }// else testL==1 }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ - "limGauche(btex <span class="font-latex-math">$"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$</span> etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex <span class="font-latex-math">$"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$</span> etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex <span class="font-latex-math">$"+latex(simplifier(f(Z[rr])))+"$</span> + "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[</span><span class="font-latex-math"><span class="flyspell-duplicate">rr</span></span><span class="font-latex-math">])))+"$</span> etex,"+if(sign(evalf(fp(Z[rr]-0.01)))==sign(fp(Z[rr]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); "}}};rr:=rr+1; }//else testS==0 @@ -1182,57 +1546,67 @@ else{lp:=lp+if(member(Z[rr],F)){ };//if nz>2 -lnz:=limite(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(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$</span> etex,"}+ - if(kz==1){"1);"}else{"0);"}; +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">$"+ + 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(kz==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; -MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ + + + +<span class="flyspell-duplicate">MetaLfc</span>:= if(ftt==2){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+lsi+lsp+lsf+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ -"beginTableau("+nmr+")"+ +"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ 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+")"+ +if(ftt==0){if(nz>2){"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ l0+ li+ -lp+ -lf +<span class="flyspell-duplicate">lp</span>+ +<span class="flyspell-duplicate">lf</span> +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; -";}else{"beginTableau("+nmr+")"+ +";}else{"beginTableau("+<span class="flyspell-duplicate">nmr</span>+")"+ 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+ -lf +<span class="flyspell-duplicate">lf</span> +" -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>; ";} }}; @@ -1241,7 +1615,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); -fclose(sortie); +<span class="flyspell-duplicate">fclose</span>(sortie); }:; @@ -1268,96 +1642,105 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTVP.cxx} - - TVP(L,F,nom,nomv,ff,ftt,trigo,nmr):={ //local Z,LLL,FFF,nl,fp,f,S,d,t,ns,k,m,x,j,kk,nz,u,l0; -nl:=size(L); -fp:=[]; +<span class="flyspell-duplicate">nl</span>:=size(L); +<span class="flyspell-duplicate">fp</span>:=[]; S:=[]; -f:=ff; +f:=<span class="flyspell-duplicate">ff</span>; Z:=[]; -LLL:=[]; +<span class="flyspell-duplicate">LLL</span>:=[]; + + +all_trig_solutions:=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)); -fp:=append(fp,fonction_derivee(f[d])); +<span class="flyspell-duplicate">fp</span>:=append(fp,function_<span class="flyspell-duplicate">diff</span>(f[d])); LLL:=concat(L,F[d]); Z:=LLL union Z; +SS:=solve(factor(simplify(fp[d](t))),t); +ns:=size(<span class="flyspell-duplicate">SS</span>); -ns:=size(resoudre(factor(simplifier(fp[d](t))),t)); -reset_solve_counter(0); for(k:=0;k<ns;k++){ -if(trigo==1){ -all_trig_solutions:=1; -reset_solve_counter(-1,-1);m:=0; -while(simplifier(subst(resoudre(factor(simplifier(fp[d](t))),t)[k],n_1=m))<=evalf(L[nl-1])){ -reset_solve_counter(-1,-1); -S:=concat(S,simplifier(subst(resoudre(factor(simplifier(fp[d](t))),t)[k],n_1=m)));m:=m+1; -reset_solve_counter(-1,-1); +if(trigo==t){ +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(resoudre(factor(simplifier(fp[d](t))),t)[k],n_1=m))>=L[0]){ -reset_solve_counter(-1,-1); -S:=concat(S,simplifier(subst(resoudre(factor(simplifier(fp[d](t))),t)[k],n_1=m)));m:=m-1; -reset_solve_counter(-1,-1); +<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; + } }else{ -S:=concat(S,resoudre(factor(simplifier(fp[d](x))),x)); +S:=concat(S,<span class="flyspell-duplicate">SS</span>); } } - si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - qq:=member(simplifier(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,simplifier(S[j]))}}; - fpour + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + qq:=member(simplify(S[j]),Z)==0; + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[<span class="flyspell-duplicate">nl</span>-1])); + if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; + <span class="flyspell-duplicate">fpour</span> fsi; +Z:=sort(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); + <span class="flyspell-duplicate">ftantque</span>; -Z:=sort(Z); -nz:=size(Z); - - tantque simplifier(Z[0])==simplifier(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); - ftantque; nz:=size(Z); u:=1; tantque (u<nz-2) and (nz>2) faire - tantque Z[u]==Z[u+1] faire + tantque evalf(Z[u])==evalf(Z[u+1]) faire Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=size(Z); - ftantque; + <span class="flyspell-duplicate">ftantque</span>; u:=u+1; - ftantque; + <span class="flyspell-duplicate">ftantque</span>; + + }; +Z:=sort(Z); +<span class="flyspell-duplicate">nz</span>:=size(Z); + -Z:=sort(Z); -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:=[[],[]]; +<span class="flyspell-duplicate">FFF</span>:=[[],[]]; for(d:=0;d<=1;d++){ -FFF[d]:=concat(F[d],[-infinity,+infinity]); - k0:= evalf(limite(f[d](x),x=Z[0],1))> evalf(limite(f[d](x),x=Z[1],-1)); - kz:=evalf(limite(f[d](x),x=Z[nz-1],-1))> evalf(limite(f[d](x),x=Z[nz-2],1)); - - lsi[d]:=lsic+nom[d]+"'("+nomv+")}<span class="font-latex-math">$ etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex $</span>"+latex(simplifier(fp[d](Z[0])))+"<span class="font-latex-math">$ etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre; +<span class="flyspell-duplicate">FFF</span>[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[<span class="flyspell-duplicate">nz</span>-2],1)); +//} +//<span class="font-latex-math">$ + lsi[d]:=lsic+nom[d]+"'("+nomv+")}$</span> etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex <span class="font-latex-math">$"+latex(simplify(fp[d](Z[0])))+"$</span> etex);"}else{if(Z[0]==-infinity){" "}else{"<span class="flyspell-duplicate">nonDefBarre</span>; "}}+ - if(Z[0]==-infinity){if(sign(evalf(fp[d](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[d])==0){ - if(sign(fp[d](Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5)))==1){"plus;"}else{"moins;"}}else{ - if(sign(fp[d]((Z[0]+10^</span><span class="font-latex-superscript"><span class="font-latex-math">(</span></span><span class="font-latex-math">-5))))==1){"plus;"}else{"moins;"} }} - -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>"+latex(simplifier(fp[d](Z[r])))+"<span class="font-latex-math">$ etex);"}else{"nonDefBarre;"}+ + if(Z[0]==-infinity){if(sign(evalf(fp[d](if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F[d])==0){ + if(sign(fp[d](Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{ + if(sign(fp[d]((Z[0]+10^(-5))))==1){"plus;"}else{"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{"<span class="flyspell-duplicate">nonDefBarre</span>;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $</span>"+latex(simplifier(fp[d](Z[nz-1])))+"<span class="font-latex-math">$ 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>;"}} @@ -1378,31 +1761,39 @@ lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $</span>"+latex(simplifier( for(d:=0;d<=1;d++){ - K0[d]:= evalf(limite(f[d](x),x=Z[0],1))> evalf(limite(f[d](x),x=Z[1],-1)); - Kz[d]:=evalf(limite(f[d](x),x,Z[nz-1],-1))> evalf(limite(f[d](x),x,Z[nz-2],1)); -lm0[d]:=limite(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(simplifier(limite(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(simplifier(limite(f[d](x),x,Z[0],1)))}+"$</span> etex,"}+ + K0[d]:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1)); + Kz[d]:=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">$ +lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; + li[d]:=lvic+nom[d]+"}$</span> <span class="flyspell-duplicate">etex</span>);"+ + 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(nz>2){ for(r:=1; r<=nz-2;r++){ krm[d]:=evalf(limite(f[d](x),x=Z[r-1],1))< evalf(limite(f[d](x),x=Z[r],-1)); - krp[d]:=evalf(limite(f[d](x),x=Z[r],1))> evalf(limite(f[d](x),x,Z[r+1],-1)) ; - lmrm[d]:=limite(f[d](x),x,Z[r],-1)==-infinity;lmrp[d]:=limite(f[d](x),x,Z[r],1)==-infinity; + + 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)); + krp[d]:=evalf(limit(f[d](x),x=Z[r],1))> evalf(limit(f[d](x),x,Z[r+1],-1)) ; + lmrm[d]:=limit(f[d](x),x,Z[r],-1)==-infinity;lmrp[d]:=limit(f[d](x),x,Z[r],1)==-infinity; lp[d]:=lp[d]+if(member(Z[r],F[d])){ "limGauche(btex - <span class="font-latex-math">$"+if(lmrm[d]==1){"-\\infty"}else{latex(simplifier(limite(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(simplifier(limite(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(simplifier(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); + <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);"}<span class="flyspell-duplicate">else</span>{"0); "}}} }; } -lnz[d]:=limite(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">$"+if(lnz[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[nz-1],-1)))}+"$</span> etex,"}else{"nonDefBarre;limGauche(btex <span class="font-latex-math">$"+if(lnz[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[nz-1],-1)))}+"$</span> etex,"}+ - if(Kz[d]==1){"1);"}else{"0); -"}; +<span class="flyspell-duplicate">lnz</span>[d]:=limit(f[d](x),x=Z[nz-1],-1)==-<span class="flyspell-duplicate">infinity</span>; + + +<span class="flyspell-duplicate">lf</span>[d]:=if(member(Z[nz-1],F[d])==0){"valPos(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ + if(<span class="flyspell-duplicate">Kz</span>[d]==1){"1);"}<span class="flyspell-duplicate">else</span>{"0);"}} + else{"limGauche(<span class="flyspell-duplicate">btex</span> <span class="font-latex-math">$"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$</span> <span class="flyspell-duplicate">etex</span>,"+ + if(<span class="flyspell-duplicate">Kz</span>[d]==1){"1);nonDefBarre;"}else{"0);<span class="flyspell-duplicate">nonDefBarre</span>;"}}; + @@ -1417,17 +1808,17 @@ lnz[d]:=limite(f[d](x),x=Z[nz-1],-1)==-infinity; -MetaLfc:=if(ftt==2){if(nz>2){" +<span class="flyspell-duplicate">MetaLfc</span>:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ l0+lsi[0]+lsp[0]+lsf[0]+lsi[1]+lsp[1]+lsf[1]+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{ intro+"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+lsi[1]+lsf[1]+" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; "; } @@ -1435,24 +1826,24 @@ endTableau; l0+ li[0]+ lp[0]+ -lf[0]+ +<span class="flyspell-duplicate">lf</span>[0]+ li[1]+ lp[1]+ lf[1] +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ li[0]+ lf[0]+ li[1]+ -lf[1] +<span class="flyspell-duplicate">lf</span>[1] +" -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[0]+lsp[0]+lsf[0]+ li[0]+ @@ -1463,18 +1854,18 @@ li[1]+ lp[1]+ lf[1] +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";}else{"beginTableau("+nmr+")"+ l0+ lsi[0]+lsf[0]+ li[0]+ lf[0]+ -lsi[1]+lsf[1]+ +<span class="flyspell-duplicate">lsi</span>[1]+lsf[1]+ li[1]+ lf[1] +" -endTableau; +<span class="flyspell-duplicate">endTableau</span>; ";} } @@ -1485,8 +1876,6 @@ fprint(sortie,Unquoted,MetaLfc); fclose(sortie); }:; - - <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -1502,26 +1891,62 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XcasTabSignL.cxx} -TS(nomf,L,D,nmr):={ +TS(nomf,L,D,trigo,nmr):={ L:=apply(f->unapply(f,x),L) n:=size(L); Z:=NULL; - +<span class="flyspell-duplicate">nl</span>:=size(L); +S:=[]; mini:=D[0]; maxi:=D[1]; pour k de 0 jusque n-1 faire - S:=resoudre(L[k](x),x); + + + + +if(trigo==t){ +all_trig_solutions:=1; +reset_solve_counter(-1,-1); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(L[k](x))),x); +ns:=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)){ +S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1; +} +} + +}else{ +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,simplifier(S[j]);} + if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);} fpour; fsi; -fpour; +<span class="flyspell-duplicate">fpour</span>; + + + + + Z:=sort(Z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=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;}; +<span class="flyspell-duplicate">fpour</span>;}; 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);"; @@ -1537,8 +1962,8 @@ if(L[p]((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}+if(maxi!=+infinity and L[p lf:=if(product(L[s]((mini+maxi)*.5),s,0,n-1)>0){"plus;"}else{"moins;"}; -MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); +</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">$ </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{" @@ -1553,9 +1978,9 @@ endTableau; }else{ 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); +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>); ";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:=""; @@ -1566,25 +1991,25 @@ for(p:=0;p<=n-1;p++){lp:=""; if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; for(r:=0; r<=nz-2;r++){ - lp:=lp+if(simplifier(L[p](Z[r]))==0){" + lp:=lp+if(simplify(L[p](Z[r]))==0){" valBarre(btex 0 etex);"}else{"barre; "}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}; - li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + 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">{" "} }; pour t de 0 jusque nz-2 faire - lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);" + lr:=lr+if(product(L[s]((Z[t]+Z[t+1])*.5),s,0,n-1)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 </span><span class="font-latex-math"><span class="flyspell-duplicate">etex</span></span><span class="font-latex-math">);" fpour MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span> {x}<span class="font-latex-math">$ etex); +</span><span class="font-latex-math"><span class="flyspell-duplicate">newLigneVariables</span></span><span class="font-latex-math">(btex $</span> {x}<span class="font-latex-math">$ etex); "+l0+ li + lsic+nomf+"(x)}$</span> etex);"+ @@ -1619,51 +2044,98 @@ 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,nmr):={ +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; m:=size(Fo); -F:=NULL;FF:=NULL; +F:=NULL;FF:=<span class="flyspell-duplicate">NULL</span>; mini:=D[0]; maxi:=D[1]; - +S:=[]; +<span class="flyspell-duplicate">SF</span>:=[]; pour k de 0 jusque n-1 faire - S:=resoudre(L[k](x),x); + + + +if(trigo==t){ +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +reset_solve_counter(-1,-1); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(L[k](x))),x); +ns:=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)){ +S:=concat(S,simplify(subst(SS[j],n_1=mm)));mm:=mm-1; +} +} + +}else{ +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,simplifier(S[j]);} + if(S[j]>mini and S[j]<maxi){Z:=Z,simplify(S[j]);} fpour; fsi; -fpour; +<span class="flyspell-duplicate">fpour</span>; pour k de 0 jusque m-1 faire - SF:=resoudre(Fo[k](x),x); + + + +if(trigo==1){ +<span class="flyspell-duplicate">all</span>_trig_solutions:=1; +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +SSF:=solve(factor(simplify(Fo[k](x))),x); +nsf:=size(SSF); +for(j:=0;j<nsf;j++){ +mm:=0; +<span class="flyspell-duplicate">while</span>(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ +<span class="flyspell-duplicate">SF</span>:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1; +};mm:=-1; +while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){ +<span class="flyspell-duplicate">SF</span>:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1; +} +} + +}else{ +SF:=solve(Fo[j](x),x); +} + si size(SF)>0 alors pour j de 0 jusque size(SF)-1 faire - FF:=FF,simplifier(SF[j]); - if(SF[j]>mini and SF[j]<maxi){F:=F,simplifier(SF[j]);} - fpour; + FF:=FF,simplify(SF[j]); + if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);} + <span class="flyspell-duplicate">fpour</span>; fsi; -fpour; +<span class="flyspell-duplicate">fpour</span>; Z:=sort(Z); // on classe les zeros dans l'ordre croissant -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=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;} +<span class="flyspell-duplicate">fpour</span>;} 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; + si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=<span class="flyspell-duplicate">nz</span>-1; fsi; -fpour;}; +<span class="flyspell-duplicate">fpour</span>;}; 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);"; @@ -1681,9 +2153,9 @@ 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); +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(member(mini,FF)==0){if(mini!=-infinity and product(L[s](mini),s,0,n-1)==0){" @@ -1700,13 +2172,13 @@ 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); +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>); ";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:=""; @@ -1717,15 +2189,15 @@ for(p:=0;p<=n-1;p++){lp:=""; if(L[p](Z[0]-0.01)>0){"plus;"}else{"moins;"}; for(r:=0; r<=nz-2;r++){ - lp:=lp+if(simplifier(L[p](Z[r]))==0){" + lp:=lp+if(simplify(L[p](Z[r]))==0){" valBarre(btex 0 etex);"}else{"barre; "}+ if(L[p]((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}}; - li:=li+lp+ if(simplifier(L[p](Z[nz-1]))==0){"valBarre(btex 0 etex);"}else{"barre;"}+ + 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">{" "} }; @@ -1733,14 +2205,14 @@ for(p:=0;p<=n-1;p++){lp:=""; 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 + </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 + @@ -1765,7 +2237,7 @@ endTableau; sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +<span class="flyspell-duplicate">fprint</span>(sortie,Unquoted,MetaLfc); fclose(sortie); @@ -1788,16 +2260,16 @@ 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:=resoudre(a*x+b=0,x)[0]; -zB:=resoudre(c*x+d=0,x)[0]; +zA:=solve(a*x+b=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,<span class="flyspell-duplicate">zB</span>); 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); +val(btex <span class="font-latex-math">$+\\infty$</span> <span class="flyspell-duplicate">etex</span>); "+lsic+if(a==1){"x+"}else{if(a==-1){"-x+"}else{a+"x+"}}+b+"}<span class="font-latex-math">$ etex);" + if(a>0){"moins;"}else{"plus;"}+ if(zmin==zA){"valBarre(btex 0 etex);"}else{"barre;"}+ @@ -1808,8 +2280,8 @@ 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} - else{si c>0 alors "moins;"; sinon "plus;"; 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;"; <span class="flyspell-duplicate">fsi</span>}+ if(zmin==zB){"barre;"}else{"valBarre(btex 0 etex);"}+ if(c>0){"plus;"}else{"moins;"} @@ -1826,7 +2298,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); @@ -1838,71 +2310,101 @@ fclose(sortie); -%% -%% Code giac/Xcas pour les Tableaux de Signes d'expression ne contenant -%% qu'un seul terme - +%%$</span> +<span class="comment-delimiter">%% </span><span class="comment">Code giac/Xcas pour les Tableaux de Signes d'expression ne contenant +</span><span class="comment-delimiter">%% </span><span class="comment">qu'un seul terme +</span> -</span><span class="font-latex-sedate"><span class="keyword"><span class="font-latex-math">\begin</span></span></span><span class="function-name"><span class="font-latex-math">{VerbatimOut}</span></span><span class="font-latex-math">{XcasTSc.cxx} -TSc(g,D,nmr):={ +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-duplicate">XcasTSc</span>.<span class="flyspell-duplicate">cxx</span>} +<span class="flyspell-duplicate">TSc</span>(g,D,F,trigo,nmr):={ f:=unapply(g,x); -Z:=NULL; mini:=D[0]; maxi:=D[1];lm:=" "; -S:=resoudre(f(x),x); +Z:=mini,maxi; +S:=[]; + + + +if(trigo==t){ +all_trig_solutions:=1; +<span class="flyspell-duplicate">reset</span>_solve_counter(-1,-1); +<span class="flyspell-duplicate">SS</span>:=solve(factor(simplify(f(x))),x); +<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; +<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; +} +} + +}else{ +S:=<span class="flyspell-duplicate">solve</span>(f(x),x); +} + + + + + if(size(S)==0){ -l0:="val(btex $</span>"+latex(D[0])+"<span class="font-latex-math">$ etex);val(btex $</span>"+latex(D[1])+"<span class="font-latex-math">$ etex);"; -li:=if(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}else{" - "}+ +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);"}<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(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 - if(S[j]>mini and S[j]<maxi){Z:=Z,simplifier(S[j])}; +<span class="flyspell-duplicate">else</span>{pour j de 0 jusque size(S)-1 faire + if(S[j]>mini and S[j]<maxi){Z:=Z,<span class="flyspell-duplicate">simplify</span>(S[j])}; fpour; - +Z:=concat([Z],F); Z:=sort(Z); -nz:=size(Z); +<span class="flyspell-duplicate">nz</span>:=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; + si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; -fpour;} +<span class="flyspell-duplicate">fpour</span>;} +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:=<span class="flyspell-duplicate">nz</span>-1;} nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -if(nz==0){l0:="val(btex $</span>"+latex(D[0])+"<span class="font-latex-math">$ etex);val(btex $</span>"+latex(D[1])+"<span class="font-latex-math">$ etex);"; +if(nz==2){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(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}else{" - "}+ -if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}; -lf:=if(maxi!=+infinity and f(maxi)==0){" - valBarre(btex 0 etex);"}else{" - "}; - -}else{ -l0:="val(btex $</span>"+latex(D[0])+"<span class="font-latex-math">$ etex);";li:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $</span>"+latex(Z[m])+"<span class="font-latex-math">$ etex); + valBarre(btex 0 etex);"}else{if(member(mini,F)==0){" + "}else{"nonDefBarre;"}}+ +if(f((mini+maxi)*0.5)>0){"plus;"}else{"moins;"}; +lf:=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>;"} + }; + +}<span class="flyspell-duplicate">else</span>{ +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> <span class="flyspell-duplicate">etex</span>); "; -fpour; -l0:=l0+"val(btex $</span>"+latex(D[1])+"<span class="font-latex-math">$ etex);"; +<span class="flyspell-duplicate">fpour</span>; + li:= if(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}else{" - "}+ -if(f(Z[0]-0.01)>0){"plus;"}else{"moins;"}+"valBarre(btex 0 etex);"; + valBarre(btex 0 etex);"}else{if(member(mini,F)==0){" + "}else{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + } -lm:=if(nz>=2){for(r:=0; r<=nz-2;r++){lm:=lm+if(f((Z[r]+Z[r+1])*.5)>0){"plus;"}else{"moins;"}+ - "valBarre(btex 0 etex);" - }}else{" "}; +lm:=if(nz>2){for(r:=0; r<nz-2;r++){lm:=lm+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;"} + }}<span class="flyspell-duplicate">else</span>{" "}; -lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{" - "}; +<span class="flyspell-duplicate">lf</span>:=if(f(Z[<span class="flyspell-duplicate">nz</span>-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{"<span class="flyspell-duplicate">nonDefBarre</span>;"} + }; }}; @@ -1911,8 +2413,8 @@ lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi MetaLfc:=" beginTableau("+nmr+") -newLigneVariables(btex $</span><span class="font-latex-warning">\\</span>displaystyle {x}<span class="font-latex-math">$ etex); - "+l0+lsic+latex(f(x))+"}$</span> etex);"+ +<span class="flyspell-duplicate">newLigneVariables</span>(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 +" endTableau; @@ -1923,14 +2425,12 @@ endTableau; -sortie:=fopen("XCasmpfc.mp"); -fprint(sortie,Unquoted,MetaLfc); +sortie:=fopen("XCasmpfc.</span><span class="font-latex-math"><span class="flyspell-duplicate">mp</span></span><span class="font-latex-math">"); +</span><span class="font-latex-math"><span class="flyspell-duplicate">fprint</span></span><span class="font-latex-math">(sortie,Unquoted,MetaLfc); fclose(sortie); - - }:; -<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> +</span><span class="font-latex-sedate"><span class="keyword"><span class="font-latex-math">\end</span></span></span><span class="function-name"><span class="font-latex-math">{VerbatimOut}</span></span><span class="font-latex-math"> @@ -1938,14 +2438,16 @@ fclose(sortie); +%%$</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">traitement des fichiers produits par giac/xcas </span><span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%%</span><span class="comment"> </span> - - +<span class="comment-delimiter">% </span><span class="comment">pour l'échelle des tableaux taper </span><span class="font-latex-sedate"><span class="comment">\ech</span></span><span class="comment">{facteur de réduction} +</span> +<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="font-latex-sedate">\echelle</span>{1} +<span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="font-latex-sedate">\ech</span>[1]{<span class="font-latex-sedate"><span class="keyword">\renewcommand</span></span><span class="font-latex-sedate">\echelle</span>{#1}} <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\dresse</span></span><span class="function-name">}</span>[1]{<span class="comment">% @@ -1954,63 +2456,64 @@ fclose(sortie); </span> <span class="comment">% exporter le source mp </span> <span class="comment">% puis lancer metapost pour creer </span> <span class="comment">% l'image du tableau -</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> enteteMP.cfg >> <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp} - <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">\Tableaux</span>.Tab#1.mp} - <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -jobname=<span class="font-latex-sedate">\Tableaux</span>.Tab <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp} - <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">\Tableaux</span>.Tab#1.mp} +</span> <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> enteteMP.cfg >> <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp} + <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#1.mp} + <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -jobname=<span class="font-latex-sedate">\nomtravail</span>.Tab <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp} + <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#1.mp} }<span class="comment">% </span> {<span class="comment">% sinon, si le tableau est absent, alerte. -</span> <span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{}{<span class="comment">% +</span> <span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{}{<span class="comment">% </span> <span class="font-latex-sedate">\PackageError</span>{tablor}{Tableau absent non reconstituable.}{Pour compiler il faut, soit les fichiers de - tableaux, soit le fichier <span class="font-latex-sedate">\Tableaux</span>.Tab.mp, soit disposer de + tableaux, soit le fichier <span class="font-latex-sedate">\nomtravail</span>.Tab.mp, soit disposer de XCas.}}} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> - <span class="font-latex-sedate"><span class="keyword">\includegraphics</span></span><span class="constant">{</span><span class="font-latex-sedate"><span class="constant">\Tableaux</span></span><span class="constant">.Tab.</span><span class="font-latex-sedate"><span class="constant">\theTVn</span></span><span class="constant">}</span> + <span class="font-latex-sedate">\includegraphics</span>[scale=<span class="font-latex-sedate">\echelle</span>]{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> -<span class="font-latex-sedate">\stepcounter</span>{TVn}} +<span class="font-latex-sedate">\stepcounter</span>{<span class="flyspell-duplicate">TVn</span>} +} <span class="comment-delimiter">%%</span><span class="comment"> </span><span class="comment-delimiter">%% </span><span class="comment">traitement des fichiers produits par giac/xcas avec possibilite -</span><span class="comment-delimiter">%% </span><span class="comment">de modifier le fichier metapost (environnement etoile)) +</span><span class="comment-delimiter">%% </span><span class="comment">de modifier le fichier metapost (environnement </span><span class="comment"><span class="flyspell-incorrect">etoile</span></span><span class="comment">)) </span><span class="comment-delimiter">%%</span><span class="comment"> </span> <span class="font-latex-sedate"><span class="keyword">\newcommand</span></span><span class="function-name">{</span><span class="font-latex-sedate"><span class="function-name">\dressetoile</span></span><span class="function-name">}</span>[1]{<span class="comment">% -</span><span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\Tableaux</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{<span class="comment">% Test sur l'existence du tableau +</span><span class="font-latex-sedate">\IfFileExists</span>{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>}{<span class="comment">% Test sur l'existence du tableau </span><span class="comment-delimiter">% </span><span class="comment">Si oui, inclusion du fichier source de sauvegarde mp dans Tableaux -</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> TSav-<span class="font-latex-sedate">\theTVn</span>.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp}} +</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> TSav-<span class="font-latex-sedate">\theTVn</span>.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp}} <span class="comment-delimiter">% </span><span class="comment">Si non, lancement des operations de fabrication </span>{<span class="font-latex-sedate">\executGiacmp</span>{XCas#1.giac}<span class="comment">% </span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\editeur</span> XCasmpfc.mp } <span class="comment">% Modification avec l'editeur choisi -</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab.mp} +</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.mp} <span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cp</span> XCasmpfc.mp TSav-<span class="font-latex-sedate">\theTVn</span>.mp} <span class="comment">% Sauvegarde du </span> <span class="comment">% source mp sur le disque pour une </span> <span class="comment">% inclusion ulterieure dans Tableaux.mp. -</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> enteteMP.cfg >> <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp} -<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp}} <span class="comment">% Inclusion du +</span><span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> enteteMP.cfg >> <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp} +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> XCasmpfc.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp}} <span class="comment">% Inclusion du </span> <span class="comment">% source dans le </span> <span class="comment">% fichier </span> <span class="comment">% Tableaux -</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">\Tableaux</span>.Tab#1.mp} -<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -jobname=<span class="font-latex-sedate">\Tableaux</span>.Tab <span class="font-latex-sedate">\Tableaux</span>.Tab#1.mp}<span class="comment">% Reconstitution des tableaux +</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#1.mp} +<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{mpost -jobname=<span class="font-latex-sedate">\nomtravail</span>.Tab <span class="font-latex-sedate">\nomtravail</span>.Tab#1.mp}<span class="comment">% Reconstitution des tableaux </span> <span class="comment">% et creation du dernier. L'option </span> <span class="comment">% pallie l'absence de end en fin de </span> <span class="comment">% fichier -</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">\Tableaux</span>.Tab#1.mp} +</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#1.mp} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{center}</span> - <span class="font-latex-sedate"><span class="keyword">\includegraphics</span></span><span class="constant">{</span><span class="font-latex-sedate"><span class="constant">\Tableaux</span></span><span class="constant">.Tab.</span><span class="font-latex-sedate"><span class="constant">\theTVn</span></span><span class="constant">}</span> + <span class="font-latex-sedate">\includegraphics</span>[scale=<span class="font-latex-sedate">\echelle</span>]{<span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="font-latex-sedate">\theTVn</span>} <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{center}</span> - -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur TVn +<span class="font-latex-sedate">\ech</span>{1} +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVnbis</span></span><span class="variable-name">}</span> <span class="comment">% Restauration du compteur </span><span class="comment"><span class="flyspell-duplicate">TVn</span></span><span class="comment"> </span>} @@ -2032,7 +2535,7 @@ fclose(sortie); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasa.giac} -maple_mode(0); +<span class="flyspell-duplicate">maple</span>_mode(0); read("config.cxx"); read("XcasTabSigna.cxx"); read("XCasa.user"); @@ -2056,7 +2559,7 @@ read("XCasa.user"); maple_mode(0); read("config.cxx"); read("XcasTabSignQ.cxx"); -read("XCasQ.user"); +<span class="flyspell-duplicate">read</span>("XCasQ.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq}</span><span class="comment">% @@ -2067,19 +2570,19 @@ read("XCasQ.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSq*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasQ.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{Q}} <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasL.giac} maple_mode(0); -read("config.cxx"); +<span class="flyspell-duplicate">read</span>("config.cxx"); read("XcasTabSignL.cxx"); read("XCasL.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TS}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TS</span></span><span class="function-name">}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasL.user}} {<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{L}} @@ -2092,7 +2595,7 @@ read("XCasL.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTSc.giac} -maple_mode(0); +<span class="flyspell-duplicate">maple</span>_mode(0); read("config.cxx"); read("XcasTSc.cxx"); read("XCasTSc.user"); @@ -2101,11 +2604,11 @@ read("XCasTSc.user"); -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TSc</span></span><span class="function-name">*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTSc.user}} -{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TSc}} +{<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">TSc</span>}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TSc}</span><span class="comment">% @@ -2116,7 +2619,7 @@ read("XCasTSc.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTV.giac} maple_mode(0); read("config.cxx"); -read("XcasTV.cxx"); +<span class="flyspell-duplicate">read</span>("XcasTV.cxx"); read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> @@ -2127,9 +2630,9 @@ read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TV*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTV.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>{TV}} +</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">TV</span>}} @@ -2140,20 +2643,20 @@ read("XCasTV.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVP.giac} maple_mode(0); read("config.cxx"); -read("XcasTVP.cxx"); +<span class="flyspell-duplicate">read</span>("XcasTVP.cxx"); read("XCasTVP.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVP}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVP</span></span><span class="function-name">}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVP.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{TVP}} +<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVP</span>}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVP*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVP.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>{TVP}} +</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">TVP</span>}} @@ -2166,21 +2669,21 @@ read("XCasTVP.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVZ.giac} maple_mode(0); -read("config.cxx"); +<span class="flyspell-duplicate">read</span>("config.cxx"); read("XcasTVZ.cxx"); read("XCasTVZ.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVZ</span></span><span class="function-name">}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVZ.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{TVZ}} +<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVZ</span>}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVZ*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVZ.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>{TVZ}} +</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">TVZ</span>}} @@ -2194,20 +2697,20 @@ read("XCasTVZ.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVapp.giac} maple_mode(0); read("config.cxx"); -read("XcasTVapp.cxx"); +<span class="flyspell-duplicate">read</span>("XcasTVapp.cxx"); read("XCasTVapp.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVapp}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVapp.user}}<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate">\dresse</span>{TVapp}} +<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVapp</span>}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVapp*}</span>[1]{<span class="comment">% </span><span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> -<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> +<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{</span><span class="variable-name"><span class="flyspell-duplicate">TVn</span></span><span class="variable-name">}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVapp.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>{TVapp}} +</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">TVapp</span>}} @@ -2220,7 +2723,7 @@ read("XCasTVapp.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVI.giac} -maple_mode(0); +<span class="flyspell-duplicate">maple</span>_mode(0); read("config.cxx"); read("XcasTVI.cxx"); read("XCasTVI.user"); @@ -2228,14 +2731,14 @@ read("XCasTVI.user"); <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{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">\dresse</span>{TVI}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVI</span>}} -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVI*}</span>[1]<span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVI</span></span><span class="function-name">*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVI.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVI}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVI</span>}} @@ -2244,34 +2747,65 @@ read("XCasTVI.user"); <span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{XCasTVIapp.giac} maple_mode(0); -read("config.cxx"); +<span class="flyspell-duplicate">read</span>("config.cxx"); read("XcasTVIapp.cxx"); read("XCasTVIapp.user"); <span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> -<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp}</span><span class="comment">% +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVIapp</span></span><span class="function-name">}</span><span class="comment">% </span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{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">\dresse</span>{TVIapp}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVIapp</span>}} <span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{TVIapp*}</span>[1]<span class="comment">% </span>{<span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVnbis}{</span><span class="font-latex-sedate"><span class="variable-name">\theTVn</span></span><span class="variable-name">}</span> <span class="font-latex-sedate"><span class="keyword">\setcounter</span></span><span class="variable-name">{TVn}{#1}</span> <span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[commandchars=<span class="font-latex-warning">\\</span>??]{XCasTVIapp.user}}<span class="comment">% -</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{TVIapp}} +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span><span class="font-latex-sedate">\dressetoile</span>{<span class="flyspell-duplicate">TVIapp</span>}} + + + + + +<span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>{<span class="flyspell-incorrect">XCasTVPC</span>.<span class="flyspell-duplicate">giac</span>} +maple_mode(0); +read("config.<span class="flyspell-duplicate">cxx</span>"); +read("<span class="flyspell-duplicate">XcasTVPC</span>.<span class="flyspell-duplicate">cxx</span>"); +read("<span class="flyspell-duplicate">XCasTVPC</span>.user"); +<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVPC</span></span><span class="function-name">}</span><span class="comment">% +</span>{<span class="font-latex-sedate">\VerbatimEnvironment</span><span class="font-latex-sedate"><span class="keyword">\begin</span></span><span class="function-name">{VerbatimOut}</span>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>??]{<span class="flyspell-duplicate">XCasTVPC</span>.user}}<span class="comment">% +</span>{<span class="font-latex-sedate"><span class="keyword">\end</span></span><span class="function-name">{VerbatimOut}</span> +<span class="font-latex-sedate">\dresse</span>{<span class="flyspell-duplicate">TVPC</span>}} + +<span class="font-latex-sedate"><span class="keyword">\newenvironment</span></span><span class="function-name">{</span><span class="function-name"><span class="flyspell-duplicate">TVPC</span></span><span class="function-name">*}</span>[1]{<span class="comment">% +</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">TVnbis</span></span><span class="variable-name">}{</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>[<span class="flyspell-duplicate">commandchars</span>=<span class="font-latex-warning">\\</span>??]{<span class="flyspell-duplicate">XCasTVPC</span>.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 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">\Tableaux</span>.Tab.mp} +<span class="font-latex-sedate">\AtEndDocument</span>{<span class="font-latex-sedate">\immediate</span><span class="font-latex-sedate">\write</span>18{<span class="font-latex-sedate">\cat</span> queue.mp >> <span class="font-latex-sedate">\nomtravail</span>.Tab.<span class="flyspell-duplicate">mp</span>} } <span class="comment-delimiter">%%</span><span class="comment"> -</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> enjoy :) +</span><span class="comment-delimiter">%% </span><span class="comment">Zi end -> </span><span class="comment"><span class="flyspell-incorrect">enjoy</span></span><span class="comment"> :) </span></pre> </body> </html> |