Vous êtes sur la page 1sur 23

SYNTHÈSE GÉNÉRALE D’ANALYSE NUMÉRIQUE

Inspirée du cours du Pr. Quentin LOUVEAUX

Tom BERTRAND

Décembre 2021

I
II
Table des matières

Régression .............................................................................................................................................. 1

1 Régression polynomiale....................................................................................................................................... 1
2 Régression linéaire .............................................................................................................................................. 1
3 Régression non linéaire ....................................................................................................................................... 2
4 Régression par combinaison de polynômes ......................................................................................................... 2
5 Interpolation de Lagrange .................................................................................................................................. 3

Résolution de systèmes .......................................................................................................................... 4

1 Système linéaire .................................................................................................................................................. 4


1.1 Pivot de Gauss ............................................................................................................................................ 4
1.2 Décomposition 𝑳𝑼 ..................................................................................................................................... 4
1.3 Comparaison de complexité ........................................................................................................................ 5
2 Gestion de l’erreur (conditionnement et résidu) ................................................................................................. 5
3 Mise à l’échelle.................................................................................................................................................... 6
4 Méthodes itératives ............................................................................................................................................. 6
4.1 Méthode de Jacobi ...................................................................................................................................... 7
4.2 Méthode de Gauss-Seidel ............................................................................................................................ 7
4.3 Convergence ................................................................................................................................................ 7
5 Calcul de valeurs propres (=eigenvalues) ........................................................................................................... 8
5.1 Méthode de la puissance ............................................................................................................................. 8
5.2 Décomposition 𝑸𝑹 ..................................................................................................................................... 8

Optimisation linéaire ............................................................................................................................. 9

1 Méthode graphique ............................................................................................................................................. 9


2 Méthode du tableau simplexe ............................................................................................................................. 9
3 Méthode directe à partir du tableau simplexe .................................................................................................. 11
4 Conclusions sur le type de solution .................................................................................................................. 12

Systèmes non linéaires ......................................................................................................................... 13

1 Méthode de la bissection (dans ℝ) .................................................................................................................... 13


2 Méthode de la sécante ...................................................................................................................................... 13
3 Méthode de Newton-Raphson ........................................................................................................................... 13
4 Méthode de Quasi-Newton ............................................................................................................................... 14
5 Méthode du point fixe ...................................................................................................................................... 14

Dérivation ............................................................................................................................................ 15

1 Série de Taylor unilatérale ............................................................................................................................... 15


2 Série de Taylor bilatérale symétrique ............................................................................................................... 15
3 Algorithme de Richardson ................................................................................................................................ 16

Intégration numérique ......................................................................................................................... 17

III
1 Méthode de Newton-Cotes................................................................................................................................ 17
2 Méthode des trapèzes (composite) .................................................................................................................... 17
3 Méthode de Simpson (composite) ..................................................................................................................... 17
4 Richardson (suite) ............................................................................................................................................ 18
5 Choix des bornes............................................................................................................................................... 18

Annexe ................................................................................................................................................. 19

Différentes normes ..............................................................................................................................19

IV
Régression

1 Régression polynomiale
On cherche ici à obtenir un polynôme passant par un nombre de points donnés afin de pouvoir approximer
les valeurs non fournies en d’autre points.
Propriété : Il existe toujours un unique polynôme de degré 𝑛 − 1 passant exactement par 𝑛 points distincts.
Cependant, on assistera parfois à un phénomène d’overfitting (Figure 1) en utilisant de telles méthodes.
Ce phénomène étant très néfaste, on cherchera à utiliser le polynôme 𝒫 de degré 𝑘 le plus élevé ne présentant
pas d’overfitting.

Figure 1 : overfitting

2 Régression linéaire
La régression linéaire est équivalente à la régression polynomiale de degré 𝑘 = 1. Soit l’ensemble des
(𝑥 , 𝑦 ), les points fournis et 𝑓(𝑥), la régression linéaire.
On peut dans un premier lieu choisir 𝑓(𝑥) optimale au sens des moindres carrés :
𝑓(𝑥) est telle que 𝐸 = 𝑒 + 𝑒 + ⋯ + 𝑒 est moindre
avec 𝑒 = 𝑓(𝑥 ) − 𝑦 , l'erreur commise pour chaque point.
Comme 𝑓(𝑥) = 𝑎𝑥 + 𝑏, 𝐸 est fonction de 𝑎 et 𝑏. On trouve alors son minimum en annulant sa dérivée
première selon 𝑎 et selon 𝑏. Ce processus nous fournit la formule

⎛ 𝑥 𝑥⎞ 𝑎 ⎛ 𝑥𝑦⎞
⎜ ⎟ ⎜ ⎟
𝐸(𝑎, 𝑏) est minimum ⇔ ⎜


= = ⎟

⎟ =⎜


= ⎟


⎜ ⎟ 𝑏 ⎜ ⎟
𝑥 𝑛 𝑦
⎝ = ⎠ ⎝ = ⎠
En résolvant ce système, dont les équations sont qualifiées de normales, on obtient alors les valeurs de 𝑎
et 𝑏 définissant 𝑓(𝑥).

1
Cette méthode présente toutefois une faiblesse dans le cas où un point diffère largement du reste des points
(outlier). Ce point aura tendance à « tirer » la droite de régression linéaire vers lui alors qu’il est souvent plus
cohérent de simplement l’ignorer.

Figure 2 : effet d’un outlier

Dans ce cas particulier, on utilisera plutôt 𝑓(𝑥) tel que 𝐸 = |𝑒 | + |𝑒 | + ⋯ + |𝑒 | est minimal.

3 Régression non linéaire


La régression non linéaire consiste à poser 𝑓(𝑥) = ∑ = 𝑎 𝜙 où les 𝜙 sont des fonctions simples. Au sens
des moindres carrés, on obtient, par annulation des dérivées premières de 𝐸(𝑎 , 𝑎 , … , 𝑎 ) selon chaque 𝑎 , le
système d’équations normales suivant :

⎛ 𝜙 (𝑥 ) 𝜙 (𝑥 )𝜙 (𝑥 ) … 𝜙 (𝑥 )𝜙 (𝑥 )⎞ 𝑎 ⎛ 𝜙 (𝑥 )𝑦 ⎞

⎜ = = =

⎟ ⎛ ⎞ ⎜
⎜ =


⎜ ⎟ ⎜
⎜ ⎟
⎟ ⎜ ⎟

⎜ ⎟ ⎜ 𝑎 ⎟ ⎜ ⎟
⎜ 𝜙 (𝑥 )𝜙 (𝑥 ) 𝜙 (𝑥 ) … 𝜙 (𝑥 )𝜙 (𝑥 )⎟
⎟ ⎜ ⎟ ⎜ 𝜙 (𝑥 )𝑦 ⎟

⎜ ⎟


⎜ ⎟
⎟ =⎜





⎜ = = =
⎟ ⎜
⎜ ⋮ ⎟
⎟ ⎜ =


⎜ ⋮ ⋮ ⋱ ⋮ ⎟
⎟ ⎜ ⎟ ⎜ ⋮ ⎟
⎜ ⎟ ⎜ ⎟ ⎜⎜ ⎟

⎜ ⎟ ⎜ ⎟
𝜙 (𝑥 )𝜙 (𝑥 ) 𝜙 (𝑥 )𝜙 (𝑥 ) … 𝜙 (𝑥 ) ⎝𝑎 ⎠ 𝜙 (𝑥 )𝑦
⎝ = = = ⎠ ⎝ = ⎠

4 Régression par combinaison de polynômes


Similairement à la régression non linéaire, on peut poser 𝑓 (𝑥) = ∑ = 𝑎 𝜙 (𝑥) mais où, cette fois-ci, les
fonctions 𝜙 sont des polynômes.
Une première idée serait de prendre 𝜙 = 𝑥 ce qui reviendrait à 𝑓(𝑥) = 𝑎 + 𝑎 𝑥 + 𝑎 𝑥 + ⋯ + 𝑎 𝑥 .
Cette façon de faire est malheureusement très lourde à réaliser numériquement. On préfèrera l’utilisation de
polynôme orthogonaux :
𝜙 𝜙 = 0, ∀𝑖 ≠ 𝑗
où ⟨𝑝(𝑥)|𝑞(𝑥)⟩ = 𝑝(𝑥 )𝑞(𝑥 )
=
Propriétés :
Commutativité : ⟨𝑝|𝑞⟩ = ⟨𝑞|𝑝⟩
Définie positivité : ⟨𝑝|𝑝⟩ ≥ 0 et ⟨𝑝|𝑝⟩ = 0 ⇔ 𝑝 = 0
Linéarité : 𝑎⟨𝑝|𝑞⟩ = ⟨𝑎𝑝|𝑞⟩ et ⟨𝑝|𝑞 + 𝑟⟩ = ⟨𝑝|𝑞⟩ + ⟨𝑝|𝑟⟩

2
Cette utilisation de fonctions orthogonales permet une grande simplification du système d’équations
normales :
⟨𝜙 |𝜙 ⟩ 0 … 0 𝑎 ⟨𝑦|𝜙 ⟩

⎜ 0 ⟨𝜙 |𝜙 ⟩ … 0 ⎞
⎟ ⎛ 𝑎 ⎞ ⎛
⎜⟨𝑦|𝜙 ⟩⎞⎟
⎜ ⎟ ⎜
⎜ ⎟
⎟=⎜ ⎟
⎜ ⋮ ⋮ ⋱ ⋮ ⎟ ⋮ ⎜ ⋮ ⎟
⎝ 0 0 … ⟨𝜙 |𝜙 ⟩⎠ ⎝𝑎 ⎠ ⎝⟨𝑦|𝜙 ⟩⎠
Dans cette expression, 𝑦 est la fonction discrète composée des (𝑥 , 𝑦 ).
On obtient trivialement l’équation utile
⟨𝑦|𝜙 ⟩
𝑎 =
⟨𝜙 |𝜙 ⟩
Le carré de la variance d’indice 𝑘 est défini comme la moyenne du carré des erreurs causées par
l’approximation par combinaison de 𝑘 polynômes :
1 1 1
𝜎 = 𝑦(𝑥 ) − 𝑓 (𝑥 ) = 𝑦 − 𝑓 (𝑥 ) = 𝑒
𝑛 =
𝑛 =
𝑛 =

Propriété : 𝜎 > 𝜎 > 𝜎 > ⋯ > 𝜎 − =0


On utilisera la variance pour trouver le meilleur degré de 𝑓. En effet, la combinaison de polynômes 𝑓 est
optimale en prenant 𝑘 tel que
𝜎
est suffisamment proche de 1
𝜎 +

L’erreur serait de penser que, comme 𝜎 − = 0, l’erreur est nulle (ceci reste bien vrai) et l’approximation
est alors optimale. En effet, même si l’approximation est exacte, on fait à nouveau face au problème
d’overfitting présenté plus haut. L’utilité de la variance est justement de fournir le degré proposant le meilleur
compromis entre précision et prévention contre l’overfitting.

5 Interpolation de Lagrange
L’interpolation de Lagrange génère facilement un polynôme 𝐿(𝑥) passant par tous les points fournis :

𝑥−𝑥
𝐿(𝑥) = 𝑦
= = ≠
𝑥 −𝑥

Ce polynôme, de degré 𝑛, a tout pour causer de l’overfitting. Il ne sera donc pas utilisé pour interpoler à
proprement parler mais il trouvera son utilité dans l’intégration numérique que l’on abordera plus loin.

3
Résolution de systèmes

1 Système linéaire
Soit le système 𝐴x = b avec 𝐴 ∈ ℝ ×
, x ∈ ℝ , b ∈ ℝ et où 𝐴 est supposée creuse (=sparse).
Pour résoudre le système, on pourrait être tenté de calculer 𝐴− et effectuer x = 𝐴− b… Une seule chose
à retenir : l’utilisation de la matrice inverse est à proscrire car sa complexité sera toujours plus élevée que
celle des autres méthodes présentées. On notera également que cette méthode, bien que satisfaisante d’un
point de vue analytique peut se révéler numériquement instable.

1.1 Pivot de Gauss


Quand 𝐴 n’est pas triangulaire, on cherchera à la triangulariser par pivot de Gauss uniquement horizontal.
Pour rappel, le pivot de Gauss s’applique sur les lignes (l’horizontal, donc) à l’étape 𝑖 comme suit :
Choix du pivot : on apporte en position de pivot (sur la diagonale) l’élément de plus grande valeur
de la colonne 𝑖 (pivot partiel) ou de l’ensemble des éléments contenus dans la sous-matrice qu’il
reste à évaluer (pivot complet). Le pivot complet ne pourra être appliqué dans notre cas car il
demande de pouvoir permuter lignes et colonnes.
Combinaison : on modifie la ligne 𝑗 avec 𝑙 → 𝑙 + 𝑚 𝑙 où 𝑚 = −𝑎 /𝑎

On notera enfin, qu’en toute généralité, le pivot partiel est 𝒪(𝑛 ) alors que le pivot complet est 𝒪(𝑛 ).

1.2 Décomposition 𝑳𝑼
Si on garde un même 𝐴 durant différentes résolutions de systèmes linéaires, il peut être intéressant de
garder la forme triangulaire de 𝐴 ainsi que les opérations à appliquer sur b pour éviter la répétition et ainsi
accélérer la résolution. Cette approche est appelée la décomposition LU.
Dans la décomposition 𝐿𝑈, on forme une matrice triangulaire supérieure 𝑈 à partir de 𝐴 en appliquant le
pivot de Gauss comme expliqué précédemment. La matrice 𝐿 est obtenue en stockant les opérations que l’on
effectuées sur 𝐴 pour obtenir 𝑈. En effet,
1 0 0 ⋅⋅⋅ 0

⎜ 𝑚 1 0 ⋅⋅⋅ 0⎞

⎜𝑚 0⎟
𝐿=⎜
⎜ 𝑚 1 ⎟


⎜ ⋮ ⎟
⋮ ⋱ ⋱ 0⎟
⎝𝑚 𝑚 𝑚 − 1⎠

Après cette décomposition, on obtient 𝐴 = 𝐿𝑈 et le système s’écrit alors comme deux sous-systèmes plus
simples à résoudre :
𝐿y = b
𝐴x = 𝐿𝑈x = b ⇔
𝑈x = y
On se rend ici bien compte que, comme 𝐴 = 𝐿𝑈 pour tout b, il ne sera pas nécessaire d’effectuer à nouveau
un pivot de Gauss. On se contentera de remplacer b dans le premier sous-système et de résoudre.

4
1.3 Comparaison de complexité
Dans le cas particulier où 𝐴 est triangulaire, on utilise la substitution avant puis arrière, opération très
simple (𝒪(𝑛 )). Les méthodes de Gauss et de décomposition 𝐿𝑈 sont toutes deux 𝒪(𝑛 ) pour un 𝐴 donné.
Cependant, comme la décomposition 𝐿𝑈 possède un plus grand terme en 𝑛 , elle est plus lente. Lors de
réutilisation de 𝐴 en revanche, Gauss reste inchangé mais 𝐿𝑈 devient 𝒪(𝑛 ).

2 Gestion de l’erreur (conditionnement et résidu)


Certains systèmes sont plus sensibles à une petite erreur contenue dans 𝐴 ou dans b que d’autres. Ils sont
qualifiés de mal conditionnés (=ill-conditioned). Pour mesurer le conditionnement d’un système, on introduit
donc 𝜅(𝐴) = ‖𝐴‖‖𝐴− ‖ ≥ 1, le nombre de conditionnement (a). Le calcul d’une matrice inverse étant, pour
rappel, à proscrire, on sera bien avisé d’utiliser ‖𝐴− ‖ = ( )
.

Si l’on prend 𝐴 ∈ ℝ × non singulière, b ∈ ℝ et x ∈ ℝ tels que 𝐴x = b, on peut majorer l’impact qu’aura
une petite erreur de b ou de 𝐴 sur la valeur de x :
‖𝛿x‖ ‖𝛿b‖
≤ 𝜅(𝐴)
‖x‖ ‖b‖
‖𝛿x‖ ‖𝛿𝐴‖
≤ 𝜅(𝐴)
‖x + 𝛿x‖ ‖𝐴‖
On comprend aisément que plus le nombre de conditionnement est grand par rapport à 1, plus le système
est mal conditionné.
Pour un x donné, on peut également calculer r le résidu, causé par ce x dans le système :
r = 𝐴x − b
Il est nul quand x est la solution exacte. Quand x est suffisamment proche de la solution exacte, on a
r ≈ 0. On obtient alors
𝐴x = (b + r), r ≈ 0 ⇔ r = 𝛿b
Et la relation de conditionnement devient
‖𝛿x‖ ‖r‖
≤ 𝜅(𝐴)
‖x‖ ‖b‖
Propriété : Si 𝐴 est diagonale, 𝜅(𝐴) = 1.
On peut montrer que, si 𝐴 contient des erreurs d’arrondissage numérique, la décomposition 𝐿𝑈 est telle
que
𝐿𝑈 = 𝐴 + 𝛿𝐴 = 𝐴 + 𝐸
où 𝐸 est tel que ‖𝐸‖ ≤ 𝑛 𝑔 𝜀 ‖𝐴‖

(a)
Pour plus d’information concernant la norme matricielle, se référer à l’annexe dédiée.

5
Dans cette dernière relation, 𝑛 est la dimension de 𝐴, 𝜀 est l’epsilon machine et 𝑔 est tel que
[ ]
max 𝑎
plus grande valeur absolue rencontrée durant le pivot de Gauss
𝑔 = = ≥1
plus grande valeur absolue de A max 𝑎

