Programmation vectorielle
Le but des exercices est
- d'avoir un programme qui donne la bonne réponse
- qui soit le plus rapide possible (et pour cela on utilise massivement Numpy)
En règle général si vous avez des for imbriqués c'est mauvais signe.
import numpy as np
np.set_printoptions(precision=10, linewidth=150, suppress=True)
Méthode du pivot de Gauss partiel¶
L'ennoncé est dans le cours. On verifiera sur le cas qui génère des erreurs d'arrondis.
Factorisation de Choleski¶
Il s'agit de décomposer A en $A = B\, B^T$ avec B une matrice triangulaire inférieure. Cela n'est possible que si la matrice A est symétrique et définie positive (c'est d'ailleurs un facon de vérifier qu'une matrice est définie positive).
Écrire l'algorithme de Choleski qui prend A et retourne B (pour deviner l'algorithme, essayez de trouver les coefficients de B à partir des coefficients de A sur une matrice A 4x4).
Rappel : pas de boucles for imbriquées mais des opérations vectorielles et matricielles (sur des sous-matrices).
Créer une matrice symétrique définie positive et vérifier que son programme marche bien.