Problèmes autour de l'infini

Bugs

Modérateur : xcasadmin

Olivier
Messages : 4
Inscription : dim. oct. 04, 2009 8:45 pm
Localisation : Région parisienne

Problèmes autour de l'infini

Message par Olivier » mer. oct. 07, 2009 2:28 pm

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
Olivier

parisse
Messages : 5882
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Problèmes autour de l'infini

Message par parisse » jeu. oct. 08, 2009 8:10 am

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+

Florent
Messages : 2
Inscription : mar. mars 02, 2010 11:34 pm

Re: Problèmes autour de l'infini

Message par Florent » mer. mars 03, 2010 10:22 am

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 ?

parisse
Messages : 5882
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Problèmes autour de l'infini

Message par parisse » mer. mars 03, 2010 12:11 pm

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.

Florent
Messages : 2
Inscription : mar. mars 02, 2010 11:34 pm

Re: Problèmes autour de l'infini

Message par Florent » mer. mars 03, 2010 12:16 pm

Merci beaucoup !
Je m'excuse donc pour ne pas avoir assez bien lu le manuel !


Florent.

parisse
Messages : 5882
Inscription : mar. déc. 20, 2005 4:02 pm
Contact :

Re: Problèmes autour de l'infini

Message par parisse » mer. mars 03, 2010 12:29 pm

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

Répondre