Jupyter notebook Algorithme de diagonalisation 1.1 - Exo.ipynb
Exercice de Programmation : L'algorithme 1.1
Dans cet exercice, on vous demandera de compléter quelques lignes de codes pour implémenter l'algorithme 1.1 du cours, qui à une matrice , , trouve une matrice inversible tel que est diagonale.
Le langage de programmation utilisé ici est le Python, qui est très simple d'utilisation et se lit facilement. Vous remarquerez que contrairement au C++, on ne met pas de ';' à la fin de chaque instruction, il n'y a pas besoin d'indiquer le type de la variable lors de sa déclaration ou de la définition d'une fonction, et les accolades sont en quelque sorte remplacées par des ':'.
Tout d'abord, quelques commandes de bases utiles à Python et à l'algèbre linéaire :
(Remarque : Vous devrez lancer chaque portion de code d'instructions un à un, dans l'ordre, en cliquant sur le l'option >| en haut permettant de lancer le code, afin que les importations et définitions des fonctions faites dans ces blocs soient toutes prises en compte.)
Exercice 1 (Entraînement rapide aux commandes)
Effectuez l'exercice en tapant des lignes de codes dans le bloc vide ci-dessous. Vous pouvez ensuite l'éxecuter en cliquant sur le bloc pour le sélectionner, puis en cliquant sur le l'option >| en haut permettant de lancer le code.
Définissez une matrice quelconque.
Affichez-là sous forme matricielle.
Calculez son déterminant.
Affichez l'élément qui est dans le coin inférieur droit de votre matrice.
Parcourez les éléments de la première ligne de votre matrice et affichez-les.
Exercice 2 (Opérations élémentaires sur les colonnes)
Vous pouvez tester les fonctions dans le bloc vide ci-dessous.
Exercice 3 (Algorithme 1.1)
Pour conclure, on définit encore une ou deux fonctions et on passe à l'algorithme 1.1. Ici, vous devrez compléter (dans la fonction diagonalize) trois ou quatre lignes en utilisant les fonctions définies dans l'exercice 2.
Vous pouvez tester les fonctions dans le bloc vide ci-dessous. Des matrices sont déjà prêtes pour le test.