Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
1/24
Organisme(s) : EDF/IMA/MMN
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
Document : R6.03.01

Résolution de systèmes non réguliers par
une méthode de décomposition en valeurs
singulières

Résumé :
Ce document est consacré à la résolution des systèmes d'équations linéaires non réguliers. Les matrices prises
en compte peuvent être carrées non inversibles ou rectangulaires.
Après avoir rappelé le cadre théorique des solutions au sens des moindres carrés, nous concentrons l'exposé
sur la méthode par décomposition en valeurs singulières qui fournit, d'une part, un outil de diagnostic du degré
de régularité du système, et, d'autre part, une famille d'algorithmes de résolution à la fois plus généraux et plus
stables que ceux dérivant de l'approche par les équations normales.
Enfin, nous détaillons l'algorithme mis en oeuvre dans le Code_Aster qui résorbe la fonctionnalité équivalente de
la librairie Nag (F04JDF pour la version 12 et F04JDE pour la version 15) utilisée pour la modélisation du
comportement métallurgique des aciers [R4.04.01].
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
2/24
Table des matières
1 Introduction ............................................................................................................................................ 3
2 Solution d'un système linéaire rectangulaire.......................................................................................... 4
2.1 Formalisme des moindres carrés.................................................................................................... 4
2.2 Existence d'optimums ..................................................................................................................... 5
2.3 Unicité de l'optimum et rang du système......................................................................................... 5
2.4 Solution au sens des moindres carrés ............................................................................................ 6
3 Valeurs singulières................................................................................................................................. 7
3.1 Décomposition en valeurs singulières............................................................................................. 7
3.2 Rang, image et noyau ..................................................................................................................... 8
3.3 Pseudo-inverse et solution au sens des moindres carrés............................................................... 9
4 Résolution d'un système linéaire rectangulaire.................................................................................... 11
4.1 Méthode des équations normales ................................................................................................. 11
4.2 Méthode par décomposition en valeurs singulières ...................................................................... 11
4.3 Comparaison de la méthode des équations normales à la méthode de décomposition en valeurs
singulières ..................................................................................................................................... 12
4.3.1 Conditionnement .................................................................................................................. 12
4.3.2 Perte de précision ................................................................................................................ 12
4.3.3 Structure creuse................................................................................................................... 13
4.3.4 Conclusion............................................................................................................................ 13
5 Algorithme SVD pour la résolution d'un système linéaire équi ou sous-contraint................................ 13
5.1 Réduction du problème et principe de l'algorithme ....................................................................... 13
5.1.1 Réduction à la forme triangulaire supérieure ....................................................................... 14
5.1.2 Réduction à la forme bidiagonale supérieure....................................................................... 14
5.1.3 Décomposition SVD de la bidiagonale supérieure ............................................................... 14
5.2 Réduction à la forme triangulaire supérieure ................................................................................ 15
5.3 Réduction à la forme bidiagonale supérieure................................................................................ 17
5.4 Décomposition SVD d'une bidiagonale supérieure ....................................................................... 19
5.4.1 Principe de l'algorithme ........................................................................................................ 19
5.4.2 Diagonalisation implicite de la matrice normale ................................................................... 20
5.4.3 Analyse de décomposition ................................................................................................... 23
5.4.4 Organisation de l'algorithme................................................................................................. 24
6 Bibliographie ........................................................................................................................................ 24
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
3/24
1 Introduction
Etant donnée une matrice réelle A d'ordre m × n et un vecteur b élément de ¤m, nous considérons
le problème de la détermination d'un vecteur x élément de Rn qui vérifie le système linéaire suivant :
Ax = b
éq 1-1
Il est bien connu ([bib3] p. 9) que ce système admet une, et une seule solution, pour tout b élément de
Rm sous les conditions nécessaires et suffisantes qu'il soit equi-contraint (m = n) et que sa matrice A
soit régulière. Aussi, l'investigation des cas sous-contraint (m n) et sur-contraint (m n) nous
confrontera à l'une des trois situations suivantes :
1) Le système linéaire [éq 1-1] admet une solution et une seule,
2) Le système linéaire [éq 1-1] n'admet pas de solution,
3) Le système linéaire [éq 1-1] admet une infinité de solutions.
Dans la pratique, la situation 2) se rencontre en général dans le cas d'un système sur-contraint alors
que les systèmes equi-contraints singuliers et sous-contraints conduisent en général à la situation 3).
Pour prétendre résoudre un système linéaire du type [éq 1-1], il nous faut d'abord définir ce que nous
appellerons solution. Ceci est l'objet du paragraphe 2 qui s'appuie principalement sur la notion de
moindres carrés et sur l'optimisation différentiable pour définir, quelque soit le type de système,
une solution qui est toujours unique.
Le paragraphe 3 est consacré à la décomposition en valeurs singulières des matrices (en abrégé
SVD : Singular Value Decomposition), qui, non seulement constitue un outil pour diagnostiquer laquelle
des trois situations précédentes correspond au système linéaire étudié, mais aussi fournit une méthode
de détermination de la solution définie dans le paragraphe 2.
La méthode utilisant la décomposition SVD est présentée au paragraphe 4 et y est comparée à la
méthode des équations normales.
Le paragraphe 5 détaille sur le plan algébrique l'application de la méthode SVD à la résolution d'un
système linéaire équi ou sous-contraint
telle qu'elle est mise en oeuvre dans le Code_Aster.
Dans les paragraphes suivants, nous utiliserons les notations ci-dessous :
·
x et (x, y) pour, respectivement, la norme euclidienne du vecteur x et le produit scalaire
associé des vecteurs x et y éléments de ¤m ou de ¤n,
·
MT pour la transposée de la matrice M ,
·
Ker M et ImM pour, respectivement, le noyau et l'image de (l'application linéaire associée
à) la matrice M ,
·
X pour l'orthogonal du sous espace X de Rm ou de Rn.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
4/24
2
Solution d'un système linéaire rectangulaire
Dans ce paragraphe nous allons définir une notion de solution pour le système linéaire [éq 1-1] qui jouit
des propriétés d'existence et d'unicité. La démarche procède en deux temps :
· D'abord, par une approche du type moindres carrés nous construisons un problème
d'optimisation différentiable et convexe (section 2.1) qui admet toujours au moins une solution
(section 2.2). La situation 2) du paragraphe 1 est alors éliminée,
· Puis, analysant la propriété d'unicité (section 2.3) pour constater qu'elle n'est pas toujours
garantie nous imposerons une contrainte supplémentaire (section 2.4) à la solution
caractérisée dans la section 2.1 de façon à rétablir l'unicité.
2.1
Formalisme des moindres carrés
L'unique solution d'un système linéaire Ax = b de matrice carrée et régulière réalise le minimum de la
quantité Ay - b quand y décrit ¤n. Cette propriété nous ouvre la voie qui conduit à une notion de
solution pour un système linéaire général du type [éq 1-1] qui lui confère les mêmes propriétés que
celles du cas particulier du système régulier. Nous dirons donc d'un point x de ¤n qu'il est solution du
système [éq 1-1] s'il est solution du problème d'optimisation :
Ax - b = Min Ay - b
éq 2.1-1
y n
Û
Cette approche est naturelle car elle définit une solution dont le résidu r = Ax - b est nul dans le cas
où le second membre est élément de Im A et est de norme minimale dans le cas contraire, ce qui
constitue le mieux qu'on puisse attendre.
Pour analyser le problème [éq 2.1-1], il est commode de lui substituer le problème d'optimisation sans
contraintes équivalent suivant :
trouver x n
Û
J(
tel x)
que
= MinJ(y)
éq 2.1-2
y n
Û
où J( )
. est la fonctionnelle définie par :
J : y n
1
Û J(y) =
Ax - b
2
L'intérêt du problème [éq 2.1-2] tient au fait que la fonctionnelle J( )
. vérifie les propriétés suivantes :
·
J( ). est deux fois continuement différentiable :
DJ(x) : h n
T
T
Û DJ(x)h = (A Ax - A b, h) Û
éq 2.1-3
D2J(x) : (h, k) n
n
T
Û × Û DJ(x)(h, k) = (A Ah,k) Û
éq 2.1-4
·
J( ). est quadratique et convexe.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
5/24
Ainsi, le problème [éq 2.1-2] s'inscrit dans le cadre de l'optimisation différentiable et convexe de sorte
que nous disposons des résultats suivants ([bib1] p. 156 et 146) :
1) De la convexité : tout optimum local est en fait un optimum global, c'est à dire une solution de
[éq 2.1-2],
2) De la différentiabilité : tout optimum local vérifie l'équation d'Euler DJ(x) = 0 sur ¤n qui,
compte-tenu de [éq 2.1-3], conduit à la caractérisation par les équations dites normales :
AT Ax
AT
=
b
éq 2.1-5
2.2 Existence
d'optimums
Dans [bib1] p. 171 on trouve une démonstration de l'existence d'au moins une solution aux équations
normales [éq 2.1-5]. Cette démonstration s'appuie sur des arguments destinés à la prise en compte du
cas de la dimension infinie (théorème de projection sur un convexe fermé d'un espace de Hilbert).
Notre cas étant nettement plus simple, nous donnons une démonstration du résultat qui n'utilise que
des arguments algébriques simples qui, de plus, nous serons utiles dans le paragraphe 3. Montrer que,
pour tout b élément de ¤m, les équations normales [éq 2.1-5] admettent une solution équivaut à
l'établissement de l'inclusion Im AT
Im AT

A . Or, pour toute matrice réelle M d'ordre m × n nous
avons ImMT = (Ker M) ([bib3] p. 28). Aussi, l'inclusion à établir qui équivaut à
(

Ker A) (Ker ATA) qui est elle même équivalente à Ker ATA Ker A . Soit donc
x Ker AT A ; alors Ax Ker AT , c'est-à-dire Ax (
A)
Im
. Comme Ax est aussi élément de
Im A , il ne peut être que nul ce qui signifie que x Ker A et achève la démonstration.
A ce stade du propos, nous pouvons dire que tout système du type [éq 1-1] admet au moins une
solution au sens de [éq 2.1-3] et toutes ces solutions sont caractérisées comme solution au sens de
Cramer des équations normales de [éq 2.1-5]. La situation 2) du paragraphe 1 est éliminée.
Reste à éliminer la situation 3), c'est-à-dire à garantir l'unicité.
2.3
Unicité de l'optimum et rang du système
Il est clair que les équations normales [éq 2.1-5], caractérisant les optimums que nous cherchons,
admettent une unique solution sous la condition nécessaire et suffisante que AT A soit régulière.
Comme AT A est toujours semi-définie positive, son inversibilité équivaut à sa définie positivité, de
sorte que, compte tenu de l'expression [éq 2.1-4] de la dérivée seconde de la fonctionnelle J( )
. , nous
retrouvons le théorème bien connu d'unicité de l'optimum du problème [éq 2.1-2] pour une fonctionnelle
convexe deux fois continuement différentiable ([bib1] th 7.4-3 et 7.4-4).
En toute généralité, rien n'empêche la matrice AT A d'être singulière, la solution du système [éq 1-1]
au sens de [éq 2.1-2] n'est donc pas toujours unique. Nous disposons néanmoins d'un critère pour
détecter cette situation. A la section 2.2 nous avons établi que Im AT
Im AT

