Software for Science & Math: R and Maxima (part I)

Sunday, April 11, 2010 at 7:11 PM Bookmark and Share
In the coming months, I plan to write a series of posts reviewing "must-know" mathematics everyone should be familiar with: important concepts from Calculus, Probability and Statistics.  Here I begin by introducing some free software you can use to follow along, or use for your own computational tasks. In future posts, I'll encourage a little hands-on learning of these applications by providing code and other information so you can recreate my figures and results. 

Science has emerged as humankind's most effective way of understanding reality.  The success of the scientific method is largely a product of two key components: (1) a strong reliance on empirical data, and (2) a precise and powerful theoretical framework to properly formulate hypotheses, make predictions about experimental outcomes, etc.

Skipping over the importance of data (for now), I'd like to introduce some computational tools that you might consider installing on your computer. The applications are the computing platform known simply as R, and the software for doing symbolic manipulations (e.g. algebra) known as Maxima. I should mention this software isn't just for goofing around and writing blog posts -- these applications can be used to do research-level mathematical, statistical and numerical work. So you may find on or both to be valuable assets.

Oh, right -- and did I mention they're both free?

I'm always encouraging others to try and beef up their computational, mathematical and statistical skill set. For some, it isn't always clear how those quantitative skills and insights will be useful, so there is some hesitation toward investing the time and energy to develop those skills.  So, before getting into the software, there are a few things worth saying about the role of mathematics and computation in science.

Why do we need math to do science?

Even if you aren't a big math or science geek, you've probably noticed that numbers are everywhere: time, money, medical tests, grades, credit scores, counting calories, almost anything you can think of. The same is true in science - essentially all data are numerical measurements.  As a result, to do anything with all those data we need at least a basic mathematical foundation. 

Why learn to use R and Maxima? 

In the world of scientific computing, we're primarily concerned with two kinds of computational tasks. Accordingly, there are two main types of software:
  1. Numerical computing software:  By far the most common applications: these include software for doing arithmetic, statistics, model simulation, etc. (I tend to call this number crunching apps).
  2. Computer algebra systems (CASs): using the basic rules of algebra to applying results from calculus, linear algebra, probability, abstract algebra, and other disciplines of mathematics. 
I use number crunching software much more frequently than CASs, and despite owning similar commercial software like Matlab, I almost always use R. When I need to tackle messy algebra, calculus or linear algebra my favorite free CAS is Maxima (using the wxMaxima front-end) or the far-from-free software, Maple.

In the next post in this series, I'll go into a bit more detail about using each of these applications.  In the meantime, here are some useful websites for installing and getting started with both R and Maxima:
  1. The R-project website is full of resources, but to get started check out this UMN website on downloading and installing R (works for various platforms).  If you install R on a windows computer (Mac users: ask questions, I'll try and provide answers) you might like to also install a good code editor, like Notepad++ (and NpptoR). 
  2. The official Maxima website at has all you need to get started, including this little tutorial among others. I'd suggest using wxMaxima given the option. You should also look at some examples of what you can do with Maxima, available as PDFs on this Univeristy of Hawii website.


Posted by: Hank hendricks | 6/23/2012 3:27 AM

Informative post...I like all the info..I appreciate you share it.

Church Software

Post a Comment