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 :

Valeurs propres de grandes matrices


Sujet :

Mathématiques

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut Valeurs propres de grandes matrices
    Bonjour,

    Dans la cadre de l'étude des vibrations d'une particule cubique, j'utilise la méthode des matrices dynamiques.

    Ainsi, ma particule est constituée de N atomes (LxLxL atomes) avec L, le nombre d'atome sur une arrête du cube.

    Cela produit, à l'aide de la méthode des matrices dynamiques, une matrice de taille 3N x 3N. Par conséquent, la taille de la matrice augmente très vite avec la taille de la particule.

    Bien évidemment, je me heurte à un problème de mémoire dès que j'atteins des tailles de l'ordre de 20x20x20 atomes.
    Je code principalement en octave et en C++. Ma matrice dynamique est une matrice contenant de nombreux zéros (j'utilise en conséquence les sparse matrices) et elle est diagonale, ses valeurs propres sont normalement supérieures ou égales à 0 (aux erreurs d'arrondis près). Et j'ai besoin de toutes les valeurs propres. En octave, mon problème apparaît au moment d'utiliser la fonction eig().

    Connaissez-vous des méthodes permettant d'éviter la saturation de la mémoire ?

    Merci.

  2. #2
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Personne ne connaît de moyen de contourner le problème ? Changer de langage ? Autre méthode de calcul des valeurs propres ? Ou alors la méthode des matrices dynamiques est inutilisable ?

  3. #3
    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 : 83
    Localisation : Suisse

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Points : 5 179
    Points
    5 179
    Par défaut
    Salut!
    LAPack fournit probablement la meilleure solution.
    Jean-Marc Blanc
    Calcul numérique de processus industriels
    Formation, conseil, développement

    Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux)

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2013
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2013
    Messages : 5
    Points : 4
    Points
    4
    Par défaut
    Je vous remercie de votre réponse, j'ai fait quelques recherches sur LAPACK. Il se trouve que j'utilisais Armadillo qui utilise des fonctions LApack en C++.
    Cependant, j'ai des problèmes de saturation de la mémoire avec les matrices sous C de la même manière que sous octave si je n'utilise pas de matrices creuses. Et il semblerait que les sparse matrix ne fonctionnent pas encore avec Armadillo.

    J'ai essayé de voir comment directement utiliser Lapack mais il semble que ce soit une bibliothèque fortran. Savez-vous comment l'utiliser sous c++ ?

  5. #5
    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 : 45
    Localisation : Etats-Unis

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

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    Si c'est des matrices diagonales, il suffit de ne stocker QUE la diagonale.
    Pour les méthodes, tu peux regarder dans le Numerical Recipes, c'est un problème largement présenté.
    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.

  6. #6
    Membre expérimenté
    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
    Points : 1 685
    Points
    1 685
    Par défaut
    Bonsoir,
    les valeurs propres d'une matrice diagonale sont les coefficients de la diagonale.
    Il n'y a aucun calcul à faire.

Discussions similaires

  1. calcul valeurs et vecteurs propres de grande matrice
    Par celine2011 dans le forum Mathématiques
    Réponses: 21
    Dernier message: 15/03/2011, 13h48
  2. valeurs propres d'une matrice symétrique réelle
    Par afnane dans le forum Mathématiques
    Réponses: 15
    Dernier message: 18/06/2008, 16h39
  3. Vecteurs et valeurs propres d'une matrice
    Par Grodada dans le forum C++
    Réponses: 0
    Dernier message: 27/03/2008, 22h43
  4. Calcul rapide des valeurs propres d'une matrice creuse
    Par gsagnol dans le forum Mathématiques
    Réponses: 3
    Dernier message: 21/12/2007, 23h37
  5. valeurs propres d'une matrice et vecteurs propres
    Par la_fantomas dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 01/05/2005, 15h35

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