IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mathématiques Discussion :

Inversion de matrice


Sujet :

Mathématiques

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    111
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 111
    Points : 142
    Points
    142
    Par défaut Inversion de matrice
    Une question toute bete: comment faire pour trouver l'inverse d'une matrice au sens mathématique du terme? Avez-vous un algo rapide et élégant?

    C'est juste par simple curiosité...
    Michaël Hooreman

  2. #2
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    comment faire pour trouver l'inverse d'une matrice au sens mathématique du terme?
    Qu'est ce que tu entendrais pas un sens non mathématiques ?

    Mais en général, en informatique, c'est rare que l'on inverse des matrices. On se retrouve plutôt à résoudre des systèmes, mais là, il existe des dizaines d'algorithmes :


    Il y a des méthodes de résolutions directs :
    - élimination de Gauss
    - Décomposition LU
    - Décomposition de Cholesky

    Des méthodes itératives :
    - méthode de Jacobi
    - méthode de relaxation de Gauss-Seidel
    - méthode du gradient et du gradient conjugué
    Je ne répondrai à aucune question technique en privé

  3. #3
    Membre éprouvé Avatar de Nemerle
    Inscrit en
    Octobre 2003
    Messages
    1 106
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 106
    Points : 1 213
    Points
    1 213
    Par défaut
    Tu colles l'identité à droite, tu pivotes pour faire passer l'identité à gauche: la matrice de droite est ton inverse.

    Perso, je trouve cette méthode TRES élégante
    Nemerle, mathématicopilier de bars, membre du triumvirat du CSTM, 3/4 centre

  4. #4
    Membre actif Avatar de ronan99999
    Inscrit en
    Juillet 2003
    Messages
    279
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Juillet 2003
    Messages : 279
    Points : 299
    Points
    299
    Par défaut
    Tu peux aussi passer par la comatrice (ou matrice des cofacteurs), qui a pour avantage de donner une formule littérale de ton inverse.

    http://fr.wikipedia.org/wiki/Comatrice
    Si tu ne te plantes pas, comment veux tu pousser?

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Points : 9 818
    Points
    9 818
    Par défaut
    Tu colles l'identité à droite, tu pivotes pour faire passer l'identité à gauche: la matrice de droite est ton inverse.

    Perso, je trouve cette méthode TRES élégante
    Si tu disposes d'un algo permettant de résoudre un système linéaire (comme un que j'ai cité précédemment).

    Alors la kieme colonne de ta matrice inverse sera la solution du système Ax = (0,0,....,1,0,....,0) où 1 est à la position k
    Je ne répondrai à aucune question technique en privé

  6. #6
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Citation Envoyé par millie
    Si tu disposes d'un algo permettant de résoudre un système linéaire (comme un que j'ai cité précédemment).

    Alors la kieme colonne de ta matrice inverse sera la solution du système Ax = (0,0,....,1,0,....,0) où 1 est à la position k
    Il y a un article sur une méthode qui permet de le faire "rapidement" : doi:10.1016/S0377-0427(00)00613-0

  7. #7
    Membre éclairé
    Inscrit en
    Juin 2005
    Messages
    644
    Détails du profil
    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2005
    Messages : 644
    Points : 754
    Points
    754
    Par défaut
    passer par la co-matrice
    effectivement, du point de vue 'littéral' j'aime bien la formulation
    1/det(M) . Transposée(co-matrice)
    mais INNUTILISABLE en pratique !!!
    ce sujet à été débattu plusieurs fois et j'avais proposé un code basé sur la méthode rappelée par "Nemerle"

    http://www.developpez.net/forums/showthread.php?t=79449

Discussions similaires

  1. comment inverser une matrice (array)
    Par bonomsoleil dans le forum C
    Réponses: 7
    Dernier message: 10/11/2006, 20h53
  2. Probleme d'inversion de matrice subtil
    Par babycrash dans le forum C
    Réponses: 2
    Dernier message: 02/08/2006, 17h41
  3. inversion de matrice?
    Par babycrash dans le forum C
    Réponses: 17
    Dernier message: 21/06/2006, 22h18
  4. Comment inverser une matrice H(2,2) ?
    Par fafa624 dans le forum Langage
    Réponses: 4
    Dernier message: 29/06/2005, 10h23
  5. Calculer un inverse de matrice avec boost?
    Par Clad3 dans le forum Bibliothèques
    Réponses: 6
    Dernier message: 02/06/2005, 18h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo