commented demonstrations of scilab, the free platform for ... · commented demonstrations of...

16
Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha¨ el Baudin 1 1 Digito Rocquencourt [email protected] July 2011 The free and open source software for numerical computation 1

Upload: others

Post on 14-Mar-2020

18 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Commented Demonstrations of Scilab, The freeplatform for Numerical Computation

Michael Baudin1

1DigitoRocquencourt

[email protected]

July 2011

The free and open source software for numerical computation 1

Page 2: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

The free and open source software for numerical computation 2

Page 3: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Licence and Project

• This file must be used under the terms of the CreativeCommons Attribution-ShareAlike 3.0 Unported License:

http://creativecommons.org/licenses/by-sa/3.0

• This demonstration is based on the open source collection ofdemonstrations available at:

http://forge.scilab.org/index.php/p/scidemo/

Copyright c©2010-2011 - DIGITEO - Michael Baudin

The free and open source software for numerical computation 3

Page 4: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Introduction

Goal of this presentation

• An overview of some classical numerical methods available inScilab

• A simple demo for selected functions

Contents

• Complex Elementary Functions : the acosh function

• Dense Linear Algebra : the spec function

• Optimization : the optim function

• Differential Equations : the ode function

• Probabilities/Statistics : the grand function

The free and open source software for numerical computation 4

Page 5: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Complex Elementary Functions

Elementary Functions

• More that 60 elementary functions: cos, sin, exp, log, ...

• Degree-based (sind, cosd, ) for accuracy (Matlabcompatibility)

• Special functions : gamma, beta, erf, etc...

• Open Source Libraries : SLATEC (e.g. bessel*), SPECFUN(e.g. calerf).

• Discrete maths: factorial, gamma, gammaln, binomial, ...

Mathematics

• Elementary functions are extended to complex arguments.

• A branch cut is a line of discontinuity of an inverse function.

The free and open source software for numerical computation 5

Page 6: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Complex Elementary Functions

Elementary Functions• Example : the branch cut for acosh are z ≤ −1 and z ≥ 1• Demonstration : Demos / scidemo / complex functions /

acosh• Authors : Pincon 2001, Marechal 2008, Baudin 2010

The free and open source software for numerical computation 6

Page 7: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Dense Linear Algebra

Dense Linear Algebra

• Matrix algebra: +, -, *, ./ , , etc

• Matrix functions : expm, pow, logm, cosm, etc...

• More than 50 dense high level linear algebra functions:backslash, lu, spec, svd, chol, lsq, etc

• Open Source Libraries : BLAS, LAPACK

Mathematics

• The right eigenvector x and eigenvalue s of a matrix 2-by-2real matrix A are satisfying the equation : Ax=sx.

• If x is along the unit circle, Ax is allong an ellipse.

• If the matrix A is symmetric, the major and minor axes of theellipse are the two eigenvectors and the eigenvalues are real.

The free and open source software for numerical computation 7

Page 8: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Dense Linear Algebra

Dense Linear Algebra

• Example : the spec function computes theeigenvalues/eigenvectors

• Demonstration : Demos / scidemo / eigenvalue show

• Authors : DIGITEO - Michael Baudin - 2010

The free and open source software for numerical computation 8

Page 9: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Optimization

Optimization

• Nonlinear unconstrained (or bounds) optimization : optim

• Nonlinear least squares: leastsq, lsqrsolve

• Derivative-free nonlinear optimization: fminsearch

• Linear, quadratic optimization: qld, karmarkar, qpsolve

• Global optimisation: optim ga, optim sa

• Open Source Libraries : qld, Modulopt

Mathematics

• The Rosenbrock problem: min. 100(x2 − x21 )2 + (1 − x1)2

• The starting point is: x = (−1.2, 1)T

• The global minimum is: x = (1, 1)T

The free and open source software for numerical computation 9

Page 10: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Optimization

Optimization• Example : the optim function• Demonstration : Demos / scidemo / rosenbrock show• Authors : DIGITEO - Michael Baudin - 2010

-2.0

-1.5

-1.0

-0.5

0.0

0.5

1.0

1.5

2.0

-2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0

Optimization of the Rosenbrock function by optim

X1

X2

The free and open source software for numerical computation 10

Page 11: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Differential Equations

Differential Equations

• 9 solvers for ODEs and integration: ode, bvode, dassl, etc...

• Can manage Right Hand Sides as macros or compiledfunctions.

• Includes a collection of algorithms, for example :

• Stiff problems : Backward Differentiation Formula (BDF)

• Non-stiff problems : Adams method

• Open Source Libraries : Odepack

Mathematics

• Consider the linear equation: dydt = Ay(t)

• with initial state y(0) = y0

• The solution is y(t) = y0eAt

The free and open source software for numerical computation 11

Page 12: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Differential Equations

Differential Equations

• Example : ode (approximate solution), expm (exact solution)

• Demonstration : Demos / scidemo / edolinear show

• Authors : DIGITEO Michael Baudin - 2010

The free and open source software for numerical computation 12

Page 13: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Probabilities/Statistics

Probabilities/Statistics

• Most common tools: mean, variance, pca, etc

• 11 Cumulated Density Functions: cdfnor, cdfpoi, etc

• 6 Uniform Random Number Generators e.g. grand(mt) isMersenne-Twister

• 16 Non-Uniform RNGs: e.g. grand(nor), grand(chi), etc

• Open Source Libraries : Dcdflib

• ATOMS/lowdisc: Low Discrepancy Sequences: Halton, Sobol,etc

Mathematics

• Consider the normal distribution: f (x) = 1σ√2πexp

(− (x−µ)2

2σ2

)

The free and open source software for numerical computation 13

Page 14: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Probabilities/Statistics

Probabilities/Statistics

• Example : grand, histplot, intg (quadrature)

• Demonstration : Demos / scidemo / normdist show

• Authors : DIGITEO - Michael Baudin - 2010

The free and open source software for numerical computation 14

Page 15: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

References

• Main Portal: http://www.scilab.org

• Tutorials:

http://www.scilab.org/support/documentation/tutorials

• Introduction to Scilab, Consortium Scilab DIGITEO, MichaelBaudin, 2010

• Introduction to probabilities with Scilab, Consortium ScilabDIGITEO, Michael Baudin, 2010

• Optimization with Scilab, Consortium Scilab DIGITEO -INRIA, Michael Baudin, Vincent Couvert, Serge Steer, 2010

• Low Discrepancy Sequences :

http://atoms.scilab.org/toolboxes/lowdisc

The free and open source software for numerical computation 15

Page 16: Commented Demonstrations of Scilab, The free platform for ... · Commented Demonstrations of Scilab, The free platform for Numerical Computation Micha el Baudin1 1Digito Rocquencourt

Thanks for your attention

www.scilab.org

The free and open source software for numerical computation 16