Rappel Matrices bloc Dcomposition des matrices dcomposition LU
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
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-1 Nx(k) + M-1 b, 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-1 N et M-1 b est de faire: [ M N b] ~ [I M-1 N M-1 b]
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 2 D • La lettre N peut être représentée par deux vecteurs de coordonnées: x = [0. 0 0. 5 6. 0 5. 5 0. 0 5. 5 6. 0] y = [0. 0 1. 58 6. 42 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 R 2, on peut faire correspondre un point (x, y, 1) dans R 3. • 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 30 o autour de l’axe y z (0. 5, 0, 0. 866) (0, 1. 0, 0) (0. 866, 0, -0. 5) x y
Projection de (x, y, z) sur (x*, y*, 0) y (x*, y*, 0) 0 x* x z (x, y, z) x d-z z (0, 0, d) 0
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/MAT 19961/ Demo/lettre/ • http: //www. gel. ulaval. ca/~fortier/MAT 19961/ Demo/homog/
Prochain cours. . . • Sous-espaces de Rn – Définition – Sous-espaces associés à une matrice – Bases – Coordonnées – Dimension – Rang
- Slides: 28