info

Disponible uniquement sur Etudier
  • Pages : 7 (1549 mots )
  • Téléchargement(s) : 0
  • Publié le : 4 janvier 2014
Lire le document complet
Aperçu du document
SYSTEME LINEAIRE

Ax=b : un cas simple
A est une matrice diagonale
 a11

 0
 0

 
 0


problème
0 0  0 

 0   
0 aii 0
0 

 0  0 
 0 0 ann 


 x1   b1 
   
  
 x  =b 
 i  i
  
 x  b 
 n  n

solution
bi
xi =
aii

Algorithme
Fonction x = diago(A,b)
pour i = 1 jusqu' à n
bi
xi ←
aii
fait

,i ∈ [1, n]

A est de forme triangulaire
 a11

 
a
 i1
 
a
 n1

0 0
 0
 aii
 
 ani




0 

 
0
0 

 0 
 ann 


Fonction x = triang(A,b)

 x1   b1 
   
   
 x  =b 
 i  i
   
 x  b 
 n  n
x1 ←

b1

 x1 = a

1

i −1

1
 xi =  bi − ∑ aij x j 



aii 
j =1


sommeb1
a11

pour i = 2 jusqu' à n
somme ← bi

fait

pour j = 1 jusqu' à i − 1
somme ← somme − aij x j
fait
somme
xi ←
aii

Commentaires sur le programme « diago »
• Complexité ?
n

• Déterminant :

det( A) = ∏ aii
i =1

• que se passe t’il si A est triangulaire supérieure ?
• Exercice :

Quels sont les âges d ’Alice, de Louis, Sacha et Gaspar ?
Sachant que trois fois lasomme des âges des garçons est
égale à la somme des âges des filles, que l’âge d’Alice
moins trois fois la somme des âges de Louis et de Sacha
est égal à moins neuf, que trois fois l’âge de Louis est égal
à vingt sept, et que l’âge de Louis moins deux fois l’âge
de Sacha est égal à 3.

Pivot de Gauss
4 principes fondamentaux
On ne change pas la solution lorsque l’on :
1. permute 2lignes
2. permute 2 colonnes
3. divise par un même terme non nul les éléments d’une ligne
4. ajoute ou retranche à une ligne un certain nombre
de fois une autre ligne

Stratégie : Transformer le système linéaire
en un système équivalent … facile à résoudre
Triangulaire !

Pivot de Gauss : un exemple

pivot (1)

2 x1 + 4 x2
 x + 3x
 1
2

3x1 − x2

− x2


− 2 x3
+ x3
+ 2x3

+ x4
+ 2 x4
+ x4

= −6
= 0
= 8
= 6

Pivot de Gauss : un exemple

(2) = (2)-a21/pivot (1)

2 x1 + 4 x2
 x + 3x
 1
2

3x1 − x2

− x2


− 2 x3
+ x3
+ 2 x3

+ x4
+ 2 x4
+ x4

= −6
= 0
= 8
= 6

Pivot de Gauss : un exemple

(2) = (2)-a21/pivot (1)

2 x1 + 4 x2
 x + 3x
 1
2

3x1 − x2

− x2


− 2 x3
+ x3
+ 2 x3

2 x1 + 4 x2
 0+ x

2

3x1 − x2

− x2


− 2 x3
+ x3
+ x3
+ 2 x3

+ x4
+ 2 x4
+ x4

= −6
= 0
= 8
= 6

+ x4
+ 2 x4
+ x4

= −6
= 3
= 8
= 6

Pivot de Gauss : un exemple
+ x3
+ 2 x3

2 x1 + 4 x2
 0
+ x2


 0 − 7 x2

− x2


(3) = (3)-a31/pivot (1)

2 x1 + 4 x2
 x + 3x
 1
2

3x1 − x2

− x2


− 2 x3

− 2 x3
+ x3
+ 4 x3
+ 2 x3

+ x4
+2 x4
+ x4

+ x4
+ 2 x4
+ x4

= −6
= 0
= 8
= 6
= −6
= 3
= 17
= 6

Le première variable à été éliminée de toutes les équations sauf une

L’algorithme du pivot de Gauss
1. Triangularisation

pour k = 1 jusqu' à n − 1
Fonction A,b = descent(A,b) pivot ← akk
(* stratégie de pivot *)
si pivot ≠ 0 alors

Ax=b

fait

pour i = k + 1 jusqu' à n
aik
bi ← bi −
bk
pivotpour j = k + 1 jusqu' à n
aik
aij ← aij −
akj
pivot
fait
fait
sinon " problème"

2. Résolution du système triangulaire

Gauss : résolution d’un système triangulaire
 a11

 0
 0

 
 0


 a1i
 
0 aii
 0
 0

 a1n 

  
 ain 

  
0 ann 


Fonction x = triang(A,b)

 x1   b1 
   
  
 x  =b 
 i  i
  
 x b 
 n  n

bn

 xn = a

n

n

1
 xi =  bi − ∑ aij x j 


aii 
j =i +1



somme

bn
xn ←
ann
pour i = n − 1 jusqu' à 1
somme ← bi

fait

pour j = i + 1 jusqu' à n
somme ← somme − aij x j
fait
somme
xi ←
aii

Gauss
Fonction x = Gauss(A,b)
U,c = descent(A,b)
x = triang(U,c)

Remarques
Choix du pivot : minimiser les erreurs d’arrondis...
tracking img