A et comme
l'inclusion réciproque est trivialement vraie, nous pouvons conclure à l'identité Im AT
Im AT
=
A .
L'introduction du rang
(
rg A) de la matrice A , la dimension de son espace image, nous permet alors
de dire qu'une condition nécessaire et suffisante pour que AT A soit inversible est que
(
rg AT A) = n
ce qui équivaut à
(
rg A) = n car (
rg AT A)
(
rg AT
=
)= rg(A).
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
6/24
L'intérêt de ce critère tient au fait qu'il limite l'analyse à la seule matrice A sans qu'il soit nécessaire de
former explicitement AT A . Ce critère nous montre aussi que les équations normales associées à un
système linéaire strictement sous-contraint admettent toujours une infinité de solutions. En effet, le
rang d'une matrice est aussi égal au nombre de colonnes indépendantes qu'elle possède ; aussi, pour
que ce rang atteigne la valeur n il est nécessaire que les colonnes de la matrice soit d'ordre au moins
n .
2.4
Solution au sens des moindres carrés
Nous venons de constater que l'ensemble des points qui minimisent le résidu du système [éq 1-1] n'est
pas nécessairement réduit à un seul point. Pour rétablir l'unicité nous affinons la notion de solution du
système [éq 1-1] de la section 2.1 en définissant la solution au sens des moindres carrés comme
l'élément de norme minimale de l'ensemble des points qui minimisent le résidu. Cette solution x est
alors caractérisée par :
x Sdef = {y n
R ; ATAx = AT }
b et x = Inf y
y S

