Wednesday, November 19, 2008

EngLab - Open Source Mathematical Platform

EngLab is a cross-compile mathematical platform with a C like syntax, intended to be used both by engineers and users with little programming knowledge. The initiative has been taken from a group of students a year ago.

"Our goal is to develop an easy-to-use computaion and simulation platform with a C++ like syntax. We have adopted Matlab's structure philoshophy and C++ 's structured language syntax. There are various toolboxes (packages of functions relative to a certain scientific field), which depend on open-source libraries." EngLab Team

The EngLab distribution is available in two ways: there are two basic Englab releases, EngLab Console and EngLab GUI. EngLab Console allows EngLab's execution through the console(Linux or Windows). EngLab GUI gives the opportunity of using EngLab through a graphical user interface. EngLab GUI is implemented with the use of the open-source library wxWidgets 2.8, providing additional usability compared to EngLab Console edition. EngLab GUI is independent, so there is no need for EngLab Console to be installed, in order to properly install and execute EngLab GUI.

Toolboxes are distributed as seperate packages. Their installation is possible either through EngLab Console or EngLab GUI. The reason is that those toolboxes depend on open-source libraries that have to be previously installed. So as the user not to be forced to install those libraries directly, user can install packages and toolboxes at his/her own will.

For the time being, EngLab Console edition is available for Windows and Linux and Englab GUI is available for Linux only.

Until now EngLab has the following features :

- 16 types of variable declaration (int, float, ...)
- Variable declaration with unlimited number of dimensions.
- Loop structures (for, while, ...)
- Arithmetic, logical and binary operations
- Constant number declaration (pi, phi, ...)
- Graphical manipulation of variable values of any dimension (Englab GUI)
- Adjustable graphical environment (Englab GUI)
- Editor for writing *.eng functions (Englab GUI)
- Command history for the last 5 sessions
- Immediate access to variables, constants and functions (EngLab GUI)
- Recent files opened through EngLab (EngLab GUI)

Toolboxes that have been fully or partially implemented:

- a package containing fundamental functions of C (trigonemetric, hyperbolic trigonometrical, ...)
- a package containing some statistic functions
- a package containing functions that allow convertions of the variable type

All these toolboxes accompany the basic two EngLab editions, since they do not depend on another open-source library. Moreover, some other toolboxes have been partially implemented:

- a package that contains functions for the manipulation of 2-D matrices (determinant, inverse array, ...). This package depends on the open-source library NewMat10.
- a package that contains functions for image processing. This package depends on the open-source library CImg.
- a package that contains functions for image processing. This package depends on the open-source library OpenCV.
- a toolbox for visual data representation(plots etc)
- a toolbox that contains functins for manipulating polyonymials, root detection, computation of integrals and derivatives, special functions and more.

No comments: