Download - An Num Chap1_ Analyse Numérique_MII_isecs

Transcript

Analyse NumriqueChapitre 1: Arithmtique numriques et Analyse derreurs Mondher FRIKHA Maitre assistant ISECSCours rserv aux tudiants de mastre pro. en Informatique Industrielle A.U. 2010-2011

Plan du cours cours: 10,5h (7 sances de 1,5h) TD: 6h (4 sances de 1,5h) TP: Pas de sances de TP Analyse Numrique : Branche des mathmatiques appliques qui connait un essor considrable But du cours : Survol des principales mthodes numriques lmentaires et couvre plus particulirement les sujets suivants: Introduction au calcul numrique & Analyse derreurs Rsolution numrique des quations non linaires. Interpolation polynomiale et approximation de fonction.2

Table de matire du chapitre

Introduction lanalyse Numrique Analyse derreurs Arithmtique numrique

3

Dfinition de calcul numriqueAnalyse Numrique Analyse + Calcul numrique mthodes danalyse

But: Etablir quelques numrique et leurs outils

Calcul (issu du mot latin calculus) numrique est une discipline qui traite de la conception, lanalyse et limplmentation dalgorithmes pour la rsolution numrique des problmes mathmatiques continus qui proviennent de la modlisation des phnomnes rels. Les calculs numriques donnent toujours des solutions approches. Mthodes numriques: Approximation des solutions pour comprendre les problmes.4

Calcul numrique : ralit industrielle Avec les progrs foudroyants des performances des ordinateurs, le calcul numrique devient de plus en plus ralisable et souple.

Plusieurs applications: recherche et dveloppement modlisation Simulation organisation de la production optimisation et planification prvisions ( longue et courte dure) fiabilit.5

Sujets rcurrents en calcul numrique La solution numrique dun problme mathmatique ne peut tre plus significative que le modle mme Problmes qui ne peuvent tre rsolus directement sont approchs par des problmes plus simples. Usage frquente des rsultats de lalgbre linaire Souci pour lamplitude des erreurs. Souci pour la stabilit des algorithmes. Souci pour la complexit et la performance du calcul. Mettre en tte que: Lutilisateur est intelligent; le logiciel ne lest pas.

6

Principe d'une mthode numriqueL'analyse numrique s'occupe principalement de deux aspects primordiaux: Trouver la solution de problmes rels dont la solution analytique n'est pas connue En approximant les phnomnes, les quations, . . . Souvent par des mthodes itratives qui s'approchent de plus en plus de la solution exacte En approximant la solution. . . Analyse du comportement des mthodes Efficacit, complexit Ordre de convergence Robustesse, sensibilit aux erreurs d'arrondi7

Quelques dfinitionsAlgorithme: Suite finie de rgles appliquer dans un ordre dtermin un nombre fini de donnes pour arriver, en un nombre fini d'tapes Les algorithmes sont intgrs dans des calculateurs par l'intermdiaire de "programmes". Attention: tout algorithme propos pour rsoudre un problme a un cot en termes de temps de calcul

Souci : ds le dbut dun travail il faut sorienter pour la recherche de la bonne solution8

Ecriture dalgorithmeTout algorithme sera nomm et dsign par une criture du type (d1,,dkr1,,rs) (d1,,dk ): paramtres dentre ou donnes (r1,,rs): paramtres de sortie ou rsultat Inclure des commentaires dcrivant le fonctionnement de lalgorithme: En-tte: constitu de la description (type, format, signification) des paramtres dentres et de sortie Corps de lalgorithme: qui est crit en pseudo code

9