Enfin, la valeur de x évaluée comme étant solution de 𝐿x = b, est en réalité la solution exacte de
(𝐿 + 𝛿𝐿)x = b avec
𝑛(𝑛 + 1)
‖𝛿𝐿‖ ≤ 𝜀 max 𝑙
2

3 Mise à l’échelle
Si 𝐴 contient des éléments de différents ordres de grandeur dans une même ligne et/ou dans une même
colonne, il est préférable d’appliquer différents facteurs de mise à l’échelle aux lignes et colonnes afin de
réduire les erreurs d’arrondissage générées lorsque l’on confronte deux ordres de grandeur trop écartés. Pour
se faire, on pose
b =𝐷 b
x=𝐷 x
𝐷 contient les facteurs d’échelle à appliquer sur les lignes (comme si l’on simplifiait les deux membres
d’une des équations du système par un diviseur commun) alors que 𝐷 contient les facteurs d’échelle à
appliquer sur les colonnes (comme si l’on changeait les unités des 𝑥 ) :
Si on multiplie chaque ligne 𝑙 par 𝛽 , 𝐷 = diag(𝛽 , 𝛽 , … , 𝛽 )
Si on multiplie chaque colonne 𝑐 par 𝜒 , 𝐷 = diag(𝜒 , 𝜒 , … , 𝜒 )

On obtient, en sortie de ces opérations, les matrice 𝐴 = 𝐷 𝐴𝐷 et b = 𝐷 b. On résout alors le système


𝐴 x = b équivalent à 𝐷 𝐴𝐷 x = 𝐷 b. Une fois x obtenu, on obtient x via la relation x = 𝐷 x .

4 Méthodes itératives
Reprenant le système 𝐴x = b où 𝐴 est une matrice creuse, on remarque que le stockage numérique de 𝐴
est simplifié et que l’opération 𝐴v est peu couteuse. Résoudre le système par une suite de multiplications de
𝐴 par une matrice-colonne semble donc être une approche efficace numériquement.
𝐴x = b ⇔ 𝑄x = 𝑄x − 𝐴x + b ⇔ x = 𝑄− (𝑄 − 𝐴)x + b

D’une manière semblable à la méthode du point fixe, on effectuera itérativement


x + = 𝑄− (𝑄 − 𝐴)x + b

On notera d’une part que cette méthode ne converge pas toujours et que, d’autre part, même s’il est
explicitement fait référence à l’inverse de 𝑄, on évitera le calcul de matrice inverse en pratique.
Pour la suite, on décompose 𝐴 en la somme d’une matrice triangulaire inférieure 𝐿, d’une diagonale 𝐷 et
d’une supérieure 𝑈:
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
⎛∗ ∗ ∗ ∗⎞ ⎛∗ ⎞+⎛ ∗ ⎞ ⎛ ∗ ∗⎞
𝐴=𝐿+𝐷+𝑈 = ⎜ ⎜∗ ∗ ⎟ = ⎜∗ ⎟ ⎜ ⎟
⎟+⎜ ⎟
∗ ∗⎟ ∗ ⎜ ∗ ⎜ ∗⎟
⎝∗ ∗ ∗ ∗⎠ ⎝∗ ∗ ∗ ⎠ ⎝ ∗⎠ ⎝ ⎠

6
4.1 Méthode de Jacobi
La méthode de Jacobi prend 𝑄 = 𝐷 ⇒ 𝑄 − 𝐴 = −(𝐿 + 𝑈 )
Dès lors, la loi d’itération devient
𝐷x + = −(𝐿 + 𝑈 )x + b
⎧𝑥 𝑎 𝑎 𝑎 𝑏
+ = − 𝑥 − 𝑥 − ⋯− 𝑥 +
𝑎 𝑎 𝑎 𝑎
𝑎 𝑎 𝑎 𝑏
𝑥 + = − 𝑥 − 𝑥 − ⋯− 𝑥 +
⇔ 𝑎 𝑎 𝑎 𝑎


𝑎 𝑎 𝑎 − 𝑏
𝑥 + = − 𝑥 − 𝑥 − ⋯− 𝑥 − +
⎩ 𝑎 𝑎 𝑎 𝑎
𝑎 𝑏
⇔𝑥 + = − 𝑥 +
= ≠
𝑎 𝑎

La résolution d’une équation donnée à une itération donnée est 𝒪(𝑛).

4.2 Méthode de Gauss-Seidel


Pour cette méthode, on prend 𝑄 = 𝐿 + 𝐷 ⇒ 𝑄 − 𝐴 = −𝑈
Dès lors, la loi d’itération devient
(𝐿 + 𝐷)x + = −𝑈x + b
𝑎 0 ⋅⋅⋅ 0 𝑥 + 0 −𝑎 ⋯ −𝑎 𝑥 𝑏
⎛ 𝑎 𝑎 ⋱ ⋮ ⎞ ⎛ 𝑥 + ⎞ ⎛0 0 ⋱ ⋮ ⎞ ⎛ 𝑥 ⎞ ⎛
⎜𝑏 ⎞

⇔⎜
⎜ ⎟
⎟⎜⎜ ⎟
⎟=⎜ ⎜ ⎟
⎟ ⎜
⎜ ⎟
⎟+⎜
⎟ ⎟
⎜ ⋮ ⋮ ⋱ 0 ⎟⎜ ⋮ ⎟ ⎜⋮ ⋮ ⋱ −𝑎 − ⎟⎜ ⋮ ⎜⋮ ⎟
⎝𝑎 𝑎 ⋯ 𝑎 ⎠ ⎝𝑥 + ⎠ ⎝0 0 ⋯ 0 ⎠ ⎝𝑥 ⎠ ⎝𝑏 ⎠

𝑎 𝑎 𝑏
⇔𝑥 + = − 𝑥 + + − 𝑥 +
=
𝑎 =+
𝑎 𝑎

La résolution d’une équation donnée à une itération donnée est également 𝒪(𝑛) via cette méthode. Ceci
signifie qu’une itération de la méthode de Gauss-Seidel prend le même temps qu’une itération de la méthode
de Jacobi. Il est néanmoins à remarquer que la méthode de Gauss-Seidel converge plus vite (lorsqu’elle
converge).

