Calcul numérique

Un article de Wikipédia, l'encyclopédie libre.
Simulation numérique d'une collision d'une voiture dans un mur.

On entend souvent par calcul numérique un ensemble de calculs qui sont réalisés sur un système informatique, encore appelé « système numérique » (ou « ordinateur »). On réalise généralement des calculs numériques pour simuler par exemple des phénomènes naturels tels que déformations de matériaux sous l'effet de contraintes extérieures ; autant de domaines pour lesquels le calcul à la main (sur une simple feuille de papier) prendrait des heures et des milliers de feuilles de papier (voir aussi « Simulation informatique » et « Ingénierie assistée par ordinateur »).

Cependant il s’agit d’une simplification pratique du domaine d’étude qui est plus vastement abordé sur le plan mathématique dans l’analyse numérique.

Histoire[modifier | modifier le code]

Le champ d’application de l’analyse numérique précède de nombreux siècles l’invention des calculatrices modernes. En fait, bon nombre de mathématiciens du passé étaient préoccupés par l’analyse numérique, comme en témoignent évidemment les noms des algorithmes les plus importants tels que la méthode de Newton, l’interpolation lagrangienne, l’élimination de Gauss-Jordan ou la méthode d'Euler.

Pour faciliter les calculs manuels, de volumineux livres ont été édités, contenant des formules et tables de données telles que les points d’interpolation et coefficients de fonctions. Les plus connus sont les tables de logarithmes et les tables trigonométriques. À l’aide de ces tables (souvent calculées avec cinq à dix chiffres significatifs, voire plus pour certaines fonctions), on pouvait rechercher les valeurs à utiliser dans les formules données, et obtenir de très bonnes estimations de certaines fonctions. Un travail fondamental dans ce domaine est l'ouvrage Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables[1] publié par le NIST en 1964. Ce livre de plus de mille pages comprend un très grand nombre de formules et fonctions usuelles, et leurs valeurs en de nombreux points. Il est moins destiné au calcul à la main (les tables ne disposant pas d'aide au calcul, comme les différences tabulaires) qu'à la mise au point de programmes sur ordinateur, en facilitant les tests et en fournissant de nombreuses formules.

La règle à calcul représentait aussi une application pratique de ces anciennes tables numériques pour l’approximation rapide (généralement limitée à trois ou quatre chiffres significatifs) de certaines fonctions continues à variable réelle simples (comme les fonctions trigonométriques, logarithmiques et exponentielles, et l’approximation rapide de la multiplication). Elle fut longtemps en usage notamment dans l’ingénierie, jusqu’au début des années 1980, avant que les calculatrices dites scientifiques ne soient largement répandues et accessibles au grand public à un prix modique.

La calculatrice mécanique a aussi été développée comme un outil pour le calcul manuel dès son invention, liée au développement de l’horlogerie, notamment dans les applications commerciales (comme la caisse enregistreuse largement diffusée depuis le XIXe siècle). Ces calculatrices ont évolué en ordinateurs électroniques dans les années 1940 grâce à la découverte des propriétés discrètes de la jonction P-N des semi-conducteurs (et son application dans le transistor), et on a vite découvert que ces ordinateurs seraient également utiles à des fins administratives. Mais l’invention de l’ordinateur a aussi influencé et largement étendu le champ d’application de l’analyse numérique, puisque dorénavant des calculs bien plus longs et compliqués peuvent être réalisés.

Applications[modifier | modifier le code]

Les algorithmes d’analyse numérique sont appliqués de façon routinière pour résoudre de nombreux problèmes dans les sciences appliquées et l’ingénierie.

Des exemples sont la conception de structures comme les ponts, systèmes aéronautiques ou automobiles (voir par exemple CAO, Sciences physiques numériques, dynamique numérique des fluides) ou de systèmes complexes et chaotiques (voir Prévision numérique du temps, Climateprediction et modèles climatiques en météorologie), l’analyse, la modélisation ou la conception d'objets chimiques (voir chimie numérique), la recherche pétrolière et la géodésie, l’astrophysique, et les arts graphiques et la modélisation 3D (effets spéciaux au cinéma, les dessins animés, les jeux vidéo), les statistiques appliquées (démographie, modèles économiques…), l’analyse financière ou boursière.

En fait, pratiquement tous les superordinateurs mettent en pratique continument des algorithmes d’analyse numérique. Par conséquent, l’efficacité des algorithmes joue un rôle important, et une méthode heuristique peut être préférée à une méthode basée sur une solide fondation théorique, simplement parce qu’elle est plus efficace.

Généralement aussi la recherche fondamentale en analyse numérique utilise aussi des résultats empiriques de calculs numériques pour tester de nouvelles méthodes et simplifier l’analyse des problèmes (notamment pour éliminer de fausses pistes ou vérifier sommairement la validité d’une démonstration compliquée, ou tenter d’invalider une conjecture), bien qu’elle emploie aussi bien sûr des axiomes mathématiques, des théorèmes et des preuves (démonstrations).

Logiciels[modifier | modifier le code]

Le dépôt Netlib contient diverses collections de routines logicielles pour les problèmes numériques, principalement en Fortran et en langage C. Parmi les produits commerciaux implémentant de nombreux algorithmes numériques différents, figurent les bibliothèques numériques IMSL, NAG (en) et HSL (en) ; une alternative libre est la GSL. La série de livres Numerical Recipes met l'accent sur la compréhension des algorithmes classiques pour des non-spécialistes ; elle offre une collection de fonctions en Fortran, C et C++. Certains considèrent cette approche comme une force, d’autres déplorent les simplifications et parfois les mauvais conseils.

À part le Fortran, les langages populaires de calcul numérique incluent MATLAB, Scilab, Octave, R, Sysquake, IDL et Python. Ce sont des langages interprétés (aussi appelés parfois langages de script), mais ils permettent le développement rapide et le prototypage, et peuvent si nécessaire être convertis en Fortran ou en C pour des calculs plus rapides, ou faire appel à des bibliothèques compilées.

Nombre de logiciels de calcul formel tels que Mathematica ou Maple (propriétaires), ou Maxima, Axiom, et Yacas (libres) peuvent aussi être utilisés pour le calcul numérique. Cependant, leur puissance est généralement liée au calcul symbolique, et de tels systèmes peuvent aider à transformer un problème numérique complexe en suite finie d’éléments de calcul numérique simples, évalués alors individuellement par des recettes numériques suivant certaines contraintes.

Références[modifier | modifier le code]

  1. (en) Milton Abramowitz et Irene Stegun, Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables [détail de l’édition] (lire en ligne).

Voir aussi[modifier | modifier le code]

Sur les autres projets Wikimedia :

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) Peter Fritzon, Principles of Objet Oriented Modeling and Simulation with Modelica, Hoboken, John Wiley & Sons, Wiley, 2014
  • Guillaume Dubois, La simulation numérique : enjeux et bonnes pratiques pour l'industrie, Dunod, 2016