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 :

inverser matrice, complexité


Sujet :

Mathématiques

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Par défaut inverser matrice, complexité
    Salut,

    je n'arrive pas a trouver la complexité des différents algorithmes pour inverser une matrice. J'aimerais pouvoir inverser une grosse matrice (N = nx*ny = 10^6 éléments environ) mais la plupart des coefficients sont nuls (c'est a peu près une tridiagonale).

    notamment quelle est la complexité de la méthode LU ? Cholesky ?


    merci

  2. #2
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Par défaut
    Bonsoir,

    un petit coup d'oeil sur l'incontournable numerical recipse devrait t'apporter toutes les réponses que tu souhaites.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  3. #3
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Par défaut
    Citation Envoyé par ToTo13 Voir le message
    Bonsoir,

    un petit coup d'oeil sur l'incontournable numerical recipse devrait t'apporter toutes les réponses que tu souhaites.
    Ouais, j'aimerais bien pouvoir lire leur pdf... mais impossible.

  4. #4
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Quelques questions sur ce qu'est en réalité ton problème:
    1. Es-tu bien sur que tu dois inverser ta matrice? Si c'est pour résoudre un système linéaire, ce n'est surtout pas comme ça qu'il faut s'y prendre.
    2. Ta matrice est-elle symétrique, et si oui, est-elle définie positive? Ou autrement dit, d'où vient-elle?
    3. Quel langage utilises-tu?
    4. Quand tu connaitras la complexité des différents algorithmes, que penses-tu en faire?


    Si j'ai la réponse à ces questions, je pourrai certainement t'aider.

    Jean-Marc Blanc

  5. #5
    Membre confirmé
    Homme Profil pro
    Collégien
    Inscrit en
    Mars 2003
    Messages
    192
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Afghanistan

    Informations professionnelles :
    Activité : Collégien

    Informations forums :
    Inscription : Mars 2003
    Messages : 192
    Par défaut
    Citation Envoyé par FR119492 Voir le message
    Quelques questions sur ce qu'est en réalité ton problème:
    1. Es-tu bien sur que tu dois inverser ta matrice? Si c'est pour résoudre un système linéaire, ce n'est surtout pas comme ça qu'il faut s'y prendre.
    2. Ta matrice est-elle symétrique, et si oui, est-elle définie positive? Ou autrement dit, d'où vient-elle?
    3. Quel langage utilises-tu?
    4. Quand tu connaitras la complexité des différents algorithmes, que penses-tu en faire?
    Salut,

    Je cherche a déterminer une méthode me permettant de résoudre le probleme S = (1-laplacien)B ou je connais S et je cherche B, S et B sont non périodiques sur mon domaine.

    J'ai pensé a fourier (cf mon autre topic)... mais probleme avec la non périodicité.

    J'ai pensé aux différences finies. N'est-il pas vrai que mon opérateur est en fait une matrice 'simple' qu'il suffit d'inverser pour intégrer le probleme ?

    je bosse en C

  6. #6
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut !

    Je ne suis pas sur de bien comprendre ton équation
    S = (1-laplacien)B
    Est-elle équivalente à
    B - laplacien(B) = S
    Si oui, et en supposant que ton domaine est un rectangle dans le plan et que tu connais ou que tu peux calculer
    • S en tout point de ton domaine;
    • Ben tout point de sa périphérie.

    je te recommande la méthode des différences finies:

    Tu appliques une grille de pas h sur ton domaine. Soit i le numéro de la rangée sur laquelle se trouve un noeud et j le numéro du noeud sur la rangée. Sur le noeud i,j, ton équation devient
    B(i,j)+(4*B(i,j)-B(i-1,j)-B(i+1,j)-B(i,j-1)-B(i,j+1))/h^2=S(i,j)
    En rassemblant toutes les équations de ce type, tu obtiens un système dont la matrice est de la forme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    x x       x
    x x x       x
      x x x       x
        x x x       x
          x x         x
    x         x x       x
      x       x x x       x
        x       x x x       x
          x       x x x       x
            x       x x         x
              x         x x
                x       x x x
                  x       x x x
                    x       x x x
                      x       x x
    Cette matrice est symétrique et définie positive, ce qui permettrait en principe d'utiliser la méthode de Cholesky. En outre, elle est très creuse: on constate qu'elle est tridiagonale par blocs; les blocs diagonaux sont eux-mêmes tridiagonaux et les blocs codiagonaux sont diagonaux. Il serait stupide de ne pas tirer parti de propriétés aussi avantageuses.

    De toute manière, l'inversion de la matrice est à proscrire absolument: La matrice inverse est pleine!.

    Pour ton problème, je te suggère plutôt d'utiliser la méthode de Gauss-Seidel.

    Jean-Marc Blanc

Discussions similaires

  1. Inversion matrice 6X6 complex rapide
    Par pdufranc dans le forum Fortran
    Réponses: 3
    Dernier message: 20/04/2015, 10h53
  2. Probleme Inversion matrice avec Eigen
    Par med.doc dans le forum C++
    Réponses: 7
    Dernier message: 18/09/2013, 13h36
  3. Inversion matrice langage C
    Par PasdeBoogie dans le forum C
    Réponses: 3
    Dernier message: 26/05/2013, 17h31
  4. Inversion matrice bande (et non pas "résolution")
    Par mathieu1 dans le forum Fortran
    Réponses: 10
    Dernier message: 15/04/2010, 09h38
  5. [E-07] inverse matrice - matrice non inversible - gestion d'erreur
    Par Lnmex dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/12/2008, 23h51

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