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

C++ Discussion :

inverse d'une matrice


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut inverse d'une matrice
    Bonjour,
    je cherche à trouver l'inverse d'une matrice de taille quelconque (généralement carrée) , je cherche un algorithme ou bien des fonctions en C++ permettant ce calcul.
    S'il ya plusieurs alg quelle est la différence entre eux? comment choisir le meilleur?
    Merci d'avance

  2. #2
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonjour,

    il est très rare de devoir calculer l'inverse d'une matrice. Dans quel but souhaites-tu le faire?

  3. #3
    Membre expérimenté Avatar de ZnhaarX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Par défaut
    Citation Envoyé par Aleph69 Voir le message
    il est très rare de devoir calculer l'inverse d'une matrice.
    Gné ?
    Le nombre de fois où j'ai du calculer l'inverse du matrice en mathsup/mathspé et en école d'ingénieur avec l'utilisation des matrices jacobiennes et autres rende ton propos un peu sournois vis à vis de mes yeux

    Quoiqu'il en soit.
    Le pivot de Gauss est une bonne solution pour des dimensions petites, mais relativement chiante d'une part et pas vraiment optimisé d'autre part.
    Tu as aussi la méthode par les co-facteurs (ma préférée à faire à la main pour des matrices de dimension 4x4 max).

    Et tu as aussi la méthode de Jacobi (avec itérations):
    http://pagerank.suchmaschinen-doktor...inversion.html

    Tu as l’embarra du choix

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Merci pour la réponse,
    je cherche à trouver l'inverse mais pour un n quelconque et une complexité plus au moins résonable
    Merci d'avance

  5. #5
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par défaut
    Citation Envoyé par ZnhaarX Voir le message
    Gné ?
    Le nombre de fois où j'ai du calculer l'inverse du matrice en mathsup/mathspé et en école d'ingénieur avec l'utilisation des matrices jacobiennes et autres rende ton propos un peu sournois vis à vis de mes yeux
    90% du temps, tu ne veux pas l'inverse, tu veux la resolution de AX = B

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Jette un œil dans Numerical Recipes.

  7. #7
    Membre Expert
    Homme Profil pro
    Chercheur
    Inscrit en
    Mars 2010
    Messages
    1 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 218
    Par défaut
    Bonjour,

    tu peux oublier toutes les formules faisant intervenir le déterminant de ta matrice.

    Les cas où le calcul de l'inverse d'une matrice sont extrêmement rares. Comme l'écrit Joel F, dans 90% des cas, l'inverse de la matrice est multipliée par un ou plusieurs vecteurs et on se ramène à la résolution d'un système linéaire, ce qui est bien moins coûteux. Si tu es dans le cas peu probable où tu n'as aucun système linéaire à résoudre, il reste encore à savoir si tu as besoin de calculer entièrement l'inverse de ta matrice ou de déterminer quelques coefficients seulement.

  8. #8
    Membre expérimenté Avatar de ZnhaarX
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2011
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 146
    Par défaut
    Citation Envoyé par Joel F Voir le message
    90% du temps, tu ne veux pas l'inverse, tu veux la resolution de AX = B
    Tout à fait d'accord avec toi (cf. mon lien au dessus sur les itérations de Jacobi)
    Mais je rebondissais juste sur le "très rare"
    Quoiqu'il en soit pour des petites dimensions l'utilisation de matrice inverse peut-être une solution (moi j'aime bien la transposée de la comatrice sur le déterminant, ça fait pédant ).

    En passant, ma bible :
    http://apps.nrbook.com/c/index.html (ou) http://www.nrbook.com/a/bookcpdf.php
    (cf. Chapitre 2)

    [edit] Fichtre le temps de partir quelque minutes discuter avec le chef, on avait déjà posté les Numerical Recipe... Bref, très bon à lire

  9. #9
    Membre éprouvé
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 122
    Par défaut
    Citation Envoyé par 3aychoucha Voir le message
    je cherche à trouver l'inverse d'une matrice de taille quelconque (généralement carrée)
    Citation Envoyé par Aleph69 Voir le message
    il est très rare de devoir calculer l'inverse d'une matrice.
    Et encore plus rare d'inverser une matrice qui ne soit pas carrée...

    Sinon, tu as toujours la bonne vieille méthode du pivot (Gauss-Jordan) mais c'est lourd et impraticable si ta matrice est trop grande.

    Comme le dit Aleph69, cela dépend de ce que tu cherches à faire avec ton inverse...

  10. #10
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2010
    Messages
    382
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2010
    Messages : 382
    Par défaut
    Bonjour,
    surement pas pour le plaisir!!!!!!!
    j'en ai besoin pour faire un certains calcul numérique
    (Gauss-Jordan)est pratique pour une matrice qui ne dépasse pas 3x3
    Mais je veux une méthode qui sera élégante et pratique
    Merci d'avance

Discussions similaires

  1. Réponses: 3
    Dernier message: 21/09/2007, 16h28
  2. Inverse d'une matrice
    Par tralf dans le forum C
    Réponses: 11
    Dernier message: 11/04/2007, 17h00
  3. Inversion d'une matrice carrée d'ordre
    Par rassol3 dans le forum C
    Réponses: 2
    Dernier message: 01/12/2006, 09h40
  4. inversion d'une matrice, probleme algebrique
    Par le_voisin dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 11/09/2006, 18h39
  5. Réponses: 8
    Dernier message: 07/09/2006, 09h08

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