The Math@UNC virtual machine is an Arch Linux environment that can be run in the VirtualBox application available for all major operating systems (Windows, MacOS, Linux).
Packaging public domain software in a virtual machine avoids time-consuming installation and configuration of individual applications. Also, students and instructors work in the same standard environment making it easy to learn computational mathematics concepts and techniques.
This introductory lesson presents the basics of working in the Math@UNC environment.
Many computer operating systems and individual applications provide a graphical user interface (GUI). Prior to the development of GUIs, applications were invoked in a character-based terminal using what is known as a Command Line Interface (CLI).
A CLI is available in Math@UNC through the Terminal application. It is often more efficient to work in a CLI, and learn to use some basic commands.
Files are organized in a hierarchical tree of directories in Linux. Your home directory is /home/student and common directory commands include:
Print working directory
List files in current directory, ls -al lists all information about files
Make a new directory
Remove a directory
Common commands:
Remove (erase) a file
Copy a file
Subversion is a version management application that is used to deliver up-to-date course material in Math@UNC. Subversion has many commands, but the main one used in coursework is
svn update executed in a course directory to download the most recent course material.
Midnight commander is a character-based file manager that allows browsing the directory tree, and manipulating files and directories.
Octave is a scientific computation application available both at the CLI and at the GUI. It can be used as a quick calculator or to develop complex applications. Octave usage is introduced during coursework.
Maxima is a symbolic computation package available both at the CLI and at the GUI. It carries out operations encountered in calculus, algebra, geometry.
Math@UNC uses the XFCE4 GUI under Arch Linux. The main applications used in coursework are listed below.
TeXmacs is a scientific editing platform that allows efficient composition of mathematical text, and can also contain sessions from other software applications such as Octave or Maxima. This allows the production of “live” documents in which students can immediately experiment with mathematical concepts presented in the document.
The GUI version of Octave adds on sophisticated plotting, editing, and debugging to the capabilities of the CLI version.
This is the GUI version of Maxima, and allows construction of notebooks that combine multiple analytical, graphical and numeric computations into a single document
JupyterLab is a web-based application that runs in a browser (e.g., the Firefox browser), and provides a notebook interface to Octave, Python, Julia, and Sage. Python is a general-purpose interpreted language, Julia is a high-performance interpreted language meant to provide better performance than Octave/Matlab, and Sage is a complete system that combines several public-domain mathematics packages into a common interface glued together with Python.