Rappel... Matrices bloc. Décomposition des matrices: - décomposition LU - application: réseau de résistances
Aujourd’hui Solution itérative de systèmes linéaires. Méthode de Jacoby Méthode de Gauss-Seidel Application à l’infographie.
6. Solution itérative de systèmes linéaires Solutions d’un système linéaire méthodes directes (triangularisation,…) méthodes itératives (approchent numériquement la solution)
Pourquoi les méthodes itératives? Si la matrice est grande et avec beaucoup d’entrées nulles (« sparse »), le calcul itératif peut s’avérer beaucoup plus efficace.
Problème à résoudre On veut résoudre: Ax = b On pose: A = M - N On a alors: (M - N)x = b Mx - Nx = b Mx = Nx + b
Récurrence De façon générale, on cherche à calculer: Mx(k+1) = Nx(k) + b, k = 0, 1, 2,… avec A = M - N
x(k+1) ® x* (la solution) Récurrence (suite) On veut avoir: x(k+1) ® x* (la solution) Il faut choisir M afin que x(k+1) soit facile à calculer.
Méthode de Jacoby On suppose que la diagonale de A n’a pas d’éléments nuls. Soit D la matrice diagonale formée à partir de la diagonale de A. M = D, N = D - A
Méthode de Jacoby (suite) Dx(k+1) = (D - A)x(k) + b, k = 0, 1, 2,… On pose x(0) = 0. En pratique, on peut utiliser autre chose selon les informations disponibles.
Méthode de Gauss-Seidel On pose M = partie triangulaire inférieure de A. Mx(k+1) = (M - A)x(k) + b, k = 0, 1, 2,…
Jacoby c. Gauss-Seidel Jacoby est quelques fois plus rapide que Gauss-Seidel, mais en général, c’est le contraire. Traitement parallèle: Jacoby est plus rapide.
Convergence Parfois, l’une ou les deux méthodes ne convergent pas. Une condition permet de garantir la convergence: la valeur absolue d’un élément de la diagonale est plus grande que la somme des valeurs absolues des autres éléments de la ligne correspondante.
Calcul manuel Pour le calcul manuel, il est plus simple d’utiliser la récursion: x(k+1) = M-1Nx(k) + M-1b, k = 0, 1, 2,… On évite ainsi d’avoir à résoudre en système n ´ n à chaque itération.
Calcul manuel (suite) La façon la plus rapide de calculer M-1N et M-1b est de faire: [ M N b] ~ [I M-1 N M-1b]
7. Application à l’infographie On retrouve un peu partout des applications de l’infographie: jeux sur ordinateurs effets spéciaux au cinéma logiciel de dessin On représente parfois, de façon simplifiée, des figures par un ensemble de lignes: « wire frame »
Exemple: canette
Exemple 2D La lettre N peut être représentée par deux vecteurs de coordonnées: x = [0.0 0.5 6.0 5.5 0.5 0.0 5.5 6.0] y = [0.0 0.0 0.0 1.58 6.42 8.0 8.0 8.0] Il faut aussi spécifier les lignes entre les points.
Transformations linéaires La transformation linéaire d’un segment donne un autre segment. On peut effectuer des opérations sur les figures en multipliant les coordonnées par une matrice 2 ´ 2.
Coordonnées homogènes Avec les matrices 2 ´ 2, on ne peut pas faire de translation. Solution: coordonnées homogènes.
Coordonnées homogènes (suite) À chaque point (x, y) dans R2, on peut faire correspondre un point (x, y, 1) dans R3. Ces coordonnées peuvent être modifiées par une matrice 3 ´ 3.
Rotations y (-sin(q), cos(q)) q (cos(q), sin(q)) q x
Rotation de 30o autour de l’axe y z (0.5, 0, 0.866) (0, 1.0, 0) y (0.866, 0, -0.5) x
Projection de (x, y, z) sur (x*, y*, 0) d - z x x* (x*, y*, 0) x (x, y, z) z (0, 0, d)
Projection en perspective (x, y, z) ® (x*, y*, 0). x*/d = x/(d - z) ® x* = x/(1 - z/d) y*/d = y/(d - z) ® y* = y/(1 - z/d)
Projection en perspective (suite) La projection transforme (x, y, z, 1) ® (x/(1 - z/d), y/(1 - z/d) , 0, 1) Si on multiplie par (1 - z/d): (x, y, z, 1) ® (x, y , 0, 1 - z/d )
Applets Java http://www.gel.ulaval.ca/~fortier/MAT19961/Demo/lettre/ http://www.gel.ulaval.ca/~fortier/MAT19961/Demo/homog/
Prochain cours... Sous-espaces de Rn Définition Sous-espaces associés à une matrice Bases Coordonnées Dimension Rang