53
Le calcul numérique : pourquoi et comment ? Claude Gomez Directeur du consortium Scilab 16 juin 2009

Le calcul numérique : pourquoi et comment ?

Embed Size (px)

Citation preview

Page 1: Le calcul numérique : pourquoi et comment ?

Le calcul numérique : pourquoi et comment ?

Claude GomezDirecteur du consortium Scilab

16 juin 2009

Page 2: Le calcul numérique : pourquoi et comment ?

Plan• Le calcul symbolique

• Le calcul numérique

• Le logiciel Scilab

• Scilab au lycée

Page 3: Le calcul numérique : pourquoi et comment ?

Le calcul symbolique ou

calcul formel

Page 4: Le calcul numérique : pourquoi et comment ?

Quelques logiciels de calcul symbolique

– Professionnels : Maple, Mathematica

– Parfois utilisé au lycée : Derive

– Gratuits : Maxima, Xcas, SAGE, …

Page 5: Le calcul numérique : pourquoi et comment ?

Quelques exemples en Maple

Le calcul symbolique c’est super !

Page 6: Le calcul numérique : pourquoi et comment ?
Page 7: Le calcul numérique : pourquoi et comment ?
Page 8: Le calcul numérique : pourquoi et comment ?

Trouver solution de ( ) 0f x =x

Résolution d’équations

Recherche de zéros de polynômes avec Maple

Page 9: Le calcul numérique : pourquoi et comment ?
Page 10: Le calcul numérique : pourquoi et comment ?
Page 11: Le calcul numérique : pourquoi et comment ?

Mais dès le degré 5, pas de solution analytique générale

Page 12: Le calcul numérique : pourquoi et comment ?

Résolution d’équations différentielles

Résolution avec Maple

Trouver solution de '( ) ( , ( ))y x f x y x=( )y x

Page 13: Le calcul numérique : pourquoi et comment ?

– Là encore pas de solution analytique, même pour de simples équations différentielles

– La solution est donnée en fonction de fonctions spéciales elles-mêmes solutions d’équations différentielles !

Page 14: Le calcul numérique : pourquoi et comment ?

– Sardines :

– Requins :

Résolution avec Maple

Système proie prédateur (Lotka Volterra)

( )x t( )y t

'( ) ( ) ( ) ( )'( ) ( ) ( ) ( )

x t a x t b x t y ty t d y t c y t x t

= −⎧⎨ = − +⎩

Le système :

Page 15: Le calcul numérique : pourquoi et comment ?

Le système différentiel proie prédateur le plus simple :

Page 16: Le calcul numérique : pourquoi et comment ?

Solution générale inutilisable : racine d’un polynôme avec une intégrale + fonction spéciale

Page 17: Le calcul numérique : pourquoi et comment ?

Et si l’on met des conditions initiales et des valeurs aux paramètres, plus de solution !

Page 18: Le calcul numérique : pourquoi et comment ?

Solution

– Utiliser des valeurs « approchées »

– Utiliser des algorithmes « approchés »

Qu’est-ce qu’une valeur « approchée » ?

Donc le calcul symbolique ne suffit pas

Page 19: Le calcul numérique : pourquoi et comment ?

Le calcul numérique

Page 20: Le calcul numérique : pourquoi et comment ?

La norme IEEE-754

Faire des calculs rapides

Utiliser des « mots machine »

Comment représenter les nombres dans ces « mots machine » ?

Page 21: Le calcul numérique : pourquoi et comment ?

Nombre =

Nombre min =

Nombre max =

Précision = soit 16 chiffres max

Double précision = 2 X 32 bits

s = signe e = exposant m = mantisse

s e 1023( 1) 2 1.m−− × ×

3081,797... 10

3082,225... 10−

162,22... 10−

Page 22: Le calcul numérique : pourquoi et comment ?

Définition d’un arrondi correct pour , , , ,+ − × ÷

Page 23: Le calcul numérique : pourquoi et comment ?

Toutes les machines ont le même comportementnumérique pour l’arithmétique

Avantages

– Les fonctions élémentaires ne sont pas encore spécifiées– Restent les problèmes de précision

Inconvénients

Exemples en Scilab

Page 24: Le calcul numérique : pourquoi et comment ?

-->sin(%pi)

ans =

1.224646799D-16

-->sin(%pi*10^10)

ans =

- 0.0000022393628

-->sin(%pi*10^15)

ans =

- 0.2362090532517

<= 10-16 équivaut ici à 0

<= ces puissances de πne sont pas assez précises

Page 25: Le calcul numérique : pourquoi et comment ?

-->%eps%eps =

2.220446049D-16 -->format(20)-->1+%epsans =

1.00000000000000022 -->1+%eps/2ans =

1. -->(1+%eps/2+%eps/2)-

(1+%eps)ans =- 0.00000000000000022

<= précision minimale <= on affiche 20 chiffres

