The deadline for submission of projects for Google Summer of Code (GSoC) 2011 has ended. Now, I will talk briefly about my proposal – which, in fact, has appeared as a suggestion on other issues of the GSoC program.
Scilab is a major scientific environments mathematical programming in free software available on the market, an alternative of comparable quality to proprietary environment Matlab. Its initial development occurred in 1990, promoted by researchers associated with the french institutions INRIA (Institut National de Recherche en Informatique et en Automatique) and ENPC (École Nationale des Ponts et Chaussées). In 2003 Scilab Consortium was created to promote the scientific software Scilab as a reference for academia and industry.
Scilab is used by various research centers, universities and industries around the world in diverse research as signal processing, simulation of fluid dynamics, combinatorial optimization, computational simulation, machine learning, among others.
Cantor – screenshot by Alexander Rieder
Cantor is a scientific software of KDE SC that serves as a graphical interface for mathematical processing software from a structure that provides plugins for these backends. Currently, Cantor supports the use of KAlgebra, Sage, Maxima, R, and GNU Octave.
The great interest for the use of Cantor is the possibility of working with scientific and mathematical programming in a modern setting, with available features such as printing of code, working on multiple tabs, have available a text editor with syntax highlighting, auto-complete gifts and more functions from the technologies of Qt and KDE library.
Well, my proposal aims to create a backend for Scilab in Cantor, thus promoting the environment supports this mathematical scientific nature of this software for KDE. So, give the Cantor even more visibility in academic and industrial community of mathematical programming as an alternative consistent and flexible graphical interface for the main mathematical programming environments available, particularly for Scilab which is one of the most used and widely recognized quality undisputed among others on the market.
To provide basis for the proposal, I’m developing code in pure C++ that calls Scilab to perform work. I use the API Scilab named call_scilab for it. This only serves to prove that it is possible to develop the backend via the API Scilab.
For example, let us define a matrix “x” in Scilab with 100 elements (click on pictures to enlarge):
Ok, this works! Now, we perform a mathematical operation with new definition and assignment of variables (y = 2 * x; z = 2 * x + 3 * y). First, in Scilab:
Now, in C++ code:
Finally, we will draw now the graphic of “z”. In Scilab:
And, using C++ code:
Well, the challenge now is to take it for implementation with Qt and C++, and develop the backend according to the standards of Cantor. Another challenge is about generating graphics in Scilab, but I already placed an alternative for implementation this in project that I sent to the GSoC.
I am very excited about the possibility of working with two communities of free software (KDE and Scilab) in GSoC. And, indeed, this project will be my puppy in KDE!
I’m hoping! Greetings!