Happy Holidays

Wishing everyone a peaceful break and fewer broken jobs.

Mathematica

Mathematica is a technical computing environment and programming language with strong symbolic and numerical abilities.

Batch Submission

Unfortunately, it is not possible to run Mathematica notebook .nb files directly in batch. Instead, you need to create a simple text file that contains all of the Mathematica commands you want to execute. Typically, such files are given the extension .m. Let’s run the following simple Mathematica script as a batch job.

(*Find out what version of Mathematica this machine is running*)
Print["Mathematica version is " <> $Version]

(*Find out the name of the machine we are running on*)
Print["The machine name is " <> $MachineName]

(*Do a calculation*)
Print["The result of the integral is "]
Print [ Integrate[Sin[x]^2, x]]

Copy and paste the above into a text file called very_simple_mathematica.m

An example batch submission script for this file is

#!/bin/bash
# Request 4 gigabytes of real memory
#SBATCH --mem=4G
#SBATCH --mail-user=a.person@sheffield.ac.uk
#SBATCH --mail-type=ALL

module load Mathematica/13.2.1

math -script very_simple_mathematica.m

Copy and paste the above into a file called run_job.sh and submit with

sbatch run_job.sh

Once the job has successfully completed, the output will be in a file named like slurm-4835.out. The number at the end refers to the job-ID given to this job by the system and will be different for you. The contents of this file is

more slurm-4835.out

Mathematica version is 13.2.1 for Linux x86 (64-bit) (January 27, 2023)
The machine name is node301
The result of the integral is
x/2 - Sin[2*x]/4

GUI Usage

To use Mathematica in GUI mode you will need to be in a flight graphical session on Stanage and start a terminal inside of the flight session.

module load Mathematica/13.2.1

Load both the Mathematica and QT modules (Mathematica requires the Qt framework/library to create its graphical user interface). To start the IDE you will need to type Mathematica.

#load the necessary modules
module load Mathematica/13.2.1
module load Qt5/5.15.7-GCCcore-12.2.0

#Start Mathematica in GUI mode
Mathematica

Installation notes

These are primarily for administrators of the system.

Set the the University network Mathematica license in /opt/apps/testapps/common/easybuild/hooks/default.py.

Download the Mathematica package, Mathematica_13.2.1_LINUX.sh, from Wolfram.

mkdir -p /opt/apps/testapps/media/eb-srcs/m/Mathematica/
mv Mathematica_13.2.1_LINUX.sh /opt/apps/testapps/media/eb-srcs/m/Mathematica/

Mathematica was installed using Easybuild 4.7.0, build details can be found in $EBDEVELMATHEMATICA

Testing was performed using the above examples.