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

Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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

Re: Méthode de Gauss-Seidel

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.

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 51 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite