Factorisation LU. par Eric Brunelle



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.

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

Cours d analyse numérique SMI-S4

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

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

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

Chapitre 5 : Flot maximal dans un graphe

= constante et cette constante est a.

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

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

Chapitre 2. Matrices

Suites numériques 4. 1 Autres recettes pour calculer les limites

Programmation linéaire

Démonstration de la conjecture de Dumont

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

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

Mesures gaussiennes et espaces de Fock

Déterminants. Marc SAGE 9 août Inverses et polynômes 3

Etude de fonctions: procédure et exemple

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

Algorithmes pour la planification de mouvements en robotique non-holonome

Chapitre 3. Mesures stationnaires. et théorèmes de convergence

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

FONCTION DE DEMANDE : REVENU ET PRIX

Partie 1. La structure des réseaux sociaux

Plus courts chemins, programmation dynamique

Fonctions linéaires et affines. 1 Fonctions linéaires. 1.1 Vocabulaire. 1.2 Représentation graphique. 3eme

Gestion des Clés Publiques (PKI)

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

Analyse en Composantes Principales

Intégration de la dimension sémantique dans les réseaux sociaux

Nom : Date : Je connais par cœur toutes les opérations jusque 10.

Leçon N 4 : Statistiques à deux variables

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Premiers exercices d Algèbre. Anne-Marie Simon

Jean-Philippe Préaux

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

INF6304 Interfaces Intelligentes

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Algorithmique, graphes et programmation dynamique Notes de Cours Rapport de Travaux Pratiques. Laurent Canet

Analyse Numérique : SMA-SMI S4 Cours, exercices et examens

3 Approximation de solutions d équations

Manipulateurs Pleinement Parallèles

6 ème. Rallye mathématique de la Sarthe 2013/ ère épreuve de qualification : Problèmes Jeudi 21 novembre 2013

Introduction à l économétrie : Spécifications, formes fonctionnelles, hétéroscédasticité et variables instrumentales

Calcul de développements de Puiseux et application au calcul du groupe de monodromie d'une courbe algébrique plane

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

Optimisation, traitement d image et éclipse de Soleil

4G2. Triangles et parallèles

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

Probabilités sur un univers fini

Cours d initiation à la programmation en C++ Johann Cuenin

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Encryptions, compression et partitionnement des données

3.2. Matlab/Simulink Généralités

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

Introduction à la Programmation par Contraintes (PPC) Ruslan Sadykov LIX, École Polytechnique

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

IFT3245. Simulation et modèles

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

Conception d'un réseau de transport d'électricité

Résolution d équations non linéaires

Analyses multivariées avec R Commander (via le package FactoMineR) Qu est ce que R? Introduction à R Qu est ce que R?

Apprentissage Automatique

Exercice 3 (5 points) A(x) = 1-e -0039' e- 0,039x A '() -'-,..--,-,--,------:-- X = (l_e-0,039x)2

Probabilités sur un univers fini

CHAPITRE 10. Jacobien, changement de coordonnées.

Module 16 : Les fonctions de recherche et de référence

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

Cours d Analyse. Fonctions de plusieurs variables

FIMA, 7 juillet 2005

Programmes des classes préparatoires aux Grandes Ecoles

Économetrie non paramétrique I. Estimation d une densité

Programmation Linéaire - Cours 1

Cours Informatique Master STEP

ÉTUDE DE L EFFICACITÉ DE GÉOGRILLES POUR PRÉVENIR L EFFONDREMENT LOCAL D UNE CHAUSSÉE

Optimisation for Cloud Computing and Big Data

OPTIMISATION À UNE VARIABLE

Licence de Biologie, 1ère année. Aide. [Aide 1] Comment utiliser l'explorateur Windows? Comment créer des dossiers?

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

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

Chaînes de Markov au lycée

Programmation linéaire et Optimisation. Didier Smets

FORMULAIRE DE STATISTIQUES

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

RE SOLUTIONS CHAPITRE 1

Microsoft Excel : tables de données

Algorithmique et Programmation

La classification automatique de données quantitatives

Moments des variables aléatoires réelles

Problème 1 : applications du plan affine

Compte bancaire ou assurance vie? 5. Amortissement direct ou indirect?

Chapitre 4 : Exclusion mutuelle

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Cours 9 : Plans à plusieurs facteurs

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

6 Equations du première ordre

Calcul différentiel sur R n Première partie

Transcription:

