Maple et HP28C

Bonjour,
j'ai une petite question concernant le temps de calcul.
Je demande de calculer $(1+\frac{10}{10^6})^{10^6}$ à maple et à ma pauvre hp28c.
La machine met moins de 2 secondes tandis que maple met au moins 30 secondes :S
Cela dit, les temps sont un peu exprimes a la louche ::o

Quelqu'un connait-il les methodes employees par maple et par une machine ? Je trouve etonnant que Maple rame sur un pauvre calcul comme ca.

Merci a toute personne qui me repondra.

Lionel

Ps : est-ce moi qui suis debile ? Je n'ai pas reussi a trouver le theme de ma question (aucune rubrique n'apparait) B-)-

Réponses

  • Quel est le résultat donné par Maple ? Par la calculatrice ?
  • Le meme.X:-(
  • Moi, quand je demande ce calcul à Maple, il me fournit comme résultat un quotient de 2 "Integer too large to display", ca qui laisse entendre comme je le pensais que Maple a calculé en nombres entiers sous forme exacte... ce qui lui a pris plus de temps. Je lui ai fait affiché le temps de calcul avec la fonction "time" : 9.5s. Ce n'est pas si mal pour le quotient de 2 nombres d'environ 6 millions de chiffres.

    Si on lui demande un "evalf", il effectue ENSUITE la division de ces 2 nombres et met environ 20s de plus pour un total de 31.7s.

    La bonne solution dans ce cas serait de le faire calculer directement en valeur approchée... mais je n'arrive plus à retrouver la méthode (qui doit être toute conne, soit dit en passant).
  • Personnellement, j'ai ça :

    > evalf((1+10/10^6)^(10^6),50);
    22025.364506391332650275126881092649456236343202432

    bytes used=167070696, alloc=40755928, time=5.78
  • J'ai retrouvé comment il fallait faire : il suffit que Maple interprête au moins un des nombres présents comme un "float" et non comme un "integer" et pour cela, il suffit de rajouter un "." après l'un des nombres (1, 10 ou 6) voire tous.

    Dans ce cas la réponse de Maple (sans avoir besoin d'utiliser "evalf") arrive en 0.015s environ (cela dépend de l'utilisation du processeur à ce stade-là)... et ce même si on lui demande 1000 chiffres de précision.
  • Oui, j'ai fait l'essai avec $1.0$ au lieu de $1$ et la reponse est immediate.:)
  • Bonjour,
    concernant les puissances entières, l'algo le plus rapide que j'ai vu est l'exponentiation rapide. Pour calculer a^b, l'idée est d'écrire l'exposant b en base 2 et d'élever récursivement la base $a$ au carré et de faire des multiplications pour les digits de b non nuls.
    Par contre, si l'on passe par un logarithme, le calcul est immédiat. Il faudrait tester, à la place de l'exposant 10^6, l'exposant 2^20.
Connectez-vous ou Inscrivez-vous pour répondre.