Matrices triangulaires Résolution de systèmes linéaires particuliers

Documents pareils
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Cours d analyse numérique SMI-S4

Résolution de systèmes linéaires par des méthodes directes

Amphi 3: Espaces complets - Applications linéaires continues

Programmation linéaire

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Chapitre 2. Matrices

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Résolution d équations non linéaires

Chapitre 5 : Flot maximal dans un graphe

De même, le périmètre P d un cercle de rayon 1 vaut P = 2π (par définition de π). Mais, on peut démontrer (difficilement!) que

Équations d amorçage d intégrales premières formelles

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Architecture des Systèmes d Information Architecture des Systèmes d Information

Programmes des classes préparatoires aux Grandes Ecoles

Fonctions homographiques

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Introduction à MATLAB R

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Eteindre. les. lumières MATH EN JEAN Mme BACHOC. Elèves de seconde, première et terminale scientifiques :

3 Approximation de solutions d équations

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Limites finies en un point

Calcul différentiel sur R n Première partie

Fonctions de plusieurs variables

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

Les équations différentielles

Analyse en Composantes Principales

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Algorithmes pour la planification de mouvements en robotique non-holonome

Simulation de variables aléatoires

Exercice : la frontière des portefeuilles optimaux sans actif certain

de calibration Master 2: Calibration de modèles: présentation et simulation d

Différentiabilité ; Fonctions de plusieurs variables réelles

TP 1 Introduction à Matlab Février 2009

1 Introduction et modèle mathématique

Python - introduction à la programmation et calcul scientifique

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Programmation linéaire et Optimisation. Didier Smets

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

Première partie. Introduction à la méthodes des différences finies

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Notes du cours MTH1101 Calcul I Partie II: fonctions de plusieurs variables

TABLE DES MATIÈRES CHAPITRE I. Les quanta s invitent

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

Corrigé du baccalauréat S Asie 21 juin 2010

Mathématiques appliquées à l'économie et à la Gestion

Plus courts chemins, programmation dynamique

BACCALAURÉAT PROFESSIONNEL ÉPREUVE DE MATHEMATIQUES. EXEMPLE DE SUJET n 2

MATHÉMATIQUES EN PREMIER CYCLE PRÉSENTATION DU PROGRAMME

Théorème du point fixe - Théorème de l inversion locale

Algorithmique et Programmation, IMA

Limitations of the Playstation 3 for High Performance Cluster Computing

Modèles et Méthodes de Réservation

Algorithmes de recherche

Polynômes à plusieurs variables. Résultant

Apprentissage Automatique

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Eléments de Théorie des Graphes et Programmation Linéaire

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Technologie Web. Conception de sites Web. Alexandre Pauchet. INSA Rouen - Département ASI. INSA - ASI TechnoWeb : Rappels UML 1/21

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

Logique binaire. Aujourd'hui, l'algèbre de Boole trouve de nombreuses applications en informatique et dans la conception des circuits électroniques.

Dérivées d ordres supérieurs. Application à l étude d extrema.

Problème 1 : applications du plan affine

Sites web éducatifs et ressources en mathématiques

Cours 7 : Utilisation de modules sous python

Filtrage stochastique non linéaire par la théorie de représentation des martingales

Algorithmique I. Algorithmique I p.1/??

Formation Excel, Niveau initiation, module 1 DUREE DE LA FORMATION OBJECTIFS DE LA FORMATION

Formes quadratiques. 1 Formes quadratiques et formes polaires associées. Imen BHOURI. 1.1 Définitions

C f tracée ci- contre est la représentation graphique d une

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Exemple 4.4. Continuons l exemple précédent. Maintenant on travaille sur les quaternions et on a alors les décompositions

IV- Equations, inéquations dans R, Systèmes d équations

Analyse des Systèmes Asservis

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Cours Fonctions de deux variables

Programmation Linéaire - Cours 1

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Erreur statique. Chapitre Définition

Introduction à la théorie des graphes. Solutions des exercices

1 Recherche en table par balayage

Algorithmes récursifs

Raisonnement par récurrence Suites numériques

Optimisation, traitement d image et éclipse de Soleil

Programmation linéaire

Exercices - Polynômes : corrigé. Opérations sur les polynômes

Cours 02 : Problème général de la programmation linéaire

FaceBook aime les Maths!

Cours d Analyse. Fonctions de plusieurs variables

Enoncé et corrigé du brevet des collèges dans les académies d Aix- Marseille, Montpellier, Nice Corse et Toulouse en Énoncé.

CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Programmation par contraintes. Laurent Beaudou

Transcription:

