Methodes Numeriques OUTILS

download Methodes Numeriques OUTILS

of 116

Transcript of Methodes Numeriques OUTILS

  • 8/8/2019 Methodes Numeriques OUTILS

    1/116

    Outils de base en analyse numrique

    Sbastien Charnoz & Adrian Daerr

    Universit Paris 7 Denis Diderot

    CEA Saclay

  • 8/8/2019 Methodes Numeriques OUTILS

    2/116

    En analyse numrique, un certain nombre de calculs sont faits de manire rptitive.

    Exemple :

    Rsoudre un systme linaire,Inverser une matrice,Calculer le dterminant, valeurs propres, vecteurs propres

    Interpoler une fonctionExtrapoler une fonctionDcomposer une fonction sur une base de fonctions (ex: TF)

    fitter des points de mesure avec des fonctions connuesEtc

    Des algorithmes performants existent souvent, mais qui ont chacun

    des spcificits. En fonction de nos besoins, il faudra choisir lalgorithme adapt

  • 8/8/2019 Methodes Numeriques OUTILS

    3/116

    La plupart de ces outils de base sont souvent dj programmsdans des librairies de calculs mathmatiques (ex: NAG) .

    De manire gnrale, il nest jamais bon de lutiliser comme une bote noire :En fonction du problme, en choisissant lalgorithme le plus adapt, on peutgagner du temps de calcul , ou mieux : viter des instabilits numriques.

    Exemple 1: Si vous avez besoins de calculer linverse dune matrice, et que sontdterminant est trs proche de 0 (mais non exactement 0), le calcul sera trs sensiblesaux erreurs de troncatures de la machine. Dans ce cas il faut prfrer une inversion

    itrative, plutt quune inversion exacte

    Exemple 2 : Si vous souhaitez dcomposer une fonction sur une base de fonctions,ll vaut mieux bien connatre cette base, sinon vous ne saurez pas vraimentce que vous faites Souvent, une telle dcomposition engendre des instabilits

    dans le schmas numrique en raison de la discrtisation etc

  • 8/8/2019 Methodes Numeriques OUTILS

    4/116

    Dans ce chapitre, nous aborderons 3 points :

    Systmes linaires

    Calcul matriciel, inversions etc

    Interpolation et Extrapolation de fonctions

    Diffrentes mthodes, dcomposition sur une base, moindres carrs etc..

    Gnrateurs de nombres pseudo-alatoires

    Quest ce quun bon gnrateur ? Comment les construire ? etc

  • 8/8/2019 Methodes Numeriques OUTILS

    5/116

    LES SYSTEMES LINEAIRES

    En analyse numrique, rsoudre un systme linaires, cest rsoudre

    bAx =O A est une matrice ( priori) inversible , b est un vecteur, et X est le vecteurinconnu.

    Les questions attenantes ce problme sont :

    Calculer A-1, Det(A), valeurs propres de A, vecteurs propres de A

    Une dizaine de mthodes existent, mais certains outils sont commun de nombreuses mthodes (Pivot de Gauss, Dcomposition en matrice triangulaire,Mthode de substitution )

  • 8/8/2019 Methodes Numeriques OUTILS

    6/116

    Un tel systme est facilement soluble dans le cas o la matrice A est triangulaire

    Pourquoi ?

    Par ce quune simple substitution itrative permet de rsoudre facilement le systmeEx :

    =

    4

    3

    2

    1

    4

    3

    2

    1

    44

    3433

    242322

    14131211

    00000

    0

    bb

    b

    b

    xx

    x

    x

    aaa

    aaa

    aaaa

    On a alors :

    ( )

    ...

    1

    /

    3443

    33

    3

    4444

    etc

    axba

    x

    abx

    =

    =

    Matrice NxNavec N=4

  • 8/8/2019 Methodes Numeriques OUTILS

    7/116

    =

    4

    3

    2

    1

    4

    3

    2

    1

    44

    3433

    242322

    14131211

    000

    00

    0

    b

    b

    b

    b

    x

    x

    x

    x

    a

    aa

    aaa

    aaaa

    Dune manire gnrale, on peut trouver toutes les valeurs de X i par la mthodeitrative suivante (substitution arrire)

    =

    =

    +=

    N

    ij

    jiji

    ii

    i

    nnnN

    xaba

    x

    abx

    1

    1

    /

    On calcule Xn, puis Xn-1, Xn-2 X1

  • 8/8/2019 Methodes Numeriques OUTILS

    8/116

    Une mthode similaire marche aussi pour un matrice triangulaire infrieure

    =

    4

    3

    2

    1

    4

    3

    2

    1

    44434241

    333231

    2221

    11

    0

    00

    000

    b

    b

    b

    b

    x

    x

    x

    x

    aaaa

    aaa

    aa

    a

    =

    =

    =

    1

    1

    1111

    1

    /

    i

    j

    jiji

    ii

    i xaba

    x

    abx

    On calcule X1, puis X2, X3 XN

    Substitution avant

  • 8/8/2019 Methodes Numeriques OUTILS

    9/116

    Dans de nombreuses mthodes, lobjectif est de transformer A pour la rendreTriangulaire, infrieure ou suprieurs, et ensuite calculer les solutions en utilisant

    une substitution (avant ou arrire si A est infrieure ou suprieure).

    2 grandes mthodes EXACTES:

    ELIMINATION DE GAUSS JORDAN

    Simple comprendre, mais ncessite de modifier b en mme temps que A

    Ne donne pas directement A-1

    et les vecteurs propres

    FACTORISATION L U

    Un peu plus subtile, ne modifie pas b, donc on peut utiliser la mme dcompositionpour tout vecteur b, donne A-1 et les vecteurs propres

  • 8/8/2019 Methodes Numeriques OUTILS

    10/116

    Gauss Jordan (pivot de Gauss)

    Prenons lexemple suivant :

    On conserve la ligne L1, qui sert de pivot pour liminer l'inconnue x des autres lignes;

    pour cela, on retire L1 L2, et 3 fois L1 L3. On obtient :

  • 8/8/2019 Methodes Numeriques OUTILS

    11/116

    On conserve alors la ligne L2 qui sert de pivot pour liminer y de la troisime ligne;pour cela, on remplace la ligne L3 par L3-L2. On trouve :

    On rsoud finalement le systme par substitution arrire(car on rsoud dabord Z , puis Y, puis X)

    Comment cela se passe avec des matrices ??

  • 8/8/2019 Methodes Numeriques OUTILS

    12/116

    =

    8

    1

    2

    853

    231

    221

    z

    y

    x

    =

    2

    3

    2

    210

    410

    221

    z

    y

    x

    =

    1

    3

    2

    200

    410

    221

    z

    y

    x

    pivot

    pivot

    Le pivot parcours la diagonale

  • 8/8/2019 Methodes Numeriques OUTILS

    13/116

    Pivot de Gauss4 principes fondamentaux

    On ne change pas la solution lorsque lon :

    1. permute 2 lignes

    2. permute 2 colonnes

    3. divise par un mme terme non nul les lments dune ligne

    4. ajoute ou retranche une ligne un certain nombre

    de fois une autre ligne

    Stratgie : Transformer le systme linaire

    en un systme quivalent facile rsoudre

    Triangulaire !

  • 8/8/2019 Methodes Numeriques OUTILS

    14/116

    Pivot de Gauss : un autre exemple

    =++

    =++

    =++

    =+

    62

    823

    03

    6242

    432

    4321

    421

    321

    xxx

    xxxx

    xxx

    xxx

    pivot (1)

    Attention aux valeurs nulles du pivot

  • 8/8/2019 Methodes Numeriques OUTILS

    15/116

    Pivot de Gauss : un exemple

    =++

    =++

    =++

    =+

    62

    823

    03

    6242

    432

    4321

    421

    321

    xxx

    xxxx

    xxx

    xxx

    L2 = L2-L1 a21/pivot (1)

  • 8/8/2019 Methodes Numeriques OUTILS

    16/116

    Pivot de Gauss : un exemple

    =++

    =++

    =++

    =+

    62

    823

    03

    6242

    432

    4321

    421

    321

    xxx

    xxxx

    xxx

    xxx

    =++

    =++=+++

    =+

    62

    82330

    6242

    432

    4321

    432

    321

    xxx

    xxxxxxx

    xxx

    L2 = L2-L1 a21/pivot (1)

  • 8/8/2019 Methodes Numeriques OUTILS

    17/116

    Pivot de Gauss : un exemple

    =++

    =++

    =++

    =+

    62

    823

    03

    6242

    432

    4321

    421

    321

    xxx

    xxxx

    xxx

    xxx

    =++

    =++=+++

    =+

    62

    71247030

    6242

    432

    432

    432

    321

    xxx

    xxxxxx

    xxx

    L3 = L3-L1 a31/pivot (1)

    Le premire variable t limine de toutes les quations sauf une

  • 8/8/2019 Methodes Numeriques OUTILS

    18/116

    Triangularisation

    Lalgorithme du pivot de

    Gauss

    A x = b

    On voit que

    si akk~ 0, on

    introduit une

    instabilit

    dans le

    systmefait

    problme""sinonfait

    fait

    jusqu'1pour

    jusqu'1pour

    alors0si*)pivotdestratgie(*

    1jusqu'1pour

    kj

    ik

    ijij

    kik

    ii

    kk

    apivot

    aaa

    nkj

    bpivot

    abb

    nki

    pivotapivot

    nk

    +=

    +=

    =

  • 8/8/2019 Methodes Numeriques OUTILS

    19/116

    ;;:ementmatriciell

    ,...,1pour

    ,...,1pour

    )()()1()()()1(

    )(

    )(

    )()()1(

    )(

    )(

    )()()1(

    kkkkkk

    kkk

    kk

    kikk

    ik

    i

    kkjk

    kk

    kikk

    ijk

    ij

    bMbAMA

    ba

    abb

    nkja

    a

    aaa

    nki

    ==

    +=

    +=

    ++

    +

    +

    Reprsentation Matricielle du Pivot de Gauss pour une matrice NxN

    chaque tape akk est le pivot.

  • 8/8/2019 Methodes Numeriques OUTILS

    20/116

    Remarques

    Choix du pivot : minimiser les erreurs darrondissi un pivot est nul, on permute deux lignessi tous les pivots restant sont nuls la matrice est singulire

    (i.e. le systme dquations nadmet pas de solution unique)

    pour minimiser les erreurs darrondis :

    on choisi le plus grand pivot possible (en valeur absolue)

    et donc on permute les lignes (voir les colonnes associes)

    cest la stratgie du pivot maximal (partiel (lignes) ou total)

    dterminant dune matrice = produit des pivots

  • 8/8/2019 Methodes Numeriques OUTILS

    21/116

    Problme de la mthode du pivot de Gauss seule :

    Ncessite de modifier b ,

    Donc pour rsoudre Ax=b et Ax=b il faut recommencer la procduredeux fois

    Il faudrait une mthode qui ne modifie pas b

    => Dcomposition LU

  • 8/8/2019 Methodes Numeriques OUTILS

    22/116

    Dcomposition LU

    Supposons que nous sommes capables dcrire la matrice A sous la formedune produit de deux matrices triangulaires L (lower) et U (upper)

    =

    44434241

    34333231

    24232221

    14131211

    44

    3433

    242322

    14131211

    44434241

    333231

    2221

    11

    0

    0

    aaaa

    aaaa

    aaaaaaaa

    u

    uu

    uuuuuuu

    llll

    lll

    lll

    L x U = A

    Triang. Infrieure(lower)

    Triang. Suprieure (upper)

  • 8/8/2019 Methodes Numeriques OUTILS

    23/116

    Alors rsoudre Ax=b peut aussi scrire

    Ax=(L U) x = L (U x) = b

    Que lon peut dcomposer en deux tapes, avec une variableintermdiaire : y

    Ax=b (LU)x=b L (Ux) = b L y=b avec y=Ux

    1. Rsoudre L y =b

    2. Rsoudre U x =y

    Intrt de la mthode :

    Si on connat L et U les tapes (1) et (2) se rsolvent simplementEn appliquant pour (1) une substitution avant (L est triangulaire inf.)En appliquant pour (2) une susbstitution arrire (U est triangulaire sup.)

    De plus on peut calculer simplement linverse de A, on ne touche pas b

  • 8/8/2019 Methodes Numeriques OUTILS

    24/116

    On peut montrer quen temps normal il existe une infinit de dcomposition LU

    Si A est inversible.

    Cependant il nexiste quune seule dcomposition telle que L ait pourlments diagonaux des 1 uniquement:

    Pour Calculer L et U facilement on se sert de la mthode du pivot de Gauss,en utilisant une matrice intermdiaire un peu spciale, : la matrice augmente

    Exemple : Soit Rsoudre :

    =

    =

    5

    3

    2

    322

    134

    12

    3

    2

    1

    3

    2

    1

    3

    2

    1

    333231

    222221

    131211

    x

    x

    x

    b

    b

    b

    x

    x

    x

    aaa

    aaa

    aaa

    1

    o

  • 8/8/2019 Methodes Numeriques OUTILS

    25/116

    =

    =

    5322

    3134

    2121

    5

    3

    2

    322

    134

    12

    3

    2

    1

    3

    2

    1

    333231

    222221

    131211

    3

    2

    1

    3

    2

    1

    333231

    222221

    131211

    1

    x

    x

    x

    b

    b

    b

    aaa

    aaa

    aaa

    b

    b

    b

    x

    x

    x

    aaa

    aaa

    aaa

    On peut crire ce systme manire plus compacte avec la matrice augmente(qui nest plus carr)

    Matrices augmentes

  • 8/8/2019 Methodes Numeriques OUTILS

    26/116

    On peut garder la trace des diffrentes tapes du pivot de gauss en considrantLa matrice augmente

    =

    +

    =>

    5322

    5550

    2121

    5322

    83418344

    2121

    5322

    3134

    2121

    1ere tape : Pivot avec a11 : La 2eme ligne =L2- 4/1 x L1

    Ide gniale : Au lieu de garder le 0 dans la nouvelle matrice augmenteOn conserve dans cette case le coefficient par lequel on a multipli L1

    Nouvelle matrice A Nouveauvecteur b

    5322

    5554

    2121On a chang le 0En 4

  • 8/8/2019 Methodes Numeriques OUTILS

    27/116

    5322

    5554

    2121

    Maintenant on echange L3=L3-2/1 L1

    Augmente :

    Nouvelle augmente

    1522

    5554

    2121

    Au lieu du 0 ici, on

    a mis le 2 par lequel on avaitmultipli L1

    On pivote maintenant sur la ligne 2, le pivot vaut -5 (a22)

    L2 ne change pas, et L3=L3 - (-2/-5) L3

    335/22

    5554

    2121Au lieu des 0on a conservles coefs. multiplicateurs

  • 8/8/2019 Methodes Numeriques OUTILS

    28/116

    335/22

    5554

    2121

    Augmente finale.On en dduite la forme triangulairede A et la nouvelle forme de b

    =

    =

    3

    5-

    2

    bet

    300

    550

    121

    A

    Et on trouve X par substitution classiquement

  • 8/8/2019 Methodes Numeriques OUTILS

    29/116

    Alors, pourquoi tout cela, le rapport avec L et U?

    Et bien on peut montrer que

    535/22

    55542121

    ~ L

    =U

    Plus prcisement, on divise chaque colonne par llment diagonal pourmettre des 1 sur la diagonale de L

  • 8/8/2019 Methodes Numeriques OUTILS

    30/116

    Uet

    =

    =

    300

    550121

    125/22

    014001

    5322

    5554

    2121

    L

    Vous pourrez vrifier que LxU=A !!

  • 8/8/2019 Methodes Numeriques OUTILS

    31/116

    ALGORITHME DE CROUT (rij=uij et lij=lij avec nos notations)

    Matrice U

    Matrice L

  • 8/8/2019 Methodes Numeriques OUTILS

    32/116

    Une fois quon possde la dcomposition LU, on obtient aisment:

    Le dterminant :

    Det(A)=Det(L)*Det(U) =u11

    x u22

    x x Unn

    La matrice inverse :

    On rsoud successivement pour toute dimensionA xj =ej o ej est le vecteur unitaire de la dimension j=> En combinant tous les xj on trouve successivement toutes lescolonnes de la matrice A-1

    =

    =

    =

    =

    MMM

    MMM

    321

    1

    321

    1

    00

    0

    10

    0

    01

    xxxAAxAxAx

    M

    Avantage de la mthode L-U : On ne calcule que L et U quune seule fois

  • 8/8/2019 Methodes Numeriques OUTILS

    33/116

    Pour les trs grosses matrices on prfrera les mthodes itratives :Elle convergent vers la solution progressivement:

    Ide : Rsoudre une quation du type : F(x)=XAvec une suite du type : Xk+1=F(Xk)Si X0 nest pas trop loin de la solution, on Xk convergera vers la bonne valeur

    de X.

    Comment transformer : AX=B en un quation du type X=F(X) ? O F est uneopration linaire ??

    METHODES ITERATIVES (Relaxation)

  • 8/8/2019 Methodes Numeriques OUTILS

    34/116

    Ide : Dcomposer A = M-N

    Alors AX=B (M-N)X = B MX=NX+B

    X=M-1 N X + M-1 B= P X + C

    F(x)

    Donc si on arrive trouver une dcomposition de A avec une matrice M facilementinversible, alors on peut mettre en marche un algorithme itratif du type :

    Xk+1=P Xk + C

  • 8/8/2019 Methodes Numeriques OUTILS

    35/116

    Dcomposition E, D, F : ide : prendre pour M une simple matrice diagonale D

    Donc A = D-(E+F) M=D et N=E+F

  • 8/8/2019 Methodes Numeriques OUTILS

    36/116

    Dans ce cas M-1= D-1

    La formule de rcurrence : Xk+1=M-1 N Xk + M

    -1 B

    Scrit :

    1=

    ix

    O les xik sont les composantes du vecteur Xk

    Cest la mthode de Jacobi

  • 8/8/2019 Methodes Numeriques OUTILS

    37/116

    Mthode de Gauss Seidel :Converge plus rapidement .

    On sinspire du calcul de Jacobi

    Mais on fait la premire somme sur les coeffs dj calculs de ltape k+1

    Ca converge plus vite, mais difficilement parrallisable

    A doit tre dominante diagonale i.e ABS( diagonale )soit tre > somme des v.absdes lements sur la li ne our tre srde la conver ence.

  • 8/8/2019 Methodes Numeriques OUTILS

    38/116

    Nous avons vu 2 familles de mthodes :

    -Les mthodes exactes, type pivot de Gauss

    Prcises, peu rapides, sensibles aux fluctuations

    - Les mthodes itratives (ou dites de relaxation )

    Moins prcises, plus rapides, plus stablesMais il est parfois difficile de prdire si elles convergentPlus on fait ditrations, plus la mthode est prcise..La matrice doit tre diagonale dominante

  • 8/8/2019 Methodes Numeriques OUTILS

    39/116

    Interpolations et Extrapolations de fonctions

    Le problme :

    On a un ensemble de n points : x0 . Xn-1 et pour chaque point on connatla valeur dune fonction f inconnue (-priori): f(x0) . f(xn-1)(rem :les f(xi) seront aussi nots fi )

    Question : Quelle est la valeur de f sur les points intermdiaire ?

    * Pour cela on doit supposerun modle mathmatique de f(polynome, somme de sinus etc)

    * On doit aussi savoir :

    1) Les f(xi) sont-elles des valeurs exactes2) Les f(xi) sont-elles des valeurs approches (ex : pts de mesure) ?

  • 8/8/2019 Methodes Numeriques OUTILS

    40/116

    DONC : il ny a pas de manire idale dinterpoler/extrapoler unefonction car on a besoins dhypothses sur f.

    Diffrentes hypothses donneront des interpolations/extrapolationsdiffrentes eh oui

    Donc ce sera nous de savoir, en fonctions de la physique du problme,quelle est la meilleur hypothse sur la forme de f effectuer.

    Si les f(xi) sont des valeurs exactes on fera une dcompositionsur une base de fonctions (des polynmes le plus souvent)

    Si les f(xi) sont des valeurs approches on essaiera dadapter

    (de fitter en anglais) un modle mathmatique aux points de de mesure.

    Les f(x ) sont des valeurs exactes :

  • 8/8/2019 Methodes Numeriques OUTILS

    41/116

    Les f(xi) sont des valeurs exactes :Dcomposition sur une base de fonctions

    On suppose que f est la combinaison linaire dune famille de fonctions

    = iii xaxf )()(

    1er question : que choisir comme base ?

    2me question : Comment calculer les ai ?

    Remarque: parfois on a pas besoin de connatre les a i explicitement,Certains algorithmes fournissent les ai , dautres donnent directement le rsultatf(xi)

    f est toujours dfinie sur un domaine : [xmin , xmax]

  • 8/8/2019 Methodes Numeriques OUTILS

    42/116

    1. Dcomposition polynomiale

    Supposons que f est polynomiale.Avec N points on peut construire un polynme dordre N-1 qui traverser les Npoints :

    On suppose :

    ==

    1

    0)(

    N

    i

    i

    ixaxf

    Pour calculer les coefficients ai

    On a n quations n inconnues :

    Les inconnues sont les coefficients aiEt les n quations sont : f(xi)=fi

    o les fi sont les valeurs de f aux points x i .=> Cela peut scrire matriciellement

  • 8/8/2019 Methodes Numeriques OUTILS

    43/116

    =

    =+++

    =+++

    1

    1

    0

    1

    1

    0

    1

    1

    1

    1

    1

    1

    1

    1

    1

    0

    1

    0

    1

    1

    11

    1

    110

    0

    1

    01

    1

    010

    .........1

    ............

    ...1

    ...1

    ...

    ......

    nnn

    nn

    n

    n

    n

    n

    nnn

    n

    n

    f

    f

    f

    a

    a

    a

    xx

    xx

    xx

    fxaxaa

    fxaxaa N quations linaires N inconnues.

    Les ai sont les inconnues

    Les xij sont les coefficients

    M x A = f

    Pour trouver A il suffit de calculer : A = M-1 f

    => Il faut donc inverser une matrice de N points cette mthode

    est intressante, marche mais elle est coteuse temps de calculCar souvent on a pas besoin connatre les ai Seul f(x) nous interesse

  • 8/8/2019 Methodes Numeriques OUTILS

    44/116

    Pour calculer une dcomposition polynomiale sans calculer les ai on peututiliser les polynmes de Lagrange :

    2. Dcomposition en polynmes de Lagrange

    ==

    1

    0

    )()(

    N

    i

    ii xlaxf

    ai : coefficientsai=f(xi)

    iem polynme de Lagrange

    =

    =

    1

    ,0 )(

    )()(

    n

    ijj ji

    j

    i

    xx

    xxxl

    Les Li(x) sont des polynmes dordre n-1 : ~ produits de (x-xj) pour j diffrent de i

    Exemple :

  • 8/8/2019 Methodes Numeriques OUTILS

    45/116

    Exemple :Xi= [ 0 , 2 , 4, 6] et Fi=[ 0, 4, 0, 4]

    Calculer les polynomes de Lagrange .

  • 8/8/2019 Methodes Numeriques OUTILS

    46/116

    On a donc un polynme dordre 3.

    Les polynomes de Lagrange sont une mthode rapide de calculer des points

    sur la courbes sans avoir calculer explicitement les coefficients

    Si on a peu de points calculer cest interessantSil y en a beaucoup, il est plus intressant de calculer les coefficients (moinsde calculs effectuer).

  • 8/8/2019 Methodes Numeriques OUTILS

    47/116

    On voit que les mthodes polynomialesdivergent toujours linfini :

    Pas un problme pourlinterpolation si N est faible

    Peut tre un problme pourlextrapolation

    Mais cest une mthode : INSTABLE

    Autre exemple avec 50 points

  • 8/8/2019 Methodes Numeriques OUTILS

    48/116

  • 8/8/2019 Methodes Numeriques OUTILS

    49/116

    Notre polynmepasse bien par tous les points mais entre ces pointsIl a des variations IMPORTANTES

    (ici : + ou 1021 !!!!)

    => TRES INSTABLEquand on a beaucoup de points

    Autre exemple (moins sauvage)

  • 8/8/2019 Methodes Numeriques OUTILS

    50/116

    Interpolationpar polynmesde Lagrange

  • 8/8/2019 Methodes Numeriques OUTILS

    51/116

    Linterpolation polynomiale ne doit-tre utilise que :

    -Si on a peu de points (moins de 10)-Si on est sur que les fi sont des valeurs EXACTES (pas de pts de mesure)

    Pour rsoudre ce problme dinstabilit en conservant un approche polynomiale:

    Mthode simple :

    Ne pas utiliser tous les points, mais seulement les voisins1 point : F est constante par morceaux (mais discontinue)

    2 points : F est affine par morceaux (mais de non drivable, classe C0)

    3 points : F est parabolique par morceaux (drivable 1 fois, classe C1)

    Etc

  • 8/8/2019 Methodes Numeriques OUTILS

    52/116

    1 point : constantespar morceaux

    2 points : affine parmorceaux

    3 points : Parabolique parmorceaux

    Ces mthodes sont plutt stables souvent trs utiles mais ont de mauvaisesproprits de drivabilits

    Pour les calculer : On utilise les polynmes de Legendre

  • 8/8/2019 Methodes Numeriques OUTILS

    53/116

    Pour les calculer : On utilise les polynmes de Legendre.

    On veut calculer f(x) en utilisant les p plus proches voisins : Xj1 Xjp

    On a alors : x j1< x < Xjp

    1 pt

    2pt

    3 pt

    = =

    =jp

    ji

    jp

    ijjj ji

    j

    ixxxxaxf

    0 ,0 )()()(

    Dans le cas a 1 point : F(x) f(x ) (X est le pt immdiatement infrieur X)

  • 8/8/2019 Methodes Numeriques OUTILS

    54/116

    Dans le cas a 1 point : F(x)=f(xp0) (XP0 est le pt immdiatement infrieur X)

    Dans le cas 2 points :

    (xp0, F(xp0) )

    (xp1, F(xp1) )

    Simple interpolation linaire

    Une mthode dinterpolation populaire sappelle CUBIC SPLINE , elleutilise 4 points => F est de classe C3 (polynome dodre 3)

    ))()(()(

    )()( 01

    01

    0

    pp

    pp

    pxfxf

    xx

    xxxf

    =

  • 8/8/2019 Methodes Numeriques OUTILS

    55/116

    Interpolation parabolique (3 voisins).Interpolation linaire (2 voisins)

    Les interpolations polynomiales sont simples programmerMAIS

  • 8/8/2019 Methodes Numeriques OUTILS

    56/116

    Il existe encore dautres mthodes dinterpolation exactes :

    On peut aussi dcomposer en fractions rationnelles

    1

    1

    2

    210

    1

    1

    2

    210

    ......)(

    ++++ ++++= nn

    n

    n

    xqxqxqqxpxpxppxf

    Les inconnues sont les pi et les qi .Les fractions rationnelles sont moins instables que les polynomes maismoins faciles coder.Elles peuvent modliser des fonctions avec des ples (complexes) etc

    Pour plus dinfo, lire Numerical Recipes

    Elles sont dangereusement instables.

    Plus lordre est lev plus linstabilit sera grande.=>Il faut prfrer les interpolations qui se basent sur les 2 ou 3 voisins (ordre faible)

    Les f(xi) sont des valeurs approches :Ad t ti d dl d f ti

  • 8/8/2019 Methodes Numeriques OUTILS

    57/116

    Adaptation dun modle de fonctions

    Souvent en physique, on obtient des points de mesures f(xi) aux points xi :Ex :- temprature dun solide en fct de la temprature-Nombre datomes radio-actifs en fonction du temps

    Etc.

    Exemple de mesure :Nb datomes en fonction du temps

    Si les fi sont des points de mesures,ils sont soumis des erreurs, desfluctuations (on appelle cela du bruit)

    qui rend une interpolation exacteINSTABLE et invariablement FAUSSE !!

    Dans ce genre de problme typiquement on veut trouver

  • 8/8/2019 Methodes Numeriques OUTILS

    58/116

    Dans ce genre de problme, typiquement on veut trouverquelle est la meilleure fonction mathmatique qui reprsente les donnes.

    => Elle ne passe pas exactement par les points, mais elle sen approche.

    On appelle souvent cela fitter une fonction (en franais adapter ).

    Ex : faire passerune gaussienne par des points

    Fitter un nuage de points

  • 8/8/2019 Methodes Numeriques OUTILS

    59/116

    Fitter un nuage de pointspar une droite(Rgression linaire)

    Fitter un nuage par uneexponentielle(decroissance radio-active)

    Etc

    Le problme ici nest donc pas dinterpoler MAIS

  • 8/8/2019 Methodes Numeriques OUTILS

    60/116

    Le problme ici n est donc pas d interpoler MAISDe trouver le meilleur modle mathmatique qui reprsente les donnes.

    Donc ncessit dun modle mathmatique priori !!!

    Ce modle sera choisit en fonction :-Soit de la physique du problme

    -Soit de la forme des donnes exprimentales

    (Sachez que lil humain est un excellent outil pour analyser rapidementun ensemble de donnes ne jamais ngliger cela !!)

    On se choisit donc un modle mathmatique :

  • 8/8/2019 Methodes Numeriques OUTILS

    61/116

    Cest un ensemble de fonctions qui dpendent dun ou plusieurs paramtres.

    EXEMPLES:

    a , , Sinus/CosinusY=a cos ( x + )

    a et bexponentielleY=a ebx

    a et bRgressionlinaire

    Y=aX+B

    paramtresdescriptionmodles

    Etc

    Moins on a de paramtres libres, plus robuste sera le modle (moins sujet

    aux instabilits) , mais le fit sera plus difficile

    Lobjectif nest PAS de reproduire tous les points exactement (si cest le cas, cf.Cours sur linterpolation)

  • 8/8/2019 Methodes Numeriques OUTILS

    62/116

    Cours sur l interpolation)

    Lobjectif EST de trouver la fonction qui passe au plus prs des points de mesure :=> Minimiser la distance entre chaque point de la fonction et chaque pts de mesure

    EXEMPLES

    On doit donc se donner une MESURE de la distance entre les points et

  • 8/8/2019 Methodes Numeriques OUTILS

    63/116

    la fonction. On peut en imaginer de nombreuses .

    Une mesure courante : MOINDRES CARRES (xhi 2, 2)

    =ptslestt

    2

    2

    ..,,

    *

    2))((

    ,...),,(i

    icbai xyy

    cba

    Y*i = pt de mesure numro i (absice xi)

    Ya,b,c..(xi)= Modle (qui dpend des paramtres a,b,c..) au point xi

    i

    = incertitude de mesure sur le point iDonc le problme consiste trouver les paramtres a,b,c etc qui minimisentle Xhi2

    En clair le xhi2 cest : la somme des carrs des erreurs

  • 8/8/2019 Methodes Numeriques OUTILS

    64/116

    Considrons cet ensemble demesures Y*i pour i=1 n

    A lil on voit que cestla fonction constanteY(x)=10

    On va utiliser un modle 1 paramtre :

    Y(x)=a

    Quelle est la meilleure valeur de a ?

  • 8/8/2019 Methodes Numeriques OUTILS

    65/116

    Ici nous avons trac la valeurdu XHI2 en fonction du paramtre a

    Nous voyons que le XHI2 est minimispour a =10

    Cest un exemple simple 1 dimension

    (1 paramtre)En pratique souvent on utilise2 ou 3 paramtres..

    Minimisation en plusieurs dimensions

    Notez que la valeur du XHI2 nousdonne une estimation de la qualitdu fit.

    Nous avons donc besoin dun algorithme de minimisation pour trouverl ill bl d { b } i i i i l XHI

  • 8/8/2019 Methodes Numeriques OUTILS

    66/116

    le meilleur ensemble de paramtres { a,b,c } qui minimise le XHI2.

    Nous verrons de tels algorithmes plus tard dans le cours.

    CEPENDANT

    Pour le cas dune rgression linaire(fit par une droite, Y=aX+b) il existeun algorithme simple et analytique qui donne directement la meilleure valeurde a et b (2 paramtres) au sens des moindres carrs.

    Cette mthode peut-tre gnralise pour des fonctions polynomiales :Y=a0+a1X +a2X2 + + anXn

    Etude du XHI22*

  • 8/8/2019 Methodes Numeriques OUTILS

    67/116

    = ptslestt 22

    ..,,

    *

    2 ))((,...),,(i

    icbai xyycba

    Le XHI2 est une fonction des paramtres a,b,c , nots maintenant :a1 , , an

    Si le XHI2 est minimal au point (a*1, , a*n) alors toutes les drivespartielle sannulent ce point l.

    0

    ...

    0

    0

    **1

    **1

    **1

    ,..,

    2

    ,..,2

    2

    ,..,1

    2

    =

    =

    =

    n

    n

    n

    aan

    aa

    aa

    a

    a

    a

    2*2*2 )())(( iibi yyxyy

  • 8/8/2019 Methodes Numeriques OUTILS

    68/116

    == ptslesttptslestt22

    ..,,2 )())((

    ,...),,(i

    ii

    i

    icbai yyxyy

    cba

    0

    ...

    0

    0

    **1

    **1

    **1

    ,..,

    2

    ,..,2

    2

    ,..,1

    2

    =

    =

    =

    n

    n

    n

    aan

    aa

    aa

    a

    a

    a

    La distance

    =

    =

    ++++=

    1

    0

    1

    1

    2

    210,.., ...110n

    p

    p

    p

    n

    naaa

    xay

    xaxaxaayn La fonction. On cherche

    la meilleure combinaisonde ai pour minimiser la distance

    On doit alors rsoudresimultanement les n quations

  • 8/8/2019 Methodes Numeriques OUTILS

    69/116

    ( )

    =

    =

    =

    =

    =

    Np

    i i

    n

    p

    p

    ipi

    k

    ik

    k

    Np

    ipts i

    n

    p

    pipi

    i

    ii

    xay

    xaa

    xay

    yycba

    1

    0

    *

    12

    2

    :

    1

    0

    *

    2

    2

    2*2

    2

    )(,...),,(

    ptslestt

    O les (xi, , y*i) sont les points demesureEt les (xi, , yi) sont les points

    de la fonction modle

    !! Attention aux indices :

    k : numro de la variable quelon drivep: coefficient p du polynome

    i: numro du point de mesure

    n p1*

  • 8/8/2019 Methodes Numeriques OUTILS

    70/116

    ( )

    =

    ++

    +

    =

    ++

    =

    Np

    i

    N

    i

    N

    i

    N

    i

    k

    i

    i

    ink

    i

    n

    nk

    i

    k

    i

    Np

    i i

    p

    p

    ipi

    k

    ik

    p p p

    xy

    xa

    xa

    xa

    xayxa

    *11

    1

    1

    0

    0

    01

    ...

    0

  • 8/8/2019 Methodes Numeriques OUTILS

    71/116

    =

    +

    +

    +

    pts

    n

    ii

    pts

    ii

    pts

    i

    n

    n

    pts

    n

    in

    pts

    n

    in

    pts

    n

    i

    pts

    n

    i

    pts

    i

    pts

    i

    pts

    n

    ipts

    i

    xy

    xy

    y

    a

    a

    a

    xxx

    xxx

    xxn

    11

    1

    0

    22111

    1

    11

    1

    2

    1

    0

    1

    00

    ......

    /...//

    ............

    /...//

    /...//)1(

    On obtient donc le systme linaire, pour k=0, n-1

    M x A = Y

    => A=M-1 Y

    CAS PARTICULIER : Rgression linaire

  • 8/8/2019 Methodes Numeriques OUTILS

    72/116

    Y=a0 +a1 X , donc n=1 et k=0,1

    Et on pose =1 (mme incertitude de mesure sur tous les points)

    Ordre du polynme

  • 8/8/2019 Methodes Numeriques OUTILS

    73/116

    La Valeur du XHI2 est interessante : elle donne une indicationsur la qualit du fit :Distance moyenne ~ (XHI2/n points)1/2 en units de i

    => Fit idal : XHI2~n points (chaque points est fitt en moyenne 1 )

    Si XHI2 >> n points : mauvais fit ou barres derreur surestimes

    Si XHI2

  • 8/8/2019 Methodes Numeriques OUTILS

    74/116

    Ici tous les i =0.5

    Valeur du2 = 25.2

    La deviationmoyenne est~ sqrt(25.2/n points)~ 1.2 Delta

    Exemple 2 : Fit par une droite avec un point aberrant

  • 8/8/2019 Methodes Numeriques OUTILS

    75/116

    =0.5 pour tous les pts

    La droite a t tire vers le bas

    XHI2=234 >> nb de ptsMauvais fit

    Solution ?? En fait la barre derreur sur le dernier pt peut etreplace beaucoup plus , disons =10. pour ce pts, et 0.5 pour les autres

    =0 5 pour tous

  • 8/8/2019 Methodes Numeriques OUTILS

    76/116

    =0.5 pour tousles pts et=10 pour le ptabrrant

    On retrouve unesolution acceptable

    XHI2=22 (Ok)

    Conclusion: mme si souvent on oublie de considrer les barres derreur de mesurepeut tre trs utile pour sassurer de la qualit du fit

    Exemple 3 :

    Fit par une fonction exponentielle : Y=a ebx les pts de mesure (xi , yi*)

  • 8/8/2019 Methodes Numeriques OUTILS

    77/116

    On utilise la regression linaire sur le LOG des points car :

    Si

    les (xi , yi*) sont reprsentables par Y=a ebx =>

    Les (xi, Ln(yi*) ) sont reprsentables par Y=Ln(a)+ b X ( cest une droite)

    =>

    Y=LOG(Y)

    En rsum:

  • 8/8/2019 Methodes Numeriques OUTILS

    78/116

    En rsum:

    Faites attention quand vous calculez un fit : ayez toujours une estimationde sa qualit en considrant la valeur du XHI2 . Pour cela vous devez toujoursconnatre la qualit de vos points de mesure (barre derreur).

    Si votre modle de fonction est polynomial, vous pouvez trouverde manire analytique la meilleure solution en passant par une simpleinversion de matrice.

    Si vous voulez fitter par une fonction plus complique Il faudra faire une VRAIE minimisation du XHI2 avec un algorithmede minimisation itratif (Amoeba, Simplex etc) plus tard dans le cours

  • 8/8/2019 Methodes Numeriques OUTILS

    79/116

    Les gnrateurs de nombres pseudo-alatoires

    Pour beaucoup dapplications en physique et en mathmatique il est utile(voire ncessaire) davoir un gnrateur de nombres alatoires :

  • 8/8/2019 Methodes Numeriques OUTILS

    80/116

    Exemples :Simulation dune source radioactiveSimulation du mouvement brownienEstimation dune intgrale complexe en N dimensions (N>3)Simulation dun gazEtc

    On ne peut PAS rellement crer des nombres alatoires de manire algorithmique

    car tous les outils sont dtrministes.Nous construirons des sries de nombres que nous qualifierontde pseudo-alatoires si elles rpondent certaines tests statistiquesi.e si elle a les mmes proprit statistique quune vraiesrie alatoire.

    Toutes les sries pseudo-alatoires dpendent dun chiffre, appel grane ( seed ) . On pourra regner la mme srie de chiffre en partant de la mme grane =>

    reproductibilit de la srie (indispensable pour tester les programmes)

    DISTRIBUTION UNIFORMES

  • 8/8/2019 Methodes Numeriques OUTILS

    81/116

    Dans de nombreux langages de programmation, des gnrateurs de nombrespseudo-alatoires sont implments.

    Il sappellent souvent : RAN, RANDOM , RANDOMU etc

    Un appel typique : X=RANDOM(seed) o seedest un nombre appel grane

    La majorit des fonctions RANDOM sont appel :

    Gnrateurs congruentiels

    Se sont des sries du type :

    m)(modUaU j1j =+ Ou m)(modcUaU j1j +=+

    m)(modUaU j1j =+ Ou m)(modcUaU j1j +=+

  • 8/8/2019 Methodes Numeriques OUTILS

    82/116

    m= grand nombre ~maximum reprsentable par la machine (~232 = 4.3 109)

    U0 = graine

    a, c : paramtres du gnrateur

    Donc une srie de nombres pseudo-alatoires est une suitede chiffre calculs itrativement, avec U0= graine.Donc si on utilise la mme grane => on obtient la mme suite

    La qualit de la suite dpend dun choix Judicieux de a et de c.

    Certains couples (a,c) sont connus pour tre bons, dautres mauvais.

    Exemple : Uj+1= a Uj+c (mod M)

    Avec a=47, b=5, m=65536

  • 8/8/2019 Methodes Numeriques OUTILS

    83/116

    Si on veut une srie entre 0 et 1 on divise par m

    Pas mal comme rsultat mais si on tire 105 nombres les pb apparaissent :

    Tirage de 1 million de chiffres pseudo-alatoires

  • 8/8/2019 Methodes Numeriques OUTILS

    84/116

    On voit clairement apparatre des corrlations entre les nombres,Priode tous les ~ 65000

  • 8/8/2019 Methodes Numeriques OUTILS

    85/116

    Mme gnrateur, mais avec m=106 => des corrlations existent toujoursMAIS plus longues : tous les 106 typiquement

    Donc il faut bien choisir les valeurs de a, c et m

  • 8/8/2019 Methodes Numeriques OUTILS

    86/116

    Il en existe beaucoup dans la littrature

    Uj+1=(Uj a +c) mod (m)

    Les gnrateurs congruentiels sont faciles coder et rapides(important si on a besoin de 109 nombres par exemples)

  • 8/8/2019 Methodes Numeriques OUTILS

    87/116

    MAIS

    Ils finissent toujours par se rpter (i.e modulo m), les corrlations sontinvitables

    Donc il faut jamais utiliser des sries de N nombres o N est comparable m

    Il faut savoir aussi que le hasard est toujours plus important sur les

    premires dcimales (essayez pour voir)=>

    Si vous avez besoin de 2 nombres alatoires, Tirez en 2, et NE FAITES PAS je casse le nombre en plusieurs bouts pour en faire deux

    Un gnrateur relativement simple et performant est :

    A=75 = 16087

  • 8/8/2019 Methodes Numeriques OUTILS

    88/116

    M=232-1 = 2147483647C=0

    Pour 106 chiffres a lair OK

    Tirage entre 0 et 1

  • 8/8/2019 Methodes Numeriques OUTILS

    89/116

    Valeurs thoriques : =0.5Variance (Sigma^2)=1./12.=0.083333

    A la vue des 2 premiers moments notre distribution est assez fidlement uniforme..

    Pour diminuer encore les corrlations, diverses techniques existent,Par exemple on tire au hasard lindice du chiffre numro j ( shuffling )

  • 8/8/2019 Methodes Numeriques OUTILS

    90/116

    On peut aussi utiliser des suites de Fibonacci (demandent + de mmoire)

    Uj+1 =(aUj-1 + bUJ-1+c) mod (m) etc

    Les gnrateurs congruentiels permettent de tirer une srie de nombre avecun distribution ~ uniforme entre 0 et m-1

    Si vous avez besoin dune srie entre 0 et 1, divisez les rsultat par m.

    EN PRATIQUE

  • 8/8/2019 Methodes Numeriques OUTILS

    91/116

    On prfrera utiliser des algorithmes prprogramms en SE RENSEIGNANTsur leur robustesse !!!

    Tirez au hasard 107 chiffres et affichez le rsultat dj lil vous aurez une

    ide sil y a des corrlations videntes ou non

    Mfiez vous si vous avez besoin dune LONGUE squence ROBUSTE.. Descorrlations caches peuvent vraiment affecter la validit de votre rsultat !!

    ENFIN

    Si vous voulez du VRAI hasard, cest possible.. Sur le web !!http://www.random.org/

    O vous aurez des sries VRAIMENT alatoires, tires de systmesphysiques

    Fabrication de suites pseudo-alatoires non-uniformes

    No s sa ons fabriq er ne distrib tion niforme 1

  • 8/8/2019 Methodes Numeriques OUTILS

    92/116

    Nous savons fabriquer une distribution uniformeentre a et b :

    Mais de nombreux problmes ncessitent des distributions non-uniformes :

    exemples

    abxp

    = 1)(

    2

    2

    2

    )(

    2

    1)(

    =x

    exp Gaussienne (Normale)

    !)(

    xexp

    x = Poisson

    )()(

    22 xa

    axp

    +=

    Cauchy / Lorentzienne

    2

    2

    22

    )(

    x

    ex

    xp

    = Raleygh etc.

    P(x)= densit de probabilit

    Problme : Nous voulons gnrer une srie de N points pseudo-alatoiresqui sont distribus suivant une densit de probabilit p(x)

  • 8/8/2019 Methodes Numeriques OUTILS

    93/116

    Pour cela nous allons utiliser un thorme fondamental de transformationdes lois de probabilits :

    Prliminaires : On considre une srie de nombre alatoires x i entre a et b

    p(x) dx est la probabilit quun nombre xi soit entre x et x+dx

    =b

    a

    dxxp 1)( la probabilit dtre dans le domaine de dfinition [a,b]est gale 1 (Normalisation)

    On dfinit C(x) la distribution cumule : Probabilit dtre < x :

    =x

    a

    dxxpxC )()( On a donc C(b)=1

    Exemple : p(x)=1/(b-a) => c(x)= (x-a)/(b-a)

    Transformons les probabilits :

    On considre une srie de nombre {xi} distribus uniformments

  • 8/8/2019 Methodes Numeriques OUTILS

    94/116

    On considre maintenant la srie des { yi } o yi=f(xi) est une fonction bijective sur [a,bLes { yi } sont aussi not les { f(xi) }

    Connaissant p(x) nous voulons connatre la distribution p(y) des {y i}

    Soit x=Y-1(y)

    dy

    dxxpypp(x) dxp(y) dy )()( ==

    Exemple : Prenons y=-ln(x) , et p(x)=1. entre 0 et 1Alors :

    P(y)=p(x)*|dx/dy| avec -1/dx=dy => dx/dy=-1/x

    P(y)= 1. | 1/x | or x=e-y

    p(y)=ey Distribution exponentielle !!!

    Avec x=f-1(y)

    Exemple :{xi}={5.740e-005, 0.965 , 0.1291, 0.0106, 0.1106, 0.3120, 0.825, 0.9401, 0.922, 0.217, 0.44616127, .}

    =>{y } {

  • 8/8/2019 Methodes Numeriques OUTILS

    95/116

    {xi} distrib. uniforme => { -ln(xi)} : distrib. exponentielleentre 0 et 1

    >{yi}={9.763, 0.03437, 2.0466, 4.541, 2.201, 1.16455, 0.1919, 0.0617, 0.080, 1.5274, 0.8070 }

    d

    Donc en utilisant la formule de transformation des distributions

  • 8/8/2019 Methodes Numeriques OUTILS

    96/116

    [ ]dy

    ydfyfpyp

    yfxdy

    dxxpyp

    )()()(

    )()()(

    11

    1

    =

    == o

    On peut transformer notre distribution uniforme en nimporte quelle autre distribution

    Sous rserve que lon puisse calculer dx/dy et f-1 (ce qui nest pas toujours les cas..)

    De manire plus pratique : On peut utiliser faire intervenir la distrib. cumulativeSupposons que nous voulins obtenir une distribution p(y) partir de nombresuniformment {xi} distribus entre 0 et 1 p(x)=1

  • 8/8/2019 Methodes Numeriques OUTILS

    97/116

    uniformment {xi} distribus entre 0 et 1, p(x)=1.

    Comme la distrib. Cumulative =y

    y

    dyypyC

    inf

    )()(

    Si on pose : y=f (x)=C-1 (x) x=f -1 (y)=C(y)

    Alors :

    [ ]

    )(/

    11)(

    )()(

    )(

    )()(

    1

    11

    ypdy

    dC

    dxdCyp

    dy

    dxxpyp

    dy

    ydf

    yfpyp

    ===

    =

    =

    EN PRATIQUE :

    Soit une srie de nombres {xi} uniformment distribus entre 0 et 1

    On veut construire une distribution {yi} qui suit la lois p(y)

  • 8/8/2019 Methodes Numeriques OUTILS

    98/116

    On veut construire une distribution {y } qui suit la lois p(y)

    =

    y

    y

    dyypypinf

    )()(Soit P(y) la distribution

    cumulative :

    On calcule alors yi=P-1(xi)

    Les yi ont la bonne distribution

    Exemple :

    )1(

    1

    )( 2 += yyp Lorentzienne

  • 8/8/2019 Methodes Numeriques OUTILS

    99/116

    )2/tan()(

    )arctan(

    2

    1)(

    )1()(

    1

    ==>

    +==>

    +=

    xxC

    yyC

    yyp Lorentzienne

    On calcule des {xi} distribus uniformment=>

    On calcule les yi =C-1(xi) qui seront distribus selon une Lorentzienne

  • 8/8/2019 Methodes Numeriques OUTILS

    100/116

    =>

  • 8/8/2019 Methodes Numeriques OUTILS

    101/116

    On prend des points {xi} distribus uniformment entre -1 et 1

  • 8/8/2019 Methodes Numeriques OUTILS

    102/116

    Sur laxe de X on obtient les points {Yi} distribus selon une gaussienne

    Graphiquement cela marche bien , mais analytiquement problme !

    Tout cela est trs bien mais pour de nombreuses fonctionson ne sait pas calculer C-1(x)

    Exemple : Pour la Gaussienne :

  • 8/8/2019 Methodes Numeriques OUTILS

    103/116

    Exemple : Pour la Gaussienne :

    )(2

    1)(

    2

    1)(

    2

    2

    2

    2

    2

    )(

    2

    )(

    yERFdyeyC

    eyp

    y y

    y

    =

    =>=

    O Erf est la fonction Erreur Non analytique donc non inversibleanalytiquement

    Autre exemple : Distribution Gamma:

    )(1exxp

    xa

  • 8/8/2019 Methodes Numeriques OUTILS

    104/116

    )()(

    aexxp

    =

    On na pas dexpression de C(x) analytique encore moins de C-1

    Etc

    Dans dautres cas , on connat C mais on nest pas capable de calculer C -1

    Exemple C(x)=a0+a1 X + a2 X2 +a3 X3 + . + aN XN

    On polynme dordre elev (> 5) nest pas analytiquement inversible

  • 8/8/2019 Methodes Numeriques OUTILS

    105/116

    On polynme d ordre elev (> 5) n est pas analytiquement inversibleEt mme un polynme dordre 3 est difficilement inversible

    Dans ces deux cas l on utilisera une mthodede REJECTION

    Que nous ntudierons pas cette anne

    Pour le cas particulier de la distribution Gaussienne, il existe un algorithme courant qui genre deux variables alatoires.*

    Mthode de : Box-Muller

  • 8/8/2019 Methodes Numeriques OUTILS

    106/116

    Soient x1 et x2 deux variables uniformes entre 0 et 1

    Considrons les transformation suivantes :

    )2sin()ln(2

    )2cos()ln(2

    212

    211

    xxy

    xxy

    =

    =

    On peut montrer que Y1 et Y2 sont distribus selon un distribution gaussienne

    de variance = 1=> La norme aussi : (Y12+Y22)1/2 => utile si on a besoin dun seul chiffre

    INTEGRATION MONTE-CARLO

    Les nombres alatoires servent aussi intgrer des fonctions .

    Li i M C l l i i l

  • 8/8/2019 Methodes Numeriques OUTILS

    107/116

    Lintgration Monte Carlo est en gnral intressante pour une intgralemulti-dimensionnelle (N>~3)

    Ide de base : Si on tire N points au hasard le nombre de points sousla courbe est proportionnelle laire de celle -ci

    X

    Y

    A=Aire de la boite

    f

    A=Aire de la boite

  • 8/8/2019 Methodes Numeriques OUTILS

    108/116

    X

    Y

    Lintgrale de f lintrieure de la boite (entre Xmin et Xmax) est

    f

    AN

    N

    dxxf

    X

    X total

    sous

    max

    min)(

    F

    En fait lintgration Mont Carlo est aussi intressante si le domaine dintgrationest difficile calculer (la fonction peut-tre trs simple):

    Exemple :

  • 8/8/2019 Methodes Numeriques OUTILS

    109/116

    ( )3

    113

    2222

    ++

    y

    xyxz

    F(x)=1

    On veut calculer le volume :

    =v

    dxdydzV

    On peut donc considrer un volume simple qui entoure le morceau de toreet compter le nombre de points qui tombent lintrieure

    MAIS cette mthode est trs inefficace : il faudra tirer beaucoup de points pour

  • 8/8/2019 Methodes Numeriques OUTILS

    110/116

    MAIS cette mthode est trs inefficace : il faudra tirer beaucoup de points pourconverger vers le rsultat

    Voici une mthode plus efficace :

    On veut Calculer

    = A dxxfI )(Sur un domaine compliqu A, x et dx sont multi-dimensionnels

    On se donne un domaine plus simple, D qui englobe ASoit V le volume de D

    =

    A

    dxxfI )(

    On rcrit lintgrale :

    )()()( dfdfI

  • 8/8/2019 Methodes Numeriques OUTILS

    111/116

    Comme :

    ==

    ==

    AxsiAxsi

    0)(

    1)(

    )()()(

    xg

    xgo

    dxxgxfdxxfID

    A

    Que lon peut encore rcrire :

    ==DD VdxxgxfVdxxgxfI )()(

    1

    )()(

    O V est le volume du domaine D.

    Pourquoi cette transformation ?

    crit sous cette forme :

    1

  • 8/8/2019 Methodes Numeriques OUTILS

    112/116

    == DA VdxxgxfVdxxfI )()(1

    )(

    On voit que I est la valeur moyenne de h(x)=f(x)g(x)V sur le domaine D

    Donc maintenant si {xi} sont des points uniformment distribus dans D

    Alors

    )()()(1

    i

    i i

    ii xgxf

    N

    Vxh

    N

    I =Voil un algorithme qui converge beaucoup plus rapidement que de tirer des pointssous la courbe.CEPENDANT : pour le calcule de g(x) , on doit toujours tester si x appartient au domaine

    Exemple :

    Intgrons f(x)=cos(x)2 sur lintervalle 0-1

  • 8/8/2019 Methodes Numeriques OUTILS

    113/116

    Le rsultat exacte est : 0.72729516..

    )()( ii

    xgxf

    N

    VI

  • 8/8/2019 Methodes Numeriques OUTILS

    114/116

    V = longueur de lintervalle : 1g(x) =1 si on tire uniquement des points entre 0 et 1F(x)=cos(x)2

    Lerreur sur le rsultat diminueavec le nb de points

    Voici lerreur sur le rsultat enfonction du nombre de points

    tirs

  • 8/8/2019 Methodes Numeriques OUTILS

    115/116

    On peut montrer que souvent , lerreur dcroit en

    N

    1

    Donc pour avoir une erreur 2 fois plus faible , il faut 4 fois plus de points !!!

    => pour 50 points lerreur (relative) est environ 0.05pour avoir une erreur de seulement 0.025 il faut environ 200 pointsEt pour erreur~0.01 il fait environ 800 points ..

    En conclusion :

  • 8/8/2019 Methodes Numeriques OUTILS

    116/116

    Lintgration par mthode Monte-Carlo permetdintgrer des fonctions-Complexes- Sur des domaines compliques- A plusieurs dimensions.