Page 1 sur 1

Problèmes autour de l'infini

Publié : mer. oct. 07, 2009 2:28 pm
par Olivier
Bonjour,

Deux petits bugs :
1)

Code : Tout sélectionner

f(x):=ln(x+1)
          (x)->ln(x+1)
series(f(x),x,+inf,5)
          (1/(ln(x)))^(-1)+(1/(ln(x)))^4*order_size(1/(ln(x)))
Le problème semble affecter les développements asymptotiques d'expressions de logarithmes. Par contre, retrancher la partie principale "à la main" donne le résultat attendu :

Code : Tout sélectionner

series(f(x)-ln(x),x,+inf,5)
          1/x+((1/x)^2)/(-2)+((1/x)^3)/3+((1/x)^4)/(-4)+((1/x)^5)/5+(1/x)^6*order_size(1/x)
2) Le calcul de sommes de séries à l'aide de primitives discrètes ne semble pas (plus ?) fonctionner :

Code : Tout sélectionner

sum(1/(n*(n+1)),n,1,+(infinity))
          undef
Pas de problème par contre pour une somme partielle :

Code : Tout sélectionner

sum(1/(n^2+n),n,1,N)
          -1/(N+1)+1
--
Olivier

Re: Problèmes autour de l'infini

Publié : jeu. oct. 08, 2009 8:10 am
par parisse
Olivier a écrit :Bonjour,

Deux petits bugs :
1)

Code : Tout sélectionner

f(x):=ln(x+1)
          (x)->ln(x+1)
series(f(x),x,+inf,5)
          (1/(ln(x)))^(-1)+(1/(ln(x)))^4*order_size(1/(ln(x)))
Le problème semble affecter les développements asymptotiques d'expressions de logarithmes. Par contre, retrancher la partie principale "à la main" donne le résultat attendu :

Code : Tout sélectionner

series(f(x)-ln(x),x,+inf,5)
          1/x+((1/x)^2)/(-2)+((1/x)^3)/3+((1/x)^4)/(-4)+((1/x)^5)/5+(1/x)^6*order_size(1/x)
Ce n'est pas un bug (le developpement est correct meme si on peut evidemment faire mieux), mais une limitation de l'algorithme commun utilise pour calculer des limites et developpement en series. Je rajoute un booleen pour distinguer les 2 cas et obtenir le developpement pour ln(x+1), en esperant que ca n'entraine pas de bug ailleurs, auquel cas je reviendrai en arriere.
2) Le calcul de sommes de séries à l'aide de primitives discrètes ne semble pas (plus ?) fonctionner :

Code : Tout sélectionner

sum(1/(n*(n+1)),n,1,+(infinity))
          undef
Pas de problème par contre pour une somme partielle :

Code : Tout sélectionner

sum(1/(n^2+n),n,1,N)
          -1/(N+1)+1
--
Olivier
Merci pour l'info, je corrige le code des sommes definies.
Je mettrai les versions binaires a jour prochainement.
a+

Re: Problèmes autour de l'infini

Publié : mer. mars 03, 2010 10:22 am
par Florent
Bonjour,

Je tiens en premier lieu à dire que je suis particulièrement impressionné par la polyvalence de XCAS/GIAC.

J'en viens maintenant* à la raison qui m'a fait venir sur ce forum, et qui est corrélée --je pense-- au sujet de ce fil:
Lorsque je demande à XCAS de cacluler la somme de la série géometrique de raison 1/2 :

Code : Tout sélectionner

sum((1/2)^n,n,1,infinity);
J'obtiens les message ci-dessous.
Max order (64) exceeded or non unidirectional series
Par contre, si je remplace (1/2) par exp(-1), XCAS me donne une réponse correcte:

Code : Tout sélectionner

sum(exp(-1)^n,n,1,infinity);
-((exp(-1))/(exp(-1)-1))
Ça marche tout aussi bien si je rentre le $n$ dans la fonction exponetielle.

Maintenant, si j'essaie de calculer la limite d'une série géoétrique de raison p, en supposant 0\leq p <1:

Code : Tout sélectionner

assume(p<1 and p>0);
sum(p^n,n,1,infinity);
J'obtiens le message suivant:
Max order (64) exceeded or non unidirectional series
Ce sont le plus petits exemples que j'ai trouvé sur lequel j'ai constaté des problèmes avec
les sommes infinies.
Bien à vous,
Florent.

* Désolé d'appartenir à la caste des utilisateurs ne se manifestant que pour se plaindre :).

ps: Je ne suis pas parvenu à obtenir la version que j'utilise. Comment faire ?

Re: Problèmes autour de l'infini

Publié : mer. mars 03, 2010 12:11 pm
par parisse
C'est parce que +infini se code +infinity (ou inf) et non infinity qui est l'infini non signe. C'est en fait sum(exp(-1)^n,n,1,infinity) qui devrait renvoyer une erreur. Ca semble venir de limit(exp(-N-1),N=infinity), il faut que je regarde ca.

Re: Problèmes autour de l'infini

Publié : mer. mars 03, 2010 12:16 pm
par Florent
Merci beaucoup !
Je m'excuse donc pour ne pas avoir assez bien lu le manuel !


Florent.

Re: Problèmes autour de l'infini

Publié : mer. mars 03, 2010 12:29 pm
par parisse
il n'y a pas de mal, ca prouve que ca merite un warning que je rajoute. Du coup
sum(exp(-1)^n,n,1,infinity)
affichera en bleu Warning, infinity is unsigned, perhaps you meant +infinity
et renverra Max order (64) exceeded or non unidirectional series