Missing Mathematical features in Scilab - Scilab Wiki

Missing Mathematical features in Scilab

Michaël Baudin

Abstract

In this document, we detail (a subset of the) missing mathematical features in Scilab. Emphasis is on missing macro-features and not on detailed specifications which are managed by Scilab Enhancement Proposals (SEPs). For each mathematical problem, we analyse the following points :

We try in this document to focus of macro-features and not on the implementation details (low level specifications). Macro features are associated to classes of mathematical problems which cannot be solved with current Scilab tools. Micro features are associated to existing features which have practical or theoretical limitations.

Let's give an example of this by analyzing shortly the optimization features. The "optim" optimization primitive does not allow to enable/disable parameters while the optimizing and this really is a missing feature, but we call it a micro-feature. By comparison, the fact that nonlinear constraints cannot be taken into account is a missing macro-feature.

Detailed feature requests should be written as Scilab Enhancement Proposals.

When a library is suggested for connection, one should pay attention to at least the following points :

These features may be classified in the following mathematical domains, which are detailed in next sections :

Optimization

This is a list of missing optimization features in Scilab. Theses features are not available in current Scilab toolboxes.

References

Why it fits in Scilab scope

Optimization features are allready part of current Scilab features and several Scilab toolboxes.

Suggested library to connect

"OPT++ is a library of nonlinear optimization algorithms written in C++. The motivation for this package is to build an environment for the rapid prototyping and development of new optimization algorithms. In particular, the focus is on robust and efficient algorithms for problems in which the function and constraint evaluations require the execution of an expensive computer simulation. Currently, OPT++ includes the classic Newton methods, a nonlinear interior-point method, parallel direct search, generating set search, a trust region - parallel direct search hybrid, and a wrapper to NPSOL. Between these methods, a wide range of problems can be solved, e.g. with or without constraints, with or without analytic gradients, simulation based, etc. OPT++ 2.4 is now available on a variety of platforms under the GNU Lesser General Public License" Opt++ is developed at CSMR Department Projects at Sandia National Labs in California by Patty Hough, Juan Meza, Ricardo Oliva, Pam Williams.

http://csmr.ca.sandia.gov/projects/opt++/

Coin-OR (more specifically CLP and CBC) is a linear programming library can do mixed integer programming, supports sparse matrixes and was before 2004 a commercial product from IBM (OSL). This library was competing (and is still competing) with CPLEX. Interface to CLP is the subject of SEP #6 by Yann Collette :

http://viewvc.scilab.org/bin/cgi/viewvc.cgi/trunk/SEP/SEP_6_clp.odt

ConMinis a fortran routine written by G. Vanderplaats at NASA for Nastran.ConMinis behind every optimization performed with Nastran. This optimization method allows to perform constrained optimization and is based on the feasible directions method (no problem with a Hessian matrix, only vectors are stored). A first toolbox has been written to interface this method to Scilab.http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=1086

Modelization

This is a list of missing features in Scilab:

References

Why it fits in Scilab scope

Non linear models are used in almost all scientific disciplines like systems control, optimization, simulation, etc ...

Suggested library to connect

Statistics

Statistics are partially covered by current Scilab features, but some tools are still missing :

References

Why it fits in Scilab scope

Scilab allready include several statistical services.

Design of Experiments

Design of experiments are a method to approximate the behavior of a system with polynomials.

DOE are completely uncovered by current Scilab features. To include it into Scilab, the following features should be added :

Matlab currently provides the following DOE features :

Suggested libraries to connect to Scilab

Lolimot is a project developed by Yann Collette for the management of DOEs in Scilab. It is available with LGPL license : The scilab package is dedicated to design of experiments for:

http://lolimot.sourceforge.net/

Why it fits in Scilab scope

DOEs would particularly fit in the Scilab environment because of the following reasons :

Sensitivity analysis

Sensitivity analysis engines are tools which are commonly used by engineers who optimize simulated systems. But most of the time, this is done manually because of time limitations and because sensitivity analysis tools are not commonly available.

Scilab may provide a sensitivity analysis engine, probably as a toolbox which could expose the following features :

This feature would particularly fit into current Scilab system for the following reasons :

Geometry

Scilab does not provide geometry tools. Geometry is involved in many scientific problems, such as, ..., such as everywhere.

Features

The following is a list of subset of features which may be available as a toolbox.

Suggested libraries to connect to Scilab

That work may be done by providing a connection to existing geometry libraries, such as the open source project CGAL : http://www.cgal.org/ The CGLAB toolbox is available at : http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=323

Why it fits in Scilab scope

Such a feature would particularly fit into Scilab for the following reasons :

Partial Differential Equations

PDEs appears in the following mathematical fields :

There is currently no Scilab component to solve PDEs. Introducing PDEs solvers may require the following softare components :

Why it fits in Scilab scope

No idea, really ?

Suggested library to connect

Summary :

FreeFem is a Finite Element library in C++ under LGPL : http://www.freefem.org/ff++/index.htm

FreeFemis developped at Laboratoire Jacques-Louis Lions by highly recognized experts Olivier Pironneau, Frédéric Hecht, Antoine Le Hyaric.FreeFemis about to be released with a support for 3d problems (the 3.0beta can be downloaded at http://www.freefem.org/ff++/ftp/). FreeFem is available as a Scilab toolbox :http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=149

The toolbooxSciFreefemby Frederic Hecht (modified by Yann Collette) is available :http://www.scilab.org/contrib/index_contrib.php?page=displayContribution&fileID=883

CLAWPACK is a software package designed to compute numerical solutions to hyperbolic partial differential equations using a wave propagation approach. It is developed by Randall J. LeVeque, Jan Olav Langseth, Marsha Berger, David McQueen, Donna Calhoun, Peter Blossey, Sorin Mitran. License is "research and instructional use only." http://www.amath.washington.edu/~claw/ The new version of clawpack 5 (under development beta) is licenced under GPLv3+ http://kingkong.amath.washington.edu/claw/www/claw50beta.html

Missing Mathematical features in Scilab (last edited 2009-09-07 07:11:55 by michael.baudin@scilab.org)