Calculs formels et numériques
Le calcul numérique est étroitement lié à l'histoire de l'informatique, les ordinateurs ayant été conçus pour faciliter l'exécution de calculs complexes. Il intervient dans de nombreux domaines scientifiques et industriels, pour simuler, étudier, anticiper toutes sortes de phénomènes.
Pendant longtemps, le calcul numérique était principalement réalisé à l'aide du FORTRAN ou du C. Aujourd'hui, il existe de nombreux outils, plus ou moins spécialisés, et notamment ce qu'on appelle les logiciels de calculs formels ou numériques. Ceux-ci se sont beaucoup développés ces dernières années, se dotant régulièrement de nouvelles fonctionnalités, pour répondre aux divers besoins des ingénieurs, notamment en matière de simulation et de prototypage.
Parmi les plus connus on citera Mathematica, Maple, Maxima, Xcas et Sage pour le calcul formel et MATLAB, Scilab, Octave et R pour le calcul numérique.
Calcul formel ou calcul numérique ?
Il n'est pas toujours aisé de savoir si l'on a besoin d'un logiciel de calcul formel ou d'un logiciel de calcul numérique .
Un logiciel de calcul numérique manipule des expressions numériques ou encore des nombres. C'est un outil de calcul scientifique, qui permet d'obtenir un résultat approché (de grande précision).
Vous pourrez ainsi résoudre numériquement des équations différentielles compliquées. Il sera très utile pour de l'analyse numérique, ou pour tout ce qui est analyse de données physiques.
Les logiciels de calcul numérique sont beaucoup utilisés dans l'industrie. Simulation, modélisation, traitement du signal, automatique, mécatronique.
Comprendre ce qu'est le calcul numérique (Interview de Claude Gomez, revue Interstices)
Un logiciel de calcul formel (ou symbolique) manipule des expressions symboliques, avec inconnues et paramètres, autrement dit des formules. Il permet d'étudier des systèmes ou problèmes mathématiques. À la différence d'un logiciel de calcul numérique, il favorisera une compréhension globale (et non locale) et manipulera des résultats exacts (pas d'approximation numérique). Il est principalement utilisé en mathématiques ou dans des domaines proches.
Comprendre ce qu'est le calcul formel (Interview de Bruno Salvy, revue Interstices)
Aujourd'hui, la plupart des logiciels de calculs formels permettent également de faire du calcul numérique, quoique moins adaptés que les premiers. Il est ainsi possible d'effectuer des calculs numériques sous Maple, mais l'expérience montre que MATLAB ou Scilab sont plus adaptés.
De même, vous pourrez faire du calcul symbolique avec MATLAB à l'aide d'un module complémentaire (inclus dans la version étudiante) ou encore avec R (pareillement à l'aide d'un outil complémentaire), mais vous ne bénéficierez pas de toutes les possibilités, et encore moins de la rapidité, d'un Mathematica ou d'un Maple.
C'est pourquoi, vous devez vous interroger sur vos besoins les plus courants, avant d'acquérir ou de vous initier à l'un ou à l'autre de ces logiciels. D'autant que certains sont très onéreux.
Quel logiciel choisir ?
Cette question est toujours délicate, car la réponse dépend de beaucoup de facteurs. Les indications qui suivent veulent surtout aider le débutant à se repérer parmi les différentes solutions existantes. Certains logiciels ont été plus spécifiquement développés pour des usages académiques (Xcas, Sage), d'autres sont aptes à répondre aux besoins de l'industrie (MATLAB, Scilab...). Généralistes pour la plupart, vous pourrez apprécier les fonctionnalités périphériques de l'un ou de l'autre (par exemple les solutions d'édition interactive de Mathematica...), ou la gratuité de leur usage (solutions libres...), ou encore l'existence de documentation ciblée (pour un emploi au lycée par exemple).
Voici quelques repères pour vous aider :
|
commercial |
libre |
calcul formel généraliste |
Maple, Mathematica |
Maxima, Sage, Xcas |
calcul scientifique |
MATLAB |
Scilab, Octave, R |
Sage incluant des outils de calculs scientifiques, tel que R, il pourrait également figurer dans cette dernière catégorie. Tout dépend de vos besoins précis.
Le tableau suivant tente de vous orienter selon le contexte d'utilisation. Nous ne mentionnons pas de logiciels propriétaires pour le lycée pour des questions de licence, les établissements n'ayant pas toujours les moyens de les acquérir. Toutefois il est tout à fait envisageable d'utiliser, par exemple, Mathematica dans le cadre de l'enseignement au lycée, comme en témoigne le très foisonnant site Euler de l'académie de Versailles.
Enseignement collège / lycée |
|
Sage, Scilab, Xcas |
Enseignement supérieur |
Maple, Mathematica, MATLAB |
Sage, Scilab |
Probabilités/statistiques |
MATLAB |
R |
Physique, sciences de l'ingénieur |
MATLAB (Simulink) |
Scilab (Xcos) |
Mathématiques |
Maple, Mathematica |
Maxima, Sage |
Industrie, simulation, prototypage |
MATLAB |
Scilab |
Gardez en tête, les points suivants :
Maple, Mathematica et Sage ciblent le même public, et dans bien des cas vous pourrez réaliser la même chose avec les trois (calcul mathématique, conception, modélisation, représentation graphique de surfaces complexes, etc.). Les deux premiers sont très complets et déjà bien implantés. Au fil des versions, ils rivalisent de nouvelles fonctionnalités, notamment en matière d'édition et de présentation. Maple s'intègre bien avec MATLAB (pour passer de MATLAB à Maple voir la Symbolic Math Toolbox et de Maple à MATLAB la Maple toolbox for MATLAB), et Mathematica a développé des outils d'édition interactive assez originaux (voir le format CDF). Sage, pour sa part, est open-source et soutenu par une communauté d'utilisateurs (chercheurs et universitaires) très dynamique. Enfin, il ne nécessite pas l'apprentissage d'un langage spécifique, étant fondé sur le le langage Python, lui-même très utilisé pour le calcul scientifique.
MATLAB et Scilab ciblent le même public et vous pourrez réaliser sensiblement les mêmes choses avec les deux (calcul scientifique, analyse de données, traitement du signal et des communications, traitement des images et des vidéos, systèmes de contrôle, test, mesures, simulation, prototypage). Ils offrent tous deux une puissance de calcul similaire et disposent d'un outil graphique de modélisation et de simulation Simulink pour le premier, Xcos pour le second. Octave pour sa part a une syntaxe très proche de celle de MATLAB, offrant ainsi la possibilité d'utiliser en l'état des scripts .m sans avoir à les adapter. Son interface en revanche n'est pas encore très aboutie.
R aujourd'hui s'est largement imposé dans le domaine de la statistique, utilisé pour l'analyse des données et leur visualisation.
Si vous avez des besoins particuliers, assurez-vous avant d'opter pour un logiciel que ce dernier y répond pleinement. En effet, en dépit de leur similitude, il y aura toujours des choses que vous pourrez faire chez l'un et pas chez l'autre. Par exemple, Mathematica dispose de fonctions de probabilités analytiques que que ni MATLAB ni R ne proposent.
Liens utiles
Sur MATLAB
- Site officiel (en français)
- Webinars pour découvrir Matlab
- Rubrique Matlab sur developpez.com
Sur GNU Octave
- Site officiel (en anglais)
- Présentation en français (Département de mathématiques et statistiques, Université de Montréal)
- Introduction à Matlab et GNU Octave par Jean-Daniel Bonjour (Université de Lausanne)
Sur Scilab
Voir fiche thématique
Sur R
- Site officiel (en anglais)
- Cours d'Anne Philippe
Sur Maple
- Site officiel (en anglais)
- Fiche de présentation en français
Sur Mathematica
Sur Sage
Voir fiche thématique.
Sur Xcas
- Présentation de Xcas
- Xcas en ligne
- Pourquoi utliser Xcas au lycée ? (Guillaume Connan)
Sur Maxima
Le calcul numérique ou formel au lycée