REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
Paix – Travail – Patrie Peace – Work – Fatherland
UNIVERSITE DE YAOUNDE 1 UNIVERSITY OF YOUNDE 1
Sapientia – Collativa – Cognitio Sapientia – Collativa – Cognitio
ECOLE NATIONALE SUPERIEURE NATIONAL ADVANCED SCHOOL
POLYTECHNIQUE OF
DE YAOUNDE ENGINEERIN OF YAOUNDE
DEPARTEMENT DE GENIE CIVIL CIVIL ENGINEERING
DEPARTTMENT
Sous la supervision de :
Dr JAQUES TAGOUDJEU
Présenter par :
N° NOMS ET PREMOMS MATRICULES CLASSE
01 DJIONANG NAGUE ULRICH MANUEL (Chef) 19P077 3GC
02 SIKOUNMO KAMDEM CELESTIN 19P036 3GC
03 ONDOUA MARTIN FRANC 21P510 3GC
04 NGONGANG KOBOU WILLY CEDRIC 19P120 3GC
Projet de méthode numérique
TABLE DES MATIERES
TABLE DES MATIERES..............................................................................................1
LISTE DES FIGURES.................................................................................................. 2
INTRODUCTION.......................................................................................................3
OBJECTIF..................................................................................................................4
PROJET 1 : FACTORISATION LU AVEC LA « STRATEGIE DU ROOK PIVOTING »..... 4
1. Recherche et positionnement du pivot........................................................5
2. Fonction d’implémentation de la méthode sous Matlab............................ 7
i. Code............................................................................................................7
ii. Résultat.......................................................................................................8
3. Test sur la matrice de Hilbert........................................................................9
i. Code............................................................................................................9
ii. Résultat.......................................................................................................9
4. Nombre de comparaison............................................................................ 10
i. Code..........................................................................................................10
ii. Résultat.................................................................................................... 10
PROJET 2 : FACTORISATION QR............................................................................ 11
1. Quelques Factorisation QR......................................................................... 11
a) Sur Gramm-Schmidt et sa version modifiée........................................... 11
b) Sur la factorisation de Householder.....................................................13
2. Implémentation sous matlab......................................................................15
a) Sur Gramm-Schmidt.................................................................................15
b) Sur Gramm-Schmidt version modifiée.................................................16
c) Sur la factorisation de Householder........................................................17
3. Test sur une matrice de Hilbert.................................................................. 18
CONCLUSION.........................................................................................................21
REFERENCES..........................................................................................................22
1
Projet de méthode numérique
LISTE DES FIGURES
Figure 1:factorisation LU methode de dootlittle................................................... 5
Figure 2 : algorithme de factorisation LU avec une strategie du rook pivoting... 6
Figure 3 resultat de la factorisation LU de A: affichage de L et U......................... 8
Figure 4:affichage des matrices de permutation P et Q........................................9
Figure 5: Test sur la matrice de hilbert ||PHQ-LU|| en fonction de n...............10
Figure 6: nombre moyen de comparaisons effectuées par cette méthode....... 11
Figure 7:Algorithme 13 : procédé d’orthonormalisation de Gram–Schmidt......12
Figure 8:Algorithme 14 : procédé de Gram–Schmidt modifié............................ 13
Figure 9: factorisation QR gram-schmidt.............................................................16
Figure 10: factorisation QR avec gram-schmidt modifié.....................................17
Figure 11: Factorisation QR par householder......................................................18
Figure 12: graphique de ||A-QR|| en fonction de n la taille de la matrice....... 19
Figure 13: graphique de ||QQt-I|| en fonction de la taille de la matrice..........20
Tableau 1: histogramme de la méthode de gram-Schmidt modifié................... 12
2
Projet de méthode numérique
INTRODUCTION
Certains problèmes de mathématiques peuvent être résolus numériquement (c.-à-d.,
sur ordinateur) de façon exacte par un algorithme en un nombre fini d'opérations. Ces
algorithmes sont parfois appelés méthodes directes ou qualifiés de finis. Des exemples sont
l’élimination de Gauss-Jordan pour la résolution d’un système d’équations linéaires et
l’algorithme du simplexe en optimisation linéaire. En En ingénierie ingénierie civil, la
résolution de plusieurs problèmes se ramène très souvent à la résolution d’un système de la
forme AX=B. plusieurs méthodes de factorisation de la matrice A (afin de partir d’une
équation de la forme AX=B complexe à résoudre pour un système à deux équations de cette
forme dont la résolution est très simple) ont été introduites. Parmi ses méthodes nous
pouvons parler de la méthode de factorisation LU et de la méthode de factorisation QR .c’est
d’ailleurs ces deux méthodes que nous allons approfondir tout au long de notre travail en
insistant sur la factorisation LU par la méthode du <<rook pivoting>> testée sur une matrice
de Hilbert, puis les méthodes de la factorisation QR basée sur l’orthogonalisation de
Gramm-Schmidt et sa version modifiée, ainsi que sur la factorisation de Householder. Tous
les algorithmes seront implémentés sous matlab.
3
Projet de méthode numérique
OBJECTIF
L’objectif de ce projet est de :
Implémenter et tester l’algorithme de la factorisation LU des matrices avec la
stratégie du « Rook Pivoting »
Présenter, implémenter et tester quelques méthodes de la factorisation QR.
PROJET 1 : FACTORISATION LU AVEC LA « STRATEGIE DU ROOK PIVOTING »
Dans la suite considérons les notations suivantes :
A =(��,� )�∗� une matrice de ℝ�∗�
�(�) = état de la matrice A à l’étape k de la factorisation de Gauss
L=(��,� )�∗� matrice triangulaire inferieur
U=(��,� )�∗� matrice triangulaire inferieure
On cherche L et U telles que A=LU.
La factorisation LU est particulièrement avantageuse lorsque l’on doit résoudre
plusieurs systèmes linéaires ayant tous A pour matrice, mais des seconds membres
différents. En effet, il suffit de conserver les matrices L et U obtenues à l’issue de la
factorisation pour ramener ensuite la résolution de chaque système linéaire Ax = b à celle de
deux systèmes triangulaires, Ly = b, et Ux = y, ce que l’on accomplit à chaque fois en
effectuant n(n−1) additions, n(n−1) multiplications et 2n divisions.
4
Projet de méthode numérique
Figure 1:factorisation LU methode de dootlittle
1. Recherche et positionnement du pivot
Revenons à présent sur le choix des pivots lors de l’élimination. À l’étape k+1 du
(�)
procédé, si l’élément ��+1,�+1 est non nul, il semble naturel de l’utiliser comme pivot (c’est
d’ailleurs ce que l’on fait dans la méthode de Gauss sans échange). Cependant, à cause de la
présence d’erreurs d’arrondi en pratique, cette manière de procéder est en général à
proscrire.
Pour éviter la propagation d’erreurs et obtenir une meilleure stabilité numérique de
la méthode, il faut chercher, même dans le cas où le pivot «naturel» est non nul, à choisir le
plus grand pivot en valeur absolue. On peut pour cela suivre, au début de l’étape k+1 (0 ≤ k ≤
n−2), de l’élimination
• soit une stratégie de pivot partiel (partial pivoting en anglais) dans laquelle le pivot
(�)
est l’élément ��,�+1 de la � + 1℮ colonne de la matrice �(�) situé sous la diagonale ayant la
plus grande valeur absolue,
(�) (�)
|��,�+1| = ����+1≤�≤� |��,�+1 |
• soit une stratégie de pivot total (complete pivoting en anglais), plus coûteuse, dans
(�) (�)
laquelle le pivot est l’élément ��,� de la sous-matrice (��,� )k+1≤i,j≤n le plus grand en valeur
absolue,
5
Projet de méthode numérique
(�) (�)
|��,� | = ����+1≤�,�≤� |��,� |
• soit encore une stratégie intermédiaire aux précédentes, portant en anglais le nom
(�)
de rook pivoting, qui consiste à prendre pour pivot l’élément ��,� de la sous-matrice
(�)
(��,� )k+1≤i,j≤n ayant la plus grande valeur absolue dans la colonne et la ligne dans
auxquelles il appartient15,
(�) (�)
|��,� | = ����+1≤�≤� |��,�� | = ����+1≤�≤� |��,� |
Figure 2 : algorithme de factorisation LU avec une strategie du rook pivoting
Quelle que soit la stratégie adoptée, la recherche des pivots doit également être prise
en compte dans l’évaluation du coût global de la méthode d’élimination de Gauss. Celle-ci
demande de l’ordre de �2 comparaisons au total pour la stratégie de pivot partiel et de
l’ordre de �3 comparaisons pour celle de pivot total, la première étant privilégiée en raison
de sa complexité algorithmique moindre et de performances généralement très bonnes.
Pour la technique de rook pivoting, cette recherche nécessite de l’ordre de �3 comparaisons
dans le pire des cas, mais une complexité en O �2 ) est souvent observée en pratique et
6
Projet de méthode numérique
démontrée (voir [Fos97]) moyennant une hypothèse statistique sur les coefficients des
matrices �(�) , k = 0,..., n−2.
Dans les stratégies du pivot total et du rook pivoting, si la colonne du pivot est
différente de la colonne � + 1, le positionnement du pivot nécessite une permutation de
colonne. Ceci a pour effet de réorganiser l'ordre des inconnues. A l'issue de la résolution du
système triangulaire, il faudra procéder à une remise en ordre des inconnues.
2. Fonction d’implémentation de la méthode sous Matlab
Nc est le nombre total de comparaisons effectuées dans la phase de
positionnement du pivot.
i. Code
function [P,L,U,Q,Nc]=Fact_LU_RP(A)
[n,]= size(A);
Nc=0;
P=eye(n);%les matrices P,Q et L sont initialisées a la matrice
identité
Q=eye(n);
L=eye(n);
for k=1:n-1
s=k;r=k;s1=0;r1=0;
% recherche du pivot
while (s ~= s1)|| (r ~= r1) %jusqu'à stabilisation de r et s
s1 = s ; r1 = r ;%deux variables qui vont controler si r et
s ont changé de valeur
for m= k+1:n
if abs(A(m,s)) >= abs(A(r,s))%comparaison sur la ligne
r=m;
end
Nc=Nc+1;% on augmente le nombre de comparaison car nous
effectuons les comparaisons sur toute la colonne
end
for l = k+1 : n
if abs(A(r,l)) >= abs(A(r,s))%comparaison sur la colonne
s=l;
end
Nc=Nc+1;% on augmente le nombre de comparaison car nous
effectuons les comparaisons sur toute la ligne
end
end
%positionnement du pivot
if s ~= k
Q=permut_colonne(Q,k,s);%permutation des colonnes k et s de
Q
A=permut_colonne(A,k,s);%permutation des colonnes k et s de
A
end
if r ~= k
P=permut_ligne(P,k,r);%permutation des lignes k et r de P
A=permut_ligne(A,k,r);%permutation des lignes k et r de A
end
7
Projet de méthode numérique
%debut de la factorisation LU
for l=k+1:n
L(l,k)= A(l,k)/A(k,k);
A(l,k)=0;
for c=k+1:n
A(l,c)=A(l,c)-L(l,k)*A(k,c);
end
U=A;
end
end
end
%fonction pour echanger les valeurs de deux variables
function [a,b]=echanger(a,b)
t=a;
a=b;
b=t;
end
%fonction pour permuter deux colonnes d'une matrice A
function [A]=permut_colonne(A,k,c)
[n,]= size (A);
for m=1:n
[A(m,k),A(m,c)]=echanger(A(m,k),A(m,c));
end
end
%fonction pour permuter deux lignes d'une matrice A
function [A]=permut_ligne(A,k,l)
[n,]= size (A);
for m=k:n
[A(l,m),A(k,m)]=echanger(A(l,m),A(k,m));
end
end
ii. Résultat
Figure 3 resultat de la factorisation LU : affichage de la matrice d'entrer A et de L et U
8
Projet de méthode numérique
Figure 4: Suite de la figure 1 affichage des matrices de permutation de lignes et de colones P et Q
3. Test sur la matrice de Hilbert
i. Code
%test de la methode sur la matrice d'hilbert
hold on % pour pouvoir placer les pints sur le meme graphe
for n=[Link];
H=hilb(n);
[P,L,U,Q,Nc]=Fact_LU_RP(H);
y=norm(P*H*Q-L*U);
plot(n,y,'r--*')%on place le point de coordonnees(n,y) sur la courble
avec le signe * et la couleur verte
end
hold off
xlabel('taille de la matrice d hilbert')% nom des axes
ylabel('||PHQ-LU||')
title('test sur hilbert')
ii. Résultat
9
Projet de méthode numérique
Figure 5: Test sur la matrice de hilbert variation de ||PHQ-LU|| en fonction de n
4. Nombre de comparaison
i. Code
%nombres de comparaisons moyen
n=100;
v=1:n;
for k=1:n
A=10*rand(n)+rand(1,1);
while det(A)==0% verification de l'inversiblité de la matrice
A=10*rand(n)+rand(1,1);
end
[P,L,U,Q,Nc]=Fact_LU_RP(A);
v(k)=Nc;
end
disp('la moyenne des nombres de comparaisons est:')
disp(sum(v)/10
ii. Résultat
10
Projet de méthode numérique
Figure 6: nombre moyen de comparaisons effectuées par cette méthode
La compilation de ce code prend bien plus de temps que tous les autres codes ! environ 1
minute .
PROJET 2 : FACTORISATION QR
Le principe de cette méthode n’est plus d’écrire la matrice A comme le produit de
deux matrices triangulaires, mais comme le produit d’une matrice orthogonale (unitaire
dans le cas complexe) Q, qu’il est facile d’inverser puisque �−1 = �� , et d’une matrice
triangulaire supérieure R.µ
Théorème : Soit A une matrice réelle d’ordre n inversible. Alors il existe une matrice
orthogonale Q et une matrice triangulaire supérieure R, dont les éléments diagonaux sont
positifs, telles que A = QR. Cette factorisation est unique.
L’existence et l’unicité de cette factorisation lorsque que la matrice A est carrée et
inversible, s’appuie sur le fameux procédé d’orthonormalisation de Gram–Schmidt (the
Gram–Schmidt process ou the Gram–Schmidt orthogonalization en anglais).
1. Quelques Factorisation QR
a) Sur Gramm-Schmidt et sa version modifiée
L’algorithme 13 propose une mise en œuvre de cette méthode par le procédé
d’orthogonalisation de gram-schmidt pour le calcul de la factorisation QR d’une matrice A
d’ordre n inversible. Cette approche nécessite d’effectuer �2 (n−1) additions et soustractions,
11
Projet de méthode numérique
�3 multiplications, �2 divisions et n extractions de racines carrées pour le calcul de la matrice
Q, soit de l’ordre de �3 opérations.
Figure 7:Algorithme 13 : Algorithme de factorisation QR d’une matrice inversible par le procédé d’orthonormalisation de
Gram–Schmidt.
En pratique cependant, et plus particulièrement pour les problèmes de grande taille,
la propagation des erreurs d’arrondi entraîne une perte d’orthogonalité entre les vecteurs
calculés par le procédé, ce qui fait que la matrice Q obtenue n’est pas «numériquement»
orthogonale. Ces instabilités numériques sont dues au fait que la procédure
d’orthonormalisation produit des valeurs très petites, ce qui peut entraîner de possibles
annulations en arithmétique en précision fini. Il convient alors de recourir à une version plus
stable de l’algorithme, appelée procédé de Gram–Schmidt modifié (modified Gram–Schmidt
process en anglais).
Cette modification consiste en un réordonnancement des calculs de façon à ce que,
dès qu’un vecteur de la base orthonormée est obtenu, tous les vecteurs restants à
orthonormaliser lui soient rendus orthogonaux.
1
Celle-ci requiert 2 2� + 1 �(� − 1) additions et soustractions, �3 multiplications, �2
divisions et n extractions de racines carrées pour la factorisation d’une matrice inversible
d’ordre n, soit encore de l’ordre de �3 opérations au total.
Tableau 1: histogramme de la méthode de gram-Schmidt modifié
12
Projet de méthode numérique
Figure 8:Algorithme 14 : Algorithme de factorisation QR d’une matrice inversible par le procédé d’orthonormalisation de
Gram–Schmidt modifié.
b) Sur la factorisation de Householder
Malgré l’amélioration apportée par le procédé de Gram–Schmidt modifié, cette
méthode reste relativement peu utilisée en pratique pour le calcul d’une factorisation QR,
car on lui préfère la méthode de Householder , dont le principe est de multiplier la matrice A
13
Projet de méthode numérique
par une suite de matrices de transformation très simples, dites de Householder, pour
l’amener progressivement sous forme triangulaire supérieure.
Définition (matrice de Householder) : Soit v une vecteur non nul de Rn. On appelle
matrice de Householder associée au vecteur de Householder v, et on note H(v), la matrice
définie par
���
�(�)= �� − 2
�� �
On pose de plus H(0) = �� , ce qui permet de considérer la matrice identité comme
une matrice de Householder.
Principe de la méthode de Householder
La méthode de Householder pour la résolution du système d’équation linéaire Ax = b
consiste `a construire une suite de systèmes linéaires �� � = �� équivalents `a Ax = b, avec :
Le coût de cette méthode pour une matrice � × � est en : Ce coût est
relativement élevé (la méthode de Cholesky, pour les matrices symétriques définies positives
est en ). Cependant, la méthode de Householder présente l'avantage considérable d'être
beaucoup plus stable numériquement, en limitant les divisions par des nombres petits.
de sorte que la matrice An soit triangulaire supérieure. Le passage du système ��� = �� au
syst`eme ��+1 � = ��+1 s’éffectue de la manière suivante :
On pose
14
Projet de méthode numérique
Où ��−1 est la matrice unité d’ordre k −1 et H˜(�� ) est la matrice de Householder associée au
vecteur ˜�� .
2. Implémentation sous matlab
a) Sur Gramm-Schmidt
i. Code
function [Q,R ] = QR_grammSchmidt( A)
%UNTITLED Summary of this function goes here
% Detailed explanation goes here
[n,]=size(A);
R=eye(n);
Q=zeros(n);
for l=1:n
Q(1:n,l)=A(1:n,l);
for k=1:l-1
R(k,l)=dot(Q(1:n,l),Q(1:n,k));
Q(1:n,l)=Q(1:n,l)-R(k,l)*Q(1:n,k);
end
R(l,l)=norm(Q(1:n,l));
Q(1:n,l)=Q(1:n,l)/R(l,l);
end
end
ii. Résultat
15
Projet de méthode numérique
Figure 9: factorisation QR gram-schmidt
b) Sur Gramm-Schmidt version modifiée
i. Code
function [Q,R] = QR_gramm_modifie( A)
%UNTITLED3 Summary of this function goes here
% Detailed explanation goes here
[n,]=size(A);
Q=zeros(n);
R=eye(n);
for l=1:n
Q(1:n,l)=A(1:n,l);
end
for l=1:n
R(l,l)=norm(Q(1:n,l));
Q(1:n,l)=Q(1:n,l)/R(l,l);
for c=l+1:n
R(l,c)=Q(1:n,l)'*Q(1:n,c);
Q(1:n,c)=Q(1:n,c)-R(l,c)*Q(1:n,l);
end
end
Q
R
End
ii. Resultat
16
Projet de méthode numérique
Figure 10: factorisation QR avec gram-schmidt modifié
c) Sur la factorisation de Householder
i. Code
function [Q,R]=QR_householder(A)
[n,n]=size(A);
Q=eye(n);
for k=1:n-1
v=A(k:n,k);
v1= v + norm(v)*(sign(A(k,k)))*(eye(1,n-k+1)');
Hp=eye(n-k+1)-2*(v1*v1')/(v1'*v1);
H=associer(Hp,k-1,n);
Q=Q*H;
A=H*A;
for l=k+1:n
A(l,k)= A(l,k)/A(k,k);
for c=k+1:n
A(l,c)=A(l,c)-A(l,k)*A(k,c);
end
A(l,k)=0;
end
end
R=A;
end
function [H]=associer(Hp,k,n)
H=eye(n);
if k==0
H=Hp;
else
for l=k+1:n
for m=k+1:n
H(l,m)=Hp(l-k,m-k);
end
end
end
17
Projet de méthode numérique
end
ii. resultat
Figure 11: Factorisation QR par householder
3. Test sur une matrice de Hilbert
Problème : Tester la performance de ces algorithmes sur les matrices de Hilbert
de taille �. On calculera dans chaque cas ‖� − ��‖ et ‖��� − �‖, pour les valeurs de �
allant de 5 à 100 par pas de 5. Les résultats seront présentés dans deux graphiques
différents, chaque graphique comportera 4 courbes correspond aux trois méthodes ainsi
que la méthode définie dans Matlab par la fonction qr de Matlab.
Solution :
i. Code ‖� − ��‖
Code matlab
hold on
for n=[Link]
A=hilb(n);
[Q1,R1]=qr(A);
[Q2,R2]=QR_grammSchmidt(A);
[Q3,R3]=QR_gramm_modifie(A);
[Q4,R4]=QR_householder(A);
y1=norm(Q1*R1-A);
y2=norm(Q2*R2-A);
y3=norm(Q3*R3-A);
y4=norm(Q4*R4-A);
plot(n,y1,'pg');
18
Projet de méthode numérique
plot(n,y2,'hk');
plot(n,y3,'+m');
plot(n,y4,'+b');
end
hold off
xlabel('ordre de la matrice d hilbert(n)')% nom des axes
ylabel('norme ||A-QR||')
title('graphique de variation')
legend('qr matlab','QRgrammSchmidt','QRgrammmodifi','QRhouseholder');
ii. Résultat
Figure 12: graphique de variation ||A-QR|| en fonction de n la taille de la matrice
iii. Code ‖��� − �‖
hold on
for n=[Link]
A=hilb(n);
[Q1,R1]=qr(A);
19
Projet de méthode numérique
[Q2,R2]=QR_grammSchmidt(A);
[Q3,R3]=QR_gramm_modifie(A);
[Q4,R4]=QR_householder(A);
y1=norm(Q1*Q1'-eye(n));
y2=norm(Q2*Q2'-eye(n));
y3=norm(Q3*Q3'-eye(n));
y4=norm(Q4*Q4'-eye(n));
plot(n,y1,'pg');
plot(n,y2,'hk')
plot(n,y3,'+m');
plot(n,y4,'+b');
end
hold off
xlabel('ordre de la matrice d hilbert(n)')% nom des axes
ylabel('norme ||QQ''-I||')
title('graphique de variation')
legend('qr matlab','QRgrammSchmidt','QRgrammmodifi','QRhouseholder');
iv. Solution
Figure 13: graphique de variation de ||QQt-I|| en fonction de la taille de la matrice
Remarque :
Les variation de la norme ||��� − �||en fonction de n Pour les factorisations QR par gram-
schmidt et de gram-schmidt modifiée sont sont sensiblement egales pour n>10, La norme
pour la factorisation QR de matlab est la meme en tout point que celle de householder.
20
Projet de méthode numérique
CONCLUSION
Présenté en deux projet, notre travail portait sur la mise en œuvre des factorisation
LU avec la stratégie du rook pivoting, et présenter quelques methodes de faxctorisation QR
selon Gramm-Schimtd, Gramm-Schimtd modifié et [Link] en résulte que : la
méthode LU permet de passer d’une matrice A à deux matrices L et U qui sont
respectivement triangulaire inférieur et triangulaire supérieur. Cette méthode a l’avantage
d’allier la rapidité du pivot partiel à la stabilité du pivot total. Concernant la méthode QR, elle
permet de partir d’une matrice A à deux matrices Q orthogonale et R sup-triangulaire ; elle
peut être basée sur la méthode d’orthogonalisation de Gramm-Schimtd classique, Gramm-
Schimtd modifié plus stable que la précédente et celle de Householder étant plus stable que
les deux précédentes. Quant à l’implémentation de nos algorithmes, au projet, le test sur les
matrices d’Hilbert montre que la norme ‖��� − ��‖ augmente progressivement avec la
taille de la matrice H. parallèlement, la norme (‖� − ��‖) calculée au projet 2 nous montre
que la méthode de Gramm-Schimtd classique et Gramm-Schimtd modifié donnes des
résultats assez proches, de même la méthode de Householder et QR de Matlab semblent
converger l’une vers l’autre. Cependant, les courbes des 04 méthodes sont assez distinctes
et semblent fournir des résultats très différents. La seconde norme (‖��� − �‖) quant à elle
donne des résultats très différents entre selon qu’on utilise la méthode de Gramm-Schimtd
classique ou une des 03 autres. Au demeurant, qu’en est-il des autres methodes de
factorisation (SOR...)
21
Projet de méthode numérique
REFERENCES
Méthodes numériques Introduction à l’analyse numérique et au calcul scientifique Guillaume
Legendre (version provisoire du 17 juin 2015)
INITIATION A MATLAB Jacques Tagoudjeu ENSP 2012-2013
some features of gaussian elimination with rook pivoting ∗ xiao-wen chang †
P. G. CIARLET. Introduction à l’analyse numérique matricielle et à l’optimisation – cours et exercices
corrigés. De Mathématiques appliquées pour la maîtrise. Dunod, 1998.
F. FILBET. Analyse numérique – Algorithme et étude mathématique. Dunod, 2009.
P. LASCAUX et R. THÉODOR. Analyse numérique matricielle appliquée à l’art de l’ingénieur. 1.
Méthodes directes. Dunod, 2000.
22