Current Student Resources

Many useful utilities and applications are available on all the department computers. Some software is distributed with GNU/Linux and installed locally. For instance, every machine should have the Emacs editor installed. More specialized applications, such as Matlab and Maple, are also available, and are installed by the department administrators in the mounted directory /usr/local/net/ . Most of the available binaries are located in /usr/local/net/bin .

On some department machines, this directory is already added to your executable search path. In this case, you can simply enter the desired command at the shell prompt, e.g.

$ acroread article.pdf &

If this produces a "command not found" error, then the easiest solution is to add the shared bin directory to your path. Enter the command

$ PATH=/usr/local/net/bin:$PATH

if you want the shared executables to take precedence, or

$ PATH=$PATH:/usr/local/net/bin

to first look for locally-installed executables. You should add this command to your shell setup script (.bashrc.zshrc, etc) so that you don't have to enter it manually every time you open a new shell. You also may want to define shell aliases for your most commonly-used applications, especially if they take options. An example configuration file is provided here. You should source it in your shell setup script; for example, in .bashrc you source a script with the dot (.) command:

. esamconfig.bash

Matlab and Maple

Several versions of Matlab and Maple are available in the shared directory for department use. Most students prefer to use the graphical interfaces, which can be opened using the following commands:

$ matlab &


$ xmaple &

The ampersand (&) should usually be appended to commands opening an interactive GUI, so that the process is immediately put into the background and the shell can continue to be used while the program is running.

If your Matlab script takes awhile to run, you may be tempted to leave the machine with the screen locked and your script running. This is discouraged, since it prevents others from using the machine and is easily avoided by several better solutions.

In order to use the GUI commands, you must be running an X Server (which is true on any Linux desktop); X-forwarding must also be enabled if remotely logged in using SSH. See Working Remotely for details.

If you want to install Matlab on your personal computer, the student version can be purchased through the University.


A LaTeX distribution should be installed on every department desktop machine. If you need to use a package that is not part of the standard distribution (for instance, if you use Beamer for typesetting presentation slides), you can install them in your home directory as described here.

A good way to get started with typesetting using LaTeX is to ask an older student for an example of a source file. Then remove from this file everything except the structure. Now you can fill it with your own content, and wait until you have mastered the basics to learn about layout, document types, floating environments, etc. To learn how to write the actual markup, try these resources suggested by ESAM students:

Or see what the mathoverflow community recommends.

There are many free LaTeX distributions, so you should try installing one on your personal computer. For Windows computers, the standard distribution is MikTeX. Use your favorite text editor and compile from the command line, or use an IDE such as TeXnicCenter. On OS X, try TeXShop.

If you prefer to use LaTeX without writing the markup yourself, many people in the department use LyX, which is available in the shared directory or can be downloaded for your personal computer.

C, C++, and Fortran

All department machines should have local installations of the GNU Compiler Collection, which you can use to compile your C, C++, or Fortran sources using gcc, g++, or g77, respectively.

Older versions of the Intel compilers (iccicpc, and ifort) are also available in the shared directory. Before using any of these compilers, you should source the necessary environment variables by running the shell scripts (e.g. in their bin directory. Be aware that the Intel compiler flags do not always match the corresponding GCC flags.