Quick Links

With the back-to-school season in full swing, you may be wondering if you have what you need to succeed in your math and science classes. You’re in luck, as Linux happens to be one of the main platforms of math and science. You can use the same apps professionals do to earn top grades.

1 SageMath

Sagemath plotting a sine curve, as well as taking derivatives and integrals of a sine function in a Jupyter notebook.

SageMath is an open-source mathematics system that’s intended to be similar to Mathematica or MATLAB. You can do regular math but it’s so much more powerful than a regular calculator. SageMath is a computer algebra system.

This means that it works symbolically instead of just numerically. It can simplify algebraic expressions like square roots and display them the way they’d look in a textbook. You can solve equations, perform differential and integral calculus, work with matrices to solve systems of linear equations, and that’s just scratching the surface with SageMath. This will let you breeze through your toughest math and physics assignments. It’s also based on Python, which in itself will give you an advantage, as it’s one of the most widely-used languages in scientific computing.

2 SymPy

A plot of a sine wave in SymPy with the Ubuntu terminal

SymPy is a Python library that also works as a computer algebra system, similar to SageMath. The advantage of SymPy is that it’s a much lighter download and installation than SageMath, which is often over a gigabyte. SymPy can also manipulate algebraic equations and do advanced math like calculus. SageMath even uses SymPy as one of its components.

3 Stellarium

Stellarium web version showing night sky of Medford, Oregon

A lot of people are fascinated by the night sky. I was also one of those kids who loved space and astronomy growing up. If you’re like me or you’re taking an astronomy class, Stellarium would be a good app, even for amateur astronomy. Stellarium turns your Linux machine into a planetarium. You can see the constellations and planets as you would on the ground or up close, no spaceship required.

It’s used by many actual planetariums. This is one of the things that Linux does best, putting professional tools in the hands of ordinary people. There’s even a web-based version, so you don’t have to install anything on your local machine.

4 Avogadro

Avogadro in Ubuntu showing a carbon atom.

If you’re studying chemistry, there’s an app for you. Avogadro is an open-source program that lets you build and edit 3D models of molecules. Avogadro supports multi-threading rendering and computation, so you can win a Nobel Prize that much faster.

Avogadro is highly extensible in Python. It’s so widely used in chemistry that they even tell you how to cite Avogadro in a paper in their documentation.

5 Celestia

Celestia program showing the Earth

If Stellarium is meant to be a planetarium, Celestia might be the closest thing to having your own personal spaceship. You can zoom around and see the planets, stars, and galaxies. This is an essential program for people studying astronomy or perhaps those who just dreamed about being an astronaut when they grew up.

Celestial objects move around in real time, and you can download even more content. You can even make your own.

6 dc

dc in Ubuntu calculator showing result of 2+2, RPN-style.

dc is a command-line calculator. But it’s not just any calculator. It works in Reverse Polish Notation (RPN). In contrast to a standard calculator that uses infix notation, such as “2 + 2,” an RPN calculator uses a stack.

With RPN, you “push” 2 and 2 onto the stack, much as you would place two dishes on top of each other. The addition operation “pops” 2 and 2 off the stack and pushes 4 onto it, which is the answer. HP-branded calculators were famous for using this input method, and engineers who came of age in the ’70s and ’80s still swear by them. One reason they’ve stuck with RPN is that it’s easier than typing in parentheses for complicated formulas, which is why HP calculators were so popular among scientists and engineers, all while probably muttering something about “kids these days.”

You can experience RPN for yourself right at the command line. dc is one of the oldest commands that’s still in use, being originally developed at Bell Labs for Unix systems back in the 1970s, though the dc on modern Linux systems comes from the GNU project. dc is little-changed from its origins.

7 Qalculate!

Qalculate! running in Ubuntu

If dc is a terminal-based calculator, Qalculate! (yes, with an exclamation point) is a cross-platform calculator with all the bells and whistles. It bills itself as “the ultimate desktop calculator.”

You have all the usual mathematical functions, plus unit conversion, complex and infinite numbers, variables, and constants for physics and other sciences. It also includes CAS functions, including integration and differentiation. You can make plots of functions as you would on a graphing calculator. It even includes RPN as an optional input method. Handheld calculators with all of these features will run you hundreds of dollars, but Qalculate! is free of charge. It’s a STEM student and math nerd’s dream.

8 R

A plot demo generated in R with R running in Ubuntu terminal in the background

Statistics is a key element of data science, and R is one of the best tools to perform statistics and other data science operations. You can have all the standard descriptive statistics operations, such as mean and median, as well as standard deviation. R is also known for its ability to generate good-looking plots of your data.

R has a large community and there are consequently many packages you can download to extend R’s functionality. A lot of these are available from CRAN, the Comprehensive R Archive Network, obviously modeled on Perl’s CPAN archive.

9 Numpy, SciPy, Pandas

Calculating statistical mean and median on a list of random numbers using NumPy in the Ubuntu terminal

NumPy, SciPy, and pandas are similar to R, but instead of using a standalone programming language, are Python libraries for scientific computing and data science. As with R, there are a lot of methods for carrying out statistical operations, but SciPy and NumPy offer other advanced math operations using calculus and matrix operations.

10 GNU Octave

GNU Octave running in Ubuntu

GNU Octave is a software package that’s intended to be a free and open-source drop-in replacement for MATLAB. As MATLAB is widely used in science and engineering, if you already know it, you can get started using GNU Octave almost immediately. You can use matrices to solve systems of linear equations much more easily than you could by hand, and you can also make beautiful plots.

11 LibreOffice Calc

Descriptive statistics being shown in LibreOffice Calc on Ubuntu

You may wonder what a spreadsheet is doing in a list of math and science apps for Linux. Spreadsheets are for business, right? LibreOffice Calc can be useful for STEM as well. The spreadsheet format is easy to understand, and there are a lot of powerful operations you can perform, including statistics. If you’re doing data science, it’s an easy way to enter data before you export it to other tools. You can also use the charting function to visualize trends in your data, such as creating a linear regression. The rest of LibreOffice is useful for making reports and creating diagrams. You can also use LibreOffice Writer to do math as a party trick.


Because Linux is so widely used in the sciences, there are lots of programs you can use to help deepen your understanding of math and science concepts.