
de nouvelles idées pour rendre le système encore plus facile et plus fluide à utiliser
La société Wolfram Research a annoncé le 13 décembre la version 13 du langage Wolfram et de Mathematica. « Cela fait 207 jours, soit un peu plus de 6 mois, que nous avons lancé la version 12.3. Et j'ai le plaisir de vous annoncer aujourd’hui la disponibilité de la version 13.0 du langage Wolfram et de Mathematica », a déclaré Stephen Wolfram, fondateur et PDG de Wolfram Research, créateur de Mathematica et du langage Wolfram.
Cette fois, le langage arrive avec un nombre impressionnant de travaux et de recherche qui ont été réalisés. Non seulement un total de 117 fonctions entièrement nouvelles, mais aussi plusieurs centaines de fonctions mises à jour et améliorées, plusieurs milliers de corrections de bogues et de petites améliorations, et une foule de nouvelles idées pour rendre le système encore plus facile et plus fluide à utiliser. Ce résultat des travaux de recherche et développement est le fruit d'un travail acharné, il reflète également le succès des principes de conception fondamentaux du langage Wolfram.
Le langage Wolfram est un langage de calcul multiparadigme développé par la société Wolfram Research. Ce langage est utilisé pour le calcul symbolique, la programmation fonctionnelle et la programmation basée sur des règles et il peut utiliser des structures et des données arbitraires. C'est également le langage de programmation de Mathematica (programme de calcul symbolique mathématique) et du Wolfram Programming Cloud. Il est utilisé pour le calcul symbolique, la programmation fonctionnelle et la programmation basée sur des règles et il peut utiliser des structures et des données arbitraires.
Ce langage comprend des fonctions intégrées pour générer et exécuter des machines de Turing, créer des graphiques et du son, analyser des modèles 3D, des manipulations matricielles et résoudre des équations différentielles. Largement documenté, le Langage Wolfram possède des principes fondamentaux qui le différencient des autres langages de programmation : une base de connaissances intégrée, l'automatisation sous la forme de méta-algorithmes et de superfonctions, une compréhension du langage naturel intégrée. En 2019, les bibliothèques de Wolfram sont devenues compatibles avec le moteur de jeu Unity, donnant ainsi aux développeurs de jeux un accès aux fonctions de haut niveau du langage.
Chaque jour, chaque semaine, chaque mois, depuis un tiers de siècle, nous nous efforçons d'enrichir ce vaste cadre intégré qu'est Mathematica et le langage Wolfram. Aujourd'hui, nous pouvons constater les résultats de toutes ces idées, de tous ces projets et de tous ces travaux individuels : un rythme d'innovation régulier, qui se poursuit maintenant depuis plus d'un tiers de siècle :
Dans la version 1.0 du langage Wolfram et de Mathematica, il y avait un total de 554 fonctions. Pourtant, entre la version 12.0 et la version 13.0, l’équipe Wolfram Research a ajouté un total de 635 nouvelles fonctions (en plus des 702 fonctions qui ont été mises à jour et améliorées). L'éventail complet des nouveautés de la version 13 par rapport à la version 12 est très large et impressionnant. Nous présentons, ci-dessous, les nouveautés de la version 13.0 par rapport à la version 12.3.
Les intégrales
En 1988, l'une des caractéristiques de Mathematica 1.0 que les gens appréciaient le plus était la possibilité d'effectuer des intégrales de manière symbolique. Au fil des ans, l’équipe Wolfram Research a progressivement élargi l'éventail des intégrales réalisables. Et un tiers de siècle plus tard, dans la version 13.0, elle apporte des améliorations remarquables. Voici une intégrale qui ne pouvait pas être réalisée « en forme fermée » auparavant, mais qui peut l'être dans la version 13.0 :
Toute intégrale d'une fonction algébrique peut en principe être effectuée en fonction des objets généraux DifferentialRoot. Mais le plus grand défi algorithmique est d'obtenir une « réponse conviviale » en termes de fonctions familières. Il s'agit d'une activité délicate, où un petit changement dans un coefficient peut avoir un effet important sur les réductions possibles. Mais dans la version 13.0, il y a maintenant de nombreuses intégrales qui ne pouvaient auparavant être réalisées qu’avec des fonctions spéciales, mais qui donnent maintenant des résultats en fonctions élémentaires. Voici un exemple :
Dans la version 12.3, la même intégrale pouvait encore être réalisée, mais uniquement en termes d'intégrales elliptiques :
Fonctions mathématiques
À l'époque où l'on devait encore faire des intégrales et autres opérations de ce genre à la main, on était toujours ravi de découvrir que son problème pouvait être résolu grâce à une « fonction spéciale » exotique dont on n'avait jamais entendu parler auparavant. Les fonctions spéciales sont en quelque sorte un moyen d'emballer les connaissances mathématiques : une fois qu’on sait que la solution de l’équation est une fonction de Lamé, cela indique immédiatement beaucoup de détails mathématiques à son sujet.
Avec le langage Wolfram, l’équipe Wolfram Research considère les fonctions spéciales avec beaucoup de sérieux, non seulement en prenant en charge une vaste collection de ces fonctions, mais aussi en permettant de les évaluer avec n'importe quelle précision numérique et de les faire participer à une gamme complète d'opérations mathématiques.
« Lorsque j'ai commencé à utiliser les fonctions spéciales, il y a environ 45 ans, le livre qui constituait la référence standard était le Handbook of Mathematical Functions d'Abramowitz & Stegun (1964). Il répertoriait des centaines de fonctions, certaines largement utilisées, d'autres moins. Et au fil des années, dans le cadre du développement du langage Wolfram, nous avons régulièrement vérifié de nouvelles fonctions d'Abramowitz & Stegun », a déclaré Stephen Wolfram.
Dans la verion 13.0, de Mathematica, toutes les fonctions d'Abramowitz & Stegun sont désormais entièrement calculables dans le langage Wolfram. Les dernières fonctions ajoutées étaient les fonctions d'onde de Coulomb (pertinentes pour l'étude des processus de diffusion quantique).
Et voici, à partir de la version 13, comment obtenir cette première image dans le langage Wolfram.
L'histoire ne s'arrête pas là, comme on peut le voir maintenant :
Un autre type de nombre
On pourrait penser qu'un nombre n'est qu'un nombre. Et c'est fondamentalement vrai pour les nombres entiers. Mais lorsqu'un nombre est un nombre réel, l'histoire est plus compliquée. Parfois, il est possible de « nommer » un nombre réel de manière symbolique, par exemple. Mais la plupart des nombres réels n'ont pas de « nom symbolique ». Et pour les spécifier exactement, il faudrait donner un nombre infini de chiffres, ou l'équivalent. Le résultat est que l'on finit par vouloir avoir des nombres réels approximatifs que l'on peut considérer comme représentant certaines collections entières de nombres réels.Une façon de le faire est d'utiliser des nombres à précision finie, comme dans :
Une autre approche introduite dans la version 12.0 est celle de l'Around, qui représente en fait une distribution de nombres « répartis au hasard » autour d'un nombre donné :
Lorsqu’on effectue des opérations sur des nombres approximatifs, les « erreurs » sont combinées à l'aide d'un certain calcul d'erreurs qui est effectivement basé sur des distributions gaussiennes et les résultats obtenus sont toujours, dans un certain sens, statistiques. Dans le cas où le besoin d’utiliser des nombres approximatifs tout en obtenant des résultats vérifiables se présente ? L'une des approches consiste à utiliser Interval. Mais une approche plus rationnelle, désormais disponible dans la version 13.0, consiste à utiliser CenteredInterval. Voici un CenteredInterval utilisé comme entrée d'une fonction de Bessel :
Il est possible d'apporter la preuve dans le langage Wolfram de plusieurs manières. En utilisant Reduce, FindEquationalProof ou CenteredInterval qui, en fait, tirent parti de l'évaluation numérique. Comme dans chaque nouvelle version du langage Wolfram, la version 13.0 comporte de nombreuses améliorations en mathématique. Par exemple, un nouveau moyen pratique d'obtenir les pôles d'une fonction.
Et voici les pôles exacts (et leurs multiplicités) pour cette fonction dans le cercle unitaire :
Maintenant, il est possible d’additionner les résidus à ces pôles et utiliser le théorème de Cauchy pour obtenir une intégrale de contour. Toujours dans le domaine du calcul, l’équipe Wolfram Research a ajouté diverses commodités à la manipulation des équations différentielles. Grâce à son potentiel en matière de théorie des graphes, l'équipe a également été en mesure d'améliorer considérablement le traitement des Équations différentielles ordinaires (EDO), en trouvant des moyens de les « démêler » en formes bloc-diagonales qui nous permettent de trouver des solutions symboliques dans des cas beaucoup plus complexes qu'auparavant.
Pour les Équation différentielle partielle (EDP ), il n'est généralement pas possible d'obtenir des solutions gén...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.