Cette caractérisation n'est pas satisfaisante sur le plan pratique car elle demande la résolution d'un
problème d'optimisation sous contraintes. Nous allons lui substituer une autre caractérisation plus
adaptée au sens où elle conduira (voir la section 4.2) à une procédure de calcul nettement plus simple.
L'ensemble S ci-dessus est le translaté de noyau de ATA par l'un quelconque des vecteurs solutions
des équations normales [éq 2.1-5]. Aussi, la condition supplémentaire de minimisation de la norme
s'interprète comme une simple projection : la solution au sens des moindres carrés du système [éq 1-1]
n'est rien d'autre que la projection de l'origine de ¤n sur l'ensemble des solutions des équations
normales. Aussi, nous pouvons la caractériser comme le point d'intersection entre l'ensemble S et
l'orthogonal du noyau de AT A .
La définition d'une solution au système [éq 1-1] peut alors être résumée comme suit :

AT Ax = ATb
x est solution de A
x = b

éq 2.4-1
x
T


(KerA A)
La première condition fait de x un vecteur de résidu minimal tandis que la deuxième sélectionne,
parmi les vecteurs de résidu minimal, celui de norme minimale.
La définition [éq 2.4-1] est une généralisation classique de la notion de solution d'un système
equi-contraint régulier et confère à tout système du type [éq 1-1] une solution et une seule.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
7/24
3 Valeurs
singulières
Dans ce paragraphe nous présentons quelques résultats utiles pour la conception d'une méthode de
résolution opérationnelle du système [éq 1-1]. Ces résultats dérivent de la notion de valeurs singulières
(section 3.1) et permettent de construire une base du noyau et une base de l'image de la matrice du
système (section 3.2) à partir desquelles il est possible de donner un sens, adapté au calcul de la
solution au sens des moindres carrés, à l'inverse d'une matrice quelconque (section 3.3).
3.1
Décomposition en valeurs singulières
Commençons par rappeler la définition des valeurs singulières. On appelle valeurs singulières d'une
matrice réelle A d'ordre m × n les racines carrées des valeurs propres de la matrice carrée AT A
d'ordre n qui, rappelons-le, est semi-définie positive.
La notion de diagonalisation des matrices carrées (lorsqu'elles sont diagonalisables) se généralise aux
matrices rectangulaires (sans restriction) par le concept de décomposition (ou factorisation) en valeurs
singulières.
Pour toutes matrices réelles A d'ordre m × n , il existe deux matrices carrées unitaires Q et P
d'ordre respectif m et n telles que :
A = Q P
T
éq 3.1-1
où est une matrice d'ordre m × n dont la structure est schématisée ci-dessous :
µ1
µ2
=
0
si m n
! µn
µ1
µ2
=
!
si m > n
µn
0
Les µi sont les valeurs singulières de A que nous supposons ordonnées par ordre décroissant :
µ1 µ2 " µn
On peut trouver une démonstration de ce résultat dans [bib1] p.10 pour le cas équi-contraint et dans
[bib3] p.73 pour le cas sur-contraint, le cas sous-contraint s'en déduit alors par transposition.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
8/24
La factorisation SVD [éq 3.1-1] de A donne AT A
P T PT
= et AAT Q TQT
=

de sorte que,
T et T étant des matrices carrées diagonales, la matrice P est constituée des vecteurs
propres orthonormalisés de la matrice AT A tandis que la matrice Q est constituée des vecteurs
propres orthonormalisés de la matrice AAT .
3.2
Rang, image et noyau
Le paragraphe [§2] a montré le rôle fondamental que joue le rang de la matrice A et le noyau de la
matrice AT A pour la résolution d'un système linéaire non régulier du type [éq 1-1]. Nous allons voir
maintenant comment la factorisation [éq 3.1-1] peut être utilisée pour déterminer ce rang ainsi qu'une
base de Ker AT A .
Soit r l'indice de la plus petite valeur singulière non nulle. La factorisation [éq 3.1-1] s'écrit aussi
QT AP = où la prise en compte des valeurs singulières nulles permet de préciser la décomposition
en bloc de :
r
=
0
si m n
0
0
r
=
0
si m > n
0
0
0
r = Diag(µ ,1µ2, , r
µ
"
) est la matrice diagonale d'ordre r des valeurs singulières non nulles
dans l'ordre croissant.
Puisque les matrices Q et P sont régulières, les matrices A et sont équivalentes de sorte que leur
noyau et image respectifs coïncident. Nous en déduisons donc que :
· Le rang de A coïncide avec le nombre de valeurs singulières non nulles :
rg A = r
· Les vecteurs colonnes de P d'indice r +1 à n forment une base de Ker A
· Les vecteurs colonnes de Q correspondant aux valeurs singulières non nulles forment une
base de Im A
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
9/24
D'autre part, à la section 2.3 nous avons vu que Im AT
Im AT
=
A . L'identité ImMT = (Ker M)
nous donne alors Ker A = Ker AT A de sorte que la deuxième condition de la définition [éq 2.4-1] est
simplement réalisée par tout vecteur qui s'exprime comme une combinaison linéaire des vecteurs
colonnes de P correspondant aux valeurs singulières non nulles.
3.3
Pseudo-inverse et solution au sens des moindres carrés
Une autre application de la décomposition en valeurs singulières consiste en la notion de
pseudo-inverse (ou inverse Moore-Penrose) qui généralise la notion habituelle d'inverse d'une matrice
carrée régulière aux matrices rectangulaires d'une part, et aux matrices carrées singulières d'autre
part.
Tout d'abord, la pseudo-inverse d'une matrice de la décomposition en valeurs singulières [éq 3.1-1]
est définie par :
+
-1
r
=
0
si m n
0
0
+
-1
0
r
=
si m > n
0
0
0


où -1
1
1
1
r = Diag
,
,# est l'inverse au sens habituel de

r .
1
µ
2
µ
r
µ
Ceci étant, nous utilisons la décomposition [éq 3.1-1] de la matrice A pour définir sa pseudo-inverse
A+ par :
A +
P +
= QT
éq 3.3-1
De même, de la décomposition [éq 3.1-1] de la matrice A nous tirons AT A
P T PT
= , de sorte
que la pseudo-inverse (AT +
A) de la matrice ATA est définie par :
(
+
+
AT A) = P +
( T
) PT
éq 3.3-2
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
10/24
Nous sommes maintenant en mesure de fournir une interprétation simple de la solution au sens des
moindres carrés définie par [éq 2.4-1].
La restriction à (Ker AT
A) de l'application linéaire associée à la matrice ATA définit un
isomorphisme de (Ker AT
A) sur ImATA . Comme, d'une part
(

Ker AT A)
(Ker A)
=
= Im AT , et, d'autre part, ImATA ImAT
=
, cette restriction est en fait
un automorphisme de (Ker AT
A) . Dans la base de (Ker AT
A) constituée par les r premières
colonnes de la matrice P , cet automorphisme est représenté par la matrice 2r . Aussi, son
automorphisme réciproque y est représenté par la matrice -2
r . L'extension à ¤n de cet
automorphisme est alors représentée, dans la base associée à la matrice P , par la matrice
( +
+
T ) = T(T ) , et donc, dans la base canonique, par la matrice (AT +
A) .
Il suit que :
· Nous retrouvons le fait que, pour tout b élément de ¤m, il existe un unique vecteur

x (Ker ATA) solution de ATAx AT
=
b , soit l'existence et l'unicité de la solution au
sens des moindres carrés [éq 2.4-1) du système Ax = b ,
· Cette unique solution est donnée par :
+
x = (ATA) ATb
éq 3.3-3
La pseudo-inverse d'une matrice est définie à partir de la décomposition SVD de cette matrice. Comme
la décomposition SVD n'est pas unique, la matrice pseudo-inverse n'est pas unique. Par contre, du
point de vue des applications linéaires associées aux matrices, l'application pseudo-inverse est unique.
Toutes les matrices pseudo-inverses associées aux différentes décompositions SVD d'une matrice
donnée ne sont alors que des représentantes matricielles particulières qui expriment cette application
pseudo-inverse relativement aux bases induites par les matrices orthogonales des décompositions
SVD. Aussi, l'expression [éq 3.3-3] a un sens : elle définit un vecteur dont x représente les
composantes par rapport à la base d'arrivée (matrice P ) de la décomposition SVD.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
11/24
4
Résolution d'un système linéaire rectangulaire
Les deux méthodes de résolution du système [éq 1-1] que nous présentons aux sections 4.1 (méthode
des équations normales) et 4.2 (décomposition en valeurs singulières) visent à la résolution des
équations normales [éq 2.1-5]. Ces deux méthodes se distinguent non seulement par le choix des
algorithmes qu'elles mettent en oeuvre (inversion contre pseudo-inversion), mais aussi par leur degré
de généralité et par leurs propriétés numériques qui sont comparées à la section 4.3
4.1
Méthode des équations normales
La résolution du système Ax = b par la méthode des équations normales consiste à calculer la
solution au sens des moindres carrés [éq 2.4-1] de façon "directe", c'est-à-dire en utilisant directement
-1
la relation x = (ATA) ATb . Pour cela, il s'agit d'abord de calculer ATA et ATb , puis de résoudre
le système obtenu soit par méthode itérative soit par une factorisation de AT A .
Nous pouvons d'ores et déjà remarquer que cette méthode est limitée aux matrices AT A régulières,
ce qui limite son domaine d'application au système [éq 1-1] dont la matrice est de plein rang (voir la
section 2.3). En particulier, la méthode des équations normales ne peut traiter ni les systèmes
strictement sous-contraints, ni les systèmes équi-contraints singuliers (voir la section 2.4).
4.2
Méthode par décomposition en valeurs singulières
Nous avons vu à la section 3.3 que la solution du système Ax = b au sens des moindres carrés
+
définie par [éq 2.4-1] peut être caractérisée par la relation x = (ATA) ATb [éq 3.3-3]. La méthode
de résolution du système basée sur cette propriété est dite méthode par décomposition en valeurs
singulières car elle construit la pseudo-inverse [éq 3.3-2] de AT A via la décomposition SVD
[éq 3.1-1] de la matrice A .
Comme toute matrice peut être décomposée en valeurs singulières, il suit que tout système du type
[éq 1-1] peut être résolu au sens de [éq 2.4-1] par cette méthode qui présente donc, au moins,
l'avantage de la généralité par rapport à la méthode des équations normales.
Ce n'est pas tout. La méthode par décomposition en valeurs singulières, contrairement à la méthode
des équations normales, ne demande pas la construction explicite de la matrice AT A et du vecteur
ATb (nous verrons à la section 4.3 l'intérêt sur le plan numérique de cette propriété). En effet, il est
aisé de vérifier que la matrice des valeurs singulières de la factorisation [éq 3.1-1] satisfait à
+
l'identité + (T ) T +
=
, de sorte que, prémultipliant AT par la pseudo-inverse de AT A et
tenant compte de la factorisation [éq 3.1-1], nous obtenons
(
+
+
AT A) AT = P +
( T
) T
PTP T
QT , qui, par orthogonalité de P nous donne
(
+
AT A) AT A+
=
. Dès lors, les caractérisations [éq 3.3-3] et [éq 2.4-1] de la solution cherchée sont
équivalentes à la caractérisation :
x est solution de A
x = b x = A+b
éq 4.2-1
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
12/24
4.3 Comparaison de la méthode des équations normales à la méthode
de décomposition en valeurs singulières
Dans les deux sections précédentes, nous venons de constater, qu'algébriquement, la méthode de
décomposition en valeurs singulières est plus générale et plus simple que la méthode des équations
normales. Nous allons maintenant constater, en suivant [bib3] p. 336, qu'elle lui est aussi supérieure
sur le plan numérique. Cette supériorité s'exprime d'une part, en terme de stabilité non seulement de la
résolution, mais aussi de la construction du problème et, d'autre part, à un niveau moins critique, en
terme d'adaptation au traitement des matrices creuses.
4.3.1 Conditionnement
Le conditionnement d'une matrice A d'ordre m × n est défini comme le rapport de ses valeurs
singulières extrêmes et non nulles :
µ
cond(A) = 1
µr
r est le rang de la matrice A .
Les résultats présentés dans [bib3] p.184, utilisant les équations normales comme un outil d'analyse et
non comme un outil de calcul, montrent que la perturbation de la solution du problème d'optimisation
[éq 2.1-1] due aux erreurs d'arrondis peut être proportionnelle à cond(A)2 . Mais les résultats
classiques de l'analyse de stabilité de la solution d'un système linéaire par rapport à ces mêmes
erreurs montrent une proportionnalité au nombre de conditionnement de la matrice. Si bien que dans le
cas d'une résolution directe des équations normales, nous obtenons une erreur toujours proportionnelle
à cond(ATA) = cond(A)2 , ce qui est moins bon que cond(A) .
La méthode de résolution par décomposition en valeurs singulières n'utilise que des transformations
orthogonales (voir le paragraphe 4), si bien qu'elle ne modifie pas le conditionnement initial du
problème [éq 1-1] et est donc, de ce point de vue, plus attrayante que la méthode des équations
normales.
4.3.2 Perte de précision
Nous venons de voir que les erreurs d'arrondis conduisent à une dégradation de la solution plus
sensible lorsqu'elle est calculée via les équations normales plutôt que par une décomposition en
valeurs singulières. L'exemple suivant, tiré de [bib 2], montre que la construction même du système
[éq 2.1-5] des équations normales est perturbée par les erreurs d'arrondi.
Soit donc la matrice suivante :
1 1


1+ 2

1
A =
T
0 conduisant à A A =
2

1
1+

0
dont les valeurs singulières sont µ
2
1 =
2 + et µ2 = , de sorte que le rang de A est 2 dès que
0 . Si vérifie 2 < mach < où mach est la précision machine, alors tous les coefficients de
AT A seront calculés à la valeur 1 et les valeurs singulières calculées seront, au mieux, µ1 = 2 et
µ2 = 0. Il suit que le rang numérique, calculé par les équations normales, sera 1, alors que celui
calculé par une décomposition SVD de la matrice A serait égal à 2
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
13/24
4.3.3 Structure
creuse
A un niveau moindre, la construction de la matrice des équations normales induit un remplissage du
système associé que la méthode utilisant la décomposition en valeurs singulières évite.
4.3.4 Conclusion
Le tableau suivant résume la discussion des sous-sections précédentes :
Généralité
Conditionnement
Perte de précision à la
remplissage
construction du problème
Equations
systèmes de plein rang
cond(A)2
possible
oui
normales
SVD
tout système
cond(A)
impossible
non
5
Algorithme SVD pour la résolution d'un système linéaire
équi ou sous-contraint

Dans ce paragraphe, nous détaillons la méthode de résolution des systèmes non-réguliers mise en
oeuvre dans le Code_Aster. Cette méthode s'applique au système sous-contraint ou équi-contraint
singulier et fournit la solution au sens des moindres carrés [éq 2.4-1].
Le calcul d'une décomposition SVD de A est équivalent au calcul du spectre de la matrice normale
associée ATA . Aussi, il ne peut être obtenu qu'à la convergence d'un procédé itératif.
La section 5.1 expose le principe de l'algorithme et montre en particulier comment l'application de
deux transformations orthogonales permet de réduire le problème à la simple recherche de la
décomposition SVD d'une matrice bidiagonale supérieure. Les sections 5.2 et 5.3 sont consacrées à
l'algorithmique de ces réductions. La section 5.4 présente l'algorithme de la décomposition SVD
de la matrice bidiagonale.
Les algorithmes seront décrits avec la convention de notation dans laquelle :
·
R(i, j,) désigne la rotation de Givens du plan (i, j) et d'angle ,
·
( )
( )

A k désigne l'itéré d'indice k d'une itération matricielle et A k l, l'itéré l d'une itération
( )
interne à l'itéré A k .
5.1
Réduction du problème et principe de l'algorithme
Dans cette section, nous présentons l'algorithme de résolution d'un sytème linéaire équi ou
sous-contraint par la méthode SVD.
Nous réduisons le problème à la recherche de la décomposition SVD d'une matrice bidiagonale comme
dans [bib2] mais nous effectuons la réduction d'une autre façon que celle proposée dans [bib2] : nous
commençons par réduire la matrice à une forme triangulaire supérieure, puis, nous réduisons cette
triangulaire à une forme bidiagonale supérieure. Ces deux réductions sont effectuées par
transformations orthogonales.
Les opérations de calcul de la décomposition SVD s'enchaînent comme suit :
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
14/24
5.1.1 Réduction à la forme triangulaire supérieure
A = [U
]0PT1
si m < n
éq 5.1-1
A = U PT1
si m = n
P1 est une matrice orthogonale d'ordre n et U une matrice triangulaire supérieure d'ordre m .
5.1.2 Réduction à la forme bidiagonale supérieure
U = Q BPT
2
2
éq 5.1-2
Q2 et P2 sont deux matrices orthogonales d'ordre m et B une matrice bidiagonale supérieure
d'ordre m .
5.1.3 Décomposition SVD de la bidiagonale supérieure
B = Q
P
3 T
3
éq 5.1-3
Q3 et P3 sont deux matrices orthogonales d'ordre m et une matrice diagonale d'ordre m de la
forme :
µ1
!
0
r
0
µ2
=
=
0
0
!
0
0
0
Combinant les relations [éq 5.1-1], [éq 5.1-2] et [éq 5.1-3], nous obtenons une décomposition SVD de
la matrice
A :

T
T
A = Q Q
r 0
P P
3
2
0
T
2
3
0
P
0 0
1
0
éq 5.1-4
I
La solution au sens des moindres carrés [éq 2.4-1] du système [éq 1-1] est alors obtenue par
l'application de la pseudo-inverse [éq 3.3-1] de A déduite de la décomposition en valeurs singulières
[éq 5.1-4]. Nous obtenons donc :
P
P +
QTQTb
x P
2 3
3
2
= 1

éq 5.1-5


0


L'algorithme proposé consiste donc en l'enchaînement des factorisations [éq 5.1-1], [éq 5.1-2] et
[éq 5.1-3] préalablement à l'application de la relation [éq 5.1-5].
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
15/24
5.2
Réduction à la forme triangulaire supérieure
A partir d'une matrice A d'ordre m × n pour m n on détermine une matrice triangulaire supérieure
U d'ordre m et une matrice orthogonale P d'ordre n telles que :
A = [U
]0PT
si m < n
A = U PT
si m = n
Algorithmiquement, la factorisation utilise une méthode d'élimination qui s'interprète, comme la
( )
construction d'une suite de matrices A k par :
(m)
A = A


(k- )1
(k) (k)
A
= A P
pour k
= m,m -

1, ,1
#
( )
où chaque matrice courante A k présente la structure schématisée ci-dessous :
Colonne pivot
Coefficients
(colonne k)
annulés en
Pivot (coefficient (k, k))
phase 1
(ligne k)
Coefficients
annulés en
phase 2
A(k) =
(ligne k)
coefficients
Coefficients
nuls
ne changeant
plus
(k)
( )
Les coefficients ai, j des matrices A k de l'itération vérifient donc :
k +1 i m
et m + 1 j n
(k)

a
= 0 si k +1 i m
1
et j k
i, j
éq 5.2-1
k +1 j i m

de sorte qu'à l'issue de la récurrence, nous aurons :
( )1
( )
U = A
et
P =
P
k
k =m -
m
,
1, 1
,
#
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
16/24
( )
Le problème se réduit donc à la préservation de la structure [éq 5.2-1] lors du passage de A k à
(
)
A k-1
( )
par une transformation P k qui doit être orthogonale. Le problème de l'orthogonalité est réglé
en choisissant la transformation comme un produit de rotations de Givens et le problème de la
préservation de la structure est résolu en effectuant ce produit dans un ordre qui ne détruit pas les
zéros créés.
( )
(
)
Tenant compte de la structure rectangulaire de la matrice A k , nous construisons l'itéré A k -1 en
deux phases :
(k- )
·
1
La phase 1 annule successivement les coefficients ak, j correspondant aux colonnes
j = k -1, k - 2,
1
, ,
# , ce qui se traduit par :
(k-1,k- )1
(k)
A
= A
(k-1,j- )1
(k-1,j)
(k) T
A
= A
R(k, j,j ) pour j = k -1,k - 2, ,1
#
(k- )
·
1
La phase 2 annule successivement les coefficients ak, j correspondant aux colonnes
j = n,n - ,
1
,m + ,
1
#
, ce qui se traduit par la récurrence :
(k-1 n,)
(k-1,0)
A
= A
(k-1,j- )1
(k-1,j)
(k) T
A
= A
R(k, j,j ) pour j = n,n -1, ,k
# +1
(k)
L'angle j de la rotation de Givens du plan (k, j) est choisi pour annuler le coefficient en position
(k, j)
( -1, )
de a k
j . L'application de chaque rotation ne modifie donc que les colonnes k et j ce qui
ne détruit pas les coefficients nuls produits par les étapes précédentes. Nous constatons que la
colonne k joue un rôle particulier (celui de pivot) car elle seule est systématiquement modifiée par
chaque rotation alors que les autres colonnes ne sont modifiées que par la rotation qui annule leur
coefficient à la ligne k .
(k- )1
(k-1,k)
( )
A l'issue de ces récurrences, nous avons A
= A
. La matrice P k est alors donnée par :
( )
j=n
(
j=k -1
k )
P k = R(
k
k, j,j )
( )
R(k, j,j )
j=m+1
j=1
de sorte que la matrice P vaut :
k =
m
j=n
(
j k 1
k )
= -

P = R(
k
k, j,j )
( )
R(k, j,j )
k =1 j=m+1
j=1

Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
17/24
5.3
Réduction à la forme bidiagonale supérieure
Réduire une matrice carrée triangulaire supérieure A d'ordre m à la forme bidiagonale supérieure
consiste à trouver deux matrices orthogonales P et Q et une matrice bidiagonale supérieure B ,
toutes trois d'ordre m , telles que :
A = QBPT
Algorithmiquement, la factorisation procède comme celle de la section précédente en utilisant une
méthode d'élimination qui s'interprète algébriquement comme la construction d'une suite de matrices
( )
A k par :
( )

A 1 = A
(k )1
(k)T (k) (k)
A
= Q
A P
pour k = 1 2
, , ,m
# - 2


+
( )
où chaque matrice courante A k présente la structure diagonale par bloc suivante :
· Le bloc diagonal supérieur (indices de ligne et de colonne variant de 1 à k -1) est une
matrice bidiagonale supérieure d'ordre k - 1,
· Le bloc diagonal inférieur (indices de ligne et de colonne variant de k à m ) est une matrice
triangulaire supérieure d'ordre m - k .
(k)
( )
Les coefficients ai, j des matrices A k de l'itération vérifient donc :
1 i k -1 et i + 2 j m
(k)

a
= 0 si 1 i k -1 et i < j
i, j
éq 5.3-1
k i m
et 1 j < i

de sorte qu'à l'issue de la récurrence, nous aurons :
(
k =m
k =m
m+ )
1
(k)
(k)
B = A
,
Q = Q
et
P = P
k =1
k =1
Comme pour la factorisation de la section précédente, le problème se réduit à la préservation de la
( )
(
)
( )
structure [éq 5.3-1] lors du passage de A k à A k +1 . L'orthogonalité des transformations Q k et
( )
P k est obtenue en les construisant comme produit de rotations de Givens et le problème de la
préservation de la structure est résolu en effectuant ces produits dans un ordre qui ne détruit pas les
zéros créés par les étapes précédentes.
L'algorithme annule donc successivement les coefficient (k, j + )
1 pour j = m -1,m - 2, , k
# + 2 par
l'application à droite d'une rotation de Givens du plan ( j, j + )
1 . Cette rotation ne modifie que les
colonnes j et j + 1 , ce qui crée un coefficient parasite en position ( j +1, j) . Ce coefficient parasite
est alors éliminé par l'application à gauche de la transposée d'une rotation de Givens dans le plan
(j, j + )1.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
18/24
( )
(
)
Le procédé de passage de A k à A k +1 peut être alors formalisé par :
(k+1 m
, - )
1
(k)
A
= A
(k+1, j=1/2)
(k+1,j)
(k)
A
= A

R(J, J +1,j )
(k+1,j= )1
(k)
T
A
=
1, 1/2


R(
k + j
J, J
=
+1,j=1/2) (
)
A
pour j = m - 1,m - 2,
, k
# +1
(k+ )1
(k+1,k)
A
= A
(k)
(k)
où les angles j et j=1/2 sont choisis pour annuler respectivement le coefficient en position
(k, j + )1
( +1, )
( +1, =1/2)
de A k
j et le coefficient en position ( j +1, j) de A k j
.
( +1, )
La structure des matrices A k
j est illustrée dans la figure suivante :
Coefficient à annuler par la rotation
P courante (colonne j+1)
Coefficient annulés par les
Coefficient annulés par les
rotations P suivantes
rotations P précédentes
Bi-diagonale
k j =
Ligne
A( , )
k
Coefficient créé par la
rotation P courante et
éliminé par la rotation Q
courante
( )
( )
A l'issue de cette récurrence, les matrices P k et Q k sont données par :
(
j=k +1
j=k +1
k )
(k)
P
= R(
k
k
j, j +1,j )
( )
( )
et
Q
= R(k, j,j=1/2)
j=m-1
j=m-1
de sorte que les matrices P et Q valent :
k = -
m 2 j=k +1
(
k m 2 j k 1
k )
= -
= +
P =
R( , +
k
j j 1,j )
( )
et
Q =
R( j, j +1,j=1/2)
k =1 j= -
m 1
k =1 j=m-1
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
19/24
5.4
Décomposition SVD d'une bidiagonale supérieure
Nous présentons un algorithme de construction de la décomposition SVD d'une matrice bidiagonale
supérieure A d'ordre m . L'algorithme construit donc deux matrices orthogonales Q et P et une
matrice diagonale D telles que :
A = QDPT
L'algorithme est tiré de [bib2].
5.4.1 Principe de l'algorithme
L'algorithme de calcul de la décomposition SVD diagonalise itérativement la matrice A au moyen de la
récurrence :
( )

A 1 = A
(
éq 5.4.1-1
k
)1
(k)T (k) (k)
A
= Q
A P
pour k
= 1 2


+
, ,#
( )
( )
( )
où les matrices Q k et P k sont orthogonales et les matrices A k sont bidiagonales supérieures.
A la convergence, nous aurons :
(
k =
k =
)
(k)
(k)
D = A
, P = P
et
Q = Q
k =1
k =1
L'idée de l'itération consiste à :
·
( )
Choisir
P k pour faire converger l'algorithme QR appliqué à la diagonalisation de la matrice
(dite normale) ATA sans la former explicitement. En effet, la matrice P de la décomposition
SVD de A n'est rien d'autre que la matrice des vecteurs propres de AT A ,
·
( )
Choisir
Q k pour préserver la structure bidiagonale supérieure des itérés successifs.
( )
( )
Comme dans le cas des factorisations présentées aux sections 5.2 et 5.3, les matrices Q k et P k
( )
(
)
sont construites comme produit de rotations de Givens. Le passage de A k à A k +1 est alors
réalisé par :
(
T
k + )
1
(k,2) (k, )3
(k m
, )
A
= [Q Q
Q
#
] (k) (k,2) (k, )3 (km,)
A
= [P P
P
#
]
éq 5.4.1-2
( )
( )
où les Q k i, et P k i, sont deux rotations du plan (i -1,i) d'angle respectif j et i :
(k i,)
(k)
Q
= R(
k i,
k
i - ,
1 i, i
)
( )
( )
et
P
= R(i - ,1i, i )
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
20/24
(
)
Les rotations sont alternativement appliquées à droite puis à gauche de façon à ce que A k +1
( )
conserve la structure bidiagonale supérieure de A k . Pour ce faire :
(k)
( )
L'angle 2 est, pour le moment, choisi arbitrairement ; l'application de la rotation P k,2 crée
alors un coefficient en position (2 )
1
, ,
(k)
( )
L'angle 2 est choisi pour que l'application de la rotation Q k,2 annule le coefficient en position
(2 )1
, , ce qui crée un coefficient non nul en position (1 )
3
, ,
(k)
( )
L'angle 3 est choisi pour que l'application de la rotation P k,3 annule le coefficient en position
(1 )3
, , ce qui crée un coefficient non nul en position (3 2
, ) ,
$
(k)
(
)
L'angle m-1 est choisi pour que l'application de la rotation Q k m
, -1 annule le coefficient en
position (m -1,m - 2) , ce qui crée un coefficient non nul en position (m - 2, )
m ,
(k)
( )
L'angle m est choisi pour que l'application de la rotation P k m
,
annule le coefficient en position
(m- 2, )
m , ce qui crée un coefficient non nul en position (m,m - )
1 ,
(k)
( )
L'angle m est choisi pour que l'application de la rotation Q k m
,
annule le coefficient en
(
)
position (m,m - )
1 , et la matrice A k+1 soit bidiagonale supérieure.
Pour toute valeur de l'angle, ce procédé assure le maintient de la structure bidiagonale supérieure aux
itérés [éq 5.4.1-2]. Nous allons voir maintenant comment il est possible de choisir cet angle pour faire
converger l'itération [éq 5.4.1-1].
5.4.2 Diagonalisation implicite de la matrice normale
(k)
L'algorithme de la sous-section précédente laisse indéterminé l'angle 2 de la première rotation de
( )
P k
( )
. Nous allons lever cette indétermination de façon à faire de la matrice P k la matrice
orthogonale d'un pas QR , avec décalage spectral, appliqué à la diagonalisation de la matrice normale
M AT
=
A .
A l'itération SVD [éq 5.4.1-1] de la matrice A , nous associons une itération sur la matrice normale
M AT
=
A :
(k )1
(k )T
1
(k )1
(k)T
+
+
+
(k) (k)
M
= A
A
= P
M P
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
21/24
Itération QR pour la diagonalisation de la matrice normale
( )
La transformation QR , avec décalage spectral k , appliquée à M k s'écrit :
(k)
(k)
Factoriser M
- I
k sous la forme M
- I = P R
k

(k+ )
(k+ )
Construire M
1
1

par M
= P R + I


k
P et R sont deux matrices respectivement orthogonale et triangulaire supérieure. Les matrices
( )
M k
(k+ )
et M
1

sont donc tridiagonales et semblables :
(k+ )1
T
(k)
M
= P M P



Du point de vue pratique, la matrice P se présente comme un produit de rotations de Givens :
PT
= R(n - ,
1 n,n)R(n - 2,n - ,1n-1) R
# ( ,
1 2,2)
Les angles k sont choisis pour que l'application à gauche de R(k - ,
1 k,k ) à la matrice



