Top Banner
Motivation Numerical analysis is the study of algorithms for the problems of continuous mathematics Lloyd N. Trefethen 1 study of algorithms : étude des algorithmes problems of continuous mathematics : problèmes à variables dans R, C Exemples : I résolution des systèmes d’équations linéaires I détermination des valeurs et vecteurs propres d’une matrice I résolution des équations différentielles I calcul des zéros d’une fonction I évaluation des intégrales I interpolation et approximation 1. www.cs.cornell.edu/Info/People/lnt/defn.ps 1 / 16
24

Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Apr 23, 2018

Download

Documents

phamnhi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Motivation

Numerical analysis is the study of algorithmsfor the problems of continuous mathematics

Lloyd N. Trefethen 1

study of algorithms :étude des algorithmes

problems of continuous mathematics :problèmes à variables dans R, C

Exemples :I résolution des systèmes d’équations linéairesI détermination des valeurs et vecteurs propres d’une matriceI résolution des équations différentiellesI calcul des zéros d’une fonctionI évaluation des intégralesI interpolation et approximation

1. www.cs.cornell.edu/Info/People/lnt/defn.ps1 / 16

Page 2: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Motivation

Numerical analysis is the study of algorithmsfor the problems of continuous mathematics

Lloyd N. Trefethen 1

study of algorithms :étude des algorithmes

problems of continuous mathematics :problèmes à variables dans R, C

Exemples :I résolution des systèmes d’équations linéairesI détermination des valeurs et vecteurs propres d’une matriceI résolution des équations différentiellesI calcul des zéros d’une fonctionI évaluation des intégralesI interpolation et approximation

1. www.cs.cornell.edu/Info/People/lnt/defn.ps1 / 16

Page 3: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Analyse numérique utile pour les ingénieurs ?

2 / 16

Page 4: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 1

m1

m2

m3

x1

x2

x3

k1

k2

k3

x1, x2 − x1, x3 − x2 – élongations des ressortsk1, k2, k3 – constantes de rappel

conditions d’équilibre :

k2(x2 − x1)− k1x1 +m1g = 0k3(x3 − x2)− k2(x2 − x1) +m2g = 0

−k3(x3 − x2) +m3g = 0

k1 + k2 −k2 0−k2 k2 + k3 −k30 −k3 k3

x1

x2

x3

=

m1gm2gm3g

⇒ Ax = b système linéaire

Le système pour n = 3masses peut être résolu à la main.Pour n grand (ex : n = 106) : ordinateur nécessaire !

3 / 16

Page 5: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 1 (suite)

m1

m2

m3

x1

x2

x3

k1

k2

k3

Pour ki = mig = 1 le système devient : 2 −1 0−1 2 −10 −1 1

x1

x2

x3

=

111

Résolution avec Octave :

% créer le second membre bb = [1; 1; 1];

% créer la matrice AA = [2 -1 0; -1 2 -1; 0 -1 1];

% résoudre Ax=bx = A\b;

% afficher xx

4 / 16

Page 6: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 2

Approcher des données par un polynôme.Choisir x1, . . ., x6 et y1, . . ., y6 :

% choisir les abscissesx = [1; 2; 3; 5; 6; 7];

% choisir les ordonnéesy = rand (6,1);

% afficher le résultatplot(x, y, ’*r’)

0.1

0.2

0.3

0.4

0.5

0.6

0.7

1 2 3 4 5 6 7

y

x

5 / 16

Page 7: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 2 (suite)

Approcher des données par un polynôme.Appliquer la méthode des moindres carrés :

% approcher par polynôme% de degré 3 au sens des% moindres carrés

pol = polyfit(x,y,3);% garder graphe précédent

hold on% afficher polynome en x

plot(x, polyval(pol ,x), ’x’)% raffiner x & afficher

x = [1:0.01:7];plot(x, polyval(pol ,x), ’-’)

0.1

0.2

0.3

0.4

0.5

0.6

0.7

1 2 3 4 5 6 7

yx

polyfit(·,·,3) détermine un polynôme p(x) de degré au plus 3 qui minimise6∑

