A Proposal of a Mathematical Roadmap for Scilab DRAFT

A Proposal of a Mathematical Roadmap for Scilab DRAFT

A Proposal of a Mathematical Roadmap for Scilab DRAFT Micha¨el Baudin October 2010 Abstract In this document, we present a proposal for a mathematical roadmap for Scilab. We analyse the features of Scilab which may require an update. We also describe (a subset of the) missing mathematical features in Scilab. Em- phasis is on high level features and not on detailed specifications, which are managed by Scilab Enhancement Proposals (SEPs). In the conclusion, we try to select some developments and projects which appear to be reasonable choices. Contents 1 Introduction5 1.1 Features vs use cases...........................5 1.2 What for ?.................................7 1.3 The current state.............................8 1.4 Other softwares..............................8 1.5 Benchmarking speed...........................9 1.6 Benchmarking accuracy.........................9 1.7 What not to do.............................. 10 1.8 Users and features............................ 10 1.9 Methodology used in this document................... 11 2 Overview of Scilab 11 2.1 Basics................................... 12 2.1.1 Features.............................. 12 2.1.2 Libraries.............................. 12 2.1.3 Strong points........................... 13 2.1.4 Issues............................... 13 2.2 Classics in numerical analysis...................... 13 2.2.1 Features.............................. 14 2.2.2 Libraries.............................. 16 2.2.3 Strong points........................... 16 2.2.4 Issues............................... 17 2.3 Advanced numerical methods and tools................. 17 1 3 Floating point support 18 4 Complex support 18 5 Elementary and special functions 19 5.1 The current state............................. 19 5.2 Why it fits in Scilab scope........................ 19 5.3 Existing features in Matlab....................... 19 5.4 Suggested library to connect....................... 20 5.5 Existing tools which may require an update.............. 20 6 Dense linear algebra 20 7 Sparse linear algebra 20 7.1 Why it fits in Scilab scope........................ 20 7.2 Existing features in Matlab....................... 21 7.3 The current state............................. 21 8 Optimization 22 8.1 Why it fits in Scilab scope........................ 22 8.2 Existing features in Matlab....................... 22 8.3 Suggested library to connect....................... 23 8.4 Existing tools which may require an update.............. 23 8.5 Current projects to provide the feature................. 23 9 Modelization 23 9.1 Why it fits in Scilab scope........................ 24 9.2 Existing features in Matlab....................... 24 9.3 Suggested libraries to connect...................... 24 9.4 Discussion................................. 24 10 Statistics 24 10.1 Why it fits in Scilab scope........................ 24 10.2 Existing features in Matlab....................... 25 10.3 Existing tools which may require an update.............. 26 11 Design of Experiments 26 11.1 Suggested libraries to connect to Scilab................. 26 11.2 Why it fits in Scilab scope........................ 27 11.3 Existing features in Matlab....................... 27 12 Geometry 27 12.1 Features.................................. 27 12.2 Suggested libraries to connect to Scilab................. 27 12.3 Existing features in Matlab....................... 27 12.4 Existing tools which may require an update.............. 27 12.5 Why it fits in Scilab scope........................ 28 2 13 Partial Differential Equations 28 13.1 Why it fits in Scilab scope........................ 28 13.2 Existing features in Matlab....................... 28 13.3 Suggested library to connect....................... 28 14 Neural Networks 29 14.1 Existing features in Matlab....................... 29 14.2 Suggested libraries to connect...................... 29 14.3 Discussion................................. 29 15 Others 29 16 Conclusion 30 17 Acknowledgments 32 Bibliography 32 Index 33 3 Copyright c 2008-2010 - Consortium Scilab - Digiteo - Michael Baudin Copyright c 2008 - Consortium Scilab - Digiteo - Yann Collette This file must be used under the terms of the Creative Commons Attribution- ShareAlike 3.0 Unported License: http://creativecommons.org/licenses/by-sa/3.0 4 1 Introduction The goal of this document is to give an overview of the future possible computational (mathematical) developments in Scilab. Two main types of possible evolutions are analyzed : • update of existing features, • creation of new features. We emphasize that this document is an exploration of possible developments. It is not a definitive planning for these developments. It is draft and may remain a dynamical draft depending on the new developments made in Scilab. Hence, if you feel that the proposals suggested in this document do not match your particular needs, please contact the authors and share your point of view. In this introduction, we analyze the context of the computational features in Scilab. We begin by presenting the reasons for the update or the creation of new computational features in Scilab. Then we present the difficulties raised by the complexity of Scilab, which makes it difficult to have an overview of its current state. We briefly present a list of commercial or open source softwares which may serve as a comparison with Scilab and present resources which provide benchmarks for speed or accuracy of numerical softwares. In the final section, we present the methodology used in this document. 1.1 Features vs use cases It is completely impossible to discuss a mathematical roadmap without analysing the whole purpose of Scilab. As any other software, Scilab provide features which allow to solve use cases. This is presented in figure1, where the two dimensions of this situation are detailed. One the computational features axis, we find, for example, elementary functions, linear algebra, control, ordinary differential equations (ODE), optimiza- tion, statistics, control and many other features available in Scilab. On the use case axis, we find the automotive industry, aerospace, chemistry, finance and many other application domains for Scilab. Historically, the first features available in Matlab, the ancestor of Scilab, were linear algebra, driven by the will to use linear algebra libraries such as Lapack and Eispack. Then, engineers realized that this was a tremendous tool for Control, and add the associated features, plus ordinary differential equations. The Simulink tool and its Scilab counterpart, XCos, were created for that particular purpose. Afterwards, engineers in other fields found that it was possible to use this tool for many other use cases and asked for new features such as optimization and statistics. All in all, use case are driving the need for computational features in Scilab, under the condition that these features can be easily provided by Open Source libraries. The question that this document tries to analyze is the "..." presented in the figure1 in both dimensions. More specifically, we try to find • new use cases, 5 Use Cases Automotive Industry Aerospace ? Chemistry Finance ... O O S A L . i t l D p n g a Computational t e e E t i i m a s b s Features r t r i i z a c a s t i o n , where the round shapes represent the 2 6 Figure 1: The two dimensions of Scilab : features and use cases. new features or an update of existing ones. This situation is presented in the figure The need for update comes in two flavors : sometimes only a part of the feature • areas defined by existingthe features, question the marks "?" "U" represent symbols the represent new existing features features tois and be to created. beexample, updated, the while ODE sometimesmay solver be the in completely whole Scilabthere replaced component is a by is based complete the tocurrently on up-to-date domain be no OdePack, Sun which component replaced. to which Dials iswith solve is library. conservation not systems For laws of efficient, (that covered In partial is, by but there non differential some linear equations Scilab. are cases, hyperbolic associated existing systems). Forexactly. features In example, some For which example, other there are cases, Scilabthe almost is provide associated iterative completely sparse preconditionners. filling linearnumber a algebra There of solvers, existing domain, may but features be but which not unsatisfied. fills situations not basic where For situations, there example, but morethere are the advanced are a current needs many are statistics small more features advanced are statistics features existing which in are Scilab, missing. but Indeed, it mayitations. happen that In existingparticular some features use cases, case. have existing performance features or are accuracy not lim- allowing to completely solve a Use Cases ? U U ? ? ? U ? U Computational Features Figure 2: The current state of Scilab. 1.2 What for ? There may be a variety of reasons for the update or the creation of new features in Scilab. • A feature is completely missing. For example, there is currently no nonlinear optimization solver with non linear constraints. This feature is provided by the fmincon function in Matlab, for example. • Accuracy : the feature exists in Scilab, but its accuracy is poor. For example, we may wonder why the value of sin(264) is not the same in Scilab on all operating systems. • Speed : the feature exists in Scilab, but it is slow. For example, the sparse lin- ear algebra "lufact" function is slow, compared to the sparse LU decomposition provided in the UMFPACK module of Scilab.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    33 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us