diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/tablor/tablor.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/tablor/tablor.sty | 724 |
1 files changed, 509 insertions, 215 deletions
diff --git a/Master/texmf-dist/tex/latex/tablor/tablor.sty b/Master/texmf-dist/tex/latex/tablor/tablor.sty index b759961e1a3..bbcc38c8837 100644 --- a/Master/texmf-dist/tex/latex/tablor/tablor.sty +++ b/Master/texmf-dist/tex/latex/tablor/tablor.sty @@ -1,12 +1,12 @@ \NeedsTeXFormat{LaTeX2e}[1995/12/01] -\ProvidesPackage{tablor}[08/10/2008 v4.00 la machine a creer des tableaux de signes et variations] +\ProvidesPackage{tablor}[21/10/2008 v4.02 la machine a creer des tableaux de signes et variations] % \copyleft Connan le Barbare (aka Guillaume Connan) \copyright % This work may be distributed and/or mofified under the conditions % or the LaTeX Project Public Licence, either v1.3 or (at your option) % any later version. The latest version is in % http://www.latex-project.org/lppl/ -% This work consists of the files tablor.sty, tablor.cfg, tablor.tex, +% This work consists of the files tablor.sty, tablor-xetex.sty, tablor.cfg, tablor.tex, % tablor.pdf and tablor.html @@ -27,6 +27,12 @@ %%\end{TSq} % un tableau de variation : % +% pour les tableaux de signes à une seule ligne +% \begin{TSc} +% TSc((x+10)/((x-5)*(x-2)),[-10,5],[2,5],n,0) +% \end{TSc} +% +% % \begin{TV} % TV([0,+infinity],[0],"h","x",ln(x)-(ln(x))^2,1,n,\tv) % \end{TV} @@ -71,6 +77,15 @@ % \end{TVP} % % +% Fonctions prolongeables par continuité +% TVPC([intervalles d'étude],[valeurs prolongeables],[valeurs interdites pour f'],"g","t",e^(-1/x^2),1,n,\tv); + + +% \begin{TVPC} +% TVPC([-infinity,+infinity],[0],[0],"g","t",e^(-1/x^2),1,n,\tv); +% \end{TVPC} + + @@ -228,7 +243,7 @@ TV(L,F,nom,nomv,f,ftt,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); Z:=concat(L,F); S:=[]; @@ -236,26 +251,26 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(fp(x))),x); +SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -while(evalf(simplifier(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m+1; +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } }else{ -S:=resoudre(fp(x),x); +S:=solve(fp(x),x); } si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - qq:=member(simplifier(S[j]),Z)==0; + 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,simplifier(S[j]))}}; + if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; fpour fsi; Z:=sort(Z); @@ -273,7 +288,7 @@ nz:=size(Z); 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]))}; + if(kk==1){Z:=append(Z,simplify(S[j]))}; fpour fsi; @@ -290,8 +305,8 @@ l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); ";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:= 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+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -299,38 +314,47 @@ lsi:=lsic+nom+"'("+nomv+")}$ etex);"+ if(sign(fp(Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ if(sign(fp((Z[0]+10^(-5))))==1){"plus;"}else{"moins;"} }} -if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; +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; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$ etex);"+ - if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ + if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ 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 - $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ - etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ + $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ + etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[r])))+"$ 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 $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0); -"}; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + + + MetaLfc:=if(ftt==2){if(nz>2){" beginTableau("+nmr+")"+ @@ -392,6 +416,210 @@ fclose(sortie); \end{VerbatimOut} + + + + +%%%% + + +% +% +% TVPC : pour les fonctions prolongeables par continuité. +%% +%% + + + + +\begin{VerbatimOut}{XcasTVPC.cxx} +TVPC(L,F,FP,nom,nomv,f,ftt,trigo,nmr):={ +nl:=size(L); +f:=unapply(f,x); +fp:=function_diff(f); +Z:=concat(L,F); +Z:=concat(Z,FP); +S:=[]; + + +if(trigo==t){ +all_trig_solutions:=1; +reset_solve_counter(-1,-1); +SS:=solve(factor(simplify(fp(x))),x); +ns:=size(SS); +for(k:=0;k<ns;k++){ +m:=0; +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; +};m:=-1; +while(evalf(subst(SS[k],n_1=m))>=L[0]){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; +} +} +}else{ +S:=solve(fp(x),x); +} + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + qq:=member(simplify(S[j]),Z)==0; + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); + if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; + fpour + fsi; +Z:=sort(Z); +nz:=size(Z); + + + tantque evalf(Z[0])==evalf(Z[1]) faire Z:=Z[1..nz-1];nz:=size(Z); + ftantque; + + + + + + + + si size(S)>0 alors pour j de 0 jusque size(S)-1 faire + kk:=(evalf(S[j])>=evalf(L[0])) and (evalf(S[j])<=evalf(L[nl-1])); + if(kk==1){Z:=append(Z,simplify(S[j]))}; + fpour + fsi; + +Z:=sort(Z); +nz:=size(Z); + si Z[0]==Z[1] alors Z:=augment(Z[0],Z[2..nz-1]);nz:=nz-1; + fsi; +pour u de 1 jusque nz-2 faire + si Z[u]==Z[u+1] alors Z:=augment(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; + fsi; +fpour; +nz:=size(Z); +l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; +pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); +";fpour; + + k0:= evalf(limit(f(x),x=Z[0],1))> evalf(limit(f(x),x=Z[1],-1)); + kz:=evalf(limit(f(x),x=Z[nz-1],-1))> evalf(limit(f(x),x=Z[nz-2],1)); + +lsi:=lsic+nom+"'("+nomv+")}$ etex);"+ + if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-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^(-5)))==1){"plus;"}else{"moins;"}}else{"nonDefBarre;"+ + if(sign(fp((Z[0]+10^(-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],FP)==0){""}else{"nonDefBarre; +"} +lm0:=limit(f(x),x=Z[0],1)==-infinity; + li:=lvic+nom+"}$ etex);"+ + if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ 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 + $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ + etex,"+if(krm==1){"1);"}else{"0);"} } + else{"valPos(btex $"+latex(simplify(f(Z[r])))+"$ + etex,"+if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){"0.5);"}else{if(krp==1){"1);"}else{"0); +"}}} + }; } + +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}}; + + + + + +MetaLfc:=if(ftt==2){if(nz>2){" + +beginTableau("+nmr+")"+ + l0+lsi+lsp+lsf+" +endTableau; + +";}else{ +intro+"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+" +endTableau; + +"; +} +}else{ if(ftt==0){if(nz>2){"beginTableau("+nmr+")"+ + l0+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +li+ +lf ++" +endTableau; + +";}}else{ +if(nz>2){"beginTableau("+nmr+")"+ + l0+ +lsi+lsp+lsf+ +li+ +lp+ +lf ++" +endTableau; + +";}else{"beginTableau("+nmr+")"+ + l0+ +lsi+lsf+ +li+ +lf ++" +endTableau; + +";} +}} + + +sortie:=fopen("XCasmpfc.mp"); +fprint(sortie,Unquoted,MetaLfc); +fclose(sortie); + + + }:; + +\end{VerbatimOut} + + + + + + + + + + + + %% %% %% TV avec une zone interdite : on rajoute comme argument la liste des intervalles interdits @@ -416,7 +644,7 @@ if(FF[k][1]<L[1]){Imax[k]:=FF[k][1];LL:=L}else{Imax[k]:=L[1];LL:=[L[0]]}; IMIN:=[IMIN]; IMAX:=[IMAX]; f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); Z:=concat(LL,F); for(k:=0;k<nf;k++){ @@ -429,19 +657,19 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(fp(x))),x); +SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -while(evalf(simplifier(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m+1; +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } }else{ -S:=resoudre(fp(x),x); +S:=solve(fp(x),x); } @@ -454,7 +682,7 @@ S:=resoudre(fp(x),x); 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:=(kk) and kK; - if(Kk==1){Z:=append(Z,simplifier(S[j]))}; + if(Kk==1){Z:=append(Z,simplify(S[j]))}; } fpour fsi; @@ -484,8 +712,8 @@ l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); ";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:= 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+")}$ 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^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -505,33 +733,33 @@ if(nz>2){ for(r:=1; r<=nz-2;r++){ ksp:=evalf(fp(Z[r]+0.01))>0; -lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nomDefBarre; +lsf:=if(member(Z[0],IMAX)!=0){"finNonDef;"}else{if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "}} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic +nom+"}$ etex);"+ - if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ + if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ 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 $"+if(lmrm==1){ "-\\infty"}else{ - latex(simplifier(limite(f(x),x=Z[r],-1)))} + latex(simplify(limit(f(x),x=Z[r],-1)))} +"$ etex,"+if(krm==1){ "1);"}else{"0);"} +"debutNonDef;" }//fsi Zr=Imin else{ if (member(Z[r],IMAX)!=0) {"finNonDef;limDroite(btex $"+if(lmrp==1){ - "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} + "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} +"$ etex,"+if(krp==1){ "1);"}else{"0);"} } @@ -539,15 +767,15 @@ if(nz>2){ if(member(Z[r],F)){ "limGauche(btex $"+if(lmrm==1){ "-\\infty"}else{ - latex(simplifier(limite(f(x),x=Z[r],-1)))} + latex(simplify(limit(f(x),x=Z[r],-1)))} +"$ etex,"+if(krm==1){ "1);"}else{"0);"} +"nonDefBarre;limDroite(btex $"+if(lmrp==1){ - "-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))} + "-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))} +"$ etex,"+if(krp==1){ "1);"}else{"0);"} }//fsi (member Zr F) - else{"valPos(btex$"+latex(simplifier(f(Z[r])))+"$etex,"+ + else{"valPos(btex$"+latex(simplify(f(Z[r])))+"$etex,"+ if(sign(evalf(fp(Z[r]-0.01)))==sign(fp(Z[r]+0.01))){ "0.5);"}else{ if(krp==1){ @@ -559,10 +787,19 @@ if(nz>2){ };//ffor }//fsi nz -lnz:=limite(f(x),x=Z[nz-1],-1)==-infinity; - lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0); -"}; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + + + MetaLfc:=if(ftt==2){if(nz>2){" @@ -647,7 +884,7 @@ TVapp(L,F,nom,nomv,f,ftt,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); nz:=size(z); @@ -668,7 +905,7 @@ else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolv 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; @@ -698,8 +935,8 @@ l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); ";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:= 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+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -712,32 +949,35 @@ 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; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre; "} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lm0:=limit(f(x),x=Z[0],1)==-infinity; li:=lvic+nom+"}$ etex);"+ - if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ + if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[r])))+"$ 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 $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0); -"}; - - +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + MetaLfc:=if(ftt==2){if(nz>2){" @@ -827,7 +1067,7 @@ fclose(sortie); TVI(L,F,nom,nomv,f,ftt,ao,trigo,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); Z:=concat(L,F); S:=[]; @@ -835,24 +1075,24 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(fp(x))),x); +SS:=solve(factor(simplify(fp(x))),x); ns:=size(SS); for(k:=0;k<ns;k++){ m:=0; -while(evalf(simplifier(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m+1; +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m+1; };m:=-1; while(evalf(subst(SS[k],n_1=m))>=L[0]){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } } }else{ -S:=resoudre(fp(x),x); +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]))}; + if(kk==1){Z:=append(Z,simplify(S[j]))}; fpour fsi; @@ -869,10 +1109,10 @@ l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; -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){ 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); @@ -892,8 +1132,8 @@ l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex); 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)); + 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+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -922,43 +1162,43 @@ else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[ -lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} +lm0:=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); li:=lvic+nom+"}$ etex); -"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ +"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[r])))+"$ 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 $ "+ao+" $ 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[rr])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[rr])))+"$ 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 $ "+ao+" $ etex,0.5); ";rr:=rr+1; }// else testL==1 }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ - "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[rr])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[rr])))+"$ 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 @@ -968,9 +1208,15 @@ 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 $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0);"}; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; @@ -1058,7 +1304,7 @@ TVIapp(L,F,nom,nomv,f,ftt,ao,nmr):={ nl:=size(L); f:=unapply(f,x); -fp:=fonction_derivee(f); +fp:=function_diff(f); z0:=concat(L,F);z:=sort(z0); nz:=size(z); @@ -1081,7 +1327,7 @@ else{ j:=[seq(k,k=floor(z[0])..floor(z[nz-1]))] minus F;for k in j do S:=S,fsolv 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; @@ -1113,10 +1359,10 @@ l0:=" newLigneVariables(btex $"+nomv+"$ etex);";lp:=" "; lf:=" ";lsp:=" "; -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){ 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); @@ -1136,8 +1382,8 @@ l0:=l0+"val(btex $"+latex(Z[nz-1])+"$ etex); 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)); + 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+")}$ etex);"+ if(Z[0]==-infinity){if(sign(evalf(fp(if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F)==0){ @@ -1166,43 +1412,43 @@ else{for(r:=1; r<=NL-2;r++){kspp:=evalf(fp(Z[rr]+0.01))>0;TestS:=(sign(evalf(LL[ -lsf:=if(member(Z[nz-1],F)==0){""}else{"nomDefBarre;"} -lm0:=limite(f(x),x=Z[0],1)==-infinity; +lsf:=if(member(Z[nz-1],F)==0){""}else{"nonDefBarre;"} +lm0:=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); li:=lvic+nom+"}$ etex); -"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[0],1)))}+"$ etex,"}+ +"+ if(member(Z[0],F)==0){"valPos(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[0],1)))}+"$ etex,"}+ if(k0==1){"1);"}else{"0);"}+if(TestS==0){"valPos(btex $ "+ao+" $ 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[r])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[r],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[r])))+"$ 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 $ "+ao+" $ 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 $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[rr])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[rr])))+"$ 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 $ "+ao+" $ etex,0.5); ";rr:=rr+1; }// else testL==1 }//testS==0 else{lp:=lp+if(member(Z[rr],F)){ - "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f(Z[rr])))+"$ + "limGauche(btex $"+if(lmrm==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],-1)))}+"$ etex,"+if(krm==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[rr],1)))}+"$ etex,"+if(krp==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f(Z[rr])))+"$ 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 @@ -1212,13 +1458,23 @@ 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 $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz==1){"-\\infty"}else{latex(simplifier(limite(f(x),x=Z[nz-1],-1)))}+"$ etex,"}+ - if(kz==1){"1);"}else{"0);"}; +lnz:=limit(f(x),x=Z[nz-1],-1)==-infinity; + + + +lf:=if(member(Z[nz-1],F)==0){"valPos(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz==1){"-\\infty"}else{latex(simplify(limit(f(x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(kz==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + + + MetaLfc:= if(ftt==2){if(nz>2){"beginTableau("+nmr+")"+ l0+lsi+lsp+lsf+" endTableau; @@ -1313,23 +1569,23 @@ reset_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])); +fp:=append(fp,function_diff(f[d])); LLL:=concat(L,F[d]); Z:=LLL union Z; -SS:=resoudre(factor(simplifier(fp[d](t))),t); +SS:=solve(factor(simplify(fp[d](t))),t); ns:=size(SS); for(k:=0;k<ns;k++){ if(trigo==t){ m:=0; -while(evalf(simplifier(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ +while(evalf(simplify(subst(SS[k],n_1=m)))<=evalf(L[nl-1])){ -S:=concat(S,simplifier(subst(SS[k],n_1=m)));m:=m+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,simplifier(subst(SS[k],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[k],n_1=m)));m:=m-1; } }else{ @@ -1339,9 +1595,9 @@ S:=concat(S,SS); si size(S)>0 alors pour j de 0 jusque size(S)-1 faire - qq:=member(simplifier(S[j]),Z)==0; + 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,simplifier(S[j]))}}; + if(kk==1){if(qq==1){Z:=append(Z,simplify(S[j]))}}; fpour fsi; Z:=sort(Z); @@ -1381,22 +1637,22 @@ FFF:=[[],[]]; 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)); + k0:= evalf(limit(f[d](x),x=Z[0],1))> evalf(limit(f[d](x),x=Z[1],-1)); + kz:=evalf(limit(f[d](x),x=Z[nz-1],-1))> evalf(limit(f[d](x),x=Z[nz-2],1)); //} //$ - lsi[d]:=lsic+nom[d]+"'("+nomv+")}$ etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex $"+latex(simplifier(fp[d](Z[0])))+"$ etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre; + lsi[d]:=lsic+nom[d]+"'("+nomv+")}$ etex);"+if(member(Z[0],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[0])))+"$ etex);"}else{if(Z[0]==-infinity){" "}else{"nonDefBarre; "}}+ if(Z[0]==-infinity){if(sign(evalf(fp[d](if(Z[1]==+infinity){0}else{Z[1]-10^(-5)})))==1){"plus;"}else{"moins;"}}else{if(member(Z[0],F[d])==0){ if(sign(fp[d](Z[0]+10^(-5)))==1){"plus;"}else{"moins;"}}else{ 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 $"+latex(simplifier(fp[d](Z[r])))+"$ etex);"}else{"nonDefBarre;"}+ + lsp[d]:=lsp[d]+if(member(Z[r],F[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[r])))+"$ etex);"}else{"nonDefBarre;"}+ if(ksp==1){"plus;"}else{"moins;"} }; } -lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplifier(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}} +lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplify(fp[d](Z[nz-1])))+"$ etex);"}else{if(Z[nz-1]==+infinity){" "}else{"nonDefBarre;"}} @@ -1417,33 +1673,39 @@ lsf[d]:=if(member(Z[nz-1],FFF[d])==0){"valBarre(btex $"+latex(simplifier(fp[d](Z 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)); + 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)); //{ //$ -lm0[d]:=limite(f[d](x),x,Z[0],1)==-infinity; +lm0[d]:=limit(f[d](x),x,Z[0],1)==-infinity; li[d]:=lvic+nom[d]+"}$ etex);"+ - if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[0],1)))}+"$ etex,"} - else{"nonDefBarre;limDroite(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[0],1)))}+"$ etex,"}+ + if(member(Z[0],F[d])==0){"valPos(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ etex,"} + else{"nonDefBarre;limDroite(btex $"+if(lm0[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[0],1)))}+"$ 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 - $"+if(lmrm[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[r],-1)))}+"$ - etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}} - else{"valPos(btex $"+latex(simplifier(f[d](Z[r])))+"$ + $"+if(lmrm[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],-1)))}+"$ + etex,"+if(krm[d]==1){"1);"}else{"0);"}+"nonDefBarre;limDroite(btex $"+if(lmrp[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x,Z[r],1)))}+"$ etex,"+if(krp[d]==1){"1);"}else{"0);"}} + else{"valPos(btex $"+latex(simplify(f[d](Z[r])))+"$ etex,"+if(sign(evalf(fp[d](Z[r]-0.001)))==sign(evalf((fp[d](Z[r]+0.001))) )){"0.5);"}else{if(krp[d]==1){"1);"}else{"0); "}}} }; } -lnz[d]:=limite(f[d](x),x=Z[nz-1],-1)==-infinity; - lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"+if(lnz[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[nz-1],-1)))}+"$ etex,"}else{"nonDefBarre;limGauche(btex $"+if(lnz[d]==1){"-\\infty"}else{latex(simplifier(limite(f[d](x),x,Z[nz-1],-1)))}+"$ etex,"}+ - if(Kz[d]==1){"1);"}else{"0); -"}; +lnz[d]:=limit(f[d](x),x=Z[nz-1],-1)==-infinity; + + +lf[d]:=if(member(Z[nz-1],F[d])==0){"valPos(btex $"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(Kz[d]==1){"1);"}else{"0);"}} + else{"limGauche(btex $"+ + if(lnz[d]==1){"-\\infty"}else{latex(simplify(limit(f[d](x),x=Z[nz-1],-1)))}+"$ etex,"+ + if(Kz[d]==1){"1);nonDefBarre;"}else{"0);nonDefBarre;"}}; + @@ -1557,27 +1819,27 @@ pour k de 0 jusque n-1 faire if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(L[k](x))),x); +SS:=solve(factor(simplify(L[k](x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ m:=0; -while(evalf(simplifier(subst(SS[j],n_1=m)))<=evalf(maxi)){ -S:=concat(S,simplifier(subst(SS[j],n_1=m)));m:=m+1; +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,simplifier(subst(SS[j],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1; } } }else{ -S:=resoudre(L[k](x),x); +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; @@ -1641,12 +1903,12 @@ 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{" @@ -1713,20 +1975,20 @@ pour k de 0 jusque n-1 faire if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(L[k](x))),x); +SS:=solve(factor(simplify(L[k](x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ mm:=0; -while(evalf(simplifier(subst(SS[j],n_1=mm)))<=evalf(maxi)){ -S:=concat(S,simplifier(subst(SS[j],n_1=mm)));mm:=mm+1; +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,simplifier(subst(SS[j],n_1=mm)));mm:=mm-1; +S:=concat(S,simplify(subst(SS[j],n_1=mm)));mm:=mm-1; } } }else{ -S:=resoudre(L[k](x),x); +S:=solve(L[k](x),x); } @@ -1734,7 +1996,7 @@ S:=resoudre(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; @@ -1744,28 +2006,28 @@ pour k de 0 jusque m-1 faire -if(trigo==1){ +if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SSF:=resoudre(factor(simplifier(Fo[k](x))),x); +SSF:=solve(factor(simplify(Fo[k](x))),x); nsf:=size(SSF); for(j:=0;j<nsf;j++){ mm:=0; -while(evalf(simplifier(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ -SF:=concat(SF,simplifier(subst(SSF[j],n_1=mm)));mm:=mm+1; +while(evalf(simplify(subst(SSF[j],n_1=mm)))<=evalf(maxi)){ +SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm+1; };mm:=-1; while(evalf(subst(SSF[j],n_1=mm))>=evalf(mini)){ -SF:=concat(SF,simplifier(subst(SSF[j],n_1=mm)));mm:=mm-1; +SF:=concat(SF,simplify(subst(SSF[j],n_1=mm)));mm:=mm-1; } } }else{ -SF:=resoudre(Fo[j](x),x); +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]);} + FF:=FF,simplify(SF[j]); + if(SF[j]>mini and SF[j]<maxi){F:=F,simplify(SF[j]);} fpour; fsi; fpour; @@ -1839,12 +2101,12 @@ 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{" "} @@ -1910,8 +2172,8 @@ fclose(sortie); \begin{VerbatimOut}{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]; +zB:=solve(c*x+d=0,x)[0]; zmin:=min(zA,zB); zmax:=max(zA,zB); Meta:= " @@ -1968,11 +2230,10 @@ fclose(sortie); \begin{VerbatimOut}{XcasTSc.cxx} -TSc(g,D,trigo,nmr):={ +TSc(g,D,F,trigo,nmr):={ f:=unapply(g,x); -Z:=NULL; mini:=D[0]; maxi:=D[1];lm:=" "; - +Z:=mini,maxi; S:=[]; @@ -1980,20 +2241,20 @@ S:=[]; if(trigo==t){ all_trig_solutions:=1; reset_solve_counter(-1,-1); -SS:=resoudre(factor(simplifier(f(x))),x); +SS:=solve(factor(simplify(f(x))),x); ns:=size(SS); for(j:=0;j<ns;j++){ m:=0; -while(evalf(simplifier(subst(SS[j],n_1=m)))<=evalf(maxi)){ -S:=concat(S,simplifier(subst(SS[j],n_1=m)));m:=m+1; +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,simplifier(subst(SS[j],n_1=m)));m:=m-1; +S:=concat(S,simplify(subst(SS[j],n_1=m)));m:=m-1; } } }else{ -S:=resoudre(f(x),x); +S:=solve(f(x),x); } @@ -2002,56 +2263,60 @@ S:=resoudre(f(x),x); if(size(S)==0){ l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; -li:=if(mini!=-infinity and f(mini)==0){" +li:=if(member(mini,F)!=0){"nonDefBarre;"}else{if(mini!=-infinity and f(mini)==0){" valBarre(btex 0 etex);"}else{" - "}+ + "}}+ 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){" +lf:=if(member(maxi,F)!=0){"nonDefBarre;"}else{if(maxi!=+infinity and f(maxi)==0){" valBarre(btex 0 etex);"}else{" - "}; + "}}; } else{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; - +Z:=concat([Z],F); Z:=sort(Z); nz:=size(Z); if(nz>2){pour u de 1 jusque nz-2 faire - si Z[u]==Z[u+1] alors Z:=Z[0..u-1],Z[u+1..nz-1];nz:=nz-1; + si Z[u]==Z[u+1] alors Z:=concat(Z[0..u-1],Z[u+1..nz-1]);nz:=nz-1; fsi; fpour;} +if(Z[0]==Z[1]){Z:=Z[1..nz-1];nz:=nz-1;} +if(Z[nz-2]==Z[nz-1]){Z:=Z[0..nz-2];nz:=nz-1;} nz:=size(Z); l0:=" ";li:=" ";lr:=" "; -if(nz==0){l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; +if(nz==2){l0:="val(btex $"+latex(D[0])+"$ etex);val(btex $"+latex(D[1])+"$ etex);"; li:=if(mini!=-infinity and f(mini)==0){" - valBarre(btex 0 etex);"}else{" - "}+ -if(f((mini+maxi)*0.5>0)){"plus;"}else{"moins;"}; + 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(maxi)==0){" - valBarre(btex 0 etex);"}else{" - "}; + valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" + "}else{"nonDefBarre;"} + }; }else{ -l0:="val(btex $"+latex(D[0])+"$ etex);";li:=" "; -pour m de 0 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); +l0:="val(btex $"+latex(Z[0])+"$ etex);";li:=" "; +pour m de 1 jusque nz-1 faire l0:=l0+"val(btex $"+latex(Z[m])+"$ etex); "; fpour; -l0:=l0+"val(btex $"+latex(D[1])+"$ etex);"; + 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{"nonDefBarre;"} + } -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);" +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;"} }}else{" "}; -lf:=if(f(Z[nz-1]+1.0)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{" - "}; +lf:=if(f(Z[nz-2]+0.1)>0){"plus;"}else{"moins;"}+if(maxi!=+infinity and f(maxi)==0){"valBarre(btex 0 etex);"}else{if(member(maxi,F)==0){" + "}else{"nonDefBarre;"} + }; }}; @@ -2076,8 +2341,6 @@ sortie:=fopen("XCasmpfc.mp"); fprint(sortie,Unquoted,MetaLfc); fclose(sortie); - - }:; \end{VerbatimOut} @@ -2414,6 +2677,37 @@ read("XCasTVIapp.user"); + + +\begin{VerbatimOut}{XCasTVPC.giac} +maple_mode(0); +read("config.cxx"); +read("XcasTVPC.cxx"); +read("XCasTVPC.user"); +\end{VerbatimOut} + +\newenvironment{TVPC}% +{\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}% +{\end{VerbatimOut} +\dresse{TVPC}} + +\newenvironment{TVPC*}[1]{% +\setcounter{TVnbis}{\theTVn} +\setcounter{TVn}{#1} +\VerbatimEnvironment\begin{VerbatimOut}[commandchars=\\??]{XCasTVPC.user}}% +{\end{VerbatimOut}\dressetoile{TVPC}} + + + + + + + + + + + + %% pour nettoyer les fichiers auxiliaires \AtEndDocument{\immediate\write18{\cat queue.mp >> \nomtravail.Tab.mp} |