Discussion:Élimination de Gauss-Jordan

Dernier commentaire : il y a 5 ans par 213.223.65.98 dans le sujet Pseudo-code
Autres discussions [liste]
  • Admissibilité
  • Neutralité
  • Droit d'auteur
  • Article de qualité
  • Bon article
  • Lumière sur
  • À faire
  • Archives
  • Commons

Modification modifier

J'ai transformée la ligne l^(k)_i <- l^(k-1)_i - a^(k-1)_ik * l^(k-1)_(k) par:

l^(k)_i <- l^(k-1)_i - a^(k-1)_ik * l^(k)_(k)

...car pour obtenir une ligne i avec 0 dans la colonne n°k, il faut soustraire la ligne qui a été préalablement divisée par le pivot lors de l'étape n°k et non n°(k-1).

pour étoffer modifier

Il est intéressant de comparer cet article à celui aussi dans Wikipéda obtenu en tapant ``Gaussian elimination dans google et de consulter la bibliographie correspondante (l'idéal est peut être de consulter la documentation qui va avec les codes FORTRAN de LAPACK) (remarque postée par Utilisateur:82.229.134.179)

conditionnement modifier

euh, ça ne vous dit rien le terme de conditionnement d'une matrice ? ça a un rapport avec la propagation des erreurs d'arrondis donc avec la stabilité.Claudeh5 (d) 6 janvier 2008 à 11:43 (CET)Répondre

oui enfin le conditionnement permet de faire des calculs d'erreur sur des opérations simples ; mais si on fait intervenir toutes les stratégies envisageables de choix des pivots... Peps (d) 6 janvier 2008 à 11:50 (CET)Répondre

Gros doutes sur le paragraphe complexité modifier

Il me semble que la complexité O(n^3) c'est pour le produit de deux matrices nxn (pour chaque cases il faut n multiplications, d'où n^3 multiplications au total). Le complexité de l'inversion de matrices est bien plus grande. D'ailleurs le lien mentionné renvoie aux méthodes de calcul de produit de matrices.

— Le message qui précède, non signé, a été déposé par 78.108.237.249 (discuter), le 2 février 2012 à 16:50

Je n'ai pas de livre sous la main, mais il me semble me souvenir que la complexité de l'inversion de matrice est la même que celle du produit de deux matrices de même taille. --Pierre de Lyon (d) 17 février 2012 à 16:00 (CET)Répondre

--Alarend (discuter) 15 septembre 2015 à 23:45 (CEST): Alors, en regardant dans le livre d'Allaire par exemple (G. Allaire, Algèbre linaire numérique) on retrouve bien une complexité en n^3/3 par exemple pour la variante LU. Pour la variante donnée ici, c'est bien en n^3. Et oui, si on sait faire un produit, on sait résoudre un système (voir par exemple le livre de Denis Serre, Matrices - Théorie et applications). Par contre, en pratique les algorithmes sont différent. Et de mémoire l'algorithme de Strassen descend aux alentours d'une puissance 2,7 mais avec une grosse constante dans le O (donc intéressant pour n très grand).Répondre

Erreur !! (à propos du rang) modifier

Je suis pratiquement sûr qu'il y a une erreur, quand il est écrit que :

Sinon n'est pas inversible, abandonner (on sait ici que le rang de la matrice est ).

Un contre-exemple : Soit la matrice . Aucune ligne ne débute par un réel non nul, donc d'après ce qui est écrit son rang vaut 1-1=0 Alors qu'il vaut 1 !! Amicalement --Yvand (d) 29 janvier 2011 à 15:07 (CET)Répondre

erreur rectifiée, merci Anne Bauval (d) 30 janvier 2011 à 20:15 (CET)Répondre

Omission involontaire ? modifier

Bonjour/bonsoir,

Étudiant actuellement les systèmes linéaires, je me suis demandé la chose suivante : l'article ne devrait-il pas préciser que l'élimination de Gauss peut aussi être utile pour résoudre des système avec un nombre d'équations et d'inconnues distincts ? Selon l'article, seuls les systèmes nxn sont résolubles. N'est-ce pas là un manque ?--Automatik (d) 12 novembre 2012 à 02:25 (CET)Répondre

TU veux dire plusieurs second membres simultanément? --Biajojo (d) 30 avril 2013 à 11:57 (CEST)Répondre

Bonjour,

