Inversion de matrices

Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
Sylviel
Modérateur
Messages: 6466
Enregistré le: 20 Jan 2010, 13:00

par Sylviel » 09 Jan 2013, 16:27

Allez va tu sais tout mieux faire que tout le monde. Je t'applaudis bien fort.
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.



Anonyme

par Anonyme » 09 Jan 2013, 16:31

@Dlzlogic et @Sylviel

Merci pour tous vos messages...

Si j'ai le temps j'essaierai de les lire et d'en extraire une "substanfique moelle"

:-)

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

par leon1789 » 09 Jan 2013, 18:50

Faut peut-être faire la différence entre "programmation d'un outil pour faire des calculs en machine" et "utilisation théorique d'un outil mathématique sur papier". Ce qui est bon (voire nécessaire) pour l'un ne l'est pas forcément pour l'autre, et réciproquement. L'abstraction et la concrétisation, ce sont deux choses différentes, l'une ne peut remplacer l'autre, mais elles sont complémentaires : il est néfaste de vouloir imposer l'une face à l'autre.

Personnellement, quand je fais des maths théoriques, manipuler une matrice 10x10 à la main ne me dit absolument rien, donc je préfère écrire une lettre "A" et continuer un raisonnement avec cette lettre : c'est plus simple, plus clair, plus efficace. Si maintenant, on me demande de programmer la résolution d'un système linéaire avec un langage dépourvu de librairie mathématique, alors effectivement, il faudra bien référencer les 100 coefficients et les manipuler ainsi (...sans oublier le second membre du système).

De nos jours, les langages de calcul scientifique et de calcul formel se sont démocratisés. Ils permettent de programmer aussi facilement que l'on fait des maths (lycée, ou bac +1 +2) et dont les routines internes sont plus efficaces que des algorithmes basiques. Ces logiciels sont les outils informatiques pour les mathématiciens.

Sylviel
Modérateur
Messages: 6466
Enregistré le: 20 Jan 2010, 13:00

par Sylviel » 09 Jan 2013, 21:16

Je suis désolé mais ça m'énerve que quelqu'un puisse lire cela sur le forum et croire que c'est la vérité.

Dans le cas présent, il n'y a pas manipulation de matrice à faire. On a une formule, dans un premier temps il faut calculer les 6 ou 12 paramètres (2D ou 3D), ensuite on a une formule que l'on applique.


Il faut calculer les paramètres, certes. Ces paramètres sont 6 ou 12 réels (pour une transformation affine de R² ou de R3) ou une matrice et un vecteur (ce qui fait le même nombre de réels mais sous une forme différente). Dire "il n'y a pas de manipulation de matrice" est absurde. La formule tu peux la coder directement, ou tu peux la coder via une matrice. C'est une question de choix d'implémentation. L'avantage de coder via une matrice c'est que cela donne un résultat beaucoup plus souple (typiquement indépendant de la dimension).
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.

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

par Dlzlogic » 09 Jan 2013, 22:44

Sylviel a écrit: Dire "il n'y a pas de manipulation de matrice" est absurde. La formule tu peux la coder directement, ou tu peux la coder via une matrice. C'est une question de choix d'implémentation. L'avantage de coder via une matrice c'est que cela donne un résultat beaucoup plus souple (typiquement indépendant de la dimension).
J'avoue que concernant la question dont on parle, la transformation affine, même si la formule de calcul peut être mise sous forme matricielle (comme toutes les formules linéaires), je ne vois pas l'intérêt de faire du "calcul matriciel". Certes il est intéressant de le présenter sous forme de matrice, c'est à la mode, mais il ne s'agit de toute façon que de l'addition de produits de 2 nombres.
Mais peut-être que cette distinction sémantique m'échappe.
Si j'ai abordé un sujet sensible, je prie la communauté des membres de me pardonner.

Sylviel
Modérateur
Messages: 6466
Enregistré le: 20 Jan 2010, 13:00

par Sylviel » 10 Jan 2013, 10:25

Soit, question simple :
- dans quoi stocke-tu (quel objet informatique) les paramètres de ta transformation affine ?
- comment effectue tu le calcul à paramètre donné ?

si j'avais à le faire je stockerais les données sous forme d'un tableau (ou plus précisément d'une matrice) pour la partie linéaire, et d'un vecteur pour la partie translation. Puis j'écris directement
U' = A*U+T. Où la multiplication est la multiplication matricielle, et l'addition celle d'un vecteur.

Tu peux très bien faire autrement (tout stocker dans une grande liste par exemple) mais à mon humble avis les risques d'erreur sont supérieur. Tu peux aussi écrire directement la boucle de multiplication / addition plutôt que de passer par un produit matriciel, mais cela rends la lecture du code moins compréhensible car tu mélange la formule de ton cas particulier avec l'écriture d'un produit matriciel.

En conclusion (et sans avoir peur de se répéter) :
- sur cet exemple simple utiliser ou non le formalisme matriciel ne change rien au niveau des calculs
- pour quiconque est un minimum à l'aise avec l'algèbre linéaire l'utiliser permet une compréhension plus générale et globale des mécanismes à l'oeuvre.
- au niveau de l'implémentation cela permet de bien distinguer les étapes, et donc de limiter les risques d'erreurs (i.e : je sais exactement comment stocker mes valeurs et comment les exploiter).
- cela permet d'utiliser les librairies d'algèbre linéaire existante (par exemple pour résoudre un système) plutôt que de le refaire à la main.
Merci de répondre aux questions posées, ce sont des indications pour vous aider à résoudre vos exercices.

Benjamin
Membre Complexe
Messages: 2337
Enregistré le: 14 Avr 2008, 11:00

par Benjamin » 10 Jan 2013, 13:06

Bonjour,

Vous n'allez pas recommencer vos discussions sans fin ! Je suis désolé, mais je vais devoir vous arrêter tout de suite pour éviter un pourrissage qui a 90% de chance d'arriver.

Cette discussion a été plusieurs fois border line, mais étant donné qu'il s'agissait d'une discussion ouverte par Dlzlogic lui-même et que la démarche dans l'ensemble était globalement constructive, j'ai laissé poursuivre jusqu'ici.

Désormais, certains choses ont été répétées plus de fois que nécessaire, et je me vois contraint de fermer cette discussion.

Pour la modération.

 

Retourner vers ⚜ Salon Mathématique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 10 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