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.

In [1]:
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.

In [ ]:
 

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).

In [ ]:
 

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.

In [ ]: