Quoi de neuf dans cette version 12.0 ;?
La dernière version du langage Wolfram (et de Mathematica) inclut plus de mille nouvelles fonctions et fonctionnalités ciblant la science des données multiparadigmatiques, l’apprentissage automatique, les statistiques, le calcul numérique, la manipulation des blockchains, la géométrie, les réseaux et les graphes, la chimie, le traitement du signal et des images… Au total, il y a 278 fonctions complètement nouvelles qui intéressent près de 103 domaines différents ainsi que des milliers de mises à jour.
La version 12 de Mathematica est présentée par ses concepteurs comme l’une des plus importantes mises à jour du logiciel. À ce sujet, le professeur Stephen Wolfram, responsable du projet, a confié : « ;ce qui est nouveau avec la version 12.0, c’est que nous permettons au public de plonger dans le processus de conception qui a lieu en coulisses, grâce à la diffusion en direct de plus de 300 heures de mes réunions internes de conception ;».
À travers cette nouvelle version de Mathematica et du langage Wolfram qui le supporte, l’entreprise Wolfram Research entend repousser les limites de ce qui peut être fait en mathématiques. L’éditeur du logiciel a par exemple évoqué la fonction ComplexPlot3D qui est livrée avec Mathemaica 12. Cette fonction permettrait de résoudre bon nombre de problèmes, notamment en mathématiques dans le cadre de l'automatisation du processus de traçage de fonctions, même fractales, dans le plan complexe.
Cette version 12 de Mathematica va plus loin que ses prédécesseurs dans l’étiquetage et l’annotation des éléments graphiques notamment grâce à l'enrichissement de fonctions existantes. En outre, la visualisation de fonctions complexes étant une étape importante dans le processus d’analyse, de nouvelles techniques standardisées soigneusement sélectionnées (telles que les fonctions de couleur) ont été incluses pour mettre en évidence différentes caractéristiques.
Les mesures dans le monde réel ont souvent une incertitude qui est représentée par des valeurs avec une certaine marge d’erreur. Même si les anciennes versions de Mathematica savaient déjà gérer les « ;nombres avec des erreurs ;» via des add-on, la version 12.0 du logiciel formel de Wolfram Research va encore plus loin en ce qui concerne les opérations relatives au calcul de l’incertitude et sa prise en charge native.
Signalons au passage que dans la version 12, l’utilisation des polygones se généralise et qu’il existe désormais un moyen systématique de spécifier les trous qu’ils pourraient contenir (par exemple pour marquer un pays tel que le Lesotho qui se trouve à l’intérieur d’un polygone représentant dans le cas présent l’Afrique du Sud). La fonction Polygon a bénéficié d’un traitement de faveur censé rendre son affichage plus pratique et de nouvelles opérations lui ont été affectées : PolygonDecomposition qui permet, par exemple, de décomposer un polygone en parties convexes ou encore RandomPolygon.
Dans le langage Wolfram, il était depuis longtemps facile d’interagir avec les serveurs Web, en faisant usage des fonctions telles que URLExecute et HTTPRequest, $Cookies, etc. La version 12 introduit une capacité nouvelle : il est désormais possible d’utiliser ce même langage pour contrôler un navigateur Web ou simplement obtenir une image de ce à quoi un site Web ressemble pour un navigateur Web.
La sortie de la version 12.0 de Mathematica (et du langage Wolfram) coïncide également avec le lancement d’un kit Microcontrôleur pour le langage Wolfram par Wolfram Research qui devrait permettre de définir des spécifications symboliques à partir desquelles il génère et déploie automatiquement du code à exécuter de manière autonome dans des microcontrôleurs. Habituellement, un microcontrôleur fait en permanence des calculs à partir des données provenant de divers capteurs et renvoie des signaux à d’autres composantes en temps réel. Les types de calcul les plus courants sont ceux liés au contrôle et au traitement du signal. Le nouveau kit Microcontroller permet de prendre ce qui est spécifié dans le langage et de le télécharger en tant que code incorporé dans un microcontrôleur autonome pouvant être déployé n’importe où.
Les autres nouvelles fonctionnalités ou améliorations incluses dans la version 12.0 du langage Wolfram (et de Mathematica) concernent (liste non exhaustive) :
- la compilation du langage Wolfram en code machine. En effet, cette version 12.0 introduit à titre expérimental la première version d'un nouveau compilateur beaucoup plus puissant. Il est à la fois capable de gérer une gamme beaucoup plus large de programmes (y compris des constructions fonctionnelles complexes et des flux de contrôle élaborés) et de compiler non pas dans une machine virtuelle, mais directement dans un code machine natif optimisé. Ce nouveau compilateur est basé sur LLVM. Il fonctionne en générant des liens de code LLVM dans la même bibliothèque d'exécution de bas niveau que le noyau du langage Wolfram utilise lui-même et est capable d'invoquer le noyau du langage Wolfram dans son intégralité pour des fonctionnalités qui ne sont pas dans la bibliothèque d'exécution. L'équipe en charge du développement de Mathematica précise que cette version 12.0 est livré avec une « ;forme en kit ;» du nouveau compilateur intégrant des fonctions de compilation spécifiques et que ce kit devrait être progressivement amélioré. L'une des nouvelles possibilités intéressantes offerte par ce nouveau compilateur est qu'il permet de générer directement du code qui peut être exécuté même en dehors de l'environnement du langage Wolfram ;
- les environnements simulés pour le Machine Learning qui permettent de combiner la puissance de la modélisation système aux capacités de manipulation du langage Wolfram pour les applications d’apprentissage par renforcement ;;
- les opérations en rapport avec la blockchain et les contrats numériques (lire, écrire et analyser les transactions de blockchain, générer et exécuter des contrats intelligents…). Une couche d'analyse a été ajouté dans la version 12.0. elle permet, par exemple, de demander un résumé des jetons «CK» (AKA CryptoKitties) sur la chaîne de caractères Ethereum, sachant que les blockchains Bitcoin, Ethereum et ARK, leurs réseaux principaux et réseaux de tests ;sont supportés ;
- le traitement avancé des images (identification améliorée des objets, analyse des traits du visage et reconnaissance des entités) ;;
- la connectivité avec d'autres langages (Python notamment) ou des programmes (par exemple, des bases de données relationnelles). Il faut souligner qu'au fil des ans, le langage Wolfram a été utilisé en coulisse dans de nombreux aspects du développement de jeux (simulation de stratégies, création de géométries, analyse des résultats...). L'éditeur du logiciel a confié à ce propos : « ;depuis quelque temps, nous travaillons sur un lien plus étroit entre le langage Wolfram et le moteur de jeu Unity et dans la version 12.0, nous publions une première version de ce lien. Le schéma de base consiste à faire fonctionner Unity en parallèle avec le langage Wolfram, puis à établir une communication bidirectionnelle, permettant l'échange d'objets et de commandes ;» ;
- le traitement audio via des réseaux de neurones pour le calcul avancé pour la reconnaissance vocale et la synthèse vocale. Spectrogram est par exemple dix fois plus rapide sur la version 12.0 que sur la version 11.3. Les capacités de Mathematica 12.0 dans les opérations de transcription audio ont été grandement améliorées. Elles s'effectuent désormais à une vitesse proche de la vitesse en temps réel, de sorte qu'une heure de bande son prendra environ une heure pour être transcrite. la fonction SpeechSynthesize prend en charge de nouvelles langues et de nouvelles voix et une fonction qui permet de rechercher du contenu audio en ligne baptisée WebAudioSearch a été intégrée ;
- les fonctionnalités d’apprentissage machine étendues pour améliorer notamment la détection des anomalies et l’analyse de distributions probabilistes avec tout type de données ;grâce à de de nouvelles superfonctions telles que comme SequencePredict, ActiveClassification, FeatureExtract ou FindAnomalies ;
- l’analyse par éléments finis du comportement non-linéaire pour la prise en charge étendue des équations différentielles numériques avec approximation et calcul de haut niveau ;;
- les calculs de géométrie euclidienne permettant d’effectuer des opérations sur des scènes géométriques et d’identifier des conjectures.
Source : Stephen Wolfram
Et vous ?
Que pensez-vous des nouveautés qui accompagnent cette nouvelle version ?
Voir aussi
Sortie de Mathematica 11, avec des réseaux neuronaux symboliques, la gestion de l'impression 3D et une interface retravaillée
Sortie de Mathematica 11.1 avec des réseaux neuronaux symboliques récurrents et de nouvelles fonctionnalités de traitement des images