Wolfram Mathematica (également connu sous le nom de Mathematica ) est un système logiciel doté de bibliothèques intégrées pour plusieurs domaines du calcul technique. Il permet l'apprentissage automatique , les statistiques , le calcul symbolique , la manipulation de données, l'analyse de réseaux, l'analyse de séries temporelles, le traitement automatique du langage naturel (TALN) , l'optimisation , la représentation graphique de fonctions et de divers types de données, l'implémentation d' algorithmes , la création d' interfaces utilisateur et l'interfaçage avec des programmes écrits dans d'autres langages de programmation . Conçu par Stephen Wolfram , il est développé par Wolfram Research à Champaign, dans l'Illinois. Le langage Wolfram est le langage de programmation utilisé dans Mathematica . Mathematica 1.0 a été publié le 23 juin 1988 à Champaign, dans l'Illinois, et à Santa Clara, en Californie . Le langage Wolfram de Mathematica est fondamentalement basé sur Lisp .
Interface de l'ordinateur portable
Mathematica est divisé en deux parties : le noyau et l’ interface utilisateur . Le noyau interprète les expressions (code du langage Wolfram) et renvoie des expressions de résultat, qui peuvent ensuite être affichées par l’interface utilisateur.
L'interface utilisateur originale, conçue par Theodore Gray en 1988, consiste en une interface de type bloc-notes et permet la création et la modification de documents de type bloc-notes pouvant contenir du code, du texte brut, des images et des graphiques.
Le développement de code est également pris en charge par une gamme d' environnements de développement intégrés (IDE) standard, notamment 16 ] IDEA [ Atom , Vim , Visual Studio Code et Git . Le noyau Mathematica comprend également une interface en ligne de commande
D'autres interfaces incluent JMath, basé sur GNU Readline et WolframScript qui exécute des programmes Mathematica autonomes (avec arguments) à partir de la ligne de commande UNIX.
Calcul haute performance
Les capacités de calcul haute performance ont été étendues avec l'introduction de tableaux compactés dans la version 4 (1999) et de matrices creuses (version 5, 2003), et en adoptant la bibliothèque d'arithmétique à précision multiple GNU pour évaluer l'arithmétique de haute précision.
La version 5.2 (2005) a introduit le multithreading automatique pour les calculs effectués sur des ordinateurs multicœurs . Cette version incluait des bibliothèques optimisées spécifiques au processeur. De plus, Mathematica est compatible avec des solutions matérielles d'accélération tierces spécialisées telles que ClearSpeed .
En 2002, gridMathematica a été introduit pour permettre la programmation parallèle au niveau utilisateur sur des clusters hétérogènes et des systèmes multiprocesseurs et en 2008, la technologie de calcul parallèle a été incluse dans toutes les licences Mathematica, y compris la prise en charge de la technologie de grille telle que Windows HPC Server 2008 , Microsoft Compute Cluster Server et Sun Grid .
La prise en charge du matériel GPU CUDA et OpenCL a été ajoutée en 2010.
Extensions
À partir de la version 14, le langage Wolfram comprend 6 602 fonctions et symboles intégrés. Stephen Wolfram a annoncé le lancement du Wolfram Function Repository en juin 2019 afin de permettre à la communauté Wolfram de contribuer au langage. Plus de 3 000 fonctions y sont actuellement disponibles en tant que fonctions ressources. Outre le Wolfram Function Repository, il existe un Wolfram Data Repository contenant des données calculables et le Wolfram Neural Net Repository pour l’apprentissage automatique.
Wolfram Mathematica est la base du package Combinatorica, qui ajoute des fonctionnalités de mathématiques discrètes en combinatoire et en théorie des graphes au programme.
Connexions à d'autres applications, langages de programmation et services
La communication avec d'autres applications peut être réalisée à l'aide d'un protocole appelé Wolfram Symbolic Transfer Protocol (WSTP). Il permet la communication entre le noyau Wolfram Mathematica et l'interface utilisateur et fournit une interface générale entre le noyau et d'autres applications.
Wolfram Research distribue gratuitement un kit de développement permettant de lier des applications écrites en C au noyau Mathematica via WSTP à l'aide de J/Link , un programme Java capable de demander à Mathematica d'effectuer des calculs. Une fonctionnalité similaire est disponible avec .NET/Link , mais avec des programmes .NET au lieu de programmes Java.
D'autres langages qui se connectent à Mathematica incluent Haskell , AppleScript , Racket , Visual Basic , Python , et Clojure .
Mathematica prend en charge la génération et l'exécution de modèles Modelica pour la modélisation de systèmes et se connecte à Wolfram System Modeler .
Des liens sont également disponibles vers de nombreux logiciels et API tiers.
Mathematica peut également capturer des données en temps réel provenant de diverses sources et peut lire et écrire sur des blockchains publiques ( Bitcoin , Ethereum et ARK).
Il prend en charge l'importation et l'exportation de plus de 220 formats de données, d'images, de vidéos, de sons, de conception assistée par ordinateur (CAO), de systèmes d'information géographique (SIG), de documents et de documents biomédicaux.
En 2019, la prise en charge de la compilation du code Wolfram Language vers LLVM a été ajoutée .
La version 12.3 du langage Wolfram a ajouté la prise en charge d' Arduino .
Données calculables
Mathematica est également intégré à Wolfram Alpha , un moteur de réponses en ligne qui fournit des données supplémentaires, dont certaines sont mises à jour en temps réel, pour les utilisateurs de Mathematica disposant d'une connexion Internet. Parmi ces ensembles de données figurent des données astronomiques, chimiques, géopolitiques, linguistiques, biomédicales, aéronautiques et météorologiques, ainsi que des données mathématiques (telles que des nœuds et des polyèdres).
Réception
En 1989, BYTE a classé Mathematica parmi les lauréats des BYTE Awards, déclarant qu'il s'agissait d'une autre application révolutionnaire pour Macintosh... elle pouvait vous permettre d'assimiler l'algèbre et le calcul qui semblaient impossibles à comprendre à partir d'un manuel.
Mathematica a été critiqué pour son code source fermé. Wolfram Research affirme que le maintien du code source fermé de Mathematica est essentiel à son modèle économique et à la continuité du logiciel.