Matrices triangulaires Résolution de systèmes linéaires particuliers S Canu - G Gasso - B Gaüzère - L Noiret benoitgauzere@insa-rouenfr 18 septembre 2016

Plan 1 Introduction 2 Résolution de systèmes linéaires Matrices diagonales Matrices triangulaires 3 Algorithme tri inf tri inf par ligne tri inf par colonne Version matricielle Exemple Version matricielle par lignes Le cas des matrices triangulaires supérieures L algèbre de matrices triangulaires Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 2 / 31

Plan 1 Introduction 2 Résolution de systèmes linéaires Matrices diagonales Matrices triangulaires 3 Algorithme tri inf tri inf par ligne tri inf par colonne Version matricielle Exemple Version matricielle par lignes Le cas des matrices triangulaires supérieures L algèbre de matrices triangulaires Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 2 / 31

Résolution de systèmes linéaires particuliers I Résolution de systèmes linéaires Résolution de systèmes linéaires Résolution de Ax = b Matrices particulières La structure des matrices peut faciliter la résolution Structures particulières : matrices diagonales matrices triangulaires triangulaires supérieures triangulaires inférieures unitaires (sup ou inf) Figure Matrice de similarité de matrices par blocs séquences vidéos anu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 3 / 31

Plan 1 Introduction 2 Résolution de systèmes linéaires Matrices diagonales Matrices triangulaires 3 Algorithme tri inf tri inf par ligne tri inf par colonne Version matricielle Exemple Version matricielle par lignes Le cas des matrices triangulaires supérieures L algèbre de matrices triangulaires Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 3 / 31

Le cas des matrices diagonales Matrice Diagonale Algo Matrice carrée A ij = 0 si i j Fonction x diag(a, b) Pour i = 1, n faire x i = b i /A ii Fin Pour Si A ii = 0 le problème n admet pas de solution si b i 0 Complexité? Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 4 / 31

Le cas des matrices diagonales Matrice Diagonale Algo Matrice carrée A ij = 0 si i j Fonction x diag(a, b) Pour i = 1, n faire x i = b i /A ii Fin Pour Si A ii = 0 le problème n admet pas de solution si b i 0 Complexité : O(n) Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 4 / 31

Le cas des matrices triangulaires I Matrice triangulaire inférieure Une matrice A est dite triangulaire inférieure si elle est carrée, j > i, A ij = 0 Matrice triangulaire supérieure Une matrice A est dite triangulaire supérieure si elle est carrée j < i, A ij = 0 NB : Par convention, on notera les matrices triangulaires inférieures L pour lower et les matrices triangulaires supérieures U pour upper Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 5 / 31

Le cas des matrices triangulaires II Exemples L 1,1 0 0 0 0 L 2,1 L 2,2 0 0 0 L = L 3,1 L 3,2 0 0 0 L n,1 L n,2 L n,n 1 L n,n U 1,1 U 1,2 U 1,n 1 U 1,n 0 U 2,2 U 2,n 1 U 2,n U = 0 0 0 0 0 Un 1,n 0 0 0 0 U n,n Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 6 / 31

Système et matrices triangulaires inférieures I Lx = b soit L une matrice triangulaire inférieure La résolution d un système linéaire se pose de la manière suivante : Lx = b L 11 x 1 = b 1 L 21 x 1 + L 22 x 2 = b 2 = L i1 x 1 + L i2 x 2 + + L ii x i = b i = L n1 x 1 + L n2 x 2 + + L ni x i + + L nn x n = b n Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 7 / 31

Exemple Lx = b 2 0 0 2 Calculez x tel que Lx = b avec L = 4 1 0 b = 3 6 1 2 7 2x 1 = 2 Ce problème revient à résoudre : 4x 1 x 2 = 3 6x 1 + x 2 2x 3 = 7 anu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 8 / 31

Exemple Lx = b 2 0 0 2 Calculez x tel que Lx = b avec L = 4 1 0 b = 3 6 1 2 7 2x 1 = 2 Ce problème revient à résoudre : 4x 1 x 2 = 3 6x 1 + x 2 2x 3 = 7 x 1 = b 1 = 2 L 1,1 2 = 1 Solution : x 2 = b 2 L 2,1 x 1 = 3 4 1 = 1 L 2,2 1 x 3 = b 3 L 3,1 x 1 L 3,2 x 2 = L 3,3 7 ( 6) 1 1 1 2 = 1 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 8 / 31

