The IT revolution is being unleashed on a day-to-day basis. Apart from intelligent programmes being written to perform various automation tasks, there is a whole spectrum of utilities that has made complex problem analysis and solving possible. Together, these heavy-on-mathematics computer utilities are called numerical computation tools.
Numerical computation tools that run on GNU/Linux platform such as Ubuntu, Debian or Fedora are a huge blessing for all mathematical computation ‘freaks', be it students or researchers. The expensive proprietary utility, Matlab, may be a leader in terms of introducing newer applications, but the Free (as in ‘freedom') Software alternatives available are not lagging in any way.
The most famous Free Software tools are GNU/Octave, Scilab, and the powerful Python language (with its gamut of libraries) — all licensed under the GNU General Public Licence.
Computer programmes for long have been assisting researchers and engineers in solving complex problems involving heavy designing or data analysis.
Today, with the growth in communication technologies (gadgets and real time embedded systems), information signal processing requires an exorbitant amount of analysis, visualisation and computation to understand and solve problems.
The realms of signal processing applications are expanding and comprise specific domains such as speech processing, image processing, circuit analysis, control system design and many other fascinating problem areas. These tools, today, provide efficient tools to probe into these problem areas.
Why Free Software?
Licensed versions of proprietary tools such as Matlab are costly commodities that organisations may be able to afford, but are certainly out of reach for individuals. The low-price student versions come with limited library support and run time, after which the validity of the tool expires.
Thus, the most sensible option available is the rich tools available in the Free Software domain.
These tools, apart from being technically on a par with their proprietary counterparts, are also free in terms of licensing fee and, most importantly, they offer the freedom to explore and understand how each of the library functions actually performs sophisticated computation task.
Sneha Das, an undergraduate engineering student and a signal processing enthusiast, is glad she discovered the whole spectrum of Free Software tools available for numerical computation.
“If it wasn't for the Free Software tools such as GNU Octave, Scilab or Python, working on projects by relying only on college computers that have Matlab would have made it impossible for a learner like me,” she says. GNU Octave is one of the closest tools to Matlab; even the syntax of the code is similar and codes written on Matlab platform can be directly ported onto a GNU Octave environment for analysis.
Scilab is another Free Software utility, which apart from numerical computation also provides the option of simulating and building hybrid dynamical system models that can be effectively used for academic or industry purposes.
While Python is known to be a versatile programming language, the numerical computation libraries that can be loaded with Python — such as numpy, scipy, matplotlib and other extensions such as Mayavi for 3-D rendition — make it a favourite among developers trying to solve a computation problem wholly.
Apart from performing mathematical computation, Python allows users to exploit the innate advantages housed in the language itself.
Extended applications such as building a graphical user interface or performing queries on network sockets can be easily incorporated using Python.
Bank on them
These Free Software tools are used in crucial applications and are heavily reliable. For instance, the Python extension Matplotlib is used by NASA for simulation and tests, while Mayavi by the Indian Bureau of Meteorology. With hundreds of engineering colleges in Karnataka, and thousands across the country that require numerical computation tools as part of the curriculum, the use of these Free Software tools would encourage students to learn better and deeper, while saving astronomical amounts of money.
Keywords: numerical computation tools