• Aucun résultat trouvé

Analyse Numérique I Sup'Galilée, Ingénieurs MACS, 1ère année & L3-MIM François Cuvelier

N/A
N/A
Protected

Academic year: 2022

Partager "Analyse Numérique I Sup'Galilée, Ingénieurs MACS, 1ère année & L3-MIM François Cuvelier"

Copied!
153
0
0

Texte intégral

(1)

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

(2)

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

(3)

Objectifs

Outils de base de l'analyse numérique et du calcul scientique.

‚ Mathématiques

‚ Numériques

‚ Algorithmique

2017/09/11 3 / 123

(4)

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

(5)

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

(6)

Chapitre I

Erreurs : arrondis, bug and Co.

2017/09/11 6 / 123

(7)

Un exemple : calcul approché de π

A

B

C α n2 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

α

n

2 .

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

(8)

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

(9)

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

(10)

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

(11)

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

(12)

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

2

x

2

” 3 . 6029e ` 16

2017/09/11 12 / 123

(13)

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

(14)

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

(15)

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

(16)

Chapitre II

Langage algorithmique

2017/09/11 16 / 123

(17)

Plan

1 Introduction

2 Pseudo-langage algorithmique

3 Méthodologie de construction

4 Pseudo-langage algorithmique (suite)

Introduction 2017/09/11 17 / 123

(18)

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

(19)

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

(20)

Exemple 2 : équation du premier degré

Donner un algorithme permettant de résoudre ax “ b

Introduction 2017/09/11 20 / 123

(21)

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

(22)

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

(23)

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

(24)

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

(25)

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

(26)

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

(27)

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

(28)

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

(29)

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

(30)

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

(31)

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

(32)

Opérateur d'aectation

Nom Symbole Exemple

aectation Ð a Ð b

Pseudo-langage algorithmique Les bases 2017/09/11 30 / 123

(33)

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

(34)

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

(35)

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

(36)

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

(37)

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

(38)

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

(39)

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

(40)

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

(41)

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

(42)

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

(43)

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

(44)

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

(45)

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

(46)

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

(47)

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

(48)

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

(49)

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

(50)

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

(51)

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

(52)

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

(53)

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

(54)

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

(55)

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

(56)

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

(57)

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

(58)

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

(59)

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

(60)

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

(61)

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

(62)

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

(63)

é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

(64)

é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

(65)

é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

(66)

é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

(67)

é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

(68)

é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

(69)

Chapitre III

Résolution de systèmes non-linéaires

2017/09/11 55 / 123

(70)

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

(71)

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

(72)

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

(73)

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

(74)

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 0a ` 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

(75)

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

(76)

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

(77)

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

(78)

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

(79)

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

(80)

Algorithme

Algorithme2

R

0

1: k

min

Ð

E

p

logp

b´a

ǫ q

logp2q

q

2: Caluldelasuite

p

xk

q

kmin

k0

3:

α

ǫ

Ð

xk min

Algorithme2

R

1

1: k

min

Ð

E

p

logp

b´a

ǫ q

logp2q

q

2: Initialisationdex

0

3: Pourk

Ð

0àkmin

´

1faire

4: Caluldelasuite

p

xk`1

q

5: FinPour

6:

α

ǫ

Ð

xk min

Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 63 / 123

(81)

Algorithme

Algorithme2

R

1

1:k

min

Ð

E

p

logp

b´a

ǫ q

logp2q

q

2: Initialisationdex

0

3:Pourk

Ð

0àkmin

´

1faire

4: Caluldelasuite

p

xk`1

q

5:FinPour

6:

α

ǫ

Ð

xkmin

Algorithme2

R

2

1:k

min

Ð

E

p

logp

b´a

ǫ q

logp2q

q

2:a

0

Ð

a

,

b0

Ð

b

3:x0

Ð

a0`2b0

4:Pourk

Ð

0àkmin

´

1faire

5: Sif

p

xk

q ““

0alors

6: a

k`1

Ð

xk

,

bk`1

Ð

xk 7: Sinon Si f

p

xk

q

f

p

bk

q ă

0

q

alors

8: a

k`1

Ð

xk

,

bk`1

Ð

bk

9: Sinon

10: a

k`1

Ð

ak

,

bk`1

Ð

xk 11: FinSi

12: x

k`1

Ð

ak`1`2bk`1 13: FinPour

14:

α

ǫ

Ð

xkmin

Recherche des zéros d'une fonction Méthode de dichotomie ou de bissection 2017/09/11 64 / 123

(82)

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 Ð

E

plogppb ´ 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

(83)

Algorithme : versions 2, 3 et + si anités

‚ A “ a, B “ b et x 0A ` 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

(84)

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 Ð

E

plogppb ´ 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

(85)

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 Ð

E

plogppb ´ 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

(86)

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

(87)

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

(88)

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

(89)

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

(90)

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

p0q

dans 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

(91)

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

(92)

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

(93)

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 ) =

p

x 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

(94)

Φ 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

2

y

=

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

(95)

´ 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

(96)

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

+1

y

=

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

+1

y

=

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

(97)

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

(98)

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

(99)

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

(100)

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

(101)

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

Références

Documents relatifs

L'objectif de cet exercice est de montrer qu'il existe un unique choix de points px i q iv0,nw et de poids pω i q iPv0,nw.. tel que la formule (1) soit exacte pour les polynômes

3 Comme pour les méthodes de point xe, La convergence de la méthode n'est pas assurée et si il y a convergence le nombre d'itération nécessaire n'est (à priori) pas connu..

Résolution d'un système linéaire Algorithme : Factorisation positive de Cholesky..

On pourra pour celà utiliser les fonctions prédénies s Ð dot pu u u, v v vq qui retourne le produit scalaire de deux vecteurs, s Ð abs pxq qui retourne le module d'un nombre

5 Ecrire la fonction algorithmique fzero permettant de trouver (si possible) une approximation d'une racine de f en utilisant (1) avec une tolérance donnée et un nombre

On suppose les fonctions DecompDEF et RSLTriSup déjà écrites (voir ci-dessus pour leurs descriptifs) ainsi que la fonction RSLTriInf permettant de résoudre un système linéaire avec

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.

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