k=1

(yi − p(xi))2

6 / 16

Page 8: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Introduction : Exemple 3

Transitoire dans un circuit électrique :

I(0) = I0

LRC

Q(0) = Q0

loi des mailles + définition du courant LdIdt +RI + Q

C = 0dQdt = I

I(0) = I0 , Q(0) = Q0

ddt

(IQ

)=

(−RL−1 −C−1L−1

1

)(IQ

)(

IQ

)∣∣∣∣t=0

=

(I0Q0

)

⇒{

ddtu = f(u)u(0) = u0

(système d’) équations différentielles7 / 16

Page 9: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 3 (suite)

Transitoire dans un circuit électrique :

I(0) = 30

LRC

Q(0) = 0

Soient RL−1 = C−1L−1 = I0 = 30 , Q0 = 0 ; on a alorsdIdt = −30I − 30QdQdt = I

I(0) = 30 , Q(0) = 0

% définir f(u)f = @(u,t)( [-30*u(1) -30*u(2); u(1)]);

% conditions initialesu0 = [30; 0];

% t = 0, 0.01, ..., 1T = 0:0.01:1;

% résoudresol = lsode(f, u0 , T);

% graph de I & Qplotyy(T, sol(:,1), T, sol(:,2))

8 / 16

Page 10: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 3 (suite)

Transitoire dans un circuit électrique :

I(0) = 30

LRC

Q(0) = 0

Soient RL−1 = C−1L−1 = I0 = 30 , Q0 = 0 ; on a alorsdIdt = −30I − 30QdQdt = I

I(0) = 30 , Q(0) = 0

La solution numérique est

-5

0

5

10

15

20

25

30

0 0.2 0.4 0.6 0.8 1

I

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

Qt

Q

I

9 / 16

Page 11: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Conclusion intermédiaire :Octave semble utile aux ingénieurs.

Mais a-t-on vraiment besoin d’étudier et de comprendreles algorithmes correspondants ?

Les quelques raisons en faveur du «oui » . . .

10 / 16

Page 12: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 4

Raison 1 : Une méthode est rarement la meilleure dans tous les cas

Exemple 4 : La fonction solvetime mesure le temps de résolution d’unsystème (x = A\b) représenté en format

dense (défaut)creux (sparse)

Le format creux ne prend en compte que les éléments non nuls de la matrice.

function solvetime(A,b)% solveur densetic

x = A\b;tocA = sparse(A);% solveur creuxtic

x = A\b;toc

11 / 16

Page 13: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 4 (suite)

Cas 1 : matrice de l’Exemple 1 avec n = 1000 masses (ki = mig = 1) :2 −1

−1 2. . .

. . . . . . −1−1 1

x1

x2

...xn

=

11...1

% matrice plutôt creusen=1000;A = -diag(ones(n-1,1) ,1) + ...

diag(ones(n,1));A = A + A’;A(n,n) = 1;b = ones(n,1);solvetime(A,b)

résultat :Elapsed time is 0.14 seconds.Elapsed time is 0.00051 seconds.

fonction pour matrices denses275× plus lente !

12 / 16

Page 14: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 4 (suite)

Cas 2 : matrice 1000× 1000 avec les éléments aléatoires :

% matrice plutôt densen=1000;A=rand(n);b = ones(n,1);solvetime(A,b)

résultat :Elapsed time is 0.16 seconds.Elapsed time is 1.2 seconds.

fonction pour matrices denses7.5× plus rapide !

13 / 16

Page 15: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

function resol_Ex5(Tmax)% Tmax - durée de l’experiencef = @(u,t)([2*u(2) -1*u(1); u(1)]);u0 = [-2; 1];T = 0:0.001: Tmax;sol = lsode(f, u0 , T);plotyy(T, sol(:,1), T, sol(:,2))

14 / 16

Page 16: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

t

u2

u1

-2

-1.5

-1

-0.5

0

0 0.2 0.4 0.6 0.8 10

0.2

0.4

0.6

0.8

1

14 / 16

Page 17: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

t

u2

u1

-2

-1.5

-1

-0.5

0

0.5

0 5 10 15 20 25 30-0.2

0

0.2

0.4

0.6

0.8

1

14 / 16

Page 18: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

t

u2

u1

-2

-1.5

-1

-0.5

0

0.5

0 5 10 15 20 25 30 35-1

-0.5

0

0.5

1

14 / 16

Page 19: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

t

u2u1

-12

-10

-8

-6

-4

-2

0

2

0 5 10 15 20 25 30 35-12

-10

-8

-6

-4

-2

0

2

14 / 16

Page 20: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

t

u2u1

-600

-500

-400

-300

-200

-100

0

100

0 5 10 15 20 25 30 35 40-600

-500

-400

-300

-200

-100

0

100

14 / 16

Page 21: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 5

Raison 2 : Les méthodes numériques ont des limites et certains problèmes(problèmes mal conditionnés) sont difficiles pour toutes les méthodes

Exemple 5 : le système d’équations différentielles{du1

dt = −u1 + 2u2

du2

dt = u1

, avec{

u1(0) = −2u2(0) = 1

a comme solution exacte (u1(t)u2(t)

)=

(−21

)e−2t;

en particulier u1(t) et u2(t) tendent vers 0 pour t→∞

Explication : la solution pour u1(0), u2(0) quelconques est(u1(t)u2(t)

)=

(−21

)u2(0)− u1(0)

3e−2t +

(11

)2u2(0) + u1(0)

3et;

les erreurs d’arrondi «révèlent» la composante instable,absente dans la solution exacte. 14 / 16

Page 22: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 6

Raison 3 : Vous serez amené à développer vos propres outils numériques

Exemple 6 : déterminer la variance d’un échantillon de taille n. Deuxformules sont à votre disposition :

var(x1, . . . , xn) =1

n

n∑i=1

(xi − x)2 (1)

=1

n

n∑i=1

x2i − x2 (2)

function var = var_frm1(x,n)x_moy = sum(x)/n;var = sum((x-x_moy).^2)/n;

function var = var_frm2(x,n)x_moy = sum(x)/n;var = sum(x.^2)/n - x_moy ^2;

pour x=[200000000 200000001 200000002] les résultats sontans = 0.66667 ans = 0

pour x=[100000000 100000001 100000002] les résultats sontans = 0.66667 ans = 2

15 / 16

Page 23: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

Exemple 6

Raison 3 : Vous serez amené à développer vos propres outils numériques

Exemple 6 : déterminer la variance d’un échantillon de taille n. Deuxformules sont à votre disposition :

var(x1, . . . , xn) =1

n

n∑i=1

(xi − x)2 (1)

=1

n

n∑i=1

x2i − x2 (2)

function var = var_frm1(x,n)x_moy = sum(x)/n;var = sum((x-x_moy).^2)/n;

function var = var_frm2(x,n)x_moy = sum(x)/n;var = sum(x.^2)/n - x_moy ^2;

pour x=[200000000 200000001 200000002] les résultats sontans = 0.66667 ans = 0

pour x=[100000000 100000001 100000002] les résultats sontans = 0.66667 ans = 2

La deuxième formule est clairement problématique. Et la première ?

15 / 16

Page 24: Motivation - metronu.ulb.ac.bemetronu.ulb.ac.be/MATH-H-202/an_motivation.pdf · Motivation Numerical analysis is thestudy of algorithms for theproblems of continuous mathematics ...

En résumé

Message 1 : Octave (et bien d’autres logiciels) contient des commandesbasées sur des algorithmes de qualité.

et malgré cela . . .

Message 2 : Les outils en boites noires n’existent pas pour les problèmesd’analyse numérique ; tout utilisateur doit avoir une compréhension desalgorithmes utilisés, leurs avantages, inconvénients et limitations.

Ce cours n’est donc pas (uniquement) ...une introduction à Octave (Matlab, etc.),

mais (surtout) ...une introduction à l’analyse numérique et au calcul numérique.

16 / 16