Factorisation LU par Eric Brunelle 1 Introduction La factorisation LU d une matrice A n n est une astuce très importante dans le domaine de l analyse numérique. Sa base est très simple, mais ses applications sont très nombreuses et très utiles. Avant de montrer ces applications, regardons ce qu est la factorisation LU et comment l obtenir. L obtention de la factorisation.1 La théorie La factorisation LU consiste à écrire une matrice non-singulière A comme le produit de deux autres matrices L et U. L est une matrice triangulaire inférieure ayant des 1 sur la diagonale et U une matrice triangulaire supérieure. On notera les éléments de ces deux matrices de la manière suivante: L = 1 0 0... 0 l,1 1 0... 0 l 3,1 l 3, 1... 0....... l n,1 l n, l n,3... 1 U = u 1,1 u 1,... u 1,n 1 u 1,n 0 u,... u,n 1 u,n 0 0... u 3,n 1 u 3,n....... 0 0 0... u n,n La meilleure façon d obtenir cette factorisation, est d utiliser l élimination de Gauss. Nous savons que nous pouvons écrire l élimination grâce à un produit de matrices élémentaires E i. Commençons par éliminer la première colonne de la matrice A. On peut donc faire les transformations élémentaires suivantes sur la matrice A m i1 L 1 + L i L i 1

où m i1 = a i1 /a 11 et ce pour tous les i =..n et L i est la i ime ligne de la matrice A. On peut alors écrire cette transformations sous une forme matricielle. 1 0 0... 0 a 1,1 a 1,... a 1,n 1 a 1,n.............. EA = m i,1... 1... 0 a i,1 a i,... a i,n 1 a i,n.............. 0 0 0... 1 a n,1 a n, a n,3... a n,n Par la suite, on trouve l inverse de cette matrice E. 1 0 0... 0....... E 1 = m i,1... 1... 0....... 0 0 0... 1 On utilise le même principe pour éliminer les éléments sous la diagonale de la matrice A. m ij L j + L i L i où m ij = a ij /a jj pour les i = j + 1..n. Ainsi, la forme matricielle de cette élimination est: Alors, E k E k 1...E E 1 A = U A = E 1 1 E 1...E 1 k 1 E 1 k Puisque tous les E 1 i sont des matrices triangulaires inférieures, alors le produit de ces dernières l est aussi et, dans le cas ici, possède des 1 sur la diagonale. Ainsi, cette matrice résultant de ce produit est notre matrice L et, U est ce qui reste après l application de l élimination de Gauss. Nous pouvons alors mettre sur pied un algorithme pour trouver L et U à l aide d un ordinateur. Cela nous permettra d expliquer certains avantages de la factorisation LU par la suite. U

. Algorithme de factorisation LU u 1,1 = a 1,1 Pour j =..n u 1,j = a 1,j l j,1 = a j,1 /a 1,1 Pour i =..n 1 u i,i = a i,i i 1 k=1 l i,ku k,i Pour j = i + 1..n u i,j = a i,j i 1 [ k=1 l i,ku k,j l j,i = 1 u i,i a j,i ] i 1 k=1 l j,ku k,i u n,n = a n,n n 1 k=1 l n,ku k,n Regardons un exemple a de mettre les idées bien en place. Exemple 1. A = 4 9 4 4 1 Nous avons que m 1 = /4 = 0.5 et m 31 = 1/4 = 0.5. Ce nous donne 4 9 A 0 0.5 3 0 0.5.5 Continuons l élimination en posant m 3 = 0.5/0.5 = 0.5 et nous obtenons 1 0 0 4 9 que L = 0.5 1 0 et U = 0 0.5 3 Nous avons donc 0.5 0.5 1 0 0 4 obtenu la factorisation LU. 3

3 Utilité Voyons maintenant en quoi cela peut être utile. Pour ce faire, nous allons comparer le nombre d opérations nécessaire pour résoudre un système linéaire Ax = b avec la méthode d élimination de Gauss et par la méthode de substitution avant-arrière qui demande de connaître la factorisation LU de A. Commençons par l élimination de Gauss-Jordan. 3.1 Élimination de Gauss L élimination de Gauss est la méthode utilisée dans les cours d algèbre linéaire élémentaire. On prend la matrice A et on l augmente de b. On fait ensuite des opération élémentaires sur les lignes et on réduit la partie de gauche en une matrice identitée. Le vecteur à droite sera alors la solution x cherchée. Prenons un exemple. Soit 1 4 3 3 1 x y z = 15 5 4 (1) On crée la matrice augmentée pour ce système et on fait l élimination de Gauss. 1 15 [A b] = 4 3 3 5 () 1 4 1 15 0 5 7 55 (3) 0 1 3 11 1 15 0 5 7 55 (4) 0 0 1 5 1 0 5 0 1 0 4 (5) 0 0 1 5 1 0 0 1/ 0 1 0 4 (6) 0 0 1 5 4 (7)

