0% ont trouvé ce document utile (0 vote)
24 vues11 pages

Diagonalisation et Trigonalisation Matricielle

Transféré par

emadavid961
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
24 vues11 pages

Diagonalisation et Trigonalisation Matricielle

Transféré par

emadavid961
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

UNIVERSITE DE YAOUNDE I UNIVERSITY OF YAOUNDE I

******************************* ********************************
ECOLE NATIONALE NATIONAL ADVANCED SCHOOL
SUPERIEURE POLYTECHNIQUE OF ENGINEERING
******************************* ********************************
DEPARTEMENT DU GENIE COMPUTER ENGINEERING
INFORMATIQUE DEPARTMENT

THEME :DIAGONALISATION ET
TRIGONALISATION DES MATRICES CARREES
D’ORDRE 3 A COEFFICIENTS REELS

SUPERVISEURS:
Pr BOUETOU BOUETOU Thomas
Me DASSI Raoul Hugues

ANNEE-SCOLAIRE:
2023-2024

LISTE DES MEMBRES DU GROUPE :

• NGONO VANINA 22P012 AN-ING 2


• ALEMUKA SANAMA 22P029 AN-ING 2
• OBEKANDON KOUNAPTE 22P019 AN-ING 2
SOMMAIRE

INTRODUCTION ................................................................................................................................. 3
DEFINITIONS DES MOTS CLES ...................................................................................................... 4
DEROULEMENT DES TRAVAUX.................................................................................................... 7
1. INTERFACE GRAPHIQUE ET TRIGONALISATION MATRICIELLE (TRAVAIL DE
NGONO V.)........................................................................................................................................ 7
2. OPERATIONS MATRICIELLES ET AFFICHAGE DES RESULTATS (TRAVAIL DE
ALEMUKA S.)................................................................................................................................... 8
3. GESTION DE L'APPLICATION ET INTERACTION UTILISATEUR (TRAVAIL DE
OBEKANDON T.) ............................................................................................................................. 9
CONCLUSION .................................................................................................................................... 11
INTRODUCTION
Dans la perspective à venir, notre projet axé sur la diagonalisation et la trigonalisation
de matrices carrées d'ordre 3 entrevoit une évolution significative. Alimenté par l'utilisation
judicieuse de Tkinter pour l'interface et NumPy pour les opérations matricielles, l'application
se prépare à offrir une expérience utilisateur encore plus conviviale. Anticipant ces évolutions,
le projet vise à devenir une ressource inestimable, offrant des solutions matricielles efficaces
dans un environnement interactif. Avec un engagement envers l'innovation, le projet continuera
à prospérer, rendant les calculs matriciels accessibles et pratiques pour un large éventail
d'utilisateurs.
DEFINITIONS DES MOTS CLES

Fonction: une fonction est une séquence d'instructions réutilisable, regroupée sous un nom
spécifique, qui effectue une tâche ou une opération particulière.

Une bibliothèque (ou librairie) : est un ensemble de fonctions, de procédures ou de modules


préécrits et réutilisables qui peuvent être inclus dans un programme pour fournir des
fonctionnalités spécifiques sans avoir à réécrire le code depuis zéro.

Interface Utilisateur (UI) : est l'espace où les interactions entre humains et machines se
produisent.

La modularité du Code : fait référence à la division d'un programme en modules ou fonctions


distincts, chacun ayant une responsabilité spécifique. Cela rend le code plus lisible et facile à
maintenir.

Combobox (Liste Déroulante) : Une Combobox est un widget graphique dans Tkinter qui
permet à l'utilisateur de choisir une option parmi une liste déroulante.

Tkinter : est une bibliothèque graphique pour Python qui permet de créer des interfaces
utilisateur.

NumPy : est une bibliothèque pour le langage de programmation Python, destinée à la


manipulation d'arrays ou matrices multidimensionnels ainsi qu'à des fonctions mathématiques
opérant sur ces structures.
BIBLIOTHEQUES ET FONCTIONS SE
RAPPORTANT A L’ALGEBRE LINEAIRE

NumPy :NumPy est une bibliothèque fondamentale pour les calculs numériques en
Python, particulièrement adaptée à l'algèbre linéaire.
1. Opérations de Base :
• [Link](), [Link](), [Link](), [Link]() : Pour les
opérations élémentaires sur les matrices.
2. Produit Matriciel :
• [Link](), [Link](), @ (opérateur matmul) : Pour le produit
matriciel.
3. Décomposition de Matrices :
• [Link]() : Pour inverser une matrice.
• [Link]() : Pour calculer le déterminant d'une matrice.
• [Link]() : Pour calculer les valeurs propres et vecteurs propres
d'une matrice.

SciPy : SciPy est une bibliothèque construite sur NumPy qui étend ses fonctionnalités.
Elle propose des modules spécifiques pour l'algèbre linéaire, l'optimisation, les statistiques, et
bien d'autres.
1. [Link] :
• [Link](A, b) : Résout un système linéaire Ax = b où A est
une matrice et b est un vecteur.
2. [Link] :
• [Link](A) : Calcule l'inverse d'une matrice A.
3. [Link] :
• [Link](A) : Calcule le déterminant d'une matrice A.
4. [Link] :
• [Link](A) : Calcule les valeurs propres et les vecteurs
propres d'une matrice A.
SymPy :SymPy est une bibliothèque pour le calcul symbolique en Python. Bien que
plus orientée vers l'algèbre formelle, elle peut être utile pour certaines manipulations
symboliques en algèbre linéaire.
1. Matrices :
• Matrix() : Crée une matrice symbolique.
2. Systèmes d'Équations Linéaires :
• linsolve() : Résout un système d'équations linéaires symboliques.
3. Inversion de Matrices :
• inv() : Calcule l'inverse d'une matrice symbolique.
4. Déterminant :
• det() : Calcule le déterminant d'une matrice symbolique.
5. Valeurs Propres et Vecteurs Propres :
• eigenvals() : Calcule les valeurs propres d'une matrice symbolique.
• eigenvects() : Calcule les vecteurs propres associés aux valeurs
propres.
DEROULEMENT DES TRAVAUX
Lors de nos travaux, nous avons divisé le travail en 3 parties dependante , pour chaque
membre, qui sont :

