Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.
Tous | Tutoriels du Mercredi | Basic Casio | C/C++/ASM | LuaFX | Graphisme | Transferts | Logiciels | Diverses astuces

Calculatrice
Toutes
Graph 35 à 100
Graph 25+Pro/25+E/25+E II
Graph 35+USB/75(+E)/85/95 SD
Graph 100(+)
Classpad 300/330(+)
fx-CG 10/20 (Prizm)
Classpad 400(+E)
Graph 90+E
fx-92+ SC

Retour à la liste des tutoriels
Tutoriel Casio : Diagonalisation des matrices
Tutoriel rédigé le : 2014-04-30 20:47  par Alex_1186  Catégorie : Basic Casio  Calculatrice : Toutes

Discutez de ce tutoriel sur le forum >> Voir le sujet dédié (19 commentaires)

Diagonalisation des matrices
A la veille de mes concours de fin de prépa, je me suis rappelé que personne à ma connaissance n'avait réussi à diagonaliser des matrices avec la calculette, alors, après avoir abandonné puis recommencé puis à nouveau abandonné j'ai relevé le défi!

Donc voilà, les programmes sont en fichier joint!
- DIAGO Diagonalise la matrice si cela est possible
- EGALMAT Renvoie le booléen, "Mat A=Mat B" (peut être utile!)
- COMTRIX Renvoie la comatrice et l'inverse de la matrice

ATTENTION: Programmes à utiliser avec PRÉCAUTIONS, je ne garantis pas la justesse des résultats dans tous les cas!

Programmes auxiliaires:
- NB ZERO Compte le nombre de lignes nulles dans la matrice échelonnée, ce qui correspond à Dim Ker M
- D2 programme auxiliaire pour éviter les bugs de SolveN



Maintenant quelques explications!

Vous savez tous qu'une matrice de Mn,p (lR) représente une application linéaire de lR^p dans lR^n.
Ici on s'intéresse au cas n*n, c'est-à-dire les matrices de Mn(lR) représentant les endomorphismes de lR^n.

On définit le spectre d'une matrice M par:
Sp(M)={ λ∈lR,∃X∈Mn,1(lR), MX = λX }

Les λ sont les valeurs propres associées aux vecteurs propres X (on identifie matrice colonne et vecteur).

Pour déterminer le spectre, j'utilise la fonction SolveN, appliquée à Det:
SolveN ( Det (Mat M - X Mat I, X))


En réduction, on définit le polynôme caractéristique de M par:
XM=det⁡( M - λ*I )

où I est la matrice identité d'ordre n.
XM est un polynôme en λ, et le spectre est inclus dans l'ensemble des racines de XM!

On dit qu'une matrice est diagonalisable si et seulement si elle est semblable à une matrice diagonale.
C'est-à-dire qu'il existe une base de lR^n constituée de vecteurs propres de M.
La caractérisation dont je me sers:
M est diagonalisable si et seulement si:
n = ∑(λ∈Sp(M)) Dim⁡ Eλ

où les Eλ sont les sous-espaces propres associés aux valeurs propres λ.


De plus, j'utilise la fonction Ref (inconnue au bataillon depuis des lustres).
En fait, elle donne la matrice échelonnée, la "Row Echelon Form" (et Rref la "Row Reduced Echelon Form"), cf Wikipédia pour plus d'informations.
Bref, le résultat dont je me sers est le suivant:
le rang de la matrice M est égal au nombre de lignes non nulles de la matrice échelonnée.
Or, par théorème du rang, Dim Ker Eλ = n - rg (M-λI).
Donc: pour obtenir la dimension de chaque sous-espace propre, je compte simplement le nombre de lignes nulles dans la matrice échelonnée de M.

Si la somme des dimensions est égale à n, c'est diagonalisable, je renvoie la matrice diagonale avec les ω(λ) valeurs propres placées sur la diagonales.
( ω(λ) est l'ordre de multiplicité de λ en tant que racine de XM, qui est égal à la dimension de Eλ dans le cas diagonalisable )

Voilà!
Si quelqu'un trouve une erreur quelconque, un contre-exemple ou carrément une erreur théorique grave dans mes programmes, qu'il m'en fasse part.
Sur ce, bonne diagonalisation à tous!

En bonus: le programme qui donne la comatrice et inverse la matrice si possible!

Fichier joint


Discutez de ce tutoriel sur le forum >> Voir le sujet dédié (19 commentaires)

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 70 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd