Filipe Saraiva's blog

Tecnologia, sociedade e política.

Proposal submitted to GSoC: Support Scilab in Cantor

with 8 comments

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):


and now, in a C++ code with call_scilab. In the left is the code; in the right, the executing program:

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!

Written by Filipe Saraiva

abril 10th, 2011 at 4:25 am

8 Responses to “Proposal submitted to GSoC: Support Scilab in Cantor”

  1. Thomas disse:

    Nice idea, I would really like to see that in Cantor.
    But what about ScicosLab (http://www.scicoslab.org/)?

    On the other hand I don’t see a great advantage for the user as Scilab is a simple text interface, anyhow.

    Really usefull would be a KDE frontend for Scicos (http://www.scicos.org/), because it seems that the guys from Scilab / ScicosLab are unable to create nice GUIs… 😉

    • Filipe Saraiva disse:

      Thank’s @Thomas, welcome to my blog!

      Well, Scilab is like the other software that has backends at Cantor – are command line that can also be written in large script text.

      So, Scilab can be supported on Cantor, because the other software such as R, GNU Octave and others, are also in command lines that allow the writing of scripts for running large tasks.

      About ScicosLab, he is a basically a frontend in GTK+ to a older version of Scilab. I prefer Scilab.

      About Scicos, really, interfaces in TCL/TK are very ugly! 😀 It would be interesting a more modern frontend to Scicos, but it would be much more difficult. Perhaps in the coming years, who knows? 😉

  2. Mathieu disse:

    Scicoslab is not free (the Scilab license is not free), low activity project and close sources.

    Thomas, you should have a look to Xcos which has a way better interface than the horrible one of Scicoslab…

    • Filipe Saraiva disse:

      “Scicoslab is not free (the Scilab license is not free), low activity project and close sources.”

      Exactly @Mathieu. Scilab license is a non-free license because it does not allow commercial distribution of a modified version of the software.

      Just to explain, Scilab (software) has changed its license to CeCILL version 2, which is compatible with the GPL. More informations about this licenses, go to http://www.gnu.org/licenses/license-list.html

      And, really, Xcos is better than Scicos!

  3. smls disse:

    Sounds great! I really hope you get the GSoC slot…

  4. Yevgen Muntyan disse:

    Can cantor be built outside KDE? That is, can it be built as a pure QT application so that it would work on windows and mac?

Leave a Reply