Méthode de Gauss-Seidel
Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
-
Donte
- Messages: 3
- Enregistré le: 05 Jan 2019, 09:37
-
par Donte » 05 Jan 2019, 09:46
Bonjour à tous,
Je voudrais connaitre les critères de convergence pour cette méthode itérative (Gauss-Seidel), j'ai implémenté l'algorithme sur Matlab, et il fonctionne correctement pour des exemples élémentaires (3 équations à 3 inconnus). Cependant, pour des matrices d'ordre assez élevé (378 x 378 dans mon cas), je n'arrive pas à obtenir des résultats satisfaisants. Je ne sais pas si c'est à cause de la valeur initiale que j'attribue à la solution mais mon algorithme "coince" ou donne des valeurs qui sont très loin de la solution.
Merci d'avance pour les réponses
-
aviateur
par aviateur » 05 Jan 2019, 10:13
Bonjour
Il faudrait d'abord donner ta matrice et le second membre.
Ensuite ton algorithme converge-t-il?
Maintenant que veut dire mon algorithme coince?
Ton problème vient-il d'un problème concret (issu de la physique par exemple?)
Ta matrice est-elle symétrique, à diagonale dominante, est-elle creuse?...
Avec plus de détails concernant ton problème on pourra te répondre.
Si système AX=B est connu et que les critères de convergence sont satisfaits, il faudrait voir aussi du côté de la programmation.
-
Donte
- Messages: 3
- Enregistré le: 05 Jan 2019, 09:37
-
par Donte » 05 Jan 2019, 11:19
Ma matrice est de la forme KU = f
K: matrice de rigidité [378x378]
U : matrice des déplacements [378 x 1]
f : matrice des forces [378 x 1]
Donc, oui mon problème provient initialement d'un problème en mécanique des solides résolu par la méthode des éléments finis
Quand je disais que mon algorithme était coincé : je ne sais pas si c'est parce qu'il ne converge pas ou s'il est entré dans une boucle infinie
J'espère que cette réponse vous à donner une petite idée, et je vous remercie déjà pour vos prochaines réponses
-
aviateur
par aviateur » 05 Jan 2019, 11:47
Bonjour
Mais non ça ne suffit pas. Je suppose que l'inconnue c'est U. L'important c'est la matrice K où
je n'ai aucune idée de sa forme.
Venant de la mécaniques des solides, il y a de fortes chances qu'elles soit symétrique définie positive. Mais je ne peux en dire plus pour l'instant quand à la convergence (mathématiques).
Les critères de convergences sont bien connus et tu peux les trouver sur internet.
Maintenant si tu grossis la discrétisation est ce que ton algo converge?
J'aurai pensé avoir + d'info sur K.
-
Donte
- Messages: 3
- Enregistré le: 05 Jan 2019, 09:37
-
par Donte » 05 Jan 2019, 15:42
Suite à notre discussion,
J'ai donc dû un peu creuser sur le net, et j'ai donc vérifié les propriétés de la matrice K. Elle ne remplie malheureusement pas les conditions de convergence : elle n'est pas symétrique, n'est pas définie positive, n'est pas non plus une dominante diagonale.
Peut-on donc conclure que la méthode de Gauss-Seidel n'est pas applicable pour mon cas? Ou avez-vous une autre proposition pour que je puisse l'utiliser?
Merci
-
pascal16
- Membre Légendaire
- Messages: 6663
- Enregistré le: 01 Mar 2017, 12:58
- Localisation: Angoulème : Ville de la BD et du FFA. gare TGV
-
par pascal16 » 05 Jan 2019, 17:36
vu la puissance des machines d'aujourd'hui, une inversion complète me semble possible (ou au moins une LU).
LU de base : marche si aucun pivot n'est trop petit (nul ou <10^-15)
LU+ matrice de permutation : évite les problèmes de pivot mais pas de non inversion
Et puis il y a les problèmes physique : s'il y a un élément non linéaire (saturation...), la résolution peut donner une solution en dehors des clous.
tu as un lien google drive vers ta matrice à inverser ?
[ps]
sur le site matlab sont en exemple :
500*500 en inverse direct
1000*1000 en transfomée LU et LUP
-
aviateur
par aviateur » 05 Jan 2019, 20:16
Rebonjour
De toute façon si tu as une seule équation à résoudre, j'appliquerai la méthode de Gauss.
Ou alors si tu as plusieurs systèmes mais avec la même matrice K je ferai comme dit @pascal
une factorisation PA=LU. La méthode de Gauss Seidel n'est pas adaptée à ton cas.
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 51 invités