Calcul Scientifique et Symbolique, Logiciels Licence Math´ ematiques UE N1MA3003

Calcul Scientifique et Symbolique, Logiciels Licence Math´ ematiques UE N1MA3003 Alain Yger Institut de Math´ ematiques, Universit´ e Bordeaux 1, Talence 33405, France E-mail address: Alain.Yger@math.u-bordeaux1.fr Version du 9 mai 2014. R´ esum´ e. Ce cours correspond ` a l’enseignement dispens´ e en 2013-2014 dans l’UE N1MA3003 ≪Calcul Scientifique et Symbolique, Logiciels ≫de la Li- cence de Math´ ematiques. Ce cours prend la suite du cours d’≪Initiation au Calcul Scientifique et Symbolique ≫(ex MHT304, [Y1]). Plusieurs chapitres de l’ouvrage [MathAp] (en particulier les chapitres 1,2,3,9,10) ont servi de r´ ef´ erence pour la r´ edaction du cours et peuvent ˆ etre utilis´ es pour des appro- fondissements. Les feuilles de TP (sous l’environnement Maple pour ce qui concerne le calcul symbolique, sous l’environnement MATLAB en ce qui concerne le calcul scientifique) trait´ ees pendant l’ann´ ee 2012-2013, ainsi que la liste des projets propos´ es aux ´ etudiants (travail en binˆ ome ou trinˆ ome, soutenance d’une demi-heure avec illustration machine), sont propos´ ees en annexe de ce polycopi´ e. Les documents accompagnant les TP (routines, corrig´ es des TP mis en ligne apr` es remise des travaux) sont disponibles sur les sites : http://www.math.u-bordeaux1.fr/~yger/initiationMAPLE http://www.math.u-bordeaux1.fr/~yger/initiationMATLAB On trouvera aussi sur ces pages des liens vers des textes aidant ` a la prise en main de ces logiciels. Ce cours vise ` a illustrer (en s’appuyant souvant dessus) les acquis de L1, notamment le cours de MISMI (cf. [Y0] pour le polycopi´ e en ligne) et d’Analyse 1 (cf. [Yan] pour le polycopi´ e en ligne) ; ces cours sont bien sˆ ur ` a consulter pour tout support th´ eorique, de mˆ eme que les cours d’Alg` ebre 1 (semestre 1) et d’Alg` ebre 2 (semestre 3), auquels ce cours renvoie fr´ equemment. Table des mati` eres Chapitre 1. Calcul symbolique, Calcul num´ erique, erreurs 1 1.1. Les deux objectifs du cours ; deux logiciels, deux missions 1 1.2. Repr´ esentation des nombres en machine, types d’erreur 3 1.3. Les boucles logiques (if/else, for, while) sur quelques exemples 11 1.4. La force et les limites du calcul symbolique 16 Chapitre 2. La r´ esolution num´ erique des ´ equations non lin´ eaires 25 2.1. Pr´ esentation des m´ ethodes 25 2.2. Comparaison des m´ ethodes en terme d’≪ordre ≫ 32 2.3. La m´ ethode de la dichotomie 36 Chapitre 3. Polynˆ omes, interpolation, ´ elimination 39 3.1. Quelques g´ en´ eralit´ es en prise avec l’algorithmique 39 3.2. Interpolation de Lagrange et diff´ erences divis´ ees 46 3.3. Interpolation polynomiale approch´ ee au sens des moindres carr´ es 56 3.4. Une sensibilisation au principe de l’≪´ elimination ≫alg´ ebrique 59 Chapitre 4. M´ ethodes it´ eratives en alg` ebre lin´ eaire 65 4.1. Le th´ eor` eme du point fixe dans KN (K = R ou C) 65 4.2. Quelques notions pr´ ealables ` a l’algorithmique matricielle 68 4.3. Les algorithmes it´ eratifs pour la r´ esolution de M · X = B 73 4.4. Algorithmes it´ eratifs et m´ ethode des moindres carr´ es 81 Chapitre 5. Sch´ emas num´ eriques simples pour la r´ esolution des EDO 87 5.1. Les bases th´ eoriques (admises) : Cauchy-Lipschitz 87 5.2. R´ esolution num´ erique des EDO 89 5.3. Un mod` ele de syst` eme autonome : le mod` ele proie-pr´ edateur 102 Annexe A. TP1 : prise en main des logiciels Maple et MATLAB 107 Annexe B. TP2 : assignation/r´ eassignation de variables, boucles (Maple) 113 Annexe C. TP3 : familiarisation avec MATLAB, travail sur les tableaux 119 Annexe D. TP4 : proc´ edures sous Maple, repr´ esentation graphique 127 Annexe E. TP5 : les fonctions sous MATLAB et l’interpolation 137 Annexe. TP6 : le principe de l’´ elimination alg´ ebrique sous Maple 147 Annexe F. TP7 : le th´ eor` eme du point fixe en action sous MATLAB 155 Annexe. Projets (` a traiter par binˆ ome ou trinˆ ome) 161 v vi TABLE DES MATI` ERES Annexe. Annales : examen 2011-2012, session 1 (1h30) 163 Annexe. Annales : examen 2011-2012, session 2 (1h30) 165 Annexe. Annales : examen 2012-2013, session 1 (1h30), texte + corrig´ e 167 Bibliographie 173 Index 175 CHAPITRE 1 Calcul symbolique, Calcul num´ erique, erreurs 1.1. Les deux objectifs du cours ; deux logiciels, deux missions Ce cours a un double objectif : – d’une part, une familiarisation avec la prise en main de deux logiciels, l’un d´ evolu au calcul symbolique (Maple 13), l’autre au calcul scientifique (en l’occurrence MATLAB 7), et ` a la programmation sous ces environnements ; – d’autre part, une premi` ere initiation aux bases du calcul symbolique (ou en- core formel) et au calcul scientifique. Le logiciel Maple 13 est un logiciel de calcul symbolique (ou calcul formel). Il pro- pose des outils de calcul symbolique et fournit en parall` ele de puissants outils de graphisme et de calcul. Cependant, il n’est pas con¸ cu pour le calcul scientifique. L’ossature de son noyau s’appuie pour une bonne part sur la th´ eorie alg´ ebrique de l’´ elimination (voir plus loin dans le cours), ainsi que sur des outils tels que la d´ erivation et l’int´ egration formelle des fonctions appartenant ` a ce que l’on ap- pelle commun´ ement la classe de Liouville : fractions rationnelles, logarithmes et fonctions aff´ erentes telles que arctan, exponentielle, fonctions trigonom´ etriques ou hyperboliques, solutions d’´ equations diff´ erentielles de nature alg´ ebrique, c’est-` a-dire ` a coefficients polynomiaux. Ce logiciel (payant) Maple est, avec Mathematica, l’un des deux logiciels de calcul formel les plus utilis´ es dans les milieux universitaires. D’autres logiciels (libres) le compl` etent pour des tˆ aches plus sp´ ecifiques : PARI en Th´ eorie des Nombres, Macaulay ou Cocoa, Reduce, pour l’alg` ebre polynomiale (utile en robotique par exemple) ou la g´ eom´ etrie alg´ ebrique 1. Il s’agit d’un logiciel con¸ cu sur la base d’un langage interpr´ et´ e, et non compil´ e, ce qui explique fait que les instructions (do, while,...) correspondant ` a des boucles de calcul soient ex´ ecut´ ees lentement. On tire profit ` a utiliser au maximum les fonctions toutes int´ egr´ ees. La programmation sous cet environnement n’est pas toujours chose ais´ ee. Aux antipodes de Maple et du calcul symbolique (donc essentiellement ≪sans pertes ≫) le logiciel MATLAB 7 qui, lui aussi , utilise un langage de programma- tion ressemblant plutˆ ot ` a un langage de script qu’` a un langage compil´ e tel que le C ou FORTRAN 90, est un logiciel de calcul scientifique (donc cette fois de calcul ≪avec pertes ≫). L’ossature de son noyau repose cette fois sur le calcul matriciel 2. Si ce type de langage script ex´ ecute les instructions bien plus lentement qu’un lan- gage compil´ e (mˆ eme remarque qu’` a propos de Maple, mis ` a part que les choses s’av` erent plus cruciales ici car les tableaux en jeu dans les calculs peuvent ˆ etre 1. Il convient aussi ici de mentionner le logiciel libre Sage (t´ el´ echargeable sur le site http://www.sagemath.org/fr) offrant toutes les potentialit´ es du calcul symbolique impl´ ement´ e sous Maple, ce sous le langage informatique Python. 2. L’acronyme MATLAB vient d’ailleurs de l` a : MATLAB pour Matrix Laboratory. 1 2 1. CALCUL SYMBOLIQUE, CALCUL NUM´ ERIQUE, ERREURS de taille ´ enorme), ce type de langage dit ≪interpr´ et´ e ≫se justifie par un temps de conception et de ≪debogage ≫excessivement r´ eduits par rapport ` a ceux que n´ ecessite un langage compil´ e. Dans le milieu industriel, o` u il est commun´ ement r´ epandu, MATLAB (souvent coupl´ e avec SIMULINK, ces deux logiciels ´ etant g´ er´ es par la soci´ et´ e Mathworks), ce logiciel professionnel sert essentiellement ` a concevoir des maquettes de programmes et ` a les tester, ce avant une phase ult´ erieure de pro- grammation, cette fois sous un logiciel compil´ e tel C++ ou FORTRAN 90. Comme Maple, MATLAB offre une biblioth` eque tr` es importante de fonctions et de documen- tation : la version disponible sur le site du CREMI 3 est une version accompagn´ ee des toolboxes suivants : Image Processing, Signal Processing, Statistics, Partial Differential Equations, Wavelets. Le noyau du logiciel suffira aux besoins de ce cours ` a ce niveau de L2. Les deux logiciels Maple et MATLAB sont des logiciels professionnels et payants. Il faut signaler cependant que le logiciel libre Scilab r´ ealise un clone de MATLAB con¸ cu et g´ er´ e par le Consortium Scilab (INRIA, ENPC). Il est couramment utilis´ e, mais essentiellement dans le milieu universitaire 4. ` A l’heure actuelle, seul MATLAB est r´ eellement connu et exploit´ e dans le milieu industriel. Outre le logiciel libre Sage mentionn´ e plus haut, d’autres logiciels libres de calcul symbolique (inspir´ es de Maple) ont ´ et´ e d´ evelopp´ es en vue d’utilisation plus sp´ ecifique dans le domaine de l’enseignement ; on peut par exemple citer Xcas, t´ el´ echargeable librement uploads/s3/ cssl.pdf

  • 37
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager