Analyse Numérique I
Sup'Galilée, Ingénieurs MACS, 1ère année & L3-MIM
François Cuvelier
Laboratoire d'Analyse Géométrie et Applications Institut Galilée
Université Paris XIII.
2017/09/11
2017/09/11 1 / 123
Divers
‚ Volume horaire : 10 ˆ 3h cours - 9 ˆ 3h TD,
‚ Prérequis des cours : Equations diérentielles, Projets numériques, Elements Finis, Volumes Finis, ...
‚ Note nale : pP 1 ` P 2 ` CC 1 ` CC 2 q{4 si possible.
§ P 1 partiel 1, 5 ou 6ème séance de cours (1h30),
§ P 2 partiel 2, début janvier ? (1h30),
§ CC 1 contrôle continu par B. Delourme,
§ CC 2 contrôle continu par F. Cuvelier,
2017/09/11 2 / 123
Objectifs
Outils de base de l'analyse numérique et du calcul scientique.
‚ Mathématiques
‚ Numériques
‚ Algorithmique
2017/09/11 3 / 123
Bibliographie I
P.G. Ciarlet, Analyse numérique et equations diérentielles, DUNOD, 2006.
, Introduction à l'analyse numérique matricielle et à l'optimisation, DUNOD, 2006.
M. Crouzeix and A.L. Mignot, Analyse numérique des équations diérentielles, Mathématiques appliquées pour la maîtrise, Masson, 1992.
J.P. Demailly, Analyse numérique et equations diérentielles, PUG, 1994.
J.-P. Demailly, Analyse numérique et équations diérentielles, Grenoble Sciences, EDP Sciences, 2006.
J.P. Demailly, Analyse numérique et équations diérentielles, Grenoble Sciences, EDP Sciences, 2012.
2017/09/11 4 / 123
Bibliographie II
W. Gander, M.J. Gander, and F. Kwok, Scientic computing : an introduction using maple and matlab, Springer, Cham, 2014.
T. Huckle, Collection of software bugs http://wwwzenger.informatik.tu-
muenchen.de/persons/huckle/bugse.html.
P. Lascaux and R. Théodor, Analyse numérique matricielle appliquée à l'art de l'ingénieur, Analyse numérique matricielle appliquée à l'art de l'ingénieur, no. vol. 1 et 2, Dunod, 2004.
A. Quarteroni, R. Sacco, and F. Saleri, Méthodes Numériques:
Algorithmes, analyse et applications (French Edition), 1 ed., Springer, September 2007.
2017/09/11 5 / 123
Chapitre I
Erreurs : arrondis, bug and Co.
2017/09/11 6 / 123
Un exemple : calcul approché de π
A
B
C α n “ 2 n π
‚ Aire du cercle : A “ πr 2 .
‚ Archimède vers 250 avant J-C : π Ps3 ` 1 7 , 3 ` 10 71 r avec 96 polygônes.
‚ Algorithme polygônes inscrits (r “ 1) : A “ lim nÑ`8 A n “ lim nÑ`8 n
2 sinpα n q et sin α 2
n“
b 1 ´
? 1 ´ sin
2α
n2 .
1: s Ð 1, n Ð 4 Ź Initialisations
2: Tantque s ą 1e ´ 10 faire Ź Arrêt si s “ sin pαq est petit
3: s Ð sqrtpp1 ´ sqrtp1 ´ s ˚ sqq{2 Ź nouvelle valeur de sinpα{2q
4: n Ð 2 ˚ n Ź nouvelle valeur de n
5: A Ð pn{2q ˚ s Ź nouvelle valeur de l'aire du polygône
6: Fin Tantque
2017/09/11 7 / 123
Un exemple : calcul approché de π
n A n |A n ´ π| sinpα n q
4 2 . 00000000000000 1.141593e+00 1.000000e+00 64 3 . 13654849054594 5.044163e-03 9.801714e-02 4096 3 . 14159142150464 1.232085e-06 1.533980e-03 32768 3 . 14159263346325 2.012654e-08 1.917476e-04 65536 3.14159265480759 1.217796e-09 9.587380e-05 131072 3.14159264532122 8.268578e-09 4.793690e-05 524288 3 . 14159291093967 2.573499e-07 1.198423e-05 4194304 3 . 14159655370482 3.900115e-06 1.498030e-06 67108864 3 . 14245127249413 8.586189e-04 9.365235e-08 2147483648 0 . 000000000000000 3.141593e+00 0.000000e+00
2017/09/11 8 / 123
Nombres ottants en machine
˜ x “ ˘m ¨ b e
m “ D . D ¨ ¨ ¨ D , mantisse e “ D ¨ ¨ ¨ D , exposant où D P t0 , 1 , ..., b ´ 1u représente un chire et b la base.
Mantisse normalisée : 1er D (avant point) est non nul.
‚ Précision machine : plus petit nombre machine eps ą 0 tel que 1 ` eps ą 1 .
Matlab/Octave, langage C (double), ... : eps “ 2 . 220446049250313e ´ 16
2017/09/11 9 / 123
Système IEEE 754 (1985)
‚ simple précision : format 32 bits (4 octets), oat en langage C.
signe s
hk kik kj S
exposant e
hkkkkkikkkkkj EEEEEEEE
mantisse m
hkkkkkkkkkkkkkkkkkkkikkkkkkkkkkkkkkkkkkkj FFFFFFFFFFFFFFFFFFFFFFF
0 1 8 9 31
‚ double précision : format 64 bits (8 octets), double en langage C.
signe s
hk kik kj S
exposant e
hkkkkkkkkikkkkkkkkj EEEEEEEEEEE
mantisse m
hkkkkkkkkkkkkkikkkkkkkkkkkkkj FFFFF ... FFFFFF
0 1 11 12 63
dimension tableau type dimension (octets) dimension total
1000 ˆ 1000 oat 4 4 ˚ 1000 ˚ 1000 “ 4Mo
10 4 ˆ 10 4 oat 4 4 ˚ 10 8 “ 400Mo
1000 ˆ 1000 double 8 8 ˚ 1000 ˚ 1000 “ 8Mo
10 4 ˆ 10 4 double 8 8 ˚ 10 8 “ 800Mo
2017/09/11 10 / 123
Problèmes arithmétiques en dimension nie
En langage C (par ex.):
‚ int a=2147483647,b; alors b=a+1; donne b==-2147483648,
‚ double a=1/2,b;b=a+1; donne a==0 et b==1, En Matlab (par ex.) :
‚ x=eps; alors 1+eps==1 est faux (false=0)
‚ x=eps/2;y=1; alors (y+x)+x==1 est vrai et y+(x+x)==1 est faux.
px ` y q ` z “ x ` py ` zq n'est pas forcément vériée sur machine!
2017/09/11 11 / 123
Erreurs d'annulation
Il faut être attentifs aux signes.
‚ f px q “ 1 1
´ ?
1 ´ x
2, si |x | ď 0.5 ? eps alors ?
1 ´ x 2 ” 1!
ùñ ¯ x “ 0 . 5 ?
eps , 1
1 ´ ?
1 ´¯ x
2” `8
‚
f px q “ 1 1 ´ ?
1 ´ x 2 “ 1 1 ´ ?
1 ´ x 2 ˆ 1 ` ? 1 ´ x 2 1 ` ?
1 ´ x 2 “ 1 ` ? 1 ´ x 2 x 2 ùñ x ¯ “ 0 . 5 ?
eps , 1`
? 1´x
2x
2” 3 . 6029e ` 16
2017/09/11 12 / 123
Erreurs d'annulation : calcul de π, le retour
sin α n 2 “
c 1 ´ cos α n
2 “
d 1 ´ a
1 ´ sin 2 α n
2 ,
C'est le calcul de 1 ´ a
1 ´ sin 2 α n qui pose problème!
sin α n 2 “ 1 `
a 1 ´ sin 2 α n 1 `
a 1 ´ sin 2 α n sin α n
2 “ sin α n
b
2p1 ` a
1 ´ sin 2 α n q
1: s Ð 1, n Ð 4, Ź Initialisations
2: Tantque s ą 1e ´ 10 faire Ź Arrêt si s “ sin pαq est petit
3: s Ð s {sqrtp2 ˚ p1 ´ sqrtp1 ´ s ˚ sqqq Ź nouvelle valeur de sinpα{2q
4: n Ð 2 ˚ n Ź nouvelle valeur de n
5: A Ð pn{2q ˚ s Ź nouvelle valeur de l'aire du polygône
6: Fin Tantque
2017/09/11 13 / 123
Un exemple : calcul approché de π
n A n |A n ´ π| sinpα n q
4 2 . 00000000000000 1.141593e+00 1.000000e+00 64 3 . 13654849054594 5.044163e-03 9.801714e-02 4096 3 . 14159142151120 1.232079e-06 1.533980e-03 32768 3 . 14159263433856 1.925123e-08 1.917476e-04 65536 3.14159264877699 4.812807e-09 9.587380e-05 131072 3.14159265238659 1.203202e-09 4.793690e-05 524288 3 . 14159265351459 7.519985e-11 1.198422e-05 4194304 3 . 14159265358862 1.174172e-12 1.498028e-06 67108864 3 . 14159265358979 3.552714e-15 9.362676e-08 2147483648 3 . 14159265358979 1.332268e-15 2.925836e-09
2017/09/11 14 / 123
Mais avant de pousuivre ...
(a) Pont de la Basse-Chaîne, Angers (1850)
(b) Takoma Narrows Bridge,
Washington (1940) (c) Millenium Bridge, London (2000) Figure : Une histoire de ponts
2017/09/11 15 / 123
Chapitre II
Langage algorithmique
2017/09/11 16 / 123
Plan
1 Introduction
2 Pseudo-langage algorithmique
3 Méthodologie de construction
4 Pseudo-langage algorithmique (suite)
Introduction 2017/09/11 17 / 123
Dénition
Denition 1.1: Petit Robert 97
Algorithmique : Enchaînement d'actions nécessaires à l'accomplissement d'une tâche.
Introduction 2017/09/11 18 / 123
Exemple 1 : permutation
Nous voulons permutter deux voitures sur un parking de trois places numérotées de 1 à 3 et ceci sans géner la circulation.
La première voiture, une Saxo, est sur l'emplacement 2 , la seconde, une Clio, est sur l'emplacement 3 .
Donner un algorithme permettant de résoudre cette tâche.
Introduction 2017/09/11 19 / 123
Exemple 2 : équation du premier degré
Donner un algorithme permettant de résoudre ax “ b
Introduction 2017/09/11 20 / 123
Caractéristiques d'un bon algorithme
‚ Il ne soure d'aucune ambiguité ñ très clair.
‚ Combinaison d'opérations (actions) élémentaires.
‚ Pour toutes les données d'entrée, l'algorithme doit fournir un résultat en un nombre ni d'opérations.
Introduction 2017/09/11 21 / 123
Première approche méthodologique
Etape 1 : Dénir clairement le problème.
Etape 2 : Rechercher une méthode de résolution (formules, ...) Etape 3 : Ecrire l'algorithme (par ranement successif pour des
algorithmes compliqués).
Introduction 2017/09/11 22 / 123
Première approche méthodologique
Etape 1 : Dénir clairement le problème.
Etape 2 : Rechercher une méthode de résolution (formules, ...)
Etape 3 : Ecrire l'algorithme (par ranement successif pour des algorithmes compliqués).
Introduction 2017/09/11 22 / 123
Première approche méthodologique
Etape 1 : Dénir clairement le problème.
Etape 2 : Rechercher une méthode de résolution (formules, ...) Etape 3 : Ecrire l'algorithme (par ranement successif pour des
algorithmes compliqués).
Introduction 2017/09/11 22 / 123
Plan
1 Introduction
2 Pseudo-langage algorithmique Les bases
Les instructions structurées
3 Méthodologie de construction
4 Pseudo-langage algorithmique (suite)
Pseudo-langage algorithmique 2017/09/11 23 / 123
Vocabulaire de base
‚ constantes,variables,
‚ opérateurs (arithmétiques, relationnels, logiques),
‚ expressions,
‚ instructions (simples et composées),
‚ fonctions.
Pseudo-langage algorithmique Les bases 2017/09/11 24 / 123
Données et constantes
‚ Donnée ñ introduite par l'utilisateur
‚ Constante ñ symbole, identicateur non modiable
Pseudo-langage algorithmique Les bases 2017/09/11 25 / 123
Variables
Denition 2.1
Une variable est un objet dont la valeur est modiable, qui possède un nom et un type (entier, caractère, réel, complexe, tableau, matrice, vecteur...).
Pseudo-langage algorithmique Les bases 2017/09/11 26 / 123
Opérateurs arithmétiques
Nom Symbole Exemple
addition ` a ` b
soustraction ´ a ´ b
opposé ´ ´a
produit ˚ a ˚ b
division { a{b
Pseudo-langage algorithmique Les bases 2017/09/11 27 / 123
Opérateurs relationnels
Nom Symbole Exemple
identique ““ a ““ b
diérent „“ a „“ b
inférieur ă a ă b
supérieur ą a ą b
inférieur ou égal ă“ a ă“ b supérieur ou égal ą“ a ą“ b
Pseudo-langage algorithmique Les bases 2017/09/11 28 / 123
Opérateurs logiques
Nom Symbole Exemple
négation „ „ a
ou | a|b
et & a&b
Pseudo-langage algorithmique Les bases 2017/09/11 29 / 123
Opérateur d'aectation
Nom Symbole Exemple
aectation Ð a Ð b
Pseudo-langage algorithmique Les bases 2017/09/11 30 / 123
Expressions
Denition 2.2
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression numérique
pb ˚ b ´ 4 ˚ a ˚ c q{p2 ˚ aq Opérandes ñ identiants a , b , c ,
constantes 4 et 2. Opérateurs ñ symboles ˚, ´ et {
Pseudo-langage algorithmique Les bases 2017/09/11 31 / 123
Expressions
Denition 2.3
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression numérique
pb ˚ b ´ 4 ˚ a ˚ c q{p2 ˚ aq
Opérandes ñ identiants a , b , c , constantes 4 et 2. Opérateurs ñ symboles ˚, ´ et {
Pseudo-langage algorithmique Les bases 2017/09/11 31 / 123
Expressions
Denition 2.4
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression numérique
pb ˚ b ´ 4 ˚ a ˚ c q{p2 ˚ aq Opérandes ñ identiants a , b , c ,
constantes 4 et 2.
Opérateurs ñ symboles ˚, ´ et {
Pseudo-langage algorithmique Les bases 2017/09/11 31 / 123
Expressions
Denition 2.5
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression numérique
pb ˚ b ´ 4 ˚ a ˚ c q{p2 ˚ aq Opérandes ñ identiants a , b , c ,
constantes 4 et 2.
Opérateurs ñ symboles ˚, ´ et {
Pseudo-langage algorithmique Les bases 2017/09/11 31 / 123
Expressions
Denition 2.6
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression booléenne
px ă 3 . 14q
Opérandes ñ identiants x et contantes 3 . 14 Opérateurs ñ symboles ă
Pseudo-langage algorithmique Les bases 2017/09/11 32 / 123
Expressions
Denition 2.7
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression booléenne
px ă 3 . 14q
Opérandes ñ identiants x et contantes 3 . 14
Opérateurs ñ symboles ă
Pseudo-langage algorithmique Les bases 2017/09/11 32 / 123
Expressions
Denition 2.8
Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme al- gébrique qui représente une valeur (i.e. un élément de donnée simple)
Exemple d'expression booléenne
px ă 3 . 14q
Opérandes ñ identiants x et contantes 3 . 14 Opérateurs ñ symboles ă
Pseudo-langage algorithmique Les bases 2017/09/11 32 / 123
Instructions
Denition 2.9
Une instruction est un ordre ou un groupe d'ordres qui déclenche l'exécution de certaines actions par l'ordinateur. Il y a deux types d'instructions : simple et structuré.
Pseudo-langage algorithmique Les bases 2017/09/11 33 / 123
Instructions simples
‚ aectation d'une valeur a une variable.
‚ appel d'une fonction (procedure, subroutine, ... suivant les langages).
Pseudo-langage algorithmique Les bases 2017/09/11 34 / 123
Instructions structurées
1
les instructions composées, groupe de pulsieurs instructions simples,
2
les instructions répétitives, permettant l'exécution répétée d'instructions simples, (i.e. boucles pour, tant que)
3
les instructions conditionnelles, lesquels ne sont exécutées que si une certaine condition est respectée (i.e. si)
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 35 / 123
Exemple : boucle pour
Données : n
1: S Ð 0
2: Pour i Ð 1 à n faire
3: S Ð S ` cospi ˆ 2q
4: Fin Pour Mais que fait-il?
Calcul de S “ ÿ n
i“1
cospi 2 q
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 36 / 123
Exemple : boucle pour
Données : n
1: S Ð 0
2: Pour i Ð 1 à n faire
3: S Ð S ` cospi ˆ 2q
4: Fin Pour Mais que fait-il?
Calcul de S “ ÿ n
i “1
cospi 2 q
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 36 / 123
Exemple : boucle tant que
1: i Ð 0 , x Ð 1
2: Tantque i ă 1000 faire
3: x Ð x ` i ˚ i
4: i Ð i ` 1
5: Fin Tantque Mais que fait-il?
Calcul de x “ 1 `
999 ÿ
i “ 0
i ˆ 2
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 37 / 123
Exemple : boucle tant que
1: i Ð 0 , x Ð 1
2: Tantque i ă 1000 faire
3: x Ð x ` i ˚ i
4: i Ð i ` 1
5: Fin Tantque Mais que fait-il?
Calcul de x “ 1 `
999 ÿ
i “ 0
i ˆ 2
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 37 / 123
Exemple : instructions conditionnelles si
Données : age : un réel.
1: Si age ą“ 18 alors
2: ache('majeur')
3: Sinon Si age ą“ 0 alors
4: ache('mineur')
5: Sinon
6: ache('en devenir')
7: Fin Si
Pseudo-langage algorithmique Les instructions structurées 2017/09/11 38 / 123
Plan
1 Introduction
2 Pseudo-langage algorithmique
3 Méthodologie de construction Principe
Exercices
4 Pseudo-langage algorithmique (suite)
Méthodologie 2017/09/11 39 / 123
Description du problème
‚ Spécication d'un ensemble de données
Origine : énoncé, hypothèses, sources externes, ...
‚ Spécication d'un ensemble de buts à atteindre Origine : résultats, opérations à eectuer, ...
‚ Spécication des contraintes
Méthodologie Principe 2017/09/11 40 / 123
Recherche d'une méthode de résolution
‚ Clarier l'énoncé.
‚ Simplier le problème.
‚ Ne pas chercher à le traiter directement dans sa globalité.
‚ S'assurer que le problème est soluble (sinon problème d'indécidabilité!)
‚ Recherche d'une stratégie de construction de l'algorithme
‚ Décomposer le problème en sous problèmes partiels plus simples : ranement.
‚ Eectuer des ranements successifs.
‚ Le niveau de ranement le plus élémentaire est celui des instructions.
Méthodologie Principe 2017/09/11 41 / 123
Réalisation d'un algorithme
‚ Le type des données et des résultats doivent être précisés.
‚ L'algorithme doit fournir au moins un résultat.
‚ L'algorithme doit être exécuté en un nombre ni d'opérations.
‚ L'algorithme doit être spécié clairement, sans la moindre ambiguïté.
Méthodologie Principe 2017/09/11 42 / 123
Exercices
Exercice 3.1
On cherche les solutions réelles de l'équation
ax 2 ` bx ` c “ 0 , (1)
en supposant que a P R ˚ , b P R et c P R sont donnés.
Ecrire un algorithme permettant de résoudre cette équation.
Méthodologie Exercices 2017/09/11 43 / 123
Exercices
Exercice 3.2
Ecrire un algorithme permettant de calculer Spx q “
ÿ n
k “ 1
k sinp2 ˚ k ˚ x q
Méthodologie Exercices 2017/09/11 44 / 123
Exercices
Exercice 3.3
Ecrire un algorithme permettant de calculer P pz q “
ź k
n “ 1
sinp2 ˚ k ˚ z{nq k
Méthodologie Exercices 2017/09/11 45 / 123
Exercices
Exercice 3.4
Reprendre les quatre exercices précédants en utilisant les boucles tant que.
Méthodologie Exercices 2017/09/11 46 / 123
Plan
1 Introduction
2 Pseudo-langage algorithmique
3 Méthodologie de construction
4 Pseudo-langage algorithmique (suite) Les fonctions
Exemple : résolution d'une équation
Exemple : résolution d'une équation du second degré
Pseudo-langage algorithmique (suite) 2017/09/11 47 / 123
Les fonctions
Les fonctions permettent
‚ d'automatiser certaines tâches répétitives au sein d'un même algorithme,
‚ d'ajouter à la clarté de la l'algorithme,
‚ l'utilisation de portion de code dans un autre algorithme,
‚ ...
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 48 / 123
Les fonctions prédénies
‚ les fonctions d'achage et de lecture : Ache, Lit
‚ les fonctions mathématiques :
sin , cos , exp , ¨ ¨ ¨
‚ les fonctions de gestion de chiers
‚ ...
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 49 / 123
Les fonctions prédénies
‚ les fonctions d'achage et de lecture : Ache, Lit
‚ les fonctions mathématiques :
sin , cos , exp , ¨ ¨ ¨
‚ les fonctions de gestion de chiers
‚ ...
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 49 / 123
Les fonctions prédénies
‚ les fonctions d'achage et de lecture : Ache, Lit
‚ les fonctions mathématiques :
sin , cos , exp , ¨ ¨ ¨
‚ les fonctions de gestion de chiers
‚ ...
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 49 / 123
Ecrire ses propres fonctions
1
Que doit-on calculer/réaliser précisement (but)?
2
Quelles sont les données (avec leurs limitations)?
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 50 / 123
Syntaxe
Fonction rargs 1 , . . . , args n s Ð NomFonction( arge 1 , . . . , arge m ) instructions
Fin Fonction
Fonction args Ð NomFonction( arge 1 , . . . , arge m ) instructions
Fin Fonction
Pseudo-langage algorithmique (suite) Les fonctions 2017/09/11 51 / 123
équation du premier degré
Ecrire une fonction permettant de résoudre ax ` b “ 0
‚ But :
trouver x P R solution de ax ` b “ 0 .
‚ Données :
a P R ˚ et b P R.
‚ Résultats :
x P R.
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/09/11 52 / 123
équation du premier degré
Ecrire une fonction permettant de résoudre ax ` b “ 0
‚ But :
trouver x P R solution de ax ` b “ 0 .
‚ Données :
a P R ˚ et b P R.
‚ Résultats :
x P R.
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/09/11 52 / 123
équation du premier degré
Ecrire une fonction permettant de résoudre ax ` b “ 0
‚ But :
trouver x P R solution de ax ` b “ 0 .
‚ Données : a P R ˚ et b P R.
‚ Résultats :
x P R.
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/09/11 52 / 123
équation du premier degré
Ecrire une fonction permettant de résoudre ax ` b “ 0
‚ But :
trouver x P R solution de ax ` b “ 0 .
‚ Données : a P R ˚ et b P R.
‚ Résultats : x P R.
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/09/11 52 / 123
équation du premier degré
Algorithme 1 Exemple de fonction : Résolution de l'équation du premier degré ax ` b “ 0 .
Données : a : nombre réel diérent de 0 b : nombre réel.
Résultat : x : un réel.
1: Fonction x Ð REPD( a , b )
2: x Ð ´b{a
3: Fin Fonction
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation 2017/09/11 53 / 123
équation du second degré
On cherche les solutions réelles de l'équation
ax 2 ` bx ` c “ 0 , (2)
Pour celà, on pose ∆ “ b 2 ´ 4ac
‚ si ∆ ă 0 alors les deux solutions sont complexes,
‚ si ∆ “ 0 alors la solution est x “ ´ 2a b ,
‚ si ∆ ą 0 alors les deux solutions sont x 1 “ ´ b ´
? ∆
2a et x 2 “ ´ b ´
? ∆ 2a . Exercice
1
Ecrire la fonction discriminant permettant de calculer le discriminant de l'équation (2).
2
Ecrire la fonction RESD permettant de résoudre l'équation (2) en utilisant la fonction discriminant.
3
Ecrire un programme permettant de valider ces deux fonctions.
Pseudo-langage algorithmique (suite) Exemple : résolution d'une équation du
second degré 2017/09/11 54 / 123
Chapitre III
Résolution de systèmes non-linéaires
2017/09/11 55 / 123
Racines/zéros d'un polynôme
‚ degré 2 : Babylonniens en 1600 avant J.-C.
‚ degré 3 : Scipio del Ferro (1465-1526, mathématicien italien) et Niccolo Fontana (1499-1557, mathématicien italien)
‚ degré 4 : Ludovico Ferrari (1522-1565, mathématicien italien)
‚ degré 5 : Paolo Runi (1765-1822, mathématicien italien) en 1799, Niels Henrick Abel (1802-1829, mathématicien norvégien) en 1824, montrent qu'il n'existe pas de solution analytique.
(a) Niccolo Fontana 1499-1557,
mathématicien italien
(b) Paolo Runi 1765-1822,
mathématicien italien
(c) Niels Henrick Abel 1802-1829,
mathématicien norvégien
2017/09/11 56 / 123
Plan
5 Recherche des zéros d'une fonction
Méthode de dichotomie ou de bissection Points xes d'une fonction (dimension 1)
6 Résolution de systèmes non linéaires
Recherche des zéros d'une fonction 2017/09/11 57 / 123
Soit f : D Ă R ÝÑ R une fonction continue.
α P D tels que f pαq “ 0 .
Soit I “sa , br, ¯ I Ă D on suppose D!α P I tel que f pαq “ 0 .
Recherche des zéros d'une fonction 2017/09/11 58 / 123
principe de la méthode de dichotomie : Soit I un intervalle contenant un unique zéro de la fonction f , on le divise par son milieu en deux intervalles et on détermine lequel des deux contient le zéro. On itére ce processus sur le nouvel intervalle.
0.5 1 1.5 2 2.5 x
5 10 15 20 25 30 35
y
y=f(x)
a0 b0
a1 b1
a2 b2
a3 b3
a4 b4
a5 b5 a6 b6 a7b7 a8b8 a9b9
Figure : Méthode de dichotomie: f p x q “ p x ` 2 qp x ` 1 qp x ´ 1 q
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 59 / 123
principe de la méthode de dichotomie : Soit I un intervalle contenant un unique zéro de la fonction f , on le divise par son milieu en deux intervalles et on détermine lequel des deux contient le zéro. On itére ce processus sur le nouvel intervalle.
‚ a 0 “ a , b 0 “ b et x 0 “ a ` 2 b ,
‚ @k P N
$
’ &
’ %
a k ` 1 “ b k ` 1 “ x k si f px k q “ 0 , a k`1 “ x k , b k`1 “ b k si f pb k qf px k q ă 0,
a k ` 1 “ a k , b k ` 1 “ x k sinon (i.e. f pa k qf px k q ă 0.) et
x k ` 1 “ pa k ` 1 ` b k ` 1 q{2 .
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 59 / 123
Proposition 5.1
Soit f : ra , bs Ă R ÝÑ R une fonction continue vériant f paqf pbq ă 0 et admettant α Psa , br comme unique solution de f px q “ 0 . Alors la suite px k q k PN dénie par la méthode de dichotomie converge vers α et
|x k ´ α| ď b ´ a
2 k ` 1 , @k P N . On a alors @ ą 0 , @k ě log p
b´a
q log p 2 q ´ 1
|x k ´ α| ď .
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 60 / 123
Exercice 5.1
On suppose que la fonction f est continue sur ra , bs, vérie f paqf pbq ă 0 et qu'il existe un unique ξ Psa, br tel que f px q “ 0.
Q. 1
1
Montrer que les suites pa k q et pb k q convergent vers α.
2
En déduire que la suite px k q converge vers α.
Q. 2
1
Montrer que pour tout k P N , |x k ´ α| ď 2 b´a
k`1.
2
Soit ą 0 . En déduire que si k ě log p
b´a
q
log p 2 q ´ 1 alors |x k ´ α| ď .
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 61 / 123
Algorithme
‚ Que cherche-t'on?
Résultat :
α : un réel tel que |α ´ α| ď .
‚ Quelles sont les données du problèmes?
Données : a , b : deux réels a ă b,
f : f : ra, bs Ă R ÝÑ R vériant les hypothèses de la proposition ,
: un réel strictement positif.
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 62 / 123
Algorithme
‚ Que cherche-t'on?
Résultat :
α : un réel tel que |α ´ α| ď .
‚ Quelles sont les données du problèmes?
Données : a , b : deux réels a ă b,
f : f : ra, bs Ă R ÝÑ R vériant les hypothèses de la proposition ,
: un réel strictement positif.
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 62 / 123
Algorithme
‚ Que cherche-t'on?
Résultat :
α : un réel tel que |α ´ α| ď .
‚ Quelles sont les données du problèmes?
Données : a , b : deux réels a ă b,
f : f : ra, bs Ă R ÝÑ R vériant les hypothèses de la proposition ,
: un réel strictement positif.
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 62 / 123
Algorithme
Algorithme2
R
0
1: k
min
Ð
Ep
logpb´a
ǫ q
logp2q
q
2: Caluldelasuite
p
xkq
kmink“0
3:
α
ǫÐ
xk minAlgorithme2
R
1
1: k
min
Ð
Ep
logpb´a
ǫ q
logp2q
q
2: Initialisationdex
0
3: Pourk
Ð
0àkmin´
1faire4: Caluldelasuite
p
xk`1q
5: FinPour
6:
α
ǫÐ
xk minRecherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 63 / 123
Algorithme
Algorithme2
R
1
1:k
min
Ð
Ep
logpb´a
ǫ q
logp2q
q
2: Initialisationdex
0
3:Pourk
Ð
0àkmin´
1faire4: Caluldelasuite
p
xk`1q
5:FinPour
6:
α
ǫÐ
xkminAlgorithme2
R
2
1:k
min
Ð
Ep
logpb´a
ǫ q
logp2q
q
2:a
0
Ð
a,
b0Ð
b3:x0
Ð
a0`2b04:Pourk
Ð
0àkmin´
1faire5: Sif
p
xkq ““
0alors6: a
k`1
Ð
xk,
bk`1Ð
xk 7: Sinon Si fp
xkq
fp
bkq ă
0q
alors
8: a
k`1
Ð
xk,
bk`1Ð
bk9: Sinon
10: a
k`1
Ð
ak,
bk`1Ð
xk 11: FinSi12: x
k`1
Ð
ak`1`2bk`1 13: FinPour14:
α
ǫÐ
xkminRecherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 64 / 123
Algorithme 2 Méthode de dichotomie : version 1 Données : a , b : deux réels a ă b,
f : f : ra , bs Ă R ÝÑ R vériant les hypothèses de la proposition 5.1, eps : un réel strictement positif.
Résultat : x : un réel tel que |x ´ α| ď eps .
1:Fonction x Ð
Dichotomie1( f , a , b , eps )
2:kmin Ð
Eplogppb ´ aq{epsq{ logp2qq
3:
AAA , BBB , XXX P R
kmin`1Ź AAApk ` 1q contiendra a
k, ...
4:
AAAp1q Ð a , BBBp1q Ð b , XXX p1q Ð pa ` bq{2
5:Pour k Ð 1 à kmin faire
6:
Si f pXXX pkqq ““ 0 alors
7:
AAApk ` 1q Ð XXXpkq , BBBpk ` 1q Ð XXXpkq
8:Sinon Si f pBBBpkqqf pXXX pkqq ă 0 alors
9:AAApk ` 1q Ð XXXpkq, BBBpk ` 1q Ð BBBpkq
10:Sinon
11:
AAApk ` 1q Ð AAApkq , BBBpk ` 1q Ð XXX pkq
12:Fin Si
13:
XXXpk ` 1q Ð pAAApk ` 1q ` BBBpk ` 1qq{2
14:Fin Pour
15:
x Ð XXXpkmin ` 1q
16:Fin Fonction
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 65 / 123
Algorithme : versions 2, 3 et + si anités
‚ A “ a, B “ b et x 0 “ A ` 2 B ,
‚ @k P v0 , k min ´ 1w,
$
’ &
’ %
A “ B “ x k si f px k q “ 0 , A “ x k , B inchangé si f pBqf px k q ă 0 ,
B “ x k , A inchangé sinon (i.e. f pAqf px k q ă 0.) et
x k ` 1 “ A ` B 2
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 66 / 123
Algorithme 3 Méthode de dichotomie : version 2 Données : a , b : deux réels a ă b,
f : f : ra , bs Ă R ÝÑ R vériant les hypothèses de la proposition 5.1, eps : un réel strictement positif.
Résultat : x : un réel tel que |x ´ α| ď eps .
1:Fonction x Ð
Dichotomie2( f , a , b , eps )
2:kmin Ð
Eplogppb ´ aq{epsq{ logp2qq
3:
XXX P R
kmin`1Ź XXX pk ` 1q contiendra x
k, ...
4:
A Ð a , B Ð b , XXX p1q Ð pA ` Bq{2
5:Pour k Ð 1 à kmin faire
6:Si f pXXX pkqq ““ 0 alors
7:A Ð XXXpkq , B Ð XXXpkq
8:Sinon Si f pBqf pXXX pkqq ă 0 alors
9:
A Ð XXXpkq Ź B inchangé
10:
Sinon
11:
B Ð XXX pkq Ź A inchangé
12:
Fin Si
13:
XXXpk ` 1q Ð pA ` Bq{2
14:Fin Pour
15:
x Ð XXXpkmin ` 1q
16:Fin Fonction
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 67 / 123
Algorithme 4 Méthode de dichotomie : version 3 Données : a , b : deux réels a ă b,
f : f : ra , bs Ă R ÝÑ R vériant les hypothèsesde la proposition 5.1, eps : un réel strictement positif.
Résultat : x : un réel tel que |x ´ α| ď eps .
1:Fonction x Ð
Dichotomie2( f , a , b , eps )
2:kmin Ð
Eplogppb ´ aq{epsq{ logp2qq
3:A , B P R
4:
A Ð a , B Ð b , x Ð pa ` bq{2
5:Pour k Ð 1 à kmin faire
6:Si f pxq ““ 0 alors
7:
A Ð x , B Ð x
8:
Sinon Si f pBqf pxq ă 0 alors
9:
A Ð x Ź B inchangé
10:
Sinon
11:
B Ð x Ź A inchangé
12:
Fin Si
13:x Ð pA ` Bq{2
14:Fin Pour
15:Fin Fonction
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 68 / 123
Algorithme 5 Méthode de dichotomie : version 4 Données : a , b : deux réels a ă b,
f : f : ra , bs Ă R ÝÑ R ..., eps : un réel strictement positif.
Résultat : x : un réel tel que |x ´ α| ď eps .
1:Fonction x Ð
Dichotomie4( f , a , b , eps )
2:A , B P R
3:
A Ð a , B Ð b , x Ð pa ` bq{2
4:Tantque |x ´ A| ą eps faire
5:Si f pxq ““ 0 alors
6:
A Ð x , B Ð x
7:
Sinon Si f pBqf pxq ă 0 alors
8:
A Ð x Ź B inchangé
9:
Sinon
10:
B Ð x Ź A inchangé
11:
Fin Si
12:x Ð pA ` Bq{2
13:Fin Tantque
14:Fin Fonction
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 69 / 123
Que pensez vous de cet algorithme?
Algorithme 6 Méthode de dichotomie : version 5 Données : a , b : deux réels a ă b,
f : f : ra , bs Ă R ÝÑ R Résultat : x : un réel tel que f pxq “ 0 .
1:
Fonction x Ð
Dichotomie5( f , a , b )
2:A , B P R
3:
A Ð a , B Ð b , x Ð pa ` bq{2 , xp Ð a
4:Tantque x „“ xp faire
5:
Si f pBqf pxq ă 0 alors
6:
A Ð x Ź B inchangé
7:
Sinon
8:
B Ð x Ź A inchangé
9:
Fin Si
10:
xp Ð x
11:
x Ð pA ` Bq{2
12:Fin Tantque
13:Fin Fonction
Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 70 / 123
Points xes
Soit Φ : ra, bs Ă R ÝÑ R une fonction donnée. Rechercher un point xe de Φ revient à
Trouver α P ra , bs tel que
α “ Φpαq.
L'algorithme de la méthode du point xe consiste en la construction, si elle existe, de la suite
x p k ` 1 q “ Φpx p k q q, @k P N (3) avec x p 0 q P ra , bs donné.
Recherche des zéros d'une fonction Points xes d'une fonction (dimension 1) 2017/09/11 71 / 123
Denition 5.2
On dit qu'une suite px k q k PN , obtenue par une méthode numérique, converge vers α avec un ordre p ě 1 si
Dk 0 P N , DC ą 0 tels que |x k`1 ´ α|
|x k ´ α| p ď C , @k ě k 0 . (4) où C ă 1 si p “ 1 .
Recherche des zéros d'une fonction Points xes d'une fonction (dimension 1) 2017/09/11 72 / 123
Théorème 6: Théorème du point xe dans R
Soient ra , bs un intervalle non vide de R et Φ une application continue de ra , bs dans lui-même. Alors, il existe au moins un point α P ra , bs vériant Φpαq “ α. Le point α est appelé point xe de la fonction Φ.
De plus, si Φ est contractante (lipschitzienne de rapport L P r 0 , 1 r ), c'est à dire
DL ă 1 t.q. |Φpxq ´ Φpy q| ď L|x ´ y| @px , yq P ra , bs 2 , (5) alors Φ admet un unique point xe α P r a , b s, la suite dénie en (3) converge vers α avec un ordre 1 pour toute donnée initiale x
p0qdans r a , b s, et l'on a les deux estimations suivantes :
| x k ´ α| ď L k | x 0 ´ α|, @ k ě 0 , (6)
| x k ´ α| ď L
1 ´ L | x k ´ x k´1 |, @ k ě 0 , (7)
Recherche des zéros d'une fonction Points xes d'une fonction (dimension 1) 2017/09/11 73 / 123
Théorème 7: Convergence globale, méthode du point xe Soit Φ P C 1 pra , bsq vériant Φpra , bsq Ă ra , bs et
DL ă 1 tel que @x P ra , bs, |Φ 1 px q| ď L , (8) Soit x 0 P ra, bs et px k q k PN la suite dénie par x k`1 “ Φpx k q. On a alors
1
la fonction Φ admet un unique point xe α P ra , bs,
2
@k P N , x k P ra, bs,
3
la suite px k q converge vers α avec un ordre 1 au moins.
4
kÑ`8 lim
x k ` 1 ´ α
x k ´ α “ Φ 1 pαq. (9)
Recherche des zéros d'une fonction Points xes d'une fonction (dimension 1) 2017/09/11 74 / 123
Théorème 8: Convergence locale du point xe
Soit α un point xe d'une fonction Φ de classe C 1 au voisinage de α.
Si |Φ 1 pαq| ă 1 , alors il existe δ ą 0 pour lequel x k converge vers α pour tout x 0 tel que |x 0 ´ α| ă δ. De plus, on a
k Ñ`8 lim
x k ` 1 ´ α
x k ´ α “ Φ 1 pαq. (10)
Proposition 8.1:
Soit p P N ˚ , et Φ P C p ` 1 p V q pour un certain voisinage V de α point xe de Φ. Si Φ p i q pαq “ 0 , pour 1 ď i ď p et si Φ p p ` 1 q pαq ‰ 0 , alors la méthode de point xe associée à la fonction Φ est d'ordre p ` 1 et
k Ñ`8 lim
x k ` 1 ´ α
px k ´ αq p ` 1 “ Φ pp`1q pαq
pp ` 1q! . (11)
Recherche des zéros d'une fonction Points xes d'une fonction (dimension 1) 2017/09/11 75 / 123
On s'interesse ici au point xe α “ 1 de la fonction Φ : x ÞÑ x 2 .
-1.5 -1 -0.5 0.5 1 1.5 x
-0.5 0.5 1 1.5 2
y
y = x
α
y =Φ( x ) y =Φ
−1( x ) =
px y = x α =Φ( α )
Figure : fonction x 2 et son fonction inverse ?
x sur r0 , `8r
Recherche des zéros d'une fonction Points xes attractifs et répulsifs 2017/09/11 76 / 123
Φ 1 pαq “ 2 : point xe répulsif
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.5 1 1.5 2
y
x0x1x2 x3 Φ(x0)
Φ(x1) Φ(x2)
y
=Φ(x
) =x
2y
=x
(a) x 0 “ 1 . 05
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.5 1 1.5
y
x0
x1
x2
x3
x4
x5
x6
x7
x8 Φ(x0) Φ(x1) Φ(x2)
Φ(x3)
Φ(x4) Φ(x5) Φ(x6) Φ(x7)
y=Φ(x) =x2 y=x
(b) x 0 “ 0 . 950 Figure : α “ 1 , point xe répulsif de x ÞÑ x 2
Recherche des zéros d'une fonction Points xes attractifs et répulsifs 2017/09/11 77 / 123
pΦ ´ 1 q 1 p1q “ 1{2 ă 1 , : point xe attractif
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.2 0.4 0.6 0.8 1 1.2 1.4
y
x0 x1 x2 x3 Φ(x0)
Φ(x1) Φ(x2)
y=px y=x
(a) x 0 “ 1 . 40
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.2 0.4 0.6 0.8 1 1.2 1.4
y
x0 x1 x2 x3 x4x5 Φ(x0)
Φ(x1) Φ(x2) Φ(x3) Φ(x4)
y=px y=x
(b) x 0 “ 0 . 200 Figure : α “ 1 , point xe attractif de Φ
´1: x ÞÑ ?
x
Recherche des zéros d'une fonction Points xes attractifs et répulsifs 2017/09/11 78 / 123
fonction f : x ÞÑ x 2 ´ x ` 1 : point xe α “ 1, f 1 pαq “ 1 .
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.5 1 1.5
y
xxx01x2x3x45x6x7x8 x9
Φ(x0) Φ(x1) Φ(x2) Φ(x3) Φ(x4) Φ(x5) Φ(x6) Φ(x7) Φ(x8)
y
=Φ(x
) =x
2−x
+1y
=x
(a) x 0 “ 1 . 1 , α point répulsif
0.2 0.4 0.6 0.8 1 1.2 1.4
x
0.5 1 1.5
y
x0 x1x2xx3x4xx5x6x789 Φ(x0)
Φ(x1) Φ(x2) Φ(x3) Φ(x4) Φ(x5) Φ(x6) Φ(x7) Φ(x8)
y
=Φ(x
) =x
2−x
+1y
=x
(b) x 0 “ 0 . 50 , α point attractif Figure : α “ 1 , point xe attractif ou répulsif de x ÞÑ x 2 ´ x ` 1
Recherche des zéros d'une fonction Points xes attractifs et répulsifs 2017/09/11 79 / 123
0.5 1 1.5 2x
0.5 1 1.5 2
y
x0
x1 x2
x3 x4
x5 x6
x7 x8
x9 Φ(x0) Φ(x1)
Φ(x2) Φ(x3)
Φ(x4) Φ(x5)
Φ(x6) Φ(x7)
Φ(x8)
y=Φ(x) =−x+2 y=x
(a) x 0 “ 1 . 50
0.5 1 1.5 2x
0.5 1 1.5 2
y
x0 x1 x3x5x7x9xx86x4 x2 Φ(x0)
Φ(x1)
Φ(x2) Φ(x3)
Φ(x4) Φ(x5) Φ(x6) Φ(x7) Φ(x8)
y=Φ(x) =−34x+74
y=x
(b) x 0 “ 1 . 50
0.5 1 1.5 2x
0.5 1 1.5 2
y
x0
x1 x2
x3 x4
x5 x6
x7
x8 Φ(x0)
Φ(x1)
Φ(x2) Φ(x3)
Φ(x4) Φ(x5)
Φ(x6)
Φ(x7) y=Φ(x) =−43x+73
y=x
(c) x 0 “ 1 . 10 Figure : α “ 1 , point xe de fonctions anes particulières
Recherche des zéros d'une fonction Points xes attractifs et répulsifs 2017/09/11 80 / 123
Algorithme générique du point xe
x pk`1q “ Φpx pkq q, @k P N , avec x p0q P ra , bs donné.
Algorithme 7 Méthode de point xe : version Tantque formel
1: k Ð 0
2: Tantque non convergence faire
3: x k`1 Ð Φ p x k q
4: k Ð k ` 1
5: Fin Tantque
6: α Ð x k Ź le dernier calculé.
Algorithme 8 Méthode de point xe : version Répéter formel
1: k Ð 0
2: Répéter
3: k Ð k ` 1
4: x k Ð Φ px k´1 q
5: jusqu'à convergence
6: α Ð x k Ź le dernier calculé.
Critères d'arrêt?
‚ On n'est pas sûr de converger ùñ kmax nb maximum d'itérations
‚ Si on converge, on s'arrête dès que |Φpx k q ´ x k | “ |x k`1 ´ x k | ď tol (critère de Poisson? Que mettre à Laplace?)
Recherche des zéros d'une fonction Algorithme générique du point xe 2017/09/11 81 / 123
Algorithme générique du point xe
Algorithme 9 Méthode de point xe : version Tantque formel avec critères d'arrêt
1:kÐ0
2:errÐ |Φpx0q ´x0| Źou|Φpx|x00|`1q´x0| 3:Tantque errąet kďkmax faire
4: kÐk`1
5: xkÐΦpxk´1q
6: errÐ |Φpxkq ´xk| Źou|Φpx|xkk|`1q´xk| 7:Fin Tantque
8:Si errďtol alors ŹConvergence
9: αtolÐxk Ź |Φpαtolq ´αtol| ďtol 10:Fin Si
Algorithme 10 Méthode de point xe : version Répéter formel avec critères d'arrêt
1:kÐ0 2:Répéter
3: errÐ |Φpxkq ´xk| Źou|Φpx|xkk|`1q´xk| 4: xk`1ÐΦpxkq
5: kÐk`1
6:jusqu'à errďtol ou kąkmax
7:Si errďtol alors ŹConvergence
8: αtolÐxk Ź |Φpαtolq ´αtol| ďtol 9:Fin Si
Recherche des zéros d'une fonction Algorithme générique du point xe 2017/09/11 82 / 123
Algorithme générique du point xe
Algorithme 11 Méthode de point xe : version Tantque avec critères d'arrêt
Données :
Φ : Φ :RÝÑR, x0 : donnée initiale, x0PR, tol : la tolérence, tolPR`,
kmax : nombre maximum d'itérations, kmaxPN˚ Résultat :
αtol : un réel tel que|Φpαtolq ´αtol| ďtol (ou|Φpα|αtoltolq´α|`1tol|ďtol)
1:FonctionαtolÐPtFixe(Φ,x0,tol,kmax ) 2: kÐ0, αtolÐ H
3: xÐx0,fxÐΦpx0q,
4: errÐ |fx´x| Źou|fx´x||x|`1 5: Tantque errątol et kďkmax faire
6: kÐk`1
7: xÐfx
8: fxÐΦpxq
9: errÐ |fx´x| Źou|fx´x||x|`1 10: Fin Tantque
11: Si errďtol alors ŹConvergence
12: αtolÐx
13: Fin Si 14:Fin Fonction
Algorithme 12 Méthode de point xe : version Répéter avec critères d'arrêt
Données :
Φ : Φ :RÝÑR, x0 : donnée initiale, xPR, tol : la tolérence, tolPR`,
kmax : nombre maximum d'itérations, kmaxPN˚ Résultat :
αtol : un réel tel que|Φpαtolq ´αtol| ďtol (ou|Φpα|αtoltolq´α|`1tol|ďtol)
1:FonctionαtolÐPtFixe(Φ,x0,tol,kmax ) 2: kÐ0, αtolÐ H
3: xÐx0 4: Répéter
5: xpÐx
6: xÐΦpxpq
7: errÐ |x´xp| Źou|x´xp||xp|`1
8: kÐk`1
9: jusqu'à errďtol ou kąkmax
10: Si errďtol alors ŹConvergence
11: αtolÐx
12: Fin Si 13:Fin Fonction
Recherche des zéros d'une fonction Algorithme générique du point xe 2017/09/11 83 / 123
Applications à la recherche de racines
f px q “ 0 ðñ Φpx q :“ x ` f px q “ x . si F P C 0 tel que F p0q “ 0 alors
f px q “ 0 ðñ Φpx q :“ x ` Fpf px qq “ x .
Objectif : Construire une suite x k `1 tel que |x k`1 ´ α| ď |x k ´ α|.
formule de taylor :
f pαq “ 0 “ f px k q ` hf 1 pξq avec h “ α ´ x k . Soit q k « f 1 pξq et ˜ h solution de
f px k q ` ˜ hq k “ 0
Si q k ‰ 0 , on obtient la suite itérative x k ` 1 “ x k ` ˜ h i.e.
x k ` 1 “ x k ´ f px k q
q k , @k P N (12)
Recherche des zéros d'une fonction Points xes pour la recherche de racines 2017/09/11 84 / 123