0% ont trouvé ce document utile (0 vote)
38 vues2 pages

TP2: M Ethodes Directes Pour Les Syst' Emes Lin Eaires: 1.1 M Ethode Du Pivot Simple

Ce document présente un TP sur les méthodes directes pour résoudre des systèmes linéaires, en se concentrant sur la méthode de Gauss et le pivot partiel. Il propose des exercices pratiques, incluant la programmation de fonctions dans Scilab pour effectuer des opérations sur les matrices et résoudre des systèmes. En outre, il aborde la factorisation LU et la factorisation de Cholesky, avec des instructions pour programmer des algorithmes spécifiques et analyser leur efficacité.

Transféré par

fodjojeanyves
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues2 pages

TP2: M Ethodes Directes Pour Les Syst' Emes Lin Eaires: 1.1 M Ethode Du Pivot Simple

Ce document présente un TP sur les méthodes directes pour résoudre des systèmes linéaires, en se concentrant sur la méthode de Gauss et le pivot partiel. Il propose des exercices pratiques, incluant la programmation de fonctions dans Scilab pour effectuer des opérations sur les matrices et résoudre des systèmes. En outre, il aborde la factorisation LU et la factorisation de Cholesky, avec des instructions pour programmer des algorithmes spécifiques et analyser leur efficacité.

Transféré par

fodjojeanyves
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

CMI, Université de Provence Licence 3ème année

Année 2010-2011

TP2 : Méthodes directes pour les systèmes linéaires

1 Méthode de Gauss
Dans cette rubrique on programme le pivot de Gauss dans un premier temps sans faire de
recherche de pivot, puis avec la méthode du pivot partiel.

1.1 Méthode du pivot simple


Vous pouvez

• Soit vous lancer directement dans la programmation du pivot de Gauss avec l’algorithme
étudié en cours et la tester pour résoudre les systèmes suivants.



 x1 + 2x2 + 4x3 + 8x4 + 16x5 = 31
6x1 + x2 + x3 + x4 = 2


2x1 + 4x2 + 8x3 + 16x4 + 31x5 = 61

 

x1 − x2 + 2x3 + 3x4 = 5.1
 
4x1 + 8x2 + 16x3 + 31x4 + 61x5 = 120
−x1 + 2x2 + x3 − x4 = 3
8x1 + 16x2 + 31x3 + 61x4 + 120x5 = 236

 

x1 + 3x2 − x3 + x4 =1
 

16x1 + 31x2 + 61x3 + 120x4 + 236x5 = 464

Tester ensuite ce que vous donne la commande \ de Scilab. Que s’est-il passé ?

• Soit suivre les instructions suivantes qui vous proposent de détailler un certain nombre
de fonctions intermédiaires avant d’obtenir le programme final à tester sur les mêmes
matrices.

A vous de choisir !!

1. Soit A une matrice carrée et b un vecteur colonne ayant le même nombre de lignes que
A. A quoi correspond [A b] dans Scilab ?

2. Fabriquer une fonction operationlin qui fait la somme d’une ligne donnée avec une
autre multipliée par une constante donnée.

3. Fabriquer une fonction resoltriang qui résout un système triangulaire T x = c où T


est une matrice triangulaire supérieure et c un vecteur qui a le même nombre de lignes
que T sans utiliser la commande \ de Scilab.

4. En déduire le programme qui vous permet de résoudre un système linéaire à l’aide de


la méthode de Gauss et l’appliquer aux deux systèmes proposés dans l’introduction.

1.2 Méthode du pivot partiel


De même que précédemment, vous pouvez

• Soit programmer la méthode du pivot partiel directement (on recherche dans la colonne
sur laquelle on travaille l’élément maximal non nul en dessous de la diagonale et on
permute la ligne correspondante pour la placer comme ligne de pivot).

1
• Soit fabriquer les programmes intermédiaires qui sont détaillés ci-dessous.

1. Fabriquer une fonction nonzero qui permet de rechercher l’élément de valeur absolue
maximale et non nul sous la diagonale d’une colonne donnée et qui renvoie la ligne à
laquelle il appartient.

2. Fabriquer une fonction permute qui permet d’échanger deux lignes dans une matrice
donnée.

3. En déduire le programme pour le pivot partiel.

2 Systèmes linéaires et factorisation LU


La commande lu de Scilab permet d’effectuer la factorisation LU d’une matrice.

1. Programmer une fonction qui permet de résoudre le système linéaire Ax = b à l’aide


de la factorisation LU d’une matrice.

2. L’appliquer pour résoudre le système




 3x1 − 7x2 − 2x3 + 2x4 = −9

 −3x1 + 5x2 + x3 =5

 6x1 − 4x2 − 5x4 =7

−9x1 + 5x2 − 5x3 + 12x4 = 11

3. Comment pourriez-vous adapter votre programme sur le pivot de Gauss pour obtenir
aussi la décomposition LU d’une matrice A ?

3 Factorisation de Cholesky
1. Programmer l’algorithme écrit lors de la résolution de l’exercice 9 du Td 1 pour la
factorisation de Cholesky d’une matrice tridiagonale en ajoutant un compteur qui
vous permet à la fin d’obtenir le nombre d’opérations que vous avez effectué lors de la
factorisation.

2. Pouvez vous résoudre des systèmes linéaires en utilisant la factorisation de Cholesky


d’une matrice symétrique définie positive ?

3. Le tester sur des matrices tridiagonales A = (ai,j ) telle que ai,i = 2 et ai,i+1 = ai,i−1 =
−1 de taille n × n. Tracer la courbe du nombre d’opérations en fonction de n.

Vous aimerez peut-être aussi