Inversion de matrices

Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

Inversion de matrices

par Dlzlogic » 01 Jan 2013, 15:11

Bonjour,
Ceux qui me connaissent savent que je n'ai jamais utilisé le calcul matriciel, mes questions ne les étonneront donc pas.
Tout d'abord, une question ou un étonnement : où, c'est à dire des exemples, pourrait-on trouver des cas d'utilisation ? La résolution d'un système linéaire n'est pas un bon exemple. Le calcul de la fonction inverse de transformation 3D, non plus.

Je cherche une méthode de calcul. J'ai bien trouvé la méthode des cofacteurs, mais c'est une méthode itérative qui semble déconseillée au delà d'une dimension 3.
Je viens de voir la méthode de Schur que je m’apprête à étudier.

Si quelqu'un a une idée ou une piste de recherche, je suis preneur. (pas sérieux s'abstenir).
Merci d'avance.

Question complémentaire : est-il vrai de dire que le terme (i,j) de l'inverse de la matrice est égal au déterminant de la transposé en supprimant la ligne i et la colonne j, compte tenu de l'alternance des signes ?



Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 01 Jan 2013, 19:52

S'il vous plait, quelqu'un pourrait-il me donner un exemple de matrice 5x5 et son inverse, pour contrôle.
J'ai rien trouvé sur le net.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 01 Jan 2013, 20:38

1)
soit M la matrice.
soit M^-1 son inverse.
alors on a M*M^-1 = I et M^-1*M=I
avec I la matrice identité.

2) tu peux installer octave ou matlab qui peuvent calculer l'inverse à titre de comparaison
la vie est une fête :)

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 01 Jan 2013, 20:47

Ok, d'accord je vais le faire.
Merci.

Joker62
Membre Transcendant
Messages: 5028
Enregistré le: 24 Déc 2006, 20:29

par Joker62 » 01 Jan 2013, 22:25

Moi pour calculer la matrice inverse je trouve son polynôme caractéristique

P(X) = X^n + ... + a1*X + a0

On a donc A^n + ... a1*A = -a0*In

C'est à dire A*(1/(-a0))(A^(n-1) + ... + a1) = In

et l'inverse se lit directement à droite de A

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 01 Jan 2013, 22:43