Généralisation Problème Lx = b L 11 x 1 = b 1 L 21 x 1 + L 22 x 2 = b 2 L i1 x 1 + L i2 x 2 + + L ii x i = b i L n1 x 1 + L n2 x 2 + + L ni x i + + L nn x n = b n Solution x 1 = b 1 /L 11 x 2 = b 2 L 21 x 1 L 22 ) x i = b i (L i1 x 1 +L i2 x 2 + +L ii 1 x i 1 L ii ( ) x n = bn L n1 x 1 +L n2 x 2 + +L ni x i + +L nn 1 x n 1 L nn Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 9 / 31

Plan 1 Introduction 2 Résolution de systèmes linéaires Matrices diagonales Matrices triangulaires 3 Algorithme tri inf tri inf par ligne tri inf par colonne Version matricielle Exemple Version matricielle par lignes Le cas des matrices triangulaires supérieures L algèbre de matrices triangulaires Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 9 / 31

L algorithme tri inf x tri inf(l, b) Pour i = 1, n faire s = 0 Pour j = 1, i 1 faire s = s + L ij x j Fin Pour x i = (b i s)/l ii Fin Pour x i = b i (L i1 x 1 + +L ij x j + +L ii 1 x i 1 ) L ii Propriétés de l algorithme tri inf Complexité : O(n 2 ) anu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 10 / 31

L algorithme tri inf x tri inf(l, b) Pour i = 1, n faire s = 0 Pour j = 1, i 1 faire s = s + L ij x j Fin Pour x i = (b i s)/l ii Fin Pour x i = b i (L i1 x 1 + +L ij x j + +L ii 1 x i 1 ) L ii Propriétés de l algorithme tri inf Complexité : O(n 2 ) anu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 10 / 31

Amélioration I Fonction b tri inf(l, b) On stocke la solution x dans b Économie d espace mémoire Pour i = 1, n faire s = 0 Pour j = 1, i 1 faire s = s + L ij b j Fin Pour b i = (b i s)/l ii Fin Pour Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 11 / 31

Amélioration II Fonction b tri inf(l, b) sans la variable intermédiaire s Pour i = 1, n faire Pour j = 1, i 1 faire b i = b i L ij b j Fin Pour b i = b i /L ii Fin Pour // b i = b i L i1 b 1 L i2 b 2 L ij b j Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 12 / 31

Amélioration III Une boucle Pour i = 1, n faire ( ) b i = b i L(i, 1 : i 1)b(1 : i 1) Fin Pour /L ii ( Li1 L i2 L i3 L i4 L i,i 1 ) b 1 b 2 b 3 b 4 b i 1 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 13 / 31

tri inf par colonne Approche par colonnes À chaque itération : On met à jour l ensemble de la solution ; On traite une colonne de L ; À l itération j Seul L(j + 1 : n, j) contient de l information L 1,1 0 0 0 0 L 2,1 L 2,2 0 0 0 L = L 3,1 L 3,2 0 0 0 L n,1 L n,2 L n,n 1 L n,n Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 14 / 31

tri inf par colonne Schéma global Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 15 / 31

j = 1 x 1 = b 1 /L 1,1 : peut être calculé i > 1, x i = b i L i,j : peut être mis à jour Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 16 / 31

j = 2 x 2 = (b 2 L 2,1 x 1 )/L 2,2 x 1 est connu x 2 = b 2 L 2,1 x 1 est connu i > 2, x i = b i L i,j : peut être mis à jour } x 2 final peut être calculé Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 17 / 31

Terme général j x j = (b j j 1 k=1 L j,kx k )/L j,j x(1 : j 1) est connu j 1 x j = b j L j,k x k x j final peut être calculé est connu k=1 i > j, x i = b i L i,j : peut être mis à jour Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 18 / 31

Algorithme tri inf par colonnes Généralisation Stockons x dans b Algorithme : Fonction tri inf C (L, b) : b Pour j = 1, n 1 faire b j = b j /L j,j b(j + 1 : n) = b(j + 1 : n) b j L(j + 1 : n, j) Fin Pour b n = b n /L nn Fin À l itération j : b(1 : j) = x j i > j, bi = b i j 1 k=1 L ikx k Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 19 / 31

Version matricielle I tri inf c Fonction tri inf C (L, b) : b Pour j = 1, n 1 faire b j = b j /L j,j b(j + 1 : n) = b(j + 1 : n) b j L(j + 1 : n, j) Fin Pour b n = b n /L nn Fin j = 1 on a : b 1 /L 1,1 b 2 b 1L 2,1 L 1,1 b 3 b 1L 3,1 L 1,1 b = b i b 1L i,1 L 1,1 b n b 1L n,1 L 1,1 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 20 / 31

