Académique Documents
Professionnel Documents
Culture Documents
Ti052 - Mathématiques
Méthodes numériques
III
Cet ouvrage fait par tie de
Mathématiques
(Réf. Internet ti052)
composé de :
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)
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 :
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
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
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
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)
Q
1– Notions et concepts fondamentaux Réf. Internet page
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
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
Y
Q
QP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRP
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
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.
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
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)
Q
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
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.
Q
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 :
..............
et son calcul T (0)
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
Q
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)
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 :
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
Q
QV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRQ
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
Q
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→∞
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
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 :
Q
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 :
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
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
Q
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
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
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
RQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRS
RR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRS
⎛ ∞
p⎞
1/ p
T = ∑
x X
≤1
Tx Y
Q
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 →∞
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∞
RS
Q
RT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP
RU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP
Q
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].
RV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWP
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
RW
Q
RX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ
RY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ
SP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ
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 ∈ .
Q
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.
SQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ
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).
Q
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
SR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTWQ
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].
SS
Q
ST
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTUP
Introduction à MATLAB
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
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
Q
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
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
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
Q 2.2.1 for
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
Q
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.
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
Q
TP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP
Calcul formel
mules et les tracés de courbes qui sont la base de tout système de calcul
TQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP
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.
(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.
TR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP
TS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP
Q
1
> degree ((x–1)^2*x–x^3+x) ;
3
0
–2 –1 0 1 2
> degree (–2*x^2+2*x) ;
2 –1
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)
TT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTVP
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
Q
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é.
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) ;
TU
Q
TV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
inSQ
INNOVATION
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,
TW
Q
TX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
Introduction au parallélisme et
aux architectures parallèles
Q
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.
TY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
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.
UP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
Q
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
0,1
0001
0,001 0,01 0,1 1 10 100 1 000
Capacité mémoire nécessaire (Po)
UQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
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.
UR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
I3
Dépendance de contrôle
I1
I2
A=B+C
If (A) {
I1
I2
Dépendance de flot
Q
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
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
US
r←ヲ←イ・ョ」・@iョエ・イョ・エ
hQPXX
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.
UT
Méthodes numériques
(Réf. Internet 42105)
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
R
UV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXU
Méthodes numériques
en algèbre linéaire
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
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
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-
R
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
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
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
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
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
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.
R
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ø
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
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 )!
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
R
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
calculer f (A)v où v est un vecteur donné. Ceci peut être fait, sans calculer
VS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXV
VT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXV
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
R
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) ;
VU
R
VV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXX
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
VW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTXX
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)
R
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.
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é,
R
Laboratoire d’Analyse, Topologie et Probabilités,
Centre de Mathématique et d’Informatique
conque (comme par exemple une suite de nombres, un courant électrique, une
VY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP
WP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP
R
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 =− ∞
WQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP
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
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
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
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
WR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP
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
R
(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…).
WS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afTYP
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
R
Fréquence (kHz) Partie réelle
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.
WT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUPR
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
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-
R
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
1.
1.1
Contexte général.............................................................................
Un exemple et des questions ............................................................
AF 567 – 2
— 2
R
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
WW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW
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 ,
WX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW
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
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
WY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW
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.
XP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVW
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* :
R
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
XQ
R
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
R
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
XS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVX
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.
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 ≠ ∅.
XT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afUVX
R
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
XU
R
XV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT
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
XW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT
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
R
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 :
XX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT
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.
XY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT
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-
R
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.
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.
YP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRRT
R
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é.
YQ
R
YR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ
R
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
YS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ
YT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUQ
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-
R
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).
YU
R
YV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR
Optimisation différentiable
R
et en automatique)
YW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR
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
R
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.
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 * .
YX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR
YY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUR
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 :
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).
QPP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS
Optimisation et convexité
1.
1.1
Introduction, motivation ........................................................................
Non-différentiabilité naturelle .....................................................................
AF 1 253 - 2
— 2
R
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
QPQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS
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
QPR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUS
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 :
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
QPS
R
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
QPU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT
QPV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT
1.2 Résolution graphique Les valeurs réelles ci, bi et aij pour 1≤ i ≤ n et 1≤ j ≤ n , sont don-
nées. L’ensemble I = I1 ∪ I2 est l’ensemble des indices de contrain-
Dans le cas d’un problème de programmation linéaire à deux tes avec card (I) = m. Autrement dit, il y a m contraintes.
variables, on peut envisager une résolution graphique. Les L’ensemble J = J1 ∪ J2 est l’ensemble des indices des variables
contraintes où apparaissent des inégalités correspondent géométri- avec card (I) = n. Il y a n variables.
quement à des demi-plans. L’intersection de ces demi-plans forme
l’ensemble des variables satisfaisant à toutes les contraintes (la par-
tie hachurée de la figure 1). 2.2 Forme canonique pure
À la fonction objectif F correspond une droite F (x1, Sous cette forme, il n’y a pas de contraintes d’égalité c’est-à-dire
x2) = 6x1 + 4x2 = constante, de coefficient directeur (- 6/4). La cons- I2 = Ø et J2 = Ø. On note
tante précédente qui définie la droite doit être la plus grande pos-
x = ( x1, ⋯, x n ) ∈ ℝn
T
sible (maximisation) et telle que la droite rencontre l’ensemble des
variables qui satisfont les contraintes. Pour déterminer cette valeur c = (c1, ⋯, cn ) ∈ ℝn
T
maximale, on fait donc « glisser » la droite (translation parallèle à la
b = (b1, ⋯, bm ) ∈ ℝm
T
direction de la droite) du haut vers le bas jusqu’à rencontrer
l’ensemble des variables satisfaisant les contraintes. Le maximum
de F sur cet ensemble des contraintes est alors atteint. On obtient et la matrice A de taille m x n :
ainsi la solution optimale et ce qui donne une valeur maximale ⎛ a11 ⋯ a1n ⎞
max(F) = 65. A=⎜ ⋮ ⋱ ⋮ ⎟.
⎜⎝ a ⎟
On remarque que l’ensemble des contraintes (la partie hachurée m1 ⋯ amn ⎠
de la figure 1) est un polygone convexe et que le maximum de F
est atteint en un sommet de ce polygone. Cette observation est, Un programme linéaire (PL) est dit sous forme canonique pure
en fait, un résultat général que l’on donnera plus tard. s’il s’écrit :
max ⎣⎡F ( x ) = cT x = c1x1 + ⋯ + cn x n ⎤⎦
x ∈ℝn
x2 sous les contraintes : (4)
15
F(x1,x2) = 6x1 + 4x2 = constante ⎧Ax ≤ b
⎨
⎩x ≥ 0
On dit de plus que le programme linéaire est sous forme standard sim-
+ x2
-5 A = ( Im M ) (6)
0
QPW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT
2.4 Variables d’écarts Hypothèse de rang plein : On suppose que la matrice A est de
taille m x n avec rang (A) = m ≤ n.
Les variables d’écarts sont des variables supplémentaires qui Le rang de A est le nombre maximal de lignes de A linéairement
permettent de transformer des contraintes d’inégalités en contrain- indépendantes. C’est aussi le nombre de colonnes de A linéaire-
tes d’égalité. ment indépendantes.
Proposition 1. Tout programme linéaire sous forme standard Sous l’hypothèse de rang plein :
s’écrit de façon équivalente en un programme linéaire sous forme
canonique pure et inversement. – le système linéaire Ax = b admet toujours des solutions ;
– si m < n, le système linéaire Ax = b admet une infinité de
Démonstration. solutions ;
i) Soit un programme linéaire sous forme canonique pure. Mon- – si m = n, la matrice A est inversible. Dans ce cas, la solution du
trons qu’on peut le transformer en un programme linéaire sous système linéaire est unique et vaut x = A-1b et il n’y a rien à
forme standard. On a : maximiser.
n
R
L’hypothèse de rang plein n’est pas restrictive car si rang (A) < m
Ax ≤ b ⇔ ∑ aij x j + ei = bi , ∀i = 1, ⋯, m
alors le système Ax = b n’a pas de solution en général. Si rang
j =1
(A) < m et b 2 Im (A), il y a des équations redondantes dans le sys-
tème Ax = b, qu’on peut donc supprimer pour obtenir un nouveau
avec les variables supplémentaires ei = bi − ∑ j =1aij x j ≥ 0, pour tout
n
système de rang plein.
i = 1,…,m. Ainsi, on obtient : Définition 1. On appelle solution réalisable tout vecteur x qui
⎧ ⎛ x⎞ satisfait les contraintes du programme linéaire c’est-à-dire tel que
⎧Ax ≤ b ⎪⎪ A Im ⎜⎝ e⎟⎠ = b (
⎪⎧Aɶx)
ɶ =b Ax = b et x ≥ 0 .
⎨ ⇔⎨ ⇔⎨
⎩ x ≥ 0 ⎛ x ⎞ ⎩ ≥0
⎪ ɶ
x Définition 2. Soit B ⊂ {1, ⋯, n} un ensemble d’indices avec card
⎪⎜ ⎟ ≥ 0
⎪⎩⎝ e⎠ (B) = m tel que les colonnes Aj, j 2 B, de la matrice A sont linéaire-
ment indépendantes. Autrement dit, la matrice carrée AB de taille
m x m, formée des colonnes Aj, j 2 B de la matrice A est inversible.
( et xɶ = ⎛⎜ ⎞⎟ . On a introduit les m variables
)
ɶ= AI x
avec A On dit que l’ensemble des indices B est une base.
m ⎝ e⎠
supplémentaires e = (e1,…,em)T qui sont appelées variables d’écart. Les variables xB = (xj, j 2 B) sont appelées variables de base.
ii) Soit un programme linéaire sous forme standard. Montrons Les variables xH = (xj, j ∉ B) sont appelées variables hors-base.
qu’on peut le transformer en un programme linéaire sous forme
On notera H = {j 2 {1,…,n}, j ∉ B} l’ensemble des indices corres-
canonique pure. On a :
pondants aux variables hors-base.
⎧Ax ≤ b
Ax = b ⇔ ⎨
⎩Ax ≥ b
⇔
Ax ≤ b
− Ax ≤ − b
⇔ ⎛⎜ {
A ⎞
⎝ − A ⎟⎠
x ≤ ⎛⎜
b ⎞
⎝ − b⎟⎠
⇔ Ax ≤ b
Remarques.
Sous l’hypothèse de rang plein, il existe toujours une base
avec A = ⎛⎜
A ⎞
une matrice de taille 2m x n et b = ⎛⎜
b ⎞ non vide.
un vecteur
⎝ − A⎟⎠ ⎝ − b⎟⎠
2m
de ℝ . Quitte à renuméroter les indices, on peut toujours écrire les
décompositions par blocs :
Exemple. Le problème de production présenté au paragraphe 1.1
A = ( AB AH ) , x = ⎛⎜ B ⎞⎟
x (8)
est sous forme canonique pure. Mettons le sous forme standard en
introduisant 3 variables d’écarts e1, e2, e3. La forme standard s’écrit : ⎝ xH ⎠
max ⎡F ( x1, x 2 , e1, e2 , e3 ) = 6x1 + 4x 2 ⎤⎦ où AH est la matrice de taille m x (n - m) formée des colonnes
(x1, x 2 ,e1,e2 ,e3 ) ⎣ Aj, j ∉ B de la matrice A.
sous les contraintes
Le système Ax = b est équivalent à :
⎧3x1 + 9x 2 + e1 = 81 (7)
⎪ AB xB + AH xH = b.
⎪4x1 + 5x 2 + e2 = 55
⎨
⎪2x1 + x 2 + e3 = 20 Par la relation précédente et du fait que la matrice AB est inver-
⎪x1, x 2 , e1, e2 , e3 ≥ 0
⎩ sible, on peut fixer les variables hors-base et les variables de base
sont alors complètement déterminées.
QPX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQRUT
La solution de base réalisable correspondante est Le lien entre sommet et solution de base réalisable est établi au
T théorème 1 ci-après.
⎛ ⎞
x = ( x1, x 2 , e1, e2 , e3 ) = ⎜0, 0 , 81, 55, 20⎟ , c’est-à-dire avec xH = (0, 0)T
T Théorème 1.
⎜
⎟
⎝ xH xB = A −B1b ⎠ a) x est une solution de base réalisable si et seulement si x est un
et xB = (81, 55, 20)T. sommet de ᏰR ,
b) l’optimum de la fonction objectif F sur ᏰR , s’il existe, est
atteint en au moins un sommet de ᏰR .
Il y a au plus ⎛⎜ ⎞⎟ =
n n!
Remarque. solutions de base
⎝ m ⎠ m !(n − m )! Pour une preuve du théorème, le lecteur peut consulter le théo-
rème 1.5 et le corollaire 1.6 de [5], et aussi [6].
(toutes ne sont pas réalisables).
On a vu sur l’exemple du problème de production (1) (§ 1.1) que
R
la solution était atteinte sur un sommet de ᏰR qui correspond donc
3.2 Propriétés géométriques à une solution de base réalisable. Pour résoudre un programme
des solutions de base réalisables linéaire sous forme standard, il suffit de se restreindre aux solu-
tions de base réalisables qui sont les sommets de ᏰR . Tout se
On note passe donc avec les solutions de base réalisables.
{
ᏰR = x ∈ ℝn , Ax = b, x ≥ 0 , } (9) L’ensemble ᏰR n’est pas nécessairement borné. En fait pour un
programme linéaire, il y a exactement trois situations qui peuvent
l’ensemble des solutions réalisables d’un programme linéaire mis se produire :
sous forme standard. – ᏰR = φ : le programme linéaire n’a pas de solution ;
Commençons par rappeler les notions de polyèdre et d’ensemble – ᏰR ≠ φ mais la fonction objectif F n’est pas majorée sur ᏰR : le
convexe : maximum de F vaut + •. Si ᏰR est borné, ce cas est exclu ;
{
un polyèdre Q de ℝn est défini par Q = x ∈ ℝn , Ꮽx ≤ d où Ꮽ } – ᏰR ≠ φ et la fonction objectif F est majorée sur ᏰR : le pro-
est une matrice de taille m x n et d est un vecteur de ℝm ; gramme linéaire admet une solution optimale (non nécessairement
unique).
un ensemble E est dit convexe si 8x, y 2 E, on a lx + (1 - l)
y 2 E pour tout 0 ≤ λ ≤ 1.
Il y a au plus ⎛⎜ ⎞⎟ solutions de base réalisables.
n
Proposition 2. L’ensemble des solutions réalisables est un polyè- Remarque.
⎝ m⎠
dre convexe, fermé. Pour déterminer une solution de base, on doit résoudre un sys-
tème linéaire ABxB = b où AB est une matrice inversible de taille
Exemple. L’ensemble m x m. La résolution d’un système linéaire de taille m x m par
⎧ 3 ⎫ une méthode directe de type Gauss/LU requière de l’ordre de m3
ᏰR = ⎨x = ( x1, x 2 , x 3 ) ∈ ℝ 3 , 2x1 + x 2 + x 3 = 3, x1, x 2 , x 3 ≥ 0⎬
⎩ 2 ⎭ opérations (voir [AF 485], [AF 502]). Si l’on explore toutes les
est représenté sur la figure 2. solutions de base et que l’on compare les coûts correspondants,
on effectue de l’ordre de m 3 ⎛⎜ ⎞⎟ opérations. Ce nombre est vite
n
À la notion de polyèdre est associée la notion de sommet. ⎝ m⎠
très grand avec n et m. Par exemple, avec n = 20 et m = 10, on a
Définition 4. Un point x ∈ᏰR est un sommet (ou point extrême) 3 x 108 opérations. Dans la méthode du simplexe décrite à la
si et seulement s’il n’existe pas y, z ∈ᏰR , y π z tels que x soit une section 4, on va explorer seulement les sommets qui permettent
combinaison strictement convexe de y et z, c’est-à-dire d’augmenter la fonction objectif F. On va réduire ainsi le nombre
x = ly + (1 - l)z avec 0 < l < 1. de solution de base réalisables à explorer et par conséquent le
nombre de système linéaire à résoudre.
4. Méthode du simplexe
3
QPY
R
QQP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSXP
Problèmes inverses
par Michel KERN
Chargé de recherche à l’INRIA, CRI Paris – Rocquencourt
QQQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSXP
que les mêmes effets puissent provenir de causes différentes. Cette idée
contient en germe la principale difficulté de l’étude des problèmes inverses :
ils peuvent avoir plusieurs solutions, et il est nécessaire de disposer d’informa-
tions supplémentaires pour les discriminer.
La prédiction de l’état futur d’un système physique, connaissant son état
actuel, est l’exemple type du problème direct. On peut envisager divers problè-
mes inverses : par exemple, reconstituer l’état passé du système connaissant
son état actuel (si ce système est irréversible), ou la détermination de paramè-
tres du système, connaissant (une partie de) son évolution. Ce dernier problème
est celui de l’identification de paramètres, qui sera notre principale préoccupa-
tion dans la deuxième partie de l’article.
R
Une difficulté pratique de l’étude des problèmes inverses est qu’elle demande
souvent une bonne connaissance du problème direct, ce qui se traduit par le
recours à une grande variété de notions tant physiques que mathématiques.
Le succès dans la résolution d’un problème inverse repose en général sur des
éléments spécifiques à ce problème. Il existe toutefois quelques techniques qui
possèdent un domaine d’applicabilité étendu, et cet article est une introduction
aux principales d’entre elles : la régularisation des problèmes mal posés, et la
méthode des moindres carrés, linéaires ou non linéaires.
La plus importante est la reformulation d’un problème inverse sous la forme
de la minimisation d’une fonctionnelle d’erreur entre les mesures réelles et les
« mesures synthétiques » (c’est-à-dire la solution du problème direct). Il sera
commode de distinguer les problèmes linéaires des non linéaires. Précisons
que la non-linéarité dont il s’agit ici fait référence au problème inverse lui-
même, et non pas au problème direct (en considérant connus les paramètres).
Dans le cas des problèmes linéaires, le recours à l’algèbre linéaire et à l’ana-
lyse fonctionnelle permet d’obtenir des résultats précis, et des algorithmes effi-
caces. L’outil fondamental est ici la décomposition en valeurs singulières de
l’opérateur considéré. Nous étudierons en détail la méthode de régularisation,
qui consiste à « modifier » légèrement le problème étudié en un autre qui pos-
sède de « meilleures » propriétés. Ceci sera précisé au paragraphe 2.3.
Les problèmes non linéaires sont plus difficiles, et il existe moins de résultats
généraux. Nous étudierons l’application des algorithmes d’optimisation aux
problèmes obtenus par la reformulation évoquée plus haut. Un ingrédient tech-
nique essentiel (du point de vue numérique) est le calcul du gradient de la fonc-
tionnelle à minimiser. Nous étudierons les méthodes de calcul de gradient au
paragraphe 3.3. Nous verrons en particulier que la méthode de l’état adjoint
permet ce calcul pour un coût qui est un (petit) multiple de celui de la résolution
du problème direct.
QQR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSXP
– la non-unicité est un problème plus sérieux. Si un problème a Il est facile de voir directement que A est un opérateur linéaire et
plusieurs solutions, il faut un moyen de choisir entre elles. Pour continu de L2(0, 1) dans lui-même. Cet opérateur est injectif, par
cela, il faut disposer d’informations supplémentaires (une informa- contre son image est le sous espace vectoriel :
tion a priori) ;
– le manque de continuité est sans doute le plus problématique, {
Im A = f ∈H 1 (0, 1) , u (0) = 0 }
en particulier en vue d’une résolution approchée ou numérique.
Cela veut dire qu’il ne sera pas possible (indépendamment de la
où H1(0, 1) est l’espace de Sobolev. En effet, l’équation Af = g est
méthode numérique) d’approcher de façon satisfaisante la solution
équivalente à (f(x) = g′(x) et g(0) = 0).
du problème inverse, puisque les données disponibles seront brui-
tées donc proches, mais différentes, des données « réelles ». L’image de A n’est pas fermée dans L2(0, 1) (bien entendu, elle
l’est dans H1(0, 1)). En conséquence, l’inverse de A n’est pas
Un problème qui n’est pas bien posé au sens de la définition ci- continu sur L2(0, 1), comme on peut le voir en considérant, pour
dessus est dit mal posé (ill-posed en anglais). Nous allons en voir une fonction f 2 C1([0, 1]) donnée, la suite de fonctions
un exemple qui, bien que très simple, illustre les difficultés que l’on
R
peut rencontrer dans des situations plus générales.
& Plan de l’article
fn ( x ) = f ( x ) +
1
n
(
sin n 2x . )
Dans le reste de ce paragraphe, nous donnerons quelques exem- Des calculs simples montrent que
ples de problèmes inverses, provenant de la physique. Ces exem-
ples illustreront la notion fondamentale de problème mal posé, 12
1⎛ 1 1 ⎞ ⎛ 1⎞
qui est caractéristique des problèmes inverses. f − fn 2
= ⎜ −
n ⎝ 2 4n
sin 2n 2 ⎟
⎠
( ) =O⎜ ⎟
⎝n⎠
Au paragraphe 2.1, nous introduirons une source importante de
problèmes inverses linéaires : les équations intégrales de première
espèce. Après avoir exposé les principales propriétés de opérateurs alors que
intégraux, nous expliquerons en quoi ils conduisent à des problè-
12
⎛1 1 ⎞
mes mal posés.
L’étude de ces problèmes fait l’objet des sections suivantes. Au
f ′ − fn′ 2
= n⎜ +
⎝ 2 4n
sin 2n 2 ⎟
⎠
( ) = O (n )
& Exemple 1
f(t)
La différentiation et l’intégration sont deux problèmes inverses a b
l’un de l’autre. Il est plus habituel de penser à la différentiation
comme problème direct, et à l’intégration comme problème
inverse. En fait, l’intégration possède de bonnes propriétés mathé-
matiques qui conduisent à le considérer comme le problème direct.
h
Et la différentiation est le « prototype » du problème mal posé,
comme nous allons le voir.
r(s)
Considérons l’espace de Hilbert L2(0,1) des fonctions de carré
intégrable, et l’opérateur intégral A défini par 0 θ L
x
Af (x ) = ∫ f (t )dt. (1)
0
Figure 1 – Géométrie de l’expérience
QQS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSXP
R
L
∫
h
f (t ) = G ρ (s )ds a ⭐t ⭐b
(h )
2 32
(3)
+ (t − s )
0 2 0
0 0,2 0,4 0,6 0,8 1
t
a n = 20
Le problème direct qui consiste à calculer la force connaissant la
répartition de densité est cette fois simplement l’évaluation d’une 1 000
intégrale. Le problème inverse est la résolution d’une équation
f (t ) Sol. exacte
intégrale de première espèce. Il s’agit d’un problème analogue à
la différentiation vue au paragraphe 1, mais avec un noyau intégral Sol. calculée
500
h
(la fonction (s , t ) ֏ ) général. Nous étudierons ce
(h
+ (t − s )
2 32
2
) 0
QQT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSXP
Le reste de cet article est consacré à l’étude de méthodes permet- Il est habituel de classer les équations intégrales que l’on peut
tant de rétablir une certaine stabilité dans les problèmes mal posés. associer à l’opérateur intégral A en deux catégories :
Il faut toutefois garder présent à l’esprit cette remarque tirée du – Équations de première espèce. Il s’agit de l’équation Au = f, où
livre de Engl et al. [19] « No mathematical trick can make an inhe- f 2 L2(c, d) est donnée ;
rently unstable problem stable » (Aucun artifice mathématique ne – Équations de seconde espèce. Il s’agit de l’équation u - Au = f,
peut rendre stable un problème intrinsèquement instable). Les où f 2 L2(c, d) est donnée.
méthodes que nous allons introduire dans la suite vont rendre le
problème considéré stable, mais au prix d’une modification du pro- Cette distinction est justifiée par les propriétés très différentes de
blème résolu (et donc de sa solution !). ces deux types d’équation pour des noyaux de carré intégrable. Les
équations de première espèce, sur lesquelles nous concentrerons
notre attention, conduisent à des problèmes mal posés. En revan-
che, celles de seconde espèce ont, en général, une solution unique
2. Problèmes linéaires (cela relève de l’alternative de Fredholm). Cette distinction est liée à
la compacité de l’opérateur. On a effet le résultat suivant :
Nous étudions dans ce paragraphe les principales propriétés des
problèmes inverses linéaires. Nous nous placerons dans le cadre
des espaces de Hilbert, pour que les résultats s’appliquent (par
Théorème 2. Soit K 2 L2(]a, b[ ¥ ]c, d[). L’opérateur intégral A
de noyau K est compact de L2(a, b) dans L2(c, d).
R
exemple) aux équations intégrales de première espèce, mais nous
indiquerons les simplifications qui interviennent en dimension
finie. Nous introduirons ensuite l’outil fondamental que constitue Comme l’on sait qu’un opérateur compact n’est jamais inversible
la décomposition en valeurs singulières. Enfin, nous montrerons (sauf en dimension finie), nous voyons que les équations intégrales
comment la décomposition en valeurs singulières permet d’analy- de première espèce donneront toujours lieu à des problèmes mal
ser les problèmes de moindres carrés. posés. Nous reviendrons sur ce point quand nous aurons introduit
la décomposition en valeurs singulières au théorème 3.
Dans tout ce paragraphe, nous désignerons par A un opérateur
linéaire continu d’un espace de Hilbert E dans un espace de Hilbert On peut aussi comprendre le caractère mal posé de ces équations
en rappelant le lemme de Riemann-Lebesgue, qui affirme que :
F : A ∈ ᑦ (E , F ) . π
∫0 K (t , s ) sin (ns ) ds ⎯⎯⎯
n→∞
⎯→ 0, dans L2 (0, 1)
2.1 Opérateurs intégraux et équations
pour tout noyau K 2 L2([0, p] ¥ [0, 1]) (il s’agit d’une résultat sur
intégrales les séries de Fourier). Ainsi, des perturbations haute fréquence
Nous commençons par une brève introduction aux opérateurs (c’est le cas de sin(ns) pour n grand), sont annihilées par l’opéra-
intégraux, ainsi qu’aux équations intégrales de première espèce. tion d’intégration avec un noyau régulier. Une telle perturbation
Ces dernières fournissent le principal exemple de problèmes inver- est donc « indétectable » du point de vue de la résolution de l’équa-
ses linéaires. Cette étude sera complétée par l’étude des propriétés tion intégrale de première espèce.
spectrales des opérateurs. Nous allons généraliser la décomposition en valeurs singulières
Rappelons que L2(a, b) désigne l’espace des fonctions de carré inté- des matrices à cette situation. La principale différence sera l’existence
grable (au sens de Lebesgue), et que cet espace est un espace de d’une infinité (dénombrable) de valeurs singulières. Nous obtien-
Hilbert pour la norme associée au produit scalaire usuel, défini par : drons en conséquence un critère pour l’existence d’une solution au
b
problème de moindres carrés (le critère de Picard, théorème 7).
(u , v ) = ∫a u (s )v (s ) ds. Rappelons qu’une famille d’éléments (ej)j2N d’un espace de Hilbert
E est orthonormale si et seulement si ses éléments sont deux à deux
Définition 1. Soit K une fonction de l’espace L2(]c, d[ ¥ ]a, b[). orthogonaux : (ei, ej) = 0 pour i π j, et normés : e j = 1 , pour tout j.
L’opérateur E
b Une telle famille constitue une base hilbertienne de E si de plus
Au (t ) = ∫ K (t , s )u (s ) ds , t ∈ ]a, b [ (7) l’espace vectoriel engendré par la famille (ej)j2N est dense dans E,
a
c’est-à-dire que tout élément x 2 E admet un développement (infini)
est bien défini en tant qu’opérateur de L2(a, b) dans L2(c, d). On de la forme : ∞
dira que A est l’opérateur intégral de noyau K. x = ∑ x , ej ej. ( )
j=1
On démontre facilement les résultats suivants :
Théorème 3. Soit A un opérateur intégral de noyau
Théorème 1. Soit A l’opérateur intégrable de noyau K. K 2 L2(]a, b[ ¥ ]c, d[). Il existe une suite (s j)j2N 2 R+, et deux famil-
les orthonormales (ej)j2N 2 L2(a, b), (fj)j2N 2 L2(c, d) telles que :
i) L’adjoint A* (c’est l’unique opérateur de L2 (c, d) dans
L2 (a, b) qui vérifie (Au, v) = (u, A*v), pour tous (u, v) 2 L2 (a, b) i) (s j)j2N est décroissante, limj Æ + • s j = 0
¥ L2 (c, d)) est l’opérateur intégral de noyau K* défini par ii) Aej = s jfj ; A*fj = s jej, j 2 N
K * (t , s ) = K (s , t ) iii) La suite (ej)j2N est une base hilbertienne de Ker A ⊥. Pour
tout x 2 E, on a donc le développement
ii) L’opérateur intégral A de noyau K est auto-adjoint si, et seu- +∞
lement si, le noyau est symétrique : (
x = x0 + ∑ x , ej ej , ) où x 0 ∈Ker A (10)
K (s, t ) = K (t , s ) , ∀ (s , t ) ∈ [a, b ] × [c , d ]. (8) j =1
iii) Soient A1 et A2 les opérateurs intégraux de noyaux respec- iv) la suite (fj)j2N est une base hilbertienne de lm A . Pour tous
tifs K1 2 L2(]a, b[ ¥ ]c, d[) et K2 2 L2(]c, d[ ¥ ]e, f[). Le composé x 2 E et y 2 F on a :
( )
A2A1 ∈ᑦ L2 (a, b ) , L2 (e , f ) est un opérateur intégral de noyau +∞ +∞
d
K (t , s ) = ∫ K 2 (t , r )K 1 (r , s ) dr . (9)
Ax = ∑ σ j ( x , e j )f j , A*y = ∑ σ j (y , f j )e j (11)
j =1 j =1
c
QQU
R
QQV
Méthodes numériques
(Réf. Internet 42105)
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
QQW
S
QQX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afRQP
S
1.1 Représenter les fonctions ........................................................................... — 2
1.2 Défauts des représentations en fréquence................................................ — 2
2. L’approche temps-fréquence ................................................................. — 3
2.1 L’analyse temps-fréquence ......................................................................... — 3
2.2 La transformée en ondelettes..................................................................... — 3
2.3 Les frames et les bases d’ondelettes ......................................................... — 4
3. Un exemple fondamental ....................................................................... — 5
3.1 Le système de Haar ..................................................................................... — 5
3.2 L’algorithme de Haar ................................................................................... — 6
3.3 Intérêt des représentations en ondelettes ................................................. — 7
3.4 Décomposition des images ........................................................................ — 8
4. Le cadre multirésolution........................................................................ — 9
4.1 Les analyses multirésolutions .................................................................... — 9
4.2 Les ondelettes orthonormales .................................................................... — 10
4.3 Les ondelettes biorthogonales ................................................................... — 11
4.4 La transformée en ondelette rapide........................................................... — 12
5. Les ondelettes généralisées .................................................................. — 13
5.1 Ondelettes et éléments finis ....................................................................... — 13
5.2 Les analyses multirésolutions discrètes .................................................... — 14
6. Ondelettes et adaptativité..................................................................... — 15
6.1 L’approximation non-linéaire ...................................................................... — 15
6.2 Du traitement d’images à la simulation numérique ................................. — 16
Références bibliographiques ......................................................................... — 18
pparues au début des années 1980, tout en prenant leur source dans des
A travaux plus anciens, les ondelettes s’imposent aujourd’hui comme des
outils puissants en analyse mathématique et dans des domaines plus appliqués
tels que le traitement du signal et de l’image, ou encore la simulation numérique.
Cet article vise à introduire le lecteur à ces outils et à leur mise en œuvre pratique
dans la perspective de ces applications.
p。イオエゥッョ@Z@ェ。ョカゥ・イ@RPPR
T oute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
© Techniques de l’Ingénieur, traité Sciences fondamentales A F 2 1 0 −1
QQY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afRQP
L’exemple le plus fondamental est certainement celui de la trans- On peut ainsi étendre les notions d’orthogonalité et de base
S
formée de Fourier connue depuis le XIXe siècle : celle-ci consiste orthonormale. Comme pour l’intégrale de Fourier, la convergence
tout d’abord à effectuer l’analyse en fréquence d’une fonctionf (t ), de la série (4) se doit d’être étudiée et nécessite des hypothèses
t ∈ par la formule : convenables sur f. Nous renvoyons le lecteur à [3] pour une bonne
+∞ introduction à la théorie de Fourier et ses nombreuses applica-
^ tions.
f (ω) = f ( t ) e –i ω t dt (1)
–∞
^
L’introduction systématique par Fourier de telles représentations
Sous des hypothèses convenables surf , la fonction f ( ω ) est ainsi était déjà fortement motivée par le calcul numérique puisque la
bien définie et elle permet la synthèse de f par la formule convergence de la série (4) rend a priori possible l’approximation
d’inversion : de la fonction f arbitraire par la somme partielle :
+∞
^ N
f ( t ) = ( 2π ) –1 f ( ω ) eiωt d ω (2)
–∞ ∑ c n ( f ) e i2πnt
n=–N
Dans cet exemple, les « briques de bases » sont données par les
fonctions eω (t ) = e iωt, ω ∈ . Chacune de ces fonctions est une De telles approximations sont utiles pour le calcul approché de
oscillation pure à la fréquence ω, et la combinaison de ces briques solutions d’équations différentielles ou plus généralement aux
^ dérivées partielles. Les applications des représentations de Fourier
affectées des poids f ( ω ) permet de « reconstruire l’édifice de se sont intensifiées avec l’apparition des ordinateurs et le dévelop-
départ », c’est-à-dire la fonction f. Les briques servent aussi à l’ana- pement du traitement du signal numérique, ainsi que l’invention
^
lyse, puisque l’on peut formellement écrire f ( ω ) comme un produit par Cooley et Tuckey de l’algorithme de transformée de Fourier
scalaire : rapide, permettant de calculer en ᏻ ( N ln N ) opérations — c’est-à-
^ (3) dire un nombre inférieur à CN ln N où C est une constante indé-
f ( ω ) = 〈 f, e ω 〉 pendante de N — la version discrète de la transformée de Fourier
avec la notation : qui relie les vecteurs (x [k ])k = 0,...,N – 1 et (^
x [ k ] ) k = 0,...,N – 1 par les
+∞ formules :
〈 f, g 〉 = f ( t ) g ( t ) dt N–1 N–1
–∞ 1 1
^
x k = ------------ ∑ x n e –i2πnk/N et x k = ----------- ∑ ^
x n e i2πnk/N (9)
^ N n=0 N n=0
En ce sens, la fonction f est une représentation de f : la
connaissance de celle-ci est formellement équivalente à celle de f.
Les mêmes remarques s’appliquent aux séries de Fourier, plus
adaptées à l’analyse des fonctions définies sur un intervalle borné : 1.2 Défauts des représentations
si f est définie sur [0, 1], on obtient sa représentation sous la forme
de la série de fonctions de période 1 :
en fréquence
Une remarque générale (dont la validité dépasse largement le
f (t ) = ∑ c n ( f ) e i2πnt (4)
cadre de l’analyse harmonique, voire des mathématiques) est que
n ∈
certaines représentations du même objet sont mieux adaptées que
Les coefficients de Fourier cn peuvent être vus comme les coor- d’autres à certaines opérations que l’on souhaite effectuer sur cet
données de f dans la base orthonormée de l’espace L 2([0, 1]) objet.
constituée des fonctions en (t ) = e i2πnt, n ∈ , et sont donnés par Ainsi la transformée de Fourier est d’une grande efficacité pour
l’analyse en fréquence : détecter les fréquences dominantes dans l’ensemble d’un signal
f (t), puisque celles-ci apparaissent comme des pics dans l’ampli-
1
^
c n = 〈 f, e n 〉 = f ( t ) e –i2 π nt d t (5) tude de la fonction f ( ω ) . Ainsi, la transformée de Fourier d’une
0
combinaison de N oscillations pures est une combinaison de
Rappelons à ce stade que si Ω est un domaine de d et p ⭓ 1 , masses de Dirac :
l’ensemble Lp (Ω) des fonctions f telles que |f |p est intégrable (au N N
sens de Lebesgue) constitue un espace de Banach (c’est-à-dire un ^
espace normé complet) muni de la norme : f (t ) = ∑ a n e i ωn t ⇒ f ( ω ) = ∑ an δ ( ω – ωn ) (10)
n=1 n=1
f p = Ω f ( x ) p dx
1/p
(6) Une telle « concentration de l’information » se retrouve aussi
lorsque l’on applique la transformée de Fourier à une fonction
Toute reproduction sans autorisation du Centre français d’exploitation du droit de copie est strictement interdite.
AF 210 − 2 © Techniques de l’Ingénieur, traité Sciences fondamentales
QRP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afRQP
+∞
+∞ f ( n ) ( t ) dt
^ e –i ω t –∞
f (ω) = f ( n ) ( t ) ---------------
- dt ⭐ ----------------------------------------- (11)
–∞ ( i ω )n ωn
Un calcul similaire montre que si f est une fonction de période 1,
dont la dérivée f (n) est intégrable sur [0, 1], les coefficients de sa
série de Fourier vérifient l’estimation c k ( f ) ⭐ C k –n . La série (4)
converge donc d’autant plus rapidement — et les approximations
par des sommes partielles sont d’autant plus précises — que f est
régulière. t
S
une fonction régulière partout sauf en un point isolé de
discontinuité : une telle fonction est perçue comme globalement t
peu régulière par l’analyse de Fourier, et on ne peut espérer mieux
^ –1 –1
que les estimations f ( ω ) ⭐ C ω ou c k ( f ) ⭐ C k . La mau-
vaise approximation de f par ses basses fréquences se traduit en
Figure 1 – Atomes temps-fréquence
particulier par le phénomène de Gibbs, c’est-à-dire la persistance
d’oscillations au voisinage du point de discontinuité dans les som-
mes de Fourier partielles ou la représentation intégrale (2) res-
treinte à un intervalle ω ⭐ F . qui représente l’intensité de la fréquence ω dans un voisinage de
l’instant τ. Elle peut aussi s’écrire Gf (ω, τ ) = 〈f, gω, τ 〉, où les briques
La transformée de Fourier est aussi mise en échec lorsque l’on d’analyse sont données par gω, τ (t ) = g (t – τ )e– iω t. Remarquons
se trouve face à un signal faisant apparaître différentes fréquences que l’on a :
dominantes à différents intervalles de temps — une partition de ^
musique — et que l’on souhaite non seulement connaître ces g ω , τ ( ξ ) = e –i τξ^
g (ξ – ω) (13)
fréquences mais aussi leur localisation temporelle. Cette deuxième ^
information est bien entendu présente dans la transformée de et que g est aussi une gaussienne. Par conséquent, ces briques
Fourier (puisque celle-ci caractérise complètement le signal d’après sont à la fois bien localisées dans le temps (autour de l’instant t )
la formule de reconstruction (2)), mais elle n’apparaît pas explicite- et dans le domaine fréquentiel (autour de la fréquence ω ). On peut
^ ainsi les visualiser symboliquement comme des rectangles de for-
ment dans l’examen de l’amplitude f ( ω ) qui permet seulement
de détecter les fréquences dominantes. mes fixes localisées à divers emplacements du plan temps-fré-
quence, repéré par les axes (ω, t ), ce qui leur vaut parfois le nom
Ces limitations sont fondamentalement dues au caractère forte- d’« atomes temps-fréquence ». La figure 1 visualise ainsi deux ato-
ment global des formules (1) et (2) : toutes les valeurs de f influen- mes gω,τ et leur localisation dans le plan temps-fréquence. Notons
^
cent toutes les valeurs de f et réciproquement. Elles ont conduit que le principe d’incertitude de Heisenberg limite cette double
les mathématiciens ainsi que les ingénieurs à la mise au point localisation par une aire minimale imposée à ces rectangles. Cette
d’autres outils de représentation, et en particulier aux ondelettes. transformée représente la fonction f puisque l’on a :
g
+∞
–1
f (t ) = f ( t ) g ( t – τ )d τ
–∞
2. L’approche
+∞ +∞
–1
= g Gf ( ω , τ )e i ω t dω d τ
temps-fréquence –∞ –∞
+∞
t–b
Gf ( ω , τ ) =
–∞
f ( t )g ( t – τ ) e –i ω t dt (12)
ψ a, b ( t ) = a –1/2 ψ -------------
a (14)
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 210 − 3
QRQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afRQP
S Figure 2 – Ondelettes
( e n ) n ⭓ 0 dans un espace de Hilbert H est appelée « frame » si
et seulement si il existe deux constantes C 1 et C 2 strictement posi-
tives telles que, pour tout x ∈ H :
f (t ) =
∑∈
n
fn ( t )
∑∈
n
g ( t – nt 0 )
ψ j, k ( t ) = 2 j/2 ψ ( 2 j t – k ), j , k ∈ (20)
où le dénominateur est strictement positif, et ces fonctions sont de L 2 ( ) , dite base d’ondelettes. Cette construction paraît alors
elles-mêmes caractérisées par la donnée de leurs coefficients de presque miraculeuse. À partir de 1986, des idées provenant du trai-
Fourier : tement de l’image vont apporter un éclairage nouveau, et résolu-
ment lié aux applications numériques, sur la théorie des bases
f n, m = Gf ( nt 0 , m ω 0 ) , m ∈ , avec ω 0 = 2 π / ( b – a ) d’ondelettes.
Toute reproduction sans autorisation du Centre franç ais d’ exploitation du droit de copie est strictement interdite.
AF 210 − 4 © Techniques de l’ Ingénieur, traité Sciences fondamentales
QRR
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTXP
QRS
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTXP
QRT
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTXP
Dans nos citations, nous nous contenterons souvent, par gain de place, de la
référence la plus récente, à partir de laquelle le lecteur pourra remonter à la
littérature plus classique.
S
proximation est cherchée, et où les dérivées de f, donc ses coeffi- On connaı̂t deux manières principales d’approcher une fonction f
cients de Taylor, sont connues au centre (on supposera sans perte par une information finie : soit, comme dans le polynôme de Tay-
de généralité que ce dernier se trouve en 0) : lor, par un nombre fini de composantes dans une base d’un sous-
espace vectoriel fini que l’on se donne a l’avance en fonction des
∞ propriétés connues ou supputées de f, soit par les valeurs de f en
f (z ) = ∑ ak z k un nombre fini d’abscisses.
k =0
Dans la seconde catégorie, une fois l’information finie connue, il
est nécessaire de reconstruire (approximativement) f à partir de ses
(on a alors une série de Maclaurin). On peut ensuite évaluer une valeurs aux abscisses. Soient donc n + 1 abscisses distinctes x0,…,
version finie de cette série, un polynôme de Taylor xn de l’intervalle [a, b] dans lequel f doit être approchée, et fj : = f (xj)
fm (z ) : = ∑k = 0 ak z k , avec comme erreur
m les valeurs correspondantes de f. On suppose logiquement que
f 2 C [a, b], l’espace linéaire des fonctions continues sur l’intervalle
∞ [a, b], déjà pour garantir l’existence de sa valeur en tout point. La
f (z ) − fm (z ) = ∑ (
ak z k = ᏻ z m +1 ) manière la plus naturelle de résoudre ce problème est l’interpola-
tion : trouver une fonction simple g passant par les points (xj, fj)
k =m +1
du graphe de f, c’est-à-dire avec
de Padé. L’approximant de Padé (d’ordre) [m/n] est la fonction On appellera les xj points ou nœuds de l’interpolation.
rationnelle
La fonction g la plus simple pour la réalisation de l’idée fonda-
m n mentale est le polynôme d’interpolation pn de degré n au plus,
rmn ( x ) = ∑ ak zm 1 + ∑ bk z
k
dont la formule de Lagrange s’écrit
k =0 k =1
n
pn ( x ) = ∑ f j ᐉ j (x ), (2)
telle que j =0
∞
f (z ) − rmn (z ) = ∑ (
ak z k = ᏻ z m +n +1 ) n n
k =m + n +1 ℓ j (x ) : = ∏ (x − x k ) ∏ (x j − x k ) .
k = 0, k ≠ j k = 0, k ≠ j
pour z Æ •. Avec la convention d’un dénominateur de terme cons- La validité de (1) pour g := pn vient de la propriété évidente
tant 1, l’approximant de Padé [m/n] est unique. Le polynôme de
Taylor de degré m est l’approximant de Padé [m/0]. ℓ j (x k ) = { 1, k = j ,
0, sinon,
j , k = 0, …, n, (3)
Les approximants de Padé sont très utiles dans bien des applica-
tions, voir par exemple [1] et [19]. Ils souffrent cependant de du polynôme (fondamental) de Lagrange ℓ j correspondant au
défauts importants. Ils dépendent non linéairement de la fonction nœud xj.
approchée. Les ak, donc les dérivées correspondantes, ne sont sou-
vent pas connus. Et surtout, toute l’information étant donnée en un La plupart des auteurs voient encore en cette représentation de
même point (0 dans ce qui précède), la qualité de l’approximation Lagrange un mauvais choix en pratique, lui reprochant :
diminue lorsque le point dévaluation z s’éloigne de ce point d’an-
crage (voir l’exemple numérique pour le cas de Taylor dans [16]
que toute évaluation de p requière ᏻ n 2 ( ) additions et multi-
p. 69). En corollaire, l’approximant rmn change fortement lorsque plications (que nous abrégerons par « flops », pour « floating
l’on modifie les coefficients ak de la série de Maclaurin. On dit point operation », en algèbre linéaire numérique, un flop étant
dans un tel cas que le problème est mal conditionné. la combinaison d’une addition et d’une multiplication) ;
Ces approximants ne satisfont donc en général pas à la condition que l’ajout d’une paire (xn+1, fn+1) supplémentaire exige une
de stabilité exigée en introduction. Le lecteur consultera l’article [25] reprise des calculs du début ;
pour une approche récente de leur construction. que le calcul soit numériquement instable.
QRU
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQTXP
ℓ ( x ) : = ( x − x 0 ) ( x − x 1)… ( x − x n ) (4)
w j := 1 ∏ (x j − x k ).
k≠j
Alors ℓ j s’écrit
ℓ (x )
ℓ j (x ) = wj
x − xj
( )
ᏻ n2 flops pour le calcul de certaines valeurs indépendantes
de x, ici les wj (qui, contrairement aux différences divisées de
la formule de Newton, ne dépendent que des nœuds, non de
f, insigne avantage pour la résolution d’équations) ;
Figure 1 – Phénomène de Runge
suivis de ᏻ (n ) flops pour l’évaluation de pn en chaque x.
Pour des poids différents des wj, le quotient est une fonction
Surtout, Nick Higham [30] a montré que, à la fois stable en avant p
et à rebours, elle est probablement la plus stable de toutes. rationnelle , où p et q sont des polynômes de degré ≤ n , ce
q
Pour certaines applications, on peut cependant faire encore dont on se persuade en remultipliant numérateur et dénomi-
mieux, en remarquant que l’unicité implique que la fonction 1 est nateur par ℓ ( x ). Cette propriété sera importante pour l’inter-
reproduite exactement par son polynôme d’interpolation : polation rationnelle barycentrique à la section 8.
n wj Jusqu’ici tout se passe bien. Mais les nœuds les plus importants
1 = ℓ (x ) ∑ . (6) – si l’on ne sait pas grand chose de f, ou si celle-ci est donnée par
j =0 x − x j un échantillon – sont équidistants. Or le polynôme est rarement uti-
lisable pour de tels points. La figure 1 montre l’interpolation avec
Divisant (5) par (6) et simplifiant par ℓ ( x ) : 17 nœuds d’une fonction sans propriété particulière (hormis le fait
que son extension complexe possède un pôle relativement près de
n w n w ℝ ) : pn interpole, mais oscille si fortement qu’il en devient inutili-
pn ( x ) = ∑ x − jx fj ∑ x − jx . (7) sable comme approximation de f près des extrémités de l’inter-
j =0 j j =0 j
valle ; on appelle ceci le phénomène de Runge [20].
C’est la (seconde) formule barycentrique pour pn ; voir [11] et [49]
pour des commentaires historiques.
(7) jouit de plusieurs avantages, dont les deux suivants : 3. Constante de Lebesgue
les poids apparaissant a la fois au numérateur et au dénomi-
nateur, ils ne doivent être déterminés qu’à une constante d’un interpolant linéaire
près. Par exemple, pour les points équidistants, on obtient
comme poids simplifiés
On considère l’application I qui, pour un ensemble fixe de
w ∗j = ( − 1) ;
j n
j nœuds donnés, associe à toute fonction continue f un même inter-
polant, par exemple pn [f ] ≡ pn ∈Πn . (Nous utiliserons la notation
l’interpolation est stable par rapport aux poids : standard Pn pour l’ensemble des polynômes de degré n au plus.)
Ici cette application est linéaire, c’est-à-dire que
n β n β pn [ αf + βg ] = αpn [f ] + βpn [g ] ∀α, β ∈ ℝ et 8 f, g 2 C [a, b].
∀β ℓ ≠ 0, lim =
x →x ℓ
∑ x −jx fj ∑ x −jx = fℓ . (8)
j =0 j j =0 j Le but de l’approximation étant d’approcher des fonctions le plus
précisément possible, il est naturel d’exiger au moins qu’aucune
QRV
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSYP
Interpolation, approximation
et extrapolation rationnelles
par Claude BREZINSKI
Docteur ès Sciences Mathématiques
Professeur Émérite
Laboratoire Paul Painlevé
UMR CNRS 8524
Université des Sciences et Technologies de Lille, France
et Michela REDIVO-ZAGLIA
Docteur en Mathématiques
Professeur
S
Dipartimento di Matematica
Università degli Studi di Padova, Italie
QRW
r←ヲ←イ・ョ」・@iョエ・イョ・エ
afQSYP
S
Le but de cet article est de servir d’introduction à l’interpolation et à l’appro-
ximation par des fonctions rationnelles ainsi qu’à l’extrapolation rationnelle. On
donnera des exemples d’application de ces techniques.
Dans la bibliographie, les références en français ont été privilégiées quand
cela était possible. On pourra trouver d’autres références en consultant les
pages personnelles des auteurs de cet article sur Internet.
(n ) (n ) (n ) (n ) (n )
1. Interpolation rationnelle α0 = ρ0 , αk = ρk − ρk − 2 , k = 1, 2,…
Supposons que nous ayons des points distincts x0, x1,… et que
nous connaissions les valeurs d’une fonction (connue ou inconnue) x − xn x − x n +1 x − xn +k
Ck( ) ( x ) = α0( ) +
n n
f en ces points, fi = f (xi) pour i = 0, 1,… Nous cherchons une frac- + (n ) + ⋯ + (n ) .
α1( )
n
α2 αk −1
tion rationnelle d’interpolation de f ayant soit un numérateur et un
dénominateur de degré k, soit un numérateur de degré k et un
dénominateur de degré k - 1. Pour les construire, il est nécessaire Ce convergent vérifie les conditions d’interpolation
de connaı̂tre la fonction f en un nombre de points égal à la somme
Ck( ) ( x i ) = fi , i = n, …, n + k .
n
des degrés du numérateur et du dénominateur plus un. Nous ne
nous préoccuperons pas ici des conditions d’existence de cette
fraction qui peuvent être assez compliquées [17].
Si nous posons Ck( ) ( x ) = Ak( ) ( x ) / Bk( ) ( x ) , les relations de récur-
n n n
(n )
On commence par calculer les différences réciproques ρk de la
rence suivantes permettent de le calculer pour k = 1, 2,…
fonction f à l’aide de la règle récursive suivante
Ak( ) ( x ) = αk( ) Ak( −)1 ( x ) + ( x − x n + k −1) Ak( −)2 ( x )
n n n n
x −x
ρk( +)1 = ρk( −1 ) + nn++k1+1 nn ,
n n +1
k , n = 0, 1, … (1)
( ) − ρ( )
Bk( ) ( x ) = αk( Bk −1 ( x ) + ( x − x n + k −1)Bk − 2 ( x )
ρk n n ) (n ) (n )
k
QRX
r←ヲ←イ・ョ」・@iョエ・イョ・エ
bmURRP
QRY
r←ヲ←イ・ョ」・@iョエ・イョ・エ
bmURRP
QSP
r←ヲ←イ・ョ」・@iョエ・イョ・エ
bmURRP
1.2 Grandeurs continues La variation du nombre de molécules ayant une vitesse com-
prise entre et dans un volume situé entre et pen-
Les grandeurs usuelles de la mécanique des fluides continues dant une durée dt s’écrit :
peuvent être obtenues à partir de la fonction f. Soit une grandeur
continue associée à la grandeur microscopique Q portée par les (8)
molécules de gaz :
La différentielle de f permet d’écrire l’égalité à l’ordre 1 :
(2)
S
est égal à la masse volumique ρ.
Les premier et troisième termes du membre de droite corres-
Ensuite, la vitesse du gaz au sens des milieux continus, ,
pondent respectivement au transport convectif et à l’accumula-
s’écrit :
tion. Ces contributions apparaissent classiquement dans les
équations de transport comme les équations de Navier-Stokes ou
(4)
l’équation de la chaleur. Le second terme correspond à la varia-
Nota : représente la vitesse d’écoulement du gaz au sens de la mécanique des
tion générée par les interactions extérieures .
fluides quand représente la vitesse des molécules.
Cette équation peut également être obtenue en effectuant le
Enfin, l’énergie cinétique des molécules contient deux quantités bilan de f sur un volume infinitésimal.
distinctes. L’énergie cinétique du fluide et l’agitation thermique.
Considérons le point de vue lagrangien, c’est-à-dire le repère d’un 1.3.1 Et les collisions ?
point matériel qui se déplace avec le fluide. Dans le repère du
point matériel, la vitesse des molécules s’écrit . Cette Il reste à écrire le terme source. L’évolution de la fonction de
définition implique que . distribution vient des collisions entre molécules. Du point de vue
L’énergie d’agitation thermique s’écrit à partir de cette vitesse : du bilan, les collisions correspondent au terme de production. En
effet, ce sont les collisions qui peuvent faire apparaître ou dispa-
raître des molécules du nombre de celles qui ont une vitesse com-
(5)
prise entre Le bilan total s’écrit donc, en appelant C le
et cette énergie peut être reliée à la température : terme de collision :
(6) (9)
Ainsi, l’énergie cinétique totale des molécules peut se décompo- Pour mettre en équation ce terme de collision, il faut écrire le
ser en deux contributions : l’énergie cinétique du fluide au sens bilan des collisions sur le volume de l’espace des phases d3rd3v
des milieux continus plus l’agitation thermique. Soit : pendant un temps dt. Soit, en notant A+ les molécules qui entrent
dans le volume d3rd3ν et A– celles qui en sortent pendant une
(7) durée dt :
1.3 Vers l’équation de Boltzmann Le nombre de molécules α qui se trouvent dans la zone com-
prise entre , et et , s’écrit :
L’équation de Boltzmann correspond simplement à un bilan de
la fonction f. (12)
QSQ
r←ヲ←イ・ョ」・@iョエ・イョ・エ
bmURRP
S Soit :
(14)
Notons que dans l’équation (17), l’influence des forces extérieures
F a été négligée. Si les collisions font passer la propriété de Qα à
, en utilisant la reversibilité des collisions, le membre de droite
peut s’écrire aussi bien en fonction de Qα que de :
(15)
En effet, pour un choc binaire entre deux objets quelconques, il Nous avons déjà fait un chemin important vers l’équation de
existe une infinité de vitesses après collisions qui satisfont la Boltzmann qui, discrédisée, donnera naissance à la méthode LBM.
conservation de la quantité de mouvement et de l’énergie ciné- Il reste cependant un résultat important à établir : l’existence
tique. Les paramètres manquants sont donnés par le noyau de d’une distribution f à l’équilibre, qui est l’un des principaux résul-
collision qui précise le comportement des molécules lors d’un tats de Boltzmann et qui permet de faire le lien entre la fonction f
choc, en fonction de la vitesse relative et de la section efficace. et la notion d’entropie.
QSR
GAGNEZ DU TEMPS ET SÉCURISEZ VOS PROJETS
EN UTILISANT UNE SOURCE ACTUALISÉE ET FIABLE
RÉDIGÉE ET VALIDÉE MISE À JOUR 100 % COMPATIBLE SERVICES INCLUS
PAR DES EXPERTS PERMANENTE SUR TOUS SUPPORTS DANS CHAQUE OFFRE
NUMÉRIQUES
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com
LES AVANTAGES ET SERVICES
compris dans les offres Techniques de l’Ingénieur
ACCÈS
SERVICES ET OUTILS PRATIQUES
Archives Impression à la demande Alertes actualisations
Technologies anciennes et versions Commandez les éditions papier Recevez par email toutes les nouveautés
antérieures des articles de vos ressources documentaires de vos ressources documentaires
*Questions aux experts est un service réservé aux entreprises, non proposé dans les offres écoles, universités ou pour tout autre organisme de formation.
www.techniques-ingenieur.fr
CONTACT : Tél. : + 33 (0)1 53 35 20 20 - Fax : +33 (0)1 53 26 79 18 - E-mail : infos.clients@teching.com