@ joker,
Mon problème est le suivant : on m'a demandé de faire un module informatique dont l'une des étapes est de calculer une matrice inverse. J'avoue que je je ne comprends absolument pas la relation logique entre les données, sous forme de tableau 5x5 (dans le cas présent), appelé matrice, et l'utilisation de l'inverse de la matrice.
Pour faire le module, je n'ai pas forcément besoin de comprendre le calcul, mais je dois m'assurer que le résultat est bon.
Donc, après de nombreuses lectures j'ai fini par mettre au point le calcul nécessaire, et je cherche des exemples pour m'assurer que le résultat est bon.
Par ailleurs, je conforme que je ne comprends pas cette notion d'inversion de matrice, sauf naturellement que ça doit être la matrice représentative de la fonction inverse.
En d'autres termes, j'ai 2 questions
1- que représente une matrice inverse (à part ce que j'ai dit)
2- comment m'assurer que mon calcul est bon.
Pardon, mais ta méthode, j'y comprends rien. Mon seul souci, c'est faire un module qui fonctionne.
J'avoue absolument mon incompétence.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5475
Enregistré le: 27 Nov 2007, 16:25

par leon1789 » 01 Jan 2013, 23:01

Joker62 a écrit:Moi pour calculer la matrice inverse je trouve son polynôme caractéristique

P(X) = X^n + ... + a1*X + a0

On a donc A^n + ... a1*A = -a0*In

C'est à dire A*(1/(-a0))(A^(n-1) + ... + a1) = In

et l'inverse se lit directement à droite de A

Il me semble que c'est bien coûteux de calculer le polynôme caractéristique uniquement pour avoir l'inverse...

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 01 Jan 2013, 23:04

Bonsoir Léon,
Puisque tu interviens, moi j'arrête de participer.
Tant pis pour moi. :cry:

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5475
Enregistré le: 27 Nov 2007, 16:25

par leon1789 » 01 Jan 2013, 23:09

:ptdr: :mur:

Joker62
Membre Transcendant
Messages: 5028
Enregistré le: 24 Déc 2006, 20:29

par Joker62 » 02 Jan 2013, 00:23

C'est vrai que c'est plus long !
Puis y'a les puissances aussi !

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5475
Enregistré le: 27 Nov 2007, 16:25

par leon1789 » 02 Jan 2013, 01:06

Joker62 a écrit:Puis y'a les puissances aussi !

Il y a peut-être moyen d'adapter la méthode de Leverrier (calcul le polynôme caractéristique sur les corps contenant Q) pour le calcul de l'inverse de la matrice (supposée inversible) en calculant simultanément ses puissances...

Mais bon, je ne pense pas que cela sera plus efficace (en temps et en stabilité) que les méthodes classique d'analyse numérique.

Avatar de l’utilisateur
leon1789
Membre Transcendant
Messages: 5475
Enregistré le: 27 Nov 2007, 16:25

par leon1789 » 02 Jan 2013, 01:13

Joker62 a écrit:Puis y'a les puissances aussi !

Il y a peut-être moyen d'adapter la méthode de Leverrier (calcul le polynôme caractéristique sur les corps contenant Q) pour le calcul de l'inverse de la matrice (supposée inversible) en calculant simultanément ses puissances...

Mais bon, je ne pense pas que cela sera plus efficace (en temps et en stabilité) que les méthodes classique d'analyse numérique.

Kikoo <3 Bieber
Membre Transcendant
Messages: 3814
Enregistré le: 28 Avr 2012, 10:29

par Kikoo <3 Bieber » 02 Jan 2013, 01:19

Dlzlogic a écrit:Bonsoir Léon,
Puisque tu interviens, moi j'arrête de participer.
Tant pis pour moi. :cry:

T'es sérieux ?? :D

Trop mimignon !!

Joker62
Membre Transcendant
Messages: 5028
Enregistré le: 24 Déc 2006, 20:29

par Joker62 » 02 Jan 2013, 02:21

Pour les valeurs propres y'a bien la méthode QR mais je ne sais pas trop ce qu'elle vaut !

En lisant : http://cedric.pradalier.free.fr/algonu/index.html

On voit que ça a mis 2h pour une matrice 25*25 !!

C'est quelque chose :D

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 02 Jan 2013, 13:42

Kikoo <3 Bieber a écrit:T'es sérieux ?? :D

Trop mimignon !!

Ben oui, je sais que je suis nul en math, et je déteste qu'on me le dise, je sais que je ne suis jamais de mauvaise foi, j'en suis incapable, et le ne peux pas accepter qu'on m'accuse de cela.
Concernant ce que je ne saurai pas c'est la réponse aux 2 questions que j'ai posées à Joker.

Avatar de l’utilisateur
fatal_error
Modérateur
Messages: 6610
Enregistré le: 22 Nov 2007, 13:00

par fatal_error » 02 Jan 2013, 14:44

On voit que ça a mis 2h pour une matrice 25*25 !!

ca doit etre un de ces dinosaures de la 2nd gm
la vie est une fête :)

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 04:41

par Mathusalem » 02 Jan 2013, 16:06

Dlzlogic a écrit:Ben oui, je sais que je suis nul en math, et je déteste qu'on me le dise, je sais que je ne suis jamais de mauvaise foi, j'en suis incapable, et le ne peux pas accepter qu'on m'accuse de cela.
Concernant ce que je ne saurai pas c'est la réponse aux 2 questions que j'ai posées à Joker.



L'inverse d'une matrice peut représenter bien des choses selon ce que la matrice représente.

Par exemple, en 3D, tu peux représenter une rotation autour de l'axe z d'un angle
par




où implicitement tu prends la base e_x e_y e_z pour représenter un vecteur.

Tu peux te convaincre que si tu prends un vecteur dans R3 et tu lui appliques la matrice à gauche, tu auras bien effectué une rotation de degrés autour de l'axe z.

La matrice inverse de , après calcul, sera la matrice . Ceci se comprend bien. La matrice inverse est celle qui te fait revenir à l'identité . Tu appliques une rotation de puis une rotation , tu reviens sur place, i.e c'est comme si tu n'avais rien fait, ou comme si tu avais appliqué l'identité au vecteur.


Etc.

Pour vérifier tes calculs, regarde cet exemple sur wolframalpha :

