






Étudies grâce aux nombreuses ressources disponibles sur Docsity
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Prépare tes examens
Étudies grâce aux nombreuses ressources disponibles sur Docsity
Obtiens des points à télécharger
Gagnz des points en aidant d'autres étudiants ou achete-les avec un plan Premium
Communauté
Demandes de l'aide à la communauté et dissipes tes doutes concernant l'étude
Guide gratuite
Télécharges gratuitement nos guides sur les techniques d'étude, les méthodes de gestion de l'anxiété, les conseils pour la thèse réalisés par les tuteurs Docsity
Notes d’informatique sur le thème de l'algorithmique numérique - 2° partie. Les principaux thèmes abordés sont les suivants: Systèmes linéaires Ax=b : méthodes itératives, Problèmes au moindres carrés (linéaire).
Typologie: Notes
1 / 11
Cette page n'est pas visible dans l'aperçu
Ne manques pas les parties importantes!







j
j
k c c
li j aij likdkljk d i j
1
max ,
, ainsi on diminue le volume de
calcul.
Optimisation du profil ligne
Critère approché : On va chercher une numérotation des sommets du grapheG minimisant le profil A. Pour
cela, on cherche à diminuer la taille m. On utilise un critère local : à i fixé, on va essayer d’obtenir c (^) iproche
autant que possible de i, ce qui va induire un tassement vers la diagonale.
Le problème en terme de numérotation surG est le suivant : « numéroter ses voisins avec des numéros les plus
proches possibles de i ».
Numérotation en couches :
On partitionne l’ensemble des sommets du graphe par rapport à leur distance à un sommet de départ x. On numérote continûment selon les couches et le plus grand écart varie comme un O(longueur d’une couche). Le
nombre de sommets étant fixé, on cherche le sommet x de départ de telle manière que le nombre de couche
Exemple : prenons x = 1, on a h(x) = 1.
Algorithme :
A partir de l’exemple précédent, on choisit y = 2 et on obtient h(y) = 2. En réitérant de nouveau, on obtiendra
pas mieux. Donc on déduit x 2.
On applique le changement de numérotation :
Ancien numéro i 1 2 3 4 5
Ce qui donne la transformation suivante :
x x
x x
x x
x x
x
x x
x x
x x
x x
x
Limitation du remplissage
Théorème : CNS de création d’une arête de remplissage
SoitG le graphe numéroté associé à la matrice A.
extrémités.
Idée de numérotation : Pour mettre en défaut ce théorème, on utilise des séparateurs topologiques. Cette méthode consiste à séparer deux sous-ensembles A et B par un ensemble C, appelé séparateur ; de sorte que tout
chemin allant d’un élément de A vers un élément de B passe au moins par un sommet de C. Si on numérote les
sommets de C avec des numéros plus grands que ceux affectés à A et B, alors il n’y aura pas d’arête de remplissage créées entre les éléments de A et ceux de B.
On applique ce principe de numérotation récursivement par bloc, jusqu’à tomber sur une grille qui n’est plus séparable. Ce faisant on limite excellemment le remplissage, mais le profil risque d’être mauvais.
Remarque : Il faut une autre structure de donnée que celle du profil non adapté. Par ailleurs, il y a aussi une indépendance des calculs exploitable sur une machine à architecture parallèle.
Exemple : On reprend l’exemple précédent…
On effectue le changement de numérotation :
x x x x x
x
x
x
x
x x
x x
x x
x x
x
1 0 5 et
l’on peut vérifier que cette dernière matrice ne se remplie pas du tout!
Utilisation de la factorisation pour résoudre Ax=b
Il s’agit de résoudre Ax ben utilisant la factorisation de Cholesky - CROUT : ALDLX b t . On procède
en trois étapes.
t et résolvons Ly b, dont la complexité est en 2
2 n (matrice triangulaire).
On écrit un algorithme utilisant un accès par ligne dans la matrice L.
y 1 : b (^1) ;
1
1
,
i
j
yi bi lijyj ;
A B
C
B
A
C
Principe
Méthode itératives classiques :
En posant A MN où M est une matrice inversible, on propose la formule de récurrence
MX (^) n 1 NXn bou encore X (^) n M NXn M b 1 1 1
^ . Si^ X^ est solution du problème, il vient
1 X X M N X X
n (^) n
1 est appelée la matrice d'itération.
1
n M N.
Remarque : Le cadre normale de convergence des méthodes itératives classiques est : « A matrice symétrique définie positive ».
Vitesse de convergence :
n
2
et l'on obtient
2 0 2 x x B. x x
k
En conclusion, le rayon spectral de la matrice d'itération mesure la vitesse de convergence. La convergence est d'autant plus rapide que le rayon spectral est plus petit. On admettra que ce résultat ce généralise aux matrices quelconques.
Méthode Jacobi
Notation :
On pose A MNavec MDetNEFselon le schéma ci-dessus. Ce qui donne la formule de
1 1 1
^ .
i x (^) k xk 1 , le vecteur itéré, on donne l’algorithme donnant x (^) k 1 en fonction de x (^) k.
Pour i de 1 à n faire
i
j k
n
ji
ij
j k
i
j
ij ii
i k a x a x b a
x 1
,
1
1
, ,
1
i j
ai (^) ,i ai,j
1
A priori, cette méthode converge pour une matrice A SDP.
Méthode Gauss-Seidel
Boucle directe
On reprend le schéma de matrice précédent et on pose M DE et N F. La formule de récurrence
On calcule i xk (^) 1 , l'i ème (^) composante du vecteur X (^) k 1 : (^) i
n
ji
j ij k
j k
i
j
ij
i
1
1 ,
1
1
, 1 ,.
On propose l’algorithme suivant :
Pour i de 1 à n faire
i
n
ji
j ij k
j k
i
j
ij ii
i k a x a x b a
x 1
1 ,
1
1
, ,
1
On procède par écrasement du vecteur X (^) k:
t
j k
i k
j xk j i x x i j n
calculencours
1 déjàcalculés
Boucle rétrograde
Cette fois, on pose M^ ^ DFet N E.
On propose l’algorithme suivant :
Pour i de n à 1 faire
i
n
ji
j ij k
j k
i
j
ij ii
i k a x a x b a
x 1
, 1
1
1
, ,
1
Conclusion
Théorème : Soit A une matrice symétrique définie positive, alors la méthode est convergente
car ^ ^1
1
Comparaison : Si A est SDP les méthodes de Jacobi et de Gauss-Seidel convergent, et Gauss-Seidel converge
1 1 1
(^2 ) avec et ou
Méthode de relaxation
Pour cette méthode, on pose E w
M et D F w
w N M A
, avec w 0. On donne la
matrice d’itération : (^)
D F w
w E w
L (^) w
1
. Ainsi pour w 1 , on se ramène à la méthode de
Gauss-Seidel.
Remarque :
Méthodes du gradient
1
Principe : méthode de la plus grande descente
Soit A une matrice symétrique définie positive.
le minimum de J.
2 et (équation de parabole) ; d'où le minimum de J est a
b , ce qui
correspond bien à la solution de l'équation linéaire ax b.
Formule de récurrence : Prenons un X 0 quelconque, et supposons que nous ayons obtenu par itération X (^) k.
appartenant là a courbe de niveau k, dans la direction de son gradient : g (^) k gradAXkb 2
. On donne
2
prendre
k k
k k k Ag g
g g
,
On résume le passage de Xk à X (^) k+1 :
k k k Ag g
g g
,
Algorithme du gradient conjugué
Dans cette méthode, on va utiliser un ensemble de directions conjugués. g (^) k est la meilleure direction locale,
mais pas à long terme, sinon l'algorithme convergerait d'un coup! D'où l'idée, d'apporter une correction pour le
choix de la direction.
On va maintenant résumer la méthode :
k k
k k k Ad d
g g
,
1 Cette partie a été rédigée en privilégiant les notes de cours plutôt que celle de TD, où les notations et les méthodes diffèrent sur quelques points.
k k k g g
g g
,
Remarque : On démontre que la correction apportée dans cette méthode est optimale.
Formule par récurrence : On démontre après coup que cette méthode donne la solution de l'équation linéaire au bout de N itérations! Par conséquent, on pourrait la considérer comme une méthode directe, mais on préfère la
prendre comme une méthode itérative, et s'arrêter pour k Nquand la précision est satisfaisante.
Préconditionnement :
Convergence de la formule :
On établit que :
k
k (^) A
Cond A
Cond A X X
. Notons que plus Cond(A) est petit, plus la
plus particulièrement de son conditionnement. On va alors introduire la notion de préconditionnement.
Transformation :
On cherche à résoudre un autre système AY b
ayant même solution, mais pour lequel la matrice A
possède
un meilleur conditionnement.
On considère t C E.E. On pose t A E AE ..
et b E b
. Ainsi AX b AY b
pour
Y E X t .
Remaque : Les algorithmes passant par l'intermédiaire de Y sont dits non transformés. Lorsque Y n'apparaît plus dans le calcul l'algorithme est dit transformé.
Algorithme du gradient préconditionné transformé :
Prenons un X 0 quelconque, et supposons que nous ayons obtenu par itération Xk. On pose g (^) k AXkbet
hk C g k 1 , ce qui revient à résoudre Chk gk. Résolution d'un système linéaire! Certes. Mais simple,
puisqu'on a supposé auparavant, que l'on avait une factorisation de Cholesky de la matrice C, c'est à dire
t C E.E (algorithme de complexité n²). Ensuite, on calcule k k
k k k Ah h
g h
,
Ainsi, on obtient le résultat fondamental suivant
A
k
k (^) A
CondA
CondA X X
. Il faut à présent
travailler pour que le conditionnement de à soit meilleur que celui de A. Or, nous avons posé
t A E AE
par où nous pouvons déduire que Cond A CondC A
, car ces deux matrices ont les mêmes valeurs
propres.
Choix de C (méthode heuristique) :
remplissage! D'où l'idée de réaliser une factorisation incomplète A EE R
t . On ne calcule dans la matrice E que les l (^) i , jtels queai,j 0 , pour lesquels donc on évite le phénomène de remplissage.
Si l'on pose C BB A t , on obtient un conditionnement de 1 (le meilleur) car C AId 1 ; cependant il peut se produire un phénomène de remplissage peut souhaitable. Et si l'on pose C Id, le conditionnement n'est pas amélioré par rapport à celui de A.
Régression linéaire
M
erreur ei
(^22)
Cas général
N
j i M N A t
i M j N
Ax b aij xj bi 1
2
1
2 2 .
Méthode des équations normales
Théorème
t t (équation
normale). Il existe toujours au moins une solution. La solution est unique si et seulement si le rang de A est N.
Défauts numériques On appliquera la méthode des équations normales pour un nombre faible d'inconnues 2, 3, 4 ou 5. Un premier défaut est l'imprécision du calcul engendré par le produit matriciel A A t
. Par ailleurs, si la matrice A est creuse, A A t peut très bien ne pas l'être…
Méthode de la factorisation QR (rectangulaire)
Définition ( M > N )
AM (^) N QMMRN N, avec Q une matrice orthogonale et (^)
O
NN , avec R une matrice triangulaire
supérieure.
Théorème : minimiser 2 Ax b pour N supérieur à 3 ou 4
Soit M
t c
c Q b
2
1 avec c 1 de dimension N. Le vecteur x minimise 2 Ax b si et seulement si x est
solution de Rx c 1.
Obtention de la factorisation A = QR par Householder
Définition des matrices de Householder
2 u de dimension m. On définit la matrice de Householder de dimensio m m
t
t
u m
vv H Id
Propriété fondamentale des matrices de Householder
Soit a un vecteur de dimension m, non nul. Il existe H, une matrice de Householder, telle que O m
H a
avec un réel.
Preuve :
2 2
2
a v
.
Principe de l'algorithme de factorisation
On veut obtenir la matrice RM (^) N à partir de la matrice A A 0. On procède colonne par colonne.
On rappelle la géométrie de
x
1
.
telle que H 1 A 0 A 1 , où la première colonne de A 1 est
1
.