il faudrait réécrire cette section, voici ce qui me semble devoir être amélioré:

  • Le rôle de la matrice augmentée n’apparaît pas explicitement dans l'algorithme
  • L'introduction des notations est maladroite (on parle de ligne de A à l'étape k, alors que A est fixée, il faudrait probablement introduire des notations pour les différentes étapes de A ou de la matrice augmentée, justement!)
  • L'algorithme est mal écrit: il faudrait probablement introduire encore d'autres notations pour signaler la permutation des lignes (si on s'en tient strictement à ce qui a été dit plus haut dans la section, le pivot n'est pas appliqué)
  • Peut-être préciser qu'il est inutile de modifier le bas des colonnes d'indice <k
  • Dire ce qui se passe au dessus de la diagonale (ou du moins ce qu'il faut faire)
  • Peut-être commencer par un algo sans pivot puis donner, après explications, une version complète pivot+permutation des inconnues et seconds membres

Bon courage! --Biajojo (d) 30 avril 2013 à 12:05 (CEST)Répondre

Déplacement de l'algorithme et questionnement général modifier

Bonjour,

J'ai déplacé l'algorithme depuis la section "Calcul de l'inverse" à sa propre section puisque c'est l'algorithme général, valide pour toutes les sections. J'aimerais bien savoir pourquoi "La méthode est présentée au moyen de dix-huit exercices." est important sur un article sur l'algorithme? Cette information (et plusieurs autres) me semble pertinente dans un article sur l'histoire des mathématiques mais constitue de l'information superflue qui entrave la nature encyclopédique de l'article et en alourdi la lecture sans ajouter d'information relative au sujet de l'article, selon moi.

--Soravux 11 février 2014 14:28 (UTC-5)

Bonjour, je n'ai pas regardé le reste de tes modifs mais pour la phrase que tu avais supprimée et que j'ai remise, elle est « selon moi » tout à fait à sa place dans le § Histoire de cet article, car elle relativise notre conception moderne de paternité du théorème et de sa démonstration. Anne (discuter) 11 février 2014 à 21:18 (CET)Répondre
Bonjour, je comprends que de citer le livre chinois soit d'une importance capitale pour la paternité du théorème et qu'il soit également intéressant que citer le commentaire du chancelier à ce sujet. Mon doute réside sur le fait d'annoncer qu'il y a dix-huit exercices présentés dans ce livre. Selon moi, ce n'explique en rien la paternité ou le concept même de l'algorithme. Notez que ce n'est que mon point de vue, si quelqu'un d'autre n'est pas d'accord, je ne tenais pas à enlever cette information; je tentais simplement d'épurer l'information pour que l'article soit utile au sujet, soit l'élimination de Gauss-Jordan à proprement parler. Le reste des modifications consiste surtout en déplacements (pourquoi l'algorithme était-il décrit dans l'inversion de matrice alors que c'est l'algorithme général?) et de la retranscription de l'algorithme depuis la version anglaise de la page, qui me semblait plus général, compréhensible et sans omettre d'étapes. Soravux 12 février 2014 00:27 (UTC-5)
L'intérêt de la précision sur les Neuf Chapitres est (si j'ai bien compris) que l'algorithme n'y est présenté « que » via des exos. Anne, 12/2, 9h28

Modification de la notation modifier

Bonjour,

J'ai modifié la notation du pseudocode pour qu'elle soit plus lisible. Elle reste essentiellement la même que celle de l'année passée. Après coup, je ne suis pas certain si la notation A_... est vraiment mieux que l_... Je laisse le soin aux futurs éditeurs le choix de la meilleure notation.

--Soravux 20 février 2014 23:30 (UTC-5)

Calcul du déterminant à partir de la réduite de Gauss modifier

Athanatophobos 16 septembre 2014.

Bonjour,

Il est dit dans l'article que le produit des pivots de la réduite donne le déterminant de la matrice.

Pour ce faire, il faut bien faire attention. Lorsque un multiple d'une ligne est ajouté (ou soustrait) à une autre, le déterminant de la nouvelle matrice obtenue est multiplié par la même occasion.

Le passage me semble ambigu sur ce point.

De plus, si on permute deux lignes, le déterminant change de signe. Bref, bref le paragraphe est à revoir.Theon (discuter) 16 novembre 2014 à 21:17 (CET)Répondre

Pseudo-code modifier

Le pseudo-code est à revoir. Il n'est valide que pour des matrices carrées inversibles, mais pour une matrice quelconque, on va tomber sur erreur, matrice singulière. On n'obtiendra pas la matrice réduite.Theon (discuter) 9 octobre 2014 à 09:45 (CEST)Répondre

Correction effectuée.Theon (discuter) 9 octobre 2014 à 18:55 (CEST)Répondre
--Alarend (discuter) 15 septembre 2015 à 23:47 (CEST)De plus le pseudo-code correspond à un choix particulier du pivot (le plus grand, ce qui est généralement bon pour le conditionnnement). Par contre ce n'est L'algorithme de Gauss. Le premier pivot non nul donnerait aussi un algorithme de Gauss. Il n'y a pas unicité. Et en plus le choix du max n'est pas toujours meilleur pour le conditionnement. C'est juste souvent le cas. Il y a un exemple dans le livre de Quateroni où ce choix ne suffit pas.Répondre
Ces questions sont évoquées dans le paragraphe Stabilité numérique qui suit le pseudo-code.Theon (discuter) 16 septembre 2015 à 10:21 (CEST)Répondre

J'ai tenté d'implémenter le pseudocode, mais j'ai une erreur de débordement sur une matrice ayant plus de colonnes que de lignes (comme une matrice destinée à résoudre un système d'équations, qui possède une colonne de plus): La valeur r finit par dépasser de la matrice vu qu'elle avance selon les colonnes mais désigne une ligne!Medinoc (discuter) 16 octobre 2018 à 16:57 (CEST)Répondre

Même si on avance selon les colonnes, il ne peut y avoir un nombre de pivots supérieur au nombre de lignes si celui-ci est inférieur au nombre de colonne. Mais si tu utilises une matrice de nombres flottants, il est probable que certains coefficients de ta matrice, censés être nuls, ne le sont numériquement pas tout à fait. Les tests tels que sont déconseillés avec les flottants et devraient être remplacés par des tests tels que par exemple, mesure qui n'est peut-être pas elle-même suffisante si la matrice est très grande et s'il y a une grande accumulation d'erreurs. D'une manière générale, le calcul du rang d'une matrice de flottants est une question complexe en raison même de l'utilisation des flottants. Theon (discuter) 17 octobre 2018 à 16:34 (CEST)Répondre
J'utilisais une marge d'erreur pour déterminer la nullité, mais peut-être trop petite (Epsilon×16). Finalement j'ai adapté l'algorithme de la version anglophone de cette page, qui ne cause pas de crash et me donne des résultats satisfaisants.213.223.65.98 (discuter) 18 octobre 2018 à 12:08 (CEST)Répondre
Revenir à la page « Élimination de Gauss-Jordan ».