<= %eps/2 vaut 0 par rapport à 1

<= ((1+%eps/2)+%eps/2) vaut 1

Page 26: Le calcul numérique : pourquoi et comment ?

Le numérique en précision arbitraire

Scilab

163 -262537412640768744eπExemple : calcul de

-->exp(%pi*sqrt(163))-262537412640768744ans =- 480.

Ce résultat est faux car le calcul de n’est pas fait avec assez de précision

163eπ

Page 27: Le calcul numérique : pourquoi et comment ?

Maple

If faut faire un calcul avec 40 chiffres pour arriver à un résultat juste

Page 28: Le calcul numérique : pourquoi et comment ?

Le calcul numérique en précision arbitraire est donc incontournable dans certains domaines :

• Résolution de systèmes d’équations polynomiales : robotique

Arithmétique d’intervalles, calcul certifié

Page 29: Le calcul numérique : pourquoi et comment ?

Le logiciel Scilab

Page 30: Le calcul numérique : pourquoi et comment ?

Les logiciels de calcul numérique

Avantages– Programmation facile– Algorithmes performants– Larges domaines d’application– Tracé de graphiques faciles

Ce sont ces logiciels qui sont utilisés par les ingénieurs, les universitaires, les chercheurs

– Matlab

– Scilab

:: commercial et chercommercial et cher

:: libre et gratuitlibre et gratuit

Page 31: Le calcul numérique : pourquoi et comment ?

Caractéristiques importantes

– Pas de variables formelles

– Les objets de base sont les vecteurs et les matrices

– Tous les calculs sont numériques : ils suivent la norme IEEE-754

Page 32: Le calcul numérique : pourquoi et comment ?

Le logiciel Scilab : qu’est-ce que c’est ?

• Fonctions mathématiques• Calcul matriciel, matrices creuses• Polynômes et fractions rationnelles• Simulation : systèmes d’équations différentielles• Commande classique et robuste, optimisation LMI• Optimisation différentiable et non différentiable

• Interpolation, approximation• Traitement du signal• Statistiques • Graphes et réseaux• Xcos : simulateur bloc diagramme pour les

systèmes dynamiques

Librairies de calcul : plus de 1700 fonctions

Utilisateur

Graphique 2D/3DAnimation

LangageInterpréteur

Aide en ligneÉditeur

Page 33: Le calcul numérique : pourquoi et comment ?

Dernière version : Scilab 5.1.1 (avril 2009)

Statut de Scilab :Machines cibles :

– Gratuit– Windows 2000/XP/Vista

– Linux

– MacOSX

Page 34: Le calcul numérique : pourquoi et comment ?

• Le nouveau consortium au sein de la fondation

– Un soutien fort de l’

– Un consortium de partenaires

– Participation à des projets collaboratifs et industriels

Le nouveau consortium Scilab

• Une structure adaptée

– Une équipe de R&D pérenne en fort développement et complètement dédiée au développement et à la promotion de scilab

0

5

10

15

20

25

2003 2004 2005 2006 2007 2008 2009

Nombre de personnes de l’équipe R&D

Page 35: Le calcul numérique : pourquoi et comment ?

Le consortium Scilab aujourd’hui

Académiques Organismes publics

Industriels

Page 36: Le calcul numérique : pourquoi et comment ?

Scilab au lycée

Page 37: Le calcul numérique : pourquoi et comment ?

– La calculatrice

– Le tableur : Excel ou Calc

– Autres• Derive, Maple, Mathematica,…

Les outils de calcul actuels dans les lycées

Géométrie dynamique• Geoplan, Geospace, Geogebra…

Page 38: Le calcul numérique : pourquoi et comment ?

Avantages

• C’est pas cher• Bien adapté aux programmes de lycées

La calculatrice

Tout le calcul numTout le calcul numéérique fait avec une calculatrice rique fait avec une calculatrice peut être fait peut être fait «« en mieuxen mieux »» avec Scilabavec Scilab

Inconvénients

• C’est cher car en général pas utilisée après le lycée• Pas toujours performant• Graphique peu lisible• Langage peu facile à manipuler

Page 39: Le calcul numérique : pourquoi et comment ?

Un tableur doit être utilisé comme un tableur :

– Pour « voir » des valeurs évoluer en fonction de paramètres– Pour gérer une petite base de données

Le tableur : Excel ou Calc

Un tableur « n’est pas fait » pour faire :

– Du calcul numérique– De la programmation numérique => pas de « vrai langage »

Tout le calcul numTout le calcul numéérique fait avec un tableur peut rique fait avec un tableur peut être fait être fait «« en mieuxen mieux »» avec Scilabavec Scilab

Page 40: Le calcul numérique : pourquoi et comment ?

Scilab utilisé en classes de BCPSTScilab utilisé dans les classes de STS CIRA

Utilisation de Scilab dans le secondaire en mathématiques

• Expérimentation en 2007 dans l’académie de Lille