R(1-11
k
, ,1)
( )
(M kI) annule le coefficient de position (k,k - )1 dans la matrice
1

= 1-, -2, ,2
#


-
k
k
résultat.
( )
(k+ )
Francis a montré que le passage de M k à M
1

ne nécessite pas la formation explicite de la
(k)
matrice M
- I
k : le decalage peut être effectué implicitement. Le théorème s'énonce comme
suit :
Théorème (Francis) : Soit X une matrice orthogonale dont la première colonne coïncide avec celle
de P . Sous les hypothèses :
(k+ )1
T
(k)
1) M
= X M X
(
)
2) M k +1 est tridiagonale,
( )
( )
3) Les éléments sous-diagonaux de M k sont tous non nuls (irréductibilité de M k ),
on a
(k+ )1
(k+ )
M
= DM 1 D

D est une matrice diagonale de coefficients diagonaux tous égaux à ± 1.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
22/24
Application à l'algorithme SVD
(k)
Dès lors, le choix de l'angle 2 de la première rotation de l'itération SVD [éq 5.4.1-1] consiste en
(k)

(k)
T
R( ,12,
( )
2
) = R( ,12,2)
2
=
- 2 . Ainsi
de sorte que la première colonne de P k coïncide
( )
avec la première colonne de P . Donc, si tous les éléments sous-diagonaux de M k sont non nuls,
( )
alors, les matrices P k et P s'identifient (à un facteur multiplicatif ±1 près des colonnes) et
l'itération SVD [éq 5.4.1-1] est équivalente à l'application de la transformation QR , avec décalage, à la
( )
matrice M k .
Choix du décalage spectral
Le décalage est habituellement choisi comme la valeur propre du mineur inférieur d'ordre deux de
( )
A k
(k)
la plus proche de am m
, . Ce choix assure une convergence globale qui, généralement, est
cubique.
Applicabilité du théorème de Francis et phénomène de décomposition
L'utilisation du théorème de Francis suppose la non nullité de tous les coefficients sous-diagonaux des
( )
matrices M k , qui n'est en rien garantie. De plus, dans le cadre de la méthode QR de
diagonalisation d'une matrice tridiagonale symétrique, l'apparition de coefficients sous-diagonaux nuls
est :
· Souhaitable : les coefficients nuls découplent les blocs diagonaux qu'ils encadrent, ce qui
ramène la diagonalisation de la matrice complète à la diagonalisation de ses blocs diagonaux
(ce phénomène est souvent appelé "décomposition" ),
· Inévitable : la convergence de l'algorithme vers une valeur propre s'interprète algébriquement
comme l'apparition d'un bloc diagonal précédent d'ordre 1.
Dans la sous-section suivante, nous allons voir quel traitement il convient d'adopter en présence d'une
décomposition.
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
23/24
5.4.3 Analyse de décomposition
L'analyse de décomposition porte sur chaque itéré pris indépendamment des autres, aussi, nous
n'utiliserons pas l'indice supérieur (k ) .
Soit d ,d ,
,d
1
2 #
m et e , e ,
,e
2
3 # m les éléments respectivement diagonaux et sur-diagonaux de A .
Les éléments sous-diagonaux de la matrice normale M = AT A sont alors donnés par :
m 1 = d e
pour
i
1
= 1 2
m
i+ i
i l+
# -1
,
, , ,
Supposons, pour simplifier, que seul le coefficient ml- l
1, est nul. La matrice M présente alors une
structure de deux blocs diagonaux dont la réunion des spectres respectifs donne le spectre de M .
Cette décomposition a lieu soit pour e1 = 0 soit pour e 0 et d
1
l 1
- = 0 .
Le cas e1 = 0 ne pose aucune difficulté. La matrice A possède alors une structure diagonale de deux
blocs qui fournissent chacun une partie complémentaire de la décomposition SVD de A . Chaque bloc
étant bidiagonal supérieur, sans coefficients sur-diagonaux nuls, sa décomposition SVD est calculable
par l'itération [éq 5.4.1-1].
Le cas e 0 et d
1
l 1
- = 0 est plus délicat. En effet, l'itération [éq 5.4.1-1] ne peut être appliquée ni
à la matrice A , pour ne pas violer les hypothèses du théorème de Francis, ni à aucune sous matrices
de A , pour assurer la structure bidiagonale aux itérés. Ce problème est contourné par la
postmultiplication de A par une série de rotations de Givens dans les plans successifs
(l -1,l),(l -1,l + )1, ,(l -1,
#
)
m :
· La rotation du plan (l -1,l) annule le coefficient (l -1,l) et crée un coefficient en position
(l -1,l + )1,
· La rotation du plan (l -1,l + )
1 annule le coefficient (l -1,l + )
1 et crée un coefficient en
position (l -1,l + 2) ,
· La rotation du plan (l -1,l + )
1 annule le coefficient (l -1,l + )
1 et crée un coefficient en
position (l -1,l + 2) ,
$
· La rotation du plan (l -1, )
m annule le coefficient (l -1, )
m et ne crée pas de coefficient.
De sorte que la matrice produite par ce procédé présente la même structure que celle correspondant
au cas e1 = 0 .
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Code_Aster ®
Version
3.0
Titre :
Résolution de systèmes non réguliers par une méthode de décomposition
Date :
26/06/95
Auteur(s) :
B. QUINNEZ, R. MICHEL
Clé :
R6.03.01-A
Page :
24/24
5.4.4 Organisation de l'algorithme
L'algorithme isole successivement chaque valeur singulière, aussi, il existe un indice k p tel que l'itéré
( )
A kp se décompose en deux blocs diagonaux :
( )
(kp)
B
0
A kp =
( )
0
D kp
( )
( )
B kp est une matrice bidiagonale supérieure d'ordre p et D kp est une matrice diagonale
d'ordre m - p + 1 rassemblant sur sa diagonale les valeurs singulières trouvées.
( )
A partir de cet itéré, l'algorithme applique l'itération de la sous-section 5.4.1 à la sous-matrice B kp
jusqu'à l'annulation du coefficient en position ( p -1, p) , signal de la convergence de la pième valeur
singulière. Chaque pas de l'itération interne, ainsi définie, s'organise comme suit :
· Analyse de décomposition,
· Dans le cas où la décomposition trouvée correspond à un élément diagonal nul, une série de
rotations supplémentaires est appliquée pour retrouver la structure de décomposition générée
par un élément sur-diagonal nul. Ces rotations sont construites suivant la méthode présentée
à la sous-section 5.4.3,
· Si le coefficient en position ( p -1, p) ne produit pas de décomposition alors la sous-matrice
( )
B kp est l'objet d'un pas de l'itération [éq 5.4.1-1] où, conformément à l'analyse de la sous-
section 5.4.2, l'angle de la première rotation est choisi pour que ce pas soit équivalent à
l'application d'une transformation QR , avec décalage spectral implicite, sur la matrice
normale associée.
La convergence complète de l'itération est alors obtenue à l'indice km pour lequel la sous-matrice
( )
D km est d'ordre m .
Bien entendu, dans la pratique, un coefficient est considéré comme nul dès qu'il est inférieur, en valeur
absolue, à une certaine tolérance. La tolérance généralement utilisée pour les problèmes de valeurs
singulières est choisie comme le produit de la précision machine par A 1. Remarquons que dans le
cas d'une décomposition produite par un élément diagonal nul à la tolérance choisie, l'application de la
série de rotations supplémentaires décrites à la sous-section 5.4.3 crée une sous colonne d'éléments
non nuls sous ce coefficient. Ces éléments ne sont pas gênants car ils sont tous nuls à la tolérance
choisie.
6 Bibliographie
[1]
P. G. CIARLET : "Introduction à l'analyse numérique matricielle et à l'optimisation" _ MASSON
(1985).
[2]
G. H. GOLUB, C. REINSCH "Singular value decomposition and least squares solutions" in
"Handbook for Automatic Computation - Linear Algebra, Vol. 2" J.H. WILKHINSON,
C. REINSH Editors _ SPINGER VERLAG (1971).
[3]
P. LASCAUX, R. THEODOR : " Analyse numérique matricielle appliquée à l'art de l'ingénieur",
tomes 1 et 2 _ MASSON (1986).
Manuel de Référence
Fascicule R6.03 : Méthodes particulières
HI-75/95/032/A

Document Outline