Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

Curiosités : Erreurs d'arrondis



  1. #1
    rvz

    Curiosités : Erreurs d'arrondis


    ------

    Bonjour à tous,

    Je lance ici une discussion. Pas de question, pas de problème, juste une curiosité.
    Aujourd'hui, j'ai suivi un cours d'algèbre linéaire numérique, et on nous a montré des exemples bien surprenants.
    Notamment, j'ai appris que les opérations matricielles élémentaires n'était pas aussi simple que ce que je pensais au niveau des erreurs d'arrondis. Y compris pour des matrices très simple 3*3, matlab est incapable de fournir une "bonne" approximation de l'inverse d'une matrice si la matrice a un conditionnement (C'est comme ça qu'on dit ? J'en sais rien, le cours était en espagnol ) grand. Cela m'a énormément surpris parce que l'on connaît les formules pour calculer l'inverse d'une matrice 3*3. Elles sont un peu moches, mais sans plus...
    Autre curiosité : Si on veut inverser une matrice, on peut vouloir faire une décomposition QR (Q orthogonale, R triangulaire supérieure). Cette opération, via l'algo de Gram-Schmidt est en O(n^3) où n est la taille de la matrice. Donc, là encore, pour une matrice 3*3, c'est tout à fait faisable à la main. Cependant, là encore, les erreurs d'arrondis sont loin d'être négligeable quand le conditionnement k est grand. En fait, l'algo basique donne une erreur relative pour Q*Q -Id de l'ordre de e*k^2, avec e précision machine. Avec une simple modification, cela donne e*k, ce qui est déjà mieux, et il semble même que matlab a encore un autre algo qui donne une erreur de l'ordre de e...
    Bon, je sais pas trop pourquoi je poste ça, ni ce que j'attends comme réponse. Est ce que vous aussi vous trouvez ça étonnant ? Est ce que vous connaissez d'autres cas où les erreurs machines produisent des résultats vraiment faux sur des algorithmes basiques ?

    __
    rvz, complètement

    -----

  2. Publicité
  3. #2
    Keorl

    Re : Curiosités : Erreurs d'arrondis

    Par exemple il y a exel qui et très fort pour calculer bizarrement: on part de -1, on lui fait ajouter 0.05 dans chaque case en desosus de la précédente, et il finit par faire -0.05, 1.10^(-16), 0.05 je n'ai jamais compris comment.

    Bon c'est sur que c'est assez simpliste par rapport à ce que tu expliques, don je n'ai d'ailleurs par tout compris (je vois pas trop où il y a besoin d'approximation pour calculer une matrice inverse 3*3)

  4. #3
    fderwelt

    Re : Curiosités : Erreurs d'arrondis

    Citation Envoyé par aze555666
    (je vois pas trop où il y a besoin d'approximation pour calculer une matrice inverse 3*3)
    Bonjour,

    Eh bin si! Même avec les vraies formules rigoureuses (faciles à expliciter dans le cas 3x3) il y aura toujours des opérations en virgule flottante, et en plus avec trois opérandes (ne serait-ce que pour les déterminants mineurs). Et la virgule flottante est en elle-même une approximation, particulièrement infecte, surtout pour les multiplications (mais guère mieux pour les additions).
    Que Excel soit capable de ce genre d'horreurs, c'est plus surprenant. Mais je ne vais pas encore troller sur Micro$oft, je me suis déjà fait rabrouer...

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  5. #4
    humanino

    Re : Curiosités : Erreurs d'arrondis

    Bonjour,

    Moi aussi j'ai été surpris lorsque j'ai suivi des cours de calculs numériques. J'aime beaucoup le "numerical recipies in C", dans lequel on trouve une petite discussion à ce sujet :
    Error, accuracy and stability

    Aussi, on peut consulter wikipédia : Stiff equation
    "Puisque toute ces choses nous depassent, feignons de les avoir organisees"

  6. A voir en vidéo sur Futura
  7. #5
    fderwelt

    Re : Curiosités : Erreurs d'arrondis

    Citation Envoyé par humanino
    Moi aussi j'ai été surpris lorsque j'ai suivi des cours de calculs numériques. J'aime beaucoup le "numerical recipies in C", dans lequel on trouve une petite discussion à ce sujet :
    Error, accuracy and stability
    Rebonjour,

    C'est effectivement un très bon bouquin. Encore que la version C est trop directement décalquée de l'original en FORTRAN, mais bon...
    Cela dit, j'ai lu pas mal de critiques sur, justement, la stabilité du code proposé! Il semble que, autant l'analyse est bonne, autant la mise en œuvre pratique laisse à désirer... Mais je n'ai jamais eu à m'en plaindre.

    -- françois
    Les optimistes croient que ce monde est le meilleur possible. Les pessimistes savent que c'est vrai.

  8. #6
    humanino

    Re : Curiosités : Erreurs d'arrondis

    Citation Envoyé par fderwelt
    Que Excel soit capable de ce genre d'horreurs, c'est plus surprenant. Mais je ne vais pas encore troller sur Micro$oft, je me suis déjà fait rabrouer...
    J'ai hésité à faire un commentaire
    Et des bien drôles il en existent quelques uns tout de même, et qui ont la vie dure.

    http://www.gnu.org/philosophy/why-free.html
    "Puisque toute ces choses nous depassent, feignons de les avoir organisees"

  9. Publicité
  10. #7
    doudache

    Re : Curiosités : Erreurs d'arrondis

    Salut !

    Pour conclure : faites de l'analyse sur Qp, c'est mieux® !

  11. #8
    rvz

    Re : Curiosités : Erreurs d'arrondis

    lol Doudache

    Je parlais d'un problème informatique. Et tout algébriste, même avec beaucoup de mauvaise foi, devrait admettre que dans la pratique R est quand même le corps sur lequel on travaille ...

    Sinon, je remercie fderwelt et humanimo pour leurs commentaires, et leurs références. En tout cas, maintenant que je comprends bien que les erreurs d'arrondis peuvent être vraiment catastrophiques, je ne dirai plus du mal des informaticiens . Sinon, pour les erreurs de troncation, comme elles sont appelés dans le premier document donné par humanimo, c'est sur quoi je travaille : Optimisation d'algo, Pourquoi des algo naturels ne vont pas marcher en haute fréquence, etc... C'est très large, mais cette erreur est attendue dès lors qu'on est conscient qu'un ordinateur ne peut pas traiter des objets continus.

    __
    rvz

Discussions similaires

  1. [identification] Mégalithes ou curiosités naturelles ?
    Par Seb67 dans le forum Géologie et Catastrophes naturelles
    Réponses: 6
    Dernier message: 15/03/2007, 10h38
  2. suite d'arrondis de multiples
    Par cazeph dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 18/02/2007, 16h33
  3. Erreurs et incertitudes
    Par thegiantbob dans le forum Mathématiques du collège et du lycée
    Réponses: 1
    Dernier message: 11/11/2006, 18h57
  4. Erreurs FTP ?
    Par Bibikirt dans le forum Internet - Réseau - Sécurité générale
    Réponses: 3
    Dernier message: 09/02/2005, 07h58
  5. Erreurs et mesures ...
    Par chrome VI dans le forum Physique
    Réponses: 5
    Dernier message: 26/01/2005, 16h59