This article is part of the Learn with Linux series:

- Learn with Linux: Learning to Type
- Learn with Linux: Physics Simulation
- Learn with Linux: Learning Music
- Learn with Linux: Two Geography Apps
- Learn with Linux: Master Your Math with These Linux Apps
- Learn with Linux: Flashcards

Linux offers great educational software and many excellent tools to aid students of all grades and ages in learning and practicing a variety of topics, often interactively. The “Learn with Linux” series of articles offers an introduction to a variety of educational apps and software.

Mathematics is the core of computing. If one would expect a great operating system, such as GNU/Linux, to excel in and discipline, it would be Math. If you seek mathematical applications, you will not be disappointed. Linux offers many excellent tools that will make Mathematics look as intimidating as it ever did, but at least they will simplify your way of using it.

## Gnuplot

Gnuplot is a command-line scriptable and versatile graphing utility for different platforms. Despite its name, it is not part of the GNU operating system. Although it is not freely licensed, it’s free-ware (meaning it’s copyrighted but free to use).

To install `gnuplot`

on an Ubuntu (or derivative) system, type

sudo apt-get install gnuplot gnuplot-x11

into a terminal window. To start the program, type

gnuplot

You will be presented with a simple command line interface

into which you can start typing functions directly. The plot command will draw a graph.

Typing, for instance,

plot sin(x)/x

into the `gnuplot`

prompt, will open another window, wherein the graph is presented.

You can also set different attributes of the graphs in-line. For example, specifying “title” will give them just that.

plot sin(x) title 'Sine Function', tan(x) title 'Tangent'

You can give things a bit more depth and draw 3D graphs with the `splot`

command.

splot sin(x*y/20)

The plot window has a few basic configuration options,

but the true power of `gnuplot`

lies within its command line and scripting capabilities. The extensive full documentation of `gnuplot`

can be found here with a great tutorial for the previous version on the Duke University’s website.

## Maxima

Maxima is a computer algebra system developed from the original sources of Macsyma. According to its SourceForge page,

“Maxima is a system for the manipulation of symbolic and numerical expressions, including differentiation, integration, Taylor series, Laplace transforms, ordinary differential equations, systems of linear equations, polynomials, sets, lists, vectors, matrices and tensors. Maxima yields high precision numerical results by using exact fractions, arbitrary-precision integers and variable-precision floating-point numbers. Maxima can plot functions and data in two and three dimensions.”

You will have binary packages for Maxima in most Ubuntu derivatives as well as the Maxima graphical interface. To install them all, type

sudo apt-get install maxima xmaxima wxmaxima

into a terminal window. Maxima is a command line utility with not much of a UI, but if you start `wxmaxima`

, you’ll get into a simple, yet powerful GUI.

You can start using this by simply starting to type. (Hint: Enter will add more lines; if you want to evaluate an expression, use “Shift + Enter.”)

Maxima can be used for very simple problems, as it also acts as a calculator,

and much more complex ones as well.

It uses `gnuplot`

to draw simple

and more elaborate graphs.

(It needs the` gnuplot-x11`

package to display them.)

Besides beautifying the expressions, Maxima makes it possible to export them in latex format, or do some operations on the highlighted functions with a right-click context menu,

while its main menus offer an overwhelming amount of functionality. Of course, Maxima is capable of much more than this. It has an extensive documentation available online.

## Conclusion

Mathematics is not an easy subject, and the excellent math software on Linux does not make it look easier, yet these applications make using Mathematics much more straightforward and productive. The above two applications are just an introduction to what Linux has to offer. If you are seriously engaged in math and need even more functionality with great documentation, you should check out the Mathbuntu project.