The Best Free Computer Algebra System
Many exist but one free one is coming out on top.
Hello readers. In trying to buck my trend of at least one article per month I unveil to you another article just a day or two after my last! This one has to do with a free Computer Algebra System (CAS) that I have used on and off for years along with my vast toolkit of software but in the last few years this is a tool I have come to rely more heavily upon in relation to paid alternatives. It’s ease of use and stability have improved greatly over the last few years.
What is a CAS you might ask? A CAS is also known as Symbolic Algebra System (SAS). This means the system handles mathematics in a way similar to how humans handle symbolic math. In simple terms, fractions are kept, simplification is performed and standard algebra rules are followed. Mastering the use of one of these systems is like having your own near infallible math professor at your side.
Unfortunately these systems have been quite expensive with prices ranging from the high hundreds to the several thousands of dollars. Over the years many free products have tried to fill the niche that offered CAS capabilities. Hand held scientific calculators have added CAS features. The very best handhelds have quite good CAS systems but also cost a lot, usually in the $150 USD range and above. Also the screens while larger, are still small compared to a full computer monitor.
A full featured, free desktop CAS option always seems to land back to the subject of this article, Octave. This is an open source product, completely free to use and cross platform on Windows, Linux and Mac. The cross platform ability and lack of commercial backing does lead to some weird constraints sometimes. For instance the latest version states clearly that Microsoft messed with the Command Prompt and requires you to turn on a legacy setting to ensure command prompt capability. It’s a minor setting change you need to make.
The images showing its location are clear and anyone can do it as it is just a toggle in the Windows GUI to do. In exchange for this minor inconvenience you get a full featured “Big Iron” CAS. Big Iron in the term of old super computer usage. This is a full features CAS. You can pull data from files, process them any which way using a fully built in programming language then write them back to files.
The mathematical toolkit provided is more than enough for standard mathematical and scientific work. More esoteric fields will require you to either look for free toolkits or program your own. However, if you are operating in those fields programming your own should not be too difficult as you would be aware of what you need to do mathematically and once you can program moderately you should be able to achieve anything you need to do with Octave.
The reason for this is, as with most full featured CAS systems you can execute system level commands or programs in other languages you have created as executables. The return data can then be seamlessly returned and parsed by Octave and further computations can then be applied to the data. This offers the maximum level of flexibility as ANY processing can be done on ANY data. Let me give a rather involved example to show the power.
Say you have a robot you built that broadcasts its telemetry via some custom protocol that you have developed. You have a program written that is running on your PC for the robot which is displaying this data on your screen. Due to the fact that you were a student of mine in one of my computer classes you realized that this data could be processed mathematically to give a basic robot vision system! The only problem is you don’t have $1500 USD to buy a license for a software that has a vision analysis kit. You search on the web and find an algorithm that can easily be implemented, use Octave to implement it then write a program to stream the robot’s data into Octave via a key press. The entire system comes together and you have developed a new computer vision system for your robot that you can optimize and upload to the robot itself to have it navigate obstacles without a PC to guide it.
As from the above example I hope readers can see there is no magic to these things. If you have visited certain areas of the West coast of the US and seen experimental robot food delivery units or experimental robotic taxis there is no magic. This technology can be developed by anyone with the right tools and know how. However the tools are a major hindrance since the existing body of knowledge is written in dense mathematical algorithms that are very, very difficult to translate into standard programming languages. A mathematical tool like Octave could allow you to bridge this gap relatively easily.
Admittedly it has taken a large part of my professional life to become versed in doing stuff like this so the example may be a bit contrived. However Octave can work as a super scientific calculator to help you understand even basic mathematics. It can be a fantastic teaching aid to younger children if someone who knows the software uses it to assist them in understanding the mathematical concepts.
You just type in mathematical operations and the answer pops out. You can EASILY complete the Standard (Grade) school curriculum through University level mathematics with no problem using Octave. There are many tutorials online and more coming each day.
Octave can be downloaded for free from:
The install takes about 1.5 GB which is standard fare for programs of this type. It is quick and painless only requiring that one little setting change they show you how to do after installing. You can then utilize a super scientific calculator with vast programming capabilities for free.
Even if you have no intention of doing advanced mathematical analysis Octave can still be an awesome tool for data analysis. It can process data sets from exported CSV files with almost no programming. This data can be modified with all sorts of processing that would be impossible to do in a standard office application.
Possibly the reason most people should try it is to understand what is driving the technology they are using. More and more users are becoming much more disconnected from the technology they are using. What tools did the people who developed that “facial unlock” on your phone use? Did they acquire alien technology? Possibly it was technology that costs hundreds of thousands of USD? In the old days the latter was the case but not today! They used tools like Octave to do it.
When you actually use these tools, even if it is for high school mathematics you are using the exact same sort of tools the people who developed the technology you have come to depend upon used to create that technology. This in itself is empowering. The more you use a tool for anything, the more familiar you get with it. Not understanding the technology you are using is highly dangerous. It allows people with extensive domain expertise to be able to easily fool you with marketing, empty claims and outright untruths. An advanced degree and experience in a field gives no one the right to disregard the concerns of the users of their technology. I don’t care if it is electronic or even biological. Technology is technology.
I have personally used the high end commercial tools as well as the many open source tools. I have been guilty of uninstalling and reinstalling the paid trials when I needed more evaluation time! All of these expensive and complex tools can be replaced by the free Octave. The expertise required is up to you. Your expertise is the batteries required for operation of Octave. Starting small and simple is always the way to go. Everything looks insurmountable when you join the technology party late. I always advice my students and paying training professionals to start simple. Don’t be afraid to go back to 1970s technology and work your way up. The modern technology is just smaller and smaller circuits backed by faster and faster processors crunching vastly larger data sets.
Feel the power of executing mathematical and logic operations on 1 million rows of data like a pro! To appreciate technology you must first appreciate what it has done and is doing for you and TO you. I hope you enjoyed this article.