4.3 Convergence
Condition nécessaire et suffisante : on donne e + = (𝐼 − 𝑄− 𝐴)e où e est l’erreur générée à la
𝑘ième itération. On obtient, en prenant {𝜆 }, l’ensemble des valeurs propres de 𝐼 − 𝑄− 𝐴, et en
prenant {v }, l’ensemble des vecteurs propres de 𝐼 − 𝑄− 𝐴, e = 𝛼 𝜆 v + 𝛼 𝜆 v + ⋯ + 𝛼 𝜆 v .
Dès lors,
convergence ⇔ e → 𝟎 ⇔ |𝜆 | < 1, ∀𝑖
Condition suffisante : si 𝐴 est dominante diagonale (i.e. ∑ ≠
|𝑎 | < |𝑎 |, ∀𝑖) ⇒ convergence

7
5 Calcul de valeurs propres (=eigenvalues)
Quand 𝜆 est une valeur propre de 𝐴 associée au vecteur propre x , on note 𝐴(𝜆 , x ). Voici quelques
relations utiles utilisant cette notation :
1 1
𝐴(𝜆 , x ) ↔ 𝐴(𝜆 , 𝑘x ) ↔ (𝐴 − 𝑚𝐼)(𝜆 − 𝑚, x ) ↔ 𝐴− ,x ↔ (𝐴 − 𝑚𝐼)− ,x
𝜆 𝜆 −𝑚
Propriété : 𝐴(0, x ) ⇔ 𝐴 est singulière ⇔ det 𝐴 = 0.

5.1 Méthode de la puissance


On ordonne les valeurs propres de 𝐴 de façon à obtenir |𝜆 | > |𝜆 | ≥ ⋯ ≥ |𝜆 |.
Propriété : la valeur propre de plus grand module est unique.
On démarre un processus itératif en prenant un vecteur z « arbitraire » puis en calculant z + = 𝐴z
autant de fois que désiré en pensant, à chaque fois, à normaliser z . Cette méthode converge toujours. De
plus, la convergence se fait généralement vers le vecteur propre associé à la valeur propre de 𝐴 de plus grand
module. En fait, la seule exception à la règle se produit quand la décomposition de z dans la base des vecteurs
propres de 𝐴 n’a pas de composante selon le vecteur propre associé à la valeur propre de plus grand module.
Quand on a suffisamment convergé vers un vecteur propre, on trouve sa valeur propre associée avec
z 𝐴z
𝐴x = 𝜆x ⇔ 𝜆 =
z z
Si on cherche 𝜆 , on appliquera la méthode de la puissance à 𝐴− car 𝜆 (𝐴) = ( − . On obtient
)
donc z + = 𝐴 z que l’on résoudra plutôt par 𝐴z + = z pour éviter le calcul d’inverse. L’utilisation de la

décomposition 𝐿𝑈 sera quasi-incontournable étant donné que 𝐴 ne varie jamais.


Plus 𝐽 = est petit, plus la méthode converge vite.

5.2 Décomposition 𝑸𝑹
On modifie itérativement 𝐴 afin de faire apparaitre les valeurs propres. On part de 𝐴 = 𝐴 puis, autant
de fois que désiré, (1) on factorise 𝐴 en 𝐴 = 𝑄 𝑅 où 𝑄 est orthogonale (i.e. 𝑄 𝑄 = 𝐼) et 𝑅 est
triangulaire supérieure avant de (2) calculer 𝐴 + = 𝑅 𝑄 . Quand on met fin à la méthode, on obtient, pour
un 𝑘 suffisamment grand, les valeurs propres de 𝐴 sur la diagonale de 𝐴 .

8
Optimisation linéaire

Un problème d’optimisation linéaire est défini par une formule des couts réduits à minimiser ou maximiser
ainsi qu’un ensemble de contraintes à respecter. Dans cet ensemble de solutions réalisables (=feasible set)
représenté par un polygone quand 𝑛 = 2, un polyèdre (=polyhedron) quand 𝑛 = 3, un hyperpolyèdre quand
𝑛 = 4, …, on sélectionnera, si elle existe, la solution optimisant le mieux les couts réduits.

1 Méthode graphique
On affiche les contraintes dans un repère dont les axes représentent la valeur des différentes variables.
Ensuite, on tire de la formule des couts réduits une équation de droite pour 𝑛 = 2, de plan pour 𝑛 = 3,… En
particularisant au cas où 𝑛 = 2, on cherche à « pousser » la droite ainsi obtenue vers le haut et la droite pour
un problème de maximisation. Le dernier sommet de l’ensemble réalisable que la droite balayera correspondra
à la solution optimale recherchée.

Figure 3 : maximisation graphique

Si l’on désire minimiser une formule des couts réduits, on maximise son opposé.

2 Méthode du tableau simplexe


Partant du principe que toutes les contraintes sont des contraintes d’infériorité, on peut écrire 𝐴x ≤ b
avec 𝐴 ∈ ℝ × , x ∈ ℝ , b ∈ ℝ . On impose également que toutes les composantes de x soient positives ou
nulles.
En ajoutant 𝑚 variables d’écart (slack variables) également positives ou nulles, on peut transformer
l’inéquation en une équation stricte 𝐴x = b telle que 𝐴 ∈ ℝ × avec 𝑚 < 𝑛 = 𝑝 + 𝑚, x ∈ ℝ avec toutes les
composantes de x positives ou nulles et b ∈ ℝ .
Au cours de l’exécution de l’algorithme, certaines variables seront qualifiées de basiques et seront stockées
dans x tandis que les autres, dites non basiques, seront représentées par x .

9
Sous l’hypothèse que le système initial est de la forme 𝐴x ≤ b, l’algorithme du simplexe se traduit par la
séquence suivante (Phase 2) :
(1) On construit la tableau simplexe en posant que les variables initiales sont stockées dans x tandis que
les contraintes sont stockées dans x avec 𝐴 = 𝐼 :
𝑥
𝑎 𝑏 𝛼 𝑎 𝑏 1 0 0 ⎛ 𝑥 𝛼
𝑥 ⎜ ⎞ ⎟
𝑐 𝑑 ≤ 𝛽 devient 𝑐 𝑑 0 1 0 ⎜ ⎜ 𝑠 ⎟
⎟ = 𝛽 où 𝑥 , 𝑥 , 𝑠 , 𝑠 , 𝑠 ≥ 0
𝑥 ⎜ ⎟
𝑒 𝑓 𝛾 𝑒 𝑓 0 0 1 ⎜𝑠 ⎟ 𝛾
⎝𝑠 ⎠
Sous forme de tableau simplexe, si l’on veut minimiser la somme 𝑐 𝑥 + 𝑐 𝑥 , on a

𝑥
[ ] [ ]
𝑥 𝑠
[ ]
𝑠
[ ] [ ]
𝑠 Variables

𝑙 𝑐 𝑐 0 0 0 Couts réduits (à minimiser)

𝑙 𝑎 𝑏 1 0 0 𝛼

𝑙 𝑐 𝑑 0 1 0 𝛽

𝑙 𝑒 𝑓 0 0 1 𝛾

(2) Itérativement, on parcourt les sommets (=vertices) un par un jusqu’à obtenir le sommet optimal :
a. La variable non basique de plus petit cout réduit entre dans la base
b. On associe chaque variable basique à la valeur 𝑏 telle que le tableau simplexe contient un 1 à
la ligne 𝑖 pour cette variable (dans notre exemple, 𝑠 → 𝛼, 𝑠 → 𝛽, 𝑠 → 𝛾)
𝑏
c. On calcule, pour chaque variable basique, le rapport 𝑎 où 𝑎 est la valeur stockée à la ligne 𝑖
pour la variable entrante
d. Parmi tous les rapports strictement positifs calculés, le plus faible est généré par la variable
sortant de la base. S’il n’existe aucun rapport strictement positif, le problème est non borné
e. On effectue des combinaisons linéaires sur les lignes afin que la variable entrant dans la base
affiche un 1 à la ligne à laquelle l’élément sortant en affichait un et qu’il affiche un 0 pour le
reste de ses lignes
f. On effectue des combinaisons linéaires sur la ligne 𝑙 (couts réduits) pour que n’apparaissent
que des variables non basiques
Quand toutes les variables non basiques ont un cout réduit positif ou nul, on s’arrête car la solution est
optimale. On se rappelle alors que
𝐴 x = b x = b
⇔ car on a fait en sorte que 𝐴 = 𝐼
x = 𝟎 x = 𝟎

10
Tout ceci n’est valide que si l’ensemble réalisable contient l’origine. Si ce n’est pas le cas, il faut trouver
un sommet de départ pour commencer l’algorithme. Le cas échéant, on applique la Phase 1 :
(1) On initialise le tableau simplexe de la même manière que précédemment
(2) Pour chaque variable de contrainte pour laquelle un −1 prend la place habituelle d’un 1, on ajoute
une variable auxiliaire présentant un unique 1 à cette même ligne. On résout alors un tout autre
problème d’optimisation par l’algorithme du simplexe :
min(𝜉 , 𝜉 , … ) sous contrainte 𝐴x + 𝐼Ξ = b avec (x) , (Ξ) ≥ 0, ∀𝑖
(3) Le système initial peut être résolu ⇔ la Phase 1 fournit une solution optimale annulant la formule des
couts réduits. Si tel est le cas, on se situe bien sur un sommet de l’ensemble réalisable et l’on entame
la Phase 2 de ce point en supprimant toutes les variables auxiliaires.

3 Méthode directe à partir du tableau simplexe


Partant des mêmes conventions, si l’on sait à l’avance quelles variables devront occuper la base au sommet
optimal sans connaitre les valeurs de ces variables, on peut directement trouver le tableau simplexe
correspondant à la dernière itération de l’algorithme à partir du tableau initial. On nomme x l’ensemble des
variables optimales pour la base et x , l’ensemble des variables optimales pour la non-base.
On identifie en premier lieu 𝐴 et 𝐴 : on juxtapose dans 𝐴 les colonnes actuelles de 𝐴 correspondantes
aux variables de x et on juxtapose dans 𝐴 celles liées aux variables de x .
Similairement, on compose c ∈ ℝ × en stockant les coefficients des variables de x intervenant dans la
formule des couts réduits. c , se forme identiquement avec les variables de x
Enfin, b reste inchangé.
On résout alors
𝐴 x +𝐴 x =b⇔x +𝐴 x =b
𝐴 𝐴 = 𝐴

𝐴 b = b
La colonne u de 𝐴 devient u en suivant
𝐴 u =u
Pour les coûts réduits, on a plutôt
𝑐 = 𝑐 − c (𝐴− 𝐴 ) = 𝑐 − c (𝐴 )

11
4 Conclusions sur le type de solution
Les méthodes présentées prévoient 4 cas de figure :
Solution unique Ensemble de solutions Ensemble non borné Pas de solution optimale

La phase 1 prend fin en


proposant cout réduit
strictement positif

Figure 4 : types de solutions

12
Systèmes non linéaires

On s’intéresse aux problèmes de type F(x) = 𝟎, F ∶ ℝ → ℝ

1 Méthode de la bissection (dans ℝ)


Soit 𝑓(𝑥), une fonction continue dont on cherche une racine. On prend 𝑥− et 𝑥+ tels que 𝑓(𝑥− ) < 0 et
𝑓(𝑥+ ) > 0. Cette méthode à le malheur de ne pas être exploitable pour la résolution de systèmes.
On peut néanmoins l’utiliser sur un système d’équations quadratiques en substituant. Des ± risquent
d’apparaitre mais on ne prend que la partie positive car seule une solution nous intéresse.

2 Méthode de la sécante
Pour rappel, la formule de la méthode de la sécante dans ℝ se note
𝑓(𝑥 )(𝑥 − 𝑥 − )
𝑥 + =𝑥 −
𝑓(𝑥 ) − 𝑓(𝑥 − )
On peut également utiliser cette méthode dans ℝ .

3 Méthode de Newton-Raphson
Cette méthode, très rapide, est dérivée de la méthode de la sécante. Elle se note
𝑓(𝑥 )
𝑥 + =𝑥 −
𝑓 (𝑥 )
Dans ℝ , on obtient
x + = x + Δ avec 𝐽(x )Δ = −F(x ) où 𝐽 est le Jacobien
On détermine Δ par application du pivot de Gauss car 𝐽 (x ) est susceptible de changer à chaque
itération.
L’ordre de convergence est apporté par analyse de l’erreur. On a
‖e + ‖ ≈ 𝐶‖e ‖
Dès lors, si ‖e ‖ < 1, on obtient une convergence très rapide : on double le nombre de chiffres corrects à
chaque itération. Au contraire, si ‖e ‖ > 1, la méthode peut ne pas converger.
En conclusion, pour pouvoir utiliser cette méthode extrêmement rapide, il faut avoir une suffisamment
bonne idée de la valeur cherchée afin de satisfaire le critère de convergence. De plus, chaque itération requiert
le calcul d’un Jacobien (b) et demande donc de connaitre l’expression analytique de F.

(b)
Pour plus d’information concernant la dérivation numérique, se référer au chapitre dédié.

13
4 Méthode de Quasi-Newton
Cette méthode s’inspire de la méthode de Newton-Raphson :
x + = x + Δ avec 𝐴 Δ = −F(x )
C’est le calcul de Δ qui est différent de la méthode précédente. Ici, on approxime 𝐽 par une matrice 𝐴
évoluant à chaque itération :
⎧ 𝐴 arbitraire
(ΔF − − 𝐴 − Δ − )Δ , où ΔF − = F(x ) − F(x − )
⎨𝐴 = 𝐴 − + −
⎩ Δ − Δ −
Cette méthode converge moins vite mais s’exécute plus rapidement étant donné que l’on contourne le
calcul du Jacobien.

5 Méthode du point fixe


Dans ℝ, on cherche une potentielle racine de 𝑓(𝑥). Pour ce faire, on transforme l’équation 𝑓(𝑥) = 0 en une
équation de la forme 𝑥 = 𝑔(𝑥). Il existe plusieurs 𝑔(𝑥) satisfaisant cette étape. On choisira un 𝑔(𝑥) tel que
|𝑔 (𝑥 )| < 1 pour s’assurer de la convergence (condition suffisante). De surcroit, plus |𝑔 (𝑥 )| ≪ 1, plus la
méthode convergera vite pour le 𝑔(𝑥) choisi.
On applique ensuite la relation de récurrence
𝑥 + = 𝑔(𝑥 )
Dans ℝ , on cherche une potentielle racine de F(x). Pour ce faire, on transforme, de manière similaire
l’équation F(x) = 𝟎 en une équation de la forme x = G(x). Le choix d’un G auteur d’une convergence
satisfaisante s’établit, en notant 𝐽 le Jacobien de G évalué en x , via ‖𝐽 ‖ < 1 (c).
On applique ensuite
x + = G(x )

(c)
Pour plus d’information concernant la norme matricielle, se référer à l’annexe dédiée.

14
Dérivation

Il existe diverses méthodes de dérivation numérique en un point donné pour les fonctions 𝑓 ∶ ℝ → ℝ. On
distingue la dérivation symbolique d’une fonction explicitement fournie des autres méthodes qui ne nécessitent
qu’un accès implicite à 𝑓. La dérivation numérique s’exprime avec des formules simples mais est
particulièrement vulnérable face aux erreurs d’arrondissage notamment quand la précision de la méthode est
proche de l’epsilon machine (≈ 2 ⋅ 10− ).
On propose ici une méthode de dérivation basée sur l’utilisation des séries de Taylor. En combinant le
développement de Taylor de 𝑓 (𝑥 + 𝑘ℎ) pour différentes valeurs de 𝑘, on peut approximer la dérivée de 𝑓 en
différents points. En choisissant bien les 𝑘, on peut facilement réduire l’erreur de façon satisfaisante.
Propriété : Quand on prend 𝑛 𝑘 différents, on est capable d’obtenir la valeur de toute dérivée dont l’ordre
est strictement inférieur à 𝑛.

1 Série de Taylor unilatérale


Les séries de Taylor unilatérales n’utilisent que des 𝑘 de même signe (ou nul). Cela peut être fort utile si
la fonction n’est pas définie à gauche/à droite d’un x donné.
Une première idée est de combiner 𝑓(𝑥 + ℎ) et 𝑓(𝑥) :

ℎ ℎ
𝑓(𝑥 + ℎ) − 𝑓(𝑥) = 𝑓(𝑥) + ℎ𝑓 (𝑥) + 𝑓 (𝜉) − 𝑓(𝑥) = ℎ𝑓 (𝑥) + 𝑓 (𝜉)
2 2
𝑓(𝑥 + ℎ) − 𝑓 (𝑥)
⇔ 𝑓 (𝑥) = + 𝐸(ℎ) où l'erreur 𝐸(ℎ) ≤ 𝐶ℎ

Dans cette expression, ℎ, qui représente la précision, apparait à la première puissance ce qui signifie que
quand on divise ℎ par 10 on gagne une nouvelle décimale correcte → ordre de convergence 𝑘 = 1.

2 Série de Taylor bilatérale symétrique


Les séries de Taylor symétriques sont celles pour lesquelles le calcul de la série de Taylor avec 𝑘 = 𝑘 est
jumelé avec une série de Taylor utilisant 𝑘 = −𝑘 . Comme précédemment, on calcule
⎧ ℎ ℎ
𝑓(𝑥 + ℎ) = 𝑓(𝑥) + ℎ𝑓 (𝑥) + 𝑓 (𝑥) + 𝑓 (𝜉)
2 6
⎨ ℎ ℎ
𝑓(𝑥 − ℎ) = 𝑓(𝑥) − ℎ𝑓 (𝑥) + 𝑓 (𝑥) − 𝑓 (𝜉)
⎩ 2 6
𝑓(𝑥 + ℎ) − 𝑓(𝑥 − ℎ) ℎ
⇔ = 𝑓 (𝑥) + 𝑓 (𝜉) = 𝑓 (𝑥) + 𝐸(ℎ) où 𝐸(ℎ) ≤ 𝐶ℎ
2ℎ 12
Dans cette expression, ℎ apparait au carré ce qui signifie que quand on divise ℎ par 10 on gagne deux
nouvelles décimales correctes → ordre de convergence 𝑘 = 2.

15
3 Algorithme de Richardson
On a vu qu’en faisant varier ℎ, on obtient différentes erreurs. L’algorithme de Richardson est alimenté
par des résultats obtenus via l’utilisation de différents ℎ. Soient {ℎ }, 𝑖 = 0,1, … , 𝑛 − 1, l’ensemble des
précisions utilisées et 𝐺 l’ensemble des valeurs calculées de telle manière que 𝐺 est lié à la précision ℎ .
On affine les solutions en appliquant itérativement, pour 𝑗 = 0,1, … , 𝑛 − 1,
⎧ ℎ
𝑞 𝐺 − −𝐺− − 𝑞= = 𝑐𝑜𝑛𝑠𝑡
𝐺 = où ℎ
𝑞 −1 ⎨ −
⎩𝑘 est l'ordre de convergence initial
On obtient enfin 𝐺 − − , la solution optimisée par Richardson minimisant l’erreur. Si 𝑘 vaut 1, l’ordre de
convergence de la solution finale est de 𝑛𝑘. Si 𝑘 est pair, la solution finale a un ordre de convergence de 𝑘 + 2(𝑛 − 1)

16
Intégration numérique

L’intégrale d’une fonction entre 𝑎 et 𝑏 peut être interprétée comme l’aire sous la courbe représentant la
fonction entre 𝑎 et 𝑏. Il est possible d’approcher cette aire de différentes façons que l’on présente ici.

1 Méthode de Newton-Cotes
Pour réaliser la méthode de Newton-Cotes, on divise l’intervalle [𝑎; 𝑏] en 𝑛 − 1 intervalles égaux dont les
bornes sont les 𝑛 points 𝑎, 𝑎 + ℎ, … , 𝑏 − ℎ, 𝑏 et l’on détermine le polynôme de Lagrange (d) qui interpole les
points 𝑎, 𝑓(𝑎) , 𝑎 + ℎ, 𝑓(𝑎 + ℎ) , … , 𝑏, 𝑓(𝑏) . On peut maintenant intégrer le polynôme analytiquement
comme à l’accoutumée.

𝐼 = 𝐿(𝑥) 𝑑𝑥

Cette méthode est relativement fastidieuse. L’overfitting causé par l’interpolation de Lagrange n’est pas
alarmant dans le calcul de 𝐼 car les erreurs générées tendent à se compenser.

2 Méthode des trapèzes (composite)


On approxime l’aire sous la courbe représentant 𝑓 avec une série de trapèzes de base ℎ. On obtient la
formule

𝑓(𝑎) + 𝑓(𝑏)
𝐼 =ℎ + 𝑓(𝑎 + ℎ) + 𝑓(𝑎 + 2ℎ) + ⋯ + 𝑓(𝑏 − ℎ) = 𝐼 +𝐸
2

𝐸 = 𝒪(ℎ ) → ordre de convergence 𝑘 = 2

3 Méthode de Simpson (composite)


On approxime l’aire avec une série de paraboles :

𝑓(𝑎) + 𝑓(𝑏) 4 2 2 4
𝐼 =ℎ + 𝑓(𝑎 + ℎ) + 𝑓(𝑎 + 2ℎ) + 𝑓(𝑎 + 3ℎ) + ⋯ + 𝑓(𝑏 − ℎ)
3 3 3 3 3

𝐸 = 𝒪(ℎ ) → ordre de convergence 𝑘 = 4

(d)
Pour plus d’information concernant l’interpolation de Lagrange, se référer au chapitre sur la régression

17
4 Richardson (suite)
Tout comme pour la dérivation, on peut appliquer l’algorithme de Richardson pour affiner notre solution.
On passe de
Trapèze 𝒪(ℎ ) → Simpson 𝒪(ℎ ) → Boole 𝒪(ℎ ) → ⋯
La combinaison spécifique de la méthode des trapèzes et de l’algorithme de Richardson porte le nom
général de méthode de Romberg.

5 Choix des bornes


Les 𝑛 bornes définissant les intervalles optimaux pour le calcul de l’intégrale de 𝑓 sont les racines de 𝑞(𝑥),
le polynôme de Gauss-Legendre de degré 𝑛 associé aux bornes de 𝑓. On trouve 𝑞(𝑥) en résolvant

𝑥 𝑞(𝑥) 𝑑𝑥 = 0, pour 𝑖 = 0, 1, 2, … , 𝑛 − 1

18
Annexe

Différentes normes
Une norme matricielle est compatible avec une norme vectorielle si
‖𝐴𝐵‖ ≤ ‖𝐴‖‖𝐵‖
‖𝐴x‖ ≤ ‖𝐴‖‖x‖
Voici différentes normes utiles dont la potentielle compatibilité est représentée par une double flèche :
‖x‖ = ∑ |x | ↔ ‖𝐴‖ = max ∑ = 𝑎

‖x‖ = x +x ↔ ‖𝐴‖ = 𝜆 (𝐴 𝐴)
/
‖x‖ = ∑ |x | ↔ /

‖x‖ = max{|x |} ↔ ‖𝐴‖ = max ∑ =


𝑎

/ ↔ ‖𝐴‖ = ∑= ∑ =
𝑎

où 𝜆 (𝐴 𝐴) est la plus grande valeur propre de 𝐴 𝐴

19

Vous aimerez peut-être aussi