Académique Documents
Professionnel Documents
Culture Documents
ALGORITHMES NUMÉRIQUES
Ja
ques Tagoudjeu
Department MSP
E
ole Nationale Supérieure Polyte
hnique,
Université de Yaounde I
Outline
Obje tifs
Contenu du Cours
1 Rappels d'algorithmique (Stru
ture, Algorithmes Ré
ursif)
2 Complexités des algorithmes;
3 Notions d'erreur, Représentation des Nombres,
al
ul exa
t vs
al
ul
appro
hé;
4 Introdu
tion à Matlab;
5 Sommation numériques (Suites et Séries Numériques); Implementation des
fon
tions usuelles (Développement de Taylor, séries entières);
6 Arithmétique des polynmes;
7 Cal
ul matri
iel, systèmes d'équations linéaires;
8 Interpolation de Lagrange, approximation polynomiale;
9 Intégration numérique : méthodes de re
tangles, trapèzes, Simpson,
méthodes sto
hastiques;
10 Méthodes itératives : méthode du point xe, méthode de Newton;
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 4 / 173
Obje
tifs du
ours Référen
es du Cours
Référen
es du Cours
1 Algorithmique de base, Support de Cours.
Auteur: Dr NDONG NGUEMA;
2 Sommation Numérique des séries, Support de Cours.
Auteur: Dr NDONG NGUEMA;
3 Introdu
tion à MATLAB et GNU O
tave.
Auteur: Jean Daniel Bonjour;
disponible en ligne à http : //enacit1.epf l.ch/cours_matlab/
(version html) ou
http : //enacit1.epf l.ch/cours_matlab/pdf /M atlab − Octave −
Cours − JDBonjour − 2013 − 09 − 17.pdf (version pdf);
4 Introdu
tion to Algorithm, 3rd ed., T. H. Cormen, C. E. LEISERSON,
R. L. RIVEST, C. STEIN, MIT Press, 2009
5 Programming for Computations -MATLAB/O
tave, S. Linge, H. P.
Langtangen, Springer, 2016
6 Programming for Computations -PYTHON, S. Linge, H. P.
Langtangen, Springer, 2016
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 5 / 173
Rappels d'algorithmique
Outline
2 Rappels d'algorithmique
Rappels de base
Les
omposants du LEA
Algorithmes Ré
ursifs
opérateurs
arithmétiques;
relationnels (
omparaison);
logiques;
ae
tation;
fon
tionnels
expressions;
instru
tions
simples;
stru
turées ou
omposées.
sous-programmes
fon
tions;
pro
édures.
Les Expressions
Dénition
Une expression algorithmique est une
ombinaison des objets de
l'algorithme et/ou des valeurs
onstantes (opérandes) à travers des
opérateurs et/ou des sous-programmes.
Exemple:
Nom_Variable; 2*A+B/C;
√ sin(A+5);
os(Pi+0.3); (B- 4 ∗ C /4);
(A=0 et B=1) ou (C>1 et non (D ≥ 0));
Dénition:
Une instru
tion d'un algorithme est une dire
tive pré
isant
e qu'il faire à
un point pré
is de
elui-
i.
Les instru
tions d'un algorithme dé
rivent plus ou moins en détail les
al
uls et/ou les traitements sur les données. Elles s'exé
utent dans l'ordre
séquentiel dans lequel elles apparaissent.
On distingue en général:
Les instru
tions de dé
laration;
Les instru
tions de base (ou de traitement des données)
Les instru
tions de stru
turation des algorithmes (ou instru
tions
stru
turées ou
omposées).
Les instru
tions d'ae
tation permettent d'attribuer à une variable, une
valeur issue de l'évaluation d'une expression. Cette valeur doit être
ompatible ave
le type de la variable.
Syntaxe:
Nom_Variable ← Expression;
Exemple:
A ← 5;
B ← 4*A + 3.14;
Lettre ← "A";
Test ← A==B;
Avantages et In onvénients
Avantages:
Codi
ation
ompa
te et réduite;
Permet de résoudre un problème en résolvant une ou des piè
es
réduites du même problème en utilisant le même
ode.
et
In
onvénients:
Surveiller la profondeur disponible de la pile (le système pouvant
éje
ter le pro
essus par dépassement des ressour
es autorisées);
Le temps d'exé
ution est plus long, à
ause des sauvegardes et de
ré
upérations de tâ
hes sur la pile.
Exemple: Cal
ul de la fa
torielle d'un entier
Type de ré ursivité
A(0, 4) = 5
A(1, 2) = 4
A(2, 1) = 5
Pour le
al
ul de A(4, 1) le nombre d'appels ré
ursifs est supérieur à 500!!!
Outline
3 Complexité de Algorithmes
Dénition
Ordre de grandeur: Notations asymptotiques (O, Θ et Ω)
Cal
ul de la
omplexité des Algorithmes
Performan
e des algorithmes de re
her
he et de tri
Paramètres essentielles:
Espa
e mémoire requis (de moins en moins
onsidérer a
tuellement,
mais pris en
ompte en
as de ré
ursivité);
Temps d'exé
ution (Dé
omptes du nombre d'opérations élémentaires
pertinentes pour la résolution du problème
onsidéré);
Ainsi, on a:
Complexité en temps: C'est une fon
tion f de n qui permet de
mesurer le temps de
al
ul pour la mise en oeuvre de l'algorithme;
Complexité en mémoire: C'est une fon
tion f de n qui permet de
mesurer la quantité de pla
e mémoire né
essaire à la mise en oeuvre
de l'algorithme.
Soit n ∈ IN,
n n
X n(n + 1) X 2n3 + 3n2 + n
i= ; i2 =
2 6
i=1 i=1
Soit x 6= 1
n n
X xn+1 − 1 X (n − 1)xn+1 − nxn + x
xi = ; ixi =
x−1 (x − 1)2
i=0 i=0
Approximation par une intégrale: Soit f une fon
tion stri
tement
roissante, on a:
Z n n
X Z n+1
f (x)dx ≤ f (i) ≤ f (x)dx.
0 i=1 1
Variable:
i: entier;
Début
i ← 1;
Tant que (i ≤ N ) et (T [i] 6= x) faire
i ← i + 1;
fTantque
Si i == N + 1 alors
Re
her
heNonTrie ← −1;
Sinon
Re
her
heNonTrie ← i
fSi
Fin
Cas favorable: x = T [1]; C(N ) = O(1);
Cas défavorable: x ∈/ T ; C(N ) = O(N ).
Cas moyen: x se trouve au milieu du tableau T ; C(N ) = O(N/2)
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 65 / 173
Complexité de Algorithmes Performan
e des algorithmes de re
her
he et de tri
Début
Si x < T [1] ou x > T [N ] alors
Re
her
heLinTrie ← −1
fSi
i ← 1;
Tant que (x > T [i]) faire
i ← i + 1;
fTantque
Si x 6= T [i] alors
Re
her
heLinTrie ← −1;
Sinon
Re
her
heLinTrie ← i
fSi
Fin
Cas favorable: x > T [N ] ou x ≤ T [1]; C(N ) = O(1);
Cas défavorable: x ∈/ T et T [N − 1] < x < T [N ]; C(N ) = O(N ).
Cas moyen: x se trouve au milieu du tableau T ; C(N ) = O(N/2)
Début
indG ← 1; IndD ← N ;
Tant que (indG ≤ indD) faire
début
milieu ← div(indG + indD, 2);
Si (x == T [milieu]) alors
Renvoyer(milieu);
fSi
Si (x < T [milieu]) alors
IndD ← milieu − 1;
Sinon
IndG ← milieu + 1;
fSi
n
Renvoyer(-1);
Fin
Cas favorable: x est au milieu de T ; C(N ) = O(1);
Cas défavorable: x ∈/ T ; C(N ) = O(log2 (N )).
Algorithmes de Tri
Une pro
édure
ommune aux algorithmes de tri: l'é
hange de valeurs
Pro
édure E
hange(Var x,y:réel);
(* Obje
tif: é
hanger les valeurs de 2 variables réelles x et y;
Paramètres rentrants: x, y initiaux;
Paramètres sortants: x, y permutés;*)
Variable:
aux: réel;
Début (* de E
hange*)
aux ← x;
x ← y;
y ← aux;
Fin (* de E
hange*)
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 72 / 173
Complexité de Algorithmes Performan
e des algorithmes de re
her
he et de tri
Début
Pour i = 1(1)N − 1 faire
début
pp ← i;
Pour j = i + 1(1)N faire
début
Si (T [j] < T [pp]) alors
pp ← j ;
fSi
n
Si pp 6= i alors
Echange(T [i], T [pp])
fSi
n
Fin
N
X −1
D(N ) = 1 = N − 1 = O(N )
i=1
Cas défavorable: Le tableau est trié dans l'ordre inverse. A
haque étape,
l'insertion se fait au début de la partie triée: a l'étape i, on ee
tue i − 1
omparaisons et i − 1 dépla
ements. D'où:
N N −1
X X N (N − 1)
C(N ) = D(N ) = i−1= i= = O(N 2 /2)
i=2 i=1
2
TriFusion(T,inf, sup)
Début
Si (inf < sup) alors
milieu ← div(inf+sup,2);
TriFusion (T,inf,milieu);
TriFusion(T,milieu+1,sup);
Fusion1(T,inf,sup,milieu);
fSi
Fin
et
E( n2 ) + 1 si n est impair
⌈n/2⌉ = n
2 sinon
on a:
n = ⌊n/2⌋ + ⌈n/2⌉
Ainsi, pour l'algorithme de tri fusion, on a:
N N
C(1) = O(1) et C(N ) = C +C + O(N ); N > 1
2 2
D'où
C(N ) = O(N 2 )
Cas moyen: Le pivot peut se trouver à n'importe qu'elle position dans
le tableau et la probabilité pour qu'i se trouve à la position i est de n1 .
Ainsi, en prenant la moyenne des nombres d'opérations Ci (N ) on a:
N N N
!
1 X 1 X X
C(N ) = Ci (N ) = cN + C(i − 1) + C(N − i)
N N
i=1 i=1 i=1
Ainsi
N C(N ) − (N + 1)C(N − 1) = c(2N − 1).
D'où
N C(N ) − (N + 1)C(N ) c(2N − 1)
=
(N + 1)N (N + 1)N
et
(C(N ) C(N − 1) 3 1
− =c − .
N +1 (N ) N +1 N
De pro
he en pro
he, on montre que pour N ≥ 3,
N
C(N ) C(1) X1 3 1
− =c +c − .
N +1 2 k N +1 2
k=3
Comme
N
X 1
log(N ) ≤ ≤ log(N + 1),
k
k=1
On déduit que
C(N ) = O(N log N )
Outline
3 Complexité de Algorithmes
Dénition
Ordre de grandeur: Notations asymptotiques (O, Θ et Ω)
Cal
ul de la
omplexité des Algorithmes
Performan
e des algorithmes de re
her
he et de tri
de
ette série.
Sauf pour les
as rares dans la pratique, il est di
ile de déterminer la
valeur exa
te de la somme S . On détermine généralement une
approximation de
ette somme par un
al
ul appro
hé.
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 109 / 173
Sommation numériques, Implementation des fon
tions usuelles Sommation Numérique
. en eet, on a:
∞
X
|S − Sn | = uk = |Rn | ≤ ǫ.
k=n+1
Donnée: n0, ǫ;
S ← U (n0);
i ← n0 + 1;
Tant que ρ(i) > ǫ faire
S ← S + U (i);
i + 1;
FTantque
Il sut que ≤ 1
n+1 , ie n > 999. Ainsi, S999 donne une valeur
10−3
appro
hée de S à 10 près.
−3
D'où, pour toute valeur λ telle que L < λ < 1, il existe Nλ ∈ N tel que
√
n > Nλ ⇒ n
un ≤ λ.
D'où, pour toute valeur λ telle que L < λ < 1, il existe Nλ ∈ N tel que
un+1
n > Nλ ⇒
≤ λ.
un
On suppose que:
1 f est la somme d'une série de fon
tions de terme général (fn )n≥n0
dénie sur [a, b]:
+∞
X
∀x ∈ [a, b], f (x) = fn (x).
n=n0
où Z b
an = fn (x)dx.
a
Ainsi, déterminer une approximation de I à ǫ près, revient à
déterminer une approximation de A à ǫ près.
Développement de Taylor
Soit f ∈ C n ([a, b]). On suppose que f (n+1) existe sur ]a, b[. Soit
x0 ∈ [a, b]. Alors pour tout x ∈ [a, b], il existe ξx
ompris entre x et x0 tel
que
n
X (x − x0 )k (x − x0 )n+1
f (x) = f (x0 ) + f (k) (x0 ) + f (n+1) (ξx ) (3)
k! (n + 1)!
k=1
| {z } | {z }
Rn f (x)
Pn f (x)
En posant h = x − x0 , on a:
hn+1
En (h) = f (x) − Pn f (x) = f (n+1) (ξx ) . (8)
(n + 1)!
P ✭①✡
✸
✵ ✠✆ ❝☛☞ ✭①✡
✵ ✠
✵ ✟✆
✵ ✟
✵ ✞✆
✵ ✞
✵ ✝✆
✵ ✝
✵ ✆✆
✵ ✆
✵ ✵ ✁ ✵ ✂ ✵ ✄ ✵ ☎ ✵ ✆ ✵ ✝ ✵ ✞ ✵ ✟ ✵ ✠ ✁
①
Exemple 2: On
onsidère la fon
tion dénie sur R∗+ par f (x) = ln(x).
1 Donner une approximation de f au voisinage de 1 pour n = 3.
2 Utiliser
ette approximation pour obtenir des valeurs appro
hées de
ln(1.1), ln(1.2), ln(1.3), ln(1.4), ln(1.5).
3 Donner une majoration de l'erreur d'approximation dans
haque
as.
Au voisinage de 0 on a en utilisant le développement de Taylor à l'ordre 3
de la fon
tion cos x:
(x − 1)2 (x − 1)3
ln x ≈ (x − 1) − +
2 3
Sur l'intervalle [1, 1.5], la majoration de la dérivée d'ordre 4 de
ette
fon
tion est M4 = 6. D'où, l'erreur d'approximation est majorée par
E4 = 64 1
≈ 0.015625.
x P3 (x) ln x Erreur
1.1 0.095333 0.09531 -2.3154e-5
1.2 0.18267 0.18232 -0.00034511
1.3 0.264 0.26236 -0.0016357
1.4 0.34133 0.33647 -0.0048611
1.5 0.41667 0.40547 -0.011202
j. Tagoudjeu (ENSP) INFORMATIQUE 4 Mar
h 19, 2020 127 / 173
Sommation numériques, Implementation des fon
tions usuelles Développement de Taylor
✁ ✆✂
✁ ✆
✁ ☎✂
✁ ☎
✁ ✄✂ P ✭①✝
✸
❧✞✟✭①✝
✁ ✄
✁ ✶✂
✁ ✶
✁ ✁✂
✁
✶ ✶ ✁✂ ✶ ✶ ✶ ✶✂ ✶ ✄ ✶ ✄✂ ✶ ☎ ✶ ☎✂ ✶ ✆ ✶ ✆✂ ✶ ✂
①
Théorème 1:
Soit f : R → R+ une fon
tion vériant f ′ = f et f (0) = 1. Alors ∀x ∈ R,
+∞ k
X x
f (x) = = exp(x).
k!
k=0
Théorème 2:
Soient f, g : R → [−1, 1] deux fon
tions vériant f ′ = g et g′ = −f ainsi
que f (0) = 0 et g(0) = 1. Alors ∀x ∈ R,
+∞ +∞
X (−1)k 2k+1 X (−1)k 2k
f (x) = x = sin(x) et g(x) = x = cos(x).
(2k + 1)! (2k)!
k=0 k=0
Dénition
On appelle série entière, toute série de fon
tion de la forme:
X X
an (z − z0 )n = an Z n
n≥0 n≥0
Rayon de
onvergen
e
On appelle rayon de
onvergen
e de la série entière an Z n , le réel
P
n≥n0
positif
P Rc vériant les propriétés suivantes:
• Pn≥0 an Z n
onverge pour |Z| < Rc ;
• n≥0 an Z n diverge pour |Z| > Rc ;
Exemple
X z k X (−1)k X
; z 2k+1 ; k!z k
k! (2k + 1)!
onvergen
e D(z0 , Rc ).
Soit r un réel tel que 0 < r < Rc . La série an Z n
onverge
P
n≥0
normalement sur le disque D(z0 , r)
Ainsi, on peut dénir sur D(z0 , Rc ) la fon
tion
+∞
X
f (z) = ak (z − z0 )k
k=0
.
La fon
tion f est dérivable à tous les ordres sur D(z0 , Rc ) et on a:
+∞ +∞
X (n + k)! X n!
f (k) (z) = an+k (z − z0 )n = an (z − z0 )(n−k)
n=0
n! (n − k)!
n=k
Obje
tif : Appro
her f (x) = exp(x) à 10−20 près ave
x ∈ [0, 1].
Méthode: Pour tout x ∈] − 11[, on a En utilisant le développement de Taylor de
la fon
tion f au voisinage de x0 = 0, on a l'approximation suivante:
n
X xk
f (x) = Pn (x) = .
k!
k=0
✆✁
✶✵
P ✭✡☛
✟✠
✆
✶✵ ☞✡✌✭✡☛
☎✁
✶✵
☎
✶✵
✄✁
✞ ✶✵
✝
❡
✄
✶✵
✂✁
✶✵
✂
✶✵
✁
✶✵
✶✵
✵ ✶✵ ✷✵ ✸✵ ✹✵ ✺✵ ✻✵ ✼✵ ✽✵ ✾✵ ✶✵✵
①
✆
✶
P✡☛✭☞✌
✼ ✍☞✎✭☞✌
✶
☎
✶
✺
✶
✠
✝✟ ✶ ✄
✞
✝
❡
✸
✶
✂
✶
✁
✶
✵
✶
✷ ✹ ✻ ✽ ✶ ✶✷ ✶✹ ✶✻ ✶✽
①
Ainsi, on +∞ 2k+1
1+t X t
ln =2
1−t 2k + 1
k=0
Outline
Développement de Taylor
Implémentation des fon
tions usuelles
Séries entière
A Title
Outline
Introdu tion
Environnement
Lan ement
Environnement
A euil
Environnement
Outline
Outline
Outline
Outline
En eet, on a:
bn
xn = ,
ann
bn−1 − an−1n xn
xn−1 = ,
an−1n−1
bn−1 − an−2n−1 xn−1 − an−2n xn
xn−2 =
an−2n−2
D'une manière générale, on a la méthode de la Remontée suivante:
bn
xn = ann
x k = bk −
n
P
akj xj
akk ; k = n − 1, n − 2, ..., 1
(13)
j=k+1
A(1) = A
b(1) = b
k
= 1, 2, ...., n − 1 :
(k+1) (k)
aij = aij ; i = 1, ..., k; j = 1, ...n
(k+1)
aij = 0; i = k + 1, ..., n; j = 1, ...k
(k)
(17)
Si akk = 0, Rechercher et positionner le P ivot finSin
(k)
(k+1) (k) a (k)
aij = aij − ik a ; i = k + 1, ..., n; j = k + 1, ...n
(k) kj
akk
(k+1) (k)
bi = bi ; i = 1, ..., k
(k)
(k+1) (k) aik (k)
bi = bi − (k) bk ; i = k + 1, ..., n
akk
2 Le
al
ul des b(k)
i né
essite
n divisions;
n−1
multipli
ations.
P n(n−1)
(n − k) = 2
k=1
n−1
additions.
P n(n−1)
(n − k) = 2
k=1
Si on pose :
Lt x = y, (21)
on résout d'abord :
Ly = b (22)
par la méthode de la des
ente (puisque L est triangulaire inférieure) et
ensuite
Lt x = y, (23)
par la méthode de la remontée (la matri
e étant triangulaire supérieure).
La méthode de Choleski pro
ède en trois étapes :
Outline
Outline
Outline