Wolfram Language & Mathematica step into another dimension, open packaging system

Wolfram Language & Mathematica step into another dimension, open packaging system

Wolfram Research has released version 12.1 of its Wolfram programming language and the technical computing system Mathematica.

The amount of new features detailed in a blog post by creator Stephen Wolfram is quite extensive, and has lots in store for those using either of the products to get to grips with machine learning. Version 12.1 for example saw the addition of Julia and R to the collection of external languages, which means the system’s capabilities should be more accessible to  data scientists now. 

Users who regularly make use of the Wolfram neural net repository will find 25 new types of nets there, including popular but computationally complex language representation model BERT, and Generative Pretrained Transformer 2, which is used for text-generation systems. The system now also comes with a symbolic NetGANOperator and a TrainingUpdateSchedule option, which are meant to, for example, allow general NetTrain functions in Wolfram to work with generative adversarial networks like those often used in unsupervised or reinforcement learning. 

Apart from that, importing implementations of new neural nets should become a bit easier in the future, since v12.1 now supports ONNX, an open format to represent machine learning models. Those working in image processing get more help with additions like FindImageText, which detects text in an image and marks it, while audiophiles get SpeechInterpreter and SpeechCases to experiment with.

If that isn’t enough dimension already, the new releases are the first to actively support computations on video material. Developers of complex recognition systems can therefore finally use machine learning or image processing capabilities on video, or do more simple stuff like extracting frame sequences or calculating all sorts of mean values.

Taking a step back, the Wolfram team has also been busy reworking Datasets. Users will be pleased to hear that they can now set defaults for how many rows and columns should be displayed and that they can control a Dataset’s appearance better now. Data beyond what can be seen in a notebook is stored directly in the notebook in the new release, which means it will still be accessible once it is reopened. Two-dimensional data, meanwhile, can now be entered and viewed with the help of experimental function TableView.

With the 12.1 release, paclets became a fully supported part of the Wolfram Language. 

Wolfram himself described them in his introduction as modular packages of code and other resources to deliver functionality. “A paclet can set up code to execute at startup time. It can set up symbols whose definitions will be autoloaded. It can install documentation. It can put items into menus. And in general it can set up assets to be used in almost any part of the fairly complex structure that is a deployed Wolfram Language system.” 

The paclet file structure contains “assets or resources of various kinds, together with a special PacletInfo.wl file that defines how the paclet should integrate itself into a Wolfram Language system”. And since paclets usually are distributed in a single archive file, they are easy to share, which is why a central contact point to do so is in the works already and should be available soon. However, while the function repository maintains the language’s consistency and structure, the paclet repository won’t necessarily do that and is thought of as a way of sharing complete environments for specific tasks.

More details on more mathematical additions and new visualisations can be found on  Wolfram’s blog.