[url]http://www.wolframalpha.com/input/?i=invert+{{1%2C1%2C1}%2C{1%2C0%2C3}%2C{2%2C2%2C4}}[/url]

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 02 Jan 2013, 16:45

Mathusalem a écrit:L'inverse d'une matrice peut représenter bien des choses selon ce que la matrice représente.

Par exemple, en 3D, tu peux représenter une rotation autour de l'axe z d'un angle
par




où implicitement tu prends la base e_x e_y e_z pour représenter un vecteur.

Tu peux te convaincre que si tu prends un vecteur dans R3 et tu lui appliques la matrice à gauche, tu auras bien effectué une rotation de degrés autour de l'axe z.

La matrice inverse de , après calcul, sera la matrice . Ceci se comprend bien. La matrice inverse est celle qui te fait revenir à l'identité . Tu appliques une rotation de puis une rotation , tu reviens sur place, i.e c'est comme si tu n'avais rien fait, ou comme si tu avais appliqué l'identité au vecteur.


Etc.

Pour vérifier tes calculs, regarde cet exemple sur wolframalpha :

[url]http://www.wolframalpha.com/input/?i=invert+{{1%2C1%2C1}%2C{1%2C0%2C3}%2C{2%2C2%2C4}}[/url]

Merci, tu es entrain de m'expliquer ce qu'est une application inverse. Ca, malgré ma nullité, il y a tout de même plusieurs décennies que je le sais.
Pour moi, la "formule" générale de transformation en 3D s'écrit
X=TX + XX.x + XY.y + XZ.z
Y=TY + YX.x + YY.y + YZ.z
Y=TZ + ZX.x + ZY.y + ZZ.z
où TX, TY, TZ sont les composantes de translation et XX,XY,XZ, ...,ZZ sont les composantes de la transformation affine qui est la composée d'une rotation, d'une homothétie et d'une affinité.
Après relecture de ce que je cherche à faire, il semble bien que ce n'est qu'une résolution de système linéaire. Pourquoi se compliquer la vie à inverser une matrice, ce n'est qu'un système linéaire à résoudre, mais au moins, je sais maintenant inverser une matrice.

Mathusalem
Membre Irrationnel
Messages: 1837
Enregistré le: 14 Sep 2008, 04:41

par Mathusalem » 03 Jan 2013, 20:30

Ta formule générale d'une transformation 3D, tu peux aussi la mettre sous forme matricielle. Une matrice 3x3 comportant xx, xy,xz, etc.. Ca change rien.


Dans divers calculs, l'inversion de matrice est important. Je t'ai dit ce qu'une matrice inverse représentait. Une matrice, c'est seulement un moyen de représenter une application linéaire.

Je t'ai aussi fourni un moyen de verification.

A+

Dlzlogic
Membre Transcendant
Messages: 5273
Enregistré le: 14 Avr 2009, 13:39

par Dlzlogic » 03 Jan 2013, 20:47

Mathusalem a écrit:Ta formule générale d'une transformation 3D, tu peux aussi la mettre sous forme matricielle. Une matrice 3x3 comportant xx, xy,xz, etc.. Ca change rien.


Dans divers calculs, l'inversion de matrice est important. Je t'ai dit ce qu'une matrice inverse représentait. Une matrice, c'est seulement un moyen de représenter une application linéaire.

Je t'ai aussi fourni un moyen de verification.

A+

Merci d'intervenir, je commence à m'arracher les cheveux.
J'ai une matrice 5x5, j'en calcule l'inverse, c'est bon.
On me dit "on multiplie par une matrice colonne 5x1"
Quelle opération dois-je faire pour obtenir les "5 résultats".
Je n'en suis plus à chercher à comprendre, mais à le faire.
On m'a donné les 5 résultats.
D'après mes lectures, le résultat 1 (ligne 0) vaut
a00 * b0 + a01 * b1 + a02 * b2 + a03 * b3 + a04 * b4
idem pour les 4 autres lignes de A(5,5)
Le terme a03 veut dire 1ère ligne et 4è colonne.
Est-ce cela ?
Merci d'avance

PS ces longs et compliqués calculs donnent des résultats identiques, à la précision près, à une simple résolution d'un système linéaire, par contre ça ne correspond pas à l'exemple de mon correspondant.

 

Retourner vers ⚜ Salon Mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 32 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite