Mathematica

Description

Mathematica is a symbolic maths program.

User instructions

Mathematica is available via the modules system. Load the appropriate module using (e.g.):

$ module load mathematica/12.0.0

The programs math and mathematica are then available in your environment and are command-line and GUI versions of mathematica respectively. Extensive documentation is available on the Wolfram website and from the built-in help system.

If you have issues with the command-line version interface, you can try using rlwrap:

$ rlwrap math

If you want to have a proper menu entry for a particular module version you can do the following:

cp /common/debian/9.1/Core/mathematica/mathematica-12.0.0/SystemFiles/Installation/wolfram-mathematica12.desktop ~/.local/share/applications/
rsync -a /common/debian/9.1/Core/mathematica/mathematica-12.0.0/icons ~/.local/share/

And then when you log out and back in it should appear (usually under the heading “Other”).

License

Commercial package. College now has a site license from which we obtain a network license. Students and staff can also get a license for their personal computers: follow the links at the ICT software page for details.

Admin notes

First, I created a network license and obtained an activation key in the Wolfram User Portal. This provides acess to the install media in the Worlfram User Portal for both Mathematica and the MathLM license server.

Installation is straightforward: run the downloaded Linux installation script. The installation script allows Mathematica to be installed in an arbitrary location. There is a chance the installation will exit with an error due to the inability to create menu entries on the main server. The installation is fine however. So that workstations will find our license server, a mathpass file needs to be created in Configuration/Licensing pointing to it as, e.g.:

!ramsay.cmth.ph.ic.ac.uk

The license server needs to be installed on the main server also. This will need to be redone for each major upgrade as the license server is backward but not forward compatible. I installed the MathLM license server using the installation script. The script provides a mathid which, together with the activation code, can be used to generate the password required to complete the installation. The link to generate the password is just above the list of activation keys in the User Portal.

Then a systemd unit can be created to manage the mathlm process:

[Unit]
Description=Mathematica license manager
After=network.target

[Service]
ExecStart=/usr/sbin/mathlm -foreground -pwfile /usr/local/Wolfram/MathLM/mathpass
Restart=always

[Install]
WantedBy=multi-user.target

In order to allow clients to access the license server, 16286 must be opened in the firewall. Before installing new versions of the license server, the mathlm service needs to be stopped. It can be started again once complete.

So that users could grab the icons if they want to create a menu entry as described earlier, I gathered them all into the modules hierarchy as follows:

cd /common/debian/9.1/Core/mathematica/mathematica-12.0.0
mkdir icons
cd icons
rsync -auv --include="wolfram*png" --include "*/" --exclude="*" --prune-empty-dirs /usr/share/icons/hicolor .

License renewal

When the license expires, you should be able to obtain a new network license from the college site license. In order to do so, you will first need to register or login to your Wolfram account on https://account.wolfram.com and then fill in an activation key request form, which can be found following the link at https://www.imperial.ac.uk/admin-services/ict/self-service/computers-printing/devices-and-software/get-software/get-software-for-staff/mathematica/. This was very quick and I received an email with an activation key for the new network license and a link to the download page for the MathLM license manager. The installation process will print the MathID of the computer, which can be used together with the activation key to generate a unique password at https://user.wolfram.com/portal/passwordrequest.html. Then systemctl restart mathlm will start it running with the new license.