Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?



  1. #1
    invite8b2a7796

    Question Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?


    ------

    Bonjour à tous,

    Tout d'abord, merci d'avance pour l'aide que vous apporterez à ce sujet.
    Je cherche à écrire un programme calculant les 3 valeurs propres d'une matrice 3x3, symétrique, de nombres complexes non-nuls.
    (NB : J'ai posé le problème sur papier et ait joint ma démonstration dans les deux premières images jointes au sujet)

    Pour rappel : Les valeurs propres Lambda[i] (i allant de 1 à n) d'une matrice A[n x n] sont définies comme les solutions de l'équation : det(A-Lambda*I)=0, où I est la matrice identité, de dimension [n x n].
    Il existe plusieurs méthodes pour résoudre cette équation. J'ai choisi d'utiliser la méthode du pivot de Gauss (source: http://https://fr.wikipedia.org/wiki...pivot_de_Gauss) qui, selon moi, fait apparaître clairement les trois Lambda[i] sur la diagonale de la matrice triangulaire supérieure formée (que l'on notera dès lors "At").
    En effet, le déterminant d'une matrice triangulaire supérieure est égal au produit des termes de sa diagonale (appliquer la règle de Sarrus http://http://bibmath.net/dico/index.../s/sarrus.html).
    Et puisque le déterminant d'une matrice triangulaire supérieure est le produit de ses termes diagonaux, alors, si on pose det(At)=0:
    - ou bien le premier terme diagonal At[1,1] =0
    - ou bien le deuxième terme diagonal At[2,2] =0
    - ou bien le troisième terme diagonal At[3,3] =0

    J'ai donc posé le problème de la façon présentée dans les images attachées au message actuel (voir images 1 et 2 ci-dessous).
    EigenValues1.jpg
    EigenValues2.jpg

    Codant sous OpenModelica, j'ai la possibilité d'écrire directement des équations qui seront résolues par le solveur d'OpenModelica.
    Je teste mon programme sur une matrice A, telle que définie dans le programme (voir l'image ci-dessous).

    CodeModelicaEigenValues.PNG


    J'utilise la fonction eig() de Matlab comme référence pour tester mon programme et j'obtiens les résultats suivants:

    Resultats.PNG

    Le problème, c'est que seule la valeur de mon Lambda3, calculée à partir de l'équation 4.3 (voir les 2 premières images) est correcte (par rapport aux résultats de la fonction eig() sous Matlab)...
    Et je ne comprends pas du tout pourquoi.

    Peut-être aurez-vous plus de recul: avez-vous une idée de ce qui est faux dans mon raisonnement?

    D'avance, merci pour votre aide

    EnRgeticien

    -----

  2. #2
    jacknicklaus

    Re : Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?

    Ta méthode de pivot est erronée. Tu trouves que (A11-lambda) est facteur du déterminant. Par symétries de la méthode, tu devrais donc aussi avoir (A22-lambda) et (A33-lambda) et donc les 3 valeurs propres seraient la diagonale de la matrice. tu vois que quelque chose cloche...

    En réalité, tu maltraites les coefficients sans grande rigueur. je recommande de procéder ainsi, en faisant apparaître des 1 et -1 en appliquant la multilinéarité du déterminant :
    (attention, je suppose les coefs Aij non nuls)
    Code:
    | A11-L      A12       A13    |
    | A21        A22-L     A23    |
    | A31        A32       A33-L  |
    = 
             | A11-L        A12             A13        |
    -A31xA21 | -1           -(A22-L)/A21   -A23/A21    |
             | 1            A32/A31        (A33-L)/A31 |
    
    on peut additionner deux lignes sans changer le déterminant
    =
             | A11-L     A12                       A13                  |
    -A31xA21 | 0         A32/A31 - (A22-L)/A21    (A33-L)/A31 - A23/A21 |
             | 1         A32/A31                  (A33-L)/A31           |
    etc..
    tu vois que ca va changer ton résultat ...


    mais comme tu écris du code généraliste, plutôt que t'embêter à traiter Gauss et ses cas particuliers de coefficients à zéro qui vont te compliquer la vie, tu as plus vite et plus sûrement fait de prendre une formule toute faite de déterminant 3x3: http://www.bibmath.net/dico/index.ph.../s/sarrus.html
    There are more things in heaven and earth, Horatio, Than are dreamt of in your philosophy.

  3. #3
    invite8b2a7796

    Re : Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?

    Bonjour jackniclaus,


    En fait, je ne cherche pas à calculer le déterminant mais à trouve les valeurs propres d'une matrice. Sinon, en effet, j'aurais directement pu appliquer Sarrus et laisser Modelica faire le travail. Le problème, c'est que Modelica se contente de résoudre l'équation, pas de trouver chacune des solutions existantes. Il ne retournera donc qu'une seule des 3 valeurs propres. Je pensais qu'en utilisant la méthode du pivot de gauss, les 3 valeurs propres apparaitraient plus clairement, sur la diagonale, mais mon approche est erronée, comme tu me l'as d'ailleurs fait remarquer.

    Merci pour ta réponse donc, je vais étudier ta piste et te tiendrai au courant de ce que ça donne.

    A+!

    EnRgeticien

  4. #4
    invite8b2a7796

    Re : Valeurs propres: Methode du pivot de Gauss pour calcul du determinant?

    Voilà ce que j'ai fait:
    EigenValues3.jpg
    EigenValues4.jpg
    EigenValues5.jpg.
    Cela me donne 4 produits du coup... Je pense que je devrais plutôt tout développer, cela devrait me donner un polynôme de degré 3, puis trouver les racines de ce polynôme... Mais ce n'est pas ce que je recherche car je ne sais pas comment trouver les racines d'un polynôme de degré 3 d'un point de vue algorithmique.

  5. A voir en vidéo sur Futura

Discussions similaires

  1. déterminant et valeurs propres d'une matrice
    Par invite9def21c7 dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 20/06/2017, 19h30
  2. Méthode du pivot de gauss
    Par inviteaca2c26b dans le forum Mathématiques du supérieur
    Réponses: 0
    Dernier message: 24/01/2014, 16h37
  3. méthode pour calculer les valeurs propres d'une matrice
    Par invite5ddd006f dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 02/05/2011, 20h03
  4. Méthode du Pivot de Gauss
    Par invitec32544c9 dans le forum Mathématiques du collège et du lycée
    Réponses: 7
    Dernier message: 02/01/2010, 16h07
  5. déterminant et valeurs propres
    Par invitee75a2d43 dans le forum Mathématiques du supérieur
    Réponses: 11
    Dernier message: 24/05/2007, 13h23