Chapitre 5-Syst-Eq-Alg
Chapitre 5-Syst-Eq-Alg
Chapitre 5-Syst-Eq-Alg
Hasnaoui
I- Introduction
On présentera, dans ce chapitre, quelques méthodes largement utilisées pour la
résolution des systèmes linéaires et non linéaires. De tels systèmes sont souvent
rencontrés en ingénierie et dans divers autres domaines.
En désignant par b [b1 , b 2 ,..., b n ]t et en utilisant la notation matricielle on aura la
relation:
Ax b (2)
Remarque
Les matrices sont en général non singulières (inversibles), et la solution de l'équation
(2) peut être obtenue comme étant x A 1b . Seulement, le recours au processus
direct d'inversion de la matrice reste une option moins utilisée par comparaison à
d'autres alternatives qui offrent de meilleurs avantages.
32
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
a11 0 . . 0 x1 b1
0 . 0 . . .
. 0 . 0 . . = .
. 0 . 0 . .
0 . . 0 a nn x n b
n
bi
Pour ce système, la solution est immédiate: x i pour i = 1, …, n et elle est unique
a ii
si tous les termes diagonaux sont non nuls. Les systèmes diagonaux sont cependant
rarement rencontrés en pratique.
a11 0 . .0
a .
21 a 22 0 .
. . . 0 . (Tous les termes au dessus de la diagonale sont nuls).
. . . . 0
a n1 a n 2 . . a nn
Les systèmes triangulaires sont également faciles à manipuler. Il suffit de commencer
par l'équation se trouvant à la pointe du triangle i.e.; la première / (dernière) pour la
matrice triangulaire inférieure / (supérieure).
Exemple
1 0 0 0 x1 1
2 2 0 0 x 0
2 =
1 1 3 0 x 3 4
1 1 2 2 x 4 6
1
x 1 1
a11
b 2 a 21x1 0 2 x1
x 2 1
a 22 2
x b 3 a 31x1 a 32 x 2 4 (1) 1 1 (1) 2
3 a 33 3
x b 4 a 41x1 a 42 x 2 a 43 x 3 6 1 1 1 (1) (2) (2) 1
4 a 44 2
33
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
En fait:
b1
x1
a11
i 1
(b i a ik x k )
xi k 1 pour i = 2, 3, …, n (3)
a ii
Pour la remontée triangulaire on a:
bn
xn
a nn
n
(b i a ik x k )
xi k i 1 pour i = (n – 1), (n – 2), …, 2, 1 (4)
a ii
Pour les équations (3) et (4), tous les aii doivent être non nuls. Dans le cas contraire, la
matrice A ne serait pas inversible et le système Ax b n'aurait pas une solution
unique. En fait, le déterminant d'une matrice triangulaire (inférieure ou supérieure)
est:
n
dét (A) a ii
i 1
Un terme nul de la diagonale annulerait donc le déterminant de la matrice.
Il est à préciser que, pour la résolution d'un système linéaire, deux types de méthodes
sont possibles: la méthode directe et celle itérative.
Définition
Une méthode de résolution d'un système linéaire est dite directe si la solution du
système peut être obtenue par cette méthode en un nombre fini et prédéterminé
d'opérations.
Les méthodes directes permettent donc d'obtenir le résultat après un nombre connu
d'opérations. Le temps de calcul peut être estimé à l'avance. Pour les méthodes
itératives, le nombre d'opérations et le temps de calcul ne peuvent être prédits à
l'avance.
Les deux méthodes directes les plus utilisées sont la méthode de décomposition LU et
la méthode d'élimination de Gauss (triangularisation d'une matrice) qui est en fait un
cas particulier de la décomposition LU.
34
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Remarque
Si la matrice B n'est pas inversible, on ne peut plus retrouver le système (2) à partir de
(5).
Exemple
La solution du système
1 0 0 0 x1 1
3 2 0 0 x 7
2=
est x [1 2 1 2]t
2 1 1 0 x 3 1
1 1 1 1 x 4 2
1 0 0 0
1 2 0 0
B on obtient le nouveau système:
1 1 3 0
2 1 1 4
1 0 0 0 x1 1
7
4 0 0 x 2 15
= dont la solution est x [1 2 1 2]t .
4 5 3 0 x 3 3
1 7 5 4 x 4 16
35
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Remarque
Le déterminant de la matrice M ( i i ) est égal à . Cette matrice est inversible si
0.
La matrice inverse de M ( i i ) est M ( i i / ) . Il suffit donc de remplacer
1
par pour inverser la matrice M.
Exemple
Considérons le système
1 2 2 3 x1 7
1 1 3 1 x 2
2 = dont la solution est x [1 0 1 2]t .
2 3 1 1 x 3 5
1 1 2 2 x 4 3
1 0 0 0
0 3 0 0
M ( 2 3 2 ) =
0 0 1 0
0 0 0 1
On obtient:
1 2 2 3 x1 7
3
3 9 3 x 2 6
=
2 3 1 1 x 3 5
1 1 2 2 x 4 3
dont la solution est la même que celle du système initial puisque la matrice M est
inversible.
36
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Exemple
Pour intervertir les lignes 2 et 3 de l'exemple précédent, il suffit de multiplier le
système par la matrice:
1 0 0 0 1 2 2 3 x 1 7
0 0 1 0 2 3 1 1 x 5
P( 2 3 ) On obtient: 2=
0 1 0 0 1 1 3 1 x 3 2
0 0 0 1 1 1 2 2 x 4 3
Remarque
La matrice P( 2 3 ) est inversible, elle est son propre inverse, i.e.
P 1( 2 3 ) = P( 2 3 ) .
Le déterminant de la matrice P( 2 3 ) = -1. Ainsi, lorsque l'on permute deux lignes,
le déterminant du système de départ change de signe.
Exemple
Dans le système considéré en exemple, on désire remplacer la ligne 2 par la ligne
2 5 4 .
1 0 0 0 1 2 2 3 x1 7
0 1 0 5 6 4 7 9 x 17
T( 2 2 5 4 ) ce qui donne 2=
0 0 1 0 2 3 1 1 x 3 5
0 0 0 1 1 1 2 2 x 4 3
Remarques
La matrice T( i i j ) est inversible et son inverse est T 1( i i j ) =
T( i i j ) .
Le déterminant de T( i i j ) = 1.
Seule l'opération ( i i j ) n'a pas d'effet sur le déterminant. La permutation
de deux lignes en change le signe, tandis que la multiplication d'une ligne par un
scalaire multiplie le déterminant par ce même scalaire.
37
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Définition
Une matrice augmentée du système linéaire (1) est la matrice de dimension n (n 1)
obtenue en ajoutant le second membre b :
a11 a1n b1
a a 2n b 2
21
(6)
a b n
n1 a nn
Il est à noter que l'utilité de cette notation réside dans le fait que les opérations
élémentaires sont effectuées à la fois sur les lignes de la matrice A et sur celles du
vecteur b .
Remarque
Si l'on a à résoudre des systèmes de la forme Ax b avec k seconds membres b
différents et A fixé, on pourra alors construire la matrice augmentée contenant les k
seconds membres désirés. Dans ce cas, la matrice augmentée serait de dimension
n (n k ) .
Exemple
Considérons le système déjà vu:
1 2 7
2 3
1 1 3 1 2
(a11 = 1 est le pivot)
2 3 1 1 5
1 1 2 2 3
On effectue des opérations élémentaires pour annuler tous les éléments (3 éléments)
sous le pivot trois opérations élémentaires:
T1( ) , T2 ( 2 ) et T3( )
2 2 1 3 3 1 4 4 1
1 2 2 3 7
0 3 5 2 9
(a22 = 3 est le nouveau pivot)
0 1 5 7 19
0 1 0 5 10
Puis on effectue d'autres opérations élémentaires pour annuler les termes sous le
nouveau pivot:
38
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
T4 ( 2 ) et T5 ( 2 )
3 3 4 4
3 3
1 2 2 3 7
0 3 5 2 9
10 19 10
0 0 16 (a33 = - est le nouveau pivot)
3 3 3
5 13
0 0 7
3 3
On effectue une dernière opération pour annuler le terme sous le nouveau pivot:
T6 ( 3 ) . On obtient:
4 4
2
1 2 2 3 7
0 3 5 2 9
10 19
0 0 16
3 3
15
0 0 0 15
2
x 4 2
10
x 3 16 19 x 4 x 3 1
3 3
3x 2 9 5x 3 2x 4 x 2 0
x1 7 2x 2 2x 3 3x 4 x1 1
1 0 0 0 1 0 0 0 1 0 0 0
1 1 0 0 0 1 0 0 0 1 0 0
T 1 ; T21 ; T31 ;
1 0 0 1 0 2 0 1 0 0 0 1 0
0 0 0 1 0 0 0 1 1 0 0 1
1 0 0 0 1 0 0 0 1 0 0 0
0 0
0 1 0 0 1 0 0
; T5 0
1 0 0
T
1
1 1 1
0 1 0 ; T6 0 0 1 0
4 0 1 0
3 1 1
0 0 1 0 0 1
0 0 0 1 3 2
Ainsi:
1 0 0 0
1 1 0 0
T11T21T31T41T51T61 2
1
1 0
3
1 1
1 3 2 1
39
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
et
A T11T21T31T41T51T61U =
1 0 0 0 1 2 2 3 1 2 2 3
1 1 0 0 2
1
0 3 5
1 1 3
2 1 =
10 19
1 0 0 0
3 3 3 2 3 1 1
1 1 15
1 3 1 0 0 0
2
1 1 2 2
2
Remarque
Le déterminant de la matrice de départ A est le même que celui de la matrice
triangulaire U puisque les opérations effectuées sont de la forme ( i i j ) ce
qui revient à multiplier le système de départ par une matrice dont le déterminant est
égal à 1.
10 15
Ainsi dét (A) = dét (U) = 1 3 = 75
3 2
Autre exemple
Considérons le système linéaire suivant:
2 2 2 1 9
1 1 3 1 8
(a11 = 2 est le pivot) et la solution est x [1 2 4 3] t
2 2 1 2 12
3 1 1 2 7
On élimine les chiffres au dessous du premier pivot (a11 = 2). Les opérations
nécessaires sont:
T1( 1 ) , T2 ( ) et T3( 3 )
2 2 3 3 1 4 4 1
2 2
2 2 2 1 9
3 7
0 0 2
2 2 On intervertit les lignes 2 et 4 pour éviter un pivot nul.
0 0 3 3 21
1 13
0 4 4
2 2
2 2 2 1 9
1 13
0 4 4 2
P4 ( ) 0 0 3 3 2 Comme il n'y a que des zéros sous le pivot
21
2 4
3 7
0 0 2
2 2
a22 = 4, on passe à la colonne suivante pour considérer le nouveau pivot a33 = 3
T5 ( 2 )
4 4 3
3
40
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
C'est-à-dire:
0 0 2 2 2
2 2 2 1 1
1 0 1
1 1 3 1 2 1
0 1 0 4 4
= 2 3 2
3
2 2 1 2 1 0 1 0
0 0 3
3 7
3 1 1 2 1 0 0 0 0 0
2 2
V- Décomposition LU
1- Principe de la méthode
Admettons qu'on a déjà réussi à décomposer la matrice A en un produit de deux
matrices triangulaires i.e. A L U . Dans ce cas, pour résoudre Ax LUx b , on
pose Ux y et la résolution du système linéaire se fait en deux étapes:
Ly b y
Ux y x
On obtient ainsi deux systèmes triangulaires. Une descente triangulaire sur la matrice
L permet de calculer y . On procède ensuite à une remontée triangulaire sur la matrice
U pour obtenir la solution recherchée x .
Remarque
La décomposition LU n'est pas unique puisqu'un nombre réel peut s'écrire comme
étant le produit de deux autres nombres d'une infinité de façons. Il en est de même
pour les matrices.
Comme la décomposition LU n'est pas unique, on peut faire au préalable des choix
arbitraires. Un choix très populaire consiste à imposer des 1 sur la diagonale de la
matrice U: c'est la décomposition de Crout.
41
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
2- Décomposition de Crout
On va limiter le raisonnement à une matrice de dimension 44. Ce raisonnement reste
valable pour des matrices de plus grandes tailles.
Dans la décomposition de Crout, il s'agit de déterminer les coefficients ij (éléments
de la matrice triangulaire inférieure) et uij (éléments de la matrice triangulaire
supérieure) des matrices L et U de sorte que A = UL. On doit avoir:
a 11 a 12 a 13 a 14 11 0 0 0 1 u 12 u 13 u 14
a a 22 a 23 a 23 21 22 0 0 0 1 u 23 u 24
21 =
a 31 a 32 a 33 a 34 31 32 33 0 0 0 1 u 34
a 41 a 42 a 43 a 44 41 42 43 44 0 0 0 1
Donc au total il y a 42 = 16 inconnus (n2 dans le cas d'une matrice de rang n). Les 16
équations nécessaires pour déterminer les coefficients ij et uij sont obtenues en
faisant le produit des matrices L et U et en utilisant les coefficients aij (connus) de la
matrice A. Les différentes opérations se déroulent comme suit:
42
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
-Algorithme général
Décomposition LU sans permutation de lignes
Première colonne de L
i1 a i1 pour i = 1, 2, …, n (7)
Première ligne de U
a
u 1i 1i pour i = 2, 3, …, n (8)
11
Calcul de nn
n 1
nn a nn nk u kn (12)
k 1
43
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Remarque
L'algorithme précédent n'est valable que si les pivots ii sont tous non nuls.
Définition
Dans le cas d'une matrice 44, la notation compacte de la décomposition LU est la
matrice de coefficients:
11 u 12 u 13 u 14
22 u 23 u 24
21
31 32 33 u 34
41 42 43 44
Exemple
Considérons l'exemple déjà traité avant:
1 2 2 3 x1 7
1 1 3 1 x 2
2 = dont la solution est x [1 0 1 2]t .
2 3 1 1 x 3 5
1 1 2 2 x 4 3
44
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Première colonne de L
1 2 2 3
1 1 3 1
La première colonne de L est la première colonne de A.
2 3 1 1
1 1 2 2
Première ligne de U
Le pivot de la première ligne est 1 on divise la première ligne de A par 1:
1 2 2 3
1 1 3 1
(Cette matrice contient la première colonne de L et la première ligne de U).
2 3 1 1
1 1 2 2
Deuxième colonne de L
De la relation (10) on déduit:
22 a 22 21u 12 = 1-(-1)2 = 3
32 a 32 31 u 12 = 3 -22 = -1
42 a 42 41 u 12 = 1 -22 = -1
1 2 2 3
1 3 3 1
2 1 1 1
1 1 2 2
Deuxième ligne de U
De la relation (11) on obtient:
a u 3 (1) 2 5
u 23 23 21 13 =
22 3 3
a u 1 (1) 3 2
u 24 24 21 14 =
22 3 3
1 2 2 3
5 2
1 3
3 3
2 1 1 1
1 1 2 2
Troisième colonne de L
On utilise la relation (10):
5 10
33 a 33 31 u 13 32 u 23 = 1 2 2 (1)
3 3
45
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
5 5
43 a 43 41 u 13 42 u 23 = 2 1 2 (1)
3 3
1 2 2 3
5 2
1 3
3 3
10
2 1 1
3
1 1 5
2
3
Calcul de 44
De la relation (12) on obtient:
2 5 19 15
44 a 44 41u14 42u 24 43u34 = 2 1 3 (1)
3 3 10 2
1 2 2 3
5 2
1 3
3 3
10 19 : C'est la matrice compacte finale.
2 1
3 10
5 15
1 1
3 2
Résolution de Ly b
On utilise l'algorithme de la descente triangulaire, on obtient:
46
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
24
y1 7 ; y 2 3 ; y 3 et y 4 2
5
Résolution de Ux y
On utilise l'algorithme de la remontée triangulaire pour déterminer les xi. On obtient:
x 4 2 ; x 3 1 ; x 2 0 et x1 1 .
Remarque
Dans une décomposition LU, la permutation des lignes s'effectue toujours après le
calcul d'une colonne de L.
Exemple
0 1 2 3 x 1 3 1
1 1
1 2 x 2 6 2
= dont la solution est x [1 1 2 2] et S
t
2 1 0 2 x 3 3 3
2 4 2 2 x 4 10 4
Première colonne de L
C'est la première colonne de A. On a:
0 1 2 3 1
1 1 1 2
et S 2
2 1 0 2 3
2 4 2 2 4
Puisque le premier pivot est nul, on effectue l'opération 1 4 (le plus grand pivot
se trouve dans les lignes 3 et 4):
2 4 2 2 4
1
1 1 2 2
et S
2 1 0 2 3
0 1 2 3 1
Première ligne de U
On divise la première ligne de A par le pivot 2:
47
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
2 2 1 1 4
1
1 1 2 2
et S
2 1 0 2 3
0 1 2 3 1
Deuxième colonne de L
On utilise la relation (10) pour déduire:
22 a 22 21u 12 = 1-(1)2 = -1
32 a 32 31 u 12 = 1 -22 = -3
42 a 42 41 u 12 = 1 -02 = 1
2 2 1 1 4
1 1 1 2
et S 2
2 3 0 2 3
0 1 2 3 1
Deuxième ligne de U
De la relation (11) on obtient:
a u 1 (1) (1)
u 23 23 21 13 = 0
22 1
a u 2 (1) 1
u 24 24 21 14 = 1
22 1
2 2 1 1 4
1 1 0 1
et S 2
2 3 0 2 3
0 1 2 3 1
Troisième colonne de L
On utilise la relation (10):
33 a 33 31 u 13 32 u 23 = 0 2 (1) (3) 0 2
43 a 43 41 u 13 42 u 23 = 2 0 (1) (1) 0 2
2 2 1 1 4
1 1 0 1
et S 2
2 3 2 2 3
0 1 2 3 1
48
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
2 2 1 1
1 1 0 1 4
2
2 3 2 3 et S
3
2
1
0 1 2 3
Calcul de 44
De la relation (12) on obtient:
3
44 a 44 41u14 42u 24 43u34 = 3 0 1 (1) (1) 2 7
2
La décomposition LU de A est:
2 2 1 1
1 1 0 1 4
2
2 3 2 3 et S
3
2
1
0 1 2 7
Le produit LU donne:
2 0 0 0 1 2 1 1 2 4 2 2
1 1 1 1
0 0 0 1 0 1 1 2
3 =
2 3 2 0 0 0 1 2 1 0 2
2
0 1 2 7 0 0 0 1 0 1 2 3
On obtient donc la matrice A permutée suivant le vecteur S .
Pour résoudre Ax b , compte tenu de S , on résout d'abord:
2 0 0 0 y1 10 y 1 5
1 1
0 0 y 2 6 y2 1
= (on écrit b permuté selon S )
2 3 2 0 y 3 3 y3 5
0 1 2 7 y 4 3 y 4 2
Maintenant:
1 2 1 1 x 1 5 x1 1
0 1 0 1
x2 1 x 2 1
3 =
0 0 1 x 3 5 x3 2
2
0 0 0 1 x 4 2 x 4 2
Remarque
dét(A) = (-1)[2(-1) 27] = 28
49
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Théorème
On peut calculer le déterminant d'une matrice A à l'aide de la méthode de
décomposition LU de la façon suivante:
n
dét(A ) (-1) N ii
i 1
où N est le nombre de fois où on a permuté des lignes.
2- Formulation
On considère le système non linéaire suivant:
f1 ( x 1 , x 2 ,..., x n ) 0
f ( x , x ,..., x ) 0
2 1 2 n
(1)
f n ( x 1 , x 2 ,..., x n ) 0
n
f 1 n n 2fi 0
f i (X e ) f i (X 0 ) ( x ej x 0j ) i (X 0 ) ( x ej x 0j )(x ek x 0k ) (X )
j1 x j 2 j1 k 1 x j x k
+… avec i = 1, 2, …, n (2)
n
f
f i (X 0 ) ( x 1j x 0j ) i (X 0 ) 0 (3)
j1 x j
i = 1, 2, …, n
L'équation (3), valable pour chaque indice i, peut s'écrire sous la forme d'un système
linéaire:
50
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
f10 f 0
x 10 ... 1 x 0n f10
x 1 x n
(4)
f n0 f n0
x 10 ... x 0n f n0
x 1 x n
f i0 f i0 0
avec (X ) ; f i0 f i (X 0 ) et x i0 x1i x i0
x j x j
f 0 f1 ( x 10 , x 02 ,, x 0n )
0 1
F (8)
f n0 f n ( x 10 , x 02 ,, x 0n )
3- Méthode de Newton
En faisant l'estimation de départ, J 0 et F 0 peuvent alors être déterminés à partir des
équations (6) et (8), respectivement. La résolution de (5) donne 0 et la nouvelle
estimation sera déduite de l'égalité X1 0 X 0 .
Si X 0 est suffisamment voisin de X e , X1 serait alors une meilleure approximation
que X 0 .
Le processus est ensuite itéré à partir de la nouvelle approximation X1 de X e . Le
processus itératif peut s'écrire sous la forme compacte suivante:
k k
J F k (9)
Le prochain vecteur à partir duquel le processus itéré sera:
X k 1 X k k (10)
51
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Si les éléments de J sont continus au voisinage de X e avec dét ( J ) 0 et si X 0 est
voisin de X e , la suite X k est convergente et on a:
lim X k X e (11)
k
Remarque
Les risques de divergence du code numérique sont fréquents lorsqu'il s'agit de traiter
numériquement un système d'équations non linéaires. Aussi, est-il indispensable,
avant de lancer le programme, de prévoir l'arrêt du processus itératif après un nombre
d'itérations kmax fixé à l'avance.
4- Méthode de Picard
On reprend l'écriture du système (4):
f10 f10
x 10 ... x 0n f10
x 1 x n
(12)
f n0 f n0
x10 ... x 0n f n0
x1 x n
f 20 f 20 f 20 n f 20
x 1
x 10
x 2
x 02
x 3
x 30 f 20 xj x init
j d2
j4
(13)
n 3
f n01 f n01 f n01 f n01
x n 2
x 0n 2
x n 1
x 0n 1
x n
x 0n f n01 xj
x init
j d n 1
j1
n 2
f n0 f 0 f n0 init
x n 1
x 0n 1 n x 0n
x n
f n0 xj j
x dn
j1
où les di représentent les quantités qui figurent dans le membre de droite de (13).
La résolution de (13) donne X1 comme une nouvelle approximation de la solution à
partir de laquelle le processus est ensuite itéré:
X1 X 0 0
52
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
Remarque
Il est à noter que, une fois satisfaits, ces critères ne signifient pas toujours que X k est
une bonne approximation de X e et ne fournissent aucune estimation quant à la
précision de la solution.
Formulation
On considère le système non linéaire défini par:
f1 (x1 , x 2 , x 3 ) x15 x 32 x 34 1 0
f 2 (x1 , x 2 , x 3 ) x12 x 2 x 3 0 (1)
f 3 (x1 , x 2 , x 3 ) x 34 1 0
- Le système non linéaire proposé admet une solution analytique (à déterminer) qui
sera prise comme référence.
- Elaborer un code numérique adéquat utilisant les méthodes de Newton et de Picard
pour résoudre le système (1).
- Comparer les performances de ces deux méthodes.
53
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
54
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
DO 69 I = 1, N
69 DD(I) = D(I)
SUM = 0.
DO 70 I = 1, N
70 SUM = SUM + DABS(F(I))
IF(SUM.GT.EPS) GO TO 38
X = X + D(1)
Y = Y + D(2)
Z = Z + D(3)
GO TO 46
38 CONTINUE
X = X + D(1)
Y = Y + D(2)
Z = Z + D(3)
ITER = ITER + 1
2 CONTINUE
STOP
END
C Subroutine qui résout un système d’équations linéaires par la méthode
C de réduction de Jordan
SUBROUTINE GAUSS (N, QS, FF, RS, IND, EPS)
IMLPICIT REAL*8 (A-H, O-Z)
DIMENSION B(3, 4), QS(N), RS(N), FF(N, N)
NPL1 = N+1
DO 11 J = 1, N
DO 12 J = 1, NPL1
IF(J.LE.N) THEN
B(I, J) = FF(I, J)
ELSE
B(I, J) = -QS(I)
END IF
12 CONTINUE
11 CONTINUE
DO 9 K = 1, N
IF(DABS(B(K, K)).GT.EPS) THEN
IND = 1
GO TO 5
ELSE
IND = 0
GO TO 1111
END IF
5 KP1 = K + 1
DO 6 J = KP1, NPL1
B(K, J) = B(K, J)/B(K, K)
6 CONTINUE
B(K, K) = 1.
DO 9 I = 1, N
55
Parcours Energétique - Système d’équations algébriques M. Hasnaoui
IF(I.EQ.K.OR.B(I, K).EQ.0.) GO TO 9
DO 8 J = KP1, NPL1
B(I, J) = B(I, J) – B(I, K)*B(K, J)
8 CONTINUE
B(I, K) = 0.
9 CONTINUE
DO 13 I= 1, N
RS(I) = B(I, NPL1)
13 ONTINUE
1111 RETURN
END
C Le sous programme TRIDAG
SUBROUTINE TRIDAG (IF, L, A, B, C, D, V)
IMPLICIT REAL *8(A-H, O-Z)
DIMENSION A(1), B(1), C(1), D(1), V(1), BETAT(31), GAMA(31)
BEATA(IF)=B(IF)
GAMA(IF)=D(IF)/BETAT(IF)
IFP1=IF+1
DO 1 I=IFP1,L
BETAT(I)=B(I)-A(I)*C(I-1)/BETAT(I-1)
GAMA(I)=(D(I)-A(I)*GAMA(I-1))/BETAT(I)
1 Continue
V(L)=GAMA(L)
LAST=L-IF
DO 2 K=1,LAST
I=L-K
V(I)=GAMA(I)-C(I)*V(I+1)/BETAT(I)
2 Continue
Return
End
56