# Difference between revisions of "Mathematica"

(Added installation notes for Mma 11) |
m (→Mathematica 11: added a link to Mma documentation) |
||

Line 78: | Line 78: | ||

[[Install]] {{AUR|mathematica}}. Obtain {{ic|Mathematica_11.XX.YY_LINUX.sh}} from Wolfram Research, along with an activation key. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu. | [[Install]] {{AUR|mathematica}}. Obtain {{ic|Mathematica_11.XX.YY_LINUX.sh}} from Wolfram Research, along with an activation key. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu. | ||

− | Mathematica 11 automatically creates a document folder 'Wolfram Mathematica' in $UserDocumentsDirectory, which is set by Mathematica according to [[XDG user directories]]: | + | Mathematica 11 automatically creates a document folder 'Wolfram Mathematica' in [https://reference.wolfram.com/language/ref/$UserDocumentsDirectory.html $UserDocumentsDirectory], which is set by Mathematica according to [[XDG user directories]]: |

xdg-user-dirs-update --set DOCUMENTS PathToDocuments | xdg-user-dirs-update --set DOCUMENTS PathToDocuments |

## Revision as of 13:25, 21 December 2016

Mathematica is a commercial program used in scientific, engineering and mathematical fields. Here we explain how to install it.

## Contents

## Installation

Since Mathematica is a non-free application and upgrades may incur costs, this section lists instructions for different available versions.

### Mathematica 6

#### Mounting iso

One way to mount the Mathematica `.iso`

is to create a `/media/iso`

mount directory and add the following line to the fstab:

/location/of/mathematica.iso/media/iso iso9660 exec,ro,user,noauto,loop=/dev/loop0 0 0

Now you can mount it with:

# mount /media/iso

#### Running the Installer

You can start the installer by navigating to:

/Unix/Installer

Run *MathInstaller* with:

sh ./MathInstaller

**Note:**If you do not place the "sh" in front, then you will get an error about a bad interpreter.

#### Fonts

Add the directories containing Type1 and BDF fonts to your FontPath.

### Mathematica 7

Mathematica 7 is much easier to install.

tar xf Mathematica-7.0.1.tar.gz cd Unix/Installer ./MathInstaller

Follow instructions.

For KDE users, the Mathematica icon may appear in the *Lost & Found* category. To solve this, execute the following as root:

# ln -s /etc/xdg/menus/applications-merged /etc/xdg/menus/kde-applications-merged

### Mathematica 8.0.4.0

On 64-bit machines, two known issues are present; but solutions are provided. The second issue is present on 64-bit installs: but not yet confirmed on a 32-bit arch setup.

The first issue assumes you are trying to use nVidia, CUDA and OpenCL libraries within Mathematica.

The 64-bit archlinux nVidia and opencl driver packages install libraries in `/usr/lib`

, not in `/usr/lib64`

as does nVidia's binary installer. This is not a problem: `/usr/lib`

is the correct location for 64-bit libraries on a 64-bit arch system. However, a 64-bit install of Mathematica will assume the drivers are installed in `/usr/lib64`

; other distributions that Mathematica has been tested on have their drivers in that location. The easiest method to overcome this is to make a symlink from `/usr/lib64`

to `/usr/lib`

. Mathematica will be able to find nVidia, CUDA, and OpenCL libraries this way without further tweaking.

A second, separate but partial solution, is to set the following environment variables:

export NVIDIA_DRIVER_LIBRARY_PATH=/usr/lib/libnvidia-tls.so

export CUDA_LIBRARY_PATH=/usr/lib/libcuda.so

This second method, however, still will not permit Mathematica to find the OpenCL libraries in `/usr/local`

as Mathematica seems hardwired to find them in `/usr/lib64`

.

The second issue with Mathematica 8 in 64-bit archlinux (may also affect 32-bit environments; but not tested) is a reproducible crash when performing WolframAlpha[] functions. By default, Mathematica is configured to detect the system's proxy settings when configuring how to connect to the internet to fetch data. A "bug" exists that will eventually crash Mathematica when the calling library is used. A workaround is to avoid this library call altogether by configuring Mathematica to "directly connect" to the internet. (*Edit > Preferences > Internet Connectivity > Proxy Settings*). This bug has been reported to Wolfram.

### Mathematica 10

Install mathematica^{AUR} (need historical version). The `Mathematica_10.XX.YY_LINUX.sh`

installation script is required; you will need to download this separately from Wolfram.com, your university, etc. You will also need an activation key.

### Mathematica 11

Warning: Mathematica Installs over 8G, so personal users may want to avoid installation on /root.

Install mathematica^{AUR}. Obtain `Mathematica_11.XX.YY_LINUX.sh`

from Wolfram Research, along with an activation key. Successful install may throw non-critical errors: xdg-icon-resource, mkdir, xdg-desktop-menu.

Mathematica 11 automatically creates a document folder 'Wolfram Mathematica' in $UserDocumentsDirectory, which is set by Mathematica according to XDG user directories:

xdg-user-dirs-update --set DOCUMENTS PathToDocuments

## Troubleshooting

#### Missing symbols

If you have font rendering problems where certain symbols do not show up (i.e. `/`

appears as a square), try uninstalling font-mathematica.

Also, try this solution. It also states the issue is fixed with Mathematica version 9.

Try having applications use anti-aliasing.
For KDE: *System Settings > Application Appearance > Fonts > Use anti-aliasing (Enabled)*

#### HiDPI / Retina Screens

If you have a HiDPI screen, such as an Apple Retina display, and the main text in Mathematica looks small when you open it, this can be fixed:

- Go to
*Edit → Preferences* - From the
*Advanced*tab, click*Open Option Inspector* - In the tree on the right, go to
*Formatting Options → Font Options → Font Properties* - Change the value for
*"ScreenResolution"*to double its current setting, e.g. 72 → 144. You can also use`xdpyinfo | grep resolution`

to get a more precise number (which will need to be doubled).