• Interface Graphique et Trigonalisation Matricielle (travail de NGONO V.)


• Opérations Matricielles et Affichage des Résultats (travail de ALEMUKA S.)
• Gestion de l'Application et Interaction Utilisateur (travail de OBEKANDON T.)

1. INTERFACE GRAPHIQUE ET TRIGONALISATION MATRICIELLE


(TRAVAIL DE NGONO V.)
i. OBJECTIF :

La première partie du code, se concentre sur la saisie de la matrice et la fonction de


trigonalisation. L'objectif est de permettre à l'utilisateur d'entrer une matrice carrée d'ordre 3 à
travers une interface graphique et d'effectuer la trigonalisation de cette matrice.

ii. Fonctionnalités clés:


Saisie de la Matrice :

Utilisation de Tkinter pour créer une interface graphique. Trois lignes de trois champs
d'entrée permettent à l'utilisateur de saisir les éléments de la matrice. Un bouton "Valider"
enregistre la matrice lorsque tous les éléments sont saisis.
Trigonalisation :

La fonction trigonalisation prend une matrice carrée en entrée et effectue des


transformations élémentaires pour la rendre trigonalisée (triangulaire supérieure avec des
éléments non nuls sur la diagonale supérieure).

Points à noter :

• L'interface graphique est créée avec Tkinter, offrant une expérience utilisateur
conviviale.
• La fonction trigonalisation utilise des opérations matricielles pour effectuer la
transformation élémentaire nécessaire.

2. OPERATIONS MATRICIELLES ET AFFICHAGE DES RESULTATS


(TRAVAIL DE ALEMUKA S.)
i. Objectif :

La deuxième partie du code, gère l'opération principale en fonction du choix de l'utilisateur


(Diagonalisation ou Trigonalisation). Elle calcule les valeurs propres, les vecteurs propres, et la
matrice résultante en conséquence.

ii. Fonctionnalités clés :

Opérations :
• La fonction effectuer_operation prend en entrée une matrice et une opération
('D' pour diagonalisation, 'T' pour trigonalisation).

• Initialisation des variables valeurs_propres et vecteurs_propres avant le bloc


conditionnel.

Affichage des Résultats :

• Une fenêtre Tkinter distincte, "Résultats", est créée pour afficher la matrice
d'origine, les valeurs propres, les vecteurs propres et la matrice résultante.

Points à noter :

• Utilisation de la fonction eig de NumPy pour calculer les valeurs propres et les
vecteurs propres lors de la diagonalisation.

• La matrice résultante est affichée dans une interface graphique avec Tkinter.

3. GESTION DE L'APPLICATION ET INTERACTION UTILISATEUR


(TRAVAIL DE OBEKANDON T.)
i. Objectif :

La troisième partie du code, est responsable du démarrage de l'application. Elle gère la séquence
d'exécution, y compris la saisie de la matrice, le choix de l'opération et l'affichage des résultats.

ii. Fonctionnalités clés :

Fonction Principale :
• La fonction main coordonne le flux d'exécution en appelant la saisie de la
matrice, en présentant le choix de l'opération à l'utilisateur, et en effectuant
l'opération sélectionnée.

Interface Utilisateur :

• Une fenêtre Tkinter permet à l'utilisateur de choisir entre la diagonalisation et la


trigonalisation à l'aide d'une Combobox.

Points à noter :

• La logique de choix entre diagonalisation et trigonalisation est basée sur la


sélection de l'utilisateur dans la Combobox.

• Le code utilise le modèle "if name == 'main':" pour démarrer le programme


lorsqu'il est exécuté en tant que script.
CONCLUSION
En conclusion, ce projet offre une solution interactive pour la diagonalisation et la
trigonalisation de matrices carrées d'ordre 3. À travers une interface utilisateur conviviale, les
utilisateurs peuvent saisir leurs matrices, choisir l'opération souhaitée, et visualiser les résultats
de manière claire. La modularité du code, avec des fonctions distinctes pour chaque tâche,
facilite la compréhension et la maintenance du programme. Ce projet peut être étendu pour
traiter des matrices de tailles différentes, offrant ainsi une utilité plus générale. Intégration de
fonctionnalités supplémentaires telles que la résolution de systèmes linéaires ou le calcul de
déterminants. Actuellement, le programme n'effectue pas de vérification approfondie des
erreurs utilisateur lors de la saisie de la matrice. Une amélioration pourrait inclure une
validation plus robuste pour éviter des erreurs inattendues. En regardant vers l'avenir, le projet
pourrait évoluer pour répondre à des besoins plus complexes en mathématiques matricielles
tout en maintenant une expérience utilisateur intuitive. La collaboration, les tests approfondis
et la documentation détaillée resteront des éléments clés pour assurer le succès continu et
l'adaptabilité du projet.

Vous aimerez peut-être aussi