Version matricielle II Version Matricielle, b = M 1 b 1/L 1,1 0 0 L 2,1 /L 1,1 1 0 0 L 3,1 /L 1,1 0 1 0 0 L i,1 /L 1,1 0 0 1 0 0 L n,1 /L 1,1 0 0 1 b 1 b 2 b 3 b i b n b 1 b 2 b 3 b i b n b 1 /L 1,1 b 2 b 1L 2,1 L 1,1 b 3 b 1L 3,1 L 1,1 = b i b 1L i,1 L 1,1 b n b 1L n,1 L 1,1 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 21 / 31

M 1 = 1/L 1,1 0 0 L 2,1 /L 1,1 1 0 0 L 3,1 /L 1,1 0 1 0 0 L i,1 /L 1,1 0 0 1 0 0 L n,1 /L 1,1 0 0 1 = I τ 1 e 1 Avec τ 1 = 1 1/L 11 L 21 /L 11 L i1 /L 11 L n1 /L 11 et e 1 = 1 0 0 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 22 / 31

Terme général j D une manière générale : M j = I τ j e j τj = (0 } {{ 0} j 1 fois avec e j = (0 } {{ 0} j 1 fois 1 1/L jj L(j + 1 : n, j)/l jj ) 1 } 0 {{ 0} ) de j+1 jusqu à n Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 23 / 31

Exemple I 2 0 0 L = 4 1 0 6 1 2 j = 1 1/2 0 0 M 1 = 2 1 0 Lx = b 1 0 0 3 0 1 M 1 Lx = M 1 b M 1L = 0 1 0 0 1 2 j = 2 1 0 0 1 0 0 M 2 = 0 1 0 M 2 M 1 L = 0 1 0 0 1 1 0 0 2 Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 24 / 31

Exemple II j = 3 1 0 0 1 0 0 M 3 = 0 1 0 M 3 M 2 M 1 L = 0 1 0 = I 0 1/2 0 0 1 Fin j = n, on remarque que M 3 M 2 M 1 L = I : M 3 M 2 M 1 Lx = M 3 M 2 M 1 b x = M 3 M 2 M 1 b : Solution Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 25 / 31

Algorithme Fonction tri inf M (L, b) : b Pour j = 1, n faire Fin // τ j = (0 } {{ 0 } j 1 fois τ j = tau(l(:, j)) M j = τ j ej T b = M j b Fin Pour 1 1/L jj L(j + 1 : n, j)/l jj ) T Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 26 / 31

Analyse mathématique de tri inf par colonnes Theorem (inverse d une matrice triangulaire) Soit L une matrice triangulaire L 1 = M n M j M 1 L algorithme tri inf par colonnes L algorithme tri inf par colonnes est une méthode calculer implicitement l inverse de la matrice L : efficace pour x = L 1 b = M n M j M 1 b Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 27 / 31

La version ligne Fonction tri inf(l, b) : b Pour i = 1, n faire Fin b i = ( b i L(i, 1 : i 1)b(1 : i 1) ) /L ii Fin Pour N i = 1 0 0 0 0 1 0 0 1 0 L i1 /L ii 1/L ii 0 1 0 0 0 0 1 // b = N i b N i = I e i νi avec : νi = (L(1 : i 1, j)/l ii ) 1 1/L ii 0 } {{ 0} ) de i+1 jusqu à n e i = (0 } {{ 0} 1 0 } {{ 0} ) i 1 fois de i+1 jusqu à n Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 28 / 31

Le cas des matrices triangulaires supérieures Ux = b Fonction tri sup(u, b) : b b n = b n /U nn Pour i = n 1 : 1 : 1 faire Pour j = i + 1 : n faire U 11 x 1 + U 12 x 2 + + U 1i x i + + U 1n x n = b 1 U i,i x i + U i,i+1 x i+1 + + U i,n x n = b i U n 1,n 1 x n 1 + U n 1,n x n = b n 1 U nn x n = b n Fin b i = b i U ij b j Fin Pour b i = b i /U ii Fin Pour Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 29 / 31

L algèbre de matrices triangulaires le produit de deux matrices tri inf est une matrice tri inf L L L l inverse d une matrice tri inf est une matrice tri inf L 1 L le produit de deux matrices unitaires tri inf est une matrice unitaire tri inf l inverse d une matrice unitaire tri inf est une matrice unitaire tri inf NB : matrice unitaire : matrice avec des 1 sur la diagonale Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 30 / 31

Conclusion le cas des matrices diagonales Dx = b : O(n) le cas des matrices triangulaires Lx = b : O(n 2 ) l écriture matricielle : diagonalisation O(n 2 ) O(n) Canu, Gasso, Gaüzère, Noiret (INSA Rouen - ASI) Triangulaire 18 septembre 2016 31 / 31