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

Algorithmes et structures de données Discussion :

Echelonner une matrice


Sujet :

Algorithmes et structures de données

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 14
    Points : 11
    Points
    11
    Par défaut Echelonner une matrice
    Bonjour.

    Voilà, étudiant en deug d'info, pour les besoins d'un projet réalisé en C il faut que j'arrive à échelonner une matrice (de taille 25x25 pour préciser mais sans importance).
    Seulement j'ai pas vraiment compris comment fonctionne l'échelonnage d'une matrice mathématiquement parlant, et du coup je suis incapable de faire mon algo, j'ai bien essayé des trucs mais en vain.

    Alors je fais appel à une âme charitable qui pourrait m'expliquer clairement comment ça fonctionne et comment je dois m'y prendre pour mon algo

    Merci d'avance. =)

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Une matrice échelonnée (si je me souviens bien) est une matrice dont la première ligne totalement nulle n'est suivie que par des lignes totalement nulles et donc les premiers éléments non nuls d'une ligne ont un indice de colonnes supérieures à l'indice de colonne du premier élément non nul de la ligne précédente (ouf, j'y suis arrivé). A vérifier.

    L'idée générale est donc de provoquer l'annulation forcée du premier élément non nul de chaque ligne(sauf celui de la première ligne) en faisant des combinaisons linéaires des lignes

    exemple:

    si a11!=0 on laisse L(igne1) inchangée

    a11L2-a21L1 pour la deuxième ligne

    a11L3-a31L1 pour la troisième ligne etc

    Au bout de la manip on doit se retrouver avec un premier coefficient de deuxième ligne nul et donc le premier coefficient de la ligne deux non nul devient a22 et satisfait la définition.

    On a une matrice telle que ai1 =0 V(quelque soit) i !=1

    On continue: maintenant c'est le premier élément non nul de la seconde ligne qui nous intéresse et on veut éliminer les coefficients de la même colonne sur les lignes inférieures.

    a22L1-a12L2
    L2 reste inchangée
    a22L3-a32L2 etc

    manip qui va éliminer tous les coefficients de la colonne 2 sauf a22

    on continue jusqu'à la dernière.

    Il faut prévoir les cas où le premier élément d'une ligne est nul, à ce moment là inverser cette ligne avec la suivante tant que le coefficient est nul.

    Un calcul de pgcd est une première amélioration pour éviter des multiplications intempestives entre les coefficients.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    En fait, on aboutit à une diagonalisation.

    L'adaptation ne devrait pas poser de problèmes.

  4. #4
    Futur Membre du Club
    Inscrit en
    Décembre 2004
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    on aboutit a une triangularisation je doit dire, c pas une diagonalisation

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 26
    Points : 25
    Points
    25
    Par défaut
    Absolument vrai.

    Mais la démarche est la même, cela dit pour les lignes du dessus.

    En fait, j'avais en tête matrice associées etc...

Discussions similaires

  1. référencement sur une matrice
    Par bni dans le forum C++
    Réponses: 3
    Dernier message: 24/03/2005, 00h06
  2. [PL/SQL] définir une matrice
    Par lalystar dans le forum Oracle
    Réponses: 5
    Dernier message: 22/02/2005, 15h27
  3. [JTable] remplir avec une matrice
    Par ybdz dans le forum Composants
    Réponses: 3
    Dernier message: 08/12/2004, 21h03
  4. Recherche des coefficients d'une matrice 3x3
    Par colorid dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 25/11/2004, 16h52
  5. Déclarer une matrice
    Par joy dans le forum C
    Réponses: 7
    Dernier message: 09/12/2002, 00h42

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