Vous êtes sur la page 1sur 134

S C I E N C E S F O N D A M E N TA L E S

Ti052 - Mathématiques

Méthodes numériques

Réf. Internet : 42105 | 3e édition

Actualisation permanente sur


www.techniques-ingenieur.fr
Tec h n ique s de l ’I n gé ni eur
La plus impor tante ressource documentaire scientifique
et technique en français

Une information fiable, claire et actualisée


Validés par un comité scientifique et mis à jour en permanence sur Internet,
les articles Techniques de l’Ingénieur s’adressent à tous les ingénieurs et
scientifiques, en poste ou en formation.
Outil d’accompagnement de la formation et de la carrière des ingénieurs,
les ressources documentaires Techniques de l’Ingénieur constituent le socle
commun de connaissances des acteurs de la recherche et de l’industrie.

Les meilleurs experts techniques et scientifiques


Plus de 200 conseillers scientifiques et 3 500 auteurs, industriels, chercheurs,
professeurs collaborent pour faire de Techniques de l’Ingénieur l’éditeur
scientifique et technique de référence.
Les meilleurs spécialistes sont réunis pour constituer une base de
connaissances inégalée, vous former et vous accompagner dans vos projets.

Une collection 100 % en ligne


• Accessibles sur www.techniques-ingenieur.fr, les dernières nouveautés et
actualisations de votre ressource documentaire
• Les articles téléchargeables en version PDF

Des services associés


Rendez-vous sur votre espace « Mon compte » en ligne pour retrouver la liste
des services associés à vos droits d’accès et les utiliser.

 Des services associés


Pour toute information, le service clientèle reste à votre disposition :
Tél : 01 53 35 20 20 l Fax : 01 53 26 79 18 l Mail : infos.clients@teching.com

III
Cet ouvrage fait par tie de
Mathématiques
(Réf. Internet ti052)
composé de  :

Mathématiques fondamentales  : analyse Réf. Internet : 42103

Mathématiques fondamentales  : algèbre et géométrie Réf. Internet : 42104

Méthodes numériques Réf. Internet : 42105

Analyse numérique des équations différentielles et aux Réf. Internet : 42620


dérivées partielles

Probabilités et statistique Réf. Internet : 42101

Applications des mathématiques Réf. Internet : 42102

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires

IV
Cet ouvrage fait par tie de
Mathématiques
(Réf. Internet ti052)

dont les exper ts scientifiques sont  :

Claude BREZINSKI
Professeur émérite, Laboratoire Paul Painlevé, UMR CNRS 8524

Mireille DEFRANCESCHI
Agrégée de chimie, Docteur d'État en Sciences Physiques

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires

V
Les auteurs ayant contribué à cet ouvrage sont :

René ALT Jean-Charles GILBERT Bernard PHILIPPE


Pour les articles : Pour l’article : AF1252 Pour l’article : AF1224
AF1470 – AF1471
Claude GOMEZ Jacques PRADO
Jean-Paul BERRUT Pour les articles : Pour l’article : AF1450
Pour l’article : AF1480 AF1460 – IN31
Michela REDIVO-
Olivier BONNEFOY Michel KERN ZAGLIA
Pour l’article : BM5220 Pour l’article : AF1380 Pour l’article : AF1390

Claude BREZINSKI Claude LEMARÉCHAL Yousef SAAD


Pour les articles : Pour l’article : AF1253 Pour l’article : AF1224
AF1220 – AF1221 –
AF1223 – AF1390 Marc LENOIR Bruno SALVY
Pour les articles : AF567 – Pour l’article : AF1460
Robert CABANE AF568
Pour l’article : AF485 Jean-François SCHEID
Sylvain MARTIN Pour l’article : AF1254
Franck CAPPELLO Pour l’article : BM5220
Pour l’article : H1088 Pierre SPITERI
Gérard MEURANT Pour l’article : AF502
Albert COHEN Pour les articles : AF486 –
Pour l’article : AF210 AF488 Bruno TORRÉSANI
Pour l’article : AF490
Daniel ETIEMBLE Michel MINOUX
Pour l’article : H1088 Pour l’article : AF1251 Jean VIGNES
Pour les articles :
AF1470 – AF1471

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires

VI
Méthodes numériques
(Réf. Internet 42105)

SOMMAIRE

1– Notions et concepts fondamentaux Réf. Internet page

Méthodes numériques de base. Analyse numérique AF1220 11

Méthodes numériques de base. Algèbre numérique AF1221 17

Bases fonctionnelles de l'analyse numérique AF1223 21

Validation des résultats des logiciels scientiiques. Problème des approximations AF1470 25
arithmétiques
Validation des résultats des logiciels scientiiques. Approche stochastique AF1471 29

Introduction à MATLAB AF1450 35

Calcul formel AF1460 41

Scilab, un logiciel libre de calcul scientiique IN31 47

Introduction au parallélisme et aux architectures parallèles H1088 49

2– Algèbre linéaire et optimisation Réf. Internet page

Méthodes numériques en algèbre linéaire AF485 57

Calcul de fonctions de matrices AF486 63

Méthodes de Krylov pour la résolution des systèmes linéaires AF488 67

Méthodes mathématiques pour le traitement des signaux et des images AF490 69

Algorithmes numériques pour la résolution des grands systèmes AF502 75

Théorie spectrale et applications. Généralités et opérateurs compacts AF567 77

Le théorème spectral AF568 83

Calcul des valeurs propres AF1224 87

Optimisation en nombres entiers AF1251 93

Optimisation diférentiable AF1252 97

Optimisation et convexité AF1253 101

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires

VII
Programmation linéaire. Méthode et applications AF1254 105

Problèmes inverses AF1380 111

3– Approximation Réf. Internet page

Les bases d'ondelettes AF210 119

Approximation des fonctions AF1480 123

Interpolation, approximation et extrapolation rationnelles AF1390 127

Méthode de Boltzmann en réseau. Application à la mécanique des luides BM5220 129

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires
Méthodes numériques
(Réf. Internet 42105)


1– Notions et concepts fondamentaux Réf. Internet page

Méthodes numériques de base. Analyse numérique AF1220 11

Méthodes numériques de base. Algèbre numérique AF1221 17

Bases fonctionnelles de l'analyse numérique AF1223 21

Validation des résultats des logiciels scientiiques. Problème des approximations AF1470 25
arithmétiques
Validation des résultats des logiciels scientiiques. Approche stochastique AF1471 29

Introduction à MATLAB AF1450 35

Calcul formel AF1460 41

Scilab, un logiciel libre de calcul scientiique IN31 47

Introduction au parallélisme et aux architectures parallèles H1088 49

2– Algèbre linéaire et optimisation

3– Approximation

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires


QP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP

Méthodes numériques de base


Analyse numérique
par Claude BREZINSKI

Docteur ès sciences mathématiques
Professeur à l’université des Sciences et Technologies de Lille

1. Arithmétique de l’ordinateur ................................................................ AF 1 220 - 2


1.1 Virgule flottante normalisée ....................................................................... — 2
1.2 Opérations arithmétiques et conséquences.............................................. — 2
1.3 Conditionnement d’un problème ............................................................... — 3
1.4 Correction de l’arithmétique....................................................................... — 3
2. Interpolation.............................................................................................. — 4
2.1 Polynôme d’interpolation et son calcul ..................................................... — 4
2.2 Erreur d’interpolation .................................................................................. — 5
2.3 Choix des points d’interpolation ................................................................ — 5
2.4 Convergence ................................................................................................ — 5
2.5 Polynôme d’interpolation d’Hermite.......................................................... — 6
2.6 Exemples d’interpolation non polynomiale .............................................. — 6
2.7 Fonctions splines ......................................................................................... — 6
3. Quadrature numérique ........................................................................... — 9
3.1 Quadrature de type interpolation............................................................... — 9
3.2 Convergence et stabilité.............................................................................. — 9
3.3 Méthodes des trapèzes et de Romberg ..................................................... — 10
3.4 Méthode de Gauss et polynômes orthogonaux ....................................... — 11
4. Intégration des équations différentielles.......................................... — 12
4.1 Définition du problème ............................................................................... — 12
4.2 Méthodes à pas séparés ............................................................................. — 13
4.3 Méthodes à pas liés..................................................................................... — 15
4.4 Problèmes aux limites................................................................................. — 18
5. Approximation .......................................................................................... — 18
5.1 Meilleure approximation.Théorie .............................................................. — 18
5.2 Meilleure approximation. Exemples .......................................................... — 19
5.3 Approximation de Padé............................................................................... — 20
5.4 Ondelettes .................................................................................................... — 21
p。イオエゥッョ@Z@。カイゥャ@RPPV@M@d・イョゥ│イ・@カ。ャゥ、。エゥッョ@Z@ョッカ・ュ「イ・@RPQY

Pour en savoir plus ........................................................................................... Doc. AF 1 221

l est bien connu que les méthodes utilisées en mathématiques classiques


I sont incapables de résoudre tous les problèmes. On ne sait pas, par exemple,
donner une formule pour calculer exactement le nombre x unique qui vérifie
x = exp(– x) ; on ne sait pas non plus trouver la solution analytique de certaines
équations différentielles ni calculer certaines intégrales définies. On remplace
alors la résolution mathématique exacte du problème par sa résolution numé-
rique qui est, en général, approchée. L’analyse numérique est la branche des
mathématiques qui étudie les méthodes de résolution numérique des pro-
blèmes, méthodes que l’on appelle constructives. Par méthode constructive, on
entend un ensemble de règles (on dit : algorithme) qui permet d’obtenir la
solution numérique d’un problème avec une précision désirée après un nombre
fini d’opérations arithmétiques.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
©Techniques de l’Ingénieur AF 1 220 − 1

QQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP

MÉTHODES NUMÉRIQUES DE BASE ________________________________________________________________________________________________________

L’analyse numérique est une branche assez ancienne des mathématiques.


Autrefois, en effet, les mathématiciens développaient les outils dont ils avaient
besoin pour résoudre les problèmes posés par les sciences de la nature. C’est
ainsi que Newton était avant tout un physicien, Gauss un astronome... Ils s’aper-
çurent rapidement que les problèmes pratiques qui se posaient étaient trop
compliqués pour leurs outils et c’est ainsi que, peu à peu, s’élaborèrent les tech-
niques de l’analyse numérique. Ces méthodes ne connurent cependant leur

Q essor actuel qu’avec l’avénement des ordinateurs à partir des années 1945-1947.
Ce qui suit n’est pas un cours théorique d’analyse numérique. Il existe
d’excellents livres pour cela. Ce n’est pas non plus un catalogue de méthodes
et de recettes. Pour être utilisées correctement et pour que leurs résultats
soient interprétés correctement, les méthodes d’analyse numérique nécessitent
une connaissance des principes de base qui ont guidé les mathématiciens ; il
est très difficile, voire impossible, d’utiliser un algorithme d’analyse numérique
comme une boîte noire. Pour ces raisons, une voie médiane a été choisie et les
algorithmes sont toujours replacés dans leur contexte théorique ; le lecteur
soucieux des démonstrations pourra se référer à la littérature correspondante.
Les méthodes d’analyse numérique sont destinées à être programmées sur
ordinateur. L’arithmétique de l’ordinateur n’a qu’une précision limitée (par la
technologie), ce qui pose souvent des problèmes extrêmement importants qu’il
faut pouvoir analyser et éviter. C’est pour cela que le premier paragraphe est
consacré à cette question.

Il existe, naturellement, de très nombreux ouvrages d’analyse numérique. Comme références,


on pourra consulter [2] [6] [22] [25] [30] [37] [40].

1. Arithmétique de l’ordinateur l’ordinateur. L’erreur commise en remplaçant a par fl (a ) s’appelle


erreur d’affectation. Elle est donnée par le théorème 1.

1.1 Virgule flottante normalisée Théorème 1.


a – fl ( a ) ⭐ K a 10 – t
Soit a un nombre réel. On peut toujours l’écrire sous la forme :
avec t nombre de digits décimaux de la mantisse des mots
a = ± 0, a 1 a 2 a 3 ... 10 q de l’ordinateur,
K = 10 si l’ordinateur travaille par troncature ou K = 5
avec q nombre entier relatif,
s’il travaille par arrondi.
a 1, a 2 ... a i chiffres décimaux de a avec a 1 ≠ 0.
On dit alors que a est écrit en virgule flottante normalisée. En
général, la mantisse a 1 a 2 a 3 ... de a possède une infinité de chiffres 1.2 Opérations arithmétiques
(on dit : digits ou bits).
et conséquences
Dans un ordinateur, chaque nombre est placé dans un mot. Un
mot est un ensemble (fini) de petites cases qui peuvent contenir un Les quatre opérations arithmétiques élémentaires (+, –, × et /) ne
0 ou un 1 car les ordinateurs travaillent, pour des raisons techno- s’effectuent pas directement dans la mémoire centrale de l’ordi-
logiques, dans un système de numération dérivé du système nateur, mais dans une unité arithmétique dont les mémoires
binaire. Le problème qui se pose maintenant à nous est simple : comportent plus de t digits. Une fois le calcul effectué dans cette
comment placer un nombre ayant une infinité de digits dans un mot unité arithmétique, le résultat est renvoyé dans la mémoire de
qui n’en comporte qu’un nombre fini ? l’ordinateur ; celui-ci doit donc le tronquer ou l’arrondir puisqu’il
Il y a deux façons de procéder : la troncature ou l’arrondi. Sup- possède plus de t digits. Par conséquent, l’erreur commise sur une
posons qu’un mot de l’ordinateur ne puisse contenir que t digits de opération arithmétique élémentaire est régie par le théorème pré-
la mantisse (pour simplifier le raisonnement, nous supposerons cédent, d’où l’on déduit le théorème 2.
que notre ordinateur travaille lui aussi en base 10, ce qui ne chan-
gera pratiquement rien à nos conclusions). On peut tout simple-
ment couper la mantisse de a après son t ième digit : c’est la Théorème 2.
troncature. On peut aussi, suivant la valeur du digit a t +1 , arrondir a ⴰ b – fl ( a ⴰ b ) ⭐ K a ⴰ b 10 –t
le digit a t : si a t +1 ⭓ 5 , on remplacera at par a t +1 et l’on tron- où ⴰ désigne l’une des opérations +, –, × ou /.
quera, sinon on tronquera directement. La plupart des ordinateurs
travaillent en arrondi. Le nombre réel a est donc représenté dans
l’ordinateur par une valeur approchée, que nous noterons fl (a ), Voyons maintenant les conséquences pratiques fondamentales
obtenue par troncature ou par arrondi selon la technologie de qui se déduisent de ce résultat.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 220 − 2 ©Techniques de l’Ingénieur

QR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP

_______________________________________________________________________________________________________ MÉTHODES NUMÉRIQUES DE BASE

Soit à calculer 1 + ε. On voit que, si l’ordinateur travaille par 1.3 Conditionnement d’un problème
arrondi et si | ε | < 5 × 10–t (ou si |ε | < 101 – t dans le cas de la tron-
cature), alors on aura : À la notion de stabilité numérique d’un algorithme vient
fl (1 + ε ) = 1 s’adjoindre une notion liée au problème mathématique lui-même :
La même conclusion restera valable dans le calcul de a ± b si les le conditionnement. Avant de résoudre un problème, il faut intro-
ordres de grandeur de a et de b sont très différents puisque : duire les données dans l’ordinateur. Celles-ci sont entachées d’une
erreur d’affectation et le problème que l’on va résoudre diffère donc
a ± b = a (1 ± b /a)


un peu de celui que l’on aurait dû résoudre. Il se peut que la solution
On peut penser que l’erreur commise est minime, mais il n’en exacte du problème ainsi perturbé soit très différente de la solution
est rien. En effet, soit à calculer : exacte du problème initial non perturbé : c’est la notion de
conditionnement d’un problème.
(y + x) – x y + (x – x) On dit qu’un problème est bien conditionné si une petite varia-
u = --------------------------- et v = ---------------------------
y y tion des données n’entraîne qu’une petite variation des résultats.
où y ≠ 0 et où les parenthèses indiquent celle des opérations à effec- Inversement, un problème est mal conditionné si une petite varia-
tuer en premier. On a u = v = 1. Sur l’ordinateur si l’on prend x = 1 tion des données peut entraîner une grande variation des résultats.
et y = ε tel que fl (1 + ε ) = 1, alors on obtient fl (v ) = 1 et fl (u ) = 0. Naturellement, les notions de petite et grande variations
Par conséquent, sur ordinateur, l’addition n’est pas associative et dépendent de t , le nombre de digits de la mantisse des mots de
n’est pas commutative. L’exemple précédent montre également que l’ordinateur. On voit que la notion de conditionnement est liée au
les erreurs peuvent être importantes et qu’une formule mathé- problème mathématique lui-même et qu’elle est indépendante de
matiquement exacte peut conduire, sur ordinateur, à des résultats la stabilité numérique de l’algorithme qui sera ensuite utilisé pour
complètement faux. le résoudre. Ces deux notions sont à prendre en compte simul-
Calculons maintenant sur ordinateur la différence a = b – c tanément dans l’analyse des résultats numériques fournis par
lorsque b et c sont très voisins. l’ordinateur, de même qu’il faudra également tenir compte de la
précision de la méthode de résolution utilisée, puisque nous avons
Exemple : si b = 0,183 256 et c = 0,183 255 et si t = 6, on obtient dit, dans l’introduction, que la majorité des méthodes d’analyse
a = 0,000 001, c’est-à-dire 0,100 000 × 10–5 en virgule flottante nor- numérique étaient des méthodes approchées.
malisée, résultat parfaitement exact. Il faut cependant bien voir que les
cinq 0 qui suivent le 1 dans le résultat n’ont aucune signification et
qu’ils sont complètement arbitraires puisque l’on ne connaissait que
les 6 premiers chiffres significatifs de b et de c. Si l’on utilise main- 1.4 Correction de l’arithmétique
tenant la valeur de a dans des calculs ultérieurs, tout se passera donc
comme si l’on ne disposait plus que d’un seul chiffre significatif exact, En face des erreurs dues à l’arithmétique de l’ordinateur, on peut
comme si l’ordinateur ne travaillait plus qu’avec t = 1. avoir plusieurs attitudes. On peut d’abord chercher à estimer ces
erreurs en se basant sur les majorations des théorèmes 1 et 2. On
On voit donc le risque énorme que l’on prend en continuant les se place alors dans le pire des cas, celui où les erreurs ne se
calculs. C’est l’erreur de cancellation qui se produit dans la dif- compensent jamais, et les bornes obtenues ainsi ne sont pas
férence de deux nombres voisins ; elle est la principale source réalistes. À de telles majorations, il vaut mieux préférer une esti-
d’erreur sur ordinateur. mation statistique des erreurs dues à l’arithmétique de l’ordinateur :
c’est la méthode de permutation-perturbation due à La Porte et
Exemple d’erreur de cancellation : soit à calculer les deux racines Vignes [18] [43]. On trouvera le logiciel correspondant à cette
de : méthode sur le site http://www-anp.lip6.fr/cadna/. Une autre attitude
ax 2 + bx + c = 0 consiste à corriger l’arithmétique de l’ordinateur. Comme c’est dans
une somme de termes que les erreurs peuvent le plus s’accumuler,
à l’aide des formules classiques. nous allons montrer comment essayer de corriger un tel calcul par
Pour a = 10– 4, b = 0,8 et c = – 10– 4, les racines sont – 8 × 103 et une méthode due à Pichat [36]. Soit à calculer :
– 1,25 × 10– 4. Un ordinateur travaillant par arrondi avec t = 6 trouve bien n
la première racine mais donne 5,96 × 10–4 pour la seconde. L’erreur pro- S = ∑ xi
vient de la cancellation dans le calcul de – b + b 2 – 4ac : on dit que i=1
l’algorithme utilisé est numériquement instable.
et soit fl (S ) la valeur obtenue sur ordinateur après calcul. Pour
obtenir fl (S), on effectue une boucle. On pose :
Si l’on veut obtenir un algorithme qui ne présente pas cet incon-
vénient, un algorithme numériquement stable, il faut éliminer la S1 = x 1
différence de nombres voisins qui engendre une erreur de cancel-
lation. Cela est possible. En effet, l’une des deux racines est puis on calcule :
toujours bien calculée : celle pour laquelle le signe devant la racine Si = Si–1 + xi pour i = 2, ..., n
carrée est le même que celui de – b. Posons donc :
On obtient :
2
x 1 = ( – b + ε b – 4ac )/2a Sn = fl (S )
avec ε = + 1 si b < 0 et ε = – 1 si b ⭓ 0 . Soit ei l’erreur faite sur la i ième somme. Naturellement, on aura :
x 1 sera toujours bien calculé. Il faut alors se souvenir que le
n–1
produit des racines est égal à c /a. On calculera donc la seconde
racine par : S = fl (S ) + ∑ ei
x 2 = c/ax 1 i=1

x 2 sera toujours bien calculé : l’algorithme est numériquement Les ei se calculent à l’aide des formules :
stable, nous en avons éliminé les causes possibles d’erreurs de
cancellation. ⎧ –Si + Si – 1 + xi si Si – 1 ⭓ x i
ei = ⎨
Cette notion de stabilité numérique est liée à un algorithme. ⎩ –Si + xi + Si – 1 si Si – 1 < x i

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
©Techniques de l’Ingénieur AF 1 220 − 3

QS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP

MÉTHODES NUMÉRIQUES DE BASE ________________________________________________________________________________________________________

n–1 (i )
On montre que les autres polynômes T peuvent se calculer
Tous les chiffres décimaux de T = S n + ∑ ei sont exacts.
récursivement à l’aide du schéma de Neville-Aitken :
k

i=1
(i) (i + 1)
Exemple : calculer : (i) ( x i + k + 1 – x )T k (x ) – ( x i – x ) T k (x )
T k + 1 (x ) = ---------------------------------------------------------------------------------------------------------------
1 000 xi + k + 1 – xi
–6
S = 1+ ∑ 10 = 1,001
pour k = 0, ..., n – 1 et i = 0, ..., n – k – 1.


i=1
(0)
Sur un ordinateur travaillant en arrondi avec t = 6, on obtient Le polynôme T n ainsi obtenu est le polynôme d’interpolation
fl (S ) = 1,000 95 et T = 1,001 00. de f en x 0 , ..., xn . On place habituellement ces polynômes dans un
tableau à double entrée :

T (0) (x) = f (x0)


0
T (0)
2. Interpolation T (1) (x) = f (x1)
1
0 T (0)
2
T (1)
1 ......
T (2) (x) = f (x2)
0
2.1 Polynôme d’interpolation

..............
et son calcul T (0)
n

Soit f une fonction réelle d’une variable réelle (ou, ce qui ne


change rien, une fonction complexe d’une variable complexe). On
......
suppose que l’on connaît les valeurs de f (x0 ), f (x1 ), ..., f (x n ) et T (n—1) (x) = f (xn—1)
l’on cherche un polynôme P tel que : 0
T (n—1)
1
P (x i ) = f (x i ) pour i = 0, ..., n T (n) (x) = f (xn)
0
On dit que P est le polynôme d’interpolation de f (ou qu’il inter- On voit que l’on se déplace dans ce tableau à partir de la colonne
pole f ) en x 0 , x 1 , ..., x n . On a le résultat fondamental du de gauche qui est connue, en allant vers la droite et de haut en bas.
théorème 3 en supposant qu’au moins l’une des quantités f (x i ) est Les flèches indiquent comment obtenir, à l’aide de la formule
différente de zéro. (i)
précédente, un polynôme T k + 1 de la colonne k + 1 à partir de deux
(i) ( i + 1)
Théorème 3. Une condition nécessaire et suffisante pour qu’il polynômes T k et T k de la colonne k. Si l’on garde en
existe un unique polynôme P de degré au plus égal à n qui inter- (n) (n – 1) (0 )
pole f en x 0 , x 1 , ..., x n est que les abscisses d’interpolation mémoire la dernière diagonale montante T 0 , T 1 , ..., T n , il
x 0 , x 1 , ..., x n soient toutes distinctes les unes des autres. est alors facile d’ajouter un nouveau point d’interpolation.
Le polynôme d’interpolation peut également s’exprimer à l’aide
Pour obtenir ce polynôme P, il y a deux possibilités principales. des différences divisées. Celles-ci sont définies récursivement de la
La première est d’utiliser la formule d’interpolation de Lagrange manière suivante :
qui dit que P est donné par :
[ xi ]f = f ( xi )
n
[ x i + 1 , ..., x i + k ] f – [ x i , ..., x i + k – 1 ] f
P (x ) = ∑ L i (x ) f ( x i ) [ x i , ..., x i + k ] f = ---------------------------------------------------------------------------------------------
xi + k – xi
-
i=0

avec Le polynôme d’interpolation P est alors donné par la formule :


n
Li ( x ) = ∏ ( x – x j ) / ( xi – xj ) P (x ) = [x 0 ]f + (x – x 0 ) [x 0 , x 1 ]f + (x – x 0 ) (x – x 1) [x 0 , x 1 , x 2 ]f
j=0 + ... + (x – x 0 ) ... (x – xn –1) [x 0 , ..., xn ]f
j≠i
On peut ainsi adjoindre de nouveaux points d’interpolation un
Il est facile de voir que L i (x i ) = 1 et que L i (x k ) = 0 pour k ≠ i, par un. Pour passer du polynôme d’interpolation de degré n au
donc d’après l’unicité du polynôme d’interpolation, cette formule polynôme de degré n + 1 sur les mêmes points et un point supplé-
nous fournit bien P puisque P (x k ) = f (x k ) pour k = 0, ..., n. Naturel- mentaire, il suffit de rajouter un terme dans la formule précédente.
lement, les Li dépendent de n et donc, si l’on veut ajouter de
nouveaux points d’interpolation et augmenter n, tous les calculs L’erreur s’exprime par :
seront à recommencer. f (x ) – P (x ) = (x – x 0 ) ... (x – xn ) [x 0 , ..., xn , x]f .
Pour cette raison, on utilise souvent le schéma de Neville-Aitken Définissons l’opérateur Δ et ses puissances par Δ0f (x i ) = f (x i ) et
qui est particulièrement bien adapté à l’adjonction de nouveaux Δk +1 f (x i ) = Δk f (xi +1) – Δk f (x i ) pour k ⭓ 0 . Lorsque les points
(i ) d’interpolation sont équidistants, c’est-à-dire xi = x 0 + ih pour
points d’interpolation. Appelons T le polynôme de degré au
k i = 0, 1, ..., on a k ! hk [xi , ..., xi +k ] f = Δk f (xi ) et le polynôme d’inter-
plus égal à k qui interpole f en x i , ..., xi+k , c’est-à-dire que : polation P s’exprime à l’aide de la formule de Newton :
(i )
T k ( xj ) = f ( xj ) pour j = i, ..., i + k Δf ( x 0 ) Δ 2 f ( x 0)
P ( x ) = f ( x 0 ) + ( x – x 0 ) -----------------
- + ( x – x 0 ) ( x – x 1 ) ---------------------
-
1!h 2!h 2
D’après cette définition, on a donc :
n
(i )
Δ f ( x0 )
+ ... + ( x – x 0 ) ... ( x – x n – 1 ) --------------------
0 (x) = f ( xi )
T pour i = 0, ..., n -
n!h n

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 220 − 4 ©Techniques de l’Ingénieur

QT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP

_______________________________________________________________________________________________________ MÉTHODES NUMÉRIQUES DE BASE

2.2 Erreur d’interpolation 2.4 Convergence


Dans la pratique, l’interpolation polynomiale sert à remplacer une Puisque l’on cherche à approximer une fonction f par un poly-
fonction f, qui est soit inconnue, soit trop compliquée, par une nôme d’interpolation, il est une seconde question qu’il est naturel
fonction plus simple, en l’occurrence un polynôme. On dit que l’on de se poser : celle de la convergence (en un sens à préciser) de ces
approxime f par le polynôme d’interpolation P. Quand on utilise une polynômes d’interpolation lorsque n augmente indéfiniment.
approximation, comme c’est le cas dans de nombreuses méthodes On se donne n et des abscisses d’interpolation distinctes


d’analyse numérique, il est fondamental d’étudier l’erreur (n) (n) (n)
d’approximation. Naturellement, sauf cas particulier, l’expression x0 , x 1 , ..., x n . Soit Pn le polynôme tel que :
de l’erreur ne permet pas de calculer cette erreur exactement (car,
s’il en était ainsi, il n’y aurait plus d’erreur) ; elle peut cependant être (n) (n)
Pn ( x i ) = f (x i ) pour i = 0, ..., n
très utile pour en calculer une borne supérieure. C’est ainsi que,
pour l’interpolation polynomiale, on démontre le théorème 4. Soit C ∞ [– 1, + 1] l’espace des fonctions continues sur [– 1, + 1]
muni de la norme :
f = max f (x)
Théorème 4. Soit I un intervalle contenant x 0 , ..., xn et x. Si f x ∈ [ – 1 , +1 ]
est (n + 1) fois continûment dérivable sur I, alors il existe ξ ∈I et
dépendant de x tel que : On démontre le résultat négatif du théorème 5.

v(x) (n + 1)
f ( x ) – P ( x ) = --------------------- f (ξ)
( n + 1 )! Théorème 5. Quelles que soient les abscisses x i pour
(n)

avec v (x ) = (x – x 0) (x – x 1 ) ... (x – xn ) i = 0, ..., n et pour n = 0, 1, ..., il existe au moins une fonction


f ∈C∞ [– 1, + 1] telle que la suite des polynômes d’interpolation
(Pn ) ne converge pas vers f dans C∞ [– 1, + 1], c’est-à-dire telle
Cette expression ne permet pas de calculer la valeur exacte de
que :
l’erreur parce que, en général, ξ est inconnu. Elle peut permettre
d’en calculer une majoration ou de choisir les points d’interpolation max f ( x ) – Pn ( x )
x ∈ [ – 1 , +1 ]
x 0 , ..., xn de façon optimale lorsque ceux-ci ne sont pas imposés.
ne tende pas vers zéro lorsque n tend vers l’infini.

2.3 Choix des points d’interpolation On voit donc qu’il faut faire attention : le résultat ne sera pas
toujours meilleur en augmentant n. Nous avons obtenu un résultat
Supposons que x 0 , ..., xn et tous les points x possibles négatif parce que nous demandions beaucoup : nous avons seu-
appartiennent à l’intervalle [– 1, + 1] (auquel on pourra toujours se lement imposé à f d’être continue et nous n’avons imposé aucune
ramener par changement de variable). On a alors : (n)
contrainte sur les points d’interpolation x i . Dans la pratique, il
1 (n + 1) n’y a pas lieu d’être aussi pessimiste car, dès que l’on demande
max f ( x ) – P ( x ) B --------------------- max v ( x ) max f (x)
x ∈ [ – 1 , +1 ]
( n + 1 )! x ∈ [ –1 , +1 ] x ∈ [ – 1 , +1 ] moins, en imposant soit des conditions sur f, soit des conditions
(n)
sur les x i , on obtient des résultats positifs. C’est ainsi que l’on a
La borne supérieure de l’erreur ainsi obtenue contient deux le théorème 6.
termes : un qui dépend de f (n + 1) et sur lequel on ne peut rien et
un qui dépend uniquement des points d’interpolation, c’est :
Théorème 6. Quelle que soit f ∈C∞ [– 1, + 1], il existe des
max v (x) (n)
x ∈ [ – 1 , +1 ] abscisses x i (i = 0, ..., n et n = 0, 1, ...) telles que :
On peut alors se poser la question de savoir comment choisir les max f ( x ) – Pn ( x ) = 0
lim
points d’interpolation x 0 , ..., xn de façon à rendre ce terme le plus n → ∞ x ∈ [ – 1, +1 ]
petit possible. On aura ainsi minimisé une borne supérieure de
l’erreur (et non pas l’erreur elle-même, ce qui est différent). Ce pro-
blème, très célèbre en mathématiques, a été posé et résolu par (n)
Cependant, il n’existe pas de famille d’abscisses x i qui
Tchebychev et les polynômes qui répondent à cette question ont conviennent pour toutes les fonctions continues et il est plus inté-
reçu son nom. Les polynômes de Tchebychev vérifient la relation ressant d’ajouter des conditions sur f comme le montre le
de récurrence : théorème 7.
T 0 (x ) = 1 T 1 (x) = x
T n +1 (x ) = 2x Tn (x ) – Tn –1 (x ) pour n = 1, 2, ... Théorème 7. Si f ∈C∞ [– 1, + 1] a une dérivée k ième continue
Tn est de degré n et, sur [– 1, + 1], on a : (pour un certain k ⭓ 1 ), alors :

Tn (x ) = cos (n arccos x ) pour n = 0, 1, ... lim max f ( x ) – Pn ( x ) = 0


n → ∞ x ∈ [ – 1, +1 ]
On montre que, parmi les polynômes v de degré n + 1, ayant un
(n)
coefficient du terme de plus haut degré égal à 1 et leurs racines lorsque les x i sont les racines de T n +1 .
toutes réelles, distinctes et dans [– 1, + 1], celui qui minimise De plus, on a :
max v ( x ) est Tn + 1 (x )/2n.
x ∈ [ – 1 , +1 ] max f ( x ) – P n ( x ) = o ( lgn/n k )
Le choix optimal des points d’interpolation consiste donc à x ∈ [ – 1, +1 ]
prendre les racines x 0 , ..., xn de Tn +1 qui sont données par :
2i + 1 On trouvera les démonstrations des résultats précédents ainsi
x i = cos ------------------- π pour i = 0, ..., n
2n + 2 que de nombreux autres résultats théoriques dans [19] [31].

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
©Techniques de l’Ingénieur AF 1 220 − 5

QU

QV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRQ

Méthodes numériques de base


Algèbre numérique
par Claude BREZINSKI

Docteur ès sciences mathématiques
Professeur à l’université des Sciences et Technologies de Lille

1. Résolution des équations et des systèmes non linéaires ............. AF 1 221 - 2


1.1 Méthode des approximations successives................................................ — 2
1.2 Ordre d’une suite ......................................................................................... — 2
1.3 Accélération de la convergence ................................................................. — 3
1.4 Méthodes particulières................................................................................ — 3
1.5 Tests d’arrêt.................................................................................................. — 3
1.6 Méthode de Bairstow .................................................................................. — 3
1.7 Systèmes d’équations non linéaires .......................................................... — 4
2. Résolution des systèmes d’équations linéaires .............................. — 5
2.1 Méthodes directes ....................................................................................... — 5
2.1.1 Méthode de Gauss.............................................................................. — 5
2.1.2 Étude des erreurs................................................................................ — 6
2.1.3 Méthode de Cholesky......................................................................... — 8
2.1.4 Méthode de Householder .................................................................. — 8
2.2 Méthodes itératives ..................................................................................... — 8
2.2.1 Méthodes de relaxation ..................................................................... — 8
2.2.2 Méthodes de projection ..................................................................... — 9
3. Calcul des valeurs propres .................................................................... — 11
3.1 Méthode de la puissance ............................................................................ — 11
3.2 Calcul du polynôme caractéristique........................................................... — 11
3.3 Forme de Hessenberg ................................................................................. — 12
3.4 Méthodes de décomposition ...................................................................... — 12
3.4.1 Algorithme LR ..................................................................................... — 13
3.4.2 Algorithme QR .................................................................................... — 13
3.4.3 Méthode de Jacobi ............................................................................. — 14
3.5 Méthode de Rayleigh-Ritz ........................................................................... — 14
Pour en savoir plus ........................................................................................... Doc. AF 1 221

e second dossier sur les méthodes numériques de base concerne l’algèbre


C numérique linéaire et non linéaire.
Le premier paragraphe est consacré aux méthodes itératives pour calculer les
racines d’une équation non linéaire à une inconnue (ou, ce qui revient au même,
les points fixes d’une fonction). On traite ensuite le cas particulier de la recherche
des racines d’un polynôme. Le paragraphe se termine par les méthodes de
résolution des systèmes d’équations non linéaires.
On étudie ensuite les méthodes numériques pour résoudre les systèmes
d’équations linéaires. Ces méthodes se divisent en deux classes : les méthodes
directes qui fournissent la solution exacte en un nombre fini d’opérations arith-
métiques (en supposant nulles les erreurs dues à l’arithmétique de l’ordinateur)
et les méthodes itératives qui génèrent une suite de vecteurs convergeant
(sous certaines conditions) vers la solution exacte. Pour les systèmes de très
grandes dimensions, il est impératif d’utiliser une méthode itérative.
p。イオエゥッョ@Z@。カイゥャ@RPPV

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
©Techniques de l’Ingénieur AF 1 221 − 1

QW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRQ

MÉTHODES NUMÉRIQUES DE BASE ________________________________________________________________________________________________________

On passe enfin, dans le dernier paragraphe, aux méthodes numériques pour


calculer les valeurs propres et les vecteurs propres d’une matrice. Ces
méthodes sont toutes des méthodes itératives.

Pour tout renseignement complémentaire, le lecteur se reportera au dossier précédent


[AF 1 220].


1. Résolution des équations On voit que, si les hypothèses de ce théorème sont très fortes et
difficiles à vérifier en pratique, les conclusions sont également très
et des systèmes importantes car on démontre, grâce à la méthode des approxi-
mations successives, l’existence et l’unicité d’un point fixe dans I
non linéaires pour l’application F. On démontre également la convergence de la
méthode des approximations successives et l’on donne une majo-
ration de l’erreur qui montre que la vitesse de convergence dépend
Soit f une application continue de ⺢ dans lui-même. Le problème de la proximité de K par rapport à 1.
auquel nous allons nous intéresser dans ce paragraphe est celui de
la recherche de x tel que f (x ) = 0. On dit alors que x est racine de Donnons maintenant le théorème 2 dont les hypothèses sont
f. Une autre façon, complètement équivalente, de poser le même plus faibles mais dont les conclusions sont également moins
problème est de rechercher x tel que x = F (x ). On dit alors que x fortes.
est point fixe de F. Dans la suite, quand nous utiliserons la lettre f
(dans un théorème ou un algorithme), cela signifiera implicitement
que le problème à résoudre est mis sous la forme f (x ) = 0. Quand Théorème 2 – Soit x un point fixe de F. Si F est dérivable au
nous utiliserons la lettre F, cela signifiera que notre problème est voisinage de x et si |F ′ (x )| < 1, alors il existe, V ⊂ ⺢ tel que,
écrit sous la forme x = F (x ). Ces deux formulations sont équi- pour tout x 0 ∈ V, les itérations x n+1 = F (x n ), n = 0, 1, ...
valentes car, s’il est sous la forme f (x ) = 0, on a également convergent vers x.
x = x + af (x ) = F (x ) avec a ≠ 0 quelconque. Inversement, si l’on a
x = F (x ), alors on pourra écrire f (x ) = x – F (x ) = 0.
1.2 Ordre d’une suite
1.1 Méthode des approximations
Il nous faut maintenant disposer d’un outil mathématique pour
successives mesurer la vitesse de convergence d’une suite. C’est la notion
d’ordre d’une suite donnée par la définition 2.
Pour résoudre numériquement ce type de problème, on utilise
une méthode itérative dans laquelle on fabrique une suite (xn ) qui
doit converger vers x. On se donne une valeur initiale x 0 puis on Définition 2 – Soit (xn ) une suite qui converge vers x. On dit
fabrique (xn ) par la méthode des approximations successives : que (xn ) est d’ordre r, où r est un nombre réel supérieur ou égal
xn +1 = F (xn ) pour n = 0, 1, ... à 1, s’il existe une constante C finie et différente de zéro telle
que :
Étudions d’abord des conditions pour que (xn ) converge vers x C = lim x n+1 – x / x n – x r
point fixe de F et commençons par la définition 1. n→∞

C s’appelle constante asymptotique d’erreur.


Définition 1 – Soit D une partie de ⺢ et F une application de D
dans lui-même. S’il existe une constante positive K, strictement
inférieure à 1, telle que pour tout u et tout v appartenant à D on Ces deux notions sont d’une grande importance pratique car
ait : elles nous renseignent sur l’évolution du nombre de chiffres déci-
maux exacts obtenus au fur et à mesure des itérations. En effet,
F (u ) – F (v ) ⭐ K u – v posons :
on dit que F est une contraction sur D. dn = – lg |xn – x |
K est appelé coefficient de contraction de F.
À une constante additive près, indépendante de n, dn est égal au
Le premier résultat est donné par le théorème 1. nombre de chiffres décimaux exacts de xn . Si nous posons :

R = – lg C
Théorème 1 – Soit I = [x 0 – a, x 0 + a ] où a > 0.
alors on voit, d’après la définition 2, que, lorsque n est suf-
Supposons que F soit une contraction sur l (de coefficient de fisamment grand (c’est-à-dire lorsque xn est suffisamment voisin
contraction K ) et que F ( x 0 ) – x 0 ⭐ ( 1 – K ) a . Alors la suite de x ), on a :
(xn ), fabriquée par la méthode des approximations successives
avec x 0 comme valeur initiale, converge. Soit x la limite de (xn ). dn +1 ≈ rdn + R
x est l’unique point fixe de F dans I. Pour tout n, xn ∈ I et l’on a :
Ainsi, en passant de l’itération n à l’itération n + 1, on multiplie
Kn environ par r le nombre de chiffres décimaux exacts et l’on en
x n – x ⭐ --------------- x 1 – x 0 ajoute environ R. Cela montre l’avantage des méthodes d’ordre
1–K
supérieur à 1.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 221 − 2 ©Techniques de l’Ingénieur

QX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRQ

_______________________________________________________________________________________________________ MÉTHODES NUMÉRIQUES DE BASE

Quand la suite (xn ) est obtenue par la méthode des approxi- ■ Dans la pratique, f ′ (xn ) pouvant être difficile à évaluer, on le
mations successives, l’ordre est un nombre entier lorsque F est remplace souvent par une valeur approchée. C’est ainsi que si l’on
plusieurs fois dérivable en x. On montre que c’est l’entier r tel que : approxime f ′ (xn ) par :
F ′ (x ) = ... = F (r – 1) (x ) = 0 et F (r ) (x ) ≠ 0 (f (xn ) – f (xn–1))/(xn – xn –1)
On a alors : on obtient une méthode connue sous le nom de méthode de la
C = | F (r ) (x )|/r ! sécante :


x 0 et x 1 arbitraires
Si l’on sait que F ′ (x ) = ... = F (r–1) (x ) = 0, alors l’ordre est au
moins égal à r. x n – x n–1
Remarque : tout ce qui a été vu depuis le début du paragraphe - f ( xn )
x n+1 = x n – ------------------------------------------ pour n = 1, 2, ...
f ( x n ) – f ( x n–1 )
se généralise au cas d’un système d’équations non linéaires (ou
même au cas d’un espace de Banach général). Il suffit, dans ce qui ■ Si l’on approxime f ′ (xn ) par [f (xn ) – f (xn – f (xn ))]/f (xn ), on
précède, de remplacer la valeur absolue par la norme. obtient, en posant F (x ) = x – f (x ), la méthode de Steffensen :
x 0 arbitraire
1.3 Accélération de la convergence ( F ( xn ) – xn ) 2
x n +1 = x n – ------------------------------------------------------------------ pour n = 0, 1, ...
Lorsque la suite (xn ), obtenue par la méthode des approxi- F ( F ( x n ) ) – 2F ( x n ) + x n
mations successives, converge lentement, on peut chercher à accé-
lérer sa convergence à l’aide du procédé Δ 2 d’Aitken. Pour cela, on Pour ces trois méthodes, on a le théorème 4.
construit une seconde suite, (yn ), à l’aide de la formule suivante :

( x n+1 – x n ) 2 Théorème 4 – Si f ′ (x ) ≠ 0 et si f ′′ est continue en x, alors les


y n = x n – -----------------------------------------------
- pour n = 0, 1, ... méthodes de Newton et de Steffensen sont d’ordre deux au
x n+2 – 2x n+1 + x n moins et la méthode de la sécante est d’ordre (1 + 5 )/2 au
moins.
On voit que cette suite se construit au fur et à mesure de la
construction de la suite (xn ) ; il suffit, pour obtenir yn , de conserver
les trois derniers termes de celle-ci. Bien que son ordre soit plus faible (≈ 1,618), la méthode de la
Remarque : si l’on réduit au même dénominateur la formule pré- sécante doit être préférée aux deux autres car elle ne nécessite
cédente, alors on a : qu’une seule évaluation de fonction par itération au lieu de deux.
Une itération de cette méthode dure donc deux fois moins long-
2
y n = ( x n x n+2 – x n+1 )/ ( x n+2 – 2x n+1 + x n ) temps qu’une itération avec l’une des deux autres.

Cette formule est à proscrire car elle est numériquement instable


alors que la première relation donnée était numériquement plus 1.5 Tests d’arrêt
stable.
Pour le procédé Δ 2 d’Aitken, on démontre le théorème 3. Un problème important posé par les méthodes itératives est celui
des tests d’arrêt. Dans la pratique, on ne fait bien évidemment pas
une infinité d’itérations. Si l’on désire s’arrêter à une certaine ité-
Théorème 3 – Si l’on applique le procédé Δ 2 d’Aitken à une ration, il faut pouvoir contrôler la précision atteinte. On se base pour
suite (xn ) qui converge vers x et si, pour tout n : cela sur l’inégalité du théorème 1. Comme on ne connaît pas la
valeur exacte de K, on la remplace par une valeur approchée :
xn +1 – x = (a + en ) (xn – x )
Kn = (xn+1 – xn )/(xn – xn–1)
avec a ≠ 1,
lim e n = 0 , et on arrête les itérations lorsque – 1 < Kn < 1 et que
n→∞ |xn+1 – xn |/(1 – |Kn |) est inférieur à la précision absolue que l’on
alors la suite (yn ) ainsi obtenue converge vers x plus vite que désire atteindre.
(xn ), c’est-à-dire que :
lim ( y n – x )/ ( x n – x ) = 0 1.6 Méthode de Bairstow
n→∞

Un cas particulièrement important de résolution d’équations est


Lorsque la suite (xn ) est fabriquée par la méthode des approxi- celui du calcul des racines d’un polynôme. Il existe de nombreuses
mations successives et que |F ′ (x )| < 1, elle vérifie les hypothèses méthodes, dont aucune n’est fiable dans toutes les situations
du théorème 3 et, par conséquent, la convergence est accélérée. (comme c’est d’ailleurs le cas avec toutes les méthodes d’analyse
Il existe de nombreuses autres méthodes d’accélération de la numérique), pour résoudre ce problème. Nous allons en décrire
convergence. On trouvera leur description, des applications numé- une et renvoyer le lecteur intéressé à la référence [21] qui, bien
riques et des sous-programmes FORTRAN dans la référence [7]. qu’ancienne, est une source précieuse de renseignements.
Soit Pn le polynôme, de degré n, dont on veut calculer les
racines. Soit :
1.4 Méthodes particulières Q (x ) = x 2 – sx + p
avec s et p nombres réels arbitraires.
Voyons maintenant un certain nombre de méthodes particulières.
Effectuons la division euclidienne de Pn par Q. On obtient un
■ La méthode de Newton pour résoudre f (x ) = 0 consiste, partant quotient Pn –2 de degré n – 2 et un reste R du premier degré. Il est
d’un x 0 arbitraire, à effectuer les itérations :
évident que les coefficients de Pn –2 et ceux de R dépendent des
xn +1 = xn – f (xn )/f ′ (xn ) pour n = 0, 1, ... valeurs choisies pour s et p. Nous allons donc rechercher s et p tels

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
©Techniques de l’Ingénieur AF 1 221 − 3

QY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRQ

MÉTHODES NUMÉRIQUES DE BASE ________________________________________________________________________________________________________

que les deux coefficients de R soient nuls (c’est-à-dire que nous avec f ′ (xn ) matrice jacobienne de f en xn (c’est-à-dire la matrice
avons un système de deux équations non linéaires à deux inconnues dont les éléments sont les dérivées partielles des
à résoudre). S’il en est ainsi, cela signifie que s et p sont respecti- fonctions f par rapport aux différentes variables).
vement la somme et le produit de deux racines de Pn puisqu’alors On démontre que (xn ) est d’ordre deux au moins si f ′ (x ) est
Q divise Pn . Nous obtenons donc immédiatement ces deux racines inversible.
même dans le cas où elles sont complexes. On obtiendra des généralisations de la méthode de la sécante et
Pour obtenir deux autres racines, on recommence la même de la méthode Steffensen en remplaçant, comme dans le cas d’une


procédure à partir du polynôme Pn –2 et ainsi de suite jusqu’au seule équation, la matrice f ′ (xn ) par une approximation. Cepen-
moment où l’on obtient un polynôme du second ou du premier dant, la diversité des algorithmes obtenus est beaucoup plus
degré dont les racines sont calculées directement. Pour résoudre le grande parce que les possibilités d’approximation sont beaucoup
système de deux équations à deux inconnues constitué par les plus nombreuses.
coefficients de R, on utilise la méthode de Newton qui se géné-
On parle alors de méthodes quasi-Newton. Elles se présentent
ralise facilement au cas d’un système (§ 1.7). L’ensemble de cette
sous l’une des deux formes :
procédure s’appelle méthode de Bairstow. D’après ce que nous
savons de la méthode de Newton, elle sera d’ordre deux au moins –1
si toutes les racines de Pn sont simples. Décrivons maintenant xn + 1 = xn – H n f ( xn )
cette méthode. Nous posons :
xn+1 = xn – Cn f (xn )
Pn (x ) = a 0 x n + a 1 x n –1 + ... + an
c’est-à-dire :
Pn –2 (x ) = b 0 x n –2 + b 1 x n –3 + ... + bn –2 xn+1 = xn + sn

R (x ) = bn –1 (x – s ) + bn avec sn défini par Hn sn = – fn ou sn = – Cn fn , fn= f (xn ).


Pour avoir la convergence la plus rapide possible, les matrices
Connaissant s et p, arbitraires, les bi s’obtiennent par :
Hn doivent être de bonnes approximations des matrices f ′ (xn ) ou
b0 = a0 les matrices Cn de leurs inverses. De telles approximations sont
soit difficiles à obtenir soit coûteuses (en termes de nombre d’opé-
b 1 = a 1 + sb 0 rations arithmétiques et d’encombrement mémoire).
bi = ai + sbi –1 – pbi –2 pour i = 2, ..., n L’idée des méthodes quasi-Newton consiste à construire les
suites (Hn ) ou (Cn ) par :
Avant la première itération de la méthode de Bairstow, on choisit
des valeurs arbitraires s 0 et p 0 . Une méthode itérative est Hn+1 = Hn + Dn ou Cn+1 = Cn + En
complètement définie par le passage de l’itéré k à l’itéré k + 1. Au
avec Dn et En matrices de rang 1 ou 2 choisies de sorte que :
début de l’itération k + 1, on connaît sk et pk . Voyons comment
obtenir sk+1 et pk+1 : Hn+1 sn = Δfn ou Cn+1 yn = sn
— dans les relations précédentes, on prend s = sk et p = pk et
l’on calcule b 0 , b 1 , ..., bn ; et yn = Δfn , c’est-à-dire En sn = fn + 1 et En yn = Cn fn +1 respective-
— pour s = sk et p = pk on calcule r 0 , r 1 , ..., rn par : ment.
Les modifications de rang 1 suivantes conduisent à une
r0 = 0 convergence superlinéaire de la méthode :
r1 = b0 T T
( yn – Hn sn ) v n fn + 1 v n
ri = bi –1 + sri –1 – pri –2 pour i = 2, ..., n H n + 1 = H n + -----------------------------------------
- = H n + ----------------------
( sn , vn ) ( sn , vn )
— puis l’on pose :
T T
( sn – Cn yn ) u n Cn fn + 1 u n
sk+1 = sk – (bn rn –2 – bn –1 rn–1)/d C n + 1 = C n + -----------------------------------------
- = C n – ------------------------------
-
( yn , un ) ( yn , un )
pk+1 = pk – (bn rn–1 – bn–1 rn )/d
avec
2
d = rn rn – 2 – r n – 1 avec un et vn vecteurs devant vérifier certaines conditions.
Le choix vn = sn correspond à la bonne méthode de Broyden
On arrête les itérations lorsque |sk+1 – sk | + |pk+1 – pk | est infé- T
rieur à la précision absolue désirée. On calcule les deux racines cor- tandis que le choix un = yn (ou le choix vn = H n yn ) correspond à
respondantes et l’on recommence la procédure sur le polynôme –1 T
sa mauvaise méthode. Si Cn = H n et si vn = H n un , alors
Pn –2 dont les coefficients sont les derniers b 0 , b 1 , ..., bn – 2 obtenus.
–1
Cn+1 = H n + 1.
Il existe beaucoup d’autres procédures de mise à jour
des matrices Hn ou Cn .
1.7 Systèmes d’équations non linéaires Les méthodes de Barzilai-Borwein sont plus simples à mettre en
œuvre. Elles sont des versions non linéaires de la méthode de la
Dans ce qui précède (sauf dans le cas de la méthode de plus profonde descente (cf. § 2.2.2) et consistent en des itérations
Bairstow), nous n’avons considéré que le cas d’une seule équation de la forme xn +1 = xn – λn fn :
non linéaire à une seule inconnue. Dans le cas d’un système de p
équations à p inconnues, il est possible de généraliser les ( u n , Δx n – 1 )
avec λ n = ----------------------------------
-
méthodes de Newton, de Steffensen et de la sécante. Les xn sont ( u n , Δf n – 1 )
maintenant des vecteurs à p composantes ainsi que les f (xn ) [ou,
ce qui revient au même, les F (xn )]. un = Δfn–1 ou un = Δxn –1
Pour ce qui est de la méthode de Newton, les itérations
D’autres choix de un peuvent être envisagés.
deviennent :
Sur les méthodes de résolution des systèmes non linéaires, on
xn +1 = xn – [f ′ (xn )]–1 f (xn ) pour n = 0, 1, ... pourra consulter [5] [20] [35].

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 221 − 4 ©Techniques de l’Ingénieur

RP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRS

Bases fonctionnelles de l’analyse


numérique

par Claude BREZINSKI
Docteur es Sciences Mathématiques
Professeur Émérite
Laboratoire Paul Painlevé UMR CNRS 8524
Université des Sciences et Technologies de Lille

1. Les problèmes posés ...................................................................... AF 1 223 – 2


2. Espaces et problèmes usuels........................................................ — 2
3. Théorème de Banach-Steinhaus ................................................... — 3
3.1 Le théorème ....................................................................................... — 3
3.2 Applications ........................................................................................ — 4
3.2.1 Quadrature numérique ............................................................ — 4
3.2.2 Méthodes de sommation ........................................................ — 4
3.2.3 Interpolation polynomiale ....................................................... — 4
4. Théorème de Hahn-Banach............................................................ — 5
4.1 Le théorème ....................................................................................... — 5
4.2 Applications ........................................................................................ — 7
4.2.1 Programmation linéaire ........................................................... — 7
4.2.2 Meilleure approximation polynomiale .................................... — 7
5. Théorème du graphe fermé........................................................... — 8
5.1 Le théorème ....................................................................................... — 8
5.2 Applications ........................................................................................ — 8
5.2.1 Un contre-exemple .................................................................. — 8
5.2.2 Opérateurs elliptiques ............................................................. — 8
6. Applications diverses..................................................................... — 8
6.1 Méthodes variationnelles pour la résolution des équations ............ — 8
6.1.1 Méthode de Ritz ....................................................................... — 9
6.1.2 Méthode de Galerkin ............................................................... — 9
6.1.3 Méthode de Petrov-Galerkin.................................................... — 9
6.1.4 Méthode des moindres carrés ................................................ — 9
6.1.5 Projections ............................................................................... — 9
6.1.6 Orthogonalisation et conjugaison ........................................... — 9
6.1.7 Sous-espaces de Krylov et polynômes orthogonaux ............. — 10
6.2 Une théorie générale des algorithmes de discrétisation .................. — 10
6.2.1 La théorie ................................................................................. — 10
6.2.2 Application aux équations différentielles ............................... — 12
Pour en savoir plus.................................................................................. Doc. AF 1 223

l est souvent difficile de se faire une idée de l’intérêt des diverses notions
I théoriques abordées dans le traité de Mathématiques pour l’ingénieur ainsi
que dans les livres d’analyse numérique et de mathématiques appliquées. Elles
sont d’habitude présentées séparemment les unes des autres et l’on a du mal à
voir comment elles sont reliées et pourquoi. Le but de cet article est d’apporter,
du moins partiellement, quelques éléments de réponse et de servir de lien entre
différents articles de ce traité.
Comme dans d’autres domaines des mathématiques, l’analyse fonctionnelle
a permis d’unifier un certain nombre de concepts, de problèmes et de métho-
des de l’analyse numérique jusque là sans liens ou, tout au moins, de leur don-
ner une base commune.
p。イオエゥッョ@Z@。カイゥャ@RPQS

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 223 – 1

RQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRS

BASES FONCTIONNELLES DE L’ANALYSE NUMÉRIQUE ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Nous avons voulu ici, en partant de l’analyse fonctionnelle et en allant jus-


qu’aux applications, montrer comment tout se tient, tout s’enchaı̂ne. Le but
recherché n’est en aucun cas d’essayer d’être exhaustif mais seulement d’illus-
trer cette idée par quelques exemples le plus souvent déjà étudiés dans d’autres
articles. On pourra, en particulier, consulter [AF 190] [AF 191] [AF 106] [AF 1 220]
[AF 1 221] [AF 1 111] [AF 508] [AF 101] [AF 1 380] [AF 567] [AF 568] [AF 520]
[AF 488] [AF 1 372], les références qui y sont citées ainsi que les nombreux
autres articles de ce traité sur les méthodes numériques pour les équations
Q aux dérivées partielles. D’autres références de caractère général complètent la
bibliographie. Celles en français ont été privilégiées.
Les démonstrations de certains résultats ont été données car elles permettent
de mieux saisir les idées.

L’analyse fonctionnelle est la branche des mathématiques qui


1. Les problèmes posés étudie, entre autres, les propriétés des espaces de Banach. Nous
allons voir les plus utiles pour l’analyse numérique.
Le premier mathématicien à attirer l’attention sur l’intérêt que
Soient X et Y deux espaces vectoriels et T : X Æ Y. Soient x 2 X pouvait présenter l’analyse fonctionnelle dans le développement
et y 2 Y. On considère l’équation de l’analyse numérique fut le russe L. V. Kantorovich (1912-1986)
en 1948. Les idées et méthodes de l’analyse fonctionnelle jouent
Tx = y . un rôle important en analyse numérique quand les mathématiques
du problème dépendent beaucoup elles-mêmes de l’analyse fonc-
II existe trois types de problèmes en analyse numérique : tionnelle (par exemple dans les équations aux dérivées partielles),
lorsque l’on cherche à traiter globalement une classe entière de
 le problème direct : T et x étant donnés, calculer y (par exem- méthodes (par exemple les méthodes de quadrature de type inter-
ple le calcul d’une intégrale définie) ; polation), ou encore pour démontrer l’existence de méthodes
 le problème inverse : T et y étant donnés, trouver x (par exem- numériques présentant certaines caractéristiques. L’analyse fonc-
ple les systèmes d’équations, les équations différentielles et tionnelle apportera alors une simplification importante. Elle jouera
intégrales) ; par contre un rôle moins important pour étudier un algorithme pré-
 le problème de l’identification : x et y étant donnés, trouver T cis permettant de résoudre un problème spécifique et ne sera d’au-
(par exemple l’approximation de fonctions). cune utilité en ce qui concerne la mise en œuvre d’un algorithme
sur ordinateur.
Quand X et Y sont de dimension infinie, un traitement direct du Actuellement l’analyse fonctionnelle est un outil essentiel pour
problème est, en général, impossible et l’on doit le reformuler en comprendre bon nombre de méthodes de l’analyse numérique
dimension finie mais l’on peut également trouver de nouvelles méthodes d’analyse
numérique sans le secours de l’analyse fonctionnelle. Cependant
Tn x n = y n certains algorithmes numériques découlent directement de métho-
des d’analyse fonctionnelle.
avec xn 2 Xn, un 2 Yn, Tn : Xn Æ Yn, Xn et Yn de dimensions finies. On doit donc considérer l’analyse fonctionnelle comme un outil
Un tel procédé est appelé discrétisation et il introduit naturellement privilégié pour résoudre certains problèmes d’analyse numérique,
une erreur, l’erreur de discrétisation. Il faudra donc pouvoir mesu- mais l’on ne peut pas inversement considérer l’analyse numérique
rer l’écart entre x et xn. Il sera également nécessaire de savoir si (xn) comme une branche de l’analyse fonctionnelle et des mathémati-
converge vers x (ou (yn) vers y, ou (Tn) vers T) lorsque les dimen- ques dites fondamentales. Ce sont deux domaines différents mais
sions de Xn et Yn tendent vers l’infini. complémentaires puisque l’analyse numérique peut suggérer
Il se peut également que le problème initial (ou le problème l’étude de nouvelles questions d’analyse fonctionnelle et que l’ana-
discrétisé) ne puisse pas être résolu de manière exacte mais seule- lyse fonctionnelle est le pivot de certains sujets d’analyse
ment de façon approchée (par exemple dans le cas d’équations non numérique.
linéaires). On introduit alors une erreur due à la méthode numé-
rique et il faut être capable de l’estimer ou de la
majorer [AF 1 220] [AF 1 221].
Enfin, les calculs sont en général effectués sur ordinateur. On
2. Espaces et problèmes usuels
introduit ainsi des erreurs numériques dues à l’arithmétique
inexacte des ordinateurs qu’il est nécessaire de
contrôler [AF 1 470] [AF 1 471]. Voyons d’abord quels sont les espaces vectoriels que l’on ren-
contre en analyse numérique et les problèmes que l’on y traite.
Il faut pouvoir étudier (qualitativement et quantitativement) tou-
tes ces erreurs et donc être capable de mesurer l’écart entre deux & ℝn ou ℂn
éléments d’un espace vectoriel : ces espaces vectoriels doivent
être normés. Pour étudier des questions de convergence (notam- Ce sont les espaces privilégiés de l’analyse numérique puisque
ment lorsque les dimensions de Xn et Yn tendent vers l’infini) et tout problème en dimension infinie devra être remplacé par un pro-
d’approximation, ces espaces vectoriels devront être normés et blème en dimension finie. D’autre part l’ordinateur ne sait manipu-
complets, c’est-à-dire qu’ils devront être des espaces de Banach. ler que des ensembles finis de nombres.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 223 – 2 est strictement interdite. – © Editions T.I.

RR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRS

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– BASES FONCTIONNELLES DE L’ANALYSE NUMÉRIQUE

Les problèmes de base dans ℝn ou ℂn sont : 3. Théorème de




la résolution des systèmes d’équations linéaires ou non ;
les problèmes d’optimisation avec ou sans contraintes, linéai-
Banach-Steinhaus
res ou non ;
– les problèmes de valeurs propres ;
– le calcul des racines des polynômes. Soient X et Y deux espaces de Banach et soit T une application
linéaire de X dans Y. Muni de la norme
& lp
C’est l’espace des suites infinies x = (xn) avec la norme

⎛ ∞
p⎞
1/ p
T = ∑
x X
≤1
Tx Y

x p
= ⎜ ∑ xi ⎟ 1≤ p < ∞ l’espace vectoriel ᑦ ( X , Y ) des applications linéaires bornées
⎝ i =0 ⎠
(T < ∞ ) de X dans Y est aussi un espace de Banach.
x ∞
= sup x i .
0 ≤i ≤∞

Le cas le plus utilisé est p = 2 car tout espace de Hilbert réel et sépa- 3.1 Le théorème
rable de dimension infinie est isométriquement isomorphe à l 2.
Donc tout problème dans un tel espace peut être remplacé par un Voyons maintenant le théorème de Banach-Steinhaus.
problème équivalent dans l 2.
Théorème 1
&c Soient X et Y deux espaces de Banach et (Tn) une suite d’opé-
C’est le sous-espace de l • des suites convergentes. Le problème rateurs linéaires bornés de X dans Y. Soit E un sous-espace
le plus important est celui du calcul approché des limites des sui- dense de X.
tes, c’est-à-dire de la transformation d’une suite de c en une autre S’il existe M < • tel que 8n, Tn ≤ M et si 8x 2 E, lim Tn x
qui converge plus vite. n →∞

& Espaces fonctionnels existe alors 8x 2 X, lim Tn x existe.


n →∞
C •[a, b] est l’espace des fonctions continues sur [a, b] muni de la
De plus, soit T : X Æ Y défini par Tx = lim Tn x , x 2 X. Alors T
norme n →∞
est un opérateur linéaire borné et
x = max x (t ) .
a ≤t ≤b T ≤ lim inf Tn ≤ M
n →∞
C’est certainement l’un des espaces les plus utilisés en analyse
numérique. On y traite de problèmes : et donc T est continu.
– d’interpolation ;
– d’approximation ; Démonstration
– de dérivation numérique ;
– de quadrature numérique ; 8x 2 X et 8e > 0, ∃u ∈E tel que
– d’équations intégrales.
x −u ≤ ε
C’est souvent un espace trop général et l’on est obligé de se res-
treindre à certains de ses sous-espaces. Il en est de même de sa car E est dense dans X. Puisque (Tnu) converge, ∃N tel que
généralisation à plusieurs variables C • (W), où W est un ouvert de
ℝn , dont on considère souvent les sous-espaces (de Lebesgue) 8m, n ≥ N , Tnu − Tmu ≤ ε . Donc
Lp (W, m), où m une mesure. Leur norme est définie par
Tn x − Tm x = Tnu − Tmu + Tn ( x − u ) + Tm (u − x )
(∫ )
p 1/ p
f Lp
= f dµ , p ∈ ℝ+ , ≤ Tnu − Tmu + Tn ( x − u ) + Tm (u − x )
Ω

et ≤ ε + Tn ⋅ x − u + Tm ⋅ u − x
≤ ε + M ε + M ε.
f L∞ {
= ess sup f = inf a ∈ ℝ : µ x : f ( x ) > a ({ }) = 0}. Donc (Tnx) est une suite de Cauchy ; elle est donc convergente
Lp (W, m), 1≤ p ≤ ∞, est un espace de Banach. Les espaces de Sobo- puisque Y est un espace de Banach. De plus, l et m étant des scalai-
lev les généralisent en faisant intervenir f et ses dérivées jusqu’à res, on a
l’ordre k. Ce sont des espaces de Banach définis par
W k,p (W) = {f 2 Lp (W) : D af 2 Lp (W)} où a est un multi-indice tel que T (λx + µy ) = lim Tn (λx + µy )
n →∞
0 ≤ α ( = α1 + ⋯ + αn ) ≤ k , D af étant la dérivée partielle de f au sens = λ lim Tn x + µ lim Tny
des distributions. Leur norme est n →∞ n →∞
= λTx + µTy
1/ p
⎛ k p ⎞
f W k ,p
= ⎜ ∑ Dα f ⎟ , 1≤ p < ∞ ce qui montre que T est linéaire. On a, 8x 2 X
⎜⎝ α = 0 Lp ⎟

Tx = lim Tn x ≤ lim inf Tn ⋅ x ≤ M x
et n →∞ n →∞

f W k ,∞
= max D α f . et par conséquent T est borné (donc continu).
0 ≤ α ≤k L∞

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 223 – 3

RS

RT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP

Validation des résultats des logiciels


scientifiques
Problème des approximations Q
arithmétiques

par Jean VIGNES


Professeur émérite de l’université Pierre et Marie Curie
et René ALT
Professeur émérite de l’université Pierre et Marie Curie

1. Question d’« arrondi » ............................................................................ AF 1 470 - 2


2. Conséquences de l’arithmétique
des ordinateurs en calcul scientifique ............................................... — 2
2.1 Représentation des nombres entiers relatifs ............................................. — 3
2.2 Représentation et codage des éléments de  .......................................... — 3
2.2.1 Notion de virgule flottante ................................................................. — 3
2.2.2 Norme IEEE 754................................................................................... — 3
2.3 Arithmétique des ordinateurs ..................................................................... — 4
2.3.1 Arithmétique entre valeurs entières .................................................. — 4
2.3.2 Arithmétique en virgule flottante ...................................................... — 5
2.4 Conséquences de l’arithmétique à virgule flottante
et propagation des erreurs d’arrondi ......................................................... — 5
3. Méthodes d’estimation des bornes des erreurs d’arrondi ............ — 6
3.1 Méthode J.H. Wilkinson .............................................................................. — 6
3.1.1 Écriture du résultat de toute opération en virgule flottante ............ — 6
3.1.2 Quelques principaux résultats ........................................................... — 7
3.1.3 Approche définie par F.W. Olver ....................................................... — 7
3.1.4 PRECISE ............................................................................................... — 9
3.2 Arithmétique d’intervalles ........................................................................... — 9
3.2.1 Arithmétique d’intervalle exacte........................................................ — 9
3.2.2 Arithmétique d’intervalles en virgule flottante................................. — 9
Pour en savoir plus ........................................................................................... Doc. AF 1 470

’ordinateur est actuellement utilisé dans la quasi totalité des sciences et


L des techniques, ainsi que dans beaucoup de nos activités quotidiennes.
Cependant, il ne faut pas oublier que le but premier de ces machines était de
pouvoir faire automatiquement des calculs numériques. Ils sont les succes-
seurs des bouliers et des machines à calculer mécaniques, puis électriques, et
sont en cela le résultat de l’association de l’électronique et des techniques de
calcul anciennes et bien connues. Ainsi, les tout premiers ordinateurs pou-
vaient déjà, grâce à la rapidité d’exécution qu’apporte l’électronique, effectuer
en un temps raisonnable un nombre important d’opérations arithmétiques.
p。イオエゥッョ@Z@ッ」エッ「イ・@RPPY

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 470 – 1

RU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP

VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES _______________________________________________________________________________

Mais, sur ordinateur, toute valeur numérique ne peut être représentée


qu’avec un nombre fini de chiffres. De ce fait, toute donnée ou résultat fourni
par les opérations arithmétiques doit être arrondi, c’est-à-dire remplacé par
une valeur proche représentable exactement. Ainsi, au niveau de chaque opé-
ration arithmétique, une erreur d’arrondi est générée, certes très faible, mais
qui, tout au long des calculs, va se propager en affectant tous les résultats.


De plus, il est fréquent que les données mises en jeu dans le programme de
calcul soient issues d’appareils de mesure (capteurs) et se trouvent donc enta-
chées d’incertitudes dues à ces appareils. Il est également indispensable de
pouvoir évaluer l’influence de ces incertitudes sur les résultats fournis par
l’ordinateur.
Dans le chapitre 2, l’arithmétique des ordinateurs est présentée et les
conséquences qu’elle engendre sont mises en évidence à l’aide d’exemples. Le
chapitre 3 est consacré aux méthodes déterministes d’estimation des bornes
(majorantes) de la propagation des erreurs d’arrondi. L’analyse régressive est
particulièrement intéressante pour étudier la stabilité des algorithmes. Cepen-
dant, elle nécessite une étude détaillée de chaque algorithme étudié.
L’arithmétique d’intervalles permet de calculer un intervalle contenant certai-
nement la solution exacte du problème étudié, mais nécessite généralement
une reformulation de l’algorithme si l’on ne veut pas trouver un intervalle
beaucoup trop pessimiste.
Les autres aspects, notamment l’approche stochastique de la propagation
des erreurs, à travers la méthode CESTAC, ainsi que l’apport du logiciel
CADNA, seront étudiés dans le dossier qui lui fait suite, [AF 1 471].
Enfin, le lecteur trouvera une imposante bibliographie et des sites web
recommandés dans la partie documentaire, le dossier [Doc. AF 1 470].

1. Question d’« arrondi » reproductibilité absolue. En effet, un même programme exécuté k


fois avec les mêmes données sur un même ordinateur ou même,
depuis la standardisation de l’arithmétique à virgule flottante, sur
Dès l’apparition des premiers ordinateurs et grâce à leur grande des ordinateurs différents produira k fois les mêmes résultats. Ce
vitesse de calcul, des problèmes qui, jadis, nécessitaient un nom- déterminisme absolu, cette reproductibilité rigoureuse, donne
bre important d’opérations arithmétiques pouvaient être résolus. l’illusion d’une grande sécurité.
Mais, déjà, les utilisateurs se posaient la question suivante : « À la
fin d’une longue séquence de calculs sur ordinateur, à cause de la
propagation des erreurs d’arrondi, le résultat obtenu est-il En fait, il ne s’agit là que d’une sécurité apparente, d’une
significatif ? » fausse sécurité, car cette insidieuse propagation des erreurs
En 1946, Von Neumann effectua sur l’ordinateur IBM SSEC d’arrondi a pu conduire à ce que le même résultat imperturba-
(Selective Sequence Electronic Calculator) des calcul sur la turbu- blement trouvé k fois soit, en réalité, fortement entaché
lence. Ce fut un échec à cause de la propagation des erreurs d’erreur, voire même non significatif.
d’arrondi. Il en conclut que l’ordinateur ne pourrait jamais servir
pour le calcul scientifique.
Mais des travaux ultérieurs (Von Neumann et Goldstine, 1947)
sur le calcul de l’inverse d’une matrice définie positive par la 2. Conséquences
méthode de Gauss mirent en évidence que la propagation des
erreurs d’arrondi n’était pas aussi catastrophique que ce que l’on de l’arithmétique
craignait. Les utilisateurs furent alors rassurés et, même beaucoup
trop rassurés, puisqu’ils ont tendance à considérer qu’elle est des ordinateurs
négligeable, ce qui est évidemment tout à fait faux.
Certains utilisateurs pensent tester la fiabilité des résultats en
en calcul scientifique
faisant exécuter leur programme en simple, puis en double préci-
sion. Dans le cas où les premiers chiffres des résultats en simple et Dans ce chapitre, nous allons présenter la différence fondamen-
en double précision sont les mêmes, ils en déduisent que leurs tale qui existe entre le calcul algébrique et le calcul numérique sur
résultats sont corrects et fiables, ce qui, hélas, est peut-être tout à ordinateur.
fait faux. Dans le calcul algébrique, toutes les opérations arithmétiques
De plus, l’ordinateur est devenu, pour tout scientifique et tout symbolisées sont supposées être exécutées avec une précision
ingénieur, un simple outil de laboratoire qui est le seul à être d’une infinie. Ainsi, les résultats obtenus sont toujours exacts. Dans le

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 470 − 2 est strictement interdite. − © Editions T.I.

RV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP

_______________________________________________________________________________ VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES

Tableau 1 – Codage d’un nombre entier positif


Signe 231 ... 210 ... 20
0 0 ....0.... 0 0 1 1 1 1 1 0 1 0 1 1 1

Tableau 2 – Codage d’un nombre entier négatif Q


Signe 231 ... 210 ... 20
1 1 ....1.... 1 1 0 0 0 0 0 1 0 1 0 0 1

calcul numérique sur ordinateur, les opérations arithmétiques sont 2.2 Représentation et codage
exécutées avec une précision limitée. Ainsi, les résultats obtenus
sont toujours entachés d’une erreur due au fait que cette arithmé-
des éléments de 
tique n’est qu’une approximation de l’arithmétique à précision Les nombres décimaux, ainsi que les nombres entiers écrits
infinie. sous forme décimale (partie décimale nulle) sont codés sous une
Dans certains cas, cette erreur peut être tellement grande que forme communément appelée « virgule flottante ».
les résultats obtenus sont non significatifs. Pour bien apprécier
cette différence, il faut étudier comment sont codées les valeurs 2.2.1 Notion de virgule flottante
numériques en machine, et comment sont exécutées les opéra-
tions arithmétiques. Tout élément x ∈ s’écrit en virgule flottante sous la forme :
En calcul scientifique, les éléments de l’ensemble des entiers
x = ε m be (1)
relatifs  sont utilisés pour le comptage dans les boucles de
calcul, ou pour le calcul des indices de variables. Les autres calculs avec ε signe de x, 0 si x est positif et 1 s’il est négatif,
utilisent les éléments de  .
m nombre donnant la valeur absolue de x comportant une
valeur entière et une partie décimale,
b base de la représentation,
En machine, tous les éléments de  et de  sont codés en
binaire, c’est-à-dire en base b = 2. e exposant qui est un nombre algébrique entier.
Il y a une infinité de façons d’exprimer x sous forme de virgule
flottante. Mais, si la partie entière de m est nulle et que le premier
chiffre de la partie décimale ne l’est pas, alors la représentation est
2.1 Représentation des nombres entiers dite « normalisée ».
relatifs
C’est cette représentation, unique pour tout x ∈ , qui est
Le mode dit « entier » permet de représenter une partie seule-
retenue pour coder en machine un élément de  .
ment des éléments de  . Pour les entiers positifs, c’est la repré-
sentation classique cadrée à droite, complétée à gauche par des
zéros non significatifs et précédée du signe. (0 pour le signe + et 1
pour le signe –).
2.2.2 Norme IEEE 754
Un résumé de cette norme est présenté ici.
Pour la représentation des éléments de  en machine, la norme
Exemple. La valeur « + 2007 » est représentée sur une machine IEEE 754 impose d’utiliser la forme appelée « virgule flottante de
ayant des mots mémoire de 32 bits telle qu’indiqué au tableau 1. base 2 ». Elle définit :
En effet 2007(10) = 11111010111(2) ou 7D7 en écriture hexadéci- – les différents formats de représentation ;
male. – les divers modes d’arrondi ;
– les nombres spéciaux.
En revanche, les entiers négatifs sont représentés de façon un peu
particulière, par ce que l’on appelle le « complément à 2 » et que l’on ■ Différents formats de représentation
devrait appeler complément à 2n, si n est le nombre de bits utilisés
La norme prévoit 4 formats de représentation : simple précision,
pour coder le nombre.
double précision, simple et double précision étendues. Seules les
En fait, l’opposé – x d’un nombre x ∈ est défini par : deux premières représentations sont présentées ici.
En accord avec la formule (1), tout nombre en virgule flottante
x + ( − x ) = 2n est codé dans la mémoire de l’ordinateur par son signe ε, sa man-
La valeur « – 2007 » est donc représentée comme indiqué au tisse M et son exposant E, comme résumé dans le tableau 3.
tableau 2. On vérifie facilement que l’addition binaire x + (– x ) fournit
32 bits égaux à 0, car la représentation de 232 nécessite 33 bits. De
fait, les calculs sur les nombres entiers sont exactement des calculs Tableau 3 – Codage d’un nombre réel
modulo 2p. Signe Exposant biaisé Mantisse
Dans le cas où p = 32, ce mode de représentation permet de traiter
des nombres dont la valeur n’excède pas 231 – 1. ε Ec M

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 470 – 3

RW

RX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ

Validation des résultats des logiciels


scientifiques
Approche stochastique Q

par Jean VIGNES


Professeur émérite de l’université Pierre et Marie Curie
et René ALT
Professeur émérite de l’université Pierre et Marie Curie

1. Estimation de l’influence des erreurs d’arrondi


et des incertitudes des données .......................................................... AF 1 471 - 2
2. Approche stochastique de l’analyse
des erreurs d’arrondi : méthode CESTAC ......................................... — 3
3. Arithmétique stochastique .................................................................... — 5
4. Logiciel CADNA ........................................................................................ — 6
5. Apport du logiciel CADNA aux diverses
méthodes de calcul scientifique .......................................................... — 8
6. Exemples d’utilisation du logiciel CADNA........................................ — 17
7. Conclusion.................................................................................................. — 20
Pour en savoir plus .............................................................................................. Doc. AF 1 470

es chapitres suivants sont consacrés à l’approche stochastique de la propa-


L gation des erreurs d’arrondi et de l’influence des incertitudes des données
sur les résultats fournis par un programme scientifique.
C’est la seule méthode permettant à chaque ingénieur de répondre à la ques-
tion posée précédemment qui en substance est : « Quel est le nombre de
chiffres décimaux significatifs exacts dans les résultats fournis par un pro-
gramme de calcul scientifique ? »
Ainsi, la méthode CESTAC (Contrôle et estimation stochastique des arrondis
de calculs) est détaillée au chapitre 2, puis l’arithmétique stochastique est pré-
sentée au chapitre 3.
Le chapitre 4 est consacré à la description et à l’utilisation du logiciel CADNA
(« Control of Accuracy and Debugging of Numerical Algorithms »). Ce logiciel
met en œuvre la méthode CESTAC et l’arithmétique stochastique discrète.
Les chapitres 5 et 6 sont dédiés à l’apport du logiciel CADNA aux diverses
méthodes de calcul numérique (directes, itératives et approchées) et à des
exemples d’utilisation de ce logiciel. La conclusion constitue le chapitre 7.
Toute l’introduction de ces questions est faite dans le dossier [AF 1 470], la
documentation est regroupée dans [Doc. AF 1 470].
p。イオエゥッョ@Z@。カイゥャ@RPQP

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 471 – 1

RY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ

VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES _______________________________________________________________________________

Tout élément x ∈ s’exprime en virgule flottante normalisée


1. Estimation de l’influence par :
des erreurs d’arrondi 1
et des incertitudes x = ε ⋅ m ⋅ be avec
b
m <1 (2)

des données avec ε signe de x,

Q Lorsqu’un programme scientifique est exécuté sur ordinateur,


les calculs sont effectués en arithmétique en virgule flottante à
m mantisse illimitée,
b base de représentation des nombres (en général b = 2),
l’aide de données généralement entachées, soit d’erreur d’arrondi e exposant entier.
(erreurs dues à l’opérateur d’affectation), soit d’incertitudes dues
aux appareils de mesures physiques (capteurs). Cet élément x est représenté sur un ordinateur par un élément
X ∈ qui s’exprime par :
Les résultats fournis par l’ordinateur sont donc toujours enta-
chés des erreurs issues de la propagation des erreurs d’arrondi et 1
de l’influence des incertitudes des données. Il est donc toujours X = ε ⋅ M ⋅ bE avec M <1 (3)
nécessaire d’estimer ici, et non de majorer, l’influence de ces b
erreurs sur tous les résultats du programme et, donc, de l’algo-
avec M mantisse de longueur p digits (p bits si b = 2, y compris le
rithme mis en œuvre.
bit caché),
E exposant entier.
En d’autres termes, l’utilisateur doit connaître le nombre de
L’erreur absolue d’arrondi créée par les opérateurs informa-
chiffres décimaux significatifs exacts des résultats fournis par
tiques est exprimée dans le cas le plus fréquent où b = 2 par :
l’ordinateur.
– pour l’opérateur d’affectation :

Soit r ∈, le résultat exact d’un calcul numérique, et R ∈ , le


X = x − ε α 2E −p (4)
résultat informatique de ce même calcul fourni par l’ordinateur,
avec :
 étant l’ensemble des nombres représentables en virgule flot-
tante. Intuitivement, le nombre de chiffres décimaux significatifs • pour l’arrondi au plus près : α ∈ [– 0,5, 0,5[,
exacts de R est le nombre de chiffres décimaux communs à r et à
R. Il est défini par : • pour l’arrondi vers zéro : α ∈ [0, 1[,
• pour l’arrondi vers – ∞ ou + ∞ : α ∈ ]– 1, 1[ ;
R −r – pour l’opérateur d’addition ⊕ :
CR ,r = log10 pour r ≠ 0 (1)
r
∀x 1, x 2 ∈ et X 1, X 2 ∈  tels que X i = x i − εi αi 2Ei −p (5)
Cette formule traduit le fait que, si l’erreur relative entre R et r
est de l’ordre de 10–k, R et r ont en commun k chiffres décimaux. Il
ne faut pas se laisser abuser par l’écriture des valeurs. X 1 ⊕ X 2 = x 1 + x 2 − ε1 α1 2E1−p − ε2 α 2 2E2 −p − ε 3 α 3 2E 3 −p (6)
En effet si, par exemple, r = 4,239 979 et R = 4,240 036, malgré le
fait qu’en apparence il n’y a que deux chiffres décimaux en commun avec E3 , ε3 et α3 respectivement, exposant, signe et erreur
entre r et R, CR ,r ≃ 5 car la différence entre les 0 et les 9 n’est d’arrondi résultant de l’addition en virgule
qu’illusoire. flottante ;
– pour l’opérateur de soustraction ⊖ :
Nous présentons dans ce chapitre une approche stochastique
permettant, pour tout résultat fourni par l’ordinateur, de connaître X 1 ⊖ X 2 = x 1 − x 2 − ε1 α1 2E1−p + ε2 α 2 2E2 −p − ε 3 α 3 2E 3 −p (7)
son nombre de chiffres décimaux significatifs exacts.
– pour l’opérateur de multiplication ⊗ :

1.1 Analyse des erreurs d’arrondi dues X 1 ⊗ X 2 = x 1 x 2 − ε1 α1 x 2 2E1−p − ε2 α 2 x 1 2E2 −p


à l’arithmétique à virgule flottante (8)
+ ε1 ε2 α1 α 2 2E1+E2 −2 p − ε 3 α 3 2E 3 −p
Considérons un algorithme numérique qui est une suite ordon-
née de nb opérations arithmétiques. Pour simplifier, nous suppo- Dans l’équation (8) le 4e terme est du second degré en 2–p.
sons qu’il ne calcule qu’un seul résultat r ∈ . Lorsque cet Quand ce terme est négligé, l’approximation au premier ordre de
algorithme est mis en œuvre, à l’aide d’un langage de program- l’erreur d’arrondi due à la multiplication s’exprime par :
mation sous forme de programme et qu’il est exécuté par l’ordina-
teur, le résultat fourni R ∈ est différent de r ∈ car il est entaché X 1 ⊗ X 2 ≈ x 1 x 2 − ε1 α1 x 2 2E1−p − ε2 α 2 x 1 2E2 −p − ε 3 α 3 2E 3 −p (9)
d’une erreur due à la propagation des erreurs d’arrondi de chaque
opération arithmétique en virgule flottante. Toutefois, nous allons – pour l’opérateur de division ⊘ :
voir qu’il est possible d’estimer cette erreur.
De la même façon que pour la multiplication, l’approximation en
Nous utilisons les lettres minuscules pour représenter les élé- 1er ordre en 2–p de l’erreur d’arrondi due à la division s’exprime
ments de l’ensemble  , et les lettres majuscules pour représenter par :
les éléments de l’ensemble  . Dans le même esprit, les opérateurs
arithmétiques exacts sont représentés par {+, –, ·, /}, et les opéra- x1 α x
teurs informatiques arithmétiques en virgule flottante par X1 ⊘ X 2 ≈ − ε 1 2E1−p + ε2 α 2 21 2E2 −p (10)
{⊕, ⊖ , ⊗, ⊘}. x2 1 x2 x2

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 471 – 2 est strictement interdite. – © Editions T.I.

SP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ

_______________________________________________________________________________ VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES

1.2 Propagation des erreurs d’arrondi arithmétique en virgule flottante en utilisant des données Di défi-
nies par :
dans un programme de calcul
Di = di (1+ 2θ σ i ) (14)
scientifique
avec θ nombre aléatoire distribué sur ]– 1, + 1[, alors le résultat
Considérons un algorithme numérique fini qui nécessite l’exécu- R ∈ fourni par l’ordinateur s’exprime par :
tion sur ordinateur de nb opérations arithmétiques ordonnées et
qui fournit un résultat unique r ∈ .


i =nd j =nb
Après mise en œuvre de cet algorithme sur ordinateur à l’aide R ≈r + ∑ vi (d ) 2− p δi + ∑ gj (d ) 2− p α j (15)
du programme de calcul correspondant, l’ordinateur fournira un i =1 j =1
résultat informatique entaché d’une erreur absolue due à la propa-
gation des erreurs d’arrondi. Il a été démontré dans [25] [26] à avec vi (d ) quantité dépendant exclusivement des données et du
partir des équations (4) à (10) que l’erreur absolue due à la propa- programme de calcul.
gation des erreurs d’arrondi, sur un résultat informatique R ∈ Cette équation est une extension de l’équation (11). En effet, la
nécessitant nb opérations arithmétiques en virgule flottante première somme représente l’effet des incertitudes des données et
incluant l’opérateur d’affectation, s’exprime au 1er ordre en 2–p la seconde somme la propagation des erreurs d’arrondi.
par :
j =nb
R =r + ∑ gj (d ) 2− p α j (11)
j =1 2. Approche stochastique
avec gj (d ) quantités dépendant exclusivement des données et du
programme de calcul, mais indépendantes des αj qui
de l’analyse des erreurs
sont les quantités perdues lors de l’arrondi, d’arrondi : méthode
r et R respectivement, résultat exact et résultat calculé par
l’ordinateur.
CESTAC
Le nombre de bits significatifs de R est donné par : Les méthodes présentées précédemment permettent d’estimer
des bornes majorantes de la propagation des erreurs d’arrondi ou
R −r des intervalles dans lequel se trouve la solution exacte du pro-
CR = − log2 (12)
r blème étudié, et d’estimer la stabilité des algorithmes utilisés.
Depuis l’arrivée d’ordinateurs pouvant exécuter des milliards
Avec l’équation (11), on a : d’opérations à la seconde, les utilisateurs prennent conscience de
la nécessité de connaître la fiabilité des résultats fournis par l’ordi-
j =nb αj j =nb αj nateur après plusieurs heures de calculs arithmétiques exécutés
CR = − log2 ∑ gj (d ) 2− p
r
= p − log2 ∑ gj (d )
r
(13) avec l’arithmétique en virgule flottante et, souvent, avec des don-
j =1 j =1 nées entachées d’incertitudes. Seule l’approche stochastique est
capable de fournir une réponse.
Le deuxième terme de l’équation (13) représente la perte de
précision dans le calcul de R. Ce terme étant indépendant de p, on
peut conclure que la perte de précision, lors d’un calcul sur L’idée de base de l’approche stochastique est que, au cours
ordinateur, est indépendant de la précision utilisée dans le calcul. de l’exécution d’un programme de calcul, certaines erreurs
Cela veut dire que si, par exemple, en simple précision le résultat d’arrondi peuvent se compenser. Comme on ne peut pas maî-
obtenu a quatre chiffres décimaux exacts (trois perdus) en double triser les erreurs d’arrondi αi , puisqu’elles disparaissent en
précision, le résultat aura douze chiffres décimaux exacts (trois cours des calculs, on les considère comme des variables aléa-
perdus). Ceci n’est vrai que si l’approximation au 1er ordre est toires uniformes équi-distribuées.
valable.

Les intervalles de variation des αi dépendent du mode d’arrondi


1.3 Influence des incertitudes utilisé et sont donnés par (4). En effet, la loi de distribution de ces
des données sur les résultats variables aléatoires a fait l’objet d’étude. Dans [28] et [29], il a été
montré que la distribution la plus plausible pour les mantisses est
d’un programme de calculs une distribution logarithmique. Sous cette hypothèse, il est
démontré dans [30] que les αi au pième bit pouvaient être
Dans de nombreuses applications, les données sont issues considérées avec une très bonne approximation, comme des
d’appareils de mesures et, donc, sont entachées d’incertitudes variables aléatoires uniformes sur leur intervalle de définition dès
(erreurs absolues ou relatives) chiffrées par le fabricant de ces que p > 10. Or, en arithmétique en virgule flottante, p  24 (voir
appareils. En général, ces erreurs peuvent être considérées comme dossier [AF 1 470]).
des variables aléatoires gaussiennes centrées [27]. Il est nécessaire
d’estimer, d’une part, l’influence de ces incertitudes et, d’autre Avec cette approche, tout résultat R ∈ d’une suite de calculs
part, celles dues à la propagation des erreurs d’arrondi, sur tous effectués sur ordinateur peut être considéré comme une variable
les résultats fournis par le programme de calcul. aléatoire gaussienne et le nombre de chiffres significatifs exacts de
ce résultat dépend des caractéristiques de cette variable aléatoire,
De la même manière qu’a été établie l’équation (11), c’est-à-dire de sa moyenne µ et de son écart-type σ. Plus le rapport
considérons une séquence d’opérations arithmétiques fournissant σ
un résultat unique obtenu à l’aide de données incertaines, di , est grand et moins R a de chiffres significatifs exacts.
i = 1,..., nd. Nous supposons que les incertitudes δi , i = 1, ..., nd µ
peuvent être considérées, comme des variables aléatoires gaus- Mais, pour estimer µ et σ, il est nécessaire d’avoir plusieurs
siennes d’écart type relatif σi . Il a été prouvé, dans [2] et [25] que échantillons de la distribution de R. Malheureusement, au cours
lorsque la séquence de calcul définie ci-dessus est exécutée en des calculs, les erreurs αi ont disparu.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 471 – 3

SQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ

VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES _______________________________________________________________________________

En conséquence, la question qui se pose est : « comment Ainsi, la méthode CESTAC consiste à :
peut-on obtenir ces échantillons de R ? » La méthode CESTAC per- – faire exécuter tout programme N fois d’une manière synchrone
met de répondre à cette question. comme expliqué précédemment, avec l’arrondi aléatoire ;
– choisir la moyenne de tout résultat calculée avec
l’équation (17) comme résultat informatique ;
2.1 Base de la méthode CESTAC – calculer le nombre de chiffres décimaux de cette moyenne
avec l’équation (16).


La méthode CESTAC (Contrôle et estimation stochastique des En pratique, N = 3 et η = 0,05, d’où τη = 4,303.
arrondis de calcul) a été développée par La Porte et Vignes ([1] [31]
[32], [33], [34], [35]), puis généralisée par ce dernier : [36], [37],
[38], [39], [40], [41], [42]. 2.4 Validation
L’idée de base de la méthode consiste à faire exécuter le même Dans son utilisation pratique, la méthode CESTAC ne fournira
programme de calcul N fois d’une manière synchrone, c’est-à-dire des résultats fiables que si, et seulement si, les hypothèses que
que chaque opération arithmétique en virgule flottante est exécu- soutend le modèle théorique sont satisfaites. Les deux hypothèses
tée N fois avant d’exécuter la suivante en faisant propager diffé- fondamentales sont :
remment les erreurs d’arrondi. Ainsi, en cours de l’exécution du – les erreurs d’arrondi élémentaires αj sont des variables aléa-
programme de calcul, on dispose de N échantillons de tout résultat toires indépendantes uniformément distribuées et centrées (de
déjà calculé. Ces N échantillons sont obtenus à l’aide du mode moyenne nulle) ;
d’arrondi aléatoire détaillé ci-après. – l’approximation au 1er ordre en 2–p dans la modélisation de
tout résultat par l’équation (11) est valide.
En ce qui concerne la première hypothèse, l’indépendance des
2.2 Mode d’arrondi aléatoire erreurs d’arrondi n’est pas toujours rigoureusement vérifiée, mais
dans la pratique l’approximation de Student est suffisamment
L’idée du mode d’arrondi aléatoire est que tout résultat d’une robuste pour donner des résultats fiables. Il arrive aussi qu’elles ne
opération arithmétique en virgule flottante ou d’une affectation qui soient pas exactement centrées. Le test de Student donnera alors
n’est pas une valeur flottante représentable exactement en un estimateur biaisé du résultat exact. Mais, il est montré dans [25]
machine est encadré par deux valeurs successives en virgule flot- et [44] qu’un biais de quelques σ entraîne une erreur inférieure à
tante, l’une par défaut (arrondie vers – ∞) et l’autre par excès un chiffre décimal, voire à un bit, sur l’estimation de R par
(arrondie vers + ∞), chacune représentant aussi légitimement le l’équation (16). En conséquence, même si la première hypothèse
résultat exact. L’arrondi aléatoire consiste à choisir aléatoirement précédente n’est pas rigoureusement satisfaite, en pratique l’esti-
l’une ou l’autre de ces valeurs avec la même probabilité 0,5. mation de CR par l’équation (16) n’est pas mise en défaut si l’on
considère qu’elle est fournie à un chiffre décimal près.
Ainsi, lorsqu’un programme de calcul est exécuté N fois de
manière synchrone en utilisant l’arrondi aléatoire, pour chaque Par contre, en ce qui concerne la seconde hypothèse, sa légiti-
résultat d’une opération arithmétique en virgule flottante ou pour mité est fondamentale pour la validation de la méthode CESTAC.
toute affectation, N échantillons de tout résultat R ∈ seront obte- En effet, si la seconde hypothèse n’est pas satisfaite, en pratique
nus.
la moyenne R n’est plus centrée et peut être entachée d’un fort
À partir de ces N échantillons, il est possible d’estimer le biais qui peut être prépondérant devant le résultat exact. De ce fait,
nombre de chiffres significatifs exacts de tout résultat. l’estimation du nombre de chiffres décimaux significatifs de R par
l’équation (16) n’est plus fiable.
Dans la modélisation précédente, l’approximation du deuxième
2.3 Modélisation ordre en 2–2p n’intervient pas dans les opérations d’affectation,
d’addition et de soustraction en virgule flottante, c’est-à-dire dans
Les N échantillons (Rk, k = 1, … N) précédemment obtenus sont les équations (4), (6) et (7), mais intervient dans les multiplications
donc N tirages de la variable aléatoire quasi-gaussienne modélisée et les divisions. En conséquence, seules les multiplications et divi-
par l’équation (11) où les αj sont des variables aléatoires indépen- sions peuvent éventuellement mettre en défaut l’hypothèse 2.
dantes équi-distribuées [43]. La distribution commune des αj est
Cependant, il est montré dans [26] et [45] que ε1 et ε2 étant, res-
uniforme sur [– 1/2, + 1/2 ] et donc centrée. Il s’agit alors d’estimer la
pectivement, les erreurs absolues d’arrondi sur les opérandes
moyenne d’une variable aléatoire gaussienne à partir de N échan-
X 1 ∈ et X 2 ∈ , si l’on a :
tillons.
C’est l’approximation de Student qui est utilisée et qui fournit,  ε ε 
sous une probabilité donnée, l’intervalle de confiance de cette sup  1 , 2   1 (18)
 X1 X 2 
moyenne (espérance de la gaussienne). À partir de cet intervalle
de confiance, on déduit le nombre de chiffres significatifs CR de la Alors, l’approximation du 1er ordre en 2–p est légitime. En
d’autres termes, plus les opérandes sont significatifs, et plus
moyenne R avec une probabilité β par l’équation : l’approximation au 1er ordre est valide. Mais, si les opérandes
deviennent non significatifs, c’est-à-dire si ε1 et ε2 sont de l’ordre
 nR  de grandeur de X1 et X2 , alors l’approximation au 1er ordre n’est
CR = log10   (16) plus valide.
 σ τ η 
En résumé, la seconde hypothèse est satisfaite en pratique si les
avec : deux conditions suivantes sont vérifiées :
– les opérandes de chaque multiplication sont tous les deux
1 N 1 N significatifs ;
R= ∑R
N k =1 k
et σ2 = ∑ (R − R)2
N − 1k =1 k
(17) – le diviseur de chaque division est significatif.
Ceci a pour conséquence pratique, lors de l’exécution d’un pro-
avec τη valeur de la distribution de Student pour N – 1 degrés de gramme sur ordinateur, de contrôler que les conditions énoncées
liberté et une probabilité de 1 – η. précédemment sont satisfaites. Si tel n’est pas le cas, cela veut

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 471 – 4 est strictement interdite. – © Editions T.I.

SR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ

_______________________________________________________________________________ VALIDATION DES RÉSULTATS DES LOGICIELS SCIENTIFIQUES

dire que l’hypothèse 2 a été violée et que les résultats fournis par 3.1 Arithmétique stochastique continue
l’équation (16) ne sont pas fiables. Ce contrôle est détaillé dans le
chapitre suivant. Cette arithmétique travaille sur des opérandes appelés
« nombres stochastiques », cf. [46].

2.5 Implémentation synchrone ■ Définition 1 – nombres stochastiques


L’ensemble des nombres stochastiques  est l’ensemble des
La nécessité de contrôler, au cours de l’exécution d’un pro-
gramme sur ordinateur, les deux conditions énoncées au paragra-
phe 2.4, imposent de pouvoir calculer à tout moment le nombre de
variables aléatoires gaussiennes. Ainsi, X ∈ est défini par
X = (m, σ ), m étant la moyenne de X et σ sont écart-type.
Si X ∈ et X = (m, σ ), il existe λη dépendant uniquement de η

chiffres significatifs des résultats par l’équation (16). Pour cela, on
tel que :
doit disposer des N échantillons de chacun de ces résultats.
P (X ∈[Iλ ,X ]) = 1− η
Ceci impose une implémentation synchrone de la méthode CES- (19)
TAC qui consiste à faire exécuter N fois chaque opération arithmé- Iη ,X = [m − λη σ , m + λη σ ]
tique avec l’arrondi aléatoire avant d’exécuter la suivante. Ainsi,
tout se passe comme si N programmes identiques s’exécutaient avec Iη,X intervalle de confiance de m pour une probabilité 1 – η.
simultanément sur N ordinateurs synchronisés utilisant l’arrondi Pour η = 0,05, λη = 1,96. Le nombre de chiffres significatifs de m
aléatoire. Pour chaque résultat, N échantillons sont obtenus per- est alors obtenu par :
mettant ainsi de calculer le nombre de chiffres décimaux significa-  m 
tifs de chaque résultat informatique assimilé à la moyenne des N Cη ,X = log10   (20)
échantillons.  λη σ 
Chacun de ces échantillons est obtenu à l’aide de l’arrondi aléa- ■ Définition 2 – zéro stochastique
toire qui choisit avec une probabilité égale soit l’arrondi vers + ∞ ou
X ∈ est un zéro stochastique noté par 0 si et seulement si :
vers – ∞. L’arrondi aléatoire n’opère que si le résultat de l’opération
arithmétique n’est pas une valeur qui tombe juste en virgule flot- C η ,X  0 ou X = (0, 0)
tante. Il ne crée donc aucune erreur artificielle. En pratique, pour
éviter le cas où tous les arrondis seraient dans le même sens, les Remarquons que si f (x ) = 0, alors F (X ) = 0 .
N – 1 premiers échantillons sont créés comme décrit ci-dessus et le
Nième est créé avec le choix opposé au choix du N – 1ième. De plus, avec f fonction réelle quelconque,
avec l’arrondi aléatoire le théorème de l’arrondi exact est respecté. F image informatique de f.
L’implémentation synchrone de la méthode CESTAC permet ■ Définition 3 – opérateurs stochastiques
donc en cours d’exécution du programme de :
Les quatre opérations arithmétiques entre deux nombres sto-
– contrôler la propagation des erreurs d’arrondi au niveau de chastiques X1 = (m1, σ1) et X2 = (m2 , σ2) notées s+, s–, s×, s/ sont
chaque opération arithmétique ; définies par :
– détecter une perte de précision pendant le calcul ;
def
– contrôler les débranchements ; X1 s+ X 2 = (m1 + m2 , σ 12 + σ 22 )
– détecter les violations de l’hypothèse 2 qui entraînent la non def
fiabilité des résultats. X1 s− X 2 = (m1 − m2 , σ 12 + σ 22 )
def
(21)
L’implémentation synchrone de la méthode CESTAC permet X1 s× X 2 = (m1 × m2 , m22 σ 12 + m12 σ 22 )
donc d’estimer, pour tout résultat informatique, l’impact de la
propagation des erreurs d’arrondi en fournissant son nombre de def  2
 σ  m σ 
2

chiffres décimaux significatifs exacts à 1 près. Mais, elle permet X1 s/ X 2 =  m1 / m2 ,  1  +  1 2   , avec m2 ≠ 0


  m2   m2  
aussi d’estimer l’influence des incertitudes des données sur les  
résultats. En effet, il suffit d’utiliser l’équation (14) pour chacune
des données Di connaissant sa valeur et son incertitude.
Remarque : les deux premières formules sont exactes, les
deux dernières ne sont que des approximations au premier
En conséquence, le nombre de chiffres décimaux significa- ordre.
tifs exacts à 1 près, fourni par la machine pour tout résultat
informatique aura tenu compte de la propagation des erreurs
d’arrondi et des incertitudes des données.
■ Définition 4 – égalité entre deux nombres stochastiques
X1 est stochastiquement égal à X2 noté : X1 s= X2 si et seulement
si :
X 1 s − X 2 = 0 ⇔ m1 − m2  λη σ 12 + σ 22
3. Arithmétique stochastique (22)

■ Définition 5 – relations d’ordre entre deux nombres stochas-


Du point de vue théorique, l’implémentation synchrone de la tiques, soit :
méthode CESTAC et l’utilisation de l’arrondi aléatoire transforme X1 est stochastiquement supérieur à X2 noté X1 s> X2 si et seule-
tout résultat informatique en une variable aléatoire quasi-gaus- ment si :
sienne. Ainsi peut-on définir une arithmétique stochastique tra-
vaillant sur des éléments qui sont des variables aléatoires
m1 − m2 > λη σ 12 + σ 22 (23)
gaussiennes.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 471 – 5

SS

ST
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP

Introduction à MATLAB

par Jacques PRADO



Docteur en électronique
Maître de conférences à l’École nationale supérieure des télécommunications (ENST)

1. Démarrage.................................................................................................. AF 1 450 — 2
2. Commandes ............................................................................................... — 2
3. Affichage .................................................................................................... — 9
4. Commandes système .............................................................................. — 10
5. Visualisation graphique ......................................................................... — 10
6. Interfaces ................................................................................................... — 16
Pour en savoir plus ........................................................................................... Doc. AF 1 450

ATLAB® est un système interactif de programmation scientifique, pour le


M calcul numérique et la visualisation graphique, basé sur la représentation
matricielle des données, dont le nom est dérivé de Matrix Laboratory. C’est un
outil multi-plates-formes qui est disponible pour les environnements Windows,
Unix (et dérivés BSD, Linux, Solaris, MacOS...).
MATLAB a été écrit à l’origine, en Fortran, par C. Moler. La version actuelle,
écrite majoritairement en C (mais aussi Perl, Java et autres) par The MathWorks
Inc., existe en version professionnelle et étudiante, et est disponible sur plusieurs
plates-formes avec quelques différences minimes de fonctionnalités. MATLAB se
présente comme un environnement complet pour le calcul et la visualisation. Son
langage de programmation relativement simple à assimiler en fait un environne-
ment ouvert et programmable qui permet un gain de productivité important.
Outre le noyau, MATLAB peut être complété par des outils (« tool boxes ») spé-
cifiques à certains domaines comme le traitement du signal, l’image, l’automati-
p。イオエゥッョ@Z@ッ」エッ「イ・@RPPU@M@d・イョゥ│イ・@カ。ャゥ、。エゥッョ@Z@ョッカ・ュ「イ・@RPQY

que, les statistiques, la mécanique, le calcul symbolique, les réseaux de


neurones... Il est possible de lui adjoindre un environnement supplémentaire
Simulink® permettant d’effectuer de la programmation par schémas-blocs.
Ainsi, MATLAB s’adresse à un large public ; il est utilisé tant pour le dévelop-
pement industriel que pour l’analyse financière ou l’enseignement et la recher-
che. Il n’est besoin pour s’en rendre compte que de consulter le site de
MathWorks, qui offre un nombre considérable d’informations sur les déve-
loppements réalisés à l’aide de cet outil.
MATLAB se présente avant tout comme un langage de commande dont la
caractéristique est d’être interprété ; il permet donc d’utiliser simplement des
structures de données et d’écrire rapidement des programmes assez complexes.
Bien qu’il se veuille complet et autonome, MATLAB reste ouvert aux autres lan-
gages tels que C, Fortran et Java, ce qui permet d’en étendre les possibilités.
Comme pour tout langage de commande, il peut apparaître une certaine lenteur
d’exécution, notamment lors de l’écriture de boucles. Il est alors possible
d’écrire les parties sensibles du code dans un autre langage de manière à en
accélérer l’exécution. De plus, à l’aide de la boîte à outils compilateur (MATLAB
Compiler), la génération automatique de code C et la création d’un programme

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur AF 1 450 − 1

SU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP

INTRODUCTION À MATLAB ______________________________________________________________________________________________________________

« stand alone » ou d’une libraire dynamique partageable à partir d’une applica-


tion développée en code MATLAB sont particulièrement simples à effectuer.
Le présent document a pour but de familiariser le lecteur avec l’utilisation de
MATLAB. Les compléments d’information peuvent être facilement obtenus
grâce à l’aide en ligne incluse dans le logiciel.
Il est cependant évident que les possibilités de MATLAB sont nettement plus


importantes que celles décrites ici et que l’on devra faire appel à la documenta-
tion complète pour les utiliser.

1. Démarrage

1.1 Installation

MATLAB est disponible dans les environnements Windows et


Unix et l’installation peut s’effectuer selon deux méthodes : la pre-
mière correspond à une utilisation en mode local, la seconde à une
utilisation en mode réseau.
Nota : l’installation sous MacOs est plus délicate que pour les autres environnements
mais néanmoins, des informations d’installation et des patchs particuliers sont disponibles
sur le site de MathWorks.

■ Mode local sous Windows : la version Windows de MATLAB est


livrée avec un code PLP (Personal License Password) qui permet
d’identifier les produits pouvant être installés. Elle s’effectue comme
la plupart des installations de programme sous Windows, en mode Figure 1 – Fenêtre de travail
par défaut ou personnalisé. L’installation nécessite les droits adminis-
trateur et une configuration minimale assez conséquente. L’espace
disque minimal occupé, avec la documentation, est d’environ 350 Mo alors dans un environnement multifenêtre. La sortie du logiciel
et la mémoire nécessaire pour travailler correctement est de 512 Mo. s’effectue en tapant quit ou exit.
La fenêtre principale peut revêtir plusieurs aspects qui peuvent
■ Mode local sous Unix : dans le cas d’un environnement Unix,
être choisis en cliquant sur le menu Desktop. Sur la figure 1, elle est
l’installation est basée sur un fichier de licence qui est l’équivalent
découpée en trois sous-fenêtres. À gauche et en haut, la fenêtre Cur-
du PLP sous Windows. La procédure consiste à créer un répertoire
rent Directory contient les fichiers du répertoire courant (dont le
d’installation (par exemple /usr/local/MATLAB) et à y copier le fichier
nom apparaît en haut au milieu de la fenêtre principale
de licence livré avec MATLAB. Il suffit ensuite d’exécuter le fichier
(F:\MATLAB701\work) ; en bas, la fenêtre Command History contient
install en ayant les droits root et de répondre aux différentes ques-
la suite des instructions tapées dans la fenêtre de commande depuis
tions du programme d’installation. Les ressources nécessaires sont
le début de la session ; à droite, la fenêtre de commande Command
les mêmes que pour la version Windows.
Window dans laquelle on entre les instructions à exécuter.
■ Mode réseau : en mode réseau, MATLAB utilise un gestionnaire Il est possible de désolidariser ces fenêtres pour personnaliser
de licence appelé FLEXIm. Pour ce type d’utilisation il faut installer son environnement de travail, un exemple est donné sur la figure 2.
le programme de gestion de licence ainsi que les produits MATLAB.
Il y a deux façons d’effectuer une installation réseau : On accède à l’aide en ligne en tapant help fonction, où fonction
— remote access : dans cette configuration, MATLAB et FLEXIm représente le nom d’une fonction prédéfinie de MATLAB.
sont installés sur un serveur central et les utilisateurs y accèdent par L’appel à help sans argument renvoie la liste des sujets pour les-
le réseau ; quels l’aide en ligne est disponible, ensuite help sujet renvoie la
— local client access : dans cette configuration, FLEXIm est ins- liste des fonctions relatives au sujet. On peut avoir un aperçu
tallé sur un serveur central et MATLAB est installé sur chaque poste des possibilités de MATLAB en lançant la commande demos.
client.
Dans ces deux modes réseau, le gestionnaire de licence gère le Nous allons commencer par traiter de MATLAB en mode
droit d’utilisation de MATLAB et le nombre d’utilisateurs autorisés. Le commande afin de s’imprégner des différents formats de données.
nombre d’autorisations correspond au nombre de licences achetées,
aussi appelées jetons. Dans ce type de configuration, on peut très
bien avoir MATLAB installé sur son poste et ne pas pouvoir l’utiliser si
le nombre maximum de jetons autorisés est déjà atteint. En revanche, 2. Commandes
on peut mélanger les environnements : le serveur et les postes clients
peuvent être indifféremment sous Windows ou Unix.
2.1 Entrée et traitement des données
1.2 Accès
2.1.1 Matrices
MATLAB étant disponible sur différentes plates-formes matériel- MATLAB travaille sur des objets de type matriciel qui peuvent être
les, on accède au logiciel en lançant l’exécutable Matlab suivant la réels ou complexes. Par conséquent, un scalaire est une matrice
procédure habituelle de l’environnement concerné. On se retrouve 1 × 1 et un vecteur une matrice N × 1.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 450 − 2 © Techniques de l’Ingénieur

SV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP

______________________________________________________________________________________________________________ INTRODUCTION À MATLAB

— A=magic(4) crée un carré magique de dimension 4 × 4


(figure 3a) ;
— A=randn(3,2) crée une matrice 3 × 2 dont les éléments sont
aléatoirement distribués suivant une loi normale centrée
(figure 3b).
Chaque élément d’une matrice est accessible par ses indices
notés entre parenthèses. L’élément de la 3e ligne et 4e colonne est
A(3,4). Pour un vecteur x, la 2e composante est x(2).

Remarque : les indices sont forcément strictement positifs.


L’indexation des éléments d’un tableau commence toujours à 1.

2.1.2 Lignes d’instructions

MATLAB utilise un langage interprété. Chaque expression écrite


est interprétée et évaluée.
La syntaxe prend généralement deux formes au choix :

>> variable = expression(;)


>> expression(;)
Figure 2 – Personnalisation de l’environnement Sous la première forme, l’expression est évaluée et le résultat
assigné à la variable définie.
Sous la deuxième forme, l’expression est évaluée et le résultat
assigné à une variable interne appelée ans.
Le point-virgule de terminaison de ligne indique si le résultat de
l’évaluation est affiché ou non à l’écran selon qu’il est absent ou pré-
sent. Cela facilite la mise au point en offrant la possibilité d’obtenir
très simplement des résultats intermédiaires de calcul.
Différentes expressions peuvent apparaître sur une même ligne
séparées par des virgules ou des points-virgules.
Une ligne d’instructions est généralement terminée par un
« retour chariot ». Cependant, pour des lignes trop longues, on peut
répartir sur plusieurs lignes en utilisant comme indicateur de conti-
a carré magique b variable aléatoire nuation une suite d’au moins trois points :
Figure 3 – Génération de matrices
x = [1 2 3 4]
est équivalent à :
Les matrices peuvent être définies de plusieurs façons : x = [1 2 ...
3 4]
12 1 4
>> A = [12 1 4; 8 5 13; 7 9 2] est la matrice A = 8 5 13 Il y a distinction entre majuscule et minuscule : variable est diffé-
7 9 2 rent de Variable.
L’exécution peut être arrêtée par l’utilisation de CTRL_C ou
>> A = [
CTRL_BREAK.
12 1 4
qui peut aussi être définie par : Pour visualiser l’état d’une session, la commande who ou whos
8 5 13 renvoie la liste des variables existantes ainsi que leur type (réel ou
7 9 2 ] complexe) et leur taille (figure 4).
Les éléments d’une même ligne sont séparés par un espace ou Pour libérer de l’espace mémoire, on peut éliminer une variable
une virgule, les lignes sont elles-mêmes séparées par un point-vir- par clear nom_de_la_variable. Cependant, la mémoire reste frag-
gule ou un retour chariot. mentée et pour pouvoir en récupérer le plein usage, il faut la recom-
pacter à l’aide de la commande pack. Ce type de procédure est
Une matrice à éléments complexes est définie de manière très équivalent à la défragmentation d’un disque.
simple par :
Si l’on veut sauvegarder simplement la totalité des variables avant
A = [12 1; 4 8] + i * [5 3; 9 7] de quitter une session MATLAB, la commande save sauvegarde
ou A = [12 + 5i 1 + 3i; 4 + 9i 8 + 7i] l’ensemble dans un fichier appelé MATLAB d’extension .mat que l’on
Les imaginaires purs i ou j peuvent être utilisés indifféremment à peut recharger avec la commande load à la session suivante.
condition de ne pas avoir été redéfinis avant utilisation.
2.1.3 Opérations sur les matrices
Remarque : ne pas insérer d’espace dans la définition d’un
nombre complexe. Les opérations suivantes sont directement accessibles :
+ addition ;
Les matrices peuvent aussi être chargées à partir d’un fichier. – soustraction ;
Certaines fonctions de MATLAB génèrent automatiquement des * multiplication ;
matrices, ce sont par exemple les fonctions magic ou randn : ^ élévation à la puissance ;

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur AF 1 450 − 3

SW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP

INTRODUCTION À MATLAB ______________________________________________________________________________________________________________

2.2 Instructions de contrôle

Comme dans la plupart des langages, il existe des instructions de


contrôle de la forme for, while ou if. Soulignons ici qu’en raison du
caractère interprété du langage, il faut, dans la mesure du possible,
éviter de les utiliser et les remplacer par la notion de boucle impli-
cite (§ 2.4.1).

Q 2.2.1 for

Deux syntaxes existent :

for compteur = début : pas : fin

Figure 4 – État d’une session


for Matrice
expression;
' transpose conjugué ; expression;
\ division à gauche ; end
/ division à droite.
Il y a vérification des dimensions des éléments mis en jeu pour La séquence suivante :
chaque opération et un message d’erreur est délivré en cas de pro-
blème. Un seul cas échappe à cette règle, c’est celui d’une opération x = []; for k = 1:n, x = [x, 2*k]; end
entre un scalaire et une matrice pour lequel l’opération (+, –, *, /) a
lieu entre le scalaire et chacun des éléments de la matrice.
ou de manière équivalente :
Les deux divisions possibles sont définies comme suit : si A est
une matrice carrée inversible et b est un vecteur colonne (resp.
ligne) de dimension compatible, alors : x = [];
for k = 1:n,
>> x = A\b résout le système A × x = b x = [x, 2*k];
>> x = b/A résout le système x × A = b end
Dans le cas de la division à gauche, si la matrice A n’est pas car-
rée, elle est factorisée selon la méthode d’orthogonalisation de Hou- crée un vecteur x de longueur n.
seholder et les facteurs sont utilisés pour résoudre le système sur-
ou sous-dimensionné au sens des moindres carrés. Le vecteur renversé est créé par :
On peut aisément vérifier que les divisions à gauche et à droite
sont liées par : x = [];
for k = n:-1:1,
b/A = (A'\b')' x = [x, 2*k];
Les opérations *, ^, \ et / peuvent agir élément par élément si elles end
sont précédées d’un point. On peut vérifier la différence de résultat
entre A * B et A. * B. Remarquons ici qu’il existe des fonctions MATLAB permettant de
manipuler simplement les lignes ou colonnes de matrices. Ainsi,
renverser les composantes d’un vecteur s’effectue simplement en
1 2 3
écrivant y = flipud(x), flipud étant la contraction de flip up-down. On
■ Définissons la matrice A = 4 5 6 et sa transposée B = A'. trouve de même fliplr pour flip left-right.
7 8 0
Si on utilise une matrice au lieu d’un compteur, la boucle est exé-
La matrice C, produit de A par B, est définie par C = A * B : cutée autant de fois que le nombre de colonnes de la matrice.
C=
14 32 23
s = 0;
32 77 68
A = randn(3);
23 68 113
for cmpt = A
alors que le produit terme à terme D est défini par D = A. * B :
s = s + 1;
D=
end
1 8 21
8 25 48
21 48 0 s = 0;
–1 –2 A = randn(2);
■ Soient les vecteurs x = 0 et y = – 1 . for cmpt = A
s = s + sum(cmpt);
2 1
end
u = x' * y donne : u = 4
alors que v = x * y' donne :
v=
2 1 -1 2.2.2 while
0 0 0
-4 -2 2 La syntaxe est de la forme :

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 1 450 − 4 © Techniques de l’Ingénieur

SX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP

______________________________________________________________________________________________________________ INTRODUCTION À MATLAB

Quand une relation intervient entre deux matrices de mêmes


while relation dimensions, le résultat est une matrice constituée de 1 et de 0 sui-
expression; vant que la relation entre les éléments correspondants des matrices
end est vraie ou fausse.
Si on utilise une relation entre matrices dans un while ou un if,
La boucle est répétée tant que la relation reste vraie. l’interprétation est vraie si tous les éléments de la matrice résultant
Supposons que l’on dispose d’une observation de signal repré- de l’évaluation de la relation sont à 1. Suite à cette interprétation, il


sentée par un vecteur x de taille N et que l’on veuille en calculer le faut prendre quelques précautions d’usage.
spectre sur M points où M = 2 n ⭓ N . M peut être calculé par la Ainsi, le programme suivant :
séquence suivante :
if A ~= B
expression;
n = 0; end
while 2 ^ n < length(x)
n = n + 1;
end résulte dans l’exécution de expression si et seulement si tous les
M = 2 ^ n; éléments de mêmes indices dans A et B sont différents, ce qui n’est
pas nécessairement le résultat escompté.
Pour se ramener à la différence au sens mathématique du terme,
Il suffit alors d’exécuter y = fft(x, M) pour obtenir le résultat désiré, il faut utiliser l’instruction any et le programme devient :
la fonction fft complétant automatiquement le vecteur x par M − N
zéros.
if any(any(A ~= B))
expression;
2.2.3 if end

La syntaxe peut revêtir trois formes : On applique deux fois any, car any est un opérateur vectoriel qui
s’applique aux matrices dimension par dimension.

if relation ■ Définissons une matrice A par A = magic(6)


expression; A=
end 35 1 6 26 19 24
3 32 7 21 23 25
31 9 2 22 27 20
if relation 8 28 33 17 10 15
expression; 30 5 34 12 14 16
else 4 36 29 13 18 11
expression;
end
■ Soit P = (rem(A,3) == 0)
P=
if relation 0 0 1 0 0 1
expression; 1 0 0 1 0 0
elseif relation 0 1 0 0 1 0
expression; 0 0 1 0 0 1
else 1 0 0 1 0 0
expression; 0 1 0 0 1 0
end ■ Soit : i = A(:,3) > 10
i=
0
L’expression n’est exécutée que si la relation est vraie. 0
La notion de relation au sens de MATLAB est donnée dans le para- 0
graphe suivant (§ 2.2.4). 1
1
1
2.2.4 Relations ■ A = A(i,:)
A=
8 28 33 17 10 15
Les opérateurs de relations sont :
30 5 34 12 14 16
< inférieur à ; 4 36 29 13 18 11
> supérieur à ;
<= inférieur ou égal à ;
>= supérieur ou égal à ; Les éléments de la matrice P sont à 1 si les éléments correspon-
== égal à ; dants de la matrice A sont multiples de 3 ; sinon, ils sont à 0.
~= différent de. i est un vecteur dont les composantes sont à 1 si les éléments de
Les évaluations de relations peuvent elles-mêmes être manipu- la 3e colonne de la matrice A sont supérieurs à 10 ; sinon, ils sont à
lées par des opérateurs logiques tels que & (et), | (ou) et ~ (non). 0.
Quand une relation intervient entre des scalaires, le résultat est un En effectuant A = A(i,:), on redéfinit la matrice A en ne prenant que
scalaire qui vaut 1 ou 0 suivant que la relation est vraie ou fausse. les lignes pour lesquelles les composantes du vecteur i sont à 1.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur AF 1 450 − 5

SY

TP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP

Calcul formel

par Claude GOMEZ



Directeur de recherche INRIA (Institut national de recherche en informatique
et en automatique)
et Bruno SALVY
Directeur de recherche INRIA

1. Calculs de base ......................................................................................... AF 1 460 - 2


1.1 Nombres ....................................................................................................... — 2
1.2 Polynômes et fractions rationnelles ........................................................... — 3
1.3 Dérivation ..................................................................................................... — 4
1.4 Simplification ............................................................................................... — 5
1.5 Courbes et surfaces ..................................................................................... — 6
2. Calcul intégral ........................................................................................... — 8
2.1 Calcul de primitives ..................................................................................... — 8
2.2 Intégrales définies........................................................................................ — 10
3. Calcul matriciel ......................................................................................... — 11
3.1 Calculs de base............................................................................................. — 11
3.2 Résolution de systèmes linéaires ............................................................... — 12
3.3 Calcul de valeurs propres............................................................................ — 12
3.4 Applications .................................................................................................. — 13
4. Résolution d’équations ........................................................................... — 14
4.1 Équations non linéaires ............................................................................... — 14
4.2 Équations différentielles .............................................................................. — 16
5. Calcul numérique ..................................................................................... — 17
5.1 Calcul numérique dans un système de calcul formel ............................... — 18
5.2 Production de code numérique .................................................................. — 18
5.3 Lien avec un système de calcul numérique ............................................... — 19
6. Autres domaines....................................................................................... — 20
Pour en savoir plus ........................................................................................ Doc. AF 1 460

e calcul formel est aujourd’hui très connu dans le monde scientifique en


L général et chez les ingénieurs en particulier. En effet, de nos jours, il est
aisé d’installer et d’utiliser un système de calcul formel sur un simple
micro-ordinateur à faible coût (PC, Macintosh). Lorsque l’on vient d’acquérir un
tel système, il faut apprendre à l’utiliser. Dans un premier temps, il est très
facile de réaliser des calculs simples, du style « calculatrice formelle », mais
pour aller plus loin, une certaine connaissance du système et de ses limitations
s’avère nécessaire. Sinon, l’utilisateur se décourage vite et abandonne. Donc,
du temps de formation est indispensable à l’utilisation d’un système de calcul
formel.
Une question apparaît alors : « le calcul formel est-il utile pour moi ? » ;
autrement dit, « est-il rentable pour moi de passer du temps à apprendre à uti-
liser un tel système ? ». Le but de cet article est de répondre à cette question.
Pour cela, nous allons passer en revue les principaux domaines des mathéma-
tiques dans lesquels le calcul formel peut résoudre des problèmes. Ces
domaines sont ceux où l’ingénieur a généralement à travailler : les calculs sur
les nombres et les fractions rationnelles, la dérivation, la simplification de for-
p。イオエゥッョ@Z@。カイゥャ@RPPX

mules et les tracés de courbes qui sont la base de tout système de calcul

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 460 – 1

TQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP

CALCUL FORM EL ____________________________________________________________________________________________________________________

formel, mais aussi les calculs intégral et matriciel, la résolution d’équations


non linéaires et des systèmes d’équations différentielles couramment utilisées
par les ingénieurs. Et enfin, il faudra parler du calcul numérique. Ce dernier est
en général la fin du travail de l’ingénieur et il ne faut pas opposer calcul formel
et calcul numérique. Nous montrerons en effet les cas où le calcul formel peut
s’avérer très utile dans ce domaine. Pour chaque partie, nous montrerons ce
que sait faire le calcul formel, comment il le fait et quelles sont ses limitations.

Q Un grand nombre d’exemples émaillent ce document, ceci afin de montrer le


fonctionnement du calcul formel à travers un système. Nous avons choisi le
système de calcul formel Maple pour cela. La raison en est que ce système est
très largement diffusé (comme Mathematica), qu’il dispose d’une bibliothèque
suffisamment riche et ouverte (le code source de la plupart des fonctions est
accessible) et qu’il est aisément extensible.
Le fonctionnement d’un système de calcul formel comme Maple est simple :
l’utilisateur entre une commande, terminée par un point-virgule « ; » dans une
syntaxe très naturelle, et Maple affiche la réponse en format haute résolution
qui ressemble à la typographie mathématique. Si l’on remplace le point-virgule
par un deux-points « : », la réponse n’est pas affichée. Maple utilise le principe
des packages, c’est-à-dire qu’un grand nombre de commandes sont classées
en groupes de même fonctionnalité. Dans ce cas, l’appel de la commande
s’écrit <nom du package> [< nom de la commande>], comme LinearAlgebra
[Determinant].
Le but de cet article n’est pas la description du système de calcul formel
Maple. Nous n’expliquerons pas de façon détaillée la syntaxe et le fonction-
nement de ce système. Pour cela, le lecteur est invité à consulter l’article
« Calcul formel avec Maple » [H 3 028]. Mais les exemples ont été choisis pour
qu’ils soient compréhensibles par le lecteur ; des explications seront données
chaque fois que cela sera nécessaire.

1. Calculs de base La variable « % » fait référence au résultat calculé précédem-


ment.

La plupart des systèmes de calcul formel partagent les mêmes > 100 ! ;
fonctionnalités de base, qui permettent de les utiliser comme des
« calculettes formelles ». Dans ce mode, tous les calculs simples, 93326215443944152681699238856266700490715968
8264381621468592963895 \
formels ou numériques, qu’il s’agisse de calculs de dérivées, 21759999322991560894
4146397615651828625369792082722375825118 \
d’intégrales, de tracés de courbes ou de surfaces, sont résolus de 52
210916864000000000000000000000000
façon aussi conviviale que possible.

1.1 Nombres > ifactor (%) ;

(2) (3)48 (5)24 (7)16 (11)9 (13)7 (17)5 (19)5 (23)4 (29)3 (31)3 (37)2 ( 41)2 ( 43)2
97
1.1.1 Entiers et rationnels
( 47)2 (53) (59) (61) (67) (71) (73) (79) (83) (89) (97)
La caractéristique première du calcul formel est de manipuler
des nombres entiers et rationnels exacts, à la différence des
langages de programmation habituels (C ou Fortran) où ces Les calculs de nombres de combinaisons et d’arrangements sont
nombres sont approchés ou tronqués lorsque leur taille dépasse aussi faciles à réaliser en utilisant des nombres rationnels. Par
celle d’un ou de deux mots machine. exemple, la probabilité de gagner le gros lot au loto est l’inverse
du nombre de tirages possibles, sachant qu’un tirage consiste à
Un calcul typique de nombres entiers est le calcul de la facto- tirer 6 boules parmi 49 :
rielle. Ci-après, nous calculons 100 ! en Maple. Il s’agit de simples
multiplications où la seule difficulté est la grande taille des objets
manipulés. À l’inverse, la fonction ifactor permet la décomposition > 1/binomial (49,6) ;
d’un entier en ses facteurs premiers. L’efficacité de cette opération
requiert des algorithmes sophistiqués, et fait encore l’objet de 1
recherches actives, notamment du fait de ses applications en 13983816
cryptographie.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 460 – 2 est strictement interdite. – © Editions T.I.

TR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP

____________________________________________________________________________________________________________________ CALCUL FORM EL

1.1.2 Nombres algébriques et transcendants


> evalc (ln (z)) ;
Le calcul formel utilise des constantes mathématiques vraies,
1 1 
qui ne sont pas des représentations flottantes, comme le nombre π ( )
ln z +  − signum( z ) π I
2 2 
ou la base des logarithmes népériens e. Par exemple, utiliser
l’expression Pi en Maple signifie bien que l’on utilise le nombre
transcendant correspondant et non pas une approximation :
> Re (ln (z)) ;

> sin (Pi/4) ; ( )


ln z

2
> Im (ln (z)) ;
2
argument ( z )

La commande signum signifie le signe du nombre (+ 1 s’il est


> %^2 ; positif, – 1 s’il est négatif).
1
2 1.1.4 Nombres flottants
Les calculs se font avec un nombre de chiffres arbitraire défini
Le nombre 2 ci-avant est reconnu comme la racine positive par l’utilisateur, ce qui permet entre autres des calculs en grande
du polynôme x 2 – 2 et des simplifications symboliques sont prises précision que l’on ne peut pas faire directement avec un langage
en charge par le système. Il est également possible de manipuler du style C ou Fortran.
des racines de polynômes de degré plus élevé, même s’ils ne peu- On peut par exemple calculer la valeur numérique de :
vent pas être représentés par des racines. À nouveau, certaines
simplifications peuvent alors être réalisées symboliquement. eπ 163 − 262537412640768744
avec successivement 10 (par défaut), puis 50 chiffres utilisés dans
1.1.3 Nombres complexes les calculs intermédiaires. Pour cela, nous utilisons en Maple la
commande evalf avec le nombre de chiffres en deuxième
Le calcul formel utilise les nombres complexes et permet de argument :
réaliser des calculs sur ces derniers. Pour cela, le nombre i = − 1
est en général représenté par une variable, I en Maple, où le nom- > evalf (exp (Pi*sqrt (163))–262537412640768744, 10) ;
bre complexe a + ib s’écrit a + I ∗ b.
Des fonctions permettent de passer de la représentation ρ eiθ − 0.29 1010
d’un nombre complexe à la représentation a + ib et récipro-
quement. En Maple, on peut par exemple calculer la racine carrée
de i : > evalf (exp (Pi*sqrt (163))–262537412640768744, 50) ;
−0.74992740280181431135 10−12
> sqrt (I) ;
Comme le nombre transcendant eπ 163 est égal au nombre
2 1 entier 262537412640768744 à 10–12 près, il faut une grande
+ I 2 précision pour obtenir un résultat correct, ce qui est impossible à
2 2 faire d’ordinaire avec un langage numérique. A priori, il n’est pas
possible de connaître la précision nécessaire ; on effectue alors
et ensuite avoir sa représentation polaire : l’évaluation numérique en doublant successivement le nombre de
chiffres. Bien entendu, le temps de calcul est de plus en plus long.

> polar (%) ;


1.2 Polynômes et fractions rationnelles
 π
polar  1,  Les calculs sur les polynômes et les fractions rationnelles à une
 4
ou plusieurs variables sont les calculs de base du calcul formel.
C’est en se ramenant à ces calculs que de nombreuses autres opé-
Le résultat de ce calcul pose le problème des racines des rations sont effectuées. Par exemple, l’identité trigonométrique :
nombres complexes, i a deux racines alors que le calcul pré-
1 1 2 sin a
cédent choisit la détermination principale de la racine carrée. Plus + =
généralement, les simplifications de nombres complexes sin a + tan b sin a − tan b sin 2 a − tan 2 b
dépendent de choix et demandent un peu d’attention. Ce problème
n’est autre que le calcul rationnel :
intervient souvent en calcul formel et nous en parlerons plus
amplement dans le paragraphe 1.4.2. 1 1 2x
De plus, lorsque les calculs avec des expressions complexes font + =
x + y x − y x2 − y 2
intervenir des paramètres, il faut expliciter leur caractère réel ou
complexe. Maple propose deux commandes qui se comportent dif- On peut distinguer trois catégories d’opérations que le calcul
féremment de ce point de vue : la commande evalc fait l’hypo- formel peut effectuer sur les polynômes et les fractions
thèse que les paramètres sont réels, les commandes Re et Im ne le rationnelles : purement syntaxiques, de récriture ou nécessitant
font pas. des algorithmes plus évolués.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 460 – 3

TS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP

CALCUL FORM EL ____________________________________________________________________________________________________________________

Les opérations purement syntaxiques n’effectuent aucun calcul


sur des polynômes et parcourent simplement l’expression pour en
extraire l’information cherchée. Pour en déduire un résultat cor-
rect, il faut généralement que les polynômes soient développés 2
par rapport à la variable d’intérêt. Par exemple, en Maple, le pre-
mier des calculs de degré suivants donne un résultat faux et le
second donne le bon, alors que les polynômes sont les mêmes.


1
> degree ((x–1)^2*x–x^3+x) ;
3
0
–2 –1 0 1 2
> degree (–2*x^2+2*x) ;
2 –1

Les opérations de récriture permettent de développer les poly-


nômes par rapport à une ou plusieurs de leurs variables. Ces opé-
rations servent de prétraitement pour les opérations syntaxiques
–2
comme l’extraction du degré ou du coefficient du terme de plus
haut degré.
Par exemple, si l’on veut ordonner une fraction rationnelle en Figure 1 – Intersection de deux courbes
fonction d’une variable et que ses coefficients soient simplifiés, on
fera en Maple :
donc aux coordonnées des racines communes. Ainsi, les deux
courbes définies par les équations :
> f:=(1+x*(1+y))^2/(1–y^2) ;

(1+ x (1+ y ))2 ( x 2 + y 2 )3 − 4x 2y 2 = 0 et y 2 (1+ x ) − (1− x ) = 0


3

f :=
1− y 2 sont tracées sur la figure 1.
Le dessin montre que les courbes ont quatre points d’inter-
section. La détermination précise des coordonnées de ces points
> collect (f, x, normal) ; s’obtient en utilisant les résultants qui fournissent les équations
aux abscisses et aux ordonnées des points d’intersection.


(1+ y ) x 2


2x

1
y −1 y − 1 − 1+ y 2 > f:= (x^2+y^2)^3–4*x^2*y^2: g:=y^2*(1+x)–(1–x)^3 :
> resultant (f, g, y), resultant (f, g, x) ;
Pour ces deux premiers types d’opérations, syntaxiques et de
récriture, la limitation n’est due qu’à la taille des données que l’on
manipule. ( − 60 x 6 − 4 x 7 − 1+ 9 x + 95 x 3 − 35 x 2 − 164 x 4 + 152 x 5 )2 ,
Enfin, de nombreuses opérations sur les polynômes et les 16 y 14 + 6032 y 12 − 1624 y 10 + 4192 y 8 − 815 y 6 − 301 y 4 − 9 y 2 + 1
fractions rationnelles nécessitent des algorithmes très sophistiqués
pour traiter des polynômes de degré pouvant atteindre, dans
certains cas, plusieurs milliers. Le premier polynôme est un carré alors que le second est
Dans cette catégorie d’opérations, on trouve la division bicarré (c’est-à-dire qu’il s’agit d’un polynôme en y 2). Cela s’expli-
euclidienne, le calcul de pgcd, le calcul de résultants, la facto- que par la symétrie de la figure par rapport à l’axe des abscisses.
risation et, dans une certaine mesure, la résolution d’équations On note également que les degrés sont plus grands que le nombre
polynomiales, que nous détaillerons dans le paragraphe 4.1. de racines attendu. Aux valeurs de x ou de y racines de ces résul-
tants, ni f, ni g, ni leurs coefficients de tête ne s’annulent. Les raci-
Il est à noter que tous ces calculs se font généralement dans le nes des résultants qui ne sont pas des coordonnées des points
corps des rationnels ⺡ , ou dans des extensions algébriques de ce d’intersections de la figure 1 correspondent donc à d’autres inter-
corps, en grande partie pour des raisons théoriques. Par exemple, sections de ces deux courbes, non plus dans ⺢2 , mais dans ⺓2.
le calcul suivant de factorisation a lieu en Maple après conversion
(en interne) des nombres flottants en rationnels.. Nous traiterons les problèmes de la recherche de zéros de poly-
nômes et de la résolution de systèmes de polynômes dans le
paragraphe 4.1. Notons toutefois ici qu’un outil puissant pour ce
> factor (x^4–0.05*x^2+0.3*x^3+0.525*x–3.15) ; dernier problème est l’utilisation des bases de Gröbner ou bases
standards.
( x + 1.500000000)( x − 1.200000000)( x 2 + 1.750000001)

La factorisation peut servir à simplifier des expressions ou à


1.3 Dérivation
trouver des zéros de polynômes, mais il faut éviter si possible de Le calcul de dérivées est à la portée de tout un chacun. La
l’utiliser car elle est très coûteuse. méthode utilisée est simple à mettre en œuvre par une application
Le calcul de résultants permet, étant donné deux polynômes P et des règles connues. Ce n’est pas pour cela que ce calcul est simple
Q, de trouver un polynôme R qui s’annule si les deux polynômes pour autant. Le calcul formel permet d’effectuer le calcul de
ont une racine commune (sans qu’il y ait nécessairement récipro- dérivées très rapidement et surtout avec la certitude d’un résultat
cité). Si les deux polynômes sont bivariés, le résultant s’annule correct.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 460 – 4 est strictement interdite. – © Editions T.I.

TT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP

____________________________________________________________________________________________________________________ CALCUL FORM EL

Par exemple, en Maple : dans un système de calcul formel. S’il existe en général de telles
fonctions, il faut bien savoir quelles sont les simplifications
qu’elles réalisent. En fait, l’utilisateur dispose habituellement d’un
> diff (x^ (x^x), x) ; ensemble de fonctions qui ont pour but tout à la fois de manipuler
et de transformer une expression, et donc souvent de la simplifier.
x  xx 
x ( x )  x x ln( x ) + 1 ln( x ) +
( ) De plus, il existe des limitations théoriques (des théorèmes
 x  d’indécidabilité) à la simplification : pour des classes d’expressions


même assez élémentaires, il est prouvé qu’il n’existe pas d’algo-
rithme permettant de reconnaître si une expression représente 0 ou
non.
Le calcul de dérivées partielles n’est pas plus difficile.
On peut aussi utiliser le calcul formel pour faire des calculs de Nous allons maintenant passer en revue les différents types
dérivées formelles où les fonctions ne sont pas explicites. Dans d’expressions mathématiques que l’on peut rencontrer en
l’exemple suivant, nous calculons les dérivées par rapport à x, y indiquant à chaque fois ce que peut faire le calcul formel pour leur
et z de a(x, y, z ) défini par : simplification.

y ∂ g (x )
a (x , y , z ) = ∫ w ( x , t ) dt + ∫ u ( x , t ) dt
0 ∂x k (x ) 1.4.1 Polynômes et fractions rationnelles
où les fonctions u (x, y ), w (x, y ), k (x ) et g (x ) ne sont pas encore Après les entiers et les rationnels, le domaine des polynômes et
fixées. L’avantage de faire le calcul formellement est qu’ainsi une des fractions rationnelles est celui pour lequel la simplification pose
partie des calculs est effectuée une fois pour toutes. le moins de problèmes. Nous avons déjà vu un certain nombre
d’opérations réalisées sur ces objets dans le paragraphe 1.2.
En Maple, on calculerait par exemple la dérivée par rapport à x
Celles-ci permettent de transformer une expression polynomiale et
de la façon suivante :
donc souvent de la simplifier.
Dans ce domaine, on dispose de ce que l’on appelle des formes
> a:= int (diff (w(x, t), x), t=0.. y) + int (u(x, t), t=k (x).. g(x)) ; canoniques pour les polynômes et les fractions rationnelles, ce qui
signifie une représentation unique. Pour les polynômes, il s’agit de
∂ g( x ) leur forme développée, et pour les fractions rationnelles de leur
w(x , t ) d t + ∫ u( x , t ) d t
y
a := ∫ forme numérateur sur dénominateur, le pgcd ayant été supprimé.
0 ∂x k( x )
On peut donc toujours comparer de telles expressions afin de voir
> diff (a, x) ; si elles sont égales et les simplifier en annulant les différences de
termes égaux.
∂ 2 g( x )
∂ En Maple, la fonction effectuant cette transformation sur les
∫0 ∂x 2 w ( x , t ) d t + ∫k(x ) ∂x u( x , t )d t
y
fractions rationnelles s’appelle normal.
 d   d 
+
dx 
(
g( x ) u x , g( x ) − 
dx
)
k ( x ) u x , k ( x )

( ) Dans les deux exemples ci-après, elle permet de simplifier une
expression, ou le cas échéant d’en vérifier la nullité.

> e:=l+l/ (l+l/ (l+l/ (l+l/ (l+l/ (l+l/ (l+l/ (l+l/


> (l+l/ (l+l/ (l+l/ (l+l/ (z+ (l/ (y+1/x)))))))))))))) :
1.4 Simplification > normal (e) ;

Un des premiers problèmes auquel est confronté l’utilisateur 233 z y x + 233 z + 233 x + 144 y x + 144
d’un système de calcul formel lorsqu’il se met à traiter des expres- 144 z y x +1144 z + 144 x + 89 y x + 89
sions un peu complexes est celui de leur simplification. En effet,
souvent, à la suite d’un calcul, l’utilisateur obtient un résultat
compliqué qu’il veut simplifier ou ramener à une autre forme.
Lorsque l’expression à simplifier tient sur plusieurs pages, le pro-
blème devient rapidement difficile. > e:=(r^2+a^2+a) / (r^2+b^2–b) – (r^2+b^2+r^2+a^2+b+a)/
La notion de ce qui est simple est en elle-même mal définie et > (r^2+b^2+r^2+a^2–b–a) + (b–a) * (b+a)*(b^2+2*r^2–1+a^2)/
non absolue. De plus, elle dépend de ce que l’on veut faire dans la > (r^2+b^2–b) / (2*r^2+b^2+a^2–b–a) ;
suite des calculs.
Par exemple, l’expression :
e :=
r 2 + a 2 + a 2r 2 + b 2 + a 2 + b + a
− +
(b − a )(b + a )(b2 + 2r 2 − 1+ a2 )
r + b − b 2r + b + a − b − a (r 2 + b 2 − b )(2r 2 + b 2 + a 2 − b − a )
2 2 2 2 2
x 100 − 1
x −1 > normal (e) ;

semble beaucoup plus simple que la même expression 0


développée :
1+ x + x 2 + ... + x 98 + x 99
La factorisation permet parfois aussi de simplifier, mais elle peut
mais si l’on veut en calculer la primitive, la seconde forme est plus s’avérer très coûteuse lorsque les coefficients ne sont pas des
facile à utiliser, donc plus « simple ». rationnels, et même dans ce cas elle dépend de la factorisation des
On peut en conclure qu’une fonction qui aurait pour but de entiers, opération difficile en général (§ 1.1.2). Sur des petites
« simplifier » dans le sens absolu du terme n’a pas grand sens expressions cependant, elle ne pose aucun problème :

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 460 – 5

TU

TV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
inSQ

INNOVATION

Scilab, un logiciel libre


de calcul scientifique Q
par Claude GOMEZ

Scilab est un logiciel libre et open source de calcul numérique comparable au


logiciel Matlab. Développé à l’origine par des chercheurs, il est depuis
mai 2003 pris en charge par le consortium Scilab composé d’industriels et
d’universitaires.

cours des années, ils ont pratiquement tous disparu


Claude GOMEZ est directeur de recherche à pour laisser la place au logiciel d’origine Matlab distri-
l’Institut national de recherche en informatique et bué aujourd’hui par la société américaine The
en automatique (INRIA). Il est également direc- Mathworks. Ce logiciel est devenu le standard et il
teur technique du consortium Scilab. est aujourd’hui utilisé dans toutes les universités, les Sur les logiciels
écoles et les entreprises du monde qui ont besoin de libres :
claude.gomez@inria.fr
faire du calcul scientifique numérique. C’est un logi- Logiciels libres
ciel propriétaire. [H 3 218] de P. Aigrain

1. Calcul scientifique Dans les années 1980 aussi, inspiré et basé sur les
mêmes principes que le logiciel Matlab d’origine, un
1.1 Logiciels de calcul autre logiciel appelé successivement Blaise, puis
Basile avait vu le jour à l’INRIA. Ce logiciel fut
Le terme de calcul scientifique est assez général et renommé Scilab en 1990, puis mis à disposition gra-
recouvre des techniques de calcul différentes. On tuitement avec les sources sur le réseau Internet en Sur le calcul formel :
peut les classer en calcul formel et calcul numérique. 1994. Il a été développé par des chercheurs de Calcul formel [A 144] de
Le calcul formel [A 144] est le calcul mathématique l’INRIA et de l’École nationale des ponts et chaussées C. Gomez
exact et le calcul numérique est celui que l’on fait (ENPC) jusqu’en 2003. L’INRIA a alors décidé de Calcul formel avec
de façon approchée avec des nombres flottants dans Maple [H 3 028] de
créer le consortium Scilab. C’est cette alternative ou X. Jeanneau
un ordinateur. On a recours à ce dernier lorsque les ce complément au logiciel Matlab que nous présen- Systèmes de calcul for-
techniques formelles sont trop coûteuses ou incapa- tons ici. mel [H 3 308] de
bles de résoudre le problème. C’est le calcul numé- D. Pinchon
rique que réalise le logiciel Scilab.
L’expression de calcul scientifique recouvre aussi 2. Logiciel Scilab
des domaines variés. Nous ne nous intéressons pas Scilab est donc un logiciel de calcul numérique à
aux domaines de calcul spécialisés comme par exem- large spectre. Sa dernière version 3.0 (juillet 2004)
ple les statistiques, la mécanique ou les éléments est disponible pour les machines Windows 9X/NT/
finis pour lesquels existent des logiciels dédiés. Sci- Scilab
2000/XP ainsi que pour GNU/Linux et les stations de http://www.scilab.org
lab est un logiciel de calcul numérique à large travail Unix. Il est possible d’en télécharger des ver-
spectre. sions binaires. Scilab dispose aujourd’hui d’une
licence qui permet de s’en servir sans aucune
1.2 Calcul numérique contrainte tant que Scilab ou une de ses parties n’est Sur Unix et Linux :
pas inclus dans un autre logiciel commercialisé ; Système d’exploitation
C’est en général un logiciel de calcul numérique
dans ce dernier cas, l’autorisation de l’INRIA est obli- Unix [H 1 528] de
que l’ingénieur utilise lorsqu’il a besoin d’effectuer P. Soulema
gatoire. Cette autorisation est automatiquement
des calculs. En effet, à cause de la complexité des Système Linux
accordée aux membres du consortium (§ 3.1).
études à réaliser, le calcul numérique est nécessaire. [H 1 538] de
Et c’est le même outil qui lui permet de tracer des C. Cocquebert
courbes et des graphiques. Quels logiciels peut-il uti- 2.1 Un super calculateur numérique
liser aujourd’hui ? Une des raisons qui ont fait le succès d’un logiciel
Dans les années 1980, une révolution a eu lieu comme Matlab est la syntaxe d’utilisation qui per-
dans le domaine du calcul numérique avec la met de réaliser très facilement des calculs matriciels,
réalisation d’un logiciel qui permettait les calculs à la base des calculs numériques scientifiques. Le
p。イオエゥッョ@Z@。カイゥャ@RPPU

matriciels interactivement de façon très simple. Il langage de programmation est lui aussi très facile à
s’appelait Matlab et était écrit en fortran. Un certain utiliser. Scilab, bâti sur le logiciel Matlab d’origine, a
nombre d’autres logiciels ont ensuite vu le jour. Au une syntaxe de base identique à celle de Matlab,

2 - 2005 © Techniques de l’Ingénieur IN 31 - 1

TW

TX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

Introduction au parallélisme et
aux architectures parallèles

par Franck CAPPELLO
Docteur en Informatique de l’université Paris Sud
IEEE Fellow

et Daniel ETIEMBLE
Ingénieur de l’INSA de Lyon
Professeur émérite à l’université Paris Sud
Note de l’éditeur : Cet article est la version actualisée de l’article [H 1 088] intitulé
Introduction au parallélisme et aux architectures parallèles, de Franck CAPPELLO et
Jean-Paul SANSONNET, paru dans nos éditions en 1999.

1. Motivations pour le parallélisme ................................................. H 1 088v2 – 2


1.1 Besoins des applications ................................................................... — 2
1.2 Mur de la chaleur ............................................................................... — 3
2. Qu’est-ce que le parallélisme ? .................................................... — 4
2.1 Approche intuitive du parallélisme ................................................... — 4
2.2 Définition formelle ............................................................................. — 4
3. Sources du parallélisme et opérations fondamentales ........... — 5
3.1 Parallélisme de données .................................................................... — 5
3.2 Parallélisme de contrôle .................................................................... — 5
3.3 Opérations fondamentales du parallélisme ...................................... — 6
3.4 Consistance mémoire ........................................................................ — 7
4. Parallélisme dans les monoprocesseurs .................................... — 8
5. Classification des architectures parallèles ............................... — 9
5.1 Classification de Flynn ....................................................................... — 9
5.2 Classification selon le modèle mémoire ........................................... — 10
5.3 Classification suivant le grain de calcul ............................................ — 11
5.4 Architectures parallèles homogènes ou hétérogènes ....................... — 12
5.5 Organisation du système d’exploitation dans les architectures
parallèles ............................................................................................ — 14
6. Ressources des architectures parallèles .................................... — 14
7. Modèles d’exécution ...................................................................... — 15
8. Programmation des architectures parallèles ............................ — 15
8.1 Extensions parallèles des langages séquentiels ............................... — 16
8.2 Modèles de programmation .............................................................. — 19
9. Lois et métriques de performances des architectures
parallèles .......................................................................................... — 21
9.1 Performances...................................................................................... — 21
9.2 Lois de performance .......................................................................... — 21
9.3 Modèle « Roofline » ........................................................................... — 22
9.4 Métriques et benchmarks ................................................................... — 23
10. Remarques pour conclure ............................................................. — 23
11. Glossaire ........................................................................................... — 23
Pour en savoir plus.................................................................................. Doc. H 1 088v2

a notion de parallélisme, qui consiste à utiliser plusieurs processeurs ou


L opérateurs matériels pour exécuter un ou plusieurs programmes,
est ancienne. Les multiprocesseurs datent des années 1960. De cette période
jusqu’à la fin des années 1990, des architectures parallèles ont été utili-
sées pour les applications nécessitant des besoins de calcul que les
p。イオエゥッョ@Z@。ッエ@RPQW

Copyright © - Techniques de l’Ingénieur - Tous droits réservés H 1 088v2 – 1

TY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

INTRODUCTION AU PARALLÉLISME ET AUX ARCHITECTURES PARALLÈLES –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

monoprocesseurs étaient incapables de fournir. Étaient concernés les mainfra-


mes et serveurs d’une part, et les machines vectorielles puis parallèles utilisées
pour le calcul scientifique hautes performances d’autre part. Les années 1980
ont vu l’apparition de différentes sociétés proposant des machines parallèles,
sociétés qui ont assez rapidement disparu. La raison essentielle est liée aux
progressions exponentielles des performances des microprocesseurs, utilisés
dans les PC et les serveurs multiprocesseurs. L’utilisation massive du parallé-
lisme se limitait aux très grandes applications de simulation numérique avec les

Q architectures massivement parallèles. Le début des années 2000, avec les limi-
tations des monoprocesseurs et le « mur de la chaleur », a complètement
changé la situation (voir [H 1 058]). Les processeurs multicœurs sont présents
en 2016 dans les architectures matérielles pour tous les types de composants :
appareils mobiles (smartphones, tablettes), systèmes embarqués, télévisions,
PC portables et PC de bureau, et jusqu’aux machines parallèles et superordina-
teurs pour la très haute performance.
Dans cet article, nous introduisons la notion de parallélisme, présentons les
différents types de parallélisme et les différentes formes d’architectures parallè-
les. Alors que la programmation des machines parallèles a été longtemps réser-
vée à des spécialistes, tout programmeur doit maintenant maı̂triser les notions
essentielles de la programmation parallèle pour tirer parti des possibilités des
architectures. Nous présentons les extensions parallèles des langages de pro-
grammation couramment utilisés, les modèles de programmation développés
qui visent à « rapprocher » la programmation parallèle des techniques de la
programmation séquentielle tout en prenant en compte les spécificités des
architectures parallèles. Enfin, l’intérêt des architectures parallèles réside dans
les performances qu’elles permettent d’atteindre. Pour optimiser ces perfor-
mances et/ou réduire la consommation énergétique, il est nécessaire de modé-
liser d’une part le parallélisme existant dans une application et d’autre part les
architectures parallèles. Nous examinons donc les métriques utilisées pour éva-
luer ou prévoir les performances et les grandes lois qui les gouvernent.

dernier ressort, est fixé par les possibilités technologiques. Alors


1. Motivations que, dans le deuxième cas, si plusieurs traitements sont indépen-
pour le parallélisme dants, l’augmentation du nombre de ressources suffit pour exécu-
ter plus de traitements en même temps.
La puissance de traitement dépend aussi de la capacité et de
l’organisation de la mémoire d’un ordinateur. Certaines applica-
L’exploitation du parallélisme dans l’architecture des ordinateurs tions requièrent des ensembles de données dont la taille est supé-
est liée à la conjonction de trois éléments : les besoins des applica- rieure à la capacité d’adressage d’un ordinateur séquentiel. Multi-
tions, les limites des architectures séquentielles et l’existence de plier les ressources qui possèdent chacune leur mémoire permet
parallélisme dans les applications. d’accroı̂tre la taille de la mémoire totale adressable. Certaines orga-
nisations d’architectures parallèles permettent donc d’adresser plus
de mémoire que des architectures séquentielles.
1.1 Besoins des applications
La majorité des applications requérant de hautes performances
La notion de parallélisme est souvent attachée à celle de la per- appartiennent au « supercomputing » ou au « commercial compu-
formance d’exécution des applications. Ce dernier terme recouvre ting ». Le premier domaine concerne les applications du traitement
différentes notions suivant les besoins des applications. En effet, numérique (applications scientifiques ou en ingénierie) alors que le
quel que soit le domaine d’application, le parallélisme peut être deuxième concerne principalement les applications avec données
exploité pour répondre à deux besoins : la puissance de traitement massives (Big data, Cloud, data centers). Ces deux domaines
et/ou la disponibilité. recouvrent principalement quatre types d’applications : la simula-
La puissance de traitement recouvre deux grandes notions : tion numérique, l’analyse extensive de grands volumes d’informa-
le temps de traitement et le débit de traitement. Le premier terme tions, les serveurs de ressources et les applications à contraintes
est le temps nécessaire pour l’exécution d’un traitement. Le second (temps réel, service continu).
représente le nombre de traitements exécutables par unité de temps. La figure 1, extraite de [1], illustre les besoins en performance de
Ces deux notions peuvent être indépendantes. Réduire le temps traitement et en capacité mémoire pour un ensemble d’applica-
de traitement est plus difficile qu’augmenter le débit de traitement. tions de simulation numérique. Ces applications ont des besoins
Dans le premier cas, il s’agit de lutter contre le temps qui, en en puissance de calcul et en capacité mémoire.

H 1 088v2 – 2 Copyright © - Techniques de l’Ingénieur - Tous droits réservés

UP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– INTRODUCTION AU PARALLÉLISME ET AUX ARCHITECTURES PARALLÈLES

En fait, les applications se décomposent en deux catégories : 1.2 Mur de la chaleur


 les applications limitées par le débit mémoire ;
De la naissance des microprocesseurs (1974) au début des années
 les applications limitées par la puissance de calcul.
2000, il y a eu une distinction nette entre les architectures monopro-
C’est pourquoi les applications sont placées sur le graphique de cesseurs (microprocesseurs) et les architectures parallèles. Ces der-
la figure 1 en fonction de leur besoin en mémoire (en peta-octets, nières, des multiprocesseurs symétriques simples (voir 5.2.2) utili-
soit 1015 octets) et du débit mémoire nécessaire (octet/flop). sés dans les serveurs aux machines massivement parallèles,
Le modèle « roofline » présenté au chapitre 9.3 utilise une décom- étaient réservées aux applications dépassant les possibilités des


position du même type en octet/Flop et performance de calcul monoprocesseurs. La progression exponentielle des performances
(GFlop/s) pour déterminer les types d’optimisation utilisables en des monoprocesseurs, de l’ordre de 50 à 60 % par an dans cette
fonction des limites des applications (mémoire ou calcul). période, n’a pas diminué le besoin de machines parallèles car la
taille des données des très grosses applications a également pro-
Le tableau 1, publié en 2013 [2], présente les besoins estimés gressé de manière exponentielle : augmentation de la taille des
pour des applications dites « exascale » en 2020. modèles pour une meilleure qualité et précision des simulations.
Le besoin de hautes performances n’est pas limité aux super- À partir du début des années 2000, les limitations des mono-
ordinateurs, mais concerne l’ensemble de la gamme des ordina- processeurs et le « mur de la chaleur » ne permettent plus de conti-
teurs. L’article [H 1 058] présente les besoins en puissance de calcul nuer l’augmentation des fréquences d’horloge et ont provoqué un
pour les applications des smartphones, tablettes et PC. Pour ne tournant dans l’évolution des architectures de microprocesseurs
donner ici qu’un seul exemple, le tableau 2 présente l’évolution (voir [H 1 058] pour plus de détails). Les multiprocesseurs en une
des besoins (calcul et débit mémoire) de standards successifs de seule puce, appelés multicœurs, sont devenus la brique processeur
la téléphonie mobile. de base. Ordinateurs de bureau, portables, tablettes et

Climat,
Physique cosmique, Analyse structurelle
10 Physique des particules Dynamique des fluides

Limité par mémoire


Débit mémoire nécessaire (Octet/Flop)

0,1

0,01 Limité par calcul

0,001 Chimie quantique


Physique nucléaire

0001
0,001 0,01 0,1 1 10 100 1 000
Capacité mémoire nécessaire (Po)

Figure 1 – Besoins des applications hautes performances

Tableau 1 – Besoins des applications « Exascale » en 2020 [2]


Débit mémoire Nb EFlops Temps calcul estimé Besoins mémoire
Applications
(Octet/Flop) (1018 Flops) (heures) (To)

Tremblements de terre 8 520 24 14

Tsunami 2,14 1 000 8 2 900

Climat/Météo 4 720 6 175

Dynamique des fluides 5,47 1 0,5 14

Simulation de désastre climatique 2 à 8 25 000 3 000 98

Turbine numérique 2,33 140 20 165

Copyright © - Techniques de l’Ingénieur - Tous droits réservés H 1 088v2 – 3

UQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

INTRODUCTION AU PARALLÉLISME ET AUX ARCHITECTURES PARALLÈLES –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Tableau 2 – Besoins des standards de téléphonie mobile


2G 2.5G 3G 3.5G 4G
Standard
GSM GPRS UMTS HSPA LTE

Débit 0,01 Mb/s 0,1 Mb/s 1 Mb/s 10 Mb/s 100 Mb/s

Calcul 5 MOPS 50 MOPS 500 MOPS 5 GOPS 50 GOPS

Q Puissance 100 mW 200 mW 300 mW 400 mW 500 mW

Technologie 130 nm 90 nm 65 nm 45 nm 32 nm

smartphones et les architectures parallèles utilisent des proces- Supposons que chacun utilise des variables en entrée et produise
seurs multicœurs. La programmation de leurs applications est des résultats en sortie. Nous parlerons des variables d’entrée
parallèle. En 2016, seuls les systèmes embarqués ou enfouis bas de P1 et P2 (respectivement E1 et E2) et des variables de sortie de
de gamme et l’Internet des objets (IoT) utilisent des monoproces- P1 et P2 (respectivement S1 et S2).
seurs ou des microcontrôleurs.
Selon Bernstein, les programmes P1 et P2 sont exécutables en
Avant d’aller plus loin, il faut préciser ce qu’est le parallélisme. parallèle (notation : P1 ∥ P2) si et seulement si les conditions sui-
vantes sont respectées :

{E1 ∩ S2 = ∅, E2 ∩ S1 = ∅, S2 ∩ S1 = ∅} ⋅
2. Qu’est-ce que
Plus généralement, un ensemble de programmes P1, P2… Pk
le parallélisme ? peuvent être exécutés en parallèle si et seulement si les conditions
de Bernstein sont satisfaites, c’est-à-dire si Pi ∥ Pj pour tout couple
(i, j) avec i π j.
2.1 Approche intuitive du parallélisme L’exemple intuitif et les conditions de Bernstein introduisent la
notion de dépendance entre deux ou plusieurs programmes
C’est le parallélisme présent dans une application qui permet (ou opérations). Pour que deux programmes ou deux opérations
d’exécuter simultanément, par des ressources matérielles différen- puissent être exécutés en parallèle, il faut :
tes, plusieurs parties de cette application. Les notions que nous
allons introduire sont générales : elles concernent à la fois le paral- 1) qu’ils (elles) soient indépendants (tes) ;
lélisme exploité dans les monoprocesseurs et celui exploité dans 2) que l’on puisse détecter cette indépendance ;
les architectures parallèles.
3) qu’il existe suffisamment de ressources pour les exécuter
Exemple : pour introduire la notion de parallélisme, nous allons simultanément.
examiner la boucle suivante :
En pratique, il existe trois limites au parallélisme : les dépendan-
Pour i de 1 à n ces de données, les dépendances de contrôle et les dépendances
de ressources.
faire A [i] ← B [i] + C [i]
FinPour Exemple : la figure 2 présente trois exemples très simples de ces
dépendances entre opérations sur des variables de type scalaire
Le corps de cette boucle ne comporte qu’une seule opération. (les mêmes peuvent exister entre des programmes).
Si cette boucle présente du parallélisme, il faut le chercher entre les Pour chaque type de dépendance, nous présentons un pro-
itérations. Voici les trois premières itérations : gramme, un graphe représentant les opérations du programme
(sommets du graphe) et les dépendances (arcs) qui lient ces opéra-
A [1] ← B [1] + C [1] (a)
tions. Une légende indique le type de dépendance en fonction du
A [2] ← B [2] + C [2] (b) dessin des arcs.
A [ 3] ← B [ 3] + C [ 3] (c) Le premier programme présente les trois types de dépendance de
données. Si l’on examine l’état mémoire supposé après l’exécution
La sémantique introduite par le programmeur indique les résultats du programme (la sémantique du programme), il est aisé de vérifier
attendus en mémoire après l’exécution de la boucle. Quel que soit que seul l’ordre I1, I2, I3 respecte la sémantique.
l’ordre d’exécution (a, b, c ou c, b, a, ou encore b, c, a, etc.), les Dans le deuxième programme, les opérations I1 et I4 sont a priori
résultats en mémoire sont identiques. La sémantique du programme indépendantes. Cependant, selon la valeur de A, l’opération I3 peut
ne dépend pas de l’ordre d’exécution des itérations de cette boucle. être exécutée introduisant une dépendance de données entre I3 et
En particulier, l’exécution simultanée de ces trois itérations respecte I4. Il existe une dépendance de contrôle entre I2 et I3 (l’exécution
la sémantique. Les itérations de cette boucle peuvent donc être exé- de la condition doit précéder l’exécution du corps de la condition-
cutées en parallèle. nelle). Comme il existe aussi une dépendance de données entre I1
et I2, I1 et I4 ne peuvent pas être exécutés en parallèle.
Le troisième programme présente le cas simple des dépendances
de ressources. En l’absence de ressources en nombre suffisant, cer-
2.2 Définition formelle tains calculs devront être « séquentialisés » ; c’est-à-dire exécutés
Pour étudier la présence de parallélisme dans une application, les uns après les autres alors qu’il n’existe ni dépendance de don-
nous avons besoin d’outils plus formels. nées, ni dépendance de contrôle.
Pour le second programme, si les variables sont des vecteurs et les
Bernstein [3] a introduit en 1966 un ensemble de conditions per- itérations sont réparties entre les différents processeurs, il est pos-
mettant d’établir la possibilité d’exécuter plusieurs programmes sible de paralléliser I2-I3 avec une barrière de synchronisation avant I4.
(processus) en parallèle. Supposons deux programmes : P1 et P2.

H 1 088v2 – 4 Copyright © - Techniques de l’Ingénieur - Tous droits réservés

UR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– INTRODUCTION AU PARALLÉLISME ET AUX ARCHITECTURES PARALLÈLES

Dépendance de données Graphes de dépendances Exemple de notations


I1
I1 A = B + C Dépendance de flot
I2 E = D + A I2 Antidépendance
I3 A = F + G Dépendance de sortie

I3

Dépendance de contrôle
I1
I2
A=B+C
If (A) {
I1

I2
Dépendance de flot

I3 D=E+F} I3 Dépendance de contrôle
I4 G=D+H I4

Dépendance de ressources I1 I2

I1 A = B + C Dépendance de ressources
I2 G = D + H

Figure 2 – Trois types de dépendance limitant le parallélisme

3. Sources du parallélisme potentiel et chaque processeur devra donc traiter plusieurs don-
nées. Nous verrons au § 4 que ce parallélisme de données est uti-
et opérations lisé dans les monoprocesseurs avec les instructions SIMD et les
GPU avec le modèle d’exécution SIMT. L’utilisation la plus efficace
fondamentales du parallélisme de données combine son utilisation dans les mono-
processeurs maintenant appelés cœurs (instructions SIMD) et son
utilisation entre les différents cœurs pour les architectures multi-
cœurs ou clusters de multicœurs (voir 5.2.3). Les GPU utilisent
3.1 Parallélisme de données massivement le parallélisme de données. (Voir [H 1 058] pour l’uti-
lisation des GPU comme accélérateurs).
Dans le parallélisme de données, la même opération est réalisée
simultanément par plusieurs processeurs sur des données différen-
tes. Cette définition recouvre deux notions : la présence d’un paral- 3.2 Parallélisme de contrôle
lélisme issu des données et la manière d’exploiter ce parallélisme.
Dans le parallélisme de contrôle, des opérations différentes sont
Exemple : prenons un exemple simple d’algèbre linéaire et plus réalisées simultanément. Ce parallélisme peut provenir de l’exis-
particulièrement de calcul matriciel. L’addition de deux matrices tence dans le programme de fonctions indépendantes. Il peut
consiste, pour tous les éléments de mêmes indices des deux matri- aussi provenir d’opérations indépendantes dans une suite d’opéra-
ces opérandes à les additionner et à ranger le résultat dans l’élément tions. Ce parallélisme ne dépend donc pas des données mais de la
de même indice de la matrice résultat. Voici la boucle correspondante structure du programme à exécuter. C’est l’absence de dépendan-
pour les matrices opérandes B et C et la matrice résultat A : ces entre différentes parties du programme (quelle que soit leur
taille : fonctions, boucles, opérations) qui est la source du parallé-
Pour i de 1 à n lisme de contrôle.
Pour j de 1 à n
Exemple : voici un exemple très simple de programme pour un
A [i][ j] ← B [i][ j] + C [i][ j] serveur :
FinPour
faire toujours
FinPour
détecter (demande_client )
Comme pour la boucle étudiée au paragraphe 2.1, les itérations de si (demande client = vrai)
cette boucle sont indépendantes. Il y a n2 itérations avec une opéra-
tion par itération. Le potentiel de parallélisme exploitable dans cette lancer (traitement_client )
boucle est donc de n2 opérations simultanées. finsi
finfaire
L’ampleur du potentiel de parallélisme exploitable dépend direc-
tement de la taille des structures de données manipulées. L’exploi- Voici le programme correspondant pour le traitement client :
tation de ce parallélisme est fondamentale car les structures de
données manipulées dans les applications numériques, les traite- début
ments de base de données, le traitement du signal et de l’image ⋯
sont généralement très grandes : matrices de plusieurs milliers
d’éléments de côté, base de données avec des millions d’entrées,
ouvrir (fichier_client )
des millions de pixels par image. Les données sont de loin la faire (traitement_demandé)
source de parallélisme qui offre le plus de potentiel. fermer (fichier_client )
La définition indique aussi une manière d’exploiter ce parallé- ⋯
lisme. Il s’agit d’utiliser de nombreux processeurs simultanément
et de leur faire exécuter la même opération. Généralement, le nom- fin
bre de processeurs est beaucoup plus petit que le parallélisme

Copyright © - Techniques de l’Ingénieur - Tous droits réservés H 1 088v2 – 5

US
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX

INTRODUCTION AU PARALLÉLISME ET AUX ARCHITECTURES PARALLÈLES –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Supposons que la fonction lancer ( ) termine son exécution les processeurs devant participer au calcul sur la collection.
immédiatement après avoir lancé le programme traitement_client ; De même, un calcul scalaire peut nécessiter le résultat d’un calcul
c’est-à-dire sans attendre que celui-ci se termine. Dans ce cas, le sur une collection. Il est donc nécessaire de pouvoir étendre une
programme du serveur continue à s’exécuter alors que le pro- donnée scalaire pour permettre le calcul d’une collection et aussi
gramme traitement_client est en cours d’exécution. S’il y a suffi- de pouvoir réduire une collection pour permettre un calcul scalaire.
samment de ressources, ces deux programmes seront exécutés Les changements de dimensions (scalaire Æ collection, collec-
simultanément. Si le serveur reçoit une nouvelle demande_client, tion Æ scalaire) sont réalisés par des opérations spatiales dites
il lancera l’exécution du nouveau traitement_client de la même de diffusion et de réduction. Ces opérations sont dites spatiales
manière. Il est donc possible, à un instant donné, que plusieurs car elles n’intègrent pas de composante temporelle.

Q traitement_client s’exécutent en même temps (avec des niveaux


d’avancement différents) en plus du programme serveur. Comme
ces programmes peuvent réaliser des opérations différentes, il ne
Il existe aussi des opérations spécifiques du parallélisme liées
à la coordination temporelle des traitements parallèles. La coor-
dination temporelle peut être impliquée par une dépendance de
s’agit pas de parallélisme de données mais bien de parallélisme
ressources, c’est-à-dire une situation pour laquelle il existe un
de contrôle. L’exploitation de ce parallélisme suppose que les pro-
nombre de ressources inférieur au nombre de demandes simul-
cesseurs fonctionnant simultanément soient capables de dérouler
tanées d’accès à ces ressources. Dans ce cas, le mécanisme uti-
leur propre programme (puisque les traitements peuvent être tous
lisé s’appelle un verrou. La coordination temporelle peut aussi
différents).
être nécessaire, pour respecter la sémantique d’un programme.
Il existe une autre forme d’exploitation du parallélisme de Deux cas de figure se présentent : un ordre d’accès particulier à
contrôle. Elle est appropriée à un cas particulier de parallélisme de une ressource doit être respecté par les traitements parallèles ou
contrôle pour lequel il existe une dépendance entre les parties une progression simultanée des traitements parallèles doit être
(fonctions, boucles, opérations) du programme qui peuvent être garantie. Le premier cas de figure est traité par un sémaphore ;
exécutées en parallèle. le deuxième par une barrière. Ces trois opérations (verrou, séma-
phore et barrière) forment la base des opérations dites de
Exemple : soit une application vidéo pour laquelle une scène est synchronisation.
filmée (opération F) en permanence par une caméra numérique qui
fournit un flux d’images numérisées (i0, i1…). On applique à chaque Dans le modèle « mémoire partagée », les différents processeurs
image un filtrage numérique (opération N) qui, à son tour, fournit une exécutent des threads qui communiquent via des variables globa-
image numérisée (j). Cette image est ensuite compressée (opéra- les. L’activité de ces différents threads doit être synchronisée selon
tion C qui fournit l’image k) puis elle est stockée (opération S). L’algo- deux types de synchronisation :
rithme de cette application est le suivant :  l’exclusion mutuelle où un seul thread est autorisé à accéder à
une variable globale ou à une section critique ;
x=0
 la synchronisation d’événements qui peut se faire point par
tant que la scène est filmée faire point, par groupe ou synchronisation globale (barrière de
ix = F ( ) synchronisation).
jx = N (ix ) Dans les microprocesseurs, la réalisation de l’exclusion mutuelle
kx = C ( jx ) fait appel à des primitives atomiques dont le rôle est de réaliser
plusieurs instructions de manière inséparable : par exemple, lire
S (kx ) une case mémoire dans un registre, comparer avec un autre regis-
x = x +1 tre et écrire cette même case mémoire à partir d’un troisième regis-
finfaire tre si le résultat de la comparaison est positif. Ces trois instructions
sont atomiques parce qu’aucun autre microprocesseur, processus
Les opérations F, N, C et S sont toutes liées par des dépendances ou thread ne peut réaliser d’instruction avec cette case mémoire
de données. Pourtant, ces opérations sont exécutables en parallèle. Il pendant la primitive atomique.
est impossible d’exécuter ces opérations simultanément pour la Il existe trois primitives de base pour implanter l’exclusion
même image. L’exécution simultanée de ces opérations réside dans mutuelle :
le traitement par chacune d’elles d’une image différente. Autrement
dit, lorsque F fournit l’image in + 3, N traite l’image in + 2, C traite  Test and Set : La figure 3 présente la primitive « test and set
l’image in + 1 et S stocke l’image in. Lorsque ces opérations sont (T&S) ». La variable « verrou » est un booléen de valeur 1 ou
terminées, toutes propagent leur résultat à l’opération suivante et 0. Lorsque verrou = 1, T&S renvoie 1. Lorsque verrou = 0, T&S
traitent une nouvelle image. Une chaı̂ne est constituée et fonctionne renvoie 0. Dans les deux cas, verrou = 1 en sortie de T&S ;
tant que la scène est filmée.  Compare and Swap : C&S compare de manière atomique le
contenu d’une case mémoire avec une certaine valeur et, en
Cette forme d’exploitation du parallélisme de contrôle s’appelle cas d’égalité, écrit en mémoire une autre valeur, selon le
le pipeline. Elle repose, comme nous venons de le voir, sur l’orga- code de la figure 4 ;
nisation des données à traiter sous la forme d’un flux d’informa-  Fetch and Add : F&A, de manière atomique, lit une variable,
tions et sur l’application de plusieurs traitements consécutifs sur ajoute une valeur et réécrit la nouvelle valeur dans la variable
chaque élément de ce flux. selon le code de la figure 5.
Les barrières de synchronisation permettent une synchronisation
3.3 Opérations fondamentales globale d’un certain nombre de processus. Elles permettent de
du parallélisme garantir qu’un certain nombre de processus ont atteint un certain
point dans l’exécution parallèle. Il existe différentes manières
Dans les applications, il existe des données de type scalaire et d’implanter ces barrières. À titre d’exemple, la figure 6 montre le
des structures de données appelées collections (typiquement les code avec la primitive Fetch and Add permettant de lancer l’exécu-
tableaux) regroupant plusieurs données. Lors de l’exécution, les tion de N processus et d’implanter une barrière de synchronisation
données scalaires sont typiquement calculées par un seul proces- en fin d’exécution de tous les processus.
seur et les collections sont traitées en parallèle par plusieurs Les jeux d’instructions des processeurs ont des instructions utili-
processeurs. Si une donnée scalaire est nécessaire pour le traite- sables ou spécialement définies pour implanter les primitives de
ment parallèle d’une collection, la donnée doit être diffusée à tous synchronisation et les barrières.

H 1 088v2 – 6 Copyright © - Techniques de l’Ingénieur - Tous droits réservés

UT
Méthodes numériques
(Réf. Internet 42105)

1– Notions et concepts fondamentaux R


2– Algèbre linéaire et optimisation Réf. Internet page

Méthodes numériques en algèbre linéaire AF485 57

Calcul de fonctions de matrices AF486 63

Méthodes de Krylov pour la résolution des systèmes linéaires AF488 67

Méthodes mathématiques pour le traitement des signaux et des images AF490 69

Algorithmes numériques pour la résolution des grands systèmes AF502 75

Théorie spectrale et applications. Généralités et opérateurs compacts AF567 77

Le théorème spectral AF568 83

Calcul des valeurs propres AF1224 87

Optimisation en nombres entiers AF1251 93

Optimisation diférentiable AF1252 97

Optimisation et convexité AF1253 101

Programmation linéaire. Méthode et applications AF1254 105

Problèmes inverses AF1380 111

3– Approximation

 Sur www.techniques-ingenieur.fr
• Saisissez la référence Internet pour accéder directement aux contenus en ligne
• Retrouvez la liste complète des ressources documentaires

UU

UV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

Méthodes numériques
en algèbre linéaire

par Robert CABANE


Ancien élève de l’École Normale Supérieure
Professeur de Mathématiques Spéciales

au Lycée Michel-Montaigne (Bordeaux)

1. Traitement des erreurs en algèbre linéaire....................................... AF 485 - 2


1.1 Position du problème .................................................................................. — 2
1.2 Normes vectorielles, normes matricielles ................................................. — 2
1.3 Normes et rayon spectral............................................................................ — 6
1.4 Conditionnement ......................................................................................... — 8
1.5 Étude des erreurs et de leur propagation.................................................. — 9
2. Méthodes du pivot................................................................................... — 11
2.1 Principe de l’échelonnement ...................................................................... — 11
2.2 Une variante : la méthode de Crout (dite LU) ........................................... — 14
2.3 Application à la résolution des systèmes linéaires................................... — 15
2.4 Calcul de déterminants ............................................................................... — 15
2.5 Obtention de la matrice inverse par la méthode de Gauss-Jordan ........ — 16
2.6 Recherche de relations de dépendance..................................................... — 16
2.7 Faut-il faire confiance à la méthode du pivot............................................ — 16
3. Méthodes itératives................................................................................. — 16
3.1 Principes théoriques.................................................................................... — 16
3.2 Méthode de Gauss-Jacobin ........................................................................ — 17
3.3 Méthode de Gauss-Seidel........................................................................... — 18
3.4 Généralisation.............................................................................................. — 18
3.5 Amélioration itérative des solutions .......................................................... — 18
4. Méthodes euclidiennes........................................................................... — 18
4.1 Un peu de théorie ........................................................................................ — 19
4.2 Procédés d’orthogonalisation..................................................................... — 20
4.3 Méthode de Cholesky.................................................................................. — 22
4.4 Décomposition en valeurs singulières....................................................... — 23
4.5 Pseudo-inverses........................................................................................... — 23
5. Matrices creuses ...................................................................................... — 25
5.1 Problèmes de grande taille en algèbre linéaire ........................................ — 25
5.2 Modes de représentation d’une matrice creuse ....................................... — 25
5.3 Algorithmes spécifiques pour les matrices creuses ................................. — 25
Pour en savoir plus........................................................................................... Doc. AF 485

A utant l’algèbre linéaire s’occupe de vecteurs très généraux, autant l’analyse


numérique linéaire considère essentiellement des vecteurs ayant un nom-
bre fini de composantes numériques, c’est-à-dire situés dans des espaces de
dimension finie. Le but de cet ensemble de méthodes est de dégager des procé-
dés explicites qui conduisent à des approximations aussi précises que possible
des objets « idéaux » que la théorie a dégagés.
p。イオエゥッョ@Z@ッ」エッ「イ・@QYYX

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sciences fondamentales AF 485 - 1

UW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

MÉTHODES NUMÉRIQUES EN ALGÈBRE LINÉAIRE ____________________________________________________________________________________________

On verra assez rapidement que la notion de précision est elle-même impré-


cise, car on peut accepter, ou non, une certaine marge d’erreur sur les résultats,
et mesurer cette erreur par divers procédés. Nous chercherons donc à dégager
en quel(s) sens un vecteur peut être considéré comme « petit », une solution
« acceptable ». L’étude rigoureuse des erreurs et de leur propagation au cours
des calculs est cependant difficile et amène généralement des résultats exagéré-
ment pessimistes. Des points de vue différents, fondés sur la théorie des proba-
bilités, conduisent souvent à des conclusions plus engageantes.
Cette étude, poussée à son extrême limite, nous amènera à une impasse dans
la mesure où certains concepts de l’algèbre linéaire s’exprime par des valeurs
entières (ce sont des dimensions), pour lesquelles la notion de valeur approchée

R n’a aucun sens.


La notion d’algorithme apparaîtra vite prépondérante ; en effet, c’est par une
itération que l’on parvient généralement à « calculer » les objets recherchés.
Pour prendre un exemple très simple, le produit scalaire de deux vecteurs v
et w ayant n composantes se calcule par l’algorithme suivant :
Initialiser une somme S à 0.
Faire varier un compteur i de 1 à n.
Pour chaque valeur de i, ajouter viwi à S.
Le résultat est la valeur finale de S.
Nous présenterons les algorithmes « en français », sans faire référence à un
langage informatique particulier. De fait, la plupart sinon la totalité des algo-
rithmes signalés se trouvent déjà codés dans l’une des bibliothèques de pro-
grammes existantes, en Fortran ou en C. Il n’est pas très difficile d’adapter ces
mêmes algorithmes à d’autres langages de programmation.
Enfin, ce domaine aux confins de l’Algèbre et de l’Analyse a connu un
certain renouvellement sous l’influence grandissante des logiciels qui permettent
un calcul formel, c’est-à-dire exact et non approché. Ces produits, bien au point
depuis les années 1990, permettent d’aborder plus favorablement la recher-
che des grandeurs entières dont on a parlé plus haut. Dans ces conditions, se
pose la question du calcul effectif de certains objets de l’Algèbre linéaire comme
les vecteurs propres ; ainsi, le travail « formel » sur les valeurs propres conduit
tout naturellement à calculer dans des corps de nombres algébriques.
Nous invitons le lecteur à se reporter à l’article général [AF 85] Algèbre linéaire
pour les bases et les notations les plus courantes de cette théorie ; il pourra éga-
lement consulter l’article relatif aux structures euclidiennes.
Le présent article se limite aux méthodes de résolution exacte ou approchée
des équations linéaires (vectorielles), et aux outils théoriques relatifs à ces
méthodes. Les problèmes de calcul exact ou approché des éléments propres
(valeurs propres, vecteurs propres) seront traités dans un autre article.

1. Traitement des erreurs essentiellement celui de la détermination de la précision d’une solu-


tion d’une équation linéaire.
en algèbre linéaire Le lecteur pourra consulter avec profit l’article [A 101] Analyse
fonctionnelle.

1.1 Position du problème


1.2 Normes vectorielles,
Le problème posé est essentiellement celui-ci : étant donné un normes matricielles
opérateur linéaire u, si un vecteur x est connu à une précision ε,
quelle précision peut-on espérer quant au vecteur u (x) ? La notion
de précision d’un vecteur sera détaillée par l’introduction de nor- On se propose ici de définir la notion de « grandeur » d’un vecteur
mes. On étudiera aussi le problème inverse, relatif a u -1, qui est ou d’un opérateur linéaire.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 485 - 2 © Techniques de l’Ingénieur, traité Sciences fondamentales

UX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

____________________________________________________________________________________________ MÉTHODES NUMÉRIQUES EN ALGÈBRE LINÉAIRE

1.2.1 Notations équivalentes, c’est-à-dire que si N1 et N2 sont deux normes sur E, il


existe deux constantes a et b strictement positives, telles que :

Dans cet article nous considérerons des espaces vectoriels basés aN 1 < N 2 < bN 1
sur le corps des nombres réels ou sur le corps des nombres com-
plexes. Pour simplifier, lorsque la distinction ne sera pas essentielle,
nous noterons K ce corps. Les espaces vectoriels seront notés E, Définition 2. On appelle algèbre normée toute K -algèbre
F... et les vecteurs seront notés x, y... (E, +,.,*) munie d’une norme N telle que :
Les applications linéaires seront notées u, v... N (x*y) < N (x)N (y)

Les normes sur les espaces vectoriels seront généralement notés pour tous éléments x, y de E.
N, N’, N1, N2... avec une exception notable : les normes d’applica-


tions linéaires (ou normes matricielles) seront plutôt notées · .
Si la loi * possède un élément unité e, la structure (E, +, *) étant
L’ensemble des matrices ayant n lignes et p colonnes, à coeffi- alors une algèbre unitaire, on a nécessairement :
cients dans le corps K , noté M n , p ( K ) ; lorsque ces matrices sont N (e) < N ( e )2 , c¢est-à-dire N ( e ) > 1
carrées (n = p), on note plus simplement M n ( K ) (c’est une algèbre
Si, dans ces conditions, un élément x possède un inverse x -1,
identifiable à +(K n ). En conséquence, nous identifierons un vec- alors on a :
teur x de K n avec le n-uplet de ses coordonnées
1 < N ( e ) = N ( x · x Ð1 ) < N ( x ) N ( x Ð1 ) ,
(x1 ,..., xn) ainsi qu’avec la matrice unicolonne : soit encore :
x1
N (e) 1
X= N ( x Ð1 ) > -------------- > --------------
xn N (x) N (x)
Nous reviendrons sur cette question à propos du conditionne-
La matrice-identité de ce dernier espace sera noté In. ment, au paragraphe 1.4.
Étant donnée une matrice carrée A = (aij) à coefficients réels ou Considérons à présent deux espaces vectoriels E et F munis de
normes N et N¢ ; en pratique, on a le plus souvent :
complexes, on appelle adjointe de A la matrice A* = (bij) telle que
b ij = a ij . Dans le cas où A est une matrice réelle, B s’appelle aussi F = Kn et E = Kp
la matrice transposée de A. de sorte que les applications linéaires de E dans F ne sont autres que
des matrices à n lignes et p colonnes. La plupart des énoncés qui
suivent s’expriment indifféremment dans le langage des applica-
1.2.2 Définitions tions linéaires et dans celui des matrices.

Définitions 1. Soit un espace vectoriel E. Définition 3. On note + ( E , F ) l’espace vectoriel des applica-
On appelle norme sur E toute application N de E dans R + tions linéaires continues de E dans F.
satisfaisant les trois axiomes suivants : Lorsque E = F, on note plus particulièrement :
(N1) N (0) = 0 et pour tout vecteur x Î E, N (x) = 0 +(E) = +(E,E )
entraîne x = 0 ;
(N 2) N (l · x) = l N ( x ) pour tout vecteur x Î E et tout l’algèbre des endomorphismes continus d’un espace vectoriel
scalaire l (égalité d’homogénéité) ; normé E.
(N 3) N (x + y) < N ( x ) + N ( y ) pour tous vecteurs x, y Î E
(inégalité triangulaire). On rappelle qu’une application linéaire u est continue si, et seule-
On dit qu’un vecteur x de E est unitaire si sa norme vaut 1. À ment si, elle est lipschitzienne, c’est-à-dire qu’il existe une constante
tout vecteur x non nul on peut associer un vecteur unitaire qui k réelle telle que l’on ait N ¢ ( u ( x ) ) < kN ( x ) pour tout vecteur x Î E.
x En dimension finie, cette condition est toujours réalisée, de sorte
est -------------- . que l’espace des applications linéaires de E dans F coïncide avec
N (x)
+(E,F ) .
La distance associée à la norme N est l’application qui, à un
couple de vecteurs (x, y ), associe :
d (x , y ) = N ( x - y ) 1.2.3 Normes subordonnées
Elle vérifie immédiatement les trois axiomes suivants :
(D1) d (x, y) = 0 équivaut à x = y ; Définition 4. Dans le cadre précédent, on appelle norme
(D 2) d (x, y) = d (y, x) pour tous vecteurs x, y Î E (égalité subordonnée à N et N¢ l’application de + ( E , F ) dans R qui, à
de symétrie) ; une application linéaire continue u, associe :
(D 3) d (x, y) < d ( x , z ) + d ( z , y ) pour tous vecteurs x, y, z
Î E (inégalité triangulaire). u = Sup N ¢ ( u ( x ) )
N(x) < 1

On note souvent x au lieu de N (x), s’inspirant de la valeur


absolue. On rappelle (voir l’article A 101 Analyse fonctionnelle) que, L’article A 101 Analyse fonctionnelle désigne cette norme particu-
sur un espace vectoriel de dimension finie, toutes les normes sont lière par l’appellation « triple norme », avec la notation u .

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sciences fondamentales AF 485 - 3

UY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

MÉTHODES NUMÉRIQUES EN ALGÈBRE LINÉAIRE ____________________________________________________________________________________________

Proposition 1. N¥ est définie par :


La norme subordonnée d’une application linéaire continue u
existe effectivement ; elle fournit une norme sur + ( E , F ) ; enfin, elle N ¥ ( x ) = Max x i
1<i <n
est telle que, pour tout vecteur x, on ait :

N¢(u (x)) < u N (x) Calculons à présent la norme subordonnée (matricielle) associée
à la norme N¥ sur K n . Soit u l’endomorphisme de K n associé à la
Proposition 2. matrice A = (aij ).
Toute norme subordonnée est une norme d’algèbre sur + ( E ) .
Plus généralement, si u et v sont des applications linéaires conti- D’une part, on a pour N ¥ ( x ) < 1 :
nues entre des espaces normés telles que v P u existe, alors v P u
est continue et v P u < v u , les normes utilisées étant toutes n n n

R å aij xj ½ < Max å å


trois subordonnées aux normes des espaces sous-jacents. N ¥ ( Ax ) = Max ½ a ij x j < 1 · Max a ij
i i i
j=1 j=1 j=1
Il ne faut pas croire que toute norme sur + ( E , F ) soit nécessaire-
ment subordonnée à des normes convenables sur E et F. Ainsi, n
toute norme · telle que Id < 1 ne peut être une norme d’algèbre, donc A < Max
i
å a ij
donc pas non plus une norme subordonnée. Et une norme telle que j=1
Id > 1 ne peut pas non plus être une norme subordonnée. D’autre part, choisissons i = i0 tel que :
Voici un exemple de norme d’algèbre non subordonnée, la norme
n n
de Schur. Étant donnée une matrice A = (aij), carrée de taille n à coef-
ficients réels ou complexes, on pose : Max
i
å a ij = å a i0 j
j=1 j=1

A s = å aij 2 = tr A * A
a i0 j
i,j
et considérons x j = 1 si a i0 j = 0 et x j = -------------
- sinon ; de cette
a i0 j
On vérifie aisément qu’il s’agit d’une norme sur M n ( K ) : c’est en
façon, a i0 j xj = a i0 j dans tous les cas.
2
fait la norme euclidienne (ou hermitienne) usuelle de l’espace K n .
Ainsi, on a bien N¥ (x ) = 1 et la composante de numéro i0 de Ax
Comme I n s
= n , on voit que cette norme n’est pas subordon-
s’écrit :
née. Cependant, c’est une norme d’algèbre car :
n n n
AB 2
s = å ½ å aik bkj ½
2
å ai 0 j xj = å a i0 j = Max
i
å a ij
i,j k j=1 j=1 j=1

n
< å æ å a ik 2ö æ å b kj 2ö (inégalité de Cauchy-Schwarz)
è
i,j
øè
k
ø
k
donc Ax > Max
i
å a ij , ce qui entraîne l’égalité. En fin de
j=1
compte, on a :
= å a ik 2 bœ j 2 = A 2
s B 2
s
i , j , k ,œ n

Cette norme est souvent utilisée à la place de la norme subordon-


A = Max
i
å a ij
j=1
née à la norme euclidienne, dont on parlera au paragraphe 1.3.3.
On peut donc poser la définition 5.
1.2.4 Exemples de normes
et normes subordonnées Définition 5. On appelle norme des lignes la norme définie
sur M n ( K ) par :
Sur l’espace de dimension finie K n (auquel tout espace de n
dimension finie se ramène par le choix d’une base), on va définir
aisément trois normes qui seront importantes pour la suite. Soit
A œ = Max
i
å a ij
j=1
un vecteur x = (x1 ,..., xn) Î K n .
C’est la norme subordonnée à la norme N¥ sur l’espace K n .
N1 est définie par :

N 1 ( x ) = x 1 + ... + x n
On a de même la définition 6.
N2 est définie par :
Définition 6. On appelle norme des colonnes la norme défi-
N2 ( x ) = x 1 2 + ... + x n 2 nie sur M n ( K ) par :
on dit qu’il s’agit d’une norme euclidienne (réelle ou complexe) n
n
A c = Max å a ij
parce qu’elle est associée au produit scalaire ( x ½ y ) = å xi yi , sur j
i=1
i=1

l’espace E = K n , par la formule N 2 ( x ) = (x½x) . C’est la norme subordonnée à la norme N1 sur l’espace K n .

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 485 - 4 © Techniques de l’Ingénieur, traité Sciences fondamentales

VP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

____________________________________________________________________________________________ MÉTHODES NUMÉRIQUES EN ALGÈBRE LINÉAIRE

Enfin, nous introduisons une norme très importante au plan théo- cision, de sorte qu’on calcule en réalité avec un vecteur x + Dx (nous
rique. supposons que la matrice A est connue sans erreur). La grandeur
de l’erreur est donnée par N (Dx ). L’image (fausse) obtenue est
Ax + A Dx et l’erreur sur l’image est A Dx ; la grandeur de cette erreur
Définition 7. On appelle 2-norme sur M n ( K ) la norme est :
subordonnée à la norme N2 sur l’espace K n . N (A Dx ) < A N (Dx )
Cette norme sera notée · 2 .
Dans le cas où on applique A de manière itérative (par exemple,
dans un schéma d’approximations successives ou une chaîne de
Le calcul effectif de cette 2-norme est délicat, comme on le verra Markov), on cherche à approcher Apx. Posons :
plus loin au paragraphe 1.3.3.
x0 = x + Dx’ ; x1 = Ax0 = Ax + A Dx, et ainsi de suite.


On a donc :
1.2.5 Normes compatibles
Apx0 = xp = Apx + ApDx
Les exemples précédents laissent penser qu’il n’est pas toujours il vient une majoration de l’erreur (absolue) commise sur Apx de la
facile de calculer explicitement une norme subordonnée ; d’autre forme :
part, le choix d’une norme est souvent un peu arbitraire.
N ( Ap D x ) < Ap N ( D x )
Définition 8. Soient une norme N sur K n et une norme En général, on doit donc craindre une croissance géométrique
d’algèbre · sur M n ( K ) . On dit que la seconde est compatible
des erreurs, sauf si A < 1 . Notons que A p ne croît pas néces-
avec la première si l’on a, pour tout vecteur v et matrice A, l’iné-
galité : sairement de manière géométrique, particulièrement si A n’est pas
diagonalisable ; par exemple, on a :
N ( Av ) < A N ( v )
æ1 1ö p = æ1 pö
Ce qui revient à avoir : è0 1ø è0 1ø

A N < A qui a une croissance arithmétique.


Terminons par un exemple. Soit la matrice :
· N désignant la norme subordonnée à N.
A = æ0 100 ö
è0 0 ø
Par exemple, considérons la norme de Schur · s introduite pré-
qui est singulière, de norme 100 (en lignes ou colonnes).
cédemment au (§ 1.2.3). Elle est compatible avec la norme · 2 . En
effet, étant donné un vecteur v de composantes vj , on a (grâce à Le vecteur X 0 = æ 1 ö est tel que AX0 = 0 ;
è0 ø
l’inégalité de Cauchy-Schwarz) :
1 ö 1
2 le vecteur X = æè est tel que AX = æ ö .
N 2 ( Av ) 2 = å ½ æè å aij vj öø½ < å æè å aij 2 å vj 2öø = A 2
s N2 ( v )2 0,01 ø è0 ø
i j i j j Ici, DX est de l’ordre de grandeur de 10-2 tandis que AX - AX0 =
Proposition 3. A DX est de l’ordre de grandeur de 1. Cependant, le vecteur
Toute norme d’algèbre sur Mn ( K ) est compatible avec au X ¢ = æ 1,01 ö vérifie AX ’ = AX, avec une erreur nulle.
è 0,01 ø
moins une norme vectorielle sur K n . Ainsi, l’erreur commise sur l’image dépend fortement de la direc-
Preuve. à Soit · une norme d’algèbre sur M n ( K ) . Soit un vec- tion suivie.
N (DX )
Si on considère les erreurs relatives, on peut poser -------------------- = e .
teur V de K n . Introduisons la matrice V÷ dont la première colonne On voit que l’erreur relative sur l’image s’écrit : N (X )
est V et les colonnes suivantes sont nulles. Posons :
N (A DX ) A N (DX )
----------------------------------------- < ---------------------------------------------------------
N ( V ) = V÷ N ( AX + A D X ) N ( AX ) Ð A N ( D X )
on vérifie facilement que c’est une norme sur K n . De plus, AV est Comme A est inversible et que l’on utilise une norme subordon-
une matrice ayant pour première colonne AV, suivie de colonnes née, on trouve la majoration :
nulles ; par conséquent, on a :
N ( X ) = N ( A Ð1 Y ) < A Ð1 N ( Y ) = A Ð1 N ( AX )
~ ~
N (AV ) = iAV i = iAV i < iAiiV i = iAiN (V ) donc :
ce qu’il fallait. à A N (DX ) cond ( A ) N ( D X ) cond ( A ) e
--------------------------------------------------------- < ---------------------------------------------------------------------- = -------------------------------------
N ( AX ) Ð A N ( D X ) N ( X ) Ð cond ( A ) N ( D X ) 1 Ð cond ( A ) e
1.2.6 Application à l’évaluation des erreurs où l’on a utilisé le conditionnement de A, défini comme :

cond ( A ) = A A Ð1
Considérons une matrice A Î M n ( K ) , une norme N sur C n et la
On voit que, en gros, si l’erreur relative sur X est suffisamment
norme subordonnée · sur M n ( K ) . Dans de nombreux problèmes petite, alors l’erreur relative sur l’image est au pire de l’ordre de
pratiques, on doit calculer l’image d’un vecteur x non nul par A. grandeur de l’erreur relative sur l’antécédent multipliée par le condi-
Cependant, le vecteur x n’est peut-être connu qu’à une certaine pré- tionnement de la matrice.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sciences fondamentales AF 485 - 5

VQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU

MÉTHODES NUMÉRIQUES EN ALGÈBRE LINÉAIRE ____________________________________________________________________________________________

1.3 Normes et rayon spectral Dans cette somme, le dernier terme est prépondérant sur les autres
lorsque k tend vers l’infini à cause du coefficient binomial et de la
non-nullité de N p-1. On a donc :
1.3.1 Définition et comparaison
J k = C kp Ð 1 l k ( N p Ð 1 + o ( 1 ) )
Dans ce paragraphe, nous ne nous occuperons que de matrices le terme noté o (1) désignant diverses matrices de limites nulles ; par
carrées complexes. conséquent il vient (avec une norme adéquate, obtenue par restric-
tion) :
Définition 9. Soit une matrice A Î M n ( C ) . On appelle kp Ð 1
rayon spectral de A le nombre : J k < C kp Ð 1 l k ( N p Ð 1 + o ( 1 ) ) ~ --------------------- l k N p Ð 1
( p Ð 1 )!

R r (A) = Max l d’où :


lÎSp ( A )
1 ln k
--- ln J k < ( p Ð 1 ) --------- + ln l + o ( 1 )
notant Sp(A ) le spectre de A (ensemble des valeurs propres). k k
C’est donc le plus grand module possible d’une valeur propre
de A. ce qui tend vers ln l . Faisant cela pour tous les blocs de Jordan de
A, on voit que (pour la norme choisie) k Ak tend vers ρ(A).
Proposition 4.
Pour une autre norme d’algèbre ν sur M n ( C ) , on a a priori équi-
Pour toute matrice A et toute norme d’algèbre · , on a :
valence donc l’existence d’une constante b telle que :
r (A ) < A
n<b ·
Preuve. à Choisissons une norme vectorielle N, compatible avec
On en tire :
la norme proposée (on a vu que c’est possible). Si l est la valeur
propre de A de plus grand module, associée à v, alors : k k k
r (A) < n ( Ak ) < b Ak
N ( Av ) = l N ( v ) < A N ( v )
et le majorant tend bien vers ρ(A ). à
par définition de la norme compatible ; le résultat en découle. à

1.3.2 Application aux études de convergence


Corollaire 1.
On a, pour toute norme d’algèbre · , pour toute matrice A et
tout entier k, la majoration : Corollaire 2.
La suite de matrices (Ak ) tend vers la matrice nulle si, et seule-
r ( A ) < k Ak ment si, le rayon spectral de A vérifie :
r (A ) < 1
Preuve. à C’est simplement que r ( A k ) < A k et que par
permanence des valeurs propres :
Preuve. à Nous choisissons une norme · , subordonnée à une
r ( A )k = r ( Ak ) à 1
norme N sur C n . Si ρ (A ) < 1, alors lim --- ln A k < 0 , ce qui mon-
En fait, cette inégalité devient d’autant plus favorable que k est k®¥ k
grand. tre que ln A k est équivalent à k ln ρ(A ) et tend vers - ¥. Par consé-
quent, A k tend vers 0.
Théorème 1. On a, pour toute matrice A :
Réciproquement, si A k tend vers 0, d’après le corollaire 1 du
r (A) = lim k Ak paragraphe 1.3.1, r ( A ) k < A k tend vers 0 aussi, ce qui impose
k®¥
que ρ (A ) < 1. à

Preuve. à Changeons d’abord de base pour amener A à une


forme de Jordan, et choisissons comme norme la norme des lignes Corollaire 3.
¥
associée à la nouvelle base de C n . La norme de Ak est simplement
La série géométrique matricielle å Ak (avec A0 = In ) con-
la plus grande des normes des puissances des blocs de Jordan de A.
On peut ignorer les blocs de Jordan associés à une valeur propre k=0
nulle, parce que ces blocs sont nilpotents et n’influent pas sur le cal- verge si, et seulement si, ρ (A ) < 1 ; dans ce cas, sa somme est
l’inverse de I - A.
cul de A k quand k est grand.
On considère donc un bloc de Jordan, de la forme J = lIp + N, N Preuve. à Pour que cette série converge, il est nécessaire que
étant une matrice nilpotente d’indice p (telle que N p = 0 et N p-1 ¹ 0). son terme général tende vers 0, donc que A p tende vers 0, ce qui
Il vient pour k > p : entraîne ρ (A ) < 1. Réciproquement, on peut écrire :
pÐ1 p
j
J k = lk + å Ck lk Ð j N j (I Ð A) å Ak = I Ð Ap + 1
j=1 k=0

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 485 - 6 © Techniques de l’Ingénieur, traité Sciences fondamentales

VR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXV

Calcul de fonctions de matrices


par Gérard MEURANT
Ancien directeur de recherche au CEA

1. Définitions et propriétés de f (A) ................................................. AF 486 – 2


1.1 Exemples de fonctions de matrices ................................................... — 2


1.2 Définitions de f (A) .............................................................................. — 2
1.2.1 Forme canonique de Jordan ................................................... — 3
1.2.2 Interpolation polynômiale ....................................................... — 3
1.2.3 Intégrale de Cauchy ................................................................. — 3
1.3 Propriétés de f (A) ............................................................................... — 3
2. Méthodes de calcul de f (A)........................................................... — 4
2.1 Méthodes d’approximation ................................................................ — 4
2.2 Méthodes de factorisation ................................................................. — 4
2.3 Exponentielle ...................................................................................... — 5
2.4 Logarithme ......................................................................................... — 5
2.5 Racine carrée ...................................................................................... — 6
2.6 Fonction signe .................................................................................... — 6
2.7 Prétraitements .................................................................................... — 6
2.8 Logiciels.............................................................................................. — 7
2.9 Exemples numériques ........................................................................ — 7
3. Méthodes pour f (A)v ...................................................................... — 8
3.1 Méthodes directes .............................................................................. — 8
3.2 Méthodes de Krylov ........................................................................... — 8
3.3 Logiciels.............................................................................................. — 8
3.4 Exemples numériques ........................................................................ — 8
4. Méthodes pour uTf (A)v .................................................................. — 9
4.1 Logiciels.............................................................................................. — 10
4.2 Exemples numériques ........................................................................ — 10
5. Conclusion........................................................................................ — 10
Pour en savoir plus.................................................................................. Doc. AF 486

C et article est consacré au calcul de fonctions de matrices. Avant de définir


ce qu’elles sont, expliquons brièvement ce qu’elles ne sont pas. Suppo-
sons que l’on ait une fonction f suffisamment régulière et une matrice carrée
A d’ordre n à coefficients ai,j, réels ou complexes. La matrice f (A) d’ordre n
n’est pas la matrice dont les éléments sont f (ai,j), auquel cas le calcul serait
trivial. Les définitions de f (A) rappelées ci-dessous visent à reproduire, pour
une matrice, la plupart des propriétés des fonctions scalaires. Dans une pre-
mière partie, on présentera les définitions et les principales méthodes de calcul
de tous les éléments de f (A). Cette partie est inspirée du livre [13] qui contient
l’état de l’art concernant le calcul de f (A), encore que certaines des méthodes
décrites aient été légèrement améliorées depuis la parution de ce livre. On
pourra également consulter [9] avec profit.
Les algorithmes pour f (A) visent à calculer les n2 éléments de la matrice. On
utilise souvent des méthodes basées sur des factorisations de la matrice A à
l’aide de transformations orthogonales et/ou des approximations de la fonc-
tion f permettant un calcul plus facile, par exemple des polynômes ou des
fractions rationnelles. Les algorithmes correspondants ont donc un coût pro-
portionnel à n3. Il n’est donc pas faisable, même avec les ordinateurs puis-
sants dont on dispose aujourd’hui, de calculer f (A) pour des matrices de très
grande taille. Il se trouve que de nombreuses applications n’ont besoin que de
p。イオエゥッョ@Z@ッ」エッ「イ・@RPQT

calculer f (A)v où v est un vecteur donné. Ceci peut être fait, sans calculer

Copyright © - Techniques de l’Ingénieur - Tous droits réservés AF 486 – 1

VS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXV

CALCUL DE FONCTIONS DE MATRICES –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

explicitement tous les éléments de f (A), à l’aide de méthodes itératives de


Krylov qui peuvent s’appliquer à de très grandes matrices creuses et que nous
décrirons dans une deuxième partie.
Enfin, il existe d’autres applications pour lesquelles on n’a besoin que de cal-
culer des scalaires uT f (A)v, u et v étant des vecteurs donnés. Les méthodes
pour calculer efficacement des bornes ou des approximations de ces quantités
seront présentées dans une troisième et dernière partie.

R compter approximativement le nombre de chemins dans le graphe


1. Définitions et propriétés qui commencent et finissent au nœud considéré. La centralité d’un
nœud i est définie par [eA]i,i où A est la matrice d’adjacence du
de f (A) graphe, c’est-à-dire telle que ai,j = 1 si i et j sont reliés par une
arête et 0 sinon. La communicabilité entre deux nœuds i et j est
1.1 Exemples de fonctions de matrices [eA]i,j (voir [8]). On peut également utiliser d’autres fonctions que
l’exponentielle, par exemple (A - aI)-1. Dans les exemples prati-
Il existe de nombreuses applications dans lesquelles intervien- ques, A est une très grande matrice creuse et l’on ne peut donc
nent des fonctions de matrices. On manipule souvent des fonctions pas calculer tous les éléments de son exponentielle, mais l’on a
de matrices sans le savoir. Par exemple, lorsqu’il existe, l’inverse
A-1de A correspond à la fonction telle que f (x) = 1/x. Résoudre le ⎡⎣eA ⎤⎦ = eTi eA e j où ei est la i-ème colonne de la matrice identité
i,j
système linéaire Ax = b est donc appliquer implicitement et, donc, le problème se ramène au calcul d’une approximation
f (A) = A-1 au vecteur b. d’une forme bilinéaire ou quadratique.
Un autre exemple simple est la résolution de systèmes d’équa- Les fonctions qui se rencontrent le plus souvent dans les applica-
tions différentielles linéaires qui fait intervenir la fonction exponen-
tions sont l’exponentielle, le logarithme, la racine carrée, les raci-
tielle. On veut calculer y, solution de l’équation
nes p-ièmes et les fonctions trigonométriques. Une fonction utile
dy dans certains problèmes de physique (en particulier la chromody-
= Ay , y (0) = c , namique quantique) est la fonction signe.
dt
où A est une matrice et c un vecteur qui sont donnés. La solution 1.2 Définitions de f (A)
est évidemment y (t) = etAc. Ici, on n’a besoin que de l’application
de la fonction etA à un vecteur c, mais, dans certaines applications, Dans la suite de cet article on suppose que A est une matrice car-
il faut résoudre des équations différentielles dont l’inconnue est rée d’ordre n à coefficients réels ou complexes, c’est-à-dire
une matrice, A ∈ ℂn ×n . La fonction f est généralement supposée suffisamment
continûment différentiable. Il est facile de définir f (A) si f est un
dA
= BA, y (0) = I,
p ( x ) = ∑ j = 0 α j x j . On a alors de façon naturelle
q
dt polynôme

où B est une matrice connue et I la matrice identité. Les fonctions


f (A ) = p (A ) = ∑ j = 0 α j A j .
q
de matrices interviennent aussi dans la résolution de certaines
équations matricielles. Par exemple, si avec A et B données, l’on Certaines fonctions de matrice peuvent être définies facilement à
veut calculer X solution de XAX = B, la solution est X = B (AB)-1/2. l’aide de leur série. Par exemple, la série correspondant à l’expo-
Il faut donc calculer l’inverse de la racine carrée de AB (lorsqu’elle
nentielle ayant un rayon de convergence infinie, on peut définir
existe). De nombreuses autres applications sont décrites dans [13].
l’exponentielle d’une matrice quelconque A par :
Les formes bilinéaires uT f (A)v (ou quadratiques lorsque u = v)
sont elles aussi présentes dans de nombreuses applications. Par 1 2 1 3
exemple, considérons la résolution d’un système linéaire Ax = b et eA = I + A + A + A +⋯
2! 3!
supposons que l’on ait une solution approchée x̂ . Le résidu est
r = b − Axˆ et l’erreur e = x − x̂ . Il est facile de voir que Ae = r. Si où I est la matrice identité d’ordre n. Mais ce type de définition
l’on veut calculer une valeur approchée de la norme de l’erreur, nécessite parfois de restreindre l’ensemble de définition de A pour
sachant que celle-ci n’est évidemment pas connue, on a : que la série soit convergente. Par exemple,
2
e = eT e = r T A −2r. 1 1 1
log ( I + A ) = A − A 2 + A 3 − A 4 + ⋯, ρ (A ) < 1
2 3 4
On peut obtenir des approximations de cette quantité sans avoir à
calculer le carré de l’inverse de A. Une autre application, plus où r (A) est le rayon spectral de A, c’est-à-dire le maximum des
actuelle, a trait à la modélisation et l’étude des propriétés des modules des valeurs propres. Pour utiliser une série pour définir
réseaux. et calculer f (A), il faut que le rayon de convergence de la série soit
Un réseau, par exemple les réseaux sociaux, Internet ou d’autres, supérieur au rayon spectral de la matrice.
peut se modéliser par un graphe comprenant des nœuds et des Des définitions plus générales sont listées ci-après. Pour un his-
arêtes qui les relient. On veut souvent savoir quelle est l’impor- torique des définitions d’une fonction de matrice, voir [13] ou [16].
tance d’un nœud et quels sont les nœuds les plus importants. On pourra consulter également [14] et [15]. Pour la suite il est utile
Cela ne se mesure pas uniquement au nombre de voisins. On veut d’introduire la forme canonique de Jordan de la matrice A. Il existe

AF 486 – 2 Copyright © - Techniques de l’Ingénieur - Tous droits réservés

VT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXV

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– CALCUL DE FONCTIONS DE MATRICES

une matrice non singulière Z telle que Z -1AZ = J = diag (J1,…, Jp) sont des racines carrées non primaires. En fait, il existe une infinité
où J est une matrice diagonale par blocs et le k-ième bloc diagonal de racines carrées ; les matrices de rotations
a la forme suivante :
⎛ cos (θ) sin (θ) ⎞
⎛ λk 1 ⎞ ⎜⎝ sin (θ) − cos (θ)⎟⎠
λk
Jk = ⎜⎜ ⎟ ∈ ℂmk ×mk ,

⋱ 1⎟
⎜⎝ λk ⎟⎠ pour q 2 [0, 2p] sont toutes des racines carrées de la matrice iden-
tité d’ordre 2.
où l1,…, ls sont les valeurs propres distinctes de A (avec s ≤ p ) et
1.2.2 Interpolation polynômiale
m1 + ⋯ + mp = n . On note ni la dimension du plus grand bloc de
Si f est définie sur le spectre de A, on peut définir f (A) à l’aide du
Jordan où apparaı̂t li. On dit que f est définie sur le spectre s (A) polynôme d’interpolation de Hermite, c’est-à-dire un polynôme
de A si les dérivées
interpolant la fonction et ses dérivées. On a f (A) = p (A) où p est
f ( j ) (λi ) , j = 0,..., ni − 1, i = 1,..., s un polynôme de degré inférieur ou égal à
degré du polynôme minimal de A) satisfaisant les conditions :
∑i =1 ni
s
(qui est le

existent. Notons que cette définition ne dit rien des valeurs ou des
propriétés de f ou de ses dérivées en dehors du spectre de A. p ( j ) ( λi ) = f ( j ) ( λi ) , j = 0,..., ni − 1, i = 1,..., s

1.2.1 Forme canonique de Jordan On a vu précédemment qu’il est facile de définir p (A). Cependant,
Si f est définie sur le spectre de A au sens vu précédemment, la de même que pour la définition à partir de la forme de Jordan, l’in-
fonction de matrice f (A) est égale à Zf (J)Z -1 où f (J) est une matrice terpolation d’Hermite ne fournit pas toujours un algorithme fiable
bloc diagonale avec des blocs f (Jk), faisant intervenir les dérivées pour calculer une fonction de matrice. Notons qu’il faut connaı̂tre
de f, qui sont définis par : le spectre de A, calculer les coefficients du polynôme de façon
stable et ensuite évaluer correctement le polynôme, ce qui n’est
⎛ 1 ⎞ pas toujours facile en arithmétique flottante.
f (mk −1)f (λk )
⎜ ( k)
f λ f ′ (λk ) ⋯

(mk − 1)! ⎟
⎟ 1.2.3 Intégrale de Cauchy
f (Jk ) = ⎜ f (λk ) ⋱ ⋮ ⎟.
⎜ ⋱ f ′ (λk ) ⎟ La définition la plus concise et élégante d’une fonction de
⎜⎝ f (λk ) ⎟⎠ matrice utilise une intégrale de Cauchy. Si f est une fonction analy-
tique sur un ouvert W et Γ ⊂ Ω est une courbe fermée qui entoure le
spectre de A dans le plan complexe, on peut définir f (A) par :
Dans la forme canonique de Jordan la matrice Z n’est pas néces-
sairement unique, mais on peut montrer que la définition précé- 1 −1
f (A ) = ∫Γ f (z ) (z I − A ) dz
dente est indépendante du choix qui est fait. Cette définition peut 2πi
être justifiée en considérant le développement de Taylor de f.
La définition de f (A) à partir de la forme de Jordan présente sur- avec i 2 = - 1. Rappelons qu’une fonction est analytique si elle est
tout un intérêt théorique en permettant de démontrer certaines pro- développable en série entière au voisinage de chaque point de
priétés de f (A) car il est bien connu que cette forme est très sen- son ensemble ouvert de définition. Cette définition a été utilisée
sible aux perturbations de A. De petites variations de la matrice dans [12] pour calculer certaines fonctions de matrice à l’aide de
peuvent changer la taille des blocs. Pour ces raisons, il est quasi- transformations conformes et de formules de quadrature.
ment impossible de calculer la forme de Jordan d’une matrice en Les définitions de f (A) par la forme canonique de Jordan et par
arithmétique flottante à précision finie. l’interpolation d’Hermite sont équivalentes. Si f est analytique, la
Il y a néanmoins un cas pour lequel cette définition est utile. Si la définition par l’intégrale de Cauchy est équivalente aux deux
matrice A est diagonalisable, tous les blocs de Jordan sont d’or- autres.
dre 1 et l’on a A = ZDZ -1 où D est la matrice diagonale des valeurs
propres de A. On a alors f (A) = Zf (D) Z -1 et f (D) est une matrice 1.3 Propriétés de f (A)
diagonale dont les éléments diagonaux sont les valeurs f (li), qui
sont donc les valeurs propres de f (A). Le cas le plus intéressant Les définitions précédentes de f (A) ont été introduites afin
numériquement, pour des raisons de stabilité, est d’avoir A nor- qu’une fonction de matrice possède la plupart des propriétés
male, c’est-à-dire telle que A*A = AA* où A* est la conjuguée trans- d’une fonction définie sur les nombres réels ou complexes. Il y a
posée de A. Dans ce cas A = ZDZ* où Z est une matrice unitaire cependant certaines propriétés qui pourraient sembler naturelles
( )
Z *Z = I, Z = 1 et l’on a f (A) = Zf (D)Z*. C’est, par exemple, le cas et qui ne sont pas vraies pour toute matrice. Il convient donc
d’être prudent.
si A est hermitienne (A = A*) ou réelle et symétrique (A = AT).
Il convient d’être prudent avec ce qu’on peut appeler des fonc- Les propriétés qui sont toujours vraies pour des fonctions défi-
tions multivaluées. Par exemple la racine carrée et le logarithme. nies sur le spectre de A sont les suivantes :
– (f + g) (A) = f (A) + g (A) ;
Si l’on a x 2 = a, on a évidemment x = ± a . Dans toutes les défini-
– (f · g) (A) = f (A) g (A) ;
tions de f (A) il faut donc utiliser la même branche de la fonction. – si f est constante, f ( x ) = α ∈ ℂ , alors f (A) = aI ;
Par exemple dans le cas de la racine carrée, on utilisera le signe + – f (A) commute avec A ;
pour tous les blocs de Jordan contenant la même valeur propre.
– si B commute avec A, B commute avec f (A) ;
Dans ce cas, on parle de fonctions primaires. Si l’on voulait calculer
– f (AT) = f (A)T ;
les racines carrées de la matrice identité d’ordre 2, c’est-à-dire X
– les valeurs propres de f (A) sont f (li) ;
telle que X 2 = I, avec la définition précédente on trouverait
– si X est non singulière, f (XAX -1) = Xf (A)X -1 ;
X = ± I. Mais, les deux matrices
– si A est diagonale par bloc avec des blocs diagonaux Ai,i, f (A)
est bloc diagonale avec des blocs diagonaux f (Ai,i) ;
⎛ − 1 0⎞ , ⎛1 0 ⎞
⎜⎝ 0 1⎟⎠ ⎜⎝ 0 − 1⎟⎠ – si A est triangulaire par bloc avec des blocs diagonaux Ai,i, f (A)
est triangulaire par bloc avec la même structure et [f (A)]i,i = f (Ai,i) ;

Copyright © - Techniques de l’Ingénieur - Tous droits réservés AF 486 – 3

VU

VV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXX

Méthodes de Krylov pour


la résolution des systèmes linéaires

par Gérard MEURANT


CEA/DIF (Bruyères le Chatel)

1. But des méthodes .................................................................................... AF 488 - 2
2. Méthodes de Krylov ................................................................................ — 2
2.1 Construction de la base............................................................................... — 2
2.2 Méthodes GMRES et FOM .......................................................................... — 3
2.3 Gradient conjugué ....................................................................................... — 4
2.4 Méthodes BiCG et BiCGstab ....................................................................... — 4
2.5 Méthode QMR.............................................................................................. — 5
3. Exemple ...................................................................................................... — 6
Références bibliographiques ......................................................................... — 7

e dossier expose l’état de l’art pour résoudre des grands systèmes linéaires
C creux avec des méthodes itératives de Krylov. Ces méthodes ne requièrent
que des multiplications de la matrice du système par un vecteur, des produits
scalaires et des additions de vecteurs. Elles sont généralement utilisées en liaison
avec un préconditionneur qui permet d’accélérer la convergence.
p。イオエゥッョ@Z@。カイゥャ@RPPW

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. − © Editions T.I. AF 488 − 1

VW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXX

MÉTHODES DE KRYLOV POUR LA RÉSOLUTION DES SYSTÈMES LINÉAIRES ________________________________________________________________________

1. But des méthodes Aleksei N. Krylov était un mathématicien et ingénieur russe qui a
vécu de 1863 à 1945. Les espaces qu’il a utilisés pour des calculs de
valeurs propres sont associés à son nom, mais les méthodes « dites
On s’intéresse à la résolution de systèmes linéaires Ax = b avec de Krylov », en particulier pour les systèmes non symétriques, ont
des matrices A non singulières creuses (c’est-à-dire comportant été découvertes beaucoup plus tard.
beaucoup de zéros) de grande dimension. On doit résoudre de tels On cherche les itérés x k dans l’espace x 0 + : k (A, r 0).
systèmes, par exemple, lorsque l’on discrétise des (systèmes d’)
équations aux dérivées partielles par des méthodes de différences Si V k est une matrice dont les colonnes sont des vecteurs v j
finies ou d’éléments finis. On obtient des systèmes linéaires dont (j = 1, ..., k ) qui constituent une base de l’espace de Krylov : k , on
la matrice comporte peu d’éléments non nuls par ligne, pour
peut écrire :
lesquels il est utile d’utiliser des techniques particulières qui per-
mettent de ne stocker que les éléments non nuls de la matrice et x k = x 0 + Vk z k (1)


des pointeurs qui permettent de retrouver facilement les indices de et le problème se réduit à construire les vecteurs v j de façon incré-
ligne et de colonne des éléments et de parcourir les lignes et/ou les mentale et à savoir comment calculer le vecteur z k comportant k
colonnes (cf. [7] [9]). composantes définissant la combinaison linéaire des vecteurs de
On considère ici des méthodes itératives modernes pour résoudre base.
des systèmes Ax = b où la matrice A (d’ordre n) et le second mem-
bre sont donnés. Les matrices considérées possèdent des éléments Il existe deux types de méthodes de Krylov.
réels mais la plupart des méthodes exposées s’étendent facilement
à des matrices ayant des éléments complexes. ■ Le premier type est composé de méthodes de résidu minimal. On
parle de méthodes de type MR (Minimum Residual ) ; elles minimi-
En partant d’un vecteur initial donné x 0, on construit une suite
de vecteurs x k, en faisant en sorte que x k converge vers la solution sent la norme L 2 du résidu r k = b – Ax k. En utilisant la définition (1)
x du système linéaire lorsque k → ∞. La plupart des méthodes en de x k, on est conduit à la condition :
usage aujourd’hui appartiennent à une classe appelée « méthodes
de Krylov ». Elles sont basées sur des principes d’orthogonalisa- (r k )T AV k = 0
tion ou de minimisation. De nombreuses méthodes ont été propo-
sées durant les vingt-cinq dernières années. La plupart ne sont que ce qui est équivalent, comme on le verra, à résoudre un problème
des variantes des méthodes de base. Dans la suite, nous allons de moindres carrés. Des exemples de ces méthodes sont MINRES
décrire les méthodes les plus utilisées. Pour être réellement effica- (MINimum RESidual ) pour les matrices symétriques indéfinies
ces, ces méthodes sont employées en liaison avec un précondition- (ayant des valeurs propres positives et négatives) et GMRES (Gene-
nement. La méthode itérative choisie est alors appliquée à un ralized Minimum RESidual ) pour les matrices quelconques.
système équivalent :
■ Pour le deuxième type de méthodes, on parle de méthodes OR
M –1Ax = M –1b (ou bien AM –1y = b avec y = Mx) (Orthogonal Residual ) dans lesquelles on demande que les résidus
soient orthogonaux à l’espace de Krylov, ce qui donne la condition :
où la matrice non singulière M est le préconditionnement
considéré. (r k )T V k = 0
La matrice M est choisie (le plus souvent de manière heuristique)
Des exemples de ces méthodes sont le gradient conjugué (CG
de telle sorte que la matrice M –1A ait de meilleures propriétés que
pour Conjugate Gradient ) pour les matrices symétriques définies
la matrice A en ce qui concerne la convergence de la méthode.
positives (ayant toutes leurs valeurs propres strictement positives)
On souhaite que M –1A soit « proche » de l’identité ou bien pos- et FOM (Full Orthogonal Method ) pour les matrices quelconques.
sède une distribution des valeurs propres favorable à la Les conditions précédentes vont permettre de déterminer le vec-
convergence. teur des coordonnées z k à chaque itération.
Une difficulté supplémentaire qui se présente aujourd’hui lorsque
l’on veut résoudre de très grands systèmes (de plusieurs dizaines
Il existe plusieurs ouvrages récents décrivant et expliquant le
ou centaines de millions d’inconnues) est que, non seulement il faut
fonctionnement des méthodes de Krylov pour la résolution
avoir une bonne vitesse de convergence mais, de plus, il faut que
des systèmes linéaires (B. Fischer [2], A. Greenbaum [5],
la méthode choisie soit utilisable efficacement sur des calculateurs
G. Meurant [7],Y. Saad [9] et H.A. Van der Vorst [12]).
parallèles comportant plusieurs centaines ou milliers de proces-
seurs. Malheureusement, les méthodes les plus efficaces ne sont,
le plus souvent, que peu naturellement parallélisables. Il faut donc Pour développer des méthodes de Krylov, la première question qui
modifier ces méthodes pour les rendre plus parallèles en essayant se pose est de savoir comment choisir la base de l’espace : k (A, v )
de ne pas détruire leurs bonnes propriétés de convergence.
pour un vecteur v donné. Idéalement, tant que k est inférieur ou égal
à l’ordre du polynôme minimal de v par rapport à A, le sous-espace
: k (A, v ) est de dimension k et les vecteurs A jv (j = 0, ..., k – 1) sont
2. Méthodes de Krylov linéairement indépendants. On pourrait donc choisir ces vecteurs
comme base de l’espace de Krylov.
Cependant, même si ce choix est mathématiquement licite, ce
2.1 Construction de la base n’est pas celui qui est fait dans la pratique. En effet, lorsque j croît,
les vecteurs A jv tendent à devenir parallèles au vecteur propre
Toutes ces méthodes démarrent d’un vecteur initial donné x 0 correspondant à la valeur propre de module maximal. Numéri-
ayant n composantes. En général, on choisit x 0 = 0 ou bien un vec- quement, ces vecteurs peuvent devenir dépendants avant que l’on
teur ayant des composantes aléatoires. Le résidu initial r 0 est atteigne le degré du polynôme minimal. On choisit donc, pour des
défini par r 0 = b – Ax 0. L’espace de Krylov d’ordre k construit sur A raisons de stabilité, de construire de façon incrémentale une base
orthogonale de l’espace de Krylov. Cela est fait par le procédé
et r 0 et noté : k (A, r 0) est défini comme l’espace engendré par les
dit d’Arnoldi qui n’est pas autre chose que la méthode de
vecteurs : Gram-Schmidt (cf. [4]) appliquée à l’espace de Krylov. Lorsque la
r 0, Ar 0, ..., A k–1r 0 matrice est symétrique, on obtient l’algorithme de Lanczos.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 488 − 2 est strictement interdite. − © Editions T.I.

VX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

Méthodes mathématiques
pour le traitement des signaux
et des images
par Bruno TORRÉSANI
Professeur de mathématiques à Aix-Marseille Université,


Laboratoire d’Analyse, Topologie et Probabilités,
Centre de Mathématique et d’Informatique

1. Modélisation et représentation déterministe des signaux..... AF 490 –3


1.1 Représentation de Fourier et filtrage de convolution ....................... — 3
1.1.1 Signaux numériques ............................................................... — 3
1.1.2 Signaux analogiques ............................................................... — 6
1.1.3 Théorème d’échantillonnage ................................................... — 8
1.1.4 Développements récents ......................................................... — 9
1.2 Représentations hilbertiennes ........................................................... — 9
1.2.1 Bases hilbertiennes ................................................................. — 10
1.2.2 Bases d’ondelettes ................................................................... — 11
1.2.3 Repères hilbertiens .................................................................. — 12
1.3 Images, signaux de dimensions supérieures .................................... — 14
2. Modèles de signaux aléatoires ..................................................... — 14
2.1 Signaux numériques stationnaires .................................................... — 15
2.2 Signaux analogiques aléatoires et échantillonnage ......................... — 16
2.3 Bases de Karhunen-Loève .................................................................. — 16
2.4 Modeles : AR, ARMA… ...................................................................... — 17
3. 1e étape du traitement des signaux : analyse de signaux
et estimation.................................................................................... — 17
4. Exemple d’application : codage et compression des signaux — 18
4.1 PCM .................................................................................................... — 18
4.2 Codage par transformation ................................................................ — 19
5. Exemple d’application : débruitage, problème inverse ........... — 20
5.1 Filtrage de Wiener .............................................................................. — 20
5.2 Seuillages ........................................................................................... — 20
5.3 Problème inverse ............................................................................... — 20
6. Nouveau point de vue : la « voie parcimonieuse » .................. — 21
6.1 Notion de parcimonie ........................................................................ — 21
6.2 Méthodes de décomposition et d’approximation parcimonieuse .... — 21
6.2.1 Approches variationnelles ....................................................... — 21
6.2.2 Approches algorithmiques ; algorithmes gloutons ................ — 22
7. Annexes............................................................................................. — 23
7.1 Espaces vectoriels de signaux ........................................................... — 23
7.2 Estimation spectrale non paramétrique ............................................ — 23
7.3 Prédiction linéaire .............................................................................. — 24
7.4 Quantification ..................................................................................... — 24
7.5 Algorithme de décomposition en ondelettes et de synthèse ........... — 25
Pour en savoir plus.................................................................................. Doc. AF 490

e traitement du signal est la discipline qui consiste à développer et étudier


L des méthodes d’analyse, d’interprétation et de transformation des signaux,
un signal pouvant être défini comme un support d’information à peu près quel-
p。イオエゥッョ@Z@ッ」エッ「イ・@RPQQ

conque (comme par exemple une suite de nombres, un courant électrique, une

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 490 – 1

VY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

MÉTHODES MATHÉMATIQUES POUR LE TRAITEMENT DES SIGNAUX ET DES IMAGES ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

séquence ADN, ou encore une image ou une séquence vidéo…). Le traitement


du signal fait appel à de nombreuses branches des mathématiques appliquées
(notamment l’analyse, la théorie de l’approximation, les probabilités et statisti-
ques, la théorie de l’information…) et maintenant même des mathématiques
pures (géométrie, théorie des nombres…). Les signaux se présentent essentiel-
lement sous deux formes : les signaux analogiques qui sont le résultat d’un
processus de mesure physique (ou autre), ou obtenus par « conversion numé-
rique ֏ analogique », et les signaux numériques stockés sur ordinateur ou un
support numérique quelconque, ou produits par une « conversion analo-
gique ֏ numérique ». Cette dernière opération, qui est l’une des plus fonda-
mentales des opérations du traitement du signal, porte également le nom
d’échantillonnage.

R Le traitement du signal recouvre un grand nombre de problématiques, qui


vont de l’analyse exploratoire des signaux à des tâches plus complexes
comme le débruitage et la restauration de signaux dégradés, le codage et la
compression des signaux, images et vidéo, l’estimation de modèles et de para-
mètres, la détection d’évènements spécifiques dans les signaux et les images…
De plus, le cadre applicatif dans lequel ces problèmes sont posés impose sou-
vent de sévères contraintes (causalité, charge de calcul, format des signaux…)
qui nécessitent une adaptation du traitement.
Ce dossier décrit un échantillon assez large de méthodes et algorithmes de
traitement des signaux et des images, en insistant sur les fondements mathé-
matiques et les algorithmes. La première partie se focalise sur le premier point
essentiel, à savoir le problème de la représentation des signaux. Dans ce
contexte, l’analyse de Fourier et plus généralement l’analyse mathématique
jouent un rôle central. On y discute également l’un des outils essentiels du trai-
tement du signal, à savoir le filtrage de convolution, ainsi que la problématique
de l’échantillonnage. Les signaux pouvant être décrits comme des objets soit
déterministes, soit aléatoires, un certain nombre de modèles probabilistes
sont également discutés en détails, et les notions abordées dans le cadre déter-
ministe sont revisitées dans le cadre des signaux aléatoires.
La deuxième partie de ce dossier est consacrée à quelques problèmes spéci-
fiques d’analyse et traitement des signaux, qui sont traités en exploitant les
outils mathématiques décrits dans la première partie. Plus spécifiquement, les
problèmes d’analyse et estimation, de codage et compression, et de débruitage
sont abordés. La dernière section est quant à elle consacrée à une courte dis-
cussion de développements très récents, basés sur un nouveau paradigme, la
notion de parcimonie. Certains aspects plus mathématiques ou techniques sont
développés dans des annexes.
Le traitement du signal étant une discipline extrêmement vaste, il était impos-
sible d’en couvrir tous les aspects dans un article de ce format. Le lecteur inté-
ressé à approfondir certains aspects peu (ou pas du tout) traités ici est invité à
se référer à quelques ouvrages de référence tels que par exemple [8] [11] [15]
ou des documents disponibles en ligne (voir la rubrique Sites Internet du Pour
en savoir plus).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 490 – 2 est strictement interdite. – © Editions T.I.

WP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– MÉTHODES MATHÉMATIQUES POUR LE TRAITEMENT DES SIGNAUX ET DES IMAGES

1. Modélisation 1.1.1 Signaux numériques


Commençons par la transformation de Fourier discrète (TFD),
et représentation que l’on définit tout d’abord dans le cas des suites de longueur
déterministe des signaux infinie.
Définition 1 : Soit x = {x [n ]} ∈ ℓ2 (⺪). Sa transformée de Fourier
discrète (TFD) est la fonction 2p-périodique ω → x̂ (ω ) définie par
On distingue généralement deux domaines du traitement du

signal : le monde analogique, qui concerne les signaux « physi-
ques », et le monde numérique, qui concerne les signaux stockés
xˆ (ω ) = ∑ x [n ]e −inω ,
n =−∞
sur ordinateur (ou d’autres supports numériques, CD, DVD…). Les
problèmes de traitement de ces deux classes de signaux sont pour tout w tel que la série soit convergente.


confrontés à des contraintes spécifiques. Pour autant, la majorité
des approches développées dans l’un des deux cadres peuvent La variable w est appelée « fréquence » (plus précisément pulsa-
l’être dans l’autre, comme nous allons le voir dans cette section, tion, la fréquence étant à strictement parler la variable n = w/2p). La
en nous limitant tout d’abord au cadre déterministe. TFD d’un signal numérique d’énergie finie x ∈ ℓ2 (⺪) est une fonc-
Le premier problème auquel est confronté le « traiteur de tion x̂ , 2p-périodique, de carré intégrable sur [- p, p], et la transfor-
signaux » est celui de leur représentation. Un signal peut être vu mation inverse est donnée par le calcul des coefficients de Fourier
abstraitement comme un support d’information, qui peut être de x̂ . Les propriétés fondamentales de la TFD sont résumées dans
représenté de différentes façons. Ces représentations sont mathé- le résultat suivant :
matiquement équivalentes, mais peuvent être plus ou moins adap-
Théorème 1 : La transformation de Fourier discrète est multiple
tées à tel ou tel traitement. Prenons, pour se fixer les idées, l’exem-
ple d’un signal décrivant une mesure en fonction du temps. d’une isométrie bijective de ℓ2 (⺪) sur L2([- p, p]), ce qui se traduit
Représenter ce signal par ses valeurs (on parle parfois de son par la formule de Parseval
décours temporel) permet d’en visualiser un certain nombre de

caractéristiques comme, par exemple, sa durée, certaines compo- 1 π
x̂ (ω ) d ω = ∑ x [n ]
2 2
santes transitoires… En revanche, la représentation fréquentielle, 2π ∫− π −∞
qui fait appel à la transformation de Fourier (sur laquelle nous
reviendrons plus loin, permet de visualiser facilement les aspects La transformation inverse est donnée par
périodiques du signal. Elle est en outre particulièrement bien adap-
tée aux transformations des signaux invariantes par translation, 1 π
x [n ] = xˆ (ω ) einωd ω = c −n ( xˆ )
que l’on nomme filtrage. Pour d’autres problématiques, on fait 2π ∫− π
appel à d’autres types de représentations, par exemple la représen-
tation du signal par les coefficients de son développement sur une
base d’un espace vectoriel sous-jacent (généralement un espace de (où on a noté cn ( xˆ ) le n-ième coefficient de Fourier de la fonction
Hilbert). On parlera alors de représentation hilbertienne (voir l’an- 2p-périodique x̂ ).
nexe section 7.1 pour plus de détails).
Remarque 1 (Fréquence d’échantillonnage) : Le choix fait pour
définir la TFD (et pour interpréter w comme variable fréquentielle)
suppose implicitement que les nombres x[n] sont des valeurs
1.1 Représentation de Fourier et filtrage ponctuelles x(n) d’une fonction (continue) x, de sorte que l’on sup-
de convolution pose implicitement un pas d’échantillonnage égal à 1. En anticipant
quelque peu sur la théorie de l’échantillonnage qui sera décrite
Les signaux sont généralement acquis dans le domaine temporel plus loin, signalons que les signaux analogiques (1D) sont généra-
(ou spatial), et donc représentés sous forme de fonctions (pour les lement échantillonnés sous la forme x[n] = x(n/h), h étant un réel
signaux analogiques) ou de suites (pour les signaux numériques). positif, appelé « fréquence d’échantillonnage », qui représente le
Les modèles mathématiques les plus courants pour les signaux nombre d’échantillons par unité de temps (h s’exprime en Hz). On
font donc intervenir des techniques liées à l’analyse mathématique verra alors que la bande de fréquence accessible n’est plus l’inter-
et, en particulier, aux diverses formes de l’analyse de Fourier, fon- valle [- p, p], mais l’intervalle [- ph, ph]. Pour obtenir une TFD qui
damentale pour définir les opérations de filtrage. Dans ce qui suit, fasse sens physiquement, il convient alors de dilater l’axe des fré-
on entendra par filtrage la forme la plus simple de cette opération, quences ou, de ce qui revient au même, définir une autre version
c’est-à-dire le filtrage défini par un produit de convolution, qui est de la transformation de Fourier discrète, intégrant la fréquence
une opération linéaire et invariante par translation. Il est utile dans d’échantillonnage, par
ce contexte de faire l’hypothèse que les signaux considérés appar- ∞
tiennent à un espace vectoriel de signaux. Pour les signaux numé- x̂ (ω ) = ∑ x [n ]e −inω / η ,
riques finis, un choix naturel est l’espace euclidien ⺢N (N étant la n =− ∞

longueur du signal) ou ⺓N dans le cas de signaux à valeurs com-


ce qui produit cette fois une fonction 2ph-périodique, donc caracté-
plexes. Pour ce qui concerne les signaux de longueur infinie risée par sa restriction à l’intervalle [- ph, ph]. La représentation ini-
(numériques ou analogiques), les espaces ℓ2 (⺪) (pour les signaux tiale du signal est retrouvée par
numériques) et L2 (⺢ ) (pour les signaux analogiques) sont des 1 πη
x [n ] = xˆ (ω )einω / ηdω ,
cadres mathématiques intéressants, car ce sont les généralisations 2πη ∫− πη
naturelles de ⺓N ou ⺢N . On parle alors de signaux d’énergie finie.
Plus de précisions peuvent être trouvées dans l’annexe section 7.1. Remarque 2 (La dimension finie) : Le cas des signaux numéri-
Les notations pouvant parfois être ambiguës, on notera de façon ques de longueur finie est assez simple. On représente un signal
générique t Æ x(t) les fonctions et x Æ x[n] les suites. de longueur N par un vecteur x = {x [0] , …, x [N − 1]} ∈ ⺓N . La

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 490 – 3

WQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

MÉTHODES MATHÉMATIQUES POUR LE TRAITEMENT DES SIGNAUX ET DES IMAGES ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

transformation de Fourier étant linéaire, l’image de ⺓N est de La fonction m = hˆ est appelée fonction de transfert du filtre Kh.
Plus généralement, partant d’une fonction de transfert m bornée,
dimension au plus N, et on peut donc se contenter de N valeurs
l’opérateur linéaire T : x Æ Tx défini par
régulièrement espacées de la transformée de Fourier. Par conven-
tion, on se limite à wk = 2kp/N où k = 0,…, N - 1, ce qui conduit à 1 π inω
(Tx ) [n ] = e m (ω ) xˆ (ω ) dω
définir la transformation de Fourier finie x̂ ∈⺓N de x ∈⺓N par 2π ∫− π
N −1
est un filtre numérique ; sa réponse impulsionnelle est la TFD
x̂ [k ] = ∑ x [n ]e −2i πkn / N , k = 0, ⋯, N − 1,
inverse de m.
n =0
L’exemple le plus simple est celui du filtre passe-bas idéal qui
Les propriétés essentielles de la TFD sont préservées, à savoir force à zéro toutes les fréquences supérieures (en valeur absolue) à
l’inversibilité une certaine fréquence de coupure w0 < p. Un tel filtre est défini par
sa fonction de transfert m(w) = 1 si w 2 [- w0, w0], et 0 sinon. Après
1 N −1 TFD inverse, on obtient la réponse impulsionnelle suivante
x [n ] = ∑ xˆ [k ]e 2i πkn / N , n = 0,…, N − 1,
R N k =0

et l’existence d’une formule de Parseval (conservation de l’énergie)


ω sin (nω0 )
h [n ] = 0
π nω0
. Il est facile de voir que la réponse impulsionnelle

de ce filtre n’appartient pas à ℓ1 (⺪). Plus grave, ce filtre n’est pas réa-
N −1 N −1 lisable, et ne peut donc pas être utilisé de façon exacte en pratique.
∑ x̂ [k ] = N ∑ x [n ] .
2 2
On est obligé de tronquer les sommes infinies intervenant dans
k =0 k =0 le calcul, ce qui conduit généralement à une approximation de piè-
tre qualité du filtre idéal (les coefficients h[n] décroissant comme O
Notons aussi que la définition de la TFF permet d’étendre celle-ci (1/n)), sauf à retenir un très grand nombre de termes, ce qui est très
à une suite x̂ de longueur infinie, périodique de période N (c’est-à- pénalisant en temps de calcul.
dire xˆ [k + N ] = xˆ [k ] pour tout k). De même, la TFF inverse conduit Un exemple de filtrage passe-bas utilisant un filtre idéal est
à considérer un signal de longueur finie N comme la restriction à décrit en figure 1 : un signal et deux versions filtrées passe-bas et
l’intervalle entier [0, N - 1] d’un signal de longueur infinie, pério- passe-haut. On voit bien l’effet du filtrage qui atténue fortement les
dique de période N. Signalons enfin l’existence d’algorithmes de composantes les plus rapidement variables dans le signal. En parti-
transformation de Fourier rapide (TFR ou FFT en anglais) qui per- culier, dans le signal filtré passe-bas (tracé du milieu), les compo-
mettent une utilisation efficace de méthodes basées sur la TFF. santes très rapidement variables (donc les très hautes fréquences)
Des implémentations numériques de la FFT se trouvent dans toutes ont été supprimées, mais des oscillations régulières subsistent. Par
les bibliothèques de calcul scientifique. contre, dans le signal filtré passe-haut (tracé du bas), ces oscilla-
On utilise souvent la notion de spectre d’un signal. Le spectre tions ont été supprimées alors que les oscillations rapides subsis-
peut être défini de différentes façons suivant le contexte. Dans le tent. Dans cet exemple, la somme des deux signaux filtrés redonne
cadre des signaux déterministes (à temps continu ou discret), on le signal original.
le définit ainsi : Les exemples les plus simples de filtres sont les filtres à réponse
Définition 2 : Le spectre (ou spectre d’énergie) d’un signal déter- impulsionnelle finie (filtres RIF), c’est-à-dire tels que la suite h soit
ministe est le module au carré de sa transformée de Fourier (ici la de support fini : h[n] π 0 seulement si n 2 n1,…, n2. La fonction de
TFD ou la TFF si le signal est de longueur finie). transfert est alors un polynôme trigonométrique

Les opérations de filtrage sont les opérations de base du traite- n2


ment du signal. Filtrer un signal consiste essentiellement à en m (ω ) = ∑ h [n ]e −inω .
modifier le contenu fréquentiel de façon multiplicative, opération n =n1
pouvant être effectuée soit dans le domaine de Fourier, soit par
produit de convolution.
Définition 3 : Un filtre numérique est un opérateur linéaire, noté
Signal

Kh, associant à un signal numérique x un autre signal Khx, appelé 1


signal filtré, de la forme 0

–1
–2
(K h x )[n ] = ∑ h [k ] x [n − k ],
k =− ∞ 50 100 150 200 250 300 350 400 450 500

pour tout n tel que la série soit convergente. La suite


Passe-bas

1
h = {h [n ] , n ∈ ⺪} est appelée réponse impulsionnelle du filtre. Le fil-
0
tre est dit causal si h[n] = 0 pour tout n < 0. Il est dit stable si le
signal filtré Khx est borné pour tout signal d’entrée x borné. Il est –1
réalisable s’il est causal et stable. 50 100 150 200 250 300 350 400 450 500

On montre qu’un tel opérateur commute avec les translations


Passe-haut

1
entières : étant donné x ∈ ℓ2 (⺪), si on note x′ une translatée de x, 0
c’est-à-dire x′[n] = x[n - n0] pour un certain n0, alors (Khx′) –1
[n] = (Khx)[n - n0]. –2
La TFD simplifie considérablement les opérations de filtrage 50 100 150 200 250 300 350 400 450 500
numérique. En effet, la TFD d’un produit de convolution étant La figure du haut représente le signal transitoire. Deux versions filtrées du
égale au produit point par point des transformées de Fourier, il signal sont représentées (filtre passe-bas idéal au milieu et filtre passe-haut
vient idéal en bas).

h x (ω ) = h (ω ) xˆ (ω ) .

K ˆ
Figure 1 – Exemple de filtrage passe-bas

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 490 – 4 est strictement interdite. – © Editions T.I.

WR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– MÉTHODES MATHÉMATIQUES POUR LE TRAITEMENT DES SIGNAUX ET DES IMAGES

L’exemple le plus simple est celui du filtre passe-bas élémentaire z ∈⺓, z = 1 . Alors la fonction m définie en (3) est bornée et l’équa-
qui consiste simplement à effectuer des « moyennes » locales sur
le signal d’entrée. Ce filtre est défini par h[0] = h[1] = 1/2, et h[k] = 0 tion récursive (2) définit bien un filtre numérique continu sur ℓ2 (⺪) :
sinon. Un calcul simple montre que la fonction de transfert de ce
∑m =0 β [m ]e −imω fˆ (ω ) dω.
filtre est la fonction w Æ e-iw/2cos(w/2), de sorte que M
1 π inω
(Tf ) [n ] =
m (ω ) = cos2 (ω /2). Multiplier la transformée de Fourier d’un signal 2π ∫− π
2 e
∑ ℓ =0 α [ ℓ]e −i ℓω
L
par une telle fonction revient à l’atténuer au voisinage de w = ± p,
tout en la préservant au voisinage de w = 0. C’est le propre d’un fil-
trage passe-bas (celui-ci étant toutefois loin d’un filtre idéal). De Le filtre T est causal si et seulement si aucune des racines du
même, le choix h[0] = - h[1] = 1/2, et h[k] = 0 sinon, conduit à polynôme D(z) n’a un module supérieur à 1.
m (ω ) = sin2 (ω /2), ce qui donne un filtre « passe-haut » qui atténue
2
La fonction de transfert m du filtre correspondant est une fonc-
tion périodique et peut être décomposée en série de Fourier.
les basses fréquences tout en préservant les hautes fréquences
Cependant, celle-ci est (sauf dans certains cas triviaux) une série


(w ª ± p).
infinie, de sorte que le filtre considéré est bel et bien un filtre RII.
La fonction de transfert d’un filtre RIF est un polynôme trigono- L’expression (1) montre donc qu’il est possible d’effectuer un fil-
métrique, et il est connu que les polynômes trigonométriques trage RII en n’utilisant qu’un nombre fini d’opérations.
approximent assez mal des fonctions de transfert « idéales » (au
Remarque 3 (Transformation en z) : L’introduction ci-avant de la
sens où des polynômes de haut degré sont nécessaires pour obte-
variable complexe z = eiw nous a naturellement conduit à utiliser
nir une qualité d’approximation suffisante). Les filtres RIF ne sont
des fonctions d’une variable complexe. En fait, la théorie des fonc-
donc en général pas suffisants, et il est nécessaire de recourir à
tions d’une variable complexe est d’usage très courant en traite-
des filtres à réponse impulsionnelle infinie (filtres RII). Cependant,
ment du signal. On introduit donc la transformée en z d’un signal
il est en pratique impossible d’implémenter des convolutions
x, la fonction de la variable complexe X définie par
discrètes par des suites de longueur infinie. Le « filtrage récursif »

fournit alors une alternative extrêmement efficace, qui permet un
filtrage RII avec un nombre fini d’opérations. L’idée de base du filtre X (z ) = ∑ x [n ] z −n .
n =− ∞
récursif est de calculer de façon itérative une nouvelle valeur du
signal filtré par filtrage RIF des valeurs passées du signal original Ainsi, la TFD x̂ de x n’est autre que la restriction de X au cercle
et du signal filtré. Cette procédure est donc causale et compatible
avec des contraintes de « temps réel ». Plus précisément, un filtre unité {z ∈⺓, z = 1} dans le plan complexe. L’intérêt de la transfor-
récursif associe à x le signal y défini par mation en z est d’être bien définie dans certaines situations où la
M L TFD ne l’est pas. X est en effet définie dans une couronne du plan
y [n ] = ∑ β [k ] x [n − k ] − ∑ α [ ℓ]y [n − ℓ] (1) complexe r1 ⭐ z ⭐ r2, appelée « couronne de convergence », à l’in-
k =0 ℓ =1 térieur de laquelle les calculs que l’on peut effectuer ont un sens
mathématique. La transformation en z hérite des propriétés de la
pour des coefficients α [ ℓ ] et b[k] (réels ou complexes) fixés. Il s’agit TFD vis-à-vis du filtrage. En effet, étant donné un filtre Kh de
donc d’une succession d’opérations causales. La question est alors réponse impulsionnelle h et en notant y = Khx = h * x, on a
de trouver sous quelles conditions de telles opérations définissent
Y (z ) = H (z ) X (z ) ,
un filtre continu sur ℓ2, ou tout du moins un filtre stable. Pour cela,
remarquons qu’en posant a[0] = 1, les signaux d’entrée x et de sor-
pour tout z appartenant à l’intersection des couronnes de conver-
tie y du filtre sont reliés par une relation du type
gence de X et H.
L M
Cette remarque prend tout son intérêt dans le cas de filtres récursifs,
∑ α [ ℓ]y [n − ℓ] = ∑ β [k ] x [n − k ] (2)
pour lesquels comme on l’a vu, la fonction H est une fonction ration-
ℓ =0 k =0
nelle. En tant que telle, elle est complètement caractérisée par les raci-
Après TFD, la fonction de transfert m du filtre correspondant nes de son numérateur (les zéros) et de son dénominateur (les pôles).
prend la forme d’une fonction rationnelle trigonométrique, c’est-à- Un filtre récursif est ainsi déterminé par son diagramme « pôle-zéro »,
dire le quotient de deux polynômes trigonométriques tel qu’on le voit en figure 2 (filtre passe-bas) et en figure 3 (filtre passe-
bande). Ces diagrammes correspondent à des filtres dits de Butter-
worth (numériques) d’ordre 10 (le numérateur et le dénominateur
∑k =0 β [k ]e −ik ω = N (ei ω ) = H ei ω
M
m (ω ) = ( ) (3) sont des polynômes de degré 10). Pour le filtre passe-bas, une racine
∑ ℓ =0 α [ ℓ]e −i ℓω D (ei )
L ω d’ordre 10 de N assure que la fonction de transfert s’annule à la fré-
quence la plus haute (arg(z) = ± p), et les pôles sont disposés sur l’axe
où N et D sont deux polynômes de degrés respectifs M et L. Les imaginaire pur (à l’intérieur du disque unité {z ∈⺓, z < 1} , ce qui
propriétés du filtre dépendent bien évidemment des propriétés de assure la causalité du filtre). La fréquence de coupure est fixée à
m et, en particulier, des racines du numérateur et du dénominateur 2 kHz (la fréquence d’échantillonnage étant ici de 8 kHz). Pour ce qui
(qui sont deux polynômes trigonométriques). Les racines du numé- est du filtre passe-bande, la bande passante choisie est la bande de fré-
rateur N sont facilement interprétables, et correspondent aux quences comprise entre 1 et 2 kHz (figure 3 gauche) ; les racines de N
valeurs de la fréquence qui sont atténuées (voire annulées dans le (en arg(z) = ± p et arg(z) = 0) assurent que la fonction de transfert du
cas d’une racine z 0 = ei ω0 de module égal à 1, de sorte que filtre s’annule à la fréquence 0 et aux plus hautes fréquences ; quant
m(w0) = 0). Les racines du dénominateur jouent un rôle différent. Il aux pôles (les racines de D), ils se regroupent essentiellement dans
leur est interdit d’avoir un module égal à 1 (faute de quoi la fonc- des cônes donnés par arg(z) 2 [p/4, p/2] et arg(z) 2 [- p/2, - p/4], ce qui
tion de transfert m n’est pas bornée) ; leur argument correspond correspond aux valeurs des fréquences conservées par le filtre.
(approximativement) à des fréquences qui sont amplifiées par le fil- Les bibliothèques de traitement du signal numérique fournissent
tre et leur module à la force de l’amplification. Le résultat suivant généralement des outils de filter design permettant de générer des
précise la situation. filtres (RIF ou RII) suivant des cahiers des charges précis (bande
α = {α [0] , …, α [L ]} ∈ ⺓L +1
passante, ordre du filtre -le degré de N et D-, famille…), et souvent
Théorème 2 : Soient et
d’en visualiser les caractéristiques (fonction de transfert, dia-
β = { β [0] , …, β [M ]} que D (z ) = ∑ ℓ = 0 α [ ℓ ] z − ℓ ≠ 0 pour tout
L
∈ ⺓M +1 tels gramme pôles/zéros…).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 490 – 5

WS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP

MÉTHODES MATHÉMATIQUES POUR LE TRAITEMENT DES SIGNAUX ET DES IMAGES ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Diagramme pôles/zéros

Amplitude (dB)

Partie imaginaire
0 1

– 50 0,5

– 100 10
0

– 150
– 0,5
– 200
–1
0 1 2 3 –1 0 1


Fréquence (kHz) Partie réelle

La fréquence de coupure du filtre w0 est égale à p/3. À gauche, le module de la fonction de


transfert w-> |m(w)| est représenté (en logarithme). À droite, la position dans le plan complexe
des 10 pôles de la fonction de transfert est donnée.

Figure 2 – Filtre de Butterworth numérique « passe-bas » d’ordre L = 10

Diagramme pôles/zéros
Amplitude (dB)

0 1
Partie imaginaire

0,5
– 50
0

– 100 – 0,5

–1
0 1 2 3 –1 0 1
Fréquence (kHz) Partie réelle

À gauche, le module de la fonction de transfert w-> |m(w)| est représenté (en logarithme).
À droite, la position dans le plan complexe des 10 pôles de la fonction de transfert est
donnée. On peut noter la localisation des pôles dans un voisinage de la région du cercle
unité correspondant à la « bande passante » du filtre.

Figure 3 – Filtre de Butterworth numérique « passe-bande » d’ordre L = 10

1.1.2 Signaux analogiques conservation de l’énergie) prennent la forme habituelle, comme le


montre le résultat fondamental suivant.
Bien que légèrement plus difficile à manipuler, la transformation
de Fourier intégrale se définit de façon similaire à la TFD, en rem- Théorème 3 (Transformation de Fourier sur L2 (⺢ )) : La transfor-
plaçant la série infinie (on se limitera ici au cas des signaux à sup- mation de Fourier est multiple d’une isométrie bijective de L2 (⺢ )
port infini ; les signaux à support borné se traitent similairement)
par une intégrale, et le domaine fréquentiel [- p, p] par l’axe réel sur L2 (⺢ ), comme l’exprime la formule de Plancherel : ∀f , g ∈L2 (⺢ ),
tout entier. ∞ ∞
1
Définition 4 : Étant donnée une fonction f, sa transformée de ∫−∞ f (t ) g (t ) dt = 2π ∫−∞ fˆ (ω ) gˆ (ω ) dω.
Fourier intégrale (TFI) est la fonction d’une variable réelle
ω → fˆ (ω ) , définie par La transformation de Fourier intégrale est inversible : si f ∈L2 (⺢ ),
on a au sens de L2 (⺢ )

fˆ (ω ) = ∫ f (t )ei ωt dt ,
−∞ 1 ∞ ˆ
f (t ) = f (ω )ei ωt dω.
2π ∫− ∞
pour tout w tel que l’intégrale soit convergente. On note ᑠ l’opéra-
teur linéaire défini par fˆ = ᑠf . La variable w porte le nom de fré- Le filtrage analogique est lui aussi défini sous la forme d’un opé-
quence, ou pulsation. rateur de convolution. Étant donné une fonction h, le filtre analo-
gique correspondant est l’opérateur linéaire associant au signal f
Un théorème classique d’analyse mathématique (le théorème de le signal filtré Khf = h * f défini par
Riemann-Lebesgue) montre que si f est de module intégrable, alors
fˆ est bornée, continue et tend vers zéro à l’infini. ∞
K hf (t ) = (h ∗ f )(t ) = ∫ h (s )f (t − s ) ds.
−∞
L’inversion de la transformation de Fourier intégrale peut s’avérer
mathématiquement subtile. Ceci étant, l’espace L2 (⺢ ) offre encore La fonction h est appelée réponse impulsionnelle du filtre, qui est
une fois un cadre dans lequel les résultats usuels (inversion, dit causal si h(t) s’annule pour t < 0. Là encore, le filtre peut être

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 490 – 6 est strictement interdite. – © Editions T.I.

WT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUPR

Algorithmes numériques pour


la résolution des grands systèmes

par Pierre SPITERI


Docteur ès sciences mathématiques
Professeur à l’École nationale supérieure d’électronique, d’électrotechnique,

d’informatique, d’hydraulique et de télécommunication de Toulouse

1. Position du problème.............................................................................. AF 502 - 2


2. Méthodes directes ................................................................................... — 2
3. Méthodes itératives de relaxation par points et par blocs .......... — 3
4. Méthodes issues de la minimisation de formes quadratiques.... — 5
5. Méthode multigrille................................................................................. — 7
6. Méthodes de décomposition de domaine ......................................... — 8
Références bibliographiques ......................................................................... — 10

n a vu dans l’article [AF 500] que la discrétisation d’équations aux dérivées


O partielles stationnaires conduisait à la résolution de systèmes linéaires de
grande dimension dont la matrice est creuse. De même, la discrétisation
d’équations aux dérivées partielles d’évolution par des schémas implicites
(article [AF 501] ) conduit également à la résolution de systèmes linéaires ayant
les mêmes caractéristiques. Compte tenu de cette spécificité, l’inversion des
matrices issues de la discrétisation d’équations aux dérivées partielles devient
de plus en plus préoccupante dans le domaine de la simulation numérique et
est, par conséquent, très délicate, compte tenu, en particulier, du mauvais
conditionnement de ces matrices. Cet aspect dépend fortement des applications
traitées et il est hors de question de donner une réponse universelle à ce
problème. C’est pourquoi, dans cet article, nous allons passer en revue diffé-
rentes méthodes de résolution de tels systèmes, pour essayer de dégager les
algorithmes les plus performants.
Dans le cas de la résolution numérique d’une équation aux dérivées partielles
non linéaire, on doit résoudre un système algébrique non linéaire ; la résolution
d’un tel système s’effectuera par une méthode itérative de type méthode de
Newton [1], ce qui nécessitera, à chaque itération, une linéarisation de l’applica-
tion considérée autour du point courant et la résolution d’un système linéaire ;
l’étude de la convergence de ce type de méthode est loin d’être triviale et les
résultats théoriques garantissant la convergence de la méthode sont établis uni-
quement dans des situations particulières. Si l’équation aux dérivées partielles
est linéaire, on aura à résoudre un système linéaire ce qui, en théorie, paraît plus
simple ; cependant il subsiste des difficultés d’ordre numérique pour déterminer
la solution approchée. Dans cet exposé, nous nous limiterons au cas linéaire.

On rappelle que l’étude concernant la méthode des différences finies pour résoudre des
équations aux dérivées partielles se décompose en trois articles :
— [AF 500] Méthode des différences finies pour les EDP stationnaires ;
p。イオエゥッョ@Z@ッ」エッ「イ・@RPPR

— [AF 501] Méthode des différences finies pour les EDP d’évolution ;
— [AF 502] Algorithmes numériques pour la résolution des grands systèmes.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sciences fondamentales AF 502 − 1

WU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUPR

MÉTHODE DES DIFFÉRENCES FINIES _______________________________________________________________________________________________________

1. Position du problème On peut tirer partie de cette situation grâce au résultat suivant :

Avant d’exposer les grandes lignes des méthodes de résolution Théorème 1. Pour une matrice A quelconque, soit :
des systèmes linéaires, considérons un exemple issu d’applica-
tions industrielles, qui va nous permettre de comprendre la diffi-  a 1,1 . . . a 1,i 
culté de résolution de tels systèmes.  
 . . . 
Exemple 1 : considérons l’analyse des flux aérodynamiques δ i = det  . . .
, 1 ⭐ i ⭐ n

autour d’un avion en mouvement ; le problème revient à déterminer en
 . . . 
chaque point du milieu et à chaque instant, la valeur de paramètres  
comme la température, la pression, etc. Le phénomène étudié peut  a i,1 . . . a i,i 
être modélisé par les équations de Navier-Stokes qui expriment la
On suppose que δi ≠ 0, 1 ⭐ i ⭐ n . Alors la matrice A se facto-


conservation de la masse, du moment et de l’énergie ; en coordonnées
cartésiennes, et dans leurs formes complètes, ces équations compren- rise en un produit L · R où R est une matrice triangulaire supé-
nent plus de soixante dérivées partielles. La résolution numérique de rieure et L est une matrice triangulaire inférieure dont les
ces équations s’avère nécessaire dans la mesure où une résolution coefficients diagonaux sont égaux à l’unité. De plus, la matrice R
analytique est problématique. La prise en compte des équations de est inversible et la factorisation est unique.
Navier-Stokes dans leur totalité conduirait à des maillages comprenant
de 1012 à 1015 points. Si l’on considère un problème simplifié décrit sur
un maillage comprenant 107 points, avec 20 valeurs attachées à cha- Remarque
que point (paramètres du problème, éléments de géométrie, résultats Le fait que la factorisation L·R soit possible correspond à une
intermédiaires, etc.), le modèle discret considéré comporte 2 × 108 méthode de Gauss dans laquelle on choisit comme pivot, à chaque
données ; suivant le type de problème, le volume de calculs peut étape k, les coefficients a k,k , pour k = 1, 2, ..., n – 1, c’est-à-dire que
atteindre voire dépasser 1013 opérations arithmétiques. Pour un ordi-
l’on n’effectue jamais de permutation de ligne dans la mesure où
nateur capable d’exécuter 107 opérations arithmétiques par seconde,
cette situation permet de montrer que ak,k ≠ 0, pour k = 1, 2, ...,
le temps de calcul est de l’ordre de 1013 /107 secondes, soit environ
278 heures ou encore près de 12 jours. n – 1. De plus on vérifie aisément que, dans ce cas, la structure
bande initiale est conservée, c’est-à-dire que si A = (ai,j) vérifie
ai,j = 0 pour |i – j | >  où  est la demi-largeur de bande, alors
Sauf cas particulier (cf. paragraphe 5, méthode multigrille),
pour simplifier les notations nous noterons dans la suite : L = (  i,j ) et R = ( r i,j ) satisfont r i,j =  i,j = 0 pour |i – j | >  , ce qui
conduit à reformuler une version bande de la méthode de Gauss.
AU = F, U ∈  dim ( A ) , F ∈ I  dim ( A ) Ainsi, on sait que la méthode d’élimination conserve la structure
le système linéaire à inverser. bande initiale, à condition toutefois de ne jamais permuter de
lignes, ce qui est assuré grâce au résultat donné par le théorème 1.
Par exemple, après discrétisation convenable, cette propriété se
trouve encore conservée pour certain type de matrice autre que les
2. Méthodes directes matrices symétriques définies positives [2].
De plus, dans ce contexte, le nombre d’opérations arithmétiques
La première méthode de résolution envisageable du système est de l’ordre de dim ( A ) ·  2 , ce qui diminue notablement la
linéaire précédent, est la méthode d’élimination de Gauss (ou ses complexité de l’algorithme. Cependant, si l’on veut calculer la
variantes comme la méthode de Crout ou la méthode de Cholesky, solution de l’EDP de manière très précise, il est nécessaire de
etc.), dont la complexité, c’est-à-dire le nombre d’opérations considérer des maillages très fins et le coût de résolution du sys-
2 3 tème linéaire peut devenir prohibitif ; il découle de cet état de fait
冢 冣
arithmétiques, est de l’ordre de ----- dim ( A ) ; si A est une matrice
3 que l’inversion de la matrice intervenant dans un système linéaire
symétrique, le nombre d’opérations arithmétiques se réduit à issu de la discrétisation d’une équation aux dérivées partielles
3 conduit à :
1
冢 冣
----- dim ( A ) ; or on a vu que, dans le cas de résolution numérique
3 — des temps de calculs particulièrement importants ;
d’équations aux dérivées partielles, dim(A ) est grand et, par — des résultats de calcul peu précis.
conséquent, le nombre d’opérations arithmétiques devient vite
important. Par ailleurs, on a vu également que, dans un grand En effet, pour ce dernier point, l’accumulation des erreurs
nombre de cas, la discrétisation des équations aux dérivées par- d’arrondi, dues à la mauvaise représentation des nombres réels en
tielles conduit à des matrices de discrétisation à structure bande du machine, peut, comme on l’a indiqué au paragraphe 4 de l’article
type suivant : [AM 500] complètement dénaturer le résultat calculé, alors même
que l’approximation conduit théoriquement à des résultats accep-
 . 
  tables. Autrement dit, de petites perturbations sur le calcul des
 .  coefficients du système linéaire peuvent entraîner de grandes per-
  turbations sur les valeurs calculées ; ce phénomène numérique,
 . 0 
  difficilement prévisible a priori, s’ajoute à l’imprécision découlant
. .
  du procédé de discrétisation. Cette sensibilité à la propagation et à
 .  l’amplification des erreurs intervient lorsque la matrice A est mal
 ← 2 + 1 → . 
  conditionnée et le nombre de conditionnement C (A ) permet
 . .  d’avoir un indicateur sur la difficulté d’inversion numérique de la
  matrice ; si A est une matrice symétrique, et en considérant des
 . 
normes matricielles induites par la norme euclidienne, on a vu au
 . 
  λ max ( A )
 0 .  corollaire 3 de l’article [AF 500] que C 2 ( A ) = ------------------------- , où λ max (A )
  λ min ( A )
 .  et λ min (A ) représentent respectivement la plus grande et la plus
 . 
  petite valeur propre de la matrice A. Une matrice bien conditionnée
  correspond à une valeur de C2 (A ) égale ou proche de l’unité ; une

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 502 − 2 © Techniques de l’Ingénieur, traité Sciences fondamentales

WV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW

Théorie spectrale et applications


Généralités et opérateurs compacts
par Marc LENOIR
Directeur de recherche au CNRS, École nationale supérieure des techniques avancées

1.
1.1
Contexte général.............................................................................
Un exemple et des questions ............................................................
AF 567 – 2
— 2

1.2 Le spectre et la résolvante ................................................................. — 3
1.3 Le calcul fonctionnel holomorphe ..................................................... — 3
1.4 Réduction spectrale ............................................................................ — 4
1.5 Singularités isolées ............................................................................ — 4
1.6 Dans un espace de Hilbert ................................................................. — 5
2. La dimension finie .......................................................................... — 6
2.1 Le théorème du rang et ses conséquences ....................................... — 6
2.2 Représentation matricielle ................................................................. — 7
2.3 Suites récurrentes linéaires ............................................................... — 8
2.4 Équations différentielles linéaires autonomes .................................. — 8
2.5 Équations différentielles périodiques ................................................ — 9
3. Opérateurs compacts ..................................................................... — 9
3.1 Introduction ........................................................................................ — 9
3.2 Dans un espace de Hilbert ................................................................. — 10
3.3 Dans un espace de Banach ................................................................ — 11
3.4 L’opérateur de Volterra ....................................................................... — 11
3.5 Equations intégrales singulières ....................................................... — 12
3.6 Perturbations ...................................................................................... — 12
4. Réduction spectrale des opérateurs compacts normaux ....... — 13
4.1 Complétude des modes ..................................................................... — 13
4.2 Diagonalisation .................................................................................. — 14
4.3 Principe de Courant-Fischer ............................................................... — 14
5. Opérateurs elliptiques ................................................................... — 14
5.1 Le point de vue abstrait ..................................................................... — 14
5.2 Développements en fonctions propres ............................................. — 15
5.3 Problèmes aux limites........................................................................ — 15
5.4 L’effet Pogo ......................................................................................... — 16
6. Problèmes transitoires................................................................... — 17
6.1 Équation de la chaleur ....................................................................... — 17
6.2 Équation des ondes............................................................................ — 17
7. Les guides fermés ........................................................................... — 17
7.1 Les modes .......................................................................................... — 18
7.2 Opérateur de Poincaré-Steklov .......................................................... — 18
7.3 Le problème semi-discrétisé .............................................................. — 18
8. Classes de Schatten........................................................................ — 19
8.1 La trace ............................................................................................... — 19
8.2 Les opérateurs de Hilbert-Schmidt .................................................... — 20
8.3 L’espace L1 .......................................................................................... — 20
8.4 Les espaces LP .................................................................................... — 20
8.5 Indice et trace ..................................................................................... — 20
8.6 Opérateurs intégraux ......................................................................... — 21
8.7 Théorème de Lidskii ........................................................................... — 21
Pour en savoir plus.................................................................................. Doc. AF 567
p。イオエゥッョ@Z@。カイゥャ@RPQP

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 567 – 1

WW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW

THÉORIE SPECTRALE ET APPLICATIONS ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

’objectif de la théorie spectrale, consiste à élucider la structure des opéra-


L teurs linéaires de manière à ce qu’ils puissent être décomposés en une col-
lection d’opérateurs élémentaires, simplifiant ainsi la résolution des problèmes
dans lesquels ils interviennent. Ce programme peut être réalisé avec un succès
variable selon la situation ; dans le cas des matrices, ou autrement dit en dimen-
sion finie, des méthodes de nature algébrique portant en fait sur des polynô-
mes, permettent d’aboutir à la forme de Jordan, qui traduit la décomposition de
l’opérateur en la somme d’opérateurs de multiplication et d’un opérateur nilpo-
tent. Le cas idéal est celui des matrices symétriques ou auto-adjointes dans
lequel l’opérateur nilpotent est nécessairement nul, ce qui confère à la matrice
une structure diagonale dans une base de vecteurs propres. Une abondante et

R complexe littérature traite des aspects numériques de la décomposition spec-


trale des matrices de grande taille et témoigne du fait que des résultats théori-
ques simples et bien connus ne sont pas nécessairement aisés à mettre en
œuvre dans la pratique (cf. l’article calcul des valeurs propres dans la même
collection).
Un pas décisif a été franchi lorsque la théorie spectrale a été appliquée à
l’étude d’équations, qu’elles soient intégrales ou aux dérivées partielles, dans
des espaces de dimension infinie. Les premiers résultats, relatifs à l’étude des
équations intégrales, ont été obtenus par Fredholm puis Hilbert, et généralisés
par F. Riesz en une théorie des opérateurs compacts. Ses résultats dépendent
d’outils issus de l’analyse fonctionnelle, mais sont proches à beaucoup
d’égards de ceux de la dimension finie, il n’en est pas de même de leur géné-
ralisation par Stone aux opérateurs auto-adjoints non compacts, qui fait jouer à
la théorie de la mesure un rôle essentiel. Une partie importante des développe-
ments ultérieurs, relatifs aux opérateurs non bornés et aux algèbres d’opéra-
teurs, résulte des travaux de von Neumann et a été initiée sous l’impulsion de
la mécanique quantique.
Dans cet article ne sont abordés qu’une présentation générale des opérateurs
bornés et certains aspects de la théorie spectrale des opérateurs compacts.

où F est la source sonore et F(x, t) au choix la pression au point x


1. Contexte général et à l’instant t dans le fluide ou le potentiel de l’écoulement,
supposé irrotationnel. Dans ce dernier cas on imposera au fluide
de glisser sur la paroi G = ∂W, soit la condition aux limites
Dans ce chapitre nous traiterons des aspects les plus élémentai- ∂F/∂n = 0 La recherche de solutions périodiques en temps conduit
res de la théorie spectrale des opérateurs bornés sur un espace de ( )
à poser Φ ( x , y ) = ᑬᒂ ϕ ( x )e −i ωt , la fonction j à valeurs complexes
Banach X. L’ensemble de ces opérateurs sera noté ᑦ(X ) ou plus est alors solution de l’équation de Helmholtz.
simplement ᑦ ; si T ∈ᑦ , on définit sa norme par la formule sui-
vante : T = supx ∈X , x ≠ 0 T ( x ) / x . Cette norme fait de ᑦ une algè-
− ∆ϕ − ω 2ϕ = f dans Ω où F ( x t ) = ᑬᒂ f ( x )e −i ωt
bre de Banach pour la composition des opérateurs, soit en fait
une algèbre qui est également un espace de Banach sur lequel la Une formulation variationnelle de ce problème dans l’espace de
norme vérifie TS ⭐ T S . Dans le contexte des opérateurs bornés Sobolev H1(W) est la suivante :
où nous nous plaçons, c’est au sein de cette algèbre de Banach que
nous envisageons l’inversibilité d’un opérateur : c’est une bijection (ϕ ψ )H (Ω) − (ω2 + 1) (ϕ ψ )L (Ω) = (f ψ )L (Ω) ∀ψ ,
1 2 2
bornée d’inverse borné. La plupart des résultats de ce chapitre et
certains de ceux des chapitres suivants restent valables dans le
cadre des algèbres de Banach. où (ϕ ψ )L (Ω) = ∫ Ω ϕψ est le produit scalaire dans L2(W) et
2

(ϕ ψ )H (Ω) = ∫ Ω (∇ϕ ∇ψ ) + ∫ Ω ϕψ celui dans H1(W). Comme H1 s’injecte


1

1.1 Un exemple et des questions continûment dans L2, selon le théorème de représentation de Riesz
l’équation (ϕ ψ )H 1 Ω = (u ψ )L2 (Ω) admet une unique solution j = Gu
Pour fixer les idées, il est bon de donner un exemple significatif ( )
où G est borné L2(W) Æ H1(W). Si on note J l’injection canonique
d’un tel opérateur borné. La théorie linéarisée de l’acoustique 1 2
H (W) Æ L (W) et T = GJ, la formulation variationnelle ci-dessus
conduit à considérer la propagation du son dans un milieu au
peut se mettre sous la forme
repos comme gouvernée par l’équation des ondes
 1 
∂Φ
∂t 2
− ∆Φ = F dans le domaine borne Ω, ( (
ϕ = G f + ω2 + 1 Jϕ ) ) soit
1
T − ω 2 + 1 ϕ = − ω 2 + 1Gf ,

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 567 – 2 est strictement interdite. – © Editions T.I.

WX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– THÉORIE SPECTRALE ET APPLICATIONS

ou encore, avec ϕɶ = J ϕ et T′ = JG Le théorème de Gelfand-Mazur en découle : une algèbre de


 1   1  1 Banach Ꮽ dans laquelle tout élément non nul est inversible est iso-
T − ω 2 + 1 ϕ = − Gf soit T ′ − ω 2 + 1 ϕɶ = − ω 2 + 1T ′ f . morphe à ⺓ ; en effet si T n’est pas nul, alors ∃λ ∈ Σ (T ), et en vertu
de l’hypothèse T = lI, ce qui prouve que S(T) = {l} et fait de l’appli-
Trois questions se posent alors immédiatement : cation T Æ l un isomorphisme isométrique Ꮽ → ⺓. Nous ne man-
querons pas de remarquer ce que ce résultat a de surprenant,
 la solution existe-t-elle pour toute donnée ? C’est-à dire est-ce- puisque d’une hypothèse portant sur l’inversibilité il permet de
que l’image de T - 1/(w2 + 1) est égale à H1(W) tout entier ? déduire la commutativité.
 la solution est-elle unique ? C’est-à dire 1/(w2 + 1) est-il valeur
propre de T ? On est également en mesure de développer la résolvante en
série entière au voisinage d’un point z de ∏(T ), c’est la première
 la solution dépend-t-elle continûment de la donnée ? C’est-à série de la résolvante :
dire l’inverse de T - 1/(w2 + 1) est-il continu ?
n +1 1
R ( λ) = ∑ ( λ − ζ ) R (ζ ) , de rayon de convergence ρ ⭓
n
.
C’est à des outils destinés à étudier, entre diverses autres, des R (ζ )


n ∈ℕ
questions de cette nature que nous allons introduire dans cet article.
En ce qui concerne les bases de l’analyse fonctionnelle et les for- 1.2.2 Partition du spectre
mulations variationnelles, on consultera avec profit [1].
Un point du spectre est une valeur de l pour laquelle T – l n’est
pas inversible, ce qui peut revêtir diverses formes :
1.2 Le spectre et la résolvante  le spectre ponctuel Sp(T ) est l’ensemble des l pour lesquels
T – l n’est pas injectif, c’est dire tels que N(T – l) π {0} on
L’objet fondamental auquel s’attache la théorie spectrale est la dit encore que l est une valeur propre ;
résolvante R(z) = (T - z)-1. La région du plan complexe où la résol-
 le spectre continu Sc(T ) est l’ensemble des l pour lesquels
vante est définie est l’ensemble résolvant P(T ) et son complémen-
T – l n’est pas surjectif mais d’image dense ;
taire S(T ) le spectre. Nous allons voir que l’essentiel réside dans
l’étude de la dépendance de la résolvante vis-à-vis de z. Le spectre  le spectre résiduel Sr(T ) est l’ensemble des l pour lesquels
est tout d’abord contenu dans le disque Ᏸ T de rayon T , centré à ᑬ (Τ − λ) n’est pas dense dans X.
l’origine, puisque dès que ζ> T , la série de Neumann Le théorème des homomorphismes nous assurant qu’une bijec-
− ζ −1∑ n ∈⺞ (T / ζ ) réalise l’inverse de T - z. Du développement en tion linéaire continue possède un inverse continu, on a bien ainsi
n
réalisé une partition du spectre.
série de Neumann de (T + H )-1 pour H suffisamment petite
découle un résultat élémentaire de stabilité : l’ensemble G des opé- 1.2.3 Rayon spectral
−1 2
rateurs inversibles est ouvert, avec (T + H) − T −1 ⭐ 2 T −1 H. De même que le rayon de convergence d’une série entière peut
Par continuité de l’application z Æ T - z, il en résulte que P(T) est être déterminé à partir de ses coefficients, on peut affiner le résultat
ouvert et par conséquent que S(T ) est compact. Il en découle aussi établissant que Σ (Τ ) ⊂ Ᏸ Τ en déterminant le rayon spectral de T :
la continuité de la résolvante.
Une difficulté essentielle réside dans le fait que le produit des
{ }
ρ (T ) = inf ρ Σ (T ) ⊂ Ᏸ p . On démontre à l’aide du théorème de
Banach-Steinhaus la formule du rayon spectral [2], qu’il faut rap-
opérateurs n’est pas commutatif, il est donc important de noter
que si S commute avec T, alors il commute avec R(z), et que les procher de celle donnant le rayon de convergence d’une série
résolvantes (T - z)-1 et (S - x)-1 commutent entre elles. entière :
1/ n
ρ (Τ ) = lim Τ n .
n →∞
1.2.1 Développements de la résolvante
Une formule élémentaire mais importante est l’identité de la Il en résulte immédiatement que, si S et T commutent, alors
résolvante : r(ST ) ł r(S) r(T). Il est maintenant possible de préciser les domai-
nes de convergence des deux séries de la résolvante : la seconde
R (ζ ) − R (ζ ′ ) = (ζ − ζ ′ ) R (ζ ) R (ζ ′ ) ,
série de la résolvante converge dans la couronne ]r(T), •[ où R(l)
est holomorphe ; par conséquent la série
qui corrobore le fait que R(z) et R(z ′) commutent et permet entre
autres de démontrer que la résolvante est une fonction holo- S (ζ ) = ∑n ∈ℕ ζ nΤ n = − ζ −1 R (1/ ζ ) converge dans le disque
morphe de dérivée R(z)2, dans l’ensemble résolvant. Rappelons à ζ ⬍ 1/ ρ (Τ ) , et la première série de la résolvante dans le disque
cet égard qu’en vertu du théorème de Banach-Steinhaus, il y a λ − ζ ⬍ 1/ ρ (R (ζ )) .
équivalence entre faible et forte holomorphie, et qu’il n’y a donc
pas lieu de faire la distinction.
Nous avons déjà développé la résolvante en série de Laurent à 1.3 Le calcul fonctionnel holomorphe
l’extérieur de Ᏸ T , c’est la seconde série de la résolvante :
Tn
1.3.1 Les polynômes d’un opérateur
R ( λ) = − ∑ λn +1 , qui converge dès que λ > T . et la dimension finie
n ∈⺞
Si p ( x ) = ∑ k = 0 ak x k est un polynôme de l’indéterminée x, on en
n

Entre autres conséquences R(l) Æ 0 quand l Æ •, en effet


déduit un opérateur borné p (T ) selon la formule p (Τ ) = ∑ k = 0 ak Τ k .
n
T = 1/ ( λ − T ) ; le spectre de T ne peut
−n −1
R ( λ) ⭐ ∑ n ∈⺞ λ
n

donc être vide, car si tel était le cas, R(l) serait une fonction entière, Dans le cas où X est de dimension finie, c’est également le cas de
nulle en vertu du théorème de Liouville. Plus généralement, en l’ensemble de ses endomorphismes ; il existe par conséquent un
polynôme annulateur de T, et on montre aisément que les valeurs
intégrant sur un cercle Cr de rayon r > T , à l’aide de la seconde
propres li sont les racines du polynôme minimal m. Au nombre des
série de la résolvante, on obtient : polynômes annulateurs se trouve le polynôme caractéristique,
1
λk R ( λ)d λ = − T k . c’est là le théorème de Cayley-Hamilton. Comme ⺓ est algébrique-
2i π ∫Cr
ment clos, m est de la forme µ ( x ) = ∏ (x − λi )
q i
, et le théorème de
i =1,m

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 567 – 3

WY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW

THÉORIE SPECTRALE ET APPLICATIONS ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

Bézout permet de décomposer X selon la somme directe des 1.4.2 Décomposition en sous-espaces stables
noyaux Ei′ des (T − λi ) i , soit I = ∑ i =1 πi où p i est la projection sur
q m
L’image Mi de Pi est fermée et comme R(z) commute avec T, il en
Ei′ associée à cette décomposition [3]. Il en résulte que est de même de Pi ; elle est donc stable par T et X = ⊕ Mi . On peut
Τ = ∑ i =1 λi πi + ∑ i =1(Τ − λi ) πi , c’est-à-dire la décomposition de i =1,l
m m
par conséquent parler des restrictions Ti de T à Mi ; elles vérifient
Dunford de T sous la forme de la somme d’un opérateur diagonali- T = ∑ i =1,lTi Pi , et S(Ti) = Si. Notons également que si S commute
sable et d’un opérateur nilpotent, soit en fait la forme réduite de
avec T, alors il commute avec les Pi, ce qui fait des Mi des sous-
Jordan pour les matrices. Dans le cadre de la dimension finie c’est
espaces stables par S ; c’est en particulier le cas pour S = j(T ).
donc l’étude des polynômes d’un opérateur qui permet d’élucider
la structure de celui-ci ; cette technique étant clairement liée au C’est la structure discontinue du spectre qui, dans le cadre du
fait que les valeurs propres sont en nombre fini doit être générali- calcul holomorphe, permet de décomposer l’opérateur T en la
sée dans le cas de la dimension infinie. somme d’opérateurs plus simples. Le cas extrême est celui où
l’une de ses composantes est réduite à un point.

R 1.3.2 Intégrale de Dunford


Commençons par noter que si q est un polynôme ne s’annulant
pas sur le spectre, alors q (T ) est inversible, ce qui permet de défi-
1.5 Singularités isolées
nir r(T ) = p(T ) q (T )-1 dès que r = p/q est une fraction rationnelle 1.5.1 Développement de Laurent
sans pôle dans S(T ). Il est alors facile de montrer que l’application
F : r Æ r(T ), de l’ensemble des fractions rationnelles sans pôles Dans la situation particulière où un point l du spectre est isolé,
sur le spectre dans ᑦ, est l’unique homomorphisme d’algèbres tel on peut préciser la forme du développement en série de Laurent
que F (1) = I et F (z) = T, où on a noté 1 la fonction constante égale de la résolvante dans un disque pointé de centre l et de bord g ne
à 1 et z l’application linéaire z (z) = z. C’est dire en fait que F trans- rencontrant pas le reste du spectre, on aura :
porte les opérations d’addition et de multiplication depuis −n −1
R (ζ ) = ∑ (ζ − λ) An avec An = ∫ (ζ − λ) R (ζ ) d ζ ,
n
l’ensemble des fractions rationnelles dans celui des opérateurs γ
n ∈⺞
bornés.
Une extension de cet homomorphisme aux fonctions holomor- et le théorème des résidus permet d’obtenir une expression des
phes au voisinage du spectre est fournie par la formule de Cauchy coefficients :
(appelée intégrale de Dunford dans ce contexte) : A−1 = −Pλ = −e λ (T )
k −1
ϕ (T ) = −
1
ϕ (ζ ) R (ζ ) d ζ , A−k = − (D λ ) pour k ⭓ 2, avec D λ = TPλ − λPλ
2i π ∫γ k +1 1
Ak = (S λ ) (ζ − λ)−1R (ζ ) d ζ.
2i π ∫γ
pour k ⭓ 0, où S λ = −
où g est le bord orienté d’un compact contenant un voisinage du
spectre et au voisinage duquel j est holomorphe. Après avoir véri-
fié que cette formule coı̈ncide avec la définition précédente, on Selon la définition même de Dl, la partie de T dans Ml, TPl, est
montre à l’aide du théorème de densité de Runge [4] qu’elle fournit égale à lPl + Dl, le résultat important étant que r(Dl) = 0 (on dit
l’unique prolongement de l’homomorphisme F aux fonctions holo- que Dl est quasi-nilpotent ou encore que c’est un opérateur de
morphes au voisinage du spectre, implémentant ainsi un calcul Volterra) : en effet la partie singulière Vl(z) du développement de
fonctionnel des opérateurs. Laurent de R(z) converge pour ζ − λ ⬎ ρ (D λ ) ainsi que dans ⺓ \ { λ}.
Notons que si S commute avec T, alors il commute également
avec j (T ), puisqu’il commute avec R (z). 1.5.2 Résolvante réduite
Les propriétés élémentaires de Sl et Dl permettent de montrer
1.3.3 Formule de transformation spectrale que Vl(z) est la partie de R(z) dans Ml et l’inverse de la partie de
Une conséquence aisée en est la formule de transformation T - z dans Ml. Si on note M λ′ = ᑬ (Ι − Pλ ) = ᏺ (Pλ ) , on montre de
spectrale j (S(T )) = S (j (T )) ; en particulier, si T est inversible même que la partie régulière (ou résolvante réduite) Ul(z) du déve-
(S (T ))-1 = S (T-1), ce qui peut également se déduire de la formule loppement de Laurent est la partie de R(z) dans M λ′ et l’inverse de la
élémentaire l-1T-1 (l - T ) = T-1 - l-1. Dans le cas où j est holo- partie correspondante de T – z.
morphe au voisinage de S (T ) et y au voisinage de j (S(T )), à
l’aide du théorème des résidus on montre également que
1.5.3 Sous-espaces propres géométriques
(ψ  ϕ )(T ) = ψ (ϕ (T )). et algébriques
Si on observe l’expression de la résolvante réduite en z = l, on
1.4 Réduction spectrale constate que Ul(l) = Sl, d’où S λ (T − λ) = Pλ′, et que, par conséquent,
le noyau Nl de T – l est inclus dans Ml. Cela revient à dire que si l
1.4.1 Projections spectrales est une valeur propre, son sous-espace propre géométrique Nl est
inclus dans son sous-espace propre algébrique Ml. La dimension
Parmi les fonctions d’un opérateur, les projections jouent un rôle
nl de Nl est la multiplicité géométrique de la valeur propre l,
essentiel. Si Σ (T ) = Ui =1,l Σi , où les Si sont des compacts disjoints, si celle ml de Ml est sa multiplicité algébrique, égale à son degré en
g i est le bord d’un compact Ki disjoint de Uj ≠i Σ j dans lequel est tant que racine du polynôme caractéristique.
contenu un voisinage de Si, et si ei (z) vaut 1 au voisinage de Ki et C’est ici qu’apparaissent les difficultés, en effet si ces deux sous-
0 au voisinage des Kj, j π i, alors selon le calcul holomorphe (c’est-
espaces sont différents, les vecteurs propres ne suffisent plus à
à-dire en vertu des propriétés de F) avec g = Ui=1, I g i,
décrire T M . La situation la plus satisfaisante est celle où Dl = 0,
λ
1
Pi = ei (T ) = − R (ζ ) d ζ dans ce cas T M = λI , ce qui prouve que l est une valeur propre,
2i π ∫γ i λ
qu’on dit alors semi-simple, et que Nl = Ml ; réciproquement si
Nl = Ml, alors nécessairement Dl = 0 puisque Dl = (T – l) Pl. Si
1
∑i =1,lPi R (ζ ) d ζ = 1.
2i π ∫γ i
est un projecteur, et =− dim Ml = 1 la valeur propre est dite simple, ce qui constitue bien

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 567 – 4 est strictement interdite. – © Editions T.I.

XP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– THÉORIE SPECTRALE ET APPLICATIONS

un cas particulier de valeur propre semi-simple, car alors nécessai- 1.6.3 Opérateurs normaux, auto-adjoints
rement Nl = Ml. et unitaires
On trouvera dans [5] une introduction détaillée au calcul fonc- À ce stade, il est important de considérer des classes d’opérateurs
tionnel holomorphe. munis de propriétés particulières, nous avons déjà donné quelques
indications relatives aux opérateurs auto-adjoints, nous allons pour-
suivre ci-dessous l’étude d’opérateurs ayant une relation particu-
1.6 Dans un espace de Hilbert lière avec leur adjoint. Nous appliquerons par la suite très directe-
ment les résultats qui précèdent en traitant le cas de la dimension
1.6.1 L’adjoint finie (celui des matrices en fait), et nous poursuivrons par l’étude
des opérateurs compacts qui en constitue la généralisation la plus
Dans le cas où X est un espace de Hilbert, que nous noterons immédiate. Hormis dans ce dernier cas, la théorie spectrale dans
alors H, avec pour produit scalaire hermitien ( x y ), la formule sui- les espaces de Banach est une théorie plus difficile et moins aboutie
que celle des algèbres de von Neumann, une catégorie particulière
( )
vante : x T ∗y = (Tx y ) ∀x , y ∈H , définit un opérateur borné T* :

de C*-algèbres. Dans le cas commutatif, on aboutit au théorème
H Æ H, appelé adjoint de T. spectral des opérateurs normaux [6], analogue à la diagonalisation
∗ ∗
des matrices, et sinon à une théorie de la représentation qui permet
Il est clair que ( µT ) = µT ∗ , (ST ) = T ∗S ∗ , T ∗∗ = T et T ∗ = T , d’où de parler à ce sujet de géométrie non commutative [7].
2
il résulte que T ∗T = T . Cette dernière relation est à l’origine de Un opérateur T est dit normal s’il commute avec son adjoint ; on
la définition d’une C*-algèbre en tant que algèbre de Banach a alors ρ (T ) = T , en effet comme T et T* commutent,

munie d’une involution vérifiant T ∗T = T et ( µT ) = µT ∗ ; notons
2 2
( ) ( )
T = ρ T ∗T ⭐ ρ (T ) ρ T ∗ = ( ρ (T )) ⭐ T . Une conséquence immé-
2 2

que l’égalité T ∗ = T en est alors une conséquence directe. Il en diate de ce résultat est qu’il n’existe pas d’opérateur normal quasi-
nilpotent non nul, résultat dont nous aurons l’occasion de constater
résulte également que ρ T ∗T = T ( ) 2
en effet S = T*T est auto- ultérieurement toute l’importance. Notons qu’un opérateur auto-
adjoint vérifie non seulement ρ (T ) = T , mais aussi T n = T . Rela-
n
et ρ (S ) = S
2 n 2n
adjoint, et par conséquent S 2 = S d’où S 2 = S
en vertu de la formule du rayon spectral. tivement à son spectre un opérateur normal T vérifie Σ p (T ) = Σ p (T *)
De façon élémentaire, on montre que I est auto-adjoint c’est-à- ( )
puisque T ∗ − λ x = (T − λ) x ; il ne possède donc pas de spectre
dire identique à son adjoint et que T* est inversible si et seulement résiduel. Remarquons également qu’un opérateur normal commute
si T l’est ; en particulier le spectre de l’adjoint vérifie Σ T ∗ = Σ (T ) et ( ) avec la résolvante de son adjoint et que les résolvantes commutent
par conséquent r(T ) = r(T*) ; un simple changement de variable entre elles.
dans l’intégrale de Dunford permet alors de montrer que : Un opérateur T est auto-adjoint si et seulement si son image
{ }
numérique (Tx x ) x ∈H , x = 1 est réelle, ainsi qu’on le montre
( ) ( )

f (T ) , où ɵ
f T∗ = ɵ f (ζ ) = f ζ . () aisément à l’aide de l’égalité de polarisation des formes
sesquilinéaires :
Si T est auto-adjoint et si ɵf = f au voisinage du spectre, alors f(T ) 3

est également auto-adjoint ; c’est en particulier le cas des projec- 4b (u , v ) = ∑ i k b (u + i kv , u + i kv ),


k =0
tions Pi réalisant la réduction spectrale.
Notons qu’un opérateur borné T est la combinaison linéaire de
deux opérateurs auto-adjoints :
((
en posant b (u , v ) = T − T ∗ u v . ) )
Un instrument essentiel d’étude des opérateurs auto-adjoints est
T + T ∗  T − T ∗  le quotient de Rayleigh ᏽ ( x ) = (Tx x ) / x , dont l’image numérique
2
T = +i .
 2   2i  constitue en fait l’image. Posons m = inf ᏽ ( x ) et M = sup ᏽ ( x ), alors
1.6.2 Images et noyaux Σ (T ) ⊂ [m , M ], de plus m et M appartiennent au spectre. Dans le cas
où H est séparable, de même que pour une matrice, si (ei) en est
Le cadre des C*-algèbres présente des avantages considérables
par rapport à celui des espaces de Banach, en raison des étroites
une base hilbertienne, la relation Tei e j = Te j ei ( ) ( ) caractérise les
relations entre les propriétés spectrales d’un opérateur et celles de opérateurs auto-adjoints.
son adjoint que nous détaillons ci-dessous. Un opérateur est dit unitaire si T-1 = T*, ce qui par polarisation
Rappelons tout d’abord que l’orthogonal M ⊥ d’un sous-espace M est équivalent à dire qu’il est surjectif et conserve le produit sca-
laire ou encore qu’il est surjectif et isométrique ; c’est encore dire
est fermé et que M ⊥ ( )⊥ = M , où la double barre note l’adhérence. ( )
que Tei Te j = δij pour une (et donc toute) base hilbertienne (ei). Le
De la définition même de l’adjoint découlent les relations
spectre d’un opérateur unitaire T est inclus dans le cercle unité ⺤
ᏺ ( ) = ᑬ (T ) et ᏺ (T ) = ᑬ ( ) et par passage à l’orthogonal
T∗
⊥ ⊥
T∗ , du plan complexe, en effet si l 2 S(T), alors λ−1 ∈ Σ (T ), et comme
ᏺ (T ∗ ) = ᑬ (T ) et ᏺ (T ) = ᑬ (T ∗ ). Dans le cas où ᑬ (T ) est fermée
⊥ ⊥ −1
T = 1, on a λ ⭐ 1 et λ ⭐ 1, soit λ = 1.

on a non seulement ᏺ (T ∗ ) = ᑬ (T ), mais aussi ᏺ (T ) = ᑬ (T ∗ ), ce


⊥ ⊥
La transformation de Cayley : κ (ζ ) = (ζ − i ) / (ζ + i ) [4] qui constitue
un homéomorphisme ⺢ → ⺤ \ {1} réalise un isomorphisme entre
qui prouve que ᑬ (T ∗ ) est également fermée ; il en résulte que T
l’ensemble des opérateurs auto-adjoints et celui des opérateurs
est inversible si et seulement s’il est injectif et si l’image de son unitaires dont le spectre ne contient pas le point {1}.
adjoint est fermée.
Il faut prendre garde au fait qu’il ne suffit pas que le spectre d’un
En termes de spectre, on peut également en déduire que : opérateur soit réel pour que celui-ci soit auto-adjoint, ni qu’il soit
inclus dans ⺤ pour qu’il soit unitaire ; cependant la théorie de Gel-
( )
Σr (T ) = Σ p T ∗ \ Σ p (T ) et Σc (T ) = Σc T * . ( ) fand des C*-algèbres commutatives permet de montrer que ces
propriétés sont équivalentes dans le cas d’un opérateur normal [8].

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 567 – 5

XQ

XR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVX

Le théorème spectral
par Marc LENOIR
Directeur de recherche au CNRS
École nationale supérieure des techniques avancées

1. Introduction ..................................................................................... AF 568 – 2


1.1 Deux exemples ................................................................................... — 2
1.2 Extension du calcul fonctionnel ........................................................ — 2
2. Le calcul fonctionnel continu....................................................... — 3
2.1 Opérateurs auto-adjoints et unitaires ................................................ — 3
2.2 La théorie de Gelfand ......................................................................... — 3
2.2.1 Spectre et caractères ............................................................... — 3
2.2.2 La transformation de Gelfand ................................................. — 4
2.3 L’algèbre de Wiener ............................................................................ — 4
2.4 La transformation de Fourier ............................................................. — 4
2.5 Le calcul fonctionnel des opérateurs normaux ................................. — 5
2.6 Corollaires .......................................................................................... — 5
2.6.1 Opérateurs auto-adjoints et unitaires ..................................... — 5
2.6.2 Racine....................................................................................... — 5
2.6.3 Points isolés ............................................................................. — 5
2.6.4 Le théorème de Fuglede .......................................................... — 6
2.7 Transformation spectrale ................................................................... — 6
3. Diagonalisation ............................................................................... — 6
3.1 Opérateurs auto-adjoints compacts .................................................. — 6
3.2 L’opérateur de multiplication ............................................................. — 6
3.3 Le cas cyclique ................................................................................... — 7
3.4 Le cas général .................................................................................... — 7
4. Le calcul fonctionnel Borélien ..................................................... — 7
4.1 Mesures de Radon signées ................................................................ — 7
4.2 Prolongement du calcul continu ........................................................ — 8
5. La mesure spectrale ....................................................................... — 8
5.1 Opérateurs compacts normaux ......................................................... — 8
5.2 Projecteurs .......................................................................................... — 8
5.3 Propriétés de la mesure spectrale ..................................................... — 8
5.4 Intégrale spectrale .............................................................................. — 9
5.5 Propriétés de l’intégrale spectrale ..................................................... — 9
5.6 Applications ........................................................................................ — 9
5.6.1 Spectre ..................................................................................... — 9
5.6.2 Valeurs propres ........................................................................ — 10
5.6.3 Opérateurs compacts .............................................................. — 10
5.6.4 La formule de Stone ................................................................ — 10
6. Algèbres de von Neumann ............................................................ — 10
6.1 Le théorème du bicommutant ........................................................... — 10
6.2 Un exemple ........................................................................................ — 11
7. Algèbres maximales commutatives ............................................ — 11
7.1 L’opérateur de multiplication ............................................................. — 11
7.1.1 L’image de L• (X, m) ................................................................. — 11
7.1.2 Approximation par des fonctions continues .......................... — 12
7.2 Vecteurs cycliques et séparants ......................................................... — 12
7.3 Opérateurs simples ............................................................................ — 12
7.4 Diagonalisation .................................................................................. — 13
8. Prolongements ................................................................................ — 14
Pour en savoir plus.................................................................................. Doc. AF 568
p。イオエゥッョ@Z@ッ」エッ「イ・@RPQR

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 568 – 1

XS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVX

LE THÉORÈME SPECTRAL ––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

es outils d’analyse que sont la théorie des fonctions analytiques et celle des
L espaces de Banach et de Hilbert permettent d’accéder aux résultats géné-
raux de la théorie spectrale et à ceux spécifiques relatifs aux opérateurs com-
pacts. Une analyse approfondie des opérateurs normaux, c’est-à-dire commu-
tant avec leur adjoint et qui ne satisfont pas I’hypothèse de compacité,
nécessite de faire appel à des outils supplémentaires de diverses natures : théo-
rie de la mesure, topologies découlant d’une famille de semi-normes ainsi qu’à
la notion algébrique d’idéal et à l’axiome du choix.
Ce document peut être considéré comme la suite de l’article [AF 567] théorie
spectrale et applications ; il a pour but de présenter divers aspects du théorème
spectral des opérateurs normaux. Lorsque le spectre se résout en composantes
R connexes, et tout particulièrement lorsqu’il est discret l’intégrale de Dunford,
permet de construire des projecteurs réduisant l’opérateur selon ses composan-
tes élémentaires. Cette stratégie reste valable dans son principe pour l’analyse
des opérateurs normaux, mais en l’absence de décomposition du spectre en
composantes connexes, la construction de projecteurs nécessite le recours
aux outils de la théorie de la mesure.

de T - l, alors si on choisit pour g la fonction caractéristique du


1. Introduction disque de centre l et de rayon e,

g L2
= Q (T − λ ) g L2
≤ Q ε g L2
Le théorème spectral, nonobstant son aspect abstrait, constitue
le fondement ou le modèle sur lequel reposent de nombreuses d’où 1≤ Q ε , ce qui constitue une contradiction dès que e est suf-
applications, qu’elles soient de nature théorique ainsi l’étude des
fisamment petit. Comme le spectre est fermé, il en résulte que
algèbres d’opérateurs, ou de nature plus pratique comme celle S (T) = X. Si maintenant on fait l’hypothèse que m 2 X est une valeur
des équations aux dérivées partielles. propre, alors avec pour f un vecteur propre associé, lf (l) = mf (l) et
par conséquent l = m presque partout ce qui n’est pas compatible

1.1 Deux exemples avec l’hypothèse selon laquelle X ≠ ∅.

La situation évoquée dans le préambule n’a rien d’extraordinaire,


donnons-en tout de suite deux exemples dans le cadre des suites 1.2 Extension du calcul fonctionnel
ou des fonctions de carré intégrable.
Dans le cas des opérateurs normaux, le calcul fonctionnel holo-
Dans l’espace ℓ2 des suites de carré sommable, il est facile de
morphe se prolonge aux fonctions boréliennes bornées sur le spec-
construire un opérateur, soit D, dont le spectre soit un sous- tre, qui ont pour caractéristique d’être mesurables relativement à
ensemble compact quelconque donné D du plan complexe. Si toutes les mesures de Radon. Cette extension procède en deux éta-
α = (αn ) ∈ ℓ2 , on pose Dα = ∑n ∈ℕ λn αnen , où en note la base cano- pes, l’étape intermédiaire consistant en un prolongement aux fonc-
tions continues sur le spectre. La seconde étape utilise la théorie de
nique de l’espace ℓ2 et ln est une suite dense dans D. Il est clair que
l’intégration et plus spécifiquement le théorème de prolongement
les ln sont des valeurs propres de D associées aux vecteurs pro-
des fonctionnelles linéaires continues sur l’ensemble Ꮿ0c des fonc-
pres en et par conséquent que Δ ⊂ Σ (D), puisque le spectre est
tions continues à support compact. Nous ferons librement usage
fermé. Mais réciproquement si λ ∉ Δ , alors pour tout dans la suite des résultats classiques de la théorie de l’intégration,
n, λn − λ ≥ d > 0 , où d note la distance de l à D. L’opérateur pour lesquels nous renvoyons aux ouvrages cités dans la rubrique
Pour en savoir plus. Dans le cas des opérateurs auto-adjoints ou
−1 unitaires, cette première étape reste élémentaire ; dans le cas d’un
Mβ = ∑n ∈ℕ (λn − λ ) αnen opérateur normal qui ne rentre pas dans l’une de ces deux catégo-
ries, elle fait appel à la théorie de Gelfand, d’un caractère plus abs-
inverse de D-l est donc borné, d’où il résulte que S (D) = D. trait et d’un abord plus difficile, mais d’une grande importance, au-
delà même des thèmes traités dans cet article.
Dans l’espace L2 (X ) des fonctions de carré intégrable sur l’inter-
valle fermé X d’intérieur non vide de la droite réelle, il est aisé de Ainsi que le montre déjà le calcul holomorphe, les propriétés
construire un opérateur T dont le spectre soit égal à X et ne d’un calcul fonctionnel ne découlent pas de son application à un
contienne pas de valeurs propres. On pose (Tf ) (x) = xf (x) où opérateur isolé mais de sa mise en œuvre dans le cadre d’une
f 2 L2 (X ) et x 2 X ; si µ ∉X , la fonction x - m est inversible et famille d’opérateurs. Rappelons qu’une algèbre de Banach involu-
tive est dite auto-adjointe si elle contient l’adjoint de chacun de
donc également T - m avec (T - m)-1 g(x) = (x - m)-1 g (x), c’est

ses éléments et qu’une algèbre auto-adjointe est dite stellaire si
2
donc que Σ (T ) ⊂ X . Réciproquement si λ ∈X , et si Q est l’inverse T∗T = T , on dit encore que c’est une C*-algèbre. L’ensemble

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 568 – 2 est strictement interdite. – © Editions T.I.

XT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVX

–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– LE THÉORÈME SPECTRAL

ᑦ (H ) des opérateurs bornés sur l’espace de Hilbert H constitue une


algèbre stellaire. Si T ∈ ᑦ (H ), on note C* (T) la sous-algèbre stellaire

( )
 T −1 = ϕ (T )
ϕ (T ) = ϕ

qu’il engendre, c’est-à-dire la plus petite sous-algèbre stellaire fer-


mée de ᑦ (H ) qui le contienne ainsi que I ; c’est encore l’adhérence
 (1/z ) = ϕ (z ) .
car si z appartient au cercle unité, ϕ
de l’ensemble des polynômes de T et T*. Si T est un opérateur nor-
mal, C* (T) est commutative. Dans ces deux cas le prolongement de F, que l’on note encore F,
constitue un homomorphisme d’algèbres : C0 (S (T)) Æ C* (T), qui
La nécessité de faire appel à des sous-algèbres, en particulier
commutatives rend nécessaire l’étude de la dépendance du spectre () ∗
vérifie Φ f = Φ (f ) ; on dit que F est un *-homomorphisme ; de
d’un opérateur de la sous-algèbre à laquelle on considère qu’il façon générale F (f ) est noté f (T) et constitue un calcul fonctionnel
appartient. Notons Σ Ꮽ (T ) le spectre de T dans l’algèbre Ꮽ : continu pour les opérateurs auto-adjoints ou unitaires. Pour une
fonction f polynômiale ou égale à une série de Fourier tronquée,
l’ensemble des λ ∈ℂ tels que (T - l) ne possède pas d’inverse
dans Ꮽ . De façon générale, si ᑜ est une sous-algèbre de Ꮽ conte- selon que T est auto-adjoint ou unitaire, on vérifie que
( )
f Σ p (T ) ⊂ Σ p (f (T )) et ᏺ (T − λ ) ⊂ ᏺ (f (T ) − f (λ )) , relation qui se pro-


nant l’unité, on a Σ Ꮽ (T ) ⊂ Σ ᑜ (T ) et, ce dont la démonstration est
plus difficile, le bord ∂Σ ᑜ (T ) de Σ ᑜ (T ) est inclus dans Σ Ꮽ (T ) . Dans longe par densité à l’ensemble des fonctions continues sur le
le cas où ᑜ et Ꮽ sont stellaires on a tout simplement spectre.
Σ Ꮽ (T ) = Σ ᑜ (T ) : c’est le théorème de permanence spectrale. Suppo-
sons en effet que T ∈ᑜ soit inversible dans Ꮽ , d’inverse T-1. L’opé-
rateur S = T*T étant autoadjoint, son spectre est réel et par consé- 2.2 La théorie de Gelfand
quent Σ ᑜ (S) = ∂Σ ᑜ (S) ⊂ Σ Ꮽ (S). Comme T* est inversible dans Ꮽ , il La méthode qui vient d’être décrite ne s’applique pas sous la
en est de même de S ; c’est dire que 0 ∉ Σ Ꮽ (S) = Σ ᑜ (S) et par seule hypothèse de normalité, le spectre d’un opérateur normal
conséquent que S−1 ∈ ᑜ. L’opérateur S-1T* est alors un inverse à étant susceptible d’une beaucoup plus grande complexité que
gauche de T dans ᑜ, ce qui prouve que T −1 ∈ ᑜ. celui d’un opérateur auto-adjoint ou unitaire. Le détour qui consti-
tue l’essence de la théorie de Gelfand consiste à étudier une algè-
bre de Banach Ꮽ par l’intermédiaire de ses homomorphismes com-
plexes ou caractères, c’est-à-dire de l’ensemble des formes
2. Le calcul fonctionnel linéaires χ : Ꮽ → ℂ telles que χ (ST ) = χ (S) χ (T ) . Notons déjà que

continu si c est un caractère, c (I) = 1 et χ (T ) ⊂ Σ (T ) ; en effet si on suppose


que χ (T ) ∉ Σ (T ) , alors ∃ S tel que (T - c (T))S = I, et par conséquent
c (T - c (T)) c (S) = 1, ce qui constitue une contradiction. Les carac-
Lorsque l’opérateur T est normal dans une algèbre stellaire Ꮽ , tères sont en fait des formes linéaires continues car
l’application F, qui à j holomorphe au voisinage du spectre de T
fait correspondre j (T) est une isométrie de C0 (S (T)) dans A. En χ (T ) ≤ ρ (T ) ≤ T ; de plus χ = 1 puisque c (I) = 1. L’ensemble des
effet, comme le calcul holomorphe transporte le spectre, on a caractères de Ꮽ est noté Sp (Ꮽ ), c’est le spectre de Gelfand de Ꮽ .
S (j (T)) = j (S (T)), et comme de plus il conserve le caractère normal
des opérateurs, j (T) est normal et par conséquent la norme
de j (T) dans Ꮽ est égale à son rayon spectral, soit 2.2.1 Spectre et caractères
{ }
ϕ (T ) Ꮽ = max ϕ (λ ) λ ∈ Σ (T ) = ϕ C 0 ( Σ (T )) , ce qui s’écrit encore Sans autre hypothèse relative à Ꮽ , l’existence de caractères n’est
pas même garantie, mais ceux-ci sont en quantité suffisante dans le
Φ (ϕ ) Ꮽ = ϕ . cas des algèbres commutatives pour rendre compte du spectre de

chaque élément de l’algèbre. La démonstration de ce résultat
Les restrictions à S (T) des fonctions holomorphes au voisinage repose sur le fait que les noyaux des caractères sont les idéaux
du spectre ne constituent qu’un sous-ensemble réduit des fonc- maximaux de l’algèbre. Rappelons que ᏶ est un idéal de l’algèbre
tions continues sur le spectre ; l’objet de ce paragraphe consiste à Ꮽ si TQ et QT appartiennent à ᏶, ∀T ∈ Ꮽ, ∀Q ∈ ᏶.
montrer de quelle façon cette isométrie peut être prolongée à Il est tout d’abord clair que, dans une algèbre commutative Ꮽ , le
C0 (S (T)) tout entier.
noyau ᏺ ( χ ) d’un caractère c est un idéal, c’est en effet dire que
∀T ∈ Ꮽ, ∀Q ∈ ᏺ ( χ ) , TQ = QT ∈ ᏺ ( χ ) . Cet idéal est maximal, car
2.1 Opérateurs auto-adjoints et unitaires
étant de codimension 1, il ne peut être strictement contenu dans
Le spectre d’un opérateur T auto-adjoint étant réel, en vertu du aucun idéal propre, c’est-à-dire différent de {0} et de Ꮽ tout entier.
théorème de Weierstrass, l’ensemble des polynômes est dense Réciproquement, si ᏶ est un idéal maximal, il est fermé puisque
dans C0 (S (T)), d’où il résulte par complétude, que F se prolonge l’adhérence d’un idéal propre reste un idéal propre ; il en résulte
isométriquement à C0 (S (T)). Ce prolongement a pour image que le quotient Ꮽ / ᏶ est une algèbre de Banach commutative. On
l’adhérence de l’ensemble des polynômes de T, c’est-à-dire en fait
montre alors que les éléments non nuls de Ꮽ / ᏶ sont inversibles, et
C* (T), puisque T* = T. On sait par ailleurs que si j est holomorphe
par conséquent, d’après le théorème de Gelfand-Mazur, que Ꮽ / ᏶

au voisinage du spectre, ϕ (T ) = ϕ ( )
 T∗ où ϕ  (z ) = ϕ (z ) ; pour z réel est isométriquement isomorphe à ⺓ . Si on note q cet isomor-
 (z ) = ϕ (z ) d’où ϕ (T )∗ = ϕ (T ) . phisme et p l’injection canonique Ꮽ → Ꮽ / ᏶, alors χ = θ  π est un
on a ϕ
caractère de noyau ᏶.
De façon similaire, si T est unitaire les séries de Laurent tron- Si T n’est pas inversible, les éléments de la forme ST où S ∈Ꮽ
forment un idéal propre, que l’on montre être nécessairement
quées ∑ n ≤N an z n sont holomorphes au voisinage du cercle unité, contenu dans un idéal maximal à l’aide du lemme de Zorn. C’est
dans lequel est contenu le spectre de T ; selon le théorème de dire que T appartient à un idéal maximal, et donc, ainsi que nous
Stone-Weierstrass, leurs traces forment un sous-ensemble dense venons de le voir, au noyau d’un caractère. Supposons maintenant
dans C0 (S (T)), d’où il résulte que F se prolonge isométriquement que T ∈Ꮽ et l 2 S (T), alors T - l n’étant pas inversible appartient
à C0 (S (T)). Comme T est unitaire, T* = T-1 ; l’image de ce prolonge- au noyau d’un caractère, soit c, et on aura c(T) - l = c (T - l) = 0.
ment est donc encore égale à C* (T). Ici de même : Réciproquement un élément inversible ne peut pas appartenir à un

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 568 – 3

XU

XV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT

Calcul des valeurs propres

par Bernard PHILIPPE


INRIA Rennes-Bretagne Atlantique
et Yousef SAAD
Department of computer science and engineering, university of Minnesota R
1. Principes de calcul des valeurs propres ............................................ AF 1 224 - 2
2. Algorithme QR pour le cas non symétrique ..................................... — 5
3. Algorithmes pour le cas d’une matrice pleine symétrique .......... — 8
4. Bibliothèque LAPACK ............................................................................. — 9
5. Méthodes pour les matrices de grande taille ................................... — 9
6. Problème généralisé aux valeurs propres ......................................... — 17
7. Décomposition aux valeurs singulières ............................................. — 20
8. Conclusion.................................................................................................. — 22
Pour en savoir plus ........................................................................................... Doc. AF 1 224

alculer les valeurs propres et les vecteurs propres de matrices est un des
C problèmes les plus importants en analyse numérique linéaire. Les techni-
ques requérant la connaissance du spectre de matrices sont utilisées dans des
domaines aussi variés que la mécanique quantique, l’analyse des structures, la
théorie des graphes, les modèles de l’économie et le classement des pages de
la Toile informatique par les moteurs de recherche.
Par exemple, en mécanique des structures, les problèmes de « résonances »
ou de « vibrations » de structures mécaniques, décrits par l’analyse spectrale,
se ramènent à des calculs de valeurs et de vecteurs propres.
Les problèmes non symétriques de valeurs propres apparaissent dans l’ana-
lyse de la stabilité de systèmes dynamiques. Dans un tout autre domaine, la
chimie quantique donne lieu à des problèmes symétriques aux valeurs propres
qui peuvent être gigantesques, tant par leur taille que par le nombre de valeurs
et de vecteurs propres à extraire. On peut également mentionner que la
décomposition aux valeurs singulières, qui est une sorte de généralisation de
la décomposition spectrale classique, est primordiale en statistique et dans les
problèmes de la « nouvelle économie » (reconnaissance de formes, fouille de
données, traitement du signal, exploitation de données, etc.).
Les problèmes de valeurs propres sont très riches, tant par leur variété que
par le type de matrices que l’on doit traiter et par les méthodes et algorithmes
de calcul à utiliser : les matrices peuvent être symétriques ou non symétriques,
creuses ou pleines, et les problèmes peuvent être classiques ou généralisés ou
même quadratiques. Il existe des applications qui requièrent le calcul d’un très
petit nombre de valeurs propres, d’autres au contraire un grand nombre de
valeurs propres ou même tout le spectre.
On essaiera donc dans cet article de survoler les outils permettant de
p。イオエゥッョ@Z@ッ」エッ「イ・@RPPX

résoudre ces différents cas.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 2
24–1

XW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT

CALCUL DES VALEURS PROPRES _______________________________________________________________________________________________________

1. Principes de calcul la matrice sont λ1 =


1+ 5
et λ 2 =
1− 5
. Les valeurs initiales per-
2 2
des valeurs propres 5 k
mettent alors d’en déduire que α k = (λ1 − λ k2 ). Nous sommes
5
1.1 Applications du calcul dans le cas d’une suite qui tend vers l’infini quand k tend vers
des valeurs propres l’infini.

Une application linéaire ;d’un espace vectoriel E de dimension Pour ces récurrences, voir l’article Équations aux
n dans lui-même est caractérisée par une matrice A. Celle-ci dépend différences [AF 104].
de la base de référence 1dans l’espace vectoriel, ce que l’on note


A = M1(;) . En changeant la base de référence, on change la
matrice A en une matrice AD semblable à A : A
D = X −1AX où les colon- 1.1.2 Deuxième application :
nes de X sont les vecteurs de la nouvelle base exprimée dans stabilité des systèmes différentiels
l’ancienne base. Une question naturelle consiste alors à se deman-
der s’il est possible de choisir la nouvelle base de manière que la Dans le deuxième exemple, nous considérons le modèle d’un
matrice A D ait la forme la plus simple c’est-à-dire la forme diagonale. processus qui évolue en fonction du temps de manière continue.
En effet, y parvenir revient à dire que l’on a pu découpler l’action On suppose que le modèle est celui d’un système différentiel
de l’application linéaire en n applications scalaires. linéaire homogène à coefficients constants :

Supposons qu’il existe une matrice inversible X telle que


D = X –1AX soit diagonale. En notant D = diag(λ 1 , ..., λn ) et  dx
= Ax (t ) pour t 50
X = [x 1 , ..., xn ] où les xi représentent les colonnes de X, on en  dt
x (0) = x0
déduit que :
Axi = λi xi , pour i = 1, ..., n (1)
où x (t ) ∈ Z n . Une question classique est alors de se demander si
Cela entraîne que les valeurs (λi ) sont telles que (A – λi I) n’est
le système est asymptotiquement stable ou non : est-ce que la
pas inversible. Ce sont donc les racines du polynôme
solution x (t ) tend vers 0 quand t tend vers l’infini ? Pour simplifier,
p (λ) = det(A – λI), polynôme qui ne dépend pas de la base choisie.
supposons que la matrice A est diagonalisable au sens défini plus
On les appelle valeurs propres de A. Tout vecteur
haut. Par un raisonnement du même type que pour le cas des
x ∈ ker(A – λi I )\{0} est appelé vecteur propre associé à λi . Nous
récurrences linéaires, on montre que toutes les composantes du
étudierons dans le paragraphe suivant l’existence de ces éléments
vecteur x (t ) sont des combinaisons linéaires fixes des exponen-
propres mais voyons d’abord deux exemples d’utilisation des
tielles eλi t où les valeurs propres (éventuellement complexes) de
valeurs propres.
la matrice A sont {λi , i = 1, ..., n}. Le système sera stable si toutes
les valeurs propres sont à parties réelles strictement négatives.
1.1.1 Première application : récurrences linéaires
Sur la stabilité des systèmes différentiels, voir l’article
Supposons qu’un phénomène soit décrit par des effectifs
Aspects numériques du contrôle linéaire [AF 1 400].
x 1 (k), x 2 (k), ..., xn (k) de n classes à intervalles de temps réguliers
numérotés par l’indice k et que le passage d’un instant au suivant
soit régi par une multiplication par la matrice A :
X (k + 1) = AX (k ) 1.2 Décomposition spectrale
où X (k) est le vecteur des effectifs. On peut donc naturellement
d’une matrice
écrire que X (k) = AkX (0), où X (0) est le vecteur des effectifs ini-
tiaux. Si la matrice A est diagonale, alors il est immédiat d’en cal- On précise maintenant les notions introduites dans le paragra-
culer n’importe quelle puissance, puisqu’il suffit de le faire sur phe précédent. Dans tout l’article, le corps Speut être soit le
chaque coefficient diagonal. Si la matrice est diagonalisable, corps Kdes complexes soit le corps des réels Z .
c’est-à-dire s’il existe une matrice de changement de base
P ∈Z n ×n telle que la matrice A puisse s’écrire A = PDP –1 où D est
une matrice diagonale D = diag(λ 1 , ..., λn ), alors on peut aussi cal- Définition 1
culer sa puissance k-ème par la relation Ak = PDkP –1. On en déduit Soit A une matrice carrée d’ordre n : A ∈ S n ×n .
que pour tout i = 1, ..., n, l’effectif xi (k ) est une combinaison Le polynôme caractéristique de A est le polynôme défini par
linéaire des puissances k-èmes des valeurs propres λ 1, ..., λn . Si p (z ) = det(A – zI). Les valeurs propres de A sont ses racines et
toutes les valeurs propres sont de valeurs absolues inférieures à 1, leur ensemble λ (A ) forme le spectre de la matrice. Toutes les
alors les effectifs tendent vers 0, tandis que si l’une d’entre elles au matrices semblables à A ont le même polynôme
moins est supérieure à 1, le processus va exploser pour presque caractéristique.
tous les vecteurs initiaux.
Un vecteur x ∈ S n est un vecteur propre de A associé à la
Comme exemple, considérons la suite de Fibonacci qui est défi- valeur propre λ ∈ Ssi et seulement si c’est un vecteur non nul
nie par la récurrence : qui vérifie Ax = λx. Le noyau ker(A – λI) des vecteurs propres
α k +1 = α k + α k −1, pour k 51 associés à une valeur propre λ, ensemble complété du vecteur
nul, forme un sous-espace invariant par A appelé sous-espace
et α 0 = 1, α 1 = 1 propre associé à λ.
La matrice A est dite diagonalisable dans Ss’il existe une
 α  1 1 n ×n telle que la matrice D = X –1 AX soit
base X = [x1, ..., xn ] ∈ S
Elle peut s’écrire X k =  k +1 =  X k −1 . Les valeurs propres de diagonale. On dit alors que X diagonalise A.
 αk  1 0

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 224 – 2 est strictement interdite. – © Editions T.I.

XX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT

_______________________________________________________________________________________________________ CALCUL DES VALEURS PROPRES

Si λ est une valeur propre alors par définition il existe au moins


au vecteur propre u associé ou autrement dit, le sous-espace pro- Théorème 2 : forme de Jordan
pre ker(λI – A) est au moins de dimension 1. Cela permet d’affir- Toute matrice carrée complexe est semblable à une matrice
mer la proposition suivante. J diagonale par blocs où tout bloc diagonal B peut être soit :
– de dimension 1 : B = µ : il est alors une valeur propre de la
matrice ;
Proposition 1 – de dimension r > 1 : il est alors une matrice bidiagonale de
Si le polynôme caractéristique d’une matrice a n racines dis- la forme B = µI + L où µ est une valeur propre et L la matrice
tinctes dans Salors la matrice est diagonalisable dans S . carrée de dimension r dont tous les coefficients sont nuls sauf
ceux de la première surdiagonale qui sont égaux à 1.
On appelle blocs de Jordan ces blocs, même dans le cas de
la dimension 1.

S
Remarque 1
Il existe des matrices non diagonalisables. Si on choisit
=Z , alors il peut y avoir des valeurs propres complexes.
Preuve R
♦ Voir par exemple [6] p. 34-37. ♦
Même lorsque l’on se place dans le corps S =K, certaines
matrices ne sont pas diagonalisables (elles ont donc des Ainsi chaque bloc de Jordan est associé à une valeur propre. Par
 0 1 contre, plusieurs blocs peuvent être associés à la même valeur
valeurs propres multiples). Par exemple la matrice A =  propre. On peut montrer que l’exposant du facteur (λ – µ ) dans la
 0 0 forme factorisée du polynôme caractéristique p (λ ) est égal à la
n’est diagonalisable ni dans Zni dans K . somme des dimensions des blocs associés à la valeur propre µ.

Remarque 3
On énonce maintenant un théorème fondamental de décomposi-
tion. La démonstration du théorème est constructive. Certains La décomposition de Jordan est plus complète que la
algorithmes sont construits sur ce principe. Dans l’énoncé, l’expo- décomposition de Schur puisque cette dernière s’obtient facile-
sant H appliqué à une matrice dénote son adjoint, c’est-à-dire la ment à partir de la forme canonique de Jordan et de la factori-
matrice conjuguée de sa transposée. sation QR (pour la définition de cette dernière, voir l’article
Méthodes numériques de base. Algèbre numérique [AF 1 221]).
En effet, de la forme de Jordan A = XJX –1, et de la factorisation
Théorème 1 : forme de Schur complexe QR de X qui assure que X = QR où Q est une matrice orthogo-
Dans K , toute matrice A est unitairement semblable à une nale et R une matrice triangulaire supérieure, inversible puis-
n ×n
matrice triangulaire supérieure : il existe une matrice U ∈ K que X est inversible, alors la matrice A se décompose en
telle que UH U = I (donc UH = U –1) et la matrice T = UH AU est A = Q (RJR –1)QH. Comme RJR –1 est triangulaire supérieure car
triangulaire supérieure. J est bidiagonale supérieure, on a bien le résultat.

Corollaire 1 : développement du polynôme caractéristique


Preuve
Le polynôme caractéristique p (λ ) = det(A – λI) s’écrit sous la
♦ Voir par exemple [7] p. 9-10 ou [6] p. 33.34. ♦
forme :
p (λ) = (− 1)n λ n + (− 1)n −1γ 1λ n −1
+ (− 1)n − 2 γ 2 λ n − 2 + ... − γ n −1λ + γ n
Remarque 2 où les (γ i ) sont les polynômes symétriques élémentaires en les
Puisque le déterminant d’une matrice triangulaire est égal au valeurs propres (λi ) de A. En particulier :
produit de ses éléments diagonaux, il est évident que les
n
valeurs propres de A sont obtenues sur la diagonale de la
γ 1 = ∑ λi = trace(A) (2)
matrice T de la forme de Schur de A.
i =1
Pour tout µ ∈Z , on a A – µI = U (T – µI)UH et n
(A – µI)–1 = U (T – µI)–1UH, ce qui prouve que les deux matrices et γ n = ∏ λi = det(A) (3)
sont réduites sous la forme de Schur par la même matrice uni- i =1
taire que celle qui réduit A. Si λ est valeur propre de A alors
1 Preuve
λ – µ et (on suppose dans ce cas que λ ≠ µ ) sont respecti-
λ−µ ♦ Les formules (2) et (3) sont faciles à montrer. Pour calculer les
vement valeurs propres de A – µI et de (A – µI)–1. autres coefficients du polynôme caractéristique, on a recours aux
La forme de Schur n’est pas unique puisque l’on peut choisir identités de Newton (voir [15] p. 166-168). ♦
un ordre arbitraire d’énumération des valeurs propres sur la
diagonale de T.
Corollaire 2 : cas des matrices hermitiennes
Une matrice A ∈ K n ×n hermitienne est diagonalisable par une
On énonce maintenant un théorème qui est à la base de prati-
matrice unitaire et toutes ses valeurs propres sont réelles : il
quement tous les traités sur la diagonalisation des matrices car il
existe une matrice U ∈ K n ×n telle que UHU = I et la matrice
décrit une réduction de matrice sous la forme la plus simple. Par
contre, la réduction qu’il décrit n’est pas numériquement calcula- D = UH AU est diagonale réelle.
ble en arithmétique puisqu’elle correspond à un problème mal Dans le cas particulier où la matrice A est réelle symétrique,
posé car l’ensemble des matrices complexes diagonalisables à
valeurs propres distinctes est dense dans l’ensemble des matrices. alors la matrice U est une matrice réelle orthogonale (UTU = I).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 224 – 3

XY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT

CALCUL DES VALEURS PROPRES _______________________________________________________________________________________________________

Preuve
Définition 2
♦ On suppose que A est hermitienne : AH = A. On en déduit
qu’une décomposition de Schur de cette matrice vérifie : Le polynôme minimal est le polynôme monique q qui engen-
TH = (UH AU )H = UH AU = T. Une matrice triangulaire supérieure dre l’idéal :
hermitienne ne peut être que diagonale. De plus ses éléments dia- 8= {q ∈ K
[X ] q (A) = 0}
gonaux doivent être égaux à leurs conjugués ; ils sont donc
réels. ♦ Le polynôme minimal divise donc le polynôme caractéristi-
que et c’est donc celui de plus petit degré qui vérifie q (A) = 0.
Théorème 3 : forme de Schur réelle
Toute matrice A ∈ Z n ×n est orthogonalement semblable à
une matrice quasi-triangulaire supérieure : il existe une matrice
n ×n telle que QTQ = I et la matrice T = QT AQ est triangu-


Q ∈Z Remarque 4
laire supérieure par bloc, les blocs diagonaux étant de dimen- On peut montrer que l’exposant du facteur (λ – µ ) dans la
sion 1 ou 2 (les blocs de dimension 2 correspondent à des forme factorisée du polynôme caractéristique p (λ ) est égal à la
valeurs propres complexes conjuguées). plus grande dimension des blocs de Jordan associés à la
valeur propre µ.
Preuve
♦ Il suffit d’adapter la démonstration du théorème de la forme On termine les rappels de propriétés mathématiques par le théo-
de Schur complexe. On peut avancer la récurrence d’une ou deux rème suivant qui exprime une propriété fondamentale du spectre
unités suivant que l’on considère une valeur propre réelle λ ou un des matrices symétriques.
couple de valeurs propres conjuguées λ et λ . ♦
Il existe des inégalités sur les modules des valeurs propres qui
Théorème 6 : Cauchy
permettent de les localiser dans des parties bornées du plan
n ×n de dimen-
Soit B la matrice principale supérieure de A ∈ Z
complexe. La plus simple (mais la plus lâche) est donnée par toute
norme matricielle subordonnée à une norme vectorielle. sion n – 1. En numérotant les valeurs propres en ordre
croissant : λ1 4... 4λn pour A et µ 1 4... 4µ n −1 pour B, on
obtient l’entrelacement suivant :
Proposition 2
n ×n subordonnée à une
Pour toute norme matricielle de K λ1 4µ 1 4λ 2 4µ 2 4... 4µ n −1 4λn
norme de K n , on est assuré de l’inégalité :

ρ (A) 4A
Preuve
où ρ (A) = max{| λ | | λ est valeur propre de A} est appelé le ♦ Voir [30] p. 197. ♦
rayon spectral de A.

Preuve 1.3 Algorithme de la puissance itérée


♦Soit λ une valeur propre de module maximal et u un vecteur et ses dérivés
propre associé normé dans la norme vectorielle considérée. On a
alors l’inégalité suivante : Pour simplifier l’exposé, on se restreint ici au cas d’une matrice
réelle, mais la généralisation au cas complexe est triviale. Si on
ρ (A) = λ u = Au 4A ♦ suppose que la matrice réelle A a pour valeur propre de plus grand
Cela entraîne donc que le spectre de A est inclus dans le disque module une seule valeur propre et simple λ (donc λ est égale au
centré en 0 et de rayon ||A||. Le théorème suivant permet de définir rayon spectral de A ou à son opposé), alors l’algorithme 1 permet
une région plus restreinte que ce disque. de calculer cette valeur propre ainsi que son vecteur propre x
associé.

Théorème 4 : Gershgorin
n ×n , l’ensemble des valeurs
Pour toute matrice A = (aij ) ∈ K Algorithme 1 – Algorithme de la puissance
propres de A est inclus dans l’ensemble (Uni =13 i ) où 3i est le [lambda,x]=puissance (A,tol)
disque fermé du plan complexe de centre aii et de rayon
∑ j ≠i aij . x=rand (n,1) ; x = x/norm(x) ;
y=A∗x ; lambda = x’∗y ;
r= y – lambda ∗x ;
Théorème 5 : Cayley-Hamilton while norm(r) > tol
n ×n vérifie
Le polynôme caractéristique p de la matrice A ∈ K x = y / norm(y) ;
p (A) = 0. y = A∗x ; lambda = x’∗y ;
r = y – lambda∗x ;
end ;
Preuve
♦ Voir [13]. ♦
Dans l’anneau des polynômes, l’ensemble des polynômes qui Nota : l’algorithme est écrit sous une forme simplifiée ; pour une version de biblio-
thèque, il serait nécessaire de tester le nombre d’itérations afin d’arrêter le procédé en
sont nuls en A forme un idéal. Le polynôme caractéristique p y cas de non-convergence ; il faudrait aussi définir un paramètre tol qui soit proportionnel
appartient. à | λ | ou à la norme de la matrice A.

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 224 – 4 est strictement interdite. – © Editions T.I.

YP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT

_______________________________________________________________________________________________________ CALCUL DES VALEURS PROPRES

L’algorithme 2 est utilisé dans les bibliothèques pour calculer le


Proposition 3 vecteur propre associé à une valeur propre calculée à la précision
L’algorithme 1 converge presque sûrement au taux de machine. On peut en être surpris car alors la résolution du sys-
tème linéaire de chaque itération est singulier à la précision
λ2 machine. Il produit donc une erreur très grande sur la solution.
convergence où λ2 est une valeur propre de plus grand
λ Cependant, un miracle se produit puisque l’erreur est elle-même
module inférieur au rayon spectral de A. pratiquement colinéaire au vecteur propre cherché (pour plus de
précision, voir [24] p. 65-68). Avec une telle procédure, lorsque la
Preuve valeur propre est assez bien isolée du reste du spectre, une seule
itération suffit pour obtenir la convergence.
♦ La suite des itérés est indicée par k = 0, 1, ... où x 0 est un vec-
teur initial. Supposons que A = QDQT où Q est la matrice orthogo- On peut aussi adapter la méthode de la puissance inverse en
nale des vecteurs propres et D = diag(λ, λ 2 , ..., λn ). Soit u = QTx 0 . réestimant à chaque itération la valeur propre par le quotient de


Alors xk = αk Akx 0 où αk est un certain réel qui rend normé le vec- Rayleigh : pour chaque itéré normalisé x du vecteur propre, on cal-
teur xk . On en déduit que xk = αkQDku et donc que : cule le nombre λ = ρ (x) = xTAx. Cela permet de partir d’une
approximation plus grossière de la valeur propre. L’inconvénient
 u1  est que la procédure entraîne une factorisation de matrice à cha-
 k  que itération. On obtient alors l’algorithme suivant.
 2 λ  
   u2 
 λ 
x k = λ αkQ
k
Algorithme 3 – Algorithme du quotient de Rayleigh
 S 
 k  [lambda, x]=quotient_rayleigh (A,mu,tol)
  λn  
 
  λ  n 
u
x=rand(n,1) ; x = x/norm(x) ;
où ui (i = 1, ..., n) sont les composantes de u. La convergence de la y=(A – mu∗eye(n)) \ x ; alpha = norm(y) ;
direction du vecteur xk vers celle du vecteur q 1 , première colonne while 1/alpha >= tol
de Q est donc obtenue dès que u 1 ≠ 0 (si la valeur propre λ est x = y / alpha ;
négative, la suite des itérés sera alternée à la limite). ♦ lambda = x’∗A∗x ;
Cet algorithme a eu beaucoup de succès à cause de sa grande y = (A – lambda∗eye(n))\ x ;
simplicité et du fait qu’il n’accède à la matrice A qu’à travers sa alpha = norm(y) ;
multiplication par des vecteurs. Cette propriété est spécialement end ;
intéressante dans le cas des matrices de grande taille. La meilleure
illustration est sans doute son utilisation dans le moteur de recher-
Lorsque la matrice est réelle symétrique (ou hermitienne
che Google qui recherche le vecteur propre dominant d’une
complexe), la convergence de l’algorithme est cubique (voir [24]
matrice stochastique de dimension supérieure à 25 milliards [17].
p. 72). Sinon, la convergence est quadratique.
Cependant, ces avantages sont souvent un peu illusoires car la
méthode est à convergence lente pour les grandes matrices où le
λ2
plus couramment, le rapport
λ
est très proche de l’unité. 2. Algorithme QR pour le cas
Par contre, une adaptation de cet algorithme est couramment uti-
lisée pour calculer le vecteur propre d’une valeur propre simple λ
non symétrique
déjà estimée par une bonne approximation µ. Supposons que
Dans ce paragraphe, on suppose que la matrice A, dont on
l’erreur sur la valeur propre soit ε = |λ – µ | et que ε 9λ 2 − µ où λ2
recherche les valeurs propres, est réelle et qu’on maintient les
est la valeur propre de A différente de λ mais la plus proche. Si on calculs réels aussi longtemps que possible. C’est en effet le cas le
applique l’algorithme de la puissance à la matrice C = (A – µ I)–1 alors plus courant. Même si le recours à l’arithmétique complexe dans
le cas des matrices non symétriques est conceptuellement plus
ε simple que la restriction aux calculs réels puisqu’il supprime le
le taux de convergence sera de 91. En remarquant que la
λ2 − µ traitement de cas particuliers, du point de vue informatique, on
préfère éviter les calculs complexes car ils ralentissent générale-
x y
relation y = Cx entraîne que = (A − µ I) est égal au résidu du ment l’exécution. Cependant, tous les calculs décrits peuvent être
y y exécutés en arithmétique complexe en faisant attention à utiliser le
 y  1 produit scalaire hermitien de deux vecteurs complexes x et y défini
couple  µ , , on en déduit que la norme du résidu est . On
y 
T
 y par x H y = x y .
peut donc utiliser cette quantité pour détecter la convergence.
Puisque la forme de Hessenberg est préservée par l’algorithme
QR qui sera décrit ensuite, il est important de réduire d’abord la
Algorithme 2 – Algorithme de la puissance inverse matrice donnée sous cette forme par des transformations de simi-
x=puissance_inverse(A,mu,tol) larité.

B=A – mu∗eye(n) ; 2.1 Réduction à la forme Hessenberg


x=rand(n,1) ; x = x/norm(x) ;
y=B \ x ; alpha = norm(y) ;
supérieure
while 1/alpha >= tol On rappelle d’abord les transformations de Householder pour
x = y / alpha ; transformer une matrice non symétrique à la forme de Hessenberg
y = B \ x ; supérieure. Les matrices de symétrie de Householder sont des
alpha = norm(y) ; matrices de la forme :
end ;
P = I − 2ww T

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 224 – 5

YQ

YR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ

Optimisation en nombres entiers

par Michel MINOUX


Professeur à l’Université Pierre-et-Marie-Curie, Paris 6


1. Contexte...................................................................................................... AF 1 251 - 2
2. Exemple d’application en productique .............................................. — 2
2.1 Premier modèle : problème d’optimisation continue (convexe) ............. — 2
2.2 Second modèle (en nombres entiers) : cas de ressources discrètes....... — 3
2.3 Particularités et difficulté de l’optimisation en nombres entiers ............. — 3
2.4 Importance particulière des problèmes linéaires en nombres entiers .... — 4
3. Méthodes de programmation linéaire continue .............................. — 4
3.1 Algorithme du simplexe .............................................................................. — 4
3.2 Méthodes de points intérieurs .................................................................... — 5
4. Résolution exacte des programmes linéaires
en nombres entiers .................................................................................. — 6
4.1 Méthode des « coupes de Gomory » ......................................................... — 6
4.2 Recherche arborescente par séparation et évaluation
(Branch & Bound) ........................................................................................ — 8
4.3 Méthodes de la « combinatoire polyédrique » .......................................... — 10
4.3.1 Problème de « voyageur de commerce » ......................................... — 10
4.3.2 Problème du « sac à dos » en variables 0-1...................................... — 11
4.3.3 Problème d’ensemble stable dans un graphe .................................. — 11
4.3.4 Impact des résultats de la combinatoire polyédrique
sur l’efficacité de résolution ........................................................................ — 11
Pour en savoir plus ........................................................................................... Doc. AF 1 251

es problèmes d’optimisation continue linéaires ou convexes sont résolus


L très efficacement. Par exemple, on résout couramment aujourd’hui des
programmes linéaires continus ayant des dizaines, voire des centaines, de mil-
liers de variables et de contraintes. Cependant, les applications industrielles
imposent très fréquemment des contraintes d’intégrité sur tout ou partie des
variables ; les problèmes qui en résultent sont généralement beaucoup plus
difficiles que leurs versions continues. Les progrès réalisés depuis une ving-
taine d’années permettent de résoudre efficacement beaucoup de ces
problèmes, souvent de taille importante, mais on peut encore rencontrer
aujourd’hui des problèmes comportant seulement quelques centaines de
variables entières et de contraintes qui ne peuvent être résolus exactement en
un temps raisonnable, disons en moins de quelques heures de calcul. Le
présent dossier propose une vue d’ensemble des principaux outils théoriques
et algorithmiques permettant d’aborder la résolution exacte de tels problèmes
en mentionnant quelques-unes des applications les plus importantes.
p。イオエゥッョ@Z@。カイゥャ@RPPX

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 251 – 1

YS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ

OPTIM ISATION EN N OM B RES EN TIERS _________________________________________________________________________________________________

1. Contexte Les méthodes approchées (ou heuristiques) pour la résolution


de problèmes en nombres entiers ne sont pas développées, en
tant que telles, dans le présent dossier. Une des raisons en est
Un problème d’optimisation en nombres entiers sous que, pour la plupart, les méthodes exactes dont il sera question
contraintes se pose, de façon générale, comme la recherche du peuvent être utilisées aussi pour obtenir des solutions
minimum (ou du maximum) d’une fonction réelle de n variables approchées : il suffit pour cela d’interrompre le processus de réso-
réelles f : ⺢n → ⺢ sur un sous-ensemble X de ⺢n donné, appelé lution avant d’avoir obtenu la preuve de l’optimabilité exacte. Évi-
ensemble des solutions admissibles. On peut, sans perte de géné- demment, il existe parallèlement une vaste littérature sur la
ralité, supposer X décrit comme l’ensemble des points de ⺢n satis- résolution approchée de problèmes en nombres entiers [38].
faisant un certain nombre de conditions (contraintes) de deux
types :
(a) des contraintes (dites algébriques) de la forme gi (x) ⭐ 0 ,
2. Exemple d’application

i = 1, ..., m (ici les gi sont des fonctions ⺢n → ⺢ que l’on suppose le
plus souvent continûment différentiables) ; en productique
(b) des contraintes (dites d’intégrité) de la forme x j ∈ ⺪ pour les
variables correspondant à un sous-ensemble d’indices
J ⊆ {1, 2, ..., n}.
2.1 Premier modèle : problème
d’optimisation continue (convexe)
Ainsi, le modèle général pour un problème d’optimisation en On veut réaliser en temps minimal un ensemble de trois tâches
nombres entiers PNE est (cas de la minimisation) : T1, T2, T3, les tâches T2 et T3 pouvant s’exécuter simultanément,
mais leur exécution ne pouvant démarrer qu’à partir du moment
Minimiser f (x ) où la tâche T1 est terminée.

sous les contraint es Pour chaque tâche i, la durée d’exécution θi est supposée être
 une fonction connue :
(PNE ) gi (x ) ⭐ 0 (i = 1, ..., m)
x ∈⺢n fi : ⺢+ → ⺢+

x j ∈⺪, ∀j ∈J ⊆ {1, 2, ..., n} continue et décroissante de la quantité de ressource xi qui lui est
affectée. On considère par exemple que la ressource en question
Lorsque, dans un problème en nombres entiers, on décide est une ressource énergétique (des kilowatts) ou une ressource
de relâcher les contraintes d’intégrité, on obtient un problème financière (des kiloeuros). On a alors θi = fi (xi ) (durée d’exécution
d’optimisation continue : de la tâche i ). On suppose enfin que la quantité de ressource totale
disponible est limitée, la limite étant une valeur donnée b > 0
Minimiser f (x) (« budget »). Le problème d’optimisation de production (PROD)
 ci-avant se modélise aisément comme le problème d’optimisation
 sous les contra int es sous contraintes :
(PNE ) 
gi (x) ⭐ 0, (i = 1, ..., m)
x ∈ ⺢n  Minimiser z

sous les contraint es
(PNE ) est appelé la relaxation continue de (PNE).  f1(x1) + f2 (x 2 ) − z ⭐ 0 (1)
(PROD) 
 f1(x1) + f3 (x 3 ) − z ⭐ 0
(2)
On remarque que la valeur optimale de (PNE ) est nécessaire-  x1 + x 2 + x 3 ⭐ b
ment inférieure ou égale à la valeur optimale de (PNE) (puisque 
 x1 ⭓ 0, x 2 ⭓ 0, x 3 ⭓ 0, z ⭓0
dans (PNE ) on minimise sur un ensemble de solutions plus vaste).
Ainsi la résolution de la relaxation continue d’un problème en Si on suppose par exemple :
nombres entiers est une façon naturelle d’obtenir des minorants
des valeurs optimales entières. Nous verrons quel parti on peut α1 α α
tirer de cette remarque simple dans le contexte des méthodes de f1(x1) = , f (x ) = 2 , f (x ) = 3
x1 2 2 x 2 3 3 x 3
résolution par recherche arborescente (cf. § 4.2).
Dans le présent dossier, nous nous proposons d’introduire les où α 1 , α 2 , α 3 sont des paramètres positifs donnés. On peut mon-
principaux concepts et les principales méthodes algorithmiques trer notamment en écrivant les conditions d’optimalité de
pour la résolution de problèmes en nombres entiers en mettant Karush-Kühn-Tucker (qui sont ici nécessaires et suffisantes à cause
l’accent sur les méthodes exactes. Nous commençons dans le de la convexité des fonctions fi sur ]0, + ∞[, cf. par exemple [38],
paragraphe 2 par présenter un exemple illustratif typique des nom- chap. 5) que la solution optimale (unique) est :
breuses applications de l’optimisation en nombres entiers en pro-
ductique, exemple qui nous permettra déjà de faire apparaître des b α2 α3
x1 = x2 = x1 x3 = x1
caractéristiques distinctives des problèmes en nombres entiers par α2 +α3 α 1α 2 + α 1α 3 α 1α 2 + α 1α 3
rapport à l’optimisation continue. La résolution efficace de pro- 1+
α1
grammes linéaires continus constitue un outil de base pour résou-
dre des problèmes linéaires en nombres entiers. Le paragraphe 3
propose une revue synthétique des principales méthodes dispo- Exemple : si b = 10, α 1 = 20, α 2 = 30, α 3 = 50, on obtient les
nibles (algorithme du simplexe, points intérieurs). Enfin, dans le valeurs optimales :
paragraphe 4, nous passons en revue les principales méthodes per-
mettant la résolution exacte (avec la preuve d’optimalité exacte) de x1 = 3, 33 x2 = 2 , 5 x3 = 4,16
programmes linéaires en nombres entiers : méthodes de coupes,
recherche arborescente (« Branch & Bound »), combinatoire polyé- et le délai optimal de réalisation des trois tâches est : 18,0 (en minu-
drique. tes par exemple).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 251 – 2 est strictement interdite. – © Editions T.I.

YT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ

__________________________________________________________________________________________________ OPTIM ISATION EN N OM B RES EN TIERS

2.2 Second modèle (en nombres entiers) : Si, dans (PRODNE), on décide de relâcher les contraintes d’inté-
cas de ressources discrètes grité sur les variables y, on obtient la solution optimale de la
relaxation continue (PRODNE ) :
Dans le problème précédent, les variables x1 , x2 , x3 , z étaient
supposées pouvoir prendre des valeurs réelles quelconques (posi- x1 = 3, 33 x 2 = 2, 5 x 3 = 4,16 z = 18
tives ou nulles), on avait affaire à un problème d’optimisation
continue. Cependant, bien qu’il ne soit pas rare de rencontrer des , =0
y11 y12 = 0, 733 y1,3 = 0, 267
problèmes de ce type, il est encore plus fréquent, dans les problè- y 21 = 0 y 22 = 0 , 9 y 23 = 0,1
mes issus d’applications industrielles, d’avoir à imposer des y 31 = 0 y 32 = 0, 566 y 33 = 0, 434
conditions supplémentaires restreignant les valeurs permises pour
certaines variables, à un ensemble fini discret donné. De telles
contraintes apparaissent très naturellement lorsque les variables On remarque que les composantes x1, x 2 , x 3 de la solution opti-


représentent des quantités non fractionnables. Ainsi, en reprenant
male de (PRODNE ) correspondent exactement à la solution opti-
l’exemple précédent, supposons que la ressource disponible cor-
male de (PROD). Le fait d’imposer des contraintes d’intégrité a
responde à une capacité de transport procurée par des chariots de
donc eu un impact très fort sur notre problème : la durée optimale
transport de divers types (les tâches T1, T2, T3 consistant dans ce
de réalisation des tâches est passée de 18 (minutes) à 32,8
cas à transporter des produits manufacturés entre les machines
(minutes), soit une augmentation en valeur relative de 82 % (on
dans un atelier). On dispose par exemple de trois types de chariots
note que l’écart entre la valeur optimale continue et la valeur opti-
procurant des capacités de transport 1, 2, et 7 respectivement.
male entière est ici particulièrement important). La solution opti-
Dans ce cas, affecter 3,33 unités de ressource à la tâche 1, ou 2,5
unités de ressource à la tâche 3 n’a plus de sens : il faut obliger 7
chacune des variables x1 , x 2 et x 3 à prendre ses valeurs dans  
male entière x* =  1 n’a rien à voir avec la solution optimale
l’ensemble {1, 2, 7}.  
 2
Une façon d’inclure ce type de contrainte dans le modèle
consiste, pour chacune des variables xi , à introduire trois variables  3, 33
additionnelles yi,1 , yi,2 , yi,3 , puis à réexprimer xi comme : continue x =  2, 5  . Les composantes sont très différentes et, de
 
 4,16
xi = y i ,1 + 2y i ,2 + 7y i ,3
toute évidence, x* ne se déduit pas de x par un simple « arrondi »
tout en imposant aux variables yi,j de ne prendre que des valeurs (le remplacement de chaque composante par la valeur permise la
entières 0 ou 1, et de vérifier :
plus proche dans l’ensemble {1, 2, 7} ; ici l’« arrondi » de x donne-
y i ,1 + y i ,2 + y i ,3 = 1 rait la solution x1 = x2 = x3 = 2).

Le modèle d’optimisation correspondant à cette nouvelle situa-


tion est maintenant un problème de production en nombres 2.3 Particularités et difficulté
entiers (PRODNE) qui s’écrit : de l’optimisation en nombres entiers
 Minimiser z L’exemple du paragraphe 2.2 n’est qu’une instance (de taille
 réduite) d’une classe de problèmes assez classiques en produc-
sous les contraint es
 f1(x1) + f2 (x 2 ) − z ⭐ 0 tique : les problèmes d’ordonnancement avec contraintes de pré-
(3) cédence (mais sans contrainte de disjonction), durées des tâches

 f1(x1) + f3 (x 3 ) − z ⭐ 0 (4) variables en fonction des ressources qui leur sont affectées et
 x + x + x ⭐b contrainte d’intégrité sur les niveaux d’activité des tâches. Bien
 1 2 3
(PRODNE)  x − y − 2y − 7y = 0 (∀i = 1, 2, 3) sûr, il existe une très grande variété d’autres problèmes d’ordon-
 i i ,1 i ,2 i ,3 nancement, la plupart conduisant à des problèmes d’optimisation
 y i ,1 + y i ,2 + y i ,3 = 1 (∀i = 1, ..., 3) en nombres entiers souvent difficiles à résoudre.

 x i ⭓ 0 (∀i = 1, ..., 3) Cet exemple nous permet néanmoins d’illustrer les principaux
 y ⭓ 0 (∀i = 1, ..., 3, ∀j = 1, ..., 3) aspects par lesquels les problèmes d’optimisation en nombres
 ij entiers se distinguent des problèmes d’optimisation continus :
 y ij ∈⺪ (∀i = 1, ..., 3, ∀j = 1, ..., 3)
– mis à part des cas très particuliers (problèmes spécialement
structurés), la résolution de la relaxation continue du problème
n’apporte pas souvent d’indication permettant de déduire simple-
Le problème précédent comporte maintenant, en plus des 4
ment la solution optimale entière ;
variables continues de (PROD), 9 variables entières yij .
– la valeur de l’objectif de la relaxation continue z constitue un
Du fait du nombre réduit de variables, cet exemple se résout minorant (dans le cas d’un objectif à minimiser) de la valeur opti-
aisément par énumération (chaque variable pouvant prendre 3 male entière z* (cf. l’exemple où z = 18 , z* = 32,85) ; de plus,
valeurs distinctes, il y a au plus 33 = 27 combinaisons à examiner, l’écart entre les deux valeurs, appelé saut d’intégrité (integrality
en réalité moins car toutes ne satisfont pas la condition gap) donne une indication assez fiable sur le niveau de difficulté
x1 + x 2 + x 3 ⭐ b pour b = 10 . La solution optimale de (PRODNE) de résolution (exacte) du problème : plus l’écart est grand et moins
est : la résolution du problème continu sera utile pour guider la résolu-
tion en nombres entiers ;
x*1 = 7 x*2 = 1 x*3 = 2 z * = 32,85 – dans l’état actuel des connaissances du domaine, les tech-
niques les plus avancées pour la résolution exacte de problèmes
, = 0 y 1,2 = 0
y *11 y *1,3 = 1
*
en nombres entiers passent généralement par une forme ou une
y *21 = 1 y *22 = 0 y *23 = 0 autre d’énumération. C’est cette nécessité de recourir à une énu-
mération, même partielle (ou implicite) de l’ensemble des solu-
y *31 = 0 y *32 =1 y *33 = 0 tions, qui (sauf cas particulier) fait considérer les problèmes en

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 251 – 3

YU

YV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR

Optimisation différentiable

par Jean Charles GILBERT


Directeur de recherche à l’INRIA (Institut national de recherche en informatique


et en automatique)

1. Outils théoriques, concepts algorithmiques .................................... AF 1 252 - 2


1.1 Problème à résoudre ................................................................................... — 2
1.2 Conditions d’optimalité ............................................................................... — 3
1.3 Prolégomènes à l’algorithmique ................................................................ — 4
1.3.1 Quelques principes ............................................................................. — 4
1.3.2 Vitesse de convergence des suites.................................................... — 5
1.3.3 Calcul des dérivées ............................................................................. — 5
2. Optimisation sans contrainte ............................................................... — 5
2.1 Techniques de globalisation ....................................................................... — 5
2.1.1 Recherche linéaire............................................................................... — 5
2.1.2 Régions de confiance.......................................................................... — 7
2.2 Méthodes rapidement convergentes ......................................................... — 9
2.2.1 Newton................................................................................................. — 9
2.2.2 Quasi-Newton...................................................................................... — 10
2.3 Problèmes de moindres-carrés ................................................................... — 12
2.3.1 Gauss-Newton ..................................................................................... — 12
2.3.2 Globalisation ....................................................................................... — 12
2.3.3 Apports quasi-newtoniens ................................................................. — 13
3. Optimisation avec contraintes d’égalité et d’inégalité ................. — 13
3.1 Méthodes newtoniennes ............................................................................. — 13
3.1.1 SQP local.............................................................................................. — 13
3.1.2 Globalisation ....................................................................................... — 14
3.1.3 Commande optimale .......................................................................... — 16
3.2 Méthodes de points intérieurs .................................................................... — 16
3.2.1 Conception d’un algorithme .............................................................. — 17
3.2.2 Résolution d’un problème barrière ................................................... — 17
Pour en savoir plus ........................................................................................... Doc. AF 1 252

ette synthèse raisonnée décrit les principaux algorithmes de résolution


C des problèmes d’optimisation différentiable et en donne leur motivation.
Ces problèmes se posent lorsque l’on cherche à déterminer la valeur optimale
d’un nombre fini de paramètres. L’optimalité signifie ici la minimalité d’un
critère donné. La différentiabilité supposée des fonctions qui définissent le
problème écarte d’emblée de notre propos l’optimisation combinatoire (les
paramètres à optimiser ne prennent que des valeurs entières ou discrètes, voir
le dossier « Optimisation en nombres entiers » [AF 1 251]) et l’optimisation non
lisse (les fonctions ont des irrégularités, voir le dossier « Optimisation et
convexité » [AF 1 253]).
Les problèmes d’optimisation se présentent dans de nombreux domaines de
l’ingénieur, ainsi qu’en science et en économie, souvent après avoir conduit à
leur terme les étapes de simulation. Il arrive souvent que ces problèmes se
posent en dimension infinie, c’est-à-dire que l’on cherche une fonction opti-
male plutôt qu’un nombre fini de paramètres optimaux. Il faut alors passer par
une phase de discrétisation (en espace, en temps) pour retrouver le cadre qui
p。イオエゥッョ@Z@。カイゥャ@RPPX

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 252 – 1

YW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR

OPTIM ISATION DIFFÉREN TIAB LE ______________________________________________________________________________________________________

est le nôtre et se ramener ainsi à un problème qui peut être résolu sur ordina-
teur. La transcription directe des problèmes de commande optimale suit une
telle procédure de discrétisation. D’autres exemples sont décrits dans le
dossier « Optimisation continue » [S 7 210].
Les méthodes numériques de l’optimisation ont principalement été dévelop-
pées après la seconde guerre mondiale, en parallèle avec l’amélioration des
ordinateurs, et n’ont cessé depuis de s’enrichir. En optimisation non linéaire,
on peut ainsi distinguer plusieurs vagues : méthodes de pénalisation, méthode
du lagrangien augmenté (1958), méthodes de quasi-Newton (1959), méthodes
newtoniennes ou SQP (1976), algorithmes de points intérieurs (1984). Une


vague n’efface pas la précédente mais permet d’apporter de meilleures
réponses à certaines classes de problèmes, comme ce fut le cas pour les
méthodes de points intérieurs en optimisation semi-définie positive (SDP). Une
attention particulière est portée aux algorithmes pouvant traiter les problèmes
de grande taille, ceux qui se présentent dans les applications.

Notations La formulation de (PX ) est très générale. Dans ce dossier,


nous nous restreignons au cas où X est une partie de ⺢n
décrite par des contraintes fonctionnelles d’égalité et
La norme euclidienne (ou ℓ 2 ) est notée || · ||2 . d’inégalité :
L’inégalité v ⭐ w (resp. u < v) entre deux vecteurs v et w signi-
 min f (x )
fie que v i ⭐ w i (resp. vi < wi ) pour tout indice i. 
On note ᏾ (M ) et ᏺ (M ) l’image et le noyau d’une matrice M.
(PE I )  ci (x ) = 0, i ∈E
 c (x ) ⭐ 0, i ∈ I.
Pour indiquer qu’une matrice carrée M est symétrique  i
semi-définie positive (resp. définie positive), on note M Ɒ 0
(resp. M Ɑ 0 ). Les deux ensembles d’indices E et I sont supposés former une par-
L’ensemble des matrices symétriques d’ordre n est noté tition de {1, ..., m}, c’est-à-dire que E ∪ I = {1, ..., m} et E ∩ I = ∅,
n
⺣n , ⺣n+ : = {M ∈ ⺣n : M Ɒ 0 } et ⺣++ : = {M ∈ ⺣n : M Ɑ 0 } . tandis que f : ⺢n → ⺢ et les c i : ⺢n → ⺢ sont des fonctions différen-
Une fonction f est dite de classe C m,α si elle est m fois différen- tiables, éventuellement non convexes.
tiable et si sa dérivée m-ième vérifie pour une constante C et
pour tout x et y : On note mE = |E | et m I = |I | ; donc m = mE + m I . Dans (PEI),
α l’ensemble admissible s’écrit :
f (m) (y ) − f (m) (x ) ⭐ C y − x .
X : = {x ∈⺢n : cE (x ) = 0, c I (x ) ⭐ 0}.

Si v ∈ ⺢m , on note vE (resp. v I) le vecteur de ⺢mE (resp. ⺢mI )


1. Outils théoriques, formé des composantes vi de v avec i ∈ E (resp. i ∈ I). Le problème
(PEI) est dit convexe, si f est convexe, si les composantes de c I
concepts algorithmiques sont convexes et si cE est affine.
En face d’un problème d’optimisation comme (PX ), plusieurs
questions se posent. La première a trait à l’existence d’une solu-
1.1 Problème à résoudre tion et à l’unicité de celle-ci. Rien ne sert en effet d’essayer de
résoudre numériquement un problème qui n’a pas de solution !
De manière assez formelle, un problème d’optimisation se pose L’unicité est une propriété appréciée par beaucoup d’algorithmes,
lorsque l’on cherche un point d’un ensemble X en lequel une fonc- mais est moins essentielle. Si le problème de l’existence est
tion f définie sur cet ensemble prend une valeur minimale. Nous souvent difficile, il ne faut pas manquer de vérifier si le résultat
l’écrirons de la manière suivante : standard suivant ne s’applique pas.

 min f (x )
(PX )  (1) Théorème 1 (Weierstrass)
 x ∈ X . Si X est un compact non vide et si f : X → ⺢ est continue,
La fonction f est appelée critère ou fonction-coût du problème. alors le problème (PX ) a au moins une solution.
L’ensemble X est appelé l’ensemble admissible du problème (sur-
tout s’il fait partie d’un ensemble plus grand) et un point de X est Ce résultat a diverses extensions intéressantes. D’une part, on
dit admissible. Une solution de (PX ) est un point x * ∈ X tel que peut remplacer la continuité de f par sa semi-continuité inférieure.
f (x *) ⭐ f (x ) pour tout x ∈ X. On parle aussi de minimum global, D’autre part, en dimension finie, on peut aussi remplacer X
par opposition à un minimum local x * ∈ X qui ne vérifie compact (un fermé borné en dimension finie) par X fermé et une
f (x *) ⭐ f (x ) que pour des x ∈ X voisins de x * (pour que cette hypothèse de croissance à l’infini de f :
notion de voisinage ait un sens, il faut que X soit un espace topo-
logique). On dit que ces minima sont stricts si on a l’inégalité
lim f (x ) = + ∞.
stricte f ( x *) < f (x ) pour des x ∈ X (éventuellement voisins de x ∗) x ∈X
x →∞
et différents de x * .

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 252 – 2 est strictement interdite. – © Editions T.I.

YX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR

_______________________________________________________________________________________________________ OPTIM ISATION DIFFÉREN TIAB LE

En ce qui concerne l’unicité d’une solution, le résultat le plus


simple, mais bien utile, est le suivant. Les notions de convexité
d’un ensemble et de convexité (stricte) d’une fonction sont définies ∇f (x* )
dans le dossier Vocabulaire des mathématiques [A 1 205].
X = {x : cE (x) = 0}
Théorème 2 (unicité de solution) x
*
Si X est une partie convexe d’un espace vectoriel E et si f est
strictement convexe sur X, alors (PX ) a au plus une solution. {x : f (x) = f (x )}
*

1.2 Conditions d’optimalité Figure 1 – Conditions d’optimalité de Lagrange

Les deux résultats ci-dessus ne sont d’aucune aide pour trouver


une solution de (PEI). Ce qu’il nous faut, c’est une version
analytique de l’optimalité, un ensemble d’équations et d’inéqua- Théorème 3 (CN1 – Karush, Kuhn et Tucker)

tions qui peuvent être résolues par les algorithmes. On sait qu’en Soit x * un minimum local de (PEI). Supposons que f et c E ∪I0
*
l’absence de contraintes, une fonction f a sa dérivée qui s’annule soient dérivables en x * et que les contraintes soient qualifiées
en un minimum x * : f ′ ( x *) = 0, ce que l’on peut aussi écrire en x *. Alors, il existe λ* ∈⺢m tel que l’on ait :
∇f ( x *) = 0, si
 ∂f   (a) ∇f (x *) + c ′ (x *)ⳕ λ* = 0
∇f (x ) =  (x )
 ∂x i  1⭐i ⭐n 
 (b) cE (x *) = 0

désigne le gradient de f en x, c’est-à-dire le vecteur de ses dérivées (KKT )  (c ) cI (x *) ⭐ 0 (2)
partielles (en fait le gradient dépend du produit scalaire que l’on se  (d ) (λ*)I ⭓ 0
donne sur ⺢n et la définition ci-dessus est celle qui correspond au 
 (e) (λ*)ⳕ
I c I (x *) = 0.
produit scalaire euclidien (u , v ) ֏ u ⳕv = ∑i =1ui v i ). C’est cette rela-
n

tion que l’on cherche à généraliser au problème (PEI). Deux obser-


vations préliminaires permettront de mieux comprendre ces L’identité (a) s’écrit aussi ∇ x ℓ (x *, λ*) = 0 , où ℓ est le lagrangien
conditions d’optimalité. du problème (PEI), c’est-à-dire la fonction ℓ : ⺢n × ⺢m → ⺢ , définie
en (x, λ ) par :
■ On dit qu’une contrainte (d’inégalité, i ∈ I) est active en x si m
ci (x ) = 0. Seules, les contraintes actives en une solution inter- ℓ (x , λ) = f (x ) + λⳕ c (x ) = f (x ) + ∑ λ i ci (x ). (3)
viennent dans les conditions d’optimalité. Il est donc utile de les i =1
désigner, ce qui se fait en introduisant :
Le vecteur λ* est appelé multiplicateur, car il multiplie la
I 0 (x ) := {i ∈ I : ci (x ) = 0}I et 0
* := I 0 (x *). contrainte dans le lagrangien. On note qu’il y a un multiplicateur
(une composante de λ ) par contrainte. Un point x * pour lequel il
■ Si on peut représenter l’ensemble admissible X par divers choix existe un multiplicateur λ* tel que (2) ait lieu est appelé station-
de fonctions ci (il ne change pas, par exemple, si on multiplie ces naire.
fonctions par un facteur strictement positif), toutes les représenta-
Que signifie ces conditions (2) qui paraissent bien compliquées ?
tions ne sont pas agréables pour exprimer l’optimalité.
Il s’agit en fait d’une expression analytique d’une condition géo-
Exemple : remplacer les mE > 1 contraintes cE (x ) = 0 par l’unique métrique de l’optimalité, qui est relativement aisée de retrouver à
2 partir de (2).
contrainte cE ( x ) = 0 n’est pas une bonne idée.
2 – Observons d’abord que l’on retrouve la condition ∇f ( x *) = 0
Il existe en réalité une notion de qualification des contraintes en un s’il n’y a pas de contrainte.
point, qui permet de sélectionner les représentations acceptables – S’il n’y a que des contraintes d’égalité (I = ∅), elles expriment
(s’il y en a). Elle est toutefois un peu longue à exprimer et difficile l’admissibilité de x* [condition (b)] et le fait
à vérifier. En pratique, on utilise plutôt l’une des conditions suffi- que ∇f (x *) ∈᏾ (c ′ (x *)ⳕ) = ᏺ (c ′ (x *))⊥ [condition (a)], c’est-à-dire
santes de qualification des contraintes QC suivantes en x. que ∇f ( x *) est orthogonal à l’espace tangent aux contraintes [le
noyau ᏺ (c ′ (x *)) est l’ensemble des directions suivant lesquelles c
(QC-A) c E ∪I 0 (x ) est affine dans un voisinage de x. ne varie pas au premier ordre en x * ; il s’agit donc bien de l’espace
(QC-S) Slater : cE est affine avec c E′ surjective, les composantes tangent aux contraintes en x *]. Géométriquement (figure 1), cette
condition exprime que le plan tangent à la variété {x : f (x) = f ( x *)}
de c I 0 (x ) sont convexes et on peut trouver un point
contient le plan tangent à X en x *.
 ∈ X tel que c 0 (x
x ) < 0 . – Supposons à présent qu’il n’y ait que des contraintes d’inéga-
I (x )
lité (E = ∅), pour simplifier. On remarque alors que les multiplica-
(QC-IL) Les gradients des contraintes actives en x, teurs ont un signe (condition (d)) et que la condition (e) s’écrit
{∇ci (x ) : i ∈ E ∪ I 0 (x)}, sont linéairement indépendants. aussi ( λ* )i ci ( x *) = 0 pour tout i ∈ I (on utilise (c) et (d)), c’est-à-dire
(QC-MF) Mangasarian-Fromovitz : si ∑i ∈E ∪ I 0 (x ) α i ∇c i (x) = 0 avec que soit ( λ*)i = 0 soit ci ( x *) = 0, ou encore pour i ∈ I :
α i ⭓ 0 pour i ∈ I 0 (x), alors αi = 0 pour tout i ∈ E ∪ I 0 (x). ci (x *) < 0 ⇒ (λ*)i = 0.
Si l’une de ces conditions est vérifiée en x, alors les contraintes Cela montre que les contraintes inactives en x * n’interviennent
sont qualifiées en ce point. pas dans les conditions de KKT, ce que l’on avait déjà signalé. On
Les conditions nécessaires d’optimalité du premier ordre CN1 comprend pourquoi (e) porte le nom de conditions de
(ainsi dénommées car seules les dérivées premières y inter- complémentarité. Si, pour i ∈ I, on a :
viennent) énoncées ci-dessous ont été attribuées à Karush, Kuhn et
Tucker (KKT), bien qu’ils ne soient pas les seuls à y avoir contribué. ci (x *) < 0 ⇔ (λ*)i = 0

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 252 – 3

YY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR

OPTIM ISATION DIFFÉREN TIAB LE ______________________________________________________________________________________________________

Théorème 5 (CN2)
Soit x * un minimum local de (PEI). Supposons que f et cE
Cône où se trouve ∇f (x* )
soient C 2 dans un voisinage de x *, que c I0 soit deux fois déri-
X = {x : cI (x) ≤ 0} *
vable en x * et que c I \ I 0 soit continue en x * . Supposons égale-
*
ment que les conditions de qualification de Mangasarian-
x*
Fromovitz (QC-MF) aient lieu en x * . Alors :

− ∇ci (x* ) ∀d ∈C *, ∃λ* ∈ Λ (x *) : d ⳕ∇2xx ℓ (x *, λ*)d ⭓ 0. (5)

Figure 2 – Conditions d’optimalité de KKT Si ( x *, λ* ) vérifie les conditions d’optimalité du premier

R ordre (2), on peut récrire le cône critique comme suit :

on dit que l’on a complémentarité stricte. À présent, la condition (a) C * : = {d ∈⺢n : cE′ ∪ I 0+ (x *) ⋅ d = 0, c I′ 00 (x *) ⋅ d ⭐ 0}, (6)
s’écrit : * *

où l’on a noté :
∇f (x *) = ∑ (λ*)i (− ∇ci (x *)).

i ∈I*0 ⭓0
I*0+ : = {i ∈ I*0 : (λ*)i > 0I } et * I :=
00 {i ∈ 0
* : (λ*)i = 0}.
Géométriquement (figure 2), cette identité exprime que le gradient
∇f ( x *) est dans le cône engendré par l’opposé des gradients des Les contraintes d’indices i ∈ I*0+ sont dites fortement actives et cel-
contraintes actives en x * . La figure 2 montre à l’évidence que les d’indices i ∈ I*00 sont dites faiblement actives. Ces dernières,
l’optimisation différentiable repose sur l’analyse convexe, pas seu- bien qu’actives (ci ( x *) = 0), peuvent être ôtées du problème sans
lement sur l’algèbre linéaire (un cône n’est pas un objet de cette modifier la stationnarité de x * (( λ*)i = 0). La forme (6) du cône cri-
dernière). tique montre qu’il se réduit au noyau de cE′ (x *), si le problème n’a
que des contraintes d’égalité.
Pour les problèmes d’optimisation convexe, les conditions de
Nous concluons ce paragraphe par des conditions suffisantes
KKT sont suffisantes pour entraîner l’optimalité globale.
d’optimalité du second ordre (CS2).

Théorème 4 (CS1)
Si le problème (PEI) est convexe et si ( x *, λ*) vérifie les Théorème 6 (CS2)
conditions de Karush, Kuhn et Tucker (2) (f et c E ∪I0 sont suppo- Supposons que f et c E ∪I0 soient dérivables dans un voisi-
*
sées dérivables en x *), alors x * est un minimum global de (PEI). *
nage d’un point x * ∈⺢n et deux fois dérivables en x * . Suppo-
sons également que Λ( x *) ≠ ∅. Supposons enfin que, pour une
Malgré l’importance et la complexité du sujet, nous sommes norme arbitraire || · ||, on ait :
plus concis sur les conditions du second ordre, celles qui font
2
intervenir les dérivées secondes de f et c. On cherche ici à généra- ∃γ > 0, ∀d ∈C *, ∃λ* ∈ Λ (x *) : d ⳕ∇2xx ℓ (x *, λ*)d ⭓ γ d . (7)
liser au problème (PEI) la condition selon laquelle une fonction f a
son hessien semi-défini positif en un minimum local, ce que l’on Alors, pour tout γ ∈[0, γ [ , il existe un voisinage V de x * tel que
peut aussi écrire ∇2 f (x *) Ɒ 0 , si pour tout x ∈ X ∩ V, différent de x * :
γ 2
f (x ) > f (x *) + x −x* . (8)
 ∂2 f  2
∇2 f (x ) =  (x )
∂x
 i j∂x  1 ⭐ i ⭐ n ,1 ⭐ j ⭐ n En particulier, x * est un minimum local strict de (PEI).

désigne le hessien de f en x, c’est-à-dire la matrice de ses dérivées


partielles secondes (comme le gradient, le hessien dépend du pro-
duit scalaire que l’on se donne sur ⺢n et la définition ci-dessus est 1.3 Prolégomènes à l’algorithmique
celle qui correspond au produit scalaire euclidien ). Il y a deux
aspects nouveaux par rapport à cette condition simple. D’une part, 1.3.1 Quelques principes
nous avons des informations sur le hessien du lagrangien en
( x *, λ*), pas sur celui de f en x * . D’autre part, la forme quadrati-
En général, on ne peut pas trouver une solution d’un problème
que associée à ce hessien n’est semi-définie positive que suivant
d’optimisation en un nombre fini d’étapes. Les exceptions sont peu
des directions d appartenant au cône critique :
nombreuses et on parle alors de terminaison finie ; citons l’optimi-
sation quadratique convexe non contrainte (voir le dossier Algorith-
C * := {d ∈⺢n : cE′ (x *) ⋅ d = 0, c I′ 0 (x *) ⋅ d ⭐ 0, f ′ (x *) ⋅ d ⭐ 0} (4) mes numériques pour la résolution des grands systèmes [AF 502])
*
et l’optimisation linéaire (voir dossier Optimisation en nombres
entiers [AF 1 251]). Le plus souvent, les algorithmes génèrent des
et pour un multiplicateur optimal, c’est-à-dire pour un élément par-
suites de points, que l’on appelle itérés, qu’ils s’efforcent de faire
ticulier de :
converger vers une solution. Même en optimisation linéaire, on pré-
fère parfois éviter l’algorithme du simplexe, à terminaison finie mais
Λ(x *) : = {λ * : (x *, λ*) est solution de (2)} qui peut requérir un nombre exponentiel d’itérations, pour les algo-
rithmes de points intérieurs, qui n’ont pas de terminaison finie mais
dépendant de cette direction d. Les conditions nécessaires d’opti- trouvent une solution approchée très rapidement (voir dossier Opti-
malité du second ordre (CN2) sont les suivantes. misation en nombres entiers [AF 1 251]).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 252 – 4 est strictement interdite. – © Editions T.I.

QPP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS

Optimisation et convexité

par Claude LEMARÉCHAL


Directeur de recherches à l’INRIA (Institut national de recherche en Informatique
et en Automatique)

1.
1.1
Introduction, motivation ........................................................................
Non-différentiabilité naturelle .....................................................................
AF 1 253 - 2
— 2

1.2 Non-différentiabilité provoquée ................................................................. — 3
2. Théorie de base ......................................................................................... — 5
2.1 Un minimum d’analyse convexe ................................................................ — 5
2.2 Relation avec le primal ................................................................................ — 6
3. Algorithmes d’optimisation .................................................................. — 8
3.1 Méthode de sous-gradients ........................................................................ — 8
3.2 Méthodes de plans sécants ......................................................................... — 8
3.3 Récupération primale .................................................................................. — 9
4. Problèmes voisins .................................................................................... — 10
4.1 Cas non convexe .......................................................................................... — 10
4.2 Problèmes structurés – Optimisation SDP ................................................. — 12
Pour en savoir plus ........................................................................................... Doc. AF 1 253

’optimisation comporte en gros deux mondes, dont les problèmes se res-


L semblent vus de loin, mais bien différents quant aux méthodes : le continu
et le discret. Le présent dossier traite surtout de l’optimisation non différen-
tiable, qui est un peu à cheval entre les deux mondes : les méthodes
appartiennent à 100 % au monde continu mais 90 % des problèmes touchent
de près ou de loin à l’optimisation discrète.
Parmi ces derniers, citons par exemple : la découpe industrielle, les tournées
de véhicules ou d’équipages, le routage de multiflots en télécommunications,
etc. Certaines techniques parmi les plus efficaces pour attaquer ces problèmes
(génération de colonnes, Branch and Price) font appel à l’optimisation dont il
est question ici : continue et non différentiable.
Les problèmes de grande taille appartiennent à la même famille : par leur
nombre de variables ou de contraintes, ou encore parce qu’ils comportent plu-
sieurs éléments hétérogènes, ces problèmes nécessitent de faire appel à une
technologie spéciale : la décomposition, laquelle conduit généralement à l’opti-
misation non différentiable. En productique par exemple, on peut disposer d’un
grand nombre de moyens de production de différents types, participant tous à la
même production : c’est le cas de l’énergie électrique, produite à la fois par des
centrales nucléaires, thermiques classiques, et des turbines hydro-électriques ;
ces moyens de production sont bien différents les uns des autres.
Les grands types de problèmes sus-mentionnés proviennent des sciences
« sociales » ; on en trouve d’autres de nature analogue, provenant de l’automa-
tique (stabilisation), de la statistique (calibrage de matrices de covariance), de la
mécanique (problèmes d’impacts), de l’électronique (semi-conducteurs) – liste
non exhaustive.

Le texte de ce dossier comporte de nombreuses allusions et références aux mondes de l’opti-


misation continue et discrète, déjà mentionnés. Le lecteur se reportera utilement aux articles :
– « Optimisation continue » [S 7 210] ;
– « Optimisation en nombres entiers » [AF 1 251] ;
p。イオエゥッョ@Z@。カイゥャ@RPPX

– « Optimisation différentiable » [AF 1 252].

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 253 – 1

QPQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS

OPTIM ISATION ET CON VEXITÉ ________________________________________________________________________________________________________

1. Introduction, motivation 1.1 Non-différentiabilité naturelle

1.1.1 Exemple introductif : taxation


Le problème-type traité dans ce dossier est l’optimisation
d’une fonction dont les dérivées présentent des singularités.
Nous notons ce problème : Commençons par un exemple schématique : u ∈⺢ repré-
min θ (u ), u ∈⺢n sente un bénéfice, qui induit une taxe T (u) ; on veut alors
minimiser u – T (u). La taxation se fait par paliers : taux fixe ri
(la raison de notre notation θ (u) au lieu de l’habituel f (x) pour u ∈ [u i , u i +1] suivant une formule familière, la fonction T
viendra au § 1.2.1). se présentant comme indiqué figure 1.

R On peut aussi rencontrer des contraintes c (u ) ⭐ 0 ; la nature du


problème ne change pas : minimiser θ c’est satisfaire la contrainte
θ (u ) ⭐ θ *, où θ * est la valeur minimale. Pour ces problèmes, les T (u)
outils de base ne proviennent pas du calcul différentiel mais de
l’analyse convexe.
r2
r1
L’exemple le plus naïf avec n = 1 est la fonction θ (u) = |u | (qui T1
u1 u2 u
est convexe) : sa dérivée existe partout sauf en 0 – un « détail » qui
ne peut être ignoré puisque 0 est justement le minimum de θ.
T2
Dans la grande majorité des cas, la non-différentiabilité vient de
l’intervention de l’opérateur max dans le calcul de θ. Schématique-
ment, on doit minimiser une fonction de la forme : Figure 1 – Système familier de taxation

θ (u) = max L (y , u), (1)


y ∈Y
À moins d’être absurde, T doit être une fonction continue(!) et
où L est une fonction régulière. Noter de ce point de vue que la même une contraction : ri < 1(!). Ce doit aussi être une fonction
valeur absolue ci-dessus peut se mettre sous forme d’un max de croissante : r i ⭓ 0(!) et même convexe : r i +1 > r i (!).
plusieurs façons : les égalités
Soit p le nombre de paliers. En regardant bien la figure 1, on se
convainc que :
u = max {u , − u } = max yu = max yu (2)
y ∈{ −1, +1} y ∈[−1, +1]
T (u) = max { − Ti + r i u : i = 1, ..., p },
sont faciles à établir. Dans la notation (1), Y peut être le doubleton les termes constants – Ti étant donnés par des formules simples.
{– 1, + 1} ou le segment [–1, + 1] ; nous reviendrons sur la diffé- Notre problème est bien de minimiser une fonction max (ou plutôt
rence entre ces deux écritures (exemple 2 du § 2.2). maximiser une fonction min, c’est la même chose). À chaque chan-
En fait, la non-différentiabilité introduit des difficultés de plu- gement de palier, la dérivée θ′ présente une discontinuité ;
sieurs types : remarquer qu’il y a néanmoins une dérivée à gauche θ −′ (ui ) = ri −1
et à droite θ ′+ (ui ) = ri .
– d’un point de vue théorique, la condition d’optimalité classique
∇θ (u) = 0 n’a plus de sens (∇ étant le vecteur des dérivées
partielles) ; 1.1.2 Problèmes spectraux
– d’un point de vue pratique, nous verrons que la situation n’est
formellement pas différente du cas différentiable : on dispose Dans l’exemple du § 1.1.1, Y = {1, ..., p} était un ensemble très
encore pour tout u ∈⺢n de la valeur θ (u) et d’un vecteur gu ∈⺢n simple ; donnons un exemple un peu plus sophistiqué tiré de
qui joue le rôle de gradient. Toutefois, la correspondance u ֏ gu l’automatique.
est forcément discontinue.

Dans notre exemple naïf, g pourrait être donné par gu = 1 si Une matrice de la forme :
u ⭓ 0, gu = – 1 si u < 0.
M (u ) = M0 + ∑i =1 u i Mi
n

Il en résulte qu’un algorithme, même convergent, a nécessaire-


ment un comportement instable (par rapport aux données, au dépend du paramètre u ∈⺢n , chaque Mi étant donné dans
point initial, à la précision-machine, etc.) ; l’espace Sm des matrices m × m symétriques.
– d’un point de vue algorithmique, la méthode du gradient qui
sert de base à toute l’optimisation classique devient non conver-
gente.
a. Dans toute une classe de problèmes, on veut trouver u tel
que la plus grande valeur propre de M (u) soit aussi petite que
Dans notre exemple |u |, la suite définie par la récurrence possible (rappelons qu’une matrice symétrique a toutes ses
u + = u – tgu va osciller autour de 0, avec |gu| ≡ 1, et cela quel que soit valeurs propres réelles). Ces problèmes consistent donc à mini-
le choix de t > 0. miser θ (u) : = λ max (M (u)).

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


AF 1 253 – 2 est strictement interdite. – © Editions T.I.

QPR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS

_________________________________________________________________________________________________________ OPTIM ISATION ET CON VEXITÉ

La plus grande valeur propre peut s’exprimer comme un max 1.2.1 Relaxation lagrangienne
grâce à la formule suivante, assez facile à accepter (décomposer
les vecteurs de ⺢m suivant une base de vecteurs propres de M ) : Formulons notre problème « trop difficile » comme suit :

max ϕ (y ), c (y ) = 0, y ∈Y , (5)
λmax (M ) = max {y ⳕMy : y ∈⺢m , y = 1 }. (3)
que nous appelons problème primal ; y est la variable primale.
La fonction θ est donc la composée d’une fonction affine et d’un Nous ne faisons pour le moment aucune hypothèse technique sur
max : l’ensemble Y, le critère ϕ :Y → ⺢ et les n contraintes c :Y → ⺢n ,
qui peuvent être absolument quelconques (et c’est bien
⺢n ∋ u ֏ M (u ) ∈Sm pourquoi (5) est difficile). En revanche, nous faisons une hypo-
Sm ∋ M ֏ λmax (M ) ∈ ⺢ thèse pragmatique : pour u ∈⺢n fixé, le problème :

(⺢n ∋ u signifiant u ∈⺢n ).

Cette écriture révèle la fonction ℓ (y , M ) := y ⳕ My , qui envoie


max L (y , u ) ,
y ∈Y
n
où L (y , u ) := ϕ (y ) − u ⳕ c (y ) = ϕ (u ) − ∑ u i c i (y ) (6)
i =1

⺢m × Sm dans ⺢ ; Y de (1) est ici la sphère unité de est « simple », en tout cas suffisamment simple pour être préféré
⺢m et L (y , u ) = ℓ (y , M (u )). Toute linéaire qu’elle est, la fonction à (5), quitte à passer du temps pour chercher un « bon » u.
ℓ (y , ⋅) présente une difficulté quant à l’étude de ses variations. À
un incrément du correspond l’incrément :
Pour illustrer ce qu’est un bon u, prenons l’exemple naïf de maxi-
miser – y 2 sous la contrainte y = 1. Bien qu’il ne soit guère difficile,
dM = ∑i du i Mi supposons que l’on décide de résoudre ce problème via (6),
c’est-à-dire via la minimisation de y 2 + uy. Naturellement, cela donne
et à cet incrément dM correspond l’incrément dℓ = y ⳕ dMy . On a yu = – u/2 et le bon u est u = – 2, qui fournit directement la solution
donc : yu = 1 de notre problème primal initial.

 n  n La relaxation lagrangienne est l’opération consistant à sup-


∂L
dL = y ⳕ  ∑ du i Mi  y = ∑ (y ⳕ Mi y ) du i , d’o
où (y , u) = y ⳕ Mi y . (4) primer les contraintes pour les mettre dans la fonction objectif,
 i =1  i =1 ∂u i remplaçant (5) par (6) ; on dit aussi que ces contraintes ont été
dualisées. Un objet fondamental est alors la valeur optimale
Cette formule est importante dans l’étude différentielle de λ max – dans (6) ; c’est un nombre réel (éventuellement + ∞) qui dépend de
et donc de θ. u, que nous notons :

b. Dans des problèmes similaires, on cherche une matrice θ (u) := max {L (y , u) : y ∈Y } ; (7)
M = M (u) particulière dans l’ensemble des matrices semi-définies
négatives : on veut par exemple minimiser une fonction linéaire de nous l’appelons fonction duale, u ∈⺢n
étant la variable duale.
M = M (u) sous la contrainte M Ɐ 0. Cette dernière contrainte peut Maintenant vient une relation très simple qui fait tourner toute la
s’exprimer comme en (3) par : théorie : si y est réalisable dans (5), alors L (y, u) = ϕ (y) pour tout
u ; par construction, la fonction duale satisfait donc évidemment :
y ⳕ My ⭐ 0, pour tout y ∈⺢m (éventuellement restrreint à y = 1), ϕ (y ) ⭐ θ (u ) pour tout y réalisable dans (5) et tout u ∈⺢n . (8)
Nous appelons cette relation l’inégalité de dualité faible.
c’est-à-dire une infinité de contraintes linéaires. Cela revient à
écrire λ max (M ) ⭐ 0 , qui utilise la fonction (3). On peut aussi utiliser Autre raisonnement très simple : soit yu ∈ Y obtenu par résolu-
tion de (6) ; on souhaite que yu soit optimal, donc en particulier
m contraintes non linéaires :
réalisable dans (5) ; cela entraîne :
λ j (M ) ⭐ 0, pour j = 1, ...., m ,
θ (u) = L (y u , u) = ϕ (y u ) ⭐ θ (v ) pour tout v ∈⺢n ,
une écriture trompeuse car elle ne place pas pour autant le pro-
blème dans le cadre de l’optimisation non linéaire classique. De où la dernière inégalité vient de la dualité faible. On constate donc
fait, les fonctions λj (·) ne sont pas bien définies : tant que toutes la chose suivante.
les valeurs propres de M sont isolées, elles varient avec M de
façon régulière (infiniment différentiable, en tant que racines du
polynôme caractéristique) ; mais un accident se produit lorsque Les seuls bons u possibles sont ceux qui minimisent
deux valeurs propres se croisent – tout comme lorsque λ max (9)
devient multiple. la fonction duale

Attention : cela n’entraîne nullement la réciproque, selon laquelle


1.2 Non-différentiabilité provoquée les u minimisant θ seraient systématiquement bons, voir § 2.2.
En définitive, résoudre (5) via (6) passe par un problème d’opti-
La véritable source de problèmes non différentiables est la misation non différentiable de type (1) :
recherche opérationnelle, le mécanisme étant le suivant :
– on est confronté à un problème d’optimisation trop difficile min θ (u), c’est - à - dire min max [ϕ (y ) − uⳕ c (y )],
u ∈⺢m u ∈⺢m y ∈Y
pour être attaqué de front ;
– on le transforme en un autre, qui implique la minimisation appelé problème dual.
d’une fonction θ non différentiable convexe ; Remarquer que L de (1), qui est ici (6), est le lagrangien associé
– on obtient ainsi des indications utiles sur le problème original, à (5) ; évoquons la connexion avec la théorie classique de
voire même une solution optimale. Lagrange. Le petit calcul ci-dessous nécessiterait des hypothèses

Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie


est strictement interdite. – © Editions T.I. AF 1 253 – 3

QPS

QPT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT

Programmation linéaire
Méthodes et applications
par Jean-François SCHEID
Maı̂tre de conférences en mathématiques appliquées
Institut Elie Cartan de Lorraine & TELECOM Nancy
Université de Lorraine, Nancy, France

1. Modélisation et résolution graphique ........................................ AF 1 254 – 2



1.1 Modélisation ....................................................................................... — 2
1.2 Résolution graphique ......................................................................... — 3
2. Formes générales d’un programme linéaire .............................. — 3
2.1 Forme canonique mixte ..................................................................... — 3
2.2 Forme canonique pure ....................................................................... — 3
2.3 Forme standard .................................................................................. — 3
2.4 Variables d’écarts ............................................................................... — 4
3. Solutions de base réalisables et leurs propriétés
géométriques ................................................................................... — 4
3.1 Solutions de base réalisables ............................................................ — 4
3.2 Propriétés géométriques des solutions de base réalisables ............ — 5
4. Méthode du simplexe ..................................................................... — 5
4.1 La méthode du simplexe proprement dite : la phase 2 .................... — 6
4.2 Calcul des coûts réduits et variable entrante .................................... — 6
4.3 Variable sortante ................................................................................ — 6
5. Mises en œuvre de la méthode du simplexe.............................. — 7
5.1 Méthode des dictionnaires ................................................................ — 7
5.2 Méthode des tableaux ........................................................................ — 8
5.2.1 Retour à un système simplicial et mise à jour des matrices
de base ..................................................................................... — 8
5.2.2 Mise à jour des coûts réduits .................................................. — 9
5.2.3 Mise en place de la méthode des tableaux ............................ — 9
6. Convergence du simplexe ............................................................. — 10
7. Initialisation, problème auxiliaire et variables artificielles :
la phase 1.......................................................................................... — 11
8. Analyse post-optimale ................................................................... — 12
8.1 Analyse de sensibilité de l’objectif .................................................... — 12
8.2 Analyse de sensibilité du second membre des contraintes ............. — 13
9. Dualité ............................................................................................... — 14
9.1 Introduction et définition ................................................................... — 14
9.2 Propriétés – théorèmes de dualité ..................................................... — 14
9.3 Conditions d’optimalité primal-dual .................................................. — 15
10. Annexe : quelques solveurs de programmes linéaires
et codes MATLAB ............................................................................ — 16
10.1 Quelques solveurs de programmes linéaires ................................... — 16
10.2 Codes MATLAB ................................................................................... — 17
11. Conclusion........................................................................................ — 19
12. Glossaire – Définitions................................................................... — 19
Pour en savoir plus.................................................................................. Doc. AF 1 254

e nombreux phénomènes économiques et industriels peuvent se


D modéliser par des systèmes mathématiques d’inégalités et d’égalités
p。イオエゥッョ@Z@ッ」エッ「イ・@RPQU

linéaires conduisant à des problèmes d’optimisation linéaire. Dans ces

Copyright © - Techniques de l’Ingénieur - Tous droits réservés AF 1 254 – 1

QPU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT

PROGRAMMATION LINÉAIRE –––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––

problèmes d’optimisation linéaire, on cherche à minimiser ou maximiser une


fonction linéaire sous des contraintes linéaires portant sur les variables du pro-
blème. On parle souvent de programmation linéaire (ou encore de programme
linéaire), le terme de programmation faisant référence à l’idée d’organisation et
de planification lié à la nature des phénomènes modélisés. Ce terme a été
introduit pendant la Seconde Guerre mondiale et systématiquement utilisé à
partir de 1947 lorsque G. Dantzig inventa la méthode du simplexe pour
résoudre les problèmes de programmation linéaire. Les applications
industrielles de la programmation linéaire sont très présentes par exemple
dans l’industrie pétrolière (pour l’extraction, le raffinage et la distribution du
pétrole), dans l’agroalimentaire (composition optimale des ingrédients de
plats cuisinés, etc.), industrie du fer et de l’acier (composition optimale des

R aciers), l’industrie du papier (problèmes de découpe), les transports (plan de


vols d’avions, minimisation des coûts de transport…) et les réseaux (optimisa-
tion des réseaux de communication).
Cet article présente les propriétés et les concepts fondamentaux de la
programmation linéaire puis expose l’algorithme du simplexe pour résoudre
un programme linéaire. L’algorithme du simplexe est mis en œuvre selon
deux méthodes, la méthode des dictionnaires et la méthode des tableaux. La
première méthode permet de bien comprendre le déroulement du simplexe
alors que la méthode des tableaux est plus algébrique et elle conduit à la
mise en œuvre effective de l’algorithme du simplexe. Un code MATLAB basé
sur la méthode des tableaux est proposé en annexe. Une application de la
méthode du simplexe à l’analyse de sensibilité d’un programme linéaire est
également présentée ainsi qu’une introduction à la dualité en programmation
linéaire.

 Choix des variables (les inconnues) : x1 et x2 sont respective-


1. Modélisation et résolution ment les quantités des produits P1 et P2 fabriqués (x1, x 2 ∈ℝ) ;
graphique  Choix de la fonction objectif à maximiser : la fonction objectif F
correspond au bénéfice total provenant de la vente des produits P1
et P2 en quantité x1 et x2. Elle vaut F (x1, x2) = 6x1 + 4x2. Le problème
se traduit donc par :
1.1 Modélisation
max ⎡F ( x1, x 2 ) = 6x1 + 4 x 2 ⎤⎦
En optimisation et plus généralement en recherche opération- ( x 1, x 2 ) ⎣
nelle, modéliser un problème consiste à identifier les variables
intrinsèques, les différentes contraintes auxquelles sont soumises  Détermination des contraintes :
ces variables et enfin à définir l’objectif visé (optimisation). Dans – la disponibilité de chacune des ressources s’écrit :
un problème de programmation linéaire (PL en abrégé) les
contraintes et l’objectif sont des fonctions linéaires des variables. 3x1 + 9x 2 ≤ 81 (équipement)
On va étudier un exemple particulier de programmation linéaire
4 x1 + 5x 2 ≤ 55 (main-d’œuvre)
qui servira d’exemple de référence tout au long de l’article. Il s’agit 2x1 + x 2 ≤ 20 (matiière première)
d’un problème de production volontairement très simple. Le but ici
n’étant pas de résoudre ce problème mais d’introduire les notions – positivité des variables : x1, x 2 ≥ 0 .
et concepts fondamentaux liés à la programmation linéaire. Dans
cet exemple, on considère une usine qui fabrique deux produits P1
Tableau 1 – Problème de production : ressources
et P2 en utilisant un certain nombre de ressources : équipement,
main d’œuvre et matières premières. Ces besoins sont indiqués nécessaires et disponibles
dans le tableau 1. Par ailleurs, chaque ressource est disponible en
quantité limitée (cf. tableau 1). P1 P2 Disponibilité
Les deux produits P1 et P2 rapportent à la vente respectivement Équipement 3 9 81
des bénéfices de 6 euros et 4 euros par unité. On cherche à savoir
quelles quantités de produits P1 et P2 doit produire l’usine afin de Main-d’œuvre 4 5 55
maximiser le bénéfice total venant de la vente des deux produits.
Les quantités de produits sont des valeurs non nécessairement Matière première 2 1 20
entières.

AF 1 254 – 2 Copyright © - Techniques de l’Ingénieur - Tous droits réservés

QPV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT

––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––– PROGRAMMATION LINÉAIRE

En résumé, le problème de production se modélise sous la forme :


2. Formes générales
max ⎡F ( x1, x 2 ) = 6x1 + 4 x 2 ⎤⎦
(x , x ) ⎣
1