somme(1/(sqrt(k)+sqrt(k+1)),k,0,n)=sqrt(n+1)
Or simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10)) renvoie -sqrt(11) au lieu de sqrt(11)
et simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,11,-1)) renvoie sqrt(11) au lieu de -sqrt(11)
simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10))
Modérateur : xcasadmin
Re: simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10))
Bon, c'est un problème de précision, en effet le résultat dans l'extension algébrique commune vaut
divisé par 84148108246508148014191387430879232.
Le nombre de départ est racine du polynôme [1,0,-77889945336126578431948510259727681215665967072957879536871286258008064] dont les racines sont +/-84148108246508148014191387430879232*sqrt(11).
Si on fait evalf dessus en précision normale on trouve -6.94183464825e+39, alors qu'en précision par exemple 30, on trouve 3.38274809566e+219, ce n'est pas le même signe! ce qui explique la méprise de xcas, il doit choisir entre les 2 racines et il choisit le mauvais signe...
Si on fait Digits:=30, on trouve bien sqrt(11).
Bon, ça veut dire qu'il faudra qu'un jour je modifie le code pour adapter la précision...
Code : Tout sélectionner
%%{[132377815618684212695,0,-59162881653858949162060,0,11170665303843618417486520,0,-1183188358212184790598067104,0,78487202896453888597929610560,0,-3441874751747309615100453126400,0,102562419171135970770486418168320,0,-2100521288682266362632652549724160,0,29543326023758626552507440684421120,0,-281892842462327690452663536268492800,0,1779770633737241791130414539341987840,0,-7135144244070258522398330354392760320,0,17040645013274992169069592660697415680,0,-21923987225299148204693803607543250944,0,12520550855147866792035606908224143360,0,-1814480572587766489942377789590077440,0]:[1,0,-448,0,84864,0,-9028096,0,602397952,0,-26625650688,0,801918722048,0,-16665641517056,0,239210760462336,0,-2349014746136576,0,15459151516270592,0,-65892492886671360,0,172580952324702208,0,-255690851718529024,0,183876928237731840,0,-44660812492570624,0,2000989041197056]%%}
Le nombre de départ est racine du polynôme [1,0,-77889945336126578431948510259727681215665967072957879536871286258008064] dont les racines sont +/-84148108246508148014191387430879232*sqrt(11).
Si on fait evalf dessus en précision normale on trouve -6.94183464825e+39, alors qu'en précision par exemple 30, on trouve 3.38274809566e+219, ce n'est pas le même signe! ce qui explique la méprise de xcas, il doit choisir entre les 2 racines et il choisit le mauvais signe...
Si on fait Digits:=30, on trouve bien sqrt(11).
Bon, ça veut dire qu'il faudra qu'un jour je modifie le code pour adapter la précision...
Re: simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10))
ok en modifiant la précision.
le pb en précision normale ne survient qu'avec n=10 et n=11 (pour n<16)
pour n=16 le calcul se termine sans erreur en 207 sec
le pb en précision normale ne survient qu'avec n=10 et n=11 (pour n<16)
pour n=16 le calcul se termine sans erreur en 207 sec
Re: simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10))
Des que j'aurai un peu de temps, j'experimenterai l'idee suivante:
pour determiner le signe de P(alpha) sachant que Q(alpha)=0, avec P et Q a coefficients entiers premiers entre eux et alpha plus grande racine reelle de P, on cherche un intervalle d'isolation des racines reelles de P et Q par l'algorithme VAS (implemente dans realroot ou directement par la fonction VAS qui n'est pas documentee:-( ), on prend le dernier intervalle de Q, on regarde s'il intersecte les intervalles d'isolation de P, sinon on conclut en prenant le signe a une des bornes, si oui on raffine alternativement par dichotomie les intervalles d'isolation de P et Q. Ici on a [9,13] comme intervalle d'isolation commun a P et Q (d'ailleurs c'est marrant les intervalles d'isolation sont identiques...).
On pourrait bien sur utiliser Sturm plutot que VAS, mais avec des polynomes de degre plusieurs dizaines et des grands coefficients, j'ai le sentiment que ca serait trop long.
Ca fait une idee de bout de texte d'entrainement pour l'option C de l'agreg d'ailleurs...
pour determiner le signe de P(alpha) sachant que Q(alpha)=0, avec P et Q a coefficients entiers premiers entre eux et alpha plus grande racine reelle de P, on cherche un intervalle d'isolation des racines reelles de P et Q par l'algorithme VAS (implemente dans realroot ou directement par la fonction VAS qui n'est pas documentee:-( ), on prend le dernier intervalle de Q, on regarde s'il intersecte les intervalles d'isolation de P, sinon on conclut en prenant le signe a une des bornes, si oui on raffine alternativement par dichotomie les intervalles d'isolation de P et Q. Ici on a [9,13] comme intervalle d'isolation commun a P et Q (d'ailleurs c'est marrant les intervalles d'isolation sont identiques...).
On pourrait bien sur utiliser Sturm plutot que VAS, mais avec des polynomes de degre plusieurs dizaines et des grands coefficients, j'ai le sentiment que ca serait trop long.
Ca fait une idee de bout de texte d'entrainement pour l'option C de l'agreg d'ailleurs...
Re: simplifier(somme(1/(sqrt(k)+sqrt(k+1)),k,0,10))
pour info Wolfram donne les valeurs exactes jusqu'à n=9 ensuite on ne peut obtenir que des valeurs approchées.