 Je vais parler du contenu de Sylab Software, juste pour summariser ce que le Sylab est capable de faire, ce que le problème peut faire pour vous. Je vais parler du Sylab System, de l'environnement, puis quelques mots sur le langage, un détail, la principale fonctionnalité sera détaillée, et puis une comparaison entre Matlab et Sylab, parce que je vais parler en plus en détail de la comparaison dans le prochain détail. Le système. Il y a une version prébinaire qui est disponible sur le Sylab website pour le système Windows, GNU, Linux, HP, computers, et aussi une version contribuée pour MacOS 10, et pour un autre système, ou si vous voulez customiser le Sylab, c'est aussi possible de rébuilder directement de la source, comme c'est donné à l'application d'un software open source, et sous le Windows, cela peut être fait en utilisant les compilers Microsoft, including the last one visual express, which is free. Donc, vous n'êtes pas obligés de payer le licence to Microsoft to compile Sylab. Et aussi, si vous voulez avoir une computation efficace, c'est préférable to use Intel Fortran compiler to compile the Fortran part of Sylab, because part of Sylab are written in Fortran, in particular the numerical algorithms. And under Linux, you may use the traditional GCC and G Fortran compiler, but also it's possible to use Intel compilers. And for the other Unix-based system, you need X-Windows for computing Sylab, for compiling Sylab, and also either the GNU compiler or the Vendors compilers. So it's generally easy to do, because there is a configure and make file which allows to recompile it easily. So in the Sylab environment, you dispose of a full on-life help, which gives help on any words which are defined within Sylab. Each function, each operator are explained. The help is hypertext and most of the help files contain examples which can be run. Today the help is complete, but it is the quality of the help is not so good. It should be improved. There is also an integrated text editor which allows to type Sylab functions, Sylab scripts, and this editor has a colorized one, and it's also a support for a debugging tool. So it's possible to set breakpoints to remove them and to execute the code under control of the debugging tool. There is also numerous demonstrations which allow you to learn how to use Sylab, what Sylab offers to you. So there is a quite complete set of demonstrations illustrating all of these tools. And there are also a lot of tools which allow you to extend Sylab, to add new toolboxes, to add new libraries, for making other computation. So there is a tool which simplifies the rating of interface. Interface is a code we have to write between a library and the Sylab function. If you want, for example, to create a new computation function, you have to write a small part of code which connects the library with Sylab. This code can be automatically generated using an interface generator in the simplest case. There is also incremental linking capabilities which allow you to load incremental load toolboxes. And there is also tools for CN forefront library buildings. And these tools are very useful to not to take care of the underlying operating system. Few words on the Sylab language. As Claude said, there is due to the historical origin, there are many similarities with MATLAB. But Sylab and MATLAB, but Sylab is not a MATLAB clone. For programming, you have all the vector and matrix operation which are very similar to the MATLAB one. You have most of instruction of control for while if select try catch. It's also possible to define functions Sylab functions and libraries of functions. It's also possible if you want to have a to rule yourself the errors. There is error management tools. For example, if you want to catch an error and do something else when an error occurs, it's possible. There is also many supported data types like matrices and dimensional matrices which may contain double precision number, integer number long or short integer number Boolean Boolean value. There are also true matrices of character strings. So and there is sparse matrices for to make computation a very large matrices and there are also high level data structures like list, type list and for MATLAB compatibility to objects like cell and structs. Also a set of functions to manipulate files to get data or to put data on files and this file can be formatted or binary files then they can be in C or Fortran type in particular for binary files this has a special meaning C and Fortran does not store the data in the same way there is a special function to save all cell up functions all cell up variables within a file a binary file like the MATLAB save function and this variable can be loaded again into cell up all this, all the data types may be saved this way also there is some dedicated function to read for example Excel files, MPS for sparse linear system matrix market files or to read and write MATLAB binary files this is important for interoperability of two softwares I previously noticed that there is also a debugging tool and there is a tool for code optimization if you have a code which seems to be slow you can utilize it to view where are the weak points and improve them and it's possible to set break points to remove them and also to do profile of your functions cell up is also an open system open in the direction of other languages like the shell, under Linux or Windows tcltk language pearl and now Java it can be easily it can easily interface external code this code may be written in Fortran in C, in C++ or Java and so you can easily generate dynamic library without taking care of the operating system there is an API library which shows you to write your interfaces if you want to write find interface written manually there is an API which can be used this API is not well documented but there is a lot of examples available and there is also a compatibility library with the MATLAB max file so in most cases it's possible to import MATLAB max files directly within CELAB and this the first part was how to call external program with CELAB it's also possible to use CELAB as a computational engine for example if you have your own program and you want use CELAB for example for plot to use the graphic it's possible to call CELAB within your own code for graphic or for other computation a brief tour of CELAB functionalities as close already said you have a new graphic quite flexible for 2D and 3D graphs based on a flexible object oriented graphic environment with many available high level functions for 2D 3D visualization you can draw curve in Cartesian or polar coordinates you can draw histogram surfaces you can also plot iso-value curves and representation of surfaces all this graphic can be exported to on Postcript file Ennance Metafile for Windows system or Bitmap version like GIF or PPM yes there is a graphic property editor which allows you to modify all the property of the objects so once you have drawn a graphic and you have some detail you want to change for example the thickness of a line or it's color it's possible using the graphic editor to select the line and change interactively this property and there are also many specialized visualization functions like for CACD for signal processing for graph and networks representation and this graphic is also possible to perform animation if you want to make moving curve, moving surfaces or more complicated animation it is possible there is also a graphic user interface library which allow you to create menu and dialogue with the user so there is a short library with the essential function like sending a message like getting a value which are pre-programmed using the TCLTK interface it is also possible to track all the events which rise in the graphic window and make to attach some callbacks to these events for doing something for the to ease people to simplify the life for people coming from MATLAB there is also an emulation of the basic MATLAB function UEE control and UEE menu which are devoted for addition of graphic user interface and for complex graphic user interface you can use directly the interface with TCLTK and maybe use VTCL to create your graphic user interface and then write the callback which is the linear algebra library which is based on lapac and BLAST libraries and which give you the possibility to make all the all the computation on linear system solving linear systems least square problems again value, again vector problems subspace computation, projection computation of various factorization like SVD show factorization QIR, Scholeski et also part 4 sparse matrix with direct or iterative algorithms there are also univariate polynomials toolbox which support polynomial matrices but here the computation are done on the coefficients not symbolic computation so it's possible to do the basic arithmetic compute the greatest common divisor common multiple to perform spectral factorization invert computation evaluation of polynomials and you have mainly the same thing for matrix of rational fractions there is also a small statistics toolbox with the basic statistical functions mean, variance, standard deviation and so on large library for cumulative function distribution and their inverses for example the beta, gamma, normal poisson distribution student binomial key 2 and also a various set of random number generators maybe floating point numbers or fixed number using many distribution laws like beta binomial key 2 and so on and there is also a toolbox with high level function for statistics which is coming soon and developed by companies which we intend to contribute to salam there is also a signal processing toolbox with all the basic computations correlation convolution bias removal and the way to compute analog and digital filters it's also possible to filter signal to do spectral estimation time frequency analysis and the basic transform for signal like E50, DFT, Hilbert transform multidimensional FFT and so on and also linear model identification there are toolbox for simulation of differential equation either for explicit system ODE's based on the audio pack library which supported stiff or un stiff systems with or without zero crossing detection so it's possible to stop the simulation when a function comes to zero and there are also fixed methods and a function to solve multi point boundary value problem when you have ODE with constraint on the boundary it's also possible to solve implicit system or DIE using DASPK and DASRT which has diesel new versions this function enable to compute initial visible point and also to to rule the zero crossing detection there are also functions for minimization for linear and quadratic problem with constraints in the case of dense matrices for sparse matrices this is a contributed part and there are also tools for non linear minimization differentiable or not with bonds constraints and some other functionalities 2D and 3D interpolation approximation non linear function for zero computation of zeros of non linear function of set of non linear functions psychos and Ramin will talk about that which is simulink there are all the cssd classic computation and also robust approach and LMI optimization this part is quite obsolete and need to be rewritten there is also a way to do parallel computation today based on interface pvm and we have an interface with mpi which is on the way there is a toolbox for graph and network computing and a small interface with symbolic computation tools like maple and newpad it's not as integrated as in matlab you need to pass through files intermediate files but it's possible to make maple do some computation get the result into silab so few words on matlab and silab so many similarities due to their common origin main differences is the way matlab and silab handle functions in silab functions are variables or data types like matrices so it's possible to interactively define a function in the silab console and it's also possible to load files, external files but this can be done when you want there is no automatic mechanism to load function in silab by default it's possible to create libraries which allow you to do that but by default function may be explicitly loaded some basic function exist in the two languages like sum, prod but have a little difference on the semantics for example in matlab when you write sum of a the result the semantics of the function will depend on what a is if a is a vector the result of sum is the sum of all the elements of the vector but if a is a matrix the result is the sum of each columns vector which contains the sum of each columns in silab there are only one empty matrix written matrix with two dimension equal to zero in matlab it's possible to create empty matrices which has one dimension equal to zero and the other one not zero it's the matlab search is a little better many different in the way the variable are on the scope of the variable the way the variable are seen within a function if you refer a variable in the function and the variable is not defined in this function salby is able to look for this variable in the calling environment and if the variable exist in the calling environment it's possible to read it but only to read it it's not possible to modify it just few words for people who wants to go from matlab to silam I don't explain how to do the reverse just the way for matlab to silam we have developed a tool to help matlab and to help the translation of matlab file to silab this tool is named M file to SCI and the main difficulty we have to solve with this tool is the problem I mentioned just before the basic function semantics so for a good translation we need to infer the type and dimension of the objects we are working on takes all the matlab syntax into is able to read all the matlab syntax it's able to translate all the operators and most of matlab built-ins the graphic user interface function and some graphic function are still missing and there is also we have also developed at this time a dictionary which compare matlab and silab and this dictionary is available on the silab web pages to help for migration and this is finished