exercice de bac centres étrangers

Utilisation de Xcas

Modérateur : xcasadmin

evariste
Messages : 31
Inscription : sam. sept. 10, 2011 7:41 am

exercice de bac centres étrangers

Message par evariste » mar. juil. 17, 2012 3:29 pm

Bonjour,
Il s'agissait d'étudier la suite définie par I(n)=integrale(x^n*exp(x^2),x,0,1).
Sous xcas et un ordi assez ancien vista, il me faut 137 secondes pour calculer une valeur approchée de I(16). Pour les autres valeurs (d'indices pairs), j'ai renoncé.
Y-a-t-il a priori une raison à cela? Je sais bien que les fonctions, dans le cas où n est un exposant pair, n'admettent pas de primitives qui puissent simplement s'exprimer à l'aide des fonctions usuelles. Mais pour un calcul approché, ce n'est pas le problème. A moins que le calcul exact ne soit tenté avant l'approximation?
Merci de m'éclairer,
Evariste

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

Re: exercice de bac centres étrangers

Message par parisse » mer. juil. 18, 2012 11:57 am

oui, le calcul exact est tente avant approximation. Pour l'eviter on peut faire:

Code : Tout sélectionner

I(n):=evalf(Int(x^n*exp(x^2),x,0,1))
ou
I(n):=int(x^n*exp(x^2),x,0,1.0)
ou
I(n):=romberg(x^n*exp(x^2),x,0,1)
Il faudra que je regarde pourquoi la recherche de primitive exacte prend tant de temps...

evariste
Messages : 31
Inscription : sam. sept. 10, 2011 7:41 am

Re: exercice de bac centres étrangers

Message par evariste » dim. juil. 22, 2012 6:16 am

Bonjour,
Il est facile de voir que i(0) ne peut pas être calculée exactement: la fonction à intégrer ne possède pas de primitives s'exprimant à l'aide des fonctions usuelles.
Par ailleurs, un intégration par parties montre que:
i(n+2)=e/2 - (n+1)/2*i(n).
Les problèmes de calcul que l'on rencontre pour i(0) se répercutent pour i(2p) de proche en proche.
Les termes de rang impair se calculent par contre facilement de proche en proche et de façon exacte.
Mais si on programme la formule de récurrence dans le tableur, on assiste à une explosion des erreurs d'arrondis. Les suites sont de la forme
i(2p+1)=a(2p+1)*e+b(2p+1) avec a(2p) divergeant rapidement vers l'infini. En mode approché, on comprend que une petite erreur sur e au départ entraine une erreur plus grande assez rapidement;
i(2p)=a(2p)*e+c(2p)*I(0) avec les mêmes remarques.
Bien cordialement,
Evariste

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

Re: exercice de bac centres étrangers

Message par parisse » dim. juil. 22, 2012 7:38 am

je ne connais pas de preuve simple que exp(x^2) n'a pas de primitives avec les fonctions usuelles (seulement en passant par la theorie d'integration de Risch, pas trivial donc).
J'ai corrige le probleme d'efficacite, maintenant int(exp(x^2)*x^14) se renvoie non evalue rapidement.

evariste
Messages : 31
Inscription : sam. sept. 10, 2011 7:41 am

Re: exercice de bac centres étrangers

Message par evariste » dim. juil. 22, 2012 8:37 am

C'est une bonne chose que cela soit renvoyé rapidement...
Je ne connais pas de preuve simple non plus de ce résultat, même je ne me souviens pas en avoir croisée dans mes études.
Ci-joint un lien intéressant, mais qui place la barre assez haut pour justifier le résultat
http://denisfeldmann.fr/PDF/liou.pdf
Bien cordialement,
Evariste
PS: j'imagine que la nouvelle version sera disponible rapidement?

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

Re: exercice de bac centres étrangers

Message par parisse » dim. juil. 22, 2012 9:49 am

Elle l'est deja pour linux 32 bits et windows (la version linux 32 bits a un petit bug de doc, il faut recreer l'index de l'aide, je pense renvoyer une version corrigee rapidement).
Pour la preuve de Risch, vous pouvez aussi regarder dans la doc de xcas, dans Aide->Manuels->Algorithme, chapitre 9, c'est dans l'implementation de l'algo de Risch qu'il y avait un passage inefficace.

evariste
Messages : 31
Inscription : sam. sept. 10, 2011 7:41 am

Re: exercice de bac centres étrangers

Message par evariste » mar. juil. 24, 2012 7:04 am

Merci de votre rapide correction!
Bien cordialement,
Evariste

Répondre