A Quick Look at Open Source Nu­mer­i­cal Com­pu­ta­tion for Win­dows

In this ar­ti­cle, we present some nu­mer­i­cal and sci­en­tific com­pu­ta­tional tools that the open source world has to of­fer to Win­dows users.

OpenSource For You - - Opengurus -

Math­e­mat­ics and sci­en­tific com­pu­ta­tion have be­come part of ev­ery en­gi­neer­ing work­flow. The ex­ten­sive nu­mer­i­cal pro­cess­ing re­quired in many fields like ma­chine learn­ing and an­a­lyt­ics is driv­ing tech­nol­ogy trends. Win­dows users needn’t have to worry, since there are many free and open source soft­ware when it comes to nu­mer­i­cal or sci­en­tific com­pu­ta­tions. This ar­ti­cle presents the var­i­ous op­tions that Win­dows users could try ex­plor­ing in this con­text.

Scilab

Scilab is an open source nu­meric com­pu­ta­tional pack­age gov­erned by the CeCILL li­cence (GPL com­pat­i­ble). It is a great al­ter­na­tive to MATLAB and is avail­able for use on Win­dows, Linux and Mac OS. The soft­ware pro­vides a rich set of func­tion­al­i­ties in sig­nal pro­cess­ing, sta­tis­ti­cal anal­y­sis, fluid dy­nam­ics sim­u­la­tion, im­age enhancement and other fre­quently used com­pu­ta­tions in the au­to­mo­tive, aerospace, med­i­cal, con­trol sys­tems and me­te­o­rol­ogy in­dus­tries. Scilab is also pop­u­lar in aca­demics for lin­ear al­ge­bra, trigonom­e­try, cal­cu­lus, dif­fer­en­ti­a­tion, ge­netic al­go­rithms and statis­tics. It is cur­rently gain­ing mo­men­tum in re­search fields like ma­chine learn­ing for its re­gres­sion, clas­si­fi­ca­tion and prob­a­bil­ity dis­tri­bu­tion ca­pa­bil­i­ties.

Apart from be­ing soft­ware that can be ac­cessed through a MATLAB-like GUI or an in­ter­ac­tive com­mand line,

Scilab is also ideal as a plat­form for ap­pli­ca­tions be­cause of its com­pu­ta­tional abil­i­ties. It is in­ter­op­er­a­ble with pro­gram­ming lan­guages like C, C++, Java, Python and Tkl, and cor­re­spond­ing Scilab APIs can be called from these ap­pli­ca­tions. Pro­pri­etary soft­ware like NI’s LabVIEW can also be made to call into Scilab to make the best use of both the pack­ages. Scilab also comes with a mod­ule called Xcos, which is a graph­i­cal sim­u­la­tion en­vi­ron­ment sim­i­lar to MATLAB’s Simulink. The soft­ware is known for its com­pat­i­bil­ity with MATLAB as it comes with a built-in code trans­la­tor that smoothly mi­grates MATLAB code to ver­sions com­pat­i­ble with Scilab.

The soft­ware can be down­loaded from http://www.scilab. org/down­load/lat­est.

GNU Oc­tave

An­other open source op­tion for Win­dows users is GNU Oc­tave, which is freely avail­able and re­dis­tributable soft­ware un­der the terms of the GPL as pub­lished by the Free

Soft­ware Foun­da­tion. Oc­tave is writ­ten in C++ and was first used in chem­i­cal re­ac­tor de­sign. Later, it got re­de­vel­oped for aca­demic, re­search and com­mer­cial ap­pli­ca­tions.

The soft­ware is built us­ing stan­dard nu­mer­i­cal li­braries like LAPACK (lin­ear al­ge­bra pack­age) and BLAS (ba­sic vec­tor and ma­trix oper­a­tions). Oc­tave re­sem­bles MATLAB closely, in terms of its fea­ture set and the syn­tax that it uses. It pri­mar­ily fea­tures lin­ear and ma­trix al­ge­bra, statis­tics, ge­om­e­try, sets, ob­ject-ori­ented pro­gram­ming, poly­no­mial ma­nip­u­la­tions, as well as sig­nal, im­age and au­dio pro­cess­ing. As a pro­gram­ming lan­guage, it is in­ter­preted and fol­lows a struc­tured pro­gram­ming style sim­i­lar to C with ac­cess to stan­dard li­brary func­tions and cer­tain UNIX sys­tem calls.

Its in­ter­preter has an open graph­ics li­brary (OpenGL) based graph­ics en­gine to cre­ate plots, graphs and charts. Oc­tave also gels well with pop­u­lar graph­ing util­i­ties like Gnu­plot and Plplot. Just like Scilab, Oc­tave is con­sid­ered as an­other great al­ter­na­tive to MATLAB.

It is avail­able for down­load at https://www.gnu.org/ soft­ware/oc­tave/down­load.html.

FreeMat

An­other open source op­tion for Win­dows users is FreeMat, which comes with an in­ter­ac­tive shell and is fa­mous for its 3D vi­su­al­i­sa­tion and plot­ting ca­pa­bil­i­ties in a way sim­i­lar to Mat­polib and R. The soft­ware ex­ten­sively uses the OpenGL li­brary that ren­ders 3D func­tion­al­i­ties. FreeMat fea­tures an in­ter­face to pro­gram­ming lan­guages like C, C++ and For­tran. Users can down­load it from http://freemat. sourceforge.net/down­load.html.

SageMath

SageMath, short­ened to Sage, is math­e­mat­i­cal soft­ware writ­ten in Python for al­ge­bra, ge­om­e­try, num­ber the­ory, cryp­tog­ra­phy, and var­i­ous other re­lated math­e­mat­i­cal fields. The of­fi­cial Sage doc­u­men­ta­tion states that the soft­ware is not na­tively avail­able on Win­dows but can be run with the help of a virtual ma­chine or the Cyg­win Linux API layer. How­ever, as Sage is pop­u­lar in the field of com­pu­ta­tions, I felt it worth­while to cover it in this ar­ti­cle. Its beauty is that be­sides its core func­tion­al­i­ties, it builds on top of nearly a hun­dred other es­tab­lished open source math­e­mat­i­cal pack­ages like SymPy, SciPy, Max­ima, NumPy, R, GAP, etc, thereby mak­ing it a rich col­lec­tion of func­tion­al­i­ties and a su­per­set of var­i­ous pack­ages. Users can in­ter­act with Sage through an in­ter­ac­tive shell or Jupyter notebook, which is a Web UI that Python users are fa­mil­iar with. The soft­ware also comes with ad­vanced math­e­mat­i­cal func­tion­al­i­ties like Dirich­let char­ac­ters, group the­ory, al­ge­braic ge­om­e­try, dif­fer­en­tial equa­tions, mul­ti­vari­ate poly­no­mial gcd and dis­crete al­ge­bra. In­ter­ested read­ers can re­fer to the of­fi­cial Sage man­ual to ex­plore all that it has to of­fer.

Newspapers in English

Newspapers from India

© PressReader. All rights reserved.