Nous obtenons ainsi la solution x = 1/, y = 4 et z = 5. Regardons maintenant l algorithme a de programmer la méthode. Nous compterons par la suite le nombre d opérations nécessaires. Nommons B la matrice A augmentée de b. Ainsi nous avons que B = (b i,j ) où 1 i n et 1 i n + 1. 3. Algorithme de la méthode de Gauss Pour i = 1,.., n 1 Pour j = i + 1,.., n m j,i = b j,i /b i,i Pour k = i,.., n + 1 b j,k = b j,k m i,j b i,k Après cette étape, la matrice B est triangulaire inférieure. Il reste à la substitution arrière. x n = b n,n+1 /b n,n Pour i = n [ 1,.., 1 x i = b i,n+1 ] n j=i+1 b i,jx j /b i,i 3.3 Nombre d opérations Nous obtenons ainsi le vecteur x. Comme nous l avons mentionné plus tôt, ce qui est important de savoir pour comparer deux algorithme, c est le nombre de multiplication et de division demandé par chacun. C est ces opérations qui demandent plus grand temps de calcul à l ordinateur, l addition et la soustraction sont beaucoup plus rapide. Pour cet algorithme, on peut vérifier que la première étape demande n3 +3n 5n multiplication/division. La deuxième 6 étape (la substitution arrière) en demande n +n. Ainsi, au total l algorithme nécessite n3 +6n n. Ainsi, on peut dire que le nombre d opérations est de 6 l ordre 3. 5

Supposons maintenant que nous connaissons la factorisation LU de la matrice A. Ainsi, le système Ax = b peut se réécrire LUx = b. Posons z = Ux. Nous avons donc que Lz = b. Ce système est rapide à résoudre, car la matrice L est triangulaire inférieure. Voici l algorithme pour trouver z, dit la substitution avant. Algorithme de substitution avant z 1 = b 1 Pour i =...n z i = b i i 1 j=1 L i,jz j Il ne reste plus que résoudre le système Ux = z. Il ne faut pas oublier que U est une matrice triangulaire supérieure. Ceci est la subtitution arrière qui est la même que la deuxième partie de l algorithme de Gauss. Algorithme de substitution arrière x n = z n /U n,n Pour i = n [ 1,.., 1 x i = z i ] n j=i+1 U i,jx j /U i,i Comptons le nombre d opération de ces deux algorithmes. Pour la substitution avant, il y a i 1 multiplications à l étape i. Ainsi, le nombre total est n i=1 (i 1) = n n. Pour la susbtitution arrière, on a n i + 1M/S pour l étape i et puisque i = 1...n 1, on au total n 1 i=1 (n i + 1) = n +n. Ainsi, l algorithme pour résoudre le système lorsque l on connaît la factorisation LU de A demande n multiplications/divisions. Le comptage des opérations nous permet donc de conclure que si nous connaissons la factorisation LU et que n est grand, il est plus plus rapide d utiliser la méthode de factorisation LU, O(n ), que la méthode de Gauss, O(n 3 ). 6

4 Simulations numériques Nous avons effectué une expérimentation a de vérifier le théorie ci-haut. Pour de matrices de tailles 500 jusqu à 000, nous avons calculé le temps nécessaire pour que l ordinateur résoudre un système Ax = b avec les deux algorithmes. Ainsi, les temps de calcul T G pour Gauss et T LU pour LU devraient respectivement être des formes T G (n) kn 3 et T LU (n) cn où k et c sont des constantes. En traçant le graphique log-log de ces deux fonctions, la pente de chaque droite devrait nous donner l ordre, c est-à-dire 3 pour Gauss et pour LU. Voici les pentes trouvées:.658 pour Gauss et 1.8679 pour la méthode LU. Cela ressemble très bien aux résultats théoriques. 1 0 1 3 4 5 6. 6.4 6.6 6.8 7 7. 7.4 7.6 7.8 8 Figure 1: Graphique loglog du temps de calcul en fonction de n. Les x est la méthode LU et les o est la méthode de Gauss Jusqu ici, nous avons supposer que la factorisation LU de la matrice A était connue. Cela est rarement le cas et on peut montrer grâce à l algorithme de la factorisation LU que l ordre d opération pour trouver L et U est aussi 3. Cela signifie donc que si nous avons un système à résoudre et que l on ne connaît pas L et U, alors les deux méthodes nécessitent le même ordre de 7

temps de calcul. Il ne faut toutefois pas douter de l utilité de la méthode de factorisation LU. Dans plusieurs situations en analyse numérique, notamment dans la résolution d EDO, il y a plusieurs sytèmes Ax i = b i à résoudre pour i = 1..M avec M grand. Puisque A en constant pour tous ces systèmes, il est donc avantageux de calculer une fois L et U et de résoudre par la méthode de factorisation LU les M systèmes. 5 Exercices 1. Trouver la factorisation LU de la matrice 5 1 4 3 3 0 4 (8). Démontrer que le nombre de multiplication/division de la factorisation LU est bel et bien de l ordre 3. Faites de même pour l algorithme d élimination de Gauss. Références [1] Burden, R.L., Faires, J.D. Numerical Analysis, (Brooks/Cole, 001): 7e edition. 8