notes de cours - ceremade - umr7534bey/enseignement/2013_2014/mid… · algèbre linéaire...

518
RESEARCH UNIVERSITY

Upload: phungthuan

Post on 13-Sep-2018

234 views

Category:

Documents


1 download

TRANSCRIPT

  • R E S E A R C H

    U N I V E R S I T Y

    Mthodes numriques

    Introduction l'analyse numrique et aucalcul scientique

    Guillaume Legendre

    (version provisoire du 3 avril 2014)

  • Avant-propos

    Ce document est une version augmente et regroupe des notes de deux cours enseigns l'univer-sit Paris-Dauphine, respectivement en deuxime anne de licence de Mathmatiques et Informatiqueappliques l'conomie et l'Entreprise (MI2E) et en premire anne de master de Mathmatiquesde la Modlisation et de la Dcision Mathmatiques Appliques (MMDMA). Ces enseignements secomposent la fois de cours magistraux et de sances de travaux dirigs et de travaux pratiques.

    Leur but est de prsenter plusieurs mthodes numriques de base utilises pour la rsolution dessystmes linaires, des quations non linaires, des quations direntielles et aux drives partielles,pour le calcul numrique d'intgrales ou encore pour l'approximation de fonctions par interpolationpolynomiale, ainsi que d'introduire aux tudiants les techniques d'analyse (thorique) de ces dernires.Certains aspects pratiques de mise en uvre sont galement voqus et l'emploi des mthodes est motivpar des problmes concrets . La prsentation et l'analyse des mthodes se trouvent compltes par untravail d'implmentation et d'application ralis par les tudiants avec les logiciels Matlab R 1 et GNUOctave 2.

    Il est noter que ce support de cours comporte des plusieurs passages qui ne sont pas traits dans lecours devant les tudiants (ce dernier xant le programme de l'examen), ou tout au moins pas de manireaussi dtaille. Il contient galement deux annexes de taille relativement consquente, l'une consacre desrappels d'algbre, l'autre des rappels d'analyse, qui constituent les pr-requis une bonne comprhensiondes deux premires parties du cours. Les courtes notes biographiques, qui apparaissent en bas de page chaque premire fois que le nom d'un scientique est cit, sont pour partie tires de Wikipedia 3.

    Je tiens enn adresser mes remerciements tous les tudiants ayant dcel des erreurs, MatthieuHillairet pour son attentive relecture d'une partie du manuscrit et ses remarques, Nicolas Salles, JulienSalomon et Gabriel Turinici pour leurs suggestions et enn Donald Knuth pour l'invention de TEX.

    Guillaume LegendreParis, fvrier .

    Quelques rfrences bibliographiques

    Pour approfondir les thmes abords dans ces pages, voici une slection de plusieurs ouvrages derfrence, que l'on pourra consulter avec intrt en complment du cours. Par ailleurs, an de faciliterl'accs la littrature de langue anglaise, des traductions des termes spciques ce cours sont proposestout au long du manuscrit, gnralement lors de l'introduction de l'objet ou de la notion en question.

    Ouvrages rdigs en franais

    [AD08] L.Amodei et J.-P.Dedieu. Analyse numrique matricielle. DeMathmatiques pour le master/SMAI.Dunod, 2008.

    [AK02] G. Allaire et S. M. Kaber. Algbre linaire numrique. De Mathmatiques pour le deuxime cycle.Ellipses, 2002.

    1. Matlab est une marque dpose de The MathWorks, Inc., http://www.mathworks.com/.2. GNU Octave est distribu sous licence GNU GPL, http://www.gnu.org/software/octave/.3. Wikipedia, the free encyclopedia, http://www.wikipedia.org/.

    i

    http://www.mathworks.com/http://www.gnu.org/software/octave/http://www.wikipedia.org/

  • [Cia98] P. G. Ciarlet. Introduction l'analyse numrique matricielle et l'optimisation cours et exercicescorrigs. De Mathmatiques appliques pour la matrise. Dunod, 1998.

    [Dem06] J.-P. Demailly. Analyse numrique et quations direntielles. De Grenoble Sciences. EDP Sciences,2006.

    [Fil09] F. Filbet. Analyse numrique Algorithme et tude mathmatique. Dunod, 2009.

    [LT00a] P. Lascaux et R. Thodor. Analyse numrique matricielle applique l'art de l'ingnieur. 1.Mthodes directes. Dunod, 2000.

    [LT00b] P. Lascaux et R. Thodor. Analyse numrique matricielle applique l'art de l'ingnieur. 2.Mthodes itratives. Dunod, 2000.

    [QSS07] A.Quarteroni, R. Sacco et F. Saleri.Mthodes numriques. Algorithmes, analyse et applications.Springer, 2007. doi : 10.1007/978-88-470-0496-2.

    Ouvrages rdigs en anglais

    [Act90] F. S. Acton. Numerical methods that (usually) work. The Mathematical Association of America,1990.

    [Atk89] K. Atkinson. An introduction to numerical analysis. John Wiley & Sons, second edition, 1989.

    [Axe94] O. Axelsson. Iterative solution methods. Cambridge University Press, 1994. doi: 10 . 1017 /CBO9780511624100.

    [CLRS09] T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Introduction to algorithms. MITPress, third edition, 2009.

    [DB08] G. Dahlquist and . Bjrk. Numerical methods in scientic computing. Volume I. SIAM, 2008.doi: 10.1137/1.9780898717785.

    [Gau97] W. Gautschi. Numerical analysis: an introduction. Birkhuser, 1997.

    [GVL96] G. H. Golub and C. F. Van Loan. Matrix computations. Johns Hopkins University Press,third edition, 1996.

    [Hig02] N. J. Higham. Accuracy and stability of numerical algorithms. SIAM, second edition, 2002. doi:10.1137/1.9780898718027.

    [IK94] E. Isaacson and H. B. Keller. Analysis of numerical methods. Dover, 1994.

    [LeV07] R. J. LeVeque. Finite dierence methods for ordinary and partial dierential equations: steady-stateand time-dependent problems. SIAM, 2007. doi: 10.1137/1.9780898717839.

    [Par98] B. N. Parlett. The symmetric eigenvalue problem. Of Classics in applied mathematics. SIAM,1998. doi: 10.1137/1.9781611971163.

    [PTVF07] W. H. Press, S. A. Teukolsky, W. T. Veterling, and B. P. Flannery. Numerical recipes: theart of scientic computing. Cambridge University Press, third edition, 2007.

    [QV97] A. Quarteroni and A. Valli. Numerical approximation of partial dierential equations. Volume 23of Springer series in computational mathematics. Springer, corrected second printing edition, 1997.doi: 10.1007/978-3-540-85268-1.

    [SB02] J. Stoer and R. Bulirsch. Introduction to numerical analysis. Volume 12 of Texts in appliedmathematics. Springer, third edition, 2002. doi: 10.1007/978-0-387-21738-3.

    [SM03] E. Sli and D. F. Mayers. An introduction to numerical analysis. Cambridge University Press,2003. doi: 10.1017/CBO9780511801181.

    [Ste01] G. W. Stewart. Matrix algorithms. Volume II: eigensystems. SIAM, 2001. doi: 10.1137/1.9780898718058.

    [Ste98] G. W. Stewart. Matrix algorithms. Volume I: basic decompositions. SIAM, 1998. doi: 10.1137/1.9781611971408.

    [TB97] L. N. Trefethen and D. Bau, III. Numerical linear algebra. SIAM, 1997.

    [Var00] R. S. Varga. Matrix iterative analysis. Volume 27 of Springer series in computational mathematics.Springer, second edition, 2000. doi: 10.1007/978-3-642-05156-2.

    [Wil65] J. H. Wilkinson. The algebraic eigenvalue problem. Of Numerical mathematics and scienticcomputation. Oxford University Press, 1965.

    ii

    http://dx.doi.org/10.1007/978-88-470-0496-2http://dx.doi.org/10.1017/CBO9780511624100http://dx.doi.org/10.1017/CBO9780511624100http://dx.doi.org/10.1137/1.9780898717785http://dx.doi.org/10.1137/1.9780898718027http://dx.doi.org/10.1137/1.9780898717839http://dx.doi.org/10.1137/1.9781611971163http://dx.doi.org/10.1007/978-3-540-85268-1http://dx.doi.org/10.1007/978-0-387-21738-3http://dx.doi.org/10.1017/CBO9780511801181http://dx.doi.org/10.1137/1.9780898718058http://dx.doi.org/10.1137/1.9780898718058http://dx.doi.org/10.1137/1.9781611971408http://dx.doi.org/10.1137/1.9781611971408http://dx.doi.org/10.1007/978-3-642-05156-2

  • Table des matires

    1 Gnralits sur l'analyse numrique et le calcul scientique 11.1 Direntes sources d'erreur dans une mthode numrique . . . . . . . . . . . . . . . . . . 21.2 Quelques notions d'algorithmique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    1.2.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2.2 Codage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.3 Ecacit et complexit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    1.3 Arithmtique virgule ottante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.1 Systme de numration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.3.2 Reprsentation des nombres rels en machine . . . . . . . . . . . . . . . . . . . . . 10

    Arrondi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121.3.3 Arithmtique en prcision nie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    Un modle d'arithmtique virgule ottante . . . . . . . . . . . . . . . . . . . . . 14Multiplication et addition fusionnes . . . . . . . . . . . . . . . . . . . . . . . . . . 15Perte d'associativit et de distributivit . . . . . . . . . . . . . . . . . . . . . . . . 15Soustraction exacte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Arithmtique complexe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

    1.3.4 La norme IEEE 754 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171.4 Propagation des erreurs et conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    1.4.1 Propagation des erreurs dans les oprations arithmtiques . . . . . . . . . . . . . . 18Cas de la multiplication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Cas de la division . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Cas de l'addition et de la soustraction . . . . . . . . . . . . . . . . . . . . . . . . . 18

    1.4.2 Analyse de sensibilit et conditionnement d'un problme . . . . . . . . . . . . . . . 19Problme bien pos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Conditionnement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Quelques exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    1.5 Analyse d'erreur et stabilit des mthodes numriques . . . . . . . . . . . . . . . . . . . . 291.5.1 Analyse d'erreur directe et inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    Quelques exemples (simples) d'analyse d'erreur . . . . . . . . . . . . . . . . . . . . 311.5.2 Stabilit numrique et prcision d'un algorithme . . . . . . . . . . . . . . . . . . . 34

    1.6 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    I Algbre linaire numrique 41

    2 Mthodes directes de rsolution des systmes linaires 452.1 Exemples d'application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    2.1.1 Estimation d'un modle de rgression linaire en statistique * . . . . . . . . . . . . 462.1.2 Rsolution d'un problme aux limites par la mthode des dirences nies * . . . . 47

    2.2 Remarques sur la rsolution des systmes triangulaires . . . . . . . . . . . . . . . . . . . . 482.3 Mthode d'limination de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    2.3.1 limination sans change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

    iii

  • 2.3.2 limination de Gauss avec change . . . . . . . . . . . . . . . . . . . . . . . . . . . 522.3.3 Rsolution de systmes rectangulaires par limination . . . . . . . . . . . . . . . . 542.3.4 Choix du pivot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542.3.5 Mthode d'limination de GaussJordan . . . . . . . . . . . . . . . . . . . . . . . . 55

    2.4 Interprtation matricielle de l'limination de Gauss : la factorisation LU . . . . . . . . . . 562.4.1 Formalisme matriciel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    Matrices des transformations lmentaires . . . . . . . . . . . . . . . . . . . . . . . 56Factorisation LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

    2.4.2 Condition d'existence de la factorisation LU . . . . . . . . . . . . . . . . . . . . . . 592.4.3 Mise en uvre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 622.4.4 Factorisation LU de matrices particulires . . . . . . . . . . . . . . . . . . . . . . . 63

    Cas des matrices diagonale strictement dominante . . . . . . . . . . . . . . . . . 67Cas des matrices bandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68Cas des matrices tridiagonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69Cas des matrices de Toeplitz * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Phnomne de remplissage des matrices creuses . . . . . . . . . . . . . . . . . . . . 71

    2.5 Autres mthodes de factorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 712.5.1 Factorisation LDMT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722.5.2 Factorisation de Cholesky . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732.5.3 Factorisation QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

    2.6 Stabilit numrique des mthodes directes * . . . . . . . . . . . . . . . . . . . . . . . . . . 812.6.1 Rsolution des systmes triangulaires * . . . . . . . . . . . . . . . . . . . . . . . . 812.6.2 limination de Gauss et factorisation LU * . . . . . . . . . . . . . . . . . . . . . . 812.6.3 Factorisation de Cholesky * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 832.6.4 Factorisation QR ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

    2.7 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

    3 Mthodes itratives de rsolution des systmes linaires 893.1 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 903.2 Mthodes de Jacobi et de sur-relaxation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943.3 Mthodes de GaussSeidel et de sur-relaxation successive . . . . . . . . . . . . . . . . . . 953.4 Convergence des mthodes de GaussSeidel et de Jacobi . . . . . . . . . . . . . . . . . . . 96

    3.4.1 Cas des matrices diagonale strictement dominante . . . . . . . . . . . . . . . . . 973.4.2 Cas des matrices hermitiennes dnies positives . . . . . . . . . . . . . . . . . . . . 973.4.3 Cas des matrices tridiagonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

    3.5 Remarques sur la mise en uvre des mthodes itratives . . . . . . . . . . . . . . . . . . . 1013.6 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    4 Calcul de valeurs et de vecteurs propres 1074.1 Exemples d'application ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    4.1.1 Dtermination des modes propres de vibration d'une plaque * . . . . . . . . . . . . 1084.1.2 valuation des nuds et poids des formules de quadrature de Gauss ** . . . . . . 1094.1.3 PageRank . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    4.2 Localisation des valeurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124.3 Conditionnement d'un problme aux valeurs propres . . . . . . . . . . . . . . . . . . . . . 1144.4 Mthode de la puissance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

    4.4.1 Approximation de la valeur propre de plus grand module . . . . . . . . . . . . . . 1154.4.2 Dation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1174.4.3 Mthode de la puissance inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1184.4.4 Mthode de Lanczos ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    4.5 Mthode de Jacobi pour les matrices symtriques . . . . . . . . . . . . . . . . . . . . . . . 1194.5.1 Matrices de rotation de Givens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1194.5.2 Mthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

    iv

  • 4.5.3 Mthode de Jacobi cyclique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1254.6 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

    II Traitement numrique des fonctions 131

    5 Rsolution numrique des quations non linaires 1355.1 Exemples d'applications ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

    5.1.1 quation de Kepler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1365.1.2 quation d'tat de van der Waals pour un gaz . . . . . . . . . . . . . . . . . . . . 1365.1.3 Calcul du rendement moyen d'un fonds de placement . . . . . . . . . . . . . . . . . 137

    5.2 Ordre de convergence d'une mthode itrative . . . . . . . . . . . . . . . . . . . . . . . . . 1375.3 Mthodes d'encadrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138

    5.3.1 Mthode de dichotomie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1395.3.2 Mthode de la fausse position . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

    5.4 Mthodes de point xe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1435.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1445.4.2 Quelques rsultats de convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . 1455.4.3 Mthode de relaxation ou de la corde . . . . . . . . . . . . . . . . . . . . . . . . . 1495.4.4 Mthode de NewtonRaphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1505.4.5 Mthode de Steensen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1555.4.6 Classe des mthodes de Householder ** . . . . . . . . . . . . . . . . . . . . . . . . 157

    5.5 Mthode de la scante et variantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1585.5.1 Mthode de Muller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1605.5.2 Mthode de Brent ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161

    5.6 Critres d'arrt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1615.7 Mthodes pour les quations algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162

    5.7.1 Localisation des racines ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1635.7.2 valuation des polynmes et de leurs drives . . . . . . . . . . . . . . . . . . . . . 163

    valuation d'un polynme en un point . . . . . . . . . . . . . . . . . . . . . . . . . 164Division euclidienne d'un polynme par un monme . . . . . . . . . . . . . . . . . 164valuation des drives successives d'un polynme en un point . . . . . . . . . . . 164Stabilit numrique de la mthode de Horner . . . . . . . . . . . . . . . . . . . . . 165

    5.7.3 Mthode de NewtonHorner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665.7.4 Dation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1665.7.5 Mthode de Bernoulli * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1675.7.6 Mthode de Gre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1685.7.7 Mthode de Laguerre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1695.7.8 Mthode de DurandKerner ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1715.7.9 Mthode de Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1715.7.10 Mthode de JenkinsTraub ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1735.7.11 Recherche des valeurs propres d'une matrice compagnon ** . . . . . . . . . . . . . 173

    5.8 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

    6 Interpolation polynomiale 1796.1 Quelques rsultats concernant l'approximation polynomiale . . . . . . . . . . . . . . . . . 180

    6.1.1 Approximation uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1806.1.2 Meilleure approximation au sens des moindres carrs . . . . . . . . . . . . . . . . . 183

    6.2 Interpolation de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1846.2.1 Dnition du problme d'interpolation . . . . . . . . . . . . . . . . . . . . . . . . . 1846.2.2 Direntes reprsentations du polynme d'interpolation de Lagrange . . . . . . . . 185

    Forme de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Forme de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    v

  • Formes barycentriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190Algorithme de Neville . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

    6.2.3 Interpolation polynomiale d'une fonction . . . . . . . . . . . . . . . . . . . . . . . . 193Polynme d'interpolation de Lagrange d'une fonction . . . . . . . . . . . . . . . . 193Erreur d'interpolation polynomiale . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Quelques proprits des dirences divises associes une fonction . . . . . . . . 196Convergence des polynmes d'interpolation et exemple de Runge . . . . . . . . . . 197

    6.2.4 Gnralisations * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Interpolation de Hermite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201Interpolation de Birkho * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202

    6.3 Interpolation par morceaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2026.3.1 Interpolation de Lagrange par morceaux . . . . . . . . . . . . . . . . . . . . . . . . 2036.3.2 Interpolation par des fonctions splines . . . . . . . . . . . . . . . . . . . . . . . . . 203

    Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204Interpolation par une fonction spline linaire . . . . . . . . . . . . . . . . . . . . . 204Interpolation par une fonction spline cubique . . . . . . . . . . . . . . . . . . . . . 205

    6.4 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214

    7 Formules de quadrature 2177.1 Gnralits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2187.2 Formules de NewtonCotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2197.3 Estimations d'erreur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222

    7.3.1 Cas des formules de NewtonCotes . . . . . . . . . . . . . . . . . . . . . . . . . . . 2227.3.2 Reprsentation intgrale de l'erreur * . . . . . . . . . . . . . . . . . . . . . . . . . . 225

    7.4 Formules de quadrature composes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2267.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2267.4.2 Formules adaptatives ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230

    7.5 valuation d'intgrales sur un intervalle born de fonctions particulires ** . . . . . . . . 2317.5.1 Fonctions priodiques ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2317.5.2 Fonctions rapidement oscillantes ** . . . . . . . . . . . . . . . . . . . . . . . . . . . 231

    7.6 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    III quations direntielles et aux drives partielles 237

    8 Rsolution numrique des quations direntielles ordinaires 2418.1 Rappels sur les quations direntielles ordinaires * . . . . . . . . . . . . . . . . . . . . . . 241

    8.1.1 Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2428.1.2 Problme de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

    8.2 Exemples d'quations et de systmes direntiels ordinaires . . . . . . . . . . . . . . . . . 2468.2.1 Problme N corps en mcanique cleste . . . . . . . . . . . . . . . . . . . . . . . 2478.2.2 Modle de LotkaVolterra en dynamique des populations . . . . . . . . . . . . . . 2478.2.3 Oscillateur de van der Pol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2528.2.4 Modle SIR de KermackMcKendrick en pidmiologie . . . . . . . . . . . . . . . . 2528.2.5 Modle de Lorenz en mtorologie . . . . . . . . . . . . . . . . . . . . . . . . . . . 2558.2.6 Problme de Robertson en chimie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    8.3 Mthodes numriques de rsolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2578.3.1 La mthode d'Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2588.3.2 Mthodes de RungeKutta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261

    Construction d'une mthode de RungeKutta explicite pour une quation scalaire 262Mthodes de RungeKutta implicites . . . . . . . . . . . . . . . . . . . . . . . . . . 265

    8.3.3 Mthodes pas multiples linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . 271Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

    vi

  • Mthodes d'Adams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273Mthodes de Nystrm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276Gnralisations de la mthode de MilneSimpson . . . . . . . . . . . . . . . . . . . 277Mthodes utilisant des formules de direntiation rtrograde . . . . . . . . . . . . 277

    8.3.4 Mthodes bases sur des dveloppements de Taylor . . . . . . . . . . . . . . . . . . 2788.4 Analyse des mthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279

    8.4.1 Rappels sur les quations aux dirences linaires * . . . . . . . . . . . . . . . . . 2798.4.2 Ordre et consistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

    Cas des mthodes un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281Cas des mthodes pas multiples linaires * . . . . . . . . . . . . . . . . . . . . . 284

    8.4.3 Zro-stabilit * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Cas des mthodes un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Cas des mthodes pas multiples linaires . . . . . . . . . . . . . . . . . . . . . . . 288

    8.4.4 Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Cas des mthodes un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290Cas des mthodes pas multiples linaires . . . . . . . . . . . . . . . . . . . . . . . 291

    8.4.5 Stabilit absolue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293Cas des mthodes un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294Cas des mthodes pas multiples linaires * . . . . . . . . . . . . . . . . . . . . . 296

    8.4.6 Cas des systmes d'quations direntielles ordinaires . . . . . . . . . . . . . . . . 2998.5 Mthodes de prdiction-correction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3008.6 Techniques pour l'adaptation du pas de discrtisation . . . . . . . . . . . . . . . . . . . . 306

    8.6.1 Cas des mthodes un pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3078.6.2 Cas des mthodes pas multiples linaires * . . . . . . . . . . . . . . . . . . . . . 311

    8.7 Systmes raides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3118.7.1 Deux expriences numriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3128.7.2 Direntes notions de stabilit pour la rsolution des systmes raides * . . . . . . . 315

    8.8 Application la rsolution numrique de problmes aux limites ** . . . . . . . . . . . . . 3198.8.1 Dnition du problme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3198.8.2 Mthodes de tir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319

    8.9 Notes sur le chapitre * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322

    9 Rsolution numrique des quations direntielles stochastiques 3279.1 Rappels de calcul stochastique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328

    9.1.1 Processus stochastiques en temps continu . . . . . . . . . . . . . . . . . . . . . . . 3289.1.2 Filtrations et martingales * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3299.1.3 Processus de Wiener et mouvement brownien * . . . . . . . . . . . . . . . . . . . . 3309.1.4 Calcul stochastique d'Ito ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

    Intgrale stochastique d'Ito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334Formule d'Ito . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336Intgrale stochastique de Stratonovich . . . . . . . . . . . . . . . . . . . . . . . . . 337

    9.1.5 quations direntielles stochastiques * . . . . . . . . . . . . . . . . . . . . . . . . 3389.1.6 Dveloppements d'ItoTaylor * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339

    9.2 Exemples d'quations direntielles stochastiques . . . . . . . . . . . . . . . . . . . . . . . 3409.2.1 Exemple issu de la physique *** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3409.2.2 Modle de BlackScholes pour l'valuation des options en nance . . . . . . . . . . 340

    Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340Hypothses sur le march . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341Stratgie de portefeuille autonance . . . . . . . . . . . . . . . . . . . . . . . . . . 342Principe d'arbitrage et mesure de probabilit risque-neutre . . . . . . . . . . . . . 342Rplication et valuation de l'option . . . . . . . . . . . . . . . . . . . . . . . . . . 343Formule de BlackScholes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344Extensions et mthodes de Monte-Carlo . . . . . . . . . . . . . . . . . . . . . . . . 345

    vii

  • 9.2.3 Modle de Vasicek d'volution des taux d'intrts en nance ** . . . . . . . . . . . 3459.2.4 Quelques dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345

    9.3 Mthodes numriques de rsolution des quations direntielles stochastiques . . . . . . . 3469.3.1 Simulation numrique d'un processus de Wiener * . . . . . . . . . . . . . . . . . . 347

    Gnrateurs de nombres pseudo-alatoires . . . . . . . . . . . . . . . . . . . . . . . 347Approximation d'un processus de Wiener . . . . . . . . . . . . . . . . . . . . . . . 352

    9.3.2 Mthode d'EulerMaruyama . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3529.3.3 Direntes notions de convergence et de consistance . . . . . . . . . . . . . . . . . 3529.3.4 Stabilit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3559.3.5 Mthodes d'ordre plus lev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355

    Mthode de Milstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355Mthodes de RungeKutta stochastiques . . . . . . . . . . . . . . . . . . . . . . . 356Mthodes multipas stochastiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356

    9.4 Notes sur le chapitre . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

    10 Mthodes de rsolution des systmes hyperboliques de lois de conservation 36110.1 Gnralits sur les systmes hyperboliques . . . . . . . . . . . . . . . . . . . . . . . . . . . 36110.2 Exemples de systmes d'quations hyperboliques et de lois de conservation * . . . . . . . . 362

    10.2.1 quation d'advection linaire ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36310.2.2 Modle de trac routier * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36310.2.3 quation de Boltzmann en mcanique statistique ** . . . . . . . . . . . . . . . . . 36310.2.4 quation de Burgers pour la turbulence . . . . . . . . . . . . . . . . . . . . . . . . 36310.2.5 Systme des quations de la dynamique des gaz en description eulrienne . . . . . 36410.2.6 Systme de Saint-Venant ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36410.2.7 quation des ondes linaire * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36410.2.8 Systme des quations de Maxwell en lectromagntisme * . . . . . . . . . . . . . . 365

    10.3 Problme de Cauchy pour une loi de conservation scalaire . . . . . . . . . . . . . . . . . . 36510.3.1 Le cas linaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36610.3.2 Solutions classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36710.3.3 Solutions faibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36910.3.4 Solutions entropiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37310.3.5 Le problme de Riemann . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378

    10.4 Mthodes de discrtisation par dirences nies ** . . . . . . . . . . . . . . . . . . . . . . 38010.4.1 Principe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38110.4.2 Analyse des schmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383

    Convergence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387La condition de CourantFriedrichsLewy . . . . . . . . . . . . . . . . . . . . . . . 387

    10.4.3 Mthodes pour les quations hyperboliques linaires ** . . . . . . . . . . . . . . . 389Une premire mthode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389Mthode de LaxFriedrichs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389Schma dcentr amont . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390Mthode de LaxWendro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 391Autres schmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392Cas de l'quation des ondes *** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394

    10.4.4 Mthodes pour les lois de conservation non linaires . . . . . . . . . . . . . . . . . 394Extensions des schmas prcdemment introduits . . . . . . . . . . . . . . . . . . . 394Mthode de Godunov . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395mthode de MurmanRoe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Mthode d'EngquistOsher . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Autres schmas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    10.4.5 Analyse par des techniques variationnelles ** . . . . . . . . . . . . . . . . . . . . . 39610.4.6 Remarques sur l'implmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    10.5 Notes sur le chapitre ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396

    viii

  • Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

    11 Rsolution numrique des quations paraboliques 40111.1 Quelques exemples d'quations paraboliques * . . . . . . . . . . . . . . . . . . . . . . . . . 401

    11.1.1 Un modle de conduction thermique * . . . . . . . . . . . . . . . . . . . . . . . . . 40111.1.2 Retour sur le modle de BlackScholes * . . . . . . . . . . . . . . . . . . . . . . . . 40211.1.3 Systmes de raction-diusion ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40311.1.4 Systmes d'advection-raction-diusion ** . . . . . . . . . . . . . . . . . . . . . . . 404

    11.2 Existence et unicit d'une solution, proprits ** . . . . . . . . . . . . . . . . . . . . . . . 40411.3 Rsolution approche par la mthode des dirences nies . . . . . . . . . . . . . . . . . . 405

    11.3.1 Analyse des mthodes ** . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40511.3.2 Prsentation de quelques schmas ** . . . . . . . . . . . . . . . . . . . . . . . . . . 40611.3.3 Remarques sur l'implmentation de conditions aux limites ** . . . . . . . . . . . . 408

    Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408

    IV Annexes 409

    A Rappels et complments d'algbre 411A.1 Ensembles et applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411

    A.1.1 Gnralits sur les ensembles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411A.1.2 Relations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413A.1.3 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416A.1.4 Cardinalit, ensembles nis et innis . . . . . . . . . . . . . . . . . . . . . . . . . . 419

    A.2 Structures algbriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421A.2.1 Lois de composition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421A.2.2 Structures de base . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422

    Groupes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422Anneaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422Corps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423

    A.2.3 Structures oprateurs externes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423Espaces vectoriels * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423Algbres * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425

    A.3 Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425A.3.1 Oprations sur les matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427A.3.2 Liens entre applications linaires et matrices . . . . . . . . . . . . . . . . . . . . . 428A.3.3 Inverse d'une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430A.3.4 Trace et dterminant d'une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . 430A.3.5 Valeurs et vecteurs propres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433A.3.6 Quelques matrices particulires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434

    Matrices diagonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434Matrices triangulaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434Matrices bandes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434Matrices diagonale dominante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435Matrices symtriques et hermitiennes . . . . . . . . . . . . . . . . . . . . . . . . . . 435

    A.3.7 Matrices quivalentes et matrices semblables . . . . . . . . . . . . . . . . . . . . . 436A.3.8 Matrice associe une forme bilinaire ** . . . . . . . . . . . . . . . . . . . . . . . 437

    Forme bilinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437Matrice d'une forme bilinaire . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437Matrices congruentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437

    A.3.9 Diagonalisation des matrices * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438A.3.10 Dcomposition en valeurs singulires * . . . . . . . . . . . . . . . . . . . . . . . . . 438

    A.4 Normes et produits scalaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440A.4.1 Dnitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440A.4.2 Produits scalaires et normes vectoriels . . . . . . . . . . . . . . . . . . . . . . . . . 442

    ix

  • A.4.3 Normes de matrices * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445A.5 Systmes linaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451

    A.5.1 Systmes linaires carrs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452A.5.2 Systmes linaires sur ou sous-dtermins . . . . . . . . . . . . . . . . . . . . . . . 453A.5.3 Systmes linaires sous forme chelonne . . . . . . . . . . . . . . . . . . . . . . . . 453A.5.4 Conditionnement d'une matrice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454

    Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457

    B Rappels et complments d'analyse 459B.1 Nombres rels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

    B.1.1 Majorant et minorant . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 460B.1.2 Proprits des nombres rels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461

    Proprit d'Archimde . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Partie entire d'un nombre rel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Valeur absolue d'un nombre rel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 461Densit de Q et de R\Q dans R . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462

    B.1.3 Intervalles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462B.1.4 Droite numrique acheve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

    B.2 Suites numriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463B.2.1 Premires dnitions et proprits . . . . . . . . . . . . . . . . . . . . . . . . . . . 463

    Oprations sur les suites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464Suites relles monotones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464Suites extraites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464Suites de Cauchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

    B.2.2 Convergence d'une suite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465Suites adjacentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Proprits des suites convergentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 466Proprits algbriques des suites convergentes . . . . . . . . . . . . . . . . . . . . . 469

    B.2.3 Existence de limite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 471B.2.4 Quelques suites particulires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473

    Suites arithmtiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Suites gomtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473Suites arithmtico-gomtriques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474Suites dnies par rcurrence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474

    B.3 Fonctions d'une variable relle * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475B.3.1 Gnralits sur les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

    Oprations sur les fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475Relation d'ordre pour les fonctions relles . . . . . . . . . . . . . . . . . . . . . . . 475

    B.3.2 Proprits globales des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Parit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Priodicit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Monotonie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Majoration, minoration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476Convexit et concavit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477

    B.3.3 Limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477Limite d'une fonction en un point . . . . . . . . . . . . . . . . . . . . . . . . . . . 477Limite droite, limite gauche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 478Caractrisation squentielle de la limite . . . . . . . . . . . . . . . . . . . . . . . . 479Passage la limite dans une ingalit . . . . . . . . . . . . . . . . . . . . . . . . . 479Thorme d'encadrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479Oprations algbriques sur les limites . . . . . . . . . . . . . . . . . . . . . . . . . 480Composition des limites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482Cas des fonctions monotones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

    B.3.4 Continuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482

    x

  • Continuit en un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483Continuit droite, continuit gauche . . . . . . . . . . . . . . . . . . . . . . . . 483Caractrisation squentielle de la continuit . . . . . . . . . . . . . . . . . . . . . . 483Prolongement par continuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Continuit sur un intervalle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Continuit par morceaux . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484Oprations algbriques sur les applications continues . . . . . . . . . . . . . . . . . 484Thormes des bornes et des valeurs intermdiaires . . . . . . . . . . . . . . . . . . 485Application rciproque d'une application continue strictement monotone . . . . . . 486Continuit uniforme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486Applications lipschitziennes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487

    B.3.5 Drivabilit * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488Drivabilit en un point . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488Proprits algbriques des fonctions drivables en un point . . . . . . . . . . . . . 489Drive d'une compose de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . 489Drive d'une fonction rciproque . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489Application drive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490Drives successives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490Extrema locaux d'une fonction relle drivable . . . . . . . . . . . . . . . . . . . . 491Rgle de L'Hpital . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492Thorme de Rolle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492Thorme des accroissements nis . . . . . . . . . . . . . . . . . . . . . . . . . . . 493Sens de variation d'une fonction drivable . . . . . . . . . . . . . . . . . . . . . . . 493Formules de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494

    B.4 Intgrales * . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495B.4.1 Intgrabilit au sens de Riemann * . . . . . . . . . . . . . . . . . . . . . . . . . . . 495B.4.2 Classes de fonctions intgrables * . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497B.4.3 Thorme fondamental de l'analyse et intgration par parties ** . . . . . . . . . . 498B.4.4 Formules de la moyenne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498

    Rfrences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499

    Index 501

    xi

  • Chapitre 1

    Gnralits sur l'analyse numrique etle calcul scientique

    L'analyse numrique (numerical analysis en anglais) est une branche des mathmatiques appliquess'intressant au dveloppement d'outils et de mthodes numriques pour le calcul d'approximations desolutions de problmes de mathmatiques 1 qu'il serait dicile, voire impossible, d'obtenir par des moyensanalytiques 2. Son objectif est notamment d'introduire des procdures calculatoires dtailles susceptiblesd'tre mises en uvre par des calculateurs (lectroniques, mcaniques ou humains) et d'analyser leurscaractristiques et leurs performances. Elle possde des liens troits avec deux disciplines la croise desmathmatiques et de l'informatique. La premire est l'analyse des algorithmes (analysis of algorithmsen anglais), elle-mme une branche de la thorie de la complexit 3 (computational complexity theoryen anglais), qui fournit une mesure de l'ecacit d'une mthode en quantiant le nombre d'oprationslmentaires 4, ou parfois la quantit de ressources informatiques (comme le temps de calcul, le besoin enmmoire...), qu'elle requiert pour la rsolution d'un problme donn. La seconde est le calcul scientique(scientic computing en anglais), qui consiste en l'tude de l'implmentation de mthodes numriquesdans des architectures d'ordinateurs et leur application la rsolution eective de problmes issus de laphysique, de la biologie, des sciences de l'ingnieur ou encore de l'conomie et de la nance.

    Si l'introduction et l'utilisation de mthodes numriques prcdent de plusieurs sicles l'avnementdes ordinateurs 5, c'est nanmoins avec l'apparition de ces outils modernes, vers la n des annes 1940 etle dbut des annes 1950, que le calcul scientique connut un essor sans prcdent et que l'analyse num-rique devint une domaine part entire des mathmatiques. La possibilit d'eectuer un grand nombred'oprations arithmtiques trs rapidement et simplement ouvrit en eet la voie au dveloppement de nouvelles classes de mthodes ncessitant d'tre rigoureusement analyses pour s'assurer de l'exacti-tude et de la pertinence des rsultats qu'elles fournissent. ce titre, les travaux pionniers de Turing 6,

    1. Les problmes considrs peuvent virtuellement provenir de tous les domaines d'tude des mathmatiques pures ouappliques. La thorie des nombres, la combinatoire, les algbres abstraite et linaire, la gomtrie, les analyses relle etcomplexe, la thorie de l'approximation et l'optimisation, pour ne citer qu'elles, possdent toutes des aspects calculatoires.Sont ainsi couramment traites numriquement l'valuation d'une fonction en un point, le calcul d'intgrales, ou encore larsolution d'quations, ou de systmes d'quations, algbriques, transcendantes, direntielles ordinaires ou aux drivespartielles (dterministes ou stochastiques), de problmes aux valeurs et vecteurs propres, d'interpolation ou d'optimisation(avec ou sans contraintes).

    2. Pour complter cette premire dnition, on ne peut que recommander la lecture de l'essai de L. N. Trefethen intitulThe denition of numerical analysis, publi dans la revue SIAM News en novembre 1992 et reproduit par la suite dans uneannexe de l'ouvrage [Tre00].

    3. Cette branche des mathmatiques et de l'informatique thorique s'attache connatre la dicult intrinsque d'unerponse algorithmique un problme pos de faon mathmatique et dnir en consquence une classe de complexitpour ce problme.

    4. La notion d' opration lmentaire est ici laisse ncessairement oue et entendue un sens plus large que celui qu'onlui attribue habituellement en arithmtique.

    5. Le lecteur intress est renvoy l'ouvrage de Goldstine [Gol77], qui retrace une grande partie des dveloppementsde l'analyse numrique en Europe entre le seizime et le dix-neuvime sicle.

    6. Alan Mathison Turing (23 juin 1912 - 7 juin 1954) tait un mathmaticien et informaticien anglais, spcialiste dela logique et de la cryptanalyse. Il est l'auteur d'un article fondateur de la science informatique, dans lequel il formalisa

    1

  • CHAPITRE 1. GNRALITS SUR L'ANALYSE NUMRIQUE ET LE CALCUL SCIENTIFIQUE

    avec notamment l'article [Tur48] sur l'analyse des eets des erreurs d'arrondi sur la factorisation LU, etde Wilkinson 7, dont on peut citer l'ouvrage [Wil94] initialement publi en 1963, constituent deux despremiers exemples d'une longue succession de contributions sur le sujet.

    Dans ce premier chapitre, nous revenons sur plusieurs principes qui, bien que n'ayant a priori pastoujours de rapport direct avec les mthodes numriques, interviennent de manire fondamentale dansleur mise en uvre et leur application la rsolution de problmes.

    1.1 Direntes sources d'erreur dans une mthode numrique

    Les solutions de problmes calcules par une mthode numrique sont aectes par des erreurs quel'on peut principalement classer en trois catgories :

    les erreurs d'arrondi dans les oprations arithmtiques, qui proviennent des erreurs de reprsenta-tion dues au fait que tout calculateur travaille en prcision nie, c'est--dire dans un sous-ensemblediscret du corps des rels R, l'arithmtique naturelle tant alors approche par une arithmtique denombres virgule ottante (voir la section 1.3), les erreurs sur les donnes, imputables une connaissance imparfaite des donnes du problmeque l'on cherche rsoudre, comme lorsqu'elles sont issues de mesures physiques soumises descontraintes exprimentales, les erreurs de troncature, d'approximation ou de discrtisation, introduites par les schmas de rso-lution numrique utiliss, comme le fait de tronquer le dveloppement en srie inni d'une solutionanalytique pour permettre son valuation, d'arrter d'un processus itratif ds qu'un itr satisfaitun critre donn avec une tolrance prescrite, ou encore d'approcher la solution d'une quation auxdrives partielles en un nombre ni de points.

    On peut galement envisager d'ajouter cette liste les erreurs qualies d' humaines , telles leserreurs de programmation, ou causes par des dysfonctionnements des machines ralisant les calculs 8.

    Le prsent chapitre est en grande partie consacr aux erreurs d'arrondi, aux mcanismes qui en sont l'origine, leur propagation, ainsi qu' l'analyse de leurs eets sur le rsultat d'une suite de calculs.L'tude des erreurs de troncature, d'approximation ou de discrtisation constitue pour sa part un autresujet majeur trait par l'analyse numrique. Elle sera aborde plusieurs reprises dans ce cours, lors del'tude de diverses mthodes itratives (chapitres 3, 4 et 5), de techniques d'interpolation polynomiale(chapitre 6) ou de formules de quadrature (chapitre 7).

    Pour mesurer l'erreur entre la solution fournie par une mthode numrique et la solution du problmeque l'on cherche rsoudre (on parle encore d'estimer la prcision de la mthode), on introduit les notionsd'erreur absolue et relative.

    Dnition 1.1 Soit x une approximation d'un nombre rel x. On dnit l'erreur absolue entre cesdeux scalaires par

    |x x| ,

    et, lorsque x est non nul, l'erreur relative par

    |x x||x|

    .

    De ces deux quantits, c'est souvent la seconde que l'on privilgie pour valuer la prcision d'unrsultat, en raison de son invariance par changement d'chelle : la mise l'chelle x x et x x, 6= 0, laisse en eet l'erreur relative inchange.

    les notions d'algorithme et de calculabilit et introduisit le concept d'un calculateur universel programmable, la fameuse machine de Turing , qui joua un rle majeur dans la cration des ordinateurs.

    7. James Hardy Wilkinson (27 septembre 1919 - 5 octobre 1986) tait un mathmaticien anglais. Il fut l'un des pionniers,et demeure une grande gure, de l'analyse numrique.

    8. Il a t fait grand cas du bogue de division de l'unit de calcul en virgule ottante du fameux processeur PentiumR

    d'IntelR, dcouvert peu aprs le lancement de ce dernier sur le march en 1994. En ralisant des tests informatiques pour sesrecherches sur les nombres premiers, Thomas Nicely, de l'universit de Lynchburg (Virginie, USA), constata que la divisionde 1 par 824633702441 renvoyait un rsultat erron. Il apparut plus tard que cette erreur tait due l'algorithme de divisionimplant sur le microprocesseur. Pour plus de dtails, on pourra consulter [Ede97].

    2

  • 1.2. QUELQUES NOTIONS D'ALGORITHMIQUE

    Notons que ces dnitions se gnralisent de manire immdiate des variables vectorielles ou ma-tricielles en substituant des normes aux valeurs absolues (on parle de normwise errors en anglais). Parexemple, pour des vecteurs x et x de Rn, on a ainsi l'expression x x pour l'erreur absolue etx x/x pour l'erreur relative, o dsigne une norme vectorielle donne. Dans ces derniers cas,les erreurs sont galement couramment values par composante ou par lment (componentwise errors enanglais) dans le cadre de l'analyse de sensibilit et de l'analyse d'erreur (voir respectivement les sections1.4 et 1.5). Pour des vecteurs x et x de Rn, une mesure de l'erreur relative par composante est

    max1in

    |xi xi||xi|

    .

    1.2 Quelques notions d'algorithmique

    Une mthode numrique repose sur l'emploi d'un (ou de plusieurs) algorithme(s) (algorithm(s) enanglais), notion ancienne, apparue bien avant les premiers ordinateurs, avec laquelle le lecteur est peut-tre dj familier et que nous abordons plus en dtail ci-aprs.

    1.2.1 Algorithme

    De manire informelle, on peut dnir un algorithme comme un nonc dcrivant, l'aide d'un en-chanement dtermin d'oprations lmentaires (par exemple arithmtiques ou logiques), une dmarchesystmatique permettant la rsolution d'un problme donn en un nombre ni ou inni 9 d'tapes.

    Un exemple d'algorithme : l'algorithme d'Euclide. Dcrit dans le septime livre des lments d'Eu-clide 10, cet algorithme permet de dterminer le plus grand commun diviseur de deux entiers naturels. Il est bassur la proprit suivante : on suppose que a b et on note r le reste de la division euclidienne de a par b ; alors leplus grand commun diviseur de a et b est le plus grand commun diviseur de b et r. En pratique, on divise le plusgrand des deux nombres entiers par le plus petit, puis le plus petit des deux par le reste de la premire divisioneuclidienne. On rpte ensuite le procd jusqu' ce que le reste de la division, qui diminue sans cesse, deviennenul. Le plus grand commun diviseur cherch est alors le dernier reste non nul (ou le premier diviseur, si le premierreste est nul).

    La description d'un algorithme fait intervenir direntes structures algorithmiques, qui peuvent tredes structures de contrle (control structures en anglais) relatives l'enchanement des oprations l-mentaires (comme des instructions d'aectation ou conditionnelles, des boucles, des appels de fonctions,des commandes de saut, de sortie ou d'arrt, etc...), ou bien des structures de donnes (data structures enanglais), qui vont contenir et organiser les donnes (sous forme de listes, de tableaux, d'arbres, de pilesou de les selon le problme considr) an d'en permettre un traitement ecace.

    Un algorithme est dit squentiel (sequential en anglais) lorsque les instructions qui le forment sontexcutes les unes aprs les autres. Il est dit parallle (parallel en anglais) lorsqu'elles s'excutent concur-remment. D'autre part, un algorithme exploitant des tches s'excutant plusieurs units de calcul reliespar un rseau de communication est dit rparti ou distribu (distributed en anglais).

    On dnombre trois principaux paradigmes prsidant la stratgie mise en uvre dans un algorithmepour la rsolution d'un problme. Tout d'abord, le principe diviser pour rgner (divide and conquer enanglais) consiste scinder le problme en sous-problmes de mme nature mais dont les donnes sont detaille plus petite, puis rsoudre ces sous-problmes, pour combiner les rsultats obtenus et construireune solution au problme pos. Il implique une approche rcursive de la rsolution du problme considr.

    9. D'un point de vue pratique, c'est--dire pour tre utilis par le biais d'un programme informatique, un algorithme doitncessairement s'achever aprs avoir eectu un nombre ni d'oprations. Dans un contexte abstrait cependant, le nombred'oprations ralises peut tre inni, tout en restant dnombrable.10. Euclide (Eukledhc en grec, v. 325 avant J.-C. - v. 265 avant J.-C.) tait un mathmaticien de la Grce antique ayant

    probablement vcu en Afrique. Il est l'auteur des lments, un trait de mathmatiques et de gomtrie qui est considrcomme l'un des textes fondateurs des mathmatiques modernes.

    3

  • CHAPITRE 1. GNRALITS SUR L'ANALYSE NUMRIQUE ET LE CALCUL SCIENTIFIQUE

    La programmation dynamique (dynamic programming en anglais), introduite dans les annes 1940 et1950 par Bellman 11, possde aussi le caractre rcursif de la prcdente stratgie, tout en palliant undfaut majeur de cette dernire, conduisant dans certains cas rsoudre plusieurs fois des sous-problmesidentiques. Pour ce faire, une fois obtenue la solution d'un sous-problme, celle-ci est mmorise (onparle de mmosation, du mot anglais memoization) de manire tre simplement rappele chaque foisque le sous-problme sera de nouveau rencontr, vitant ainsi un recalcul.

    Enn, l'approche gloutonne (greedy en anglais), destine la rsolution de problmes d'optimisation,vise construire une solution en faisant une suite de choix qui sont chacuns localement optimaux.

    1.2.2 Codage

    Le codage (on utilise aussi souvent l'anglicisme implmentation) d'un algorithme consiste en l'criturede la suite d'oprations lmentaires le composant dans un langage de programmation. Une premire tapeen vue de cette tche est d'crire l'algorithme en pseudo-code, c'est--dire d'en donner une descriptioncompacte et informelle qui utilise les conventions structurelles des langages de programmation 12 tout ens'aranchissant de certains dtails techniques non essentiels la bonne comprhension de l'algorithme,tels que la syntaxe, les dclarations de variables, le passage d'arguments lors des appels des fonctions oudes routines externes, etc... ce titre, les algorithmes 1 et 2 ci-aprs proposent deux manires de calculerun produit de matrices rectangulaires compatibles.

    Algorithme 1 : Algorithme pour le calcul du produit C = AB des matrices A de Mm,p(R) et Bde Mp,n(R) (version ijk ).Entres : les tableaux contenant les matrices A et B.Output : le tableau contenant la matrice C.pour i = 1 m faire

    pour j = 1 n faireC(i, j) = 0pour k = 1 p faire

    C(i, j) = C(i, j) +A(i, k) B(k, j)n

    nn

    Pour chaque problme pos de faon mathmatique, il peut exister plusieurs algorithmes le rsolvant.Certains se distinguent par la nature et/ou le nombre des oprations lmentaires qui les constituent, alorsque d'autres vont au contraire eectuer strictement les mmes oprations lmentaires en ne dirant quepar la faon d'enchaner ces dernires. An d'illustrer ce dernier point, comparons les algorithmes 1 et2. On remarque tout d'abord qu'ils ne se direncient que par l'ordre de leurs boucles, ce qui ne changevidemment rien au rsultat obtenu. D'un point de vue informatique cependant, on voit qu'on accdeaux lments des matrices A et B selon leurs lignes ou leurs colonnes, ce qui ne se fait pas la mmevitesse selon la manire dont les matrices sont stockes dans la mmoire. En particulier, la boucle internede l'algorithme 1 correspond un produit scalaire entre une ligne de la matrice A et une colonne de lamatrice B. Dans chacun de ces deux algorithmes prsents, on peut encore modier l'ordre des boucle eni et j pour obtenir d'autres implmentations parmi les six qu'il est possible de raliser.

    1.2.3 Ecacit et complexit

    Tout calculateur est soumis des limitations physiques touchant sa capacit de calcul, c'est--dire le nombre maximal d'oprations lmentaires, arithmtiques ou logiques, pouvant tre eectues chaque seconde 13, ainsi qu' la mmoire disponible, c'est--dire la quantit d'information disposition

    11. Richard Ernest Bellman (26 aot 1920 - 19 mars 1984) tait un mathmaticien amricain. Il est l'inventeur de laprogrammation dynamique et t de nombreuses contributions aux thories de la dcision et du contrle optimal.12. On notera en particulier que le signe = en pseudo-code ne reprsente pas l'galit mathmatique, mais l'aectation

    de la valeur d'une variable une autre.13. On admet implicitement dans la suite qu'une opration lmentaire s'eectue en un temps constant.

    4

  • 1.2. QUELQUES NOTIONS D'ALGORITHMIQUE

    Algorithme 2 : Algorithme pour le calcul du produit C = AB des matrices A de Mm,p(R) et Bde Mp,n(R) (version kij ).Entres : les tableaux contenant les matrices A et B.Output : le tableau contenant la matrice C.pour i = 1 m faire

    pour j = 1 n faireC(i, j) = 0

    nnpour k = 1 p faire

    pour i = 1 m fairepour j = 1 n faire

    C(i, j) = C(i, j) +A(i, k) B(k, j)n

    nn

    ou laquelle il est possible d'accder tout moment en un temps raisonnable. Typiquement, le tempsd'excution d'un algorithme mis en uvre sur une machine informatique pour la rsolution d'un problmedpendra : de la qualit du codage de l'algorithme dans un langage de programmation et de l'optimisation ducode en langage machine du programme excutable gnr par le compilateur partir de l'analysedu code source, de l'organisation et de l'architecture des units de calcul, ainsi que de la rpartition de la mmoirede la machine, des donnes du problme, de la complexit de l'algorithme.Pour mesurer l'ecacit d'un algorithme en s'aranchissant des facteurs matriels et de l'instance

    du problme considr, on a coutume d'utiliser sa seule complexit. Celle-ci est le plus souvent donnepar le nombre d'oprations de base que l'on doit eectuer (on parle alors de complexit temporelle) et laquantit de mmoire requise (on parle dans ce cas de complexit spatiale) pour rsoudre un problme dontles donnes sont de taille xe. videmment, le type des oprations de base peut varier d'un problme l'autre ; par exemple, ce seront essentiellement des oprations arithmtiques (addition, soustraction,multiplication, division, etc...) pour des applications en calcul scientique, mais, comme pour un tri dedonnes, il pourra aussi s'agir d'une comparaison ou d'un dplacement d'lments. De la mme manire,la mesure de la taille des donnes doit reter la quantit, la nature et la structure de l'informationmanipule. Par exemple, pour des oprations sur les matrices, on emploie le (ou les) entier(s) donnantla taille des matrices en jeu ; dans le cas d'un graphe, ce sont les nombres de sommets ou de nuds etd'artes ou d'arcs que l'on utilise.

    Dans la suite, nous ne nous intressons qu' la complexit temporelle des algorithmes, que nousdsignons par la fonction T . Nous supposons pour simplier que la taille des donnes est reprsente parun unique entier naturel n et que la complexit de l'algorithme tudi est une fonction de n, ayant pourvaleur le nombre d'oprations lmentaires eectues, sans que l'on direncie ces dernires 14.

    Analyse de complexit du calcul du produit de deux matrices carres. On considre l'valuationdu produit de deux matrices d'ordre n coecients dans un anneau, R par exemple. Pour le raliser, on a a priori,c'est--dire en utilisant la dnition (A.1), besoin de n3 multiplications et n2(n 1) additions, soit 2n3 n2oprations arithmtiques. Par exemple, dans le cas de matrices d'ordre 2,(

    c11 c12c21 c22

    )=

    (a11 a12a21 a22

    )(b11 b12b21 b22

    ), (1.1)

    14. En pratique cependant, et bien que cela varie avec l'unit de calcul employe, on s'accorde considrer que le cotd'une addition quivaut celui d'une soustraction, et qu'une addition est moins coteuse qu'une multiplication, qui estelle-mme moins coteuse qu'une division.

    5

  • CHAPITRE 1. GNRALITS SUR L'ANALYSE NUMRIQUE ET LE CALCUL SCIENTIFIQUE

    il faut ainsi faire huit multiplications et quatre additions. Plus explicitement, on a

    c11 = a11b11 + a12b21, c12 = a11b12 + a12b22,c21 = a21b11 + a22b21, c22 = a21b12 + a22b22.

    Il est cependant possible d'eectuer le produit (1.1) avec moins de multiplications. En eet, en faisant appelaux formules dcouvertes par Strassen 15 en 1969, qui consistent en l'introduction des quantits

    q1 = (a11 + a22)(b11 + b22),q2 = (a21 + a22)b11,q3 = a11(b12 b22),q4 = a22(b11 + b21),q5 = (a11 + a12)b22,q6 = (a11 + a21)(b11 + b12),q7 = (a12 a22)(b21 + b22),

    telles quec11 = q1 + q4 q5 + q7, c12 = q3 + q5,c21 = q2 + q4, c22 = q1 q2 + q3 + q6,

    on utilise sept multiplications et dix-huit additions et soustractions.Cette construction ne dpendant pas du fait que les lments multiplis commutent entre eux ou non, on peut

    l'appliquer des matrices dcomposes par blocs. Ainsi, si A, B et C sont des matrices d'ordre n, avec n un entierpair, partitionnes en blocs d'ordre n

    2,(C11 C12C21 C22

    )=

    (A11 A12A21 A22

    )(B11 B12B21 B22

    ),

    les blocs Cij , 1 i, j 2, du produit C peuvent tre calculs comme prcdemment, en substituant aux coecientsles blocs correspondant. L'algorithme de Strassen [Str69] consiste appliquer rcursivement ce procd jusqu' ceque les blocs soient des scalaires, selon une stratgie de type diviser pour rgner. Pour cela, il faut que l'entier nsoit une puissance de 2, cas auquel on peut toujours se ramener en ajoutant des colonnes et des lignes de zros auxmatrices A, B et C. Pour des matrices d'ordre n = 2m, m N, le nombre T (n) de multiplications et d'additionsrequises par l'algorithme de Strassen vrie

    T (n) = T (2m) = 7T (2m1) + 18 (2m1)2,

    la somme de deux matrices d'ordre n ncessitant n2 additions. Un raisonnement par rcurrence montre alors que

    T (2m) = 7m T (1) + 18

    m1k=0

    7k4mk1 7m(T (1) + 6),

    dont on dduit queT (n) C nlog2(7),

    avec C une constante strictement positive 16 et log2(7) 2, 807.En pratique, la constante C fait que cette technique de multiplication n'est avantageuse que pour une valeur

    de n susamment grande, qui dpend par ailleurs du codage et de l'architecture de l'unit de calcul utilise,principalement en raison du caractre rcursif de l'algorithme qui implique le stockage de sous-matrices. D'autrepart, le prix payer pour la diminution asymptotique du nombre d'oprations est une stabilit numrique bienmoindre que celle de la mthode standard de multiplication. Sur ce point particulier, on pourra consulterl'article [Hig90].

    L'exemple prcdent montre que la question de la complexit d'un algorithme revt toute son impor-tance lorsque la taille des donnes est trs grande. C'est donc le comportement asymptotique de cettequantit qu'il convient de dterminer et l'on peut par consquent simplier l'analyse en ne s'intres-sant qu'au terme dominant (relativement n) dans l'expression de la fonction T (n). Ce terme xe ce

    15. Volker Strassen (n le 29 avril 1936) est un mathmaticien allemand. Il est clbre pour ses travaux sur la complexitalgorithmique, avec l'algorithme de Strassen pour la multiplication rapide de matrices carres et l'algorithme de SchnhageStrassen pour la multiplication rapide de grands entiers, et en thorie algorithmique des nombres, avec le test de primalitde SolovayStrassen.16. Dans [Str69], il est tabli que T (n) 4, 7nlog2(7).

    6

  • 1.2. QUELQUES NOTIONS D'ALGORITHMIQUE

    qu'on nomme l'ordre de croissance (order of growth en anglais) du cot de l'algorithme en fonction dela taille des donnes du problme. On fait alors appel aux notations de Bachmann 17Landau 18 [Bac94,Lan09], provenant de la comparaison asymptotique, pour caractriser la complexit d'un algorithme. Plusprcisment, tant donn une fonction f valeurs positives dnie sur N, on crit que (voir [Knu76]) : T (n) O(f(n)) s'il existe une constante C strictement positive et un entier n0 tels que, pour toutn > n0, T (n) C f(n), T (n) (f(n)) s'il existe une constante C strictement positive et un entier n0 tels que, pour toutn > n0, C f(n) T (n) (on notera que cette dnition dire de celle 19 de l'article [HL14], danslequel le symbole fut introduit, qui a cours en thorie des nombres), T (n) (f(n)) s'il existe deux constantes C1 et C2 strictement positives et un entier n0 tels que,pour tout n > n0, C1 f(n) T (n) C2 f(n).

    On pourra remarquer que chacune de ces notations ignore la constante en facteur du terme domi-nant (parfois appele la constante d'ordre), celle-ci jouant un rle bien moins signicatif que l'ordre decroissance si la taille des donnes est susamment grande. En pratique, la notation O() est la pluscommunment utilise, la notation () la remplaant lorsque l'on a besoin d'une estimation plus prcise.

    Par ailleurs, pour certains problmes et certains algorithmes, la complexit peut dpendre non seule-ment de la taille des donnes, mais galement des donnes elles-mmes. Lorsque c'est le cas, l'analyseprend direntes formes, selon que l'on considre la complexit dans le meilleur des cas, c'est--dire pour une conguration faisant qu'elle est la plus petite possible, dans le pire des cas, c'est--dire pour une conguration faisant qu'elle est la plus grande possible, en moyenne, ce qui ncessite de la dnir au travers d'un modle probabiliste de distribution desdonnes, mais permet en contrepartie de caractriser un comportement en quelques sorte gn-rique de l'algorithme par rapport aux donnes.

    Analyse de complexit du tri rapide. Le tri rapide (quicksort en anglais) est un algorithme de tri enplace de liste invent par Tony Hoare 20 [Hoa61a, Hoa61b, Hoa62] et fond sur le principe diviser pour rgner. Ilconsiste, partir du choix arbitraire d'un lment appel pivot, en un rarrangement de toute liste donne en deuxsous-listes contenant respectivement les lments infrieurs (placs gauche) et suprieurs 21 (placs droite) aupivot. Cette opration, dite de partitionnement, est alors applique rcursivement jusqu' ce que la liste soit trie,c'est--dire que les sous-listes courantes contiennent un ou aucun lment. chaque tape, un choix de pivotpossible est celui du premier (ou dernier) lment de la liste trier.

    Conduisons une analyse de la complexit du tri rapide pour une liste possdant n lments. Pour cela, re-marquons que l'tape de partitionnement applique une (sous-)liste contenant k lments trier, k = 2, . . . , n,entrane k 1 comparaisons et un certain nombre de permutations, induisant un cot linaire en l'entier k, etsupposons que T (1) = T (0) = 1.

    Considrons tout d'abord le pire des cas, c'est- dire celui pour lequel chaque choix de pivot scinde une listede k lments en une sous-liste contenant k1 lments et une autre n'en contenant aucun (en choisissant commepivot le premier ou dernier lment, ceci correspond au cas d'une liste dj trie, le pivot tant alors le plus petitou le plus grand lments de chaque sous-liste contenant au moins deux lments). Il en dcoule que

    T (n) = T (0) + T (n 1) +C n = 2T (0) + T (n 2) +C (n 1 + n) = 3T (0) + T (n 3) +C (n 2 + n 1 + n)

    = = nT (0) + Cn2k=0

    (n k),

    d'o

    T (n) = nT (0) + C

    (n(n 2) 1

    2(n 1)(n 2)

    )=C

    2n2 +

    (1 C

    2

    )n C.

    17. Paul Gustav Heinrich Bachmann (22 juin 1837 - 31 mars 1920) tait un mathmaticien allemand qui s'intressaprincipalement la thorie des nombres.18. Edmund Georg Hermann Landau (14 fvrier 1877 - 19 fvrier 1938) tait un mathmaticien allemand qui travailla

    dans les domaines de la thorie des nombres et de l'analyse complexe.19. Cette dnition originelle est T (n) (f(n)) si s'il existe une constante C strictement positive telle que pour tout

    entier naturel n0, il existe un entier n > n0 tel que C f(n) T (n).20. Charles Antony Richard Hoare (gnralement appel Tony Hoare ou C. A. R. Hoare, n le 11 janvier 1934) est un

    informaticien anglais. Il inventa en 1960 un algorithme de tri rapide encore trs utilis et fut le premier avoir crit uncompilateur complet pour le langage Algol 60. Il est aussi l'origine de la logique de Hoare, qui sert la vrication desprogrammes, et d'un langage formel permettant de spcier l'interaction de processus concurrents.21. En cas d'galit avec le pivot, on peut placer l'lment dans l'une ou l'autre des sous-listes.

    7

  • CHAPITRE 1. GNRALITS SUR L'ANALYSE NUMRIQUE ET LE CALCUL SCIENTIFIQUE

    La complexit de l'algorithme dans ce cas est donc en O(n2).Dans le meilleur des cas, chaque choix de pivot partage chaque liste en deux sous-listes contenant approxima-

    tivement le mme nombre d'lements, c'est--dire

    T (n) = 2T(n

    2

    )+ C n = = 2k T (1) + Cmn,

    avec n = 2m, m N. On trouve par consquent

    T (n) = nT (1) +C

    ln(2)n ln(n),

    et la complexit est en O(n ln(n)).Enn, pour l'analyse de complexit en moyenne, faisons l'hypothse que le choix de pivot renvoie avec la mme

    probabilit n'importe quelle valeur prsente dans la liste trier. Il vient alors

    T (n) = C n+1

    n

    nk=1

    (T (k 1) + T (n k)) = C n+ 2n

    nk=1

    T (k 1),

    soit encore

    nT (n) = C n2 + 2

    nk=1

    T (k 1).

    Pour n > 1, on a aussi

    (n 1)T (n 1) = C (n 1)2 + 2n1k=1

    T (k 1),

    et, par soustraction,nT (n) = (n+ 1)T (n 1) + C (2n 1),

    d'oT (n)

    n+ 1=T (n 1)

    n+C (2n 1)n(n+ 1)

    .

    On arrive T (n)

    n+ 1=T (n 2)n 1 + C

    (2n 3)(n 1)n +

    2n 1n(n+ 1)

    )= = T (1)

    2+ C

    nk=2

    2k 1k(k + 1)

    ,

    d'oT (n)

    n+2C n ln(n).

    La complexit est l encore en O(n ln(n)).

    Bien que l'algorithme de tri rapide possde une complexit en O(n2) dans le pire des cas, ce comportementest rarement observ en pratique, le pivot pouvant tre choisi alatoirement (selon une loi uniforme) de faon viter les problmes lis aux listes dj presque tries.

    Indiquons qu'un autre algorithme de tri ecace est celui du tri par tas (heapsort en anglais) [Wil64], dont lacomplexit dans le pire des cas est en O(n ln(n)).

    On dit que la complexit d'un algorithme est constante si elle est borne par une constante, qu'elleest linaire si elle est en O(n), quadratique (et plus gnralement polynomiale) si elle est en O(n2) (enO(np) pour un certain entier strictement positif p) et exponentielle si elle est en O(2n

    p

    ) pour un certainentier strictement positif p. On estime qu'un algorithme est praticable si sa complexit est polynomiale.

    On considre gnralement qu'un algorithme est plus ecace qu'un autre pour la rsolution d'unproblme si sa complexit dans le pire des cas est d'ordre de croissance moindre. Bien entendu, en raisonde la constante d'ordre et de la prsence de termes non dominants dans l'expression de la fonction decomplexit, ce jugement peut tre erron pour des donnes de petite taille, mais il sera toujours vrai pourdes donnes de taille susamment grande.

    On terminera en indiquant que l'analyse de complexit du (ou des) algorithme(s) qui la compose(nt)est une partie importante de l'tude d'une mthode numrique, la recherche dans ce domaine consistanten la conception de moyens de rsolution ecaces.

    8

  • 1.3. ARITHMTIQUE VIRGULE FLOTTANTE

    1.3 Arithmtique virgule ottante

    La mise en uvre d'une mthode numrique sur une machine amne un certain nombre de dicultsd'ordre pratique, qui sont principalement lies la ncessaire reprsentation approche des nombres relsen mmoire. Avant de dcrire plusieurs des particularits de l'arithmtique virgule ottante en usagesur la majorit des ordinateurs et calculateurs actuels, les principes de reprsentation des nombres relset de leur stockage en machine sont rappels. Une brve prsentation du modle d'arithmtique virguleottante le plus en usage actuellement, la norme IEEE 754, clt la section.

    1.3.1 Systme de numration

    Les nombres rels sont les lments d'un corps archimdien complet totalement ordonn 22 not R,constitu de nombres dits rationnels, comme 76 ou 43 , et de nombres dits irrationnels, comme

    2 ou .

    On peut les reprsenter grce un systme de numration positionnel relatif au choix d'une base (baseou encore radix en anglais) , N, 2, en utilisant que

    x R x = sq

    i=pbi

    i, (1.2)

    o s est le signe de x (s = 1), p N {+}, q N et les coecients bi, p i q, prennent leursvaleurs dans l'ensemble {0, . . . , 1}. On crit alors 23 conventionnellement

    x = s bqbq1 . . . b0, b1 . . . bp , (1.3)

    o la virgule 24 est le sparateur entre la partie entire et la partie fractionnaire du rel x, l'indice nalprcisant simplement que la reprsentation du nombre est faite relativement la base . Le systme denumration est dit positionnel au sens o la position du chire bi, p i q, par rapport au sparateurindique par quelle puissance de l'entier il est multipli dans le dveloppement (1.2). Lorsque = 10, ona aaire au systme de numration dcimal communment employ, puisque l'on manipule gnralementles nombres rels en utilisant implicitement leur reprsentation dcimale (d'o l'omission de l'indice nal).En pratique cependant, le choix = 2, donnant lieu au systme binaire, est le plus courant 25. Dans cedernier cas, les coecients bi, p i q, du dveloppement (1.2) peuvent prendre les valeurs 0 et 1 etsont appels chires binaires, de l'anglais binary digits dont l'abbrviation est le mot bits.

    Le dveloppement (1.2) peut possder une innit de termes non triviaux, c'est notamment le caspour les nombres irrationnels, et la reprsentation (1.3) lui correspondant est alors qualie d'innie.Une telle reprsentation ne pouvant tre crite, on a coutume d'indiquer les chires omis par des pointsde suspension, par exemple

    = 3, 14159265358979323846 . . .10 .

    Par ailleurs, la reprsentation d'un nombre rationnel dans une base donne est dite priodique lorsquel'criture contient un bloc de chires se rptant l'inni. On a, par exemple,

    1

    3= 0, 333333333333 . . .10 ,

    1

    7= 0, 142857142857 . . .10 ,

    7

    12= 0, 583333333333 . . .10 .

    Il est possible de noter cette rptition de chires l'inni en plaant des points de suspension aprsplusieurs occurrences du bloc en question, comme on l'a fait ci-dessus. Cette criture peut paratre clairelorsqu'une seule dcimale est rpte une dizaine de fois, mais d'autres notations, plus explicites, font lechoix de placer, de manire classique, la partie entire du nombre rationnel gauche du sparateur et lapartie fractionnaire non priodique suivie du bloc rcurrent de la partie fractionnaire priodique, marqu

    22. Le lecteur est renvoy la section B.1 de l'annexe B pour plus dtails sur ces proprits.23. Pour bien illustrer le propos, on a considr l'exemple d'un rel x pour lequel p et q sont tous deux strictement plus

    grand que 1.24. Il est important de noter que le symbole utilis comme sparateur par les anglo-saxons, et notamment les langages de

    programmation ou les logiciels Matlab et GNU Octave, est le point et non la virgule.25. Sur certains ordinateurs plus anciens, le systme hexadcimal, c'est--dire tel que = 16, est parfois utilis. Un

    nombre s'exprime dans ce cas l'aide des seize symboles 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E et F.

    9

  • CHAPITRE 1. GNRALITS SUR L'ANALYSE NUMRIQUE ET LE CALCUL SCIENTIFIQUE

    d'un trait tir au-dessus ou au-dessous ou bien plac entre crochets, droite du sparateur. On a ainsi,pour les exemples prcdents,

    1

    3= 0, 310,

    1

    7= 0, 14285710,

    7

    12= 0, 58310.

    Ajoutons que la reprsentation d'un nombre dans un systme de numration n'est pas forcment unique,tout nombre pouvant s'crire avec un nombre ni de chires ayant plusieurs reprsentations, dont unereprsentation innie non triviale. On peut en eet accoler une rptition nie ou innie du chire 0 la reprsentation nie d'un nombre rel pour obtenir d'autres reprsentations, mais on peut galementdiminuer le dernier chire non nul de la reprsentation d'une unit et faire suivre ce chire d'une rptitioninnie du chire 1 pour obtenir une reprsentation innie non triviale. Le nombre 1 possde ce titreles reprsentations nies 110, 1, 010, 1, 0000010, parmi d'autres, et les deux reprsentations innies 1, 010et 0, 910. Pour parer ce problme d'unicit, il est courant de ne pas retenir la reprsentation innie d'unnombre lorsqu'une reprsentation nie existe et d'interdire que les chires de cette reprsentation niesoient tous nuls partir d'un certain rang.

    Exemples d'criture de nombres rels dans les systmes binaire et dcimal.

    10011, 0112 = 24 + 21 + 20 + 22 = 16 + 2 + 1 +1

    4+

    1

    8= 19, 37510,

    0, 012 =+i=1

    22i =1

    4

    +i=0

    (1

    4

    )i=

    1

    4

    1

    1 14

    =1

    3= 0, 310,

    0, 00112 = 3+i=1

    24i =3

    16

    +i=0

    (1

    16

    )i=

    1

    5= 0, 210.

    Le dernier des exemples ci-dessus montre qu' la reprsentation nie d'un nombre rel dans le systmedcimal peut parfaitement correspondre une reprsentation innie non triviale dans le systme binaire.Nous verrons dans la prochaine section que ceci a des consquences au niveau des calculs eectus sur unemachine. En revanche, il est facile de voir qu'un nombre ayant une reprsentation nie dans le systmebinaire aura galement une reprsentation nie dans le systme dcimal.

    1.3.2 Reprsentation des nombres rels en machine

    La mmoire d'une machine tant constitue d'un support physique, sa capacit est, par construction,limite. Pour cette raison, le nombre de valeurs (entires, relles, etc...) reprsentables, stockes en machinesous la forme d'ensembles de chires aects des cellules-mmoire 26 portant le nom de mots-mmoire,est ni. Pour les nombres rels, il existe essentiellement deux systmes de reprsentation : celui desnombres virgule xe et celui des nombres virgule ottante.

    Tout d'abord, supposons que l'on dispose de N cellules-mmoire pour stocker un nombre rel nonnul. Une manire naturelle de faire est de rserver une cellule-mmoire pour son signe, N r 1 cellules-mmoire pour les chires situs droite du sparateur (la partie entire du nombre) et r cellules-mmoirerestantes pour les chires situs droite du sparateur, l'entier r tant x, c'est--dire

    s bnr1 . . . b0, b1 . . . br , (1.4)

    ce qui revient convenir d'une position immuable et tacite du sparateur. Les nombres rels ainsi repr-sentables sont dits virgule xe (xed-point numbers en anglais). Ils sont principalement utiliss lorsquele processeur de la machine (un microcontrleur par exemple) ne possde pas d'unit de calcul pourles nombres virgule ottante ou bien quand ils permettent de diminuer le temps de traitement et/oud'amliorer l'exactitude des calculs. Cependant, l'absence de dynamique dans le choix de placementdu sparateur limite considrablement la plage de valeurs reprsentables par un nombre virgule xe,sauf disposer d'un grand nombre de cellules-mmoire.

    Ce dfaut peut nanmoins tre aisment corrig en s'inspirant de la notation scientique des nombresrels. L'ide est d'crire tout nombre rel reprsentable sous la forme symbolique

    sme, (1.5)

    26. Quand = 2, on notera que la taille d'une cellule-mmoire est de un bit.

    10

  • 1.3. ARITHMTIQUE VIRGULE FLOTTANTE

    o m est un rel positif, compos d'au plus t chires en base , appel signicande (signicand enanglais), ou plus communment mantisse 27, et e est un entier sign, appel exposant, compris entre deuxbornes emin et emax (on a gnralement emin < 0 et emax > 0). En autorisant l'exposant e changerde valeur, on voit qu'on laisse le sparateur (la virgule ou le point selon la convention) otter etune mme valeur du signicande peut alors servir reprsenter des nombres rels dont la valeur absolueest arbitrairement grande ou petite. Les nombres ainsi dnis sont dits virgule ottante (oating-pointnumbers en anglais), et l'entier t est la prcision ou encore nombre de chires signicatifs du nombre virgule ottante.

    On remarquera qu'un mme nombre peut possder plusieurs critures dans ce systme de reprsen-tation. Par exemple, en base 10 et avec une prcision gale 3, on peut reprsenter 110 par 100 10

    3,10, 0 102, 1, 00 101, 0, 10 100, 0, 010 101 ou bien 0, 001 102. La notion d'exposant n'est pas intrinsqueet dpend de conventions adoptes sur le signicande, comme la place du sparateur dans ce dernier. Onparle de reprsentation normalise lorsque le premier chire, encore appel le chire de poids fort, dusignicande est non nul, ce qui assure, une fois la position du sparateur xe, que to