Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Inverser une matrice pour un programme




  1. #1
    gwenc_hlan

    Red face Inverser une matrice pour un programme

    bonjour, je cherche un algorythme simple me permetant d'inverser une matrice. car, inverser une matrice comme ça, à la main, je le fait, mais là, c'est pour l'intégrer à un programme (en C++ ou python, je ne sais pas encore).

    certaines personnes m'ont bien conseillé d'utiliser l'algorythme LU , mais comme je suis une m**** en maths (bé oui, je suis chimiste, ou plutot, materialiste ! ), tout ce que j'ai pu trouver sur internet ne m'a pas aidé à comprendre comment faire fonctionner cette chose.

    y aurait-il une bonne et généreuse ame pour m'aider ?

    ps : c'est pour faire un programme de mécanique des stratifiés (tout à fait logique pour un chimiste me direz-vous) donc j'ai besoins d'inverser des matrice 3x3 mais aussi des 12x12 ou plus encore.

    -----


  2. Publicité
  3. #2
    Calvert

    Re : inverser une matrice pour un programme

    Salut!

    Il y a plusieurs algorithmes qui inversent des matrices (si ta matrice a une certaine forme, il est parfois plus avantageux d'utiliser un tel plutôt qu'un autre). Je te suggère de trouver un livre:

    "Numerical recipes", Press et al, éditions Cambridge

    qui contient tout ce que tu veux au sujet des algorithmes numériques (notamment l'inversion des matrices). La dernière édition (la troisième) contient même des bouts de code C++ "tout fait" que tu peux réutiliser tels quels.

  4. #3
    gwenc_hlan

    Re : inverser une matrice pour un programme

    interessant ... mais en anglais .

    décidemment, moi qui aime bien lire en français, j'ai mal choisi ma voie.

    mais bon, je vais quand meme essayer de me faire violence et de me procurer cet ouvrage.

    mais pour mes matrices, le plus souvent, elles sont carrées. c'est leur unique particularité. il m'arrive d'utiliser des tenseurs (forcemment, en méca, c'est plus pratique), mais mes matrices sont souvent carrées et dans ce carrée, quelconques pour ne pas dire n'importe comment.


  5. #4
    Calvert

    Re : Inverser une matrice pour un programme

    interessant ... mais en anglais .

    décidemment, moi qui aime bien lire en français, j'ai mal choisi ma voie.
    Navré, mais je n'ai pas de référence francophone en tête.

    mais bon, je vais quand meme essayer de me faire violence et de me procurer cet ouvrage.
    Il est assez cher, donc, si c'est "juste" pour trouver un algorithme, tu ne devrais pas avoir de problèmes pour le trouver en bibliothèque (universitaire).

  6. #5
    jobherzt

    Re : Inverser une matrice pour un programme

    Suivant ton objectif (apprendre l'algorithme ou seulement l'utiliser), sache qu'il existe quand meme quelques librairies C++ toute faite qui permette de manipuler et entre autre d'inverser simplement des matrice.

    A part ca, nul besoin d'acheter un bouquin, ce genre d'algo se trouve sur le net. Pour la decomposition LU, reflexe WIKI : http://fr.wikipedia.org/wiki/D%C3%A9composition_LU

    note que tu as un algorithme qui est donné vers la fin. Reste plus qu'a traduire en C++

    Dis toi quassi qu'avant tout ca il va falloir ecrire une petite classe matrice avec les operations de bases... ca demande un petit peu de boulot !

  7. A voir en vidéo sur Futura
  8. #6
    jobherzt

    Re : Inverser une matrice pour un programme

    Ah, et quand meme un exemple de librarie : http://www.gnu.org/software/gsl/ (libre, gratuite, toussa).

    mais il y en a un paquet d'autre...

  9. #7
    alebot

    Re : Inverser une matrice pour un programme

    Bonjour,

    J'arrive peut-être un peu tard, mais bon. Autant que je sache, le standard en matière de bibliothèque d'algèbre linéaire s'appelle Lapack,
    http://www.netlib.org/lapack/
    C'est un code très stable (pas bougé depuis 1974 pour la partie Fortran) disponible pour plusieurs langages et en général distribué avec lec compilateurs. Il sert même de référence pour évaluer la puissance des calculateurs (test Lapack1000x1000). C'est ce code qui est utilisé dans les autres bibliothèques comme Nag, IMSL et même dans les langages comme Matlab. Alors, il ne faut pas s'en priver.

    Bonne journée

  10. Publicité
  11. #8
    gwenc_hlan

    Re : Inverser une matrice pour un programme

    ok ok. merci pour toutes ces info. je vais tenter de voir pour les bibliothèques, mais par simple fierté personnelle je vais tenter d'écrire un algorithme

    on verra ce que ça donnera...

  12. #9
    abdou1987

    Re : Inverser une matrice pour un programme

    merci d'avance qui peut m"aider ;je veut un programme en c/c++ ;pour calculer inverse de matrice

Sur le même thème :

Discussions similaires

  1. Inverser facilement une matrice avec des nombres complexes
    Par H0bb3s dans le forum Mathématiques du supérieur
    Réponses: 8
    Dernier message: 27/10/2008, 23h04
  2. Méthode pour trigonaliser une matrice
    Par dj_titeuf dans le forum Mathématiques du supérieur
    Réponses: 3
    Dernier message: 18/12/2007, 14h59
  3. programme en c affichant une matrice
    Par joulnare18 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 22/04/2007, 02h24
  4. Inverser une fonction
    Par Mataka dans le forum Mathématiques du supérieur
    Réponses: 2
    Dernier message: 23/01/2007, 02h21
  5. programme pour pic16f84 pour une centrale d'alarme
    Par yacen dans le forum Électronique
    Réponses: 3
    Dernier message: 25/01/2005, 10h06