Langage C++ et calcul scientifique - CEL - Cours en ligne Access content directly
Lectures Year : 2005

Langage C++ et calcul scientifique

Pierre Saramito

Abstract

La simulation numérique est devenue essentielle dans de nombreux domaines tels que la mécanique des fluides et des solides, la météo, l'évolution du climat, la biologie ou les semi-conducteurs. Elle permet de comprendre, de prévoir, d'accéder là où les instruments de mesures s'arrêtent.

Ce livre présente des méthodes performantes du calcul scientifique : matrices creuses, résolution efficace des grands systèmes linéaires, ainsi que de nombreuses applications à la résolution par éléments finis et différences finies. Alternant algorithmes et applications, les programmes sont directement présentés en langage C++. Ils sont sous forme concise et claire, et utilisent largement les notions de classe et de généricité du langage C++.

Le contenu de ce livre a fait l'objet de cours de troisième année à l'école nationale supérieure d'informatique et de mathématiques appliquées de Grenoble (ENSIMAG) ainsi qu'au mastère de mathématiques appliquées de l'université Joseph Fourier. Des connaissances de base d'algèbre matricielle et de programmation sont recommandées. La maîtrise du contenu de cet ouvrage permet d'appréhender les principaux paradigmes de programmation du calcul scientifique. Il est alors possible d'appliquer ces paradigmes pour aborder des problèmes d'intérêt pratique, tels que la résolution des équations aux dérivées partielles, qui est abordée au cours de ce livre. La diversité des sujets abordés, l'efficacité des algorithmes présentés et leur écriture directe en langage C++ font de cet ouvrage un recueil fort utile dans la vie professionnelle d'un ingénieur.

Le premier chapitre présente les bases fondamentales pour la suite : présentation du langage C++ à travers la conception d'une classe de quaternions et outils d'analyse asymptotique du temps de calcul des algorithmes. Le second chapitre aborde l'algorithme de transformée de Fourier rapide et développe deux applications à la discrétisation d'équations aux dérivées partielles par la méthode des différences finies. Le troisième chapitre est dédié aux matrices creuses et à l'algorithme du gradient conjugué. Ces notions sont appliquées à la méthode des éléments finis. En annexe sont groupés des exemples de génération de maillage et de visualisation graphique.

S'il est cependant recommandé de maîtriser les notions du premier chapitre pour aborder le reste du livre, les chapitres deux et trois sont complètement indépendants et peuvent être abordés séparément. Ces chapitres sont complétés par des exercices qui en constituent des développements, ainsi que des notes bibliographiques retraçant l'historique des travaux et fournissant des références sur des logiciels et librairies récents implémentant ou étendant les algorithmes présentés.

Les codes C++ présentés au long de ce livre ainsi que dans les exercices sont disponibles librement à l'adresse \url{http://www-ljk.imag.fr/membres/Pierre.Saramito/books} sous la licence GNU public licence.

Ce livre est publié sous licence GNU FDL avec les références suivantes : P. Saramito, Language C++ et calcul scientifique, College Publications, London, 2013. ISBN 978-1-84890-101-8.
Fichier principal
Vignette du fichier
cours-cxx.pdf (2.64 Mo) Télécharger le fichier
Loading...

Dates and versions

cel-00573975 , version 1 (06-03-2011)
cel-00573975 , version 2 (25-10-2012)
cel-00573975 , version 3 (11-12-2012)
cel-00573975 , version 4 (16-12-2013)

Identifiers

  • HAL Id : cel-00573975 , version 4

Cite

Pierre Saramito. Langage C++ et calcul scientifique. DEA. Grenoble, France, 2005, pp.167. ⟨cel-00573975v4⟩

Collections

UGA CNRS INSMI
3361 View
42227 Download

Share

Gmail Facebook X LinkedIn More