approximation d'un nombre par une suite
Modérateur : xcasadmin
approximation d'un nombre par une suite
Bonjour,
je cherche à approximer Pi avec un grand nombre de décimal (mettons 500).
J'ai donc écrit le calcul de cette suite que je souhaite accélérer ensuite
U(n):={
local (c:=0.),(u:=2.),k;
for(k:=1;k<=n;k++){
c:=sqrt((c+1)/2);u:=u/c; }
return u }:;
A priori j'ai configuré avec Digits:= 700 pour avoir de la marge.
Or la suite est constante à partir du 28ème terme et je n'arrive pas à dépasser une précision de 15 chiffres. En gros, la modification du nombre de digits ne modifient pas les calculs et tout se passe comme si la configuration n'était pas changée.
J'ai pensé que cela pouvait venir de la valeur epsilon de la configuration que j'ai modifié en conséquence. Mais rien...
J'avoue ne pas comprendre pourquoi. Il me semblait que le changement du nombre de digits dans la configuration du Cas suffisait (hors erreurs d'arrondis évidemment) pour faire des calculs avec un grand nombre de décimale.
Merci pour votre aide
Merci
je cherche à approximer Pi avec un grand nombre de décimal (mettons 500).
J'ai donc écrit le calcul de cette suite que je souhaite accélérer ensuite
U(n):={
local (c:=0.),(u:=2.),k;
for(k:=1;k<=n;k++){
c:=sqrt((c+1)/2);u:=u/c; }
return u }:;
A priori j'ai configuré avec Digits:= 700 pour avoir de la marge.
Or la suite est constante à partir du 28ème terme et je n'arrive pas à dépasser une précision de 15 chiffres. En gros, la modification du nombre de digits ne modifient pas les calculs et tout se passe comme si la configuration n'était pas changée.
J'ai pensé que cela pouvait venir de la valeur epsilon de la configuration que j'ai modifié en conséquence. Mais rien...
J'avoue ne pas comprendre pourquoi. Il me semblait que le changement du nombre de digits dans la configuration du Cas suffisait (hors erreurs d'arrondis évidemment) pour faire des calculs avec un grand nombre de décimale.
Merci pour votre aide
Merci
Re: approximation d'un nombre par une suite
il s'agit d'un bug, dont le correctif est:
Code : Tout sélectionner
diff gen.cc gen.cc~
6898c6898
< return is_zero(a-1);
---
> return evalf_double(a,0,context0)._DOUBLE_val==1;
6927c6927
< return is_zero(a+1);
---
> return evalf_double(a,0,0)._DOUBLE_val==-1;
Re: approximation d'un nombre par une suite
Que dois-je faire pour corriger le bug ? Comment utiliser le code ?parisse a écrit :il s'agit d'un bug, dont le correctif est:Code : Tout sélectionner
diff gen.cc gen.cc~ 6898c6898 < return is_zero(a-1); --- > return evalf_double(a,0,context0)._DOUBLE_val==1; 6927c6927 < return is_zero(a+1); --- > return evalf_double(a,0,0)._DOUBLE_val==-1;
Merci de votre réponse
Re: approximation d'un nombre par une suite
je me suis mal exprimé, c'est un bug de xcas, vous ne pouvez rien faire qu'attendre une mise à jour (la semaine prochaine).
Re: approximation d'un nombre par une suite
Cela me rassure ! En tout cas je voulais vous remercier pour votre célérité.parisse a écrit :je me suis mal exprimé, c'est un bug de xcas, vous ne pouvez rien faire qu'attendre une mise à jour (la semaine prochaine).
J'en profite pour vous faire part de mon étonnement concernant la recherche d'information sur le forum : les problèmes que je rencontre ne me semblent pas très originaux et pourtant lorsque j'effectue une recherche sur les discussions du forum, je ne trouve pas de réponse. Peut être sont - elles dans la partie Capes (à laquelle je n'ai pas accès) ?
En tout cas, je suis surpris que personne ne se soit posé ce type de problème...
Merci de votre aide et de votre implication sur ce forum
Re: approximation d'un nombre par une suite
Non, c'est juste que vous avez fait un programme dans un domaine qui n'a pas encore été beaucoup testé (à savoir utilisation des flottants multiprécision).
Sinon, vous pouvez aller sur le forum xcas-capes ou alors il y a un problème de configuration du forum.
Sinon, vous pouvez aller sur le forum xcas-capes ou alors il y a un problème de configuration du forum.
Re: approximation d'un nombre par une suite
Pourtant quand je souhaite aller sur cette partie du forum, j'ai le message suivant :
Vous n’avez pas les permissions appropriées afin de lire les sujets de ce forum.
Peut être me suis-je mal inscrit ?
Vous n’avez pas les permissions appropriées afin de lire les sujets de ce forum.
Peut être me suis-je mal inscrit ?
Re: approximation d'un nombre par une suite
je ne sais pas, je viens de réinitialiser tous les forums en accès standard, j'espère que tout sera accessible dorénavant.
Re: approximation d'un nombre par une suite
J'ai accès à la nouvelle page du Capes. Merci bien
Re: approximation d'un nombre par une suite
l'accès n'est possible que connecté contrairement aux autres forums.
Re: approximation d'un nombre par une suite
Décidément, c'est pas évident à régler ce forum... ça devrait être bon maintenant.
Re: approximation d'un nombre par une suite
Bonjour,
je suis allé sur le site de Xcas pour télécharger une version débuguée mais la mise à jour de la version stable date toujours de septembre 2012. Dois-je prendre la version en test ? Est-ce que cela pose réellement problème ? J'aimerai proposer des exercices d'approximation de nombres en exercice mais les calculs se font toujours avec 15 chiffres quelle que soit la valeur de Digits avec les versions stables.
Merci
François
je suis allé sur le site de Xcas pour télécharger une version débuguée mais la mise à jour de la version stable date toujours de septembre 2012. Dois-je prendre la version en test ? Est-ce que cela pose réellement problème ? J'aimerai proposer des exercices d'approximation de nombres en exercice mais les calculs se font toujours avec 15 chiffres quelle que soit la valeur de Digits avec les versions stables.
Merci
François
Re: approximation d'un nombre par une suite
Normalement les versions stable sont des 1.0 depuis 13h aujourd'hui. C'est quelle version?
Re: approximation d'un nombre par une suite
La version est bien de novembre et j'obtiens bien les approximations.parisse a écrit :Normalement les versions stable sont des 1.0 depuis 13h aujourd'hui. C'est quelle version?
Merci