• Dans le cadre de l’épreuve pratique de mathématiques du bac S

– Sujets et solutions sur www.scilab.org/lycee

Formations Scilab depuis cette annFormations Scilab depuis cette annéée dans le dans l’’acadacadéémie mie de Versaillesde Versailles

Page 41: Le calcul numérique : pourquoi et comment ?

Avantages de Scilab

Logiciel gratuit : peut être installé partout– Par les enseignants et les élèves au lycée– Par les enseignants et les élèves à la maison

Logiciel puissant :– Super calculateur graphique simple et rapide– Programmation facile

Logiciel utilisé dans la vie professionnelle– À l’université et dans les écoles d’ingénieur, dans la

recherche, dans les entreprises

Réforme des lycées ? instaurer une instaurer une continuitcontinuitéé entre le lycentre le lycéée et le et l’’universituniversitéé

Page 42: Le calcul numérique : pourquoi et comment ?

–Fonction : notions de variablesfunction y=f(x);

y=sin(x^2)+x;endfunction

Les structures de base pour la programmation

–Test :if x>10 then

y=x;else

y=x^2;end

–Boucle :for i=1:10

x(i)=i^2;end

Page 43: Le calcul numérique : pourquoi et comment ?

Encadrement d’une intégrale :• Valeur approchée par la somme des aires des rectangles

Ajustement affine interactif :• Trouver la droite de régression de y en x par la méthode des

moindres carrés pour une série statistique et calcul de la somme des carrés des distances

Une version Scilab pour les lycées

Des activités à montrer aux élèves

Page 44: Le calcul numérique : pourquoi et comment ?

Le curseur qui donne la pente et l’erreur correspondante

La courbe de régression correspondante :

Page 45: Le calcul numérique : pourquoi et comment ?

– Analyse : ln

– Arithmétique :• pair, impair• quotient, reste• pgcd, ppcm• premier, liste_premiers, numero_premiers,

factorise, diviseurs

– Graphique :• orthornorme, quadrillage, graduations• cliquer

Les fonctions Scilab adaptées au lycée

Page 46: Le calcul numérique : pourquoi et comment ?

-->l=liste_premiers(1000000);-->pgcd(1931911,4288507)ans =

541. -->factorise(10291181709984)ans =

2. 2. 2. 2. 2. 3. 7. 541. 3571. 7927. -->diviseurs(12456)ans =

column 1 to 141. 2. 3. 4. 6. 8. 9. 12. 18. 24. 36. 72. 173. 346.

column 15 to 24519. 692. 1038. 1384. 1557. 2076. 3114. 4152. 6228. 12456.

Exemples d’arithmétique

Page 47: Le calcul numérique : pourquoi et comment ?

– Probabilités et statistiques :• factorielle, arrangement, combinaison• tirage_entier, tirage_reel, frequence, frequence_tirage_entier,

• moyenne, moyenne_ponderee, ecart_type, ecart_type_pondere, mediane, mediane_ponderee, quartiles, quartiles_ponderes, deciles, deciles_ponderes

• loi_exp, loi_normale• regression_y_en_x• histogramme

Page 48: Le calcul numérique : pourquoi et comment ?

-->a=[0,10,15,20,40]a =

0. 10. 15. 20. 40. -->n=[8,6,13,10]n =

8. 6. 13. 10. -->histogramme(a,n,"r")

Exemple de statistiques

Page 49: Le calcul numérique : pourquoi et comment ?

– Ensembles :• ensemble, ajouter, enlever• inclus, appartient• difference, intersection, union• tirage_ensemble• valeur

Page 50: Le calcul numérique : pourquoi et comment ?

-->p=ensemble("a(20)","b(20)","a(50)","a(100)","b(100)","a(200)");-->n=1000; f=0;-->for i=1:n--> t=tirage_ensemble(2,p);--> if sum(valeur(t))>150 then f=f+1; end-->end-->f/nans =

0.394

Exemples de calculs sur les ensembles :- On tire au hasard 2 billets parmi un ensemble

de 2 billets de 20 euros, 1 billet de 50 euros, 2 billets de 100 euros et 1 billet de 200 euros

- On calcule la probabilités pour que la somme des billets tirés soit supérieur à 150 euros

- Simulation sur 1000 tirages

Page 51: Le calcul numérique : pourquoi et comment ?

• Scilab 5.0 avec les fonctions pour les lycées :– Utilisation directe à partir du cédérom sous Windows– Installation sous Windows, Linux et Max OS X

• Un document de familiarisation à Scilab

• Un document d’exemples sur l’utilisation en mathématiques dans le secondaire

Une page Web dédiée : www.scilab.org/lycee

Une mailing list : [email protected]

Le CDROM Scilab pour les lycées

Page 52: Le calcul numérique : pourquoi et comment ?

Conclusion

Page 53: Le calcul numérique : pourquoi et comment ?

www.scilab.org