Ecriture dalgorithme: ExempleRsoudre lquation ax+b=0 , Chercher lensemble des solutions S={x R / ax+b=0}, (a,b) R Si a=0 si b=0 alors S= R, si non (b 0 alors S= Si non (a

0) , S={-b/a}

10

Ecriture dalgorithme: OrganigrammeOrganigramme: cest une description symbolique des diffrentes tapes dun algorithme On utilise les symboles suivants:Pour dcrire une commande, une donne

Rsoudre lquation ax+b=0 , (a,b)RDbut Donner a et bO N

Pour dcrire un test

a=0N

b=0O

S=

S=-b/a Fin

S= R11

Du modle au problme mathmatiqueLutilisation dun modle pour la rsolution dun problme pratique passe travers la rsolution dun problme mathmatique.Construction du modle

Problme applicatif

Problme mathmatiqueRsolution analytique Interprtation Rsolution numrique

Solution du problme

Solution mathmatique

Les modles mathmatiques continus prennent typiquement la forme dun ensemble dquations (algbriques ou diffrentielles) et/ou inquations avec paramtres (connus et/ou inconnus).12

Problme mathmatiqueUn problme mathmatique continu est une relation fonctionnelle F entre un ensemble de donnes d et une solution x. On peut distinguer entre deux formes de problme: Forme explicite: Forme implicite: x = F(d) F(x, d) = 0

Selon la nature du problme, la solution x et les donnes d peuvent tre reprsentes par des matrices, des nombres rels ou des fonctions.

13

Problmes bien/mal possLa notion de problme bien/mal pos a t introduite pour la premire fois par Hadamard en 1923. Dfinition (Problme bien pos). Le problme mathmatique x = F(d) est bien pos si la solution x existe, est unique, dpend continment des donnes d. Autrement le problme est dit mal pos. Nous ne considrerons dans le cours que des problmes bien poss.14

Analyse derreurs

Nombre approchUn nombre approch x* est un nombre lgrement diffrent du nombre exact x et qui dans le calcul remplace ce dernier. Si lon sait que x* < x, x* est dit valeur approche du nombre x par dfaut; Si x* > x, x* est une valeur approche par excs. Soit x = 2. Le nombre x* = 1.41 est une valeur approche par dfaut, alors que le nombre x* = 1.42 est une valeur approche par excs. Si x* est une valeur approche de x on note x* x16

Erreurs: Analyse et consquenceLun des plus importants enjeux de lanalyse numrique est lanalyse des erreurs Lerreur = x = x-x* Chaque analyse numrique doit se confronter avec une certaine dose derreurs. Il est toujours demand de rpondre aux questions suivantes: Quelle est lerreur commise sur une solution calcule? Que faire si cette erreur de calcul est grande? Quest-ce quune erreur? Do viennent les erreurs? Quelles consquences ont-elles? Comment analyser leurs effets?17

Analyse inverse des erreursJai accs lerreur de calcul et je trouve trop grande Lalgorithme est il responsable? mal implment? mal choisi? Le problme mathmatique est il responsable? mal formul? intrinsquement instable ? Deux diagnostics possibles18

Analyse inverse des erreursPour discriminer 2 notions calculables Conditionnement: mesure de la sensibilit dune fonction des perturbations de ses donnes. Erreurs inverses: mesure lcart entre le problme rsoudre et celui effectivement rsolu.

19

ConditionnementDonne Solution

X

Y = F(X)

X + X

Y + Y = F(X+X)

|| Y || K || X || ||Y || || X ||Conditionnement K: Drive de Frchet de F. Mesure la sensibilit de F en Y20

Sources derreurs: erreurs de modlisationPartie importante de lanalyse numrique consiste contenir les effets des erreurs introduites qui proviennent de 3 sources principales: Erreurs de modle (de modlisation): ces erreurs proviennent de ltape de mathmatisation du phnomne physique. Si le phnomne est trs complexe, il faut faire des simplifications On ne sintresse pas dans ce cours ce type derreur Erreurs darrondi: ce sont les erreurs associes au systme de numration. Elles sont dues au fait quun ordinateur ne peut prendre en considration quun nombre fini de chiffres. La reprsentation de ces chiffres introduit des erreurs qui peuvent saccumuler lorsquon effectue un trs grand nombre doprations.

21

Sources derreurs: erreurs numriquesErreurs dapproximation ou de troncature: ces sont les erreurs associes aux processus infinis en analyse mathmatique (par exemple lutilisation du dveloppement de Taylor fini, les sries numriques). Les erreurs de troncature saccumulent Quantification des erreurs: Erreur absolue: x =|x x*|, x: nombre et x* approximation de ce nombre Erreur relative: Er(x)= |x x*|/ |x| = x /|x| Er(x) (%)= Er(x)*100% Difficile dvaluer x et Er(x) en pratique car on ne connat pas le valeur exacte de x.22

Arithmtique numrique

Reprsentation des nombres en machineInformations traits par les ordinateurs sont composes de chiffres, de lettres ou de symboles. But principal des ordinateurs est de rsoudre rapidement les problmes de calculs complexes et longs. Les reprsentations des nombres lintrieur dune machine se fait selon deux mthodes: 1. virgule fixe. 2. virgule flottante.

24

Reprsentation des nombres en machineUn ordinateur ne peut reprsenter quun sous-ensemble fini de lensemble des nombres rels. Toute opration dun ordinateur est entache par des erreurs darrondi. Notations adoptes pour reprsenter les nombres rels sur ordinateur: 1. Systme virgule fixe. 2. Systme virgule flottante.

25

BasesLes ordinateurs emploient souvent trois bases: b = 10, systme dcimal symboles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 Affichage des rsultats b = 2, systme binaire symboles: 0, 1 (bits) calcul. b = 16, systme hexadcimal symboles: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,A,B,C,D,E, F reprsentation compacte des binaires. (parfois la forme DCB est utilise)26

Notation virgule fixeLa virgule napparait pas dans le stockage du nombre mais sera place par le programmeur dans le programme (Virgule virtuelle) x un nombre rel; sa reprsentation en virgule fixe est {[anan1 . . . a1a0,a1a2 . . . am], b, s} ob , b 2 est la base, s {0, 1} est appel le signe ai , 0 ai < b, i = m, . . . , n sont les symboles, m dsigne le nombre de chiffres aprs la virgule, n + 1 est le nombre de chiffres avant la virgule, et la valeur x est rel s n k x=(1) a k b k =m

Si s = 0, x est un nombre positif, autrement (s = 1) il est un nombre ngatif.27

ExemplesSoient b = 10, n = 3, m = 6, s = 0. Alors lcriture virgule fixe [0030, 421000] dsigne le rel x = 3 101 + 0 100 + 4 101 + 2 102 + 1 103 x= 30.421 lcriture [0000, 043700] dsigne le rel x = 0.0437. Soient b = 16, n = 3, m = 6, s = 0. Alors lcriture [0030, 421000] dsigne le rel 3 161 + 0 160 + 4 161 + 2 162 + 1 163 = 48.258 lcriture [0000, 043700] dsigne le rel x = 0.0165.28

Notation en virgule flottanteUn nombre flottant est compos de 4 valeurs: une mantisse f (reprsente les chiffres significatifs), un exposant E (puissance la quelle la base leve), Une base (=2 si binaire, =10 si dcimale), un signe s {0, 1}, 0 si le nombre est positif, 1 si ngatif.

En notation flottante le nombre rel scrit: (-1)sxfxE. Exemples: 1x5,5x103=5500 (-1)x2,7x10-4=-0,00027

29

Norme IEEE 754Rvolution 1985: Norme IEEE 754 fixe la reprsentation des donnes et le comportement des oprations de base en virgule flottante. Norme IEEE 754 fixe: -Les formats des donnes - Les valeurs spciales - Les modes darrondi - La prcision des oprations de base Objectifs: Permettre de faire des programmes portables et rendre les programmes dterministes dune machine une autre.30

IEEE 754: formats de baseEn base = 2, la normalisation de la mantisse implique que le premier bit est toujours un 1 qui nest pas stock physiquement, on parle de 1 implicite.Nombre de bits Format Double prcision Simple prcision Total 64 32 signe 1 1 exposant 11 8 mantisse 52 + 1 23 + 1

Lexposant stock physiquement est lexposant biais eb tel que eb= e + b o b est le biais31

IEEE 754: ExposantLes exposants non biaiss emin 1 et emax + 1 (respectivement 0 et 2k 1 en biais) sont rservs pour zro, les dnormaliss et les valeurs spciales.

Format Simple prcision Double prcision

Taille k 8 11

Biais b 127 (=28-1 1)

Non-biais emin -126 emax 127

Biais emin 1 1 emax 254 2046

1023 (=211-1 1) -1022 1023

32

IEEE 754: Valeurs spciales Les infinis: - et + ; Ils sont cods en utilisant le plus grand exposant possible et une fraction nulle e = emax + 1 et fx=0 Not a Number: permet de reprsenter le rsultat dune opration invalide (0/0, (-1)1/2 ou 0 x . NAN cod en utilisant le plus grand exposant possible et une fraction non nulle: e = emax + 1 et fx 0+ NAN 1 11111111 00000000000000000000000 0 11111111 00000000000000000000000 0 11111111 00000000000000000001000

33

IEEE 754: Exemple Pour retrouver le nombre rel Xr partir du codage, on utilise la formule: Xr = (-1)s x 2E-bias x 1.fx avec bias = 127 pour le cas simple prcision et, bias = 1023 en double prcision Exemple:1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 0 0

Xr = (-1)1 x 2129-127 x 1.(01)2 = - 5.

34

Arithmtique en virgule flottanteOn note fl(x) la reprsentation dun nombre x avec larrondi en n chiffres aprs la virgule. On notera les oprations de larithmtique flottante comme suit: fl(x) la reprsentation dun nombre x avec larrondi en n chiffres aprs la virgule. x + y = fl(fl(x) + fl(y)), x - y = fl(fl(x) - fl(y)); x x y= fl(fl(x) x fl(y)), x / y = fl(fl(x) / fl(y))

35

Arithmtique en virgule flottanteExemple: n=3, x = 1.235, y = 8.76x10-2, x + y = 1.32264; x + y = fl(0.124 x 101 + 0.876 x 10-1)=fl(0.13276 x 101) = 0.133 x 101 = 1.33 Remarque: Arithmtique en virgule flottante na pas les mmes proprits que larithmtique exacte, en effet: - laddition nest pas associative; - la distributivit de la multiplication sur laddition nest pas toujours respecte.

36

Troncature et arrondi en flottantIl faut recourir soit la troncature soit larrondi dans le cas o un nombre na pas une reprsentation binaire finie. Exemple: x R, avec x= (1,b1b2b52b53b54)2e En effectuant la troncature avec n chiffres aprs la virgule, nous obtenons la forme en virgule flottante: fl (x)= = (1,b1b2bn-1bn)2e Lautre possibilit est larrondi. On ajoute 1 au (n+1)ime bit et on tronque le rsultat. Remarque: En base 10, les mmes ides sappliquent sauf que pour arrondir, on ajoute 5 au (n+1)ime bit avant de tronquer.37