cours calcul scientifique 2013

Upload: geo14144156

Post on 04-Jun-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/13/2019 Cours Calcul Scientifique 2013

    1/85

    Calcul scientifique

    Licence de Mecanique-3eme annee

    Universite dAix-Marseille, 2013-2014

    Uwe Ehrenstein

    12 septembre 2013

  • 8/13/2019 Cours Calcul Scientifique 2013

    2/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    3/85

    TABLE DES MATIERES

    4.3 Conditions de convergence . . . . . . . . . . . . . . . . . . . . . 74

    4.4 Methode de Jacobi et de Gauss-Seidel, methode de relaxation . . . 764.4.1 Quelques resultats de convergence de methodes iteratives . 78

    2

  • 8/13/2019 Cours Calcul Scientifique 2013

    4/85

    Chapitre 1

    Interpolation et integration

    numerique

    1.1 Motivation

    En general il nest guere possible de trouver la valeur exacte dune integrale

    Z ba

    f(x)dx

    sauf dans le cas ou on connat explicitement une primitive de la fonction f, oualors lorsque lexpression de la fonction fpermet par exemple une integration

    par parties ou un changement de variable approprie. Lidee est alors dappro-

    cher lintegrale par une somme. La methode la plus rudimentaire est dutiliser

    les sommes de Riemann. Si on introduit les n + 1 points

    xj= a + j

    n(b a), j=0,1, ,n

    alors une somme de Riemann, appelee encore formule des rectangles a gauche,

    est donnee par

    Sg=1

    n

    n

    1

    j=0f(xj).

    LexpressionSgcorrespond a la somme des aires de tous les rectangles de base

    [xj,xj+1](de longueurh=1/n) et de hauteur f(xj), qui est la valeur de f(xj)agauche du petit intervalle[xj,xj+1]. Dans la formule des rectangles a droite onprend la valeur f(xj+1)pour obtenir

    Sd=1

    n

    n1

    j=0

    f(xj+1).

    3

  • 8/13/2019 Cours Calcul Scientifique 2013

    5/85

    Interpolation et integration numerique

    Ces deux approximations sont illustrees sur la figure 1.1 par les aires hachurees.

    On sait que, pour des fonctions fcontinues, ces sommes tendent precisement verslintegrale, lorsque n tend vers linfini, c.-a-d. lorsquon opere une sous-division

    de plus en plus fine de lintervalle dintegration.

    000000000000000000000000000

    000

    111111111111111111111111111

    111

    000000000000000000000000000

    000

    000

    000

    000

    000000

    111111111111111111111111111

    111

    111

    111

    111

    111111

    000000000000000000000000000

    000

    000

    000

    000

    000

    000000

    111111111111111111111111111

    111

    111

    111

    111

    111

    111111

    000000000000000000000000000

    000

    000

    000

    000

    000

    111111111111111111111111111

    111

    111

    111

    111

    111

    000000000000000000000000000

    000

    111111111111111111111111111

    111

    000000000000000000000000000

    000

    111111111111111111111111111

    111

    000000000000000000000000000

    000

    000

    000

    000

    000

    111111111111111111111111111

    111

    111

    111

    111

    111

    000000000000000000000000

    000

    000

    000

    000

    000

    000000000

    111111111111111111111111

    111

    111

    111

    111

    111

    111111111

    x

    f (x)

    000

    000

    000

    000

    000

    000000000000000000000000000000

    111

    111

    111

    111

    111

    111111111111111111111111111111

    000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    000

    111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    111

    000

    000

    000

    000

    000

    000000000000000000000000000

    111

    111

    111

    111

    111

    111111111111111111111111111

    000

    000

    000

    000

    000

    000000000000000

    111

    111

    111

    111

    111

    111111111111111

    000

    000

    000

    000

    000

    000000000000000

    111

    111

    111

    111

    111

    111111111111111

    000

    000

    000

    000

    000

    000000000000000000000000000

    111

    111

    111

    111

    111

    111111111111111111111111111

    000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    000

    111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    111

    000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    000

    000

    111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    111

    111

    000111

    000111

    000111000111000111000111

    000111

    000111

    x

    f (x)

    a b

    a b

    S

    S

    g

    d

    FIG . 1.1 Formule des rectangles a gauche (haut) et des rectangles a droite (bas).

    Pour construire ces sommes, on peut dire que lon approche la fonction dans

    lintervalle[xj,xj+1]par une constante, egale a f(xj)pour la sommeSget egalea f(xj+1)pour la somme Sd. On peut donc dire que sur lintervalle [xj,xj+1]lafonction est approchee par un polynome de degre zero, c.-a-d. une constante.

    4

  • 8/13/2019 Cours Calcul Scientifique 2013

    6/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    7/85

    Interpolation et integration numerique

    Si la matrice Aest inversible, alors le systeme ci-dessus admet une solutiondet

    une seule en fonction du vecteurz.Linterpolation polynomiale consiste a prendre comme fonctions hj(x)des

    monomes

    hj(x) =xj,j=0, ,n, (1.6)

    c.-a-d. on cherchegsous la forme dun polynome de degrenque lon note pnet

    pn(x) =n

    j=0

    cjxj. (1.7)

    Dans ce cas les coefficients de la matrice Ade (1.5) sont

    ai j= xj1i1 ,

    et la matriceAqui en resulte est appelee matrice de Vandermonde

    A=

    1 x0 x20 xn0

    1 x1 x21 xn1

    ... ...

    ... ...

    1 xn1 x2n1 xnn11 xn x

    2n xnn

    . (1.8)

    On peut montrer (voir des ouvrages dalgebre lineaire) que le determinant de cettematrice est

    det(A) = 0i

  • 8/13/2019 Cours Calcul Scientifique 2013

    8/85

    Interpolation polynomiale

    Theoreme 2 Supposons que les points xj,j =0,

    ,n sont dans un intervalle

    [a,b] et que f est(n + 1) fois continument d erivable dans lintervalle[a,b]. Soitx [a,b]et on introduit la fonction

    (x) = (x x0)(xx1) (x xn). (1.10)

    On note

    Rn(x) = f(x) pn(x) (1.11)lerreur dinterpolation. Alors il existe un pointxdans le plus petit intervalle quicontient x,x0, xn(doncx [min(x,x0, ,xn),max(x,x0, ,xn)]) tel que

    Rn(x) = (x)(n + 1)!

    f(n+1)(x) (1.12)

    avec f(n+1)(x)la d erivee n + 1 eme de f au pointx.

    La formule (1.12) est evidente six = xj, car dans ce cas Rn(xj) = (xj) =0.Pour demontrer le resultat lorsque x =xj, on introduit une fonction

    F(t) =Rn(t)(x) Rn(x)(t).

    La fonction sannule aux pointsxj,j =0,

    n,carR

    n(x

    j) =0 et(x

    j) =0, mais

    egalement par construction au point x. Donc, F(t)possede (n + 2)zeros. Or,dapres le theoreme de Rolle, si une fonction derivable sannule en deux points, il

    y au moins un point entre ces deux zeros ou la derivee de la fonction sannule. Ici

    F(t)an + 2 zeros, donc il y a au moinsn + 1 points ou la deriveeFsannule. Onpeut ensuite appliquer le theoreme de Rolle a F, ensuite aFetc. On en deduitquil existe au moins un pointxtel que la deriveen + 1 eme deF(t)

    F(n+1)(t) =R(n+1)n (t)(x) Rn(x)(n+1)(t)

    sannule. MaisRn(t) = f(t)

    pn(t)etR(n+1)n (t) = f

    (n+1)(t), car la deriveen + 1eme depn(t)est identiquement egale a zero). Par ailleurs, il est facile de constaterque(n+1)(t) = (n + 1)! et lexpression de lerreur dinterpolation (1.12) sensuit.

    Evidemment, sauf dans des cas particuliers le point x, qui depend dexpourdes points dinterpolationxj,j =0, ,n,donnes, nest pas connu explicitement.De (1.12) on peut par exemple deduire la majoration

    |Rn(x)| Cn+1|(x x0)....(x xn)|(n + 1)!

    avec Cn+1= maxx[a,b]

    |f(n+1)(x)| (1.13)

    7

  • 8/13/2019 Cours Calcul Scientifique 2013

    9/85

    Interpolation et integration numerique

    La majoration de lerreur est donc fonction de

    |(x

    x0)....(x

    xn)

    |=

    |(x)

    |.

    On peut essayer de trouver une majoration de cette quantite. On suppose avoirordonne les points dans lordre croissant

    x0<

  • 8/13/2019 Cours Calcul Scientifique 2013

    10/85

    Integration numerique : les formules de Newton et Coates

    On peut alors aisement construire lunique polynome dinterpolation pn(x)de

    degre ntel quepn(xk) = f(xk), k=0, ,n.

    En effet, il peut secrire sous la forme

    pn(x) =n

    j=0

    f(xj)Lj(x). (1.17)

    En effet, lexpression ci-dessus est bien un polynome de degre net

    pn(xk) =n

    j=0

    f(xj)Lj(xk) = f(xk),

    dapres la definition (1.15) des polynomes de Lagrange.

    Cest precisement linterpolation polynomiale qui permet de construire des

    formules dintegration.

    1.3 Integration numerique : les formules de Newton

    et Coates

    On suppose donne un intervalle[c,d]et on cherche a evaluer

    I=

    Z dc

    f(x)dx

    pour une fonction (continue) f. Lidee est dapprocher la fonction fpar un po-

    lynome de degre lqui interpole fen des points discrets dans lintervalle[c,d].Soient donc une sous-division del + 1 points de lintervalle, c.-a-d.

    xj= c +jh, j=0, , l et h= dcl .

    Dapres lexpression (1.17) le polynome pl qui interpole fen ces points peut

    secrire a laide des polynomes de Lagrange et

    pl (x) =l

    j=0

    f(xj)Lj(x).

    Une formule dintegration numerique est obtenue par la somme

    Z dc

    pl(x) =l

    j=0

    f(xj)Z d

    cLj(x)dx (1.18)

    9

  • 8/13/2019 Cours Calcul Scientifique 2013

    11/85

    Interpolation et integration numerique

    et il faut alors evaluer les integrales des polynomes de Lagrange. Faisons le chan-

    gement de variable

    x=c + ht, donc Lj(c + ht) =j,l(t) =l

    k=0k=j

    t kj k (1.19)

    (on ecritj,l(t)car ces fonctions dependent bien sur de l). On peut alors ecrire(etant donne quedx=hdt)

    Z dc

    Lj(x)dx=hj,l avec j,l=

    Z l0j,l(t)dt. (1.20)

    Donc, la formule dintegration secrit

    Z dc

    pl(x) =hl

    j=0

    j,lf(xj). (1.21)

    Exemples :

    1.Pourl =1, il y a dans ce cas 2 points dans lintervalle,

    0,1=

    Z 100,1(t)dt=

    Z 10

    t1(

    1)

    dt=1

    2

    et

    1,1=

    Z 101,1(t)dt=

    Z 10

    tdt=1

    2.

    Par consequent Z dc

    p1(x)dx=h

    2(f(x0) +f(x1)) (1.22)

    2.Pourl =2, donc avec 3 points dans lintervalle,

    0,2=

    Z 200,2(t)dt=

    Z 20

    (t1)(t2)2

    dt=1

    3,

    1,2=

    Z 201,2(t)dt=

    Z 20

    t(t2)(1) dt=

    4

    3

    et

    2,2=Z 2

    02,2(t)dt=

    Z 20

    t(t1)2

    dt=1

    3.

    Dans ce cas, on obtient la formule

    Z dc

    p2(x)dx=h

    3(f(x0) + 4f(x1) +f(x2)) . (1.23)

    10

  • 8/13/2019 Cours Calcul Scientifique 2013

    12/85

    Integration numerique : les formules de Newton et Coates

    Considerons maintenant un intervalle[a,b]et une fonction f(x)continue sur cet

    intervalle. On sous-divise lintervalle en N+ 1 points

    xi= a + ih, i=0,1, ,N, avec h= b aN

    .

    Lidee est de considerer des sous-intervalles a linterieur de[a,b]avecl + 1 pointset dinterpoler sur ces sous-intervalles fpar des polynomes de degrel , pourN>l (et en general Ngrand devant l). Plus precisement, supposons que Nest un

    multiple del , cest-a-direN= lMet on definit lesMsous-intervalles

    [xil, x(i+1)l ], i=0, ,M1 (1.24)dont chacun contientl +1 points. Ces intervalles jouent le role de lintervalle[c,d]ci-dessus : interpolant fsur cet intervalle par le polynome dinterpolation pi,l(x)de degrel , on peut ecrire par (1.21) pour les points xil,xil+1, ,x(i+1)l

    Z x(i+1)lxil

    pi,l(x)dx=hl

    j=0

    j,lf(xil+j). (1.25)

    Evidemment, ces sommes sont des approximations de la vraie integrale

    Z x(i+1)l

    xil

    f(x)dx

    et lanalyse de lerreur fait lobjet du paragraphe suivant. Raccordant toutes ces

    formules on obtient une formule dintegration qui est une approximation de

    Z ba

    f(x)dx.

    On note cette formule dintegrationIN,l(f)et elle fait intervenirN+1 points, avecN=lM. Cette formule est appelee de Newton et Coates ; on lobtient en sommantles expressions (1.25) et donc

    IN,l(f) =hM1i=0

    l

    j=0

    j,lf(xil+j), N= lM. (1.26)

    Exemples :

    1.Prenons l =1 dans la formule ci-dessus : alors il a ete montre plus haut que0,1= 1,1=1/2 et on obtient la formule bien connue des trapezes

    IN,1(f) =hN1i=0

    1

    2(f(xi+f(xi+1))

    11

  • 8/13/2019 Cours Calcul Scientifique 2013

    13/85

    Interpolation et integration numerique

    que lon peut encore ecrire

    IN,1(f) =h

    2(f(x0) + f(xN)) + h

    N1i=1

    f(xi). (1.27)

    Bien sur, le nom vient du fait que sur chaque intervalle [xi,xi+1]on approche lafonction par un polynome de degre 1, donc une droite, et laire obtenue est celle

    du trapeze qui en resulte (cf. figure 1.2).

    0

    0

    0

    1

    1

    1

    000000

    000

    000

    000

    000

    000000000000000000000000000

    111111

    111

    111

    111

    111

    111111111111111111111111111

    000000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    111111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    000000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    111111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    000000

    000

    000

    000

    000

    000000000000000000000000

    111111

    111

    111

    111

    111

    111111111111111111111111

    000

    000

    000

    000

    000

    000

    000000000000

    111

    111

    111

    111

    111

    111

    111111111111

    000000

    000

    000

    000

    000

    000000000000000000000000

    111111

    111

    111

    111

    111

    111111111111111111111111

    000

    000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    111

    111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    000000

    000

    000

    000

    000

    000

    000000000000000000000000000000

    000

    000

    111111

    111

    111

    111

    111

    111

    111111111111111111111111111111

    111

    111

    000000000000000000111111111111111111000000

    000

    111111

    111

    000000000000

    000

    111111111111

    111

    000000000000000111111111111111000000111111000000000000000111111111111111000000000000

    000

    111111111111

    111

    000

    000

    111

    111

    x

    f (x)

    a b

    FIG . 1.2 Schema illustrant la formule des trapezes.

    2.Pourl= 2 nous avons montre plus haut que0,2= 1/3,1,2= 4/3 et 2,2=1/3 et la formule correspondante secrit

    IN,2(f) =hM

    1

    i=0

    13

    (f(x2i) + 4f(x2i+1) +f(x2i+2)) , N=2M,

    ou encore

    IN,2(f) =h

    3(f(x0) +f(xN))+

    4h

    3

    M1i=0

    f(x2i+1)+2h

    3

    M1i=1

    f(x2i),N= 2M. (1.28)

    Cette formule est appelee laformule de Simpson.

    12

  • 8/13/2019 Cours Calcul Scientifique 2013

    14/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    15/85

    Interpolation et integration numerique

    avec

    p(x) = f(c) +f(c)(x c) + + f(l)(c)(x c)l

    l!

    qui est un polynome de degre inferieur egal a l . Donc, dapres ce qui precede,

    R(p) =Z d

    cp(x)dx h

    l

    j=0

    jp(xj) =0.

    Il sensuit que

    R(f) =1

    l!Z

    d

    cZ

    d

    c

    f(l+1)(t)ql(x, t)dtdx 1

    l!

    hl

    j=0

    j Z d

    c

    f(l+1)(t)ql(xj, t)dt.

    Or, un peut intervertir lordre dintegration dans lintegrale double et lintegrale

    dune somme etant la somme des integrales, on obtient le theoreme

    Theoreme 3 Soit f Cl+1[c,d] ; alors lerreur (1.29) commise en approchantlint egrale par la formule dint egration de Newton et Coates est

    R(f) =Z d

    cf(l+1)(t)Kl(t)dt, (1.34)

    Kl(t) etant la fonction dite de Peano dont lexpression est

    Kl(t) =1

    l!

    Z dc

    ql(x, t)dx hl

    j=0

    jql(xj, t)

    (1.35)

    avec ql(x, t)la fonction donnee par (1.31).

    Exemples de fonctions de Peano :

    1.Considerons dabord le casl =1 et la formule des trapezes (1.22). Dans ce cas[c,d]contient deux points etdc = h. Il convient alors de considerer un intervalletype de longueurh, par exemple[0,h]. Il suffit de determiner la fonction de Peano

    K1(t) pour [0,h] car cette fonction dans tout autre intervalle de longueurhpeut etreobtenue par translation de la variable. Pour l=1 la fonction q1(x, t)est dapres(1.31)

    q1(x, t) =

    (x t)1, six t

    0, six

  • 8/13/2019 Cours Calcul Scientifique 2013

    16/85

    Lerreur dans les formules de Newton et Coates : la formule de Peano

    (la borne inferieure tde la deuxieme integrale ci-dessus etant due au fait que

    q1(x, t) =0 six< t). Sit [0,h], on deduit de lexpression de q1queq1(0, t) =0etq1(h, t) =h t. Les coefficients de la formule sont0= 1=1/2 et on obtientfinalement par (1.35)

    K1(t) =(h t)2

    2 h

    2(h t) =(h t)(t)

    2 , t [0,h]. (1.36)

    On observe que cette fonction, representee sur la figure 1.3, est de signe constant

    negatif sur lintervalle.

    0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10.14

    0.12

    0.1

    0.08

    0.06

    0.04

    0.02

    0

    FIG . 1.3 Fonction de PeanoK1(t)associee a la formule des trapezes (tracee pourh=1).

    2. Le calcul pour l= 2 et pour la formule de Simpson, est plus complique ; prenonsdans lexpression (1.23) lintervalle de longueur 2hcentre en 0, a savoir[h,h].La formule est construite de facon a ce que si p(x)est un polynome de degre auplus 2, alors

    Z h

    hp(x)dx

    h

    3(p(

    h) + 4p(0) +p(h)) =0.

    Soits(x)un polynome de degre 3, alors s= ax3 +pavec pde degre 2 au plus.Bien sur, h

    3(s(h) + 4s(0) + s(h)) = h3(p(h) + 4p(0) +p(h))et on aura

    Z hh

    p(x)dx h3

    (s(h) + 4s(0) + s(h)) =0.

    Or, Z hh

    s(x)dx=Z h

    hp(x)dx car

    Z hh

    ax3dx=0

    15

  • 8/13/2019 Cours Calcul Scientifique 2013

    17/85

    Interpolation et integration numerique

    et finalement Z hh

    s(x)dx h3

    (s(h) + 4s(0) + s(h)) =0pour tout polynomesde degre inferieur ou egal a 3. Dune maniere generale, si

    une formule dintegration de Newton et Coates est exacte pour des polynomes

    de degre l, avec lentier pair, alors elle est exacte pour des polynomes de degre

    l+ 1. La demonstration dans le cas general se fait aisement en sinspirant de lademonstration pour le casl= 2 ci-dessus. Le fait davoir demontre le resultat pourlintervalle[h,h]nenleve rien a la generalite. En effet, soit x [c,d]avec les 3pointsc,c + hetd= c + 2h, alors par la translation y =x c hla variable y [h,h]. Or, une telle translation ne change ni la nature de lintegrale cardx=dy,ni les degres des polynomes.

    Donc, pour la formule de Simpson avec l=2 la fonction de Peano peut etreprise avecl + 1=3 et dapres (1.35)

    K3(t) =1

    3!

    Z hh

    q3(x, t)dx h3

    (q3(h, t) + 4q3(0, t) + q3(h, t))

    avec

    q3(x, t) =

    (x t)3, six t

    0, six

  • 8/13/2019 Cours Calcul Scientifique 2013

    18/85

    Lerreur dans les formules de Newton et Coates : la formule de Peano

    1 0.8 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 10.014

    0.012

    0.01

    0.008

    0.006

    0.004

    0.002

    0

    FIG . 1.4 Fonction de PeanoK3(t)associee a la formule de Simpson (tracee pourh=1).

    Proposition 1 Si Kl (t)est de signe constant dans[c,d], et si f Cl+1[c,d], alorsil existe un point ]c,d[ tel que lerreur dint egration donnee par (1.34) peutsecrire

    R(f) = 1

    (l + 1)!

    f(l+1)()R(gl) (1.38)

    avec R(gl )lerreur dint egration pour la fonction gl(x) =xl+1.

    Pour la preuve, on fait appel a une variante du theoreme de la moyenne. Soit

    donc Kl(t)de signe constant, par exempleKl (t) 0,c t d(le cas Kl(t) 0se traite de maniere analogue). On peut alors ecrire a partir de (1.34) que

    minctd

    f(l+1)(t)Z d

    cKl(t)dtR(f) max

    ctdf(l+1)(t)(t)

    Z dc

    Kl(t)dt.

    Or, dapres hypothese f(l+1)(t)est continue car f Cl+1[c,d]et par consequent,par le theoreme de la valeur intermediaire, il existe

    ]c,d[tel que

    R(f) = f(l+1)()Z d

    cKl(t)dt.

    Pour prouver la formule (1.38), il reste lintegrale de la fonction de Peano a cal-

    culer. Pour ce faire, il savere commode de calculer lerreur pour la fonction par-

    ticuliere f(x) =gl(x) =xl+1 : en effet, la derivee(l+ 1)eme de cette fonction

    etant(l + 1)!, on aura

    R(gl) = (l + 1)!

    Z dc

    Kl(t)dt

    17

  • 8/13/2019 Cours Calcul Scientifique 2013

    19/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    20/85

    Erreurs dans les formules des trapezes et de Simpson pour lintervalle[a,b]

    1.4.1 Erreurs dans les formules des trapezes et de Simpson

    pour lintervalle[a,b]

    Comme il a ete dit plus haut, linteret dune formule dintegration est de pou-

    voir approcher lintegrale sur un intervalle [a,b]avec un grand nombre de pointsN= lM. Prenons dabord la formule des trapezes (1.27), alors pour chaque sousintervalle[xi,xi+1]on aura bien entendu une erreur de la forme (1.39) et

    Ri(f) =Z xi+1

    xi

    f(x)dx h2

    (f(xi) +f(xi+1)) = h3

    12f(i), i ]xi,xi+1[.

    (1.41)

    Dans la formule des trapezes (1.27), les integrales sur les sous-intervalles sont

    sommees et par consequent lerreur pour[a,b]est

    RN,1(f) =Z b

    af(x)dx IN,1=

    N1i=0

    Ri(f).

    Or, par la formule de la moyenne on pourra ecrire

    N1i=0

    Ri(f) = h3

    12

    N1i=0

    f(i) = h3

    12N f()

    pour une valeur

    ]a,b[. Or, ici

    h=b a

    N

    et on obtient le resultat pour la formule des trapezes

    RN,1(f) = h2

    12(b a)f(), avec ]a,b[. (1.42)

    Pour aboutir a une expression de lerreur dintegration pour la formule de Simpson

    (1.28) on procede de maniere analogue. Dans ce casN=2Met

    RN,2(f) =

    Z ba

    f(x)dx IN,2=M1i=0

    Ri(f)

    avec

    Ri(f) =Z x2i+2

    x2i

    f(x)dx h3

    (f(x2i) + 4f(x2i+1) +f(x2i+2))

    = h5

    90f(4)(i), i ]x2i,x2i+2[.

    19

  • 8/13/2019 Cours Calcul Scientifique 2013

    21/85

    Interpolation et integration numerique

    Or, a nouveau par le theoreme de la valeur intermediaire il existe

    ]a,b[tel que

    M1i=0

    Ri(f) = h5

    90M f(4)().

    Etant donne que h= (b a)/N= (b a)/(2M), on aura M= (b a)/(2h)etfinalement on obtient la formule derreur

    RN,2(f) = h4

    180(b a)f(4)(), avec ]a,b[. (1.43)

    Comparant RN,1avec RN,2, on observe que la formule de Simpson est en O(h4)

    tandis que la formule des trapezes nest quen O(h2). De mettre en uvre la for-mule de Simpson est a peine plus complexe que dutiliser la formule des trapezes,

    ce qui fait que la formule de Simpson est largement utilisee. Il faut cependant etre

    conscient, que ce resultat derreur pour la methode de Simpson est obtenu pour

    des fonctions 4 fois continument derivables dans[a,b].

    20

  • 8/13/2019 Cours Calcul Scientifique 2013

    22/85

    Chapitre 2

    Resolution numerique desequations

    differentielles ordinaires (EDO)

    Avant daborderquelques methodes dapproximation dequations differentielles

    ordinaires (on utilisera labreviation EDO), il convient de passer en revuequelques

    resultats generaux.

    2.1 Resultats generaux sur les EDO

    Une equation differentielle est une relation de la forme

    du

    dt(t) = f(t,u(t)) (2.1)

    ou u(t)est linconnue, la solution de lequation differentielle, quil convient dedeterminer tandis que f(t,u)est une fonction donnee. La solution u(t)dependdet R(test par exemple le temps) ; u(t)peut etre une fonction scalaire maisaussi vectorielle avecncomposantesu1(t),u2(t), ,un(t)et dans ce cas la fonc-tion fa egalementncomposantes f1(t,u),f2(t,u), fn(t,u)qui peuvent etre desfonctions non lineaires de toutes les composantes deu. Donc, f(t,u)est une ap-plication de R

    Rn a valeurs dans Rn. Le probleme a valeur initiale consiste a

    adjoindre a lequation (2.1) une condition dite initiale ent0avec

    u(t0) =u0 (2.2)

    (on prendra souvent t0=0). Ici nous considerons des equations differentiellesdordre 1, c.-a-d. seule la derivee premiere de la fonctionu(t)intervient. En fait,une equation dordre superieur avec des conditions initiales peut toujours etre re-

    formuler comme un systemedODE. Prenons par exemple le probleme du pendule

    (t) = sin((t)), (0) = 0, (0) = 1.

    21

  • 8/13/2019 Cours Calcul Scientifique 2013

    23/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    Alors, ecrivantu1=etu2= on aurau1= u2et le systeme secrit

    d

    dt

    u1u2

    =

    u2

    sin(u1),

    u1(0)u2(0)

    =

    01

    .

    Pour quune EDO ait une solution, il faut que la fonction f(t,u)ait quelquesproprietes de regularite. Le theoreme fondamental quant a lexistence et lunicite

    de la solution dune EDO avec condition initiale peut etre resume comme suit.

    Theoreme 4 (Theoreme de Cauchy Lipschitz)

    Soit f(t,u)est une application de RRn a valeurs dans Rn. Soient u0 Rn ett0

    R donnes : on suppose quil existe un domaine D

    R

    n contenant u0 et un

    intervalle[t0, t1]ainsi quune constante L>0, tels que quels que soient v,w Det quel que soit t [t0, t1],

    ||f(t,v) f(t,w)|| L||v w|| (2.3)

    (ou|||| d esigne une norme de Rn, par exemple la norme euclidienne). On diraque f(t,u)est lipschitzienne par rapporta u de constante de Lipschitz L. Alors ilexiste un plus grand temps T [t0, t1], tel que lequation diff erentielle

    du

    dt

    (t) = f(t,u(t)), u(t0) =u0,

    possede une solution et une seule pour t [t0,T].

    Afin dinterpreter ce theoreme, prenons la cas dune EDO scalaire : il est alors

    facile de voir que si f(t,u)est derivable par rapport a u, alors f(t,u)est lipschit-zienne. En effet, par le theoreme des accroissements finis

    |f(t,v) f(t,w)| maxuD

    f

    u(t,u)

    |v w|

    et on pourra prendre comme constante de Lipschitz le maximum pour t

    [t0, t1]

    de la quantite

    maxuD

    fu (t,u) .

    Pourquoi est-il necessaire de supposer que f(t,u)est lipschitzienne et que signifielexistence dun plus grandTtel que la solution existe pourt [t0,T] ?Prenons par exemple lequation differentielle

    du

    dt(t) = (u(t))2

    22

  • 8/13/2019 Cours Calcul Scientifique 2013

    24/85

    Systemes dequations differentielles lineaires a coefficients constants

    avec u(0) =a >0, donc t0=0 et u0= a. Ici la fonction f(u) =u2 ne depend

    pas de tet la fonction est lipschitzienne pour tout domaine contenant aet pourtout intervalle de temps [0, t1]. Il est facile de voir que la solution de lequationdifferentielle est

    u(t) = 1

    a1 tet par consequent la solution tend vers linfini quand t1/a. On peut doncdeduire que le plus grand temps pour lexistence de la solution est T=1/a.

    Prenons maintenant comme exemple

    du

    dt(t) = u(t), u(0) =0.

    Ici, f(u) = u,u 0 et|f(u)|/|u| =1/utend vers linfini quand u 0. Parconsequent, fnest pas lipschitzienne au voisinage de u=0. LODE ne verifiepas les conditions du theoreme. On observe que cette equation differentielle na

    pas de solution unique : en effet

    u(t) 0est solution, mais aussi

    u(t) =1

    4t2.

    Avant daborder des methodes numeriques de resolution, nous allons passer en re-vue quelques resultats generaux concernant les systemesdequations differentielles

    lineaires.

    2.1.1 Systemes dequations differentielles lineairesa coefficients

    constants

    SoitAune matricenna coefficients reels constants. On considere le systemedequations differentielles

    u (t) =Au(t), u(t0) =u0, (2.4)

    avec u0 Rn donne. Tout dabord on constate que ce systemepossede une solutionunique. En effet, ici f(u) =Auet pour toute norme de Rn

    ||f(v) f(w)|| = ||AvAw|| = ||A(v w)||.On verra au chapitre 4.2 la notion de norme de matrice||A||et on justifiera desmajorations de la forme

    ||A(v w)| || |A||||v w||.

    23

  • 8/13/2019 Cours Calcul Scientifique 2013

    25/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    La fonction f(u) =Auest donc lipschitzienne avecL =

    ||A

    ||la norme deAcomme

    constantede Lipschitz. Avant de poursuivre, il convient de preciser de quelle faconune equation differentielle dordre npeut etre ecrite sous forme dun systeme

    dordre 1. On note v(j)(t)la derivee j eme dune fonction scalaire v(t) Ret onconsidere lequation differentielle dordren

    v(n)(t) + an1v(n1)(t) + + a1v (t) + a0v(t) =0 (2.5)avec les conditions intiales

    v(t0) =v0,v(t0) =v1, ,v(n1)(t0) =vn1 (2.6)

    (v0,v1, ,vn1donnes). Donc, si lon noteu1=v, u2=v , , un=v(n1) (2.7)

    on obtient pour le vecteur u = (u1,u2, ,un)T un systeme dequations differentielles

    u (t) =Au(t),avecA=

    0 1

    0 1. . .

    . . .

    0 1

    a0 a1 an1

    . (2.8)

    En effet, u i = ui+1, i = 1,

    n

    1, les uietant definis par (2.7), et u

    n=

    nj=1 aj

    1uj

    par (2.5). Au systeme (2.8) est bien entendu associee la condition initiale

    u(t0) =

    v(t0),v(t0), ,v(n1)(t0)

    T.

    Revenons a (2.4) et considerons dabord le cas scalaire n=1 et la solution delequation (2.4) avecA=a R secrit bien entendu

    u(t) =u0ea(tt0).

    On cherche a generaliser ce resultat pour des matricesnn, cest-a-dire on cherchea definir lexponentielle dune matrice. On se rappelle que lexponentielle dun

    nombre reel est donnee par une serie ce qui conduit par analogie a la definition

    suivante

    Definition 2 Soit A une matrice n n, alors on d efinit lexponentielle de la ma-trice A, not ee eA, par la s erie

    eA =

    j=0

    1

    j!Aj =I+A +

    1

    2A2 + +1

    j!Aj + (2.9)

    avec la convention que A0 =I, I etant la matrice identit e n n.

    24

  • 8/13/2019 Cours Calcul Scientifique 2013

    26/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    27/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    28/85

    Calcul de lexponentielle de la matrice

    pourc(t)une fonction vectorielle dependant du temps. Derivantw(t)on obtient

    w (t) = d

    dt

    etA

    c(t) + etA c (t) =AetA c(t) + etA c (t) =Aw(t) + etA c (t)

    et injectant cette expression dans (2.14), on obtient

    etA c (t) =g(t).

    De (2.11) on deduit que

    c (t) =etA g(t)

    dont la primitive sannulant ent0secrit

    c(t) =Z t

    t0

    esAg(s)ds,

    lintegration etant a operer composante par composante du vecteuresAg(s). Onen deduit que la solution particuliere qui sannule ent0secrit

    w(t) =etAZ t

    t0

    esAg(s)ds=Z t

    t0

    e(ts)Ag(s)ds. (2.15)

    Reste a determiner pour la solution generale v(t) =etA v0 le vecteur v0 tel que

    v(t0) =u0: or

    v(t0) =et0Av0=u0 implique v0=e

    t0Au0.

    La solution de (2.13) secrit en additionnantv(t)etw(t)et donc

    u(t) =e(tt0)Au0+Z t

    t0

    e(ts)Ag(s)ds. (2.16)

    On voit que lexponentielle de la matrice Aest la quantite-clef qui permet de

    resoudre les systemesdequationsdifferentielles lineaires, a coefficients constants.

    Au paragraphe suivant nous allons donner un mode demploi pour le calcul delexponentielle dune matrice, avant de lillustrer par lexemple dun systeme

    simple 22.

    2.1.2 Calcul de lexponentielle de la matrice

    On supposera pour simplifier que t0=0 et donc la solution du systeme (2.4)secrit

    u(t) =etA u0.

    27

  • 8/13/2019 Cours Calcul Scientifique 2013

    29/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    On peut remarquer que de choisirt0=0 nenleve rien a la generalite. En effet, la

    solutionu(t) =e(tt0)Au0qui verifie u(t0) = u0est identique a la solutionu(t) =etA u0qui verifie u(0) = u0=e

    t0Au0car nous avons vu quee(tt0)A =etA et0A.

    Digression : valeurs et vecteurs propres dune matrice.

    Ici il convient de rappeler la notion de valeur propre dune matriceA. Il sagit dun

    nombre, complexe en general, tel quil existe un vecteur x =0, appele vecteurpropre associe a la valeur propre, tel que

    A x=x.

    Cette relation peut encore secrire (AI)x =0 pour un vecteur x

    =0 avec I

    la matrice identite n n. Par consequent, pour cette valeur la matrice (carree)A Inest pas inversible (on dit que cette matrice a un noyau non nul) et doncdet(AI) = 0. A partir de la definition du determinant on peut se convaincre que(pour tout nombre) p() =det(A I)est en fait un polynome en de degren. Un polynome de degre n a precisement n zeros (complexes ou reels, comptes

    avec leurs multiplicites, cest-a-dire un zero double compte deux fois etc.). Donc

    toute matrice n npossede nvaleurs propres, complexes ou reelles, compteesavec leurs multiplicites eventuelles, qui sont les zeros de p(k) =det(A kI) =0,k=1,2, ,n. A chaque valeur propre est associe un vecteur proprexktel que

    Axk= kxk. Supposons que lesnvaleurs propres1,2,

    ,ndeAsont distinctes

    et formons la matrice Pdont les colonnes sont precisement les vecteurs propresx1,x1, ,xnassocies. On forme la matrice diagonaleD

    D=

    1 (0)2

    . . .

    (0) n

    avec sur la diagonale les valeurs propres de A. Les regles de multplication de

    matrices permettent decrire les n egalites Axk=kxk,k= 1, ,nsous formematricielle

    AP=PD.

    En effet, la keme colonne deAPest precisementAxk, si la keme colonne dePest

    le vecteurxk, et la keme colonne dePDestkxk. On peut montrer que les vecteurspropres asocies a des valeurs propres distinctes sont lineairement independants

    et il sensuit que la matrice Pest inversible. Multipliant les deux membres de

    legalite ci-dessus par linverse P1 deP, on obtient legalite

    A=PDP1.

    28

  • 8/13/2019 Cours Calcul Scientifique 2013

    30/85

    Calcul de lexponentielle de la matrice

    Dans ce cas ou les valeurs propres de Asont distinctes, on peut utiliser cette rela-

    tion pour trouver une expression relativement simple des puissances successives

    de A. En effet, A2 =PDP1PDP1 =PD2P1 et en iterant on trouve bien surAj =PDjP1 de facon a ce que

    etA =

    j=0

    tj

    j!PDjP1 =P

    j=0

    tj

    j!Dj

    P1 =PetD P1.

    On peut se convaincre aisement que

    tj

    j!Dj =

    tj

    j!

    j1 (0)

    tj

    j!

    j2

    . . .

    (0) tj

    j!

    jn

    et par consequent lelement de la keme position sur la diagonale de la matrice

    (diagonale)etD est lexponentielleetk et

    etD =

    e

    t1

    (0)et2

    . . .

    (0) etn

    .

    Donc, par etA =Pe tD P1, on peut affirmer que chaque element de etA est unecombinaison lineaire des etk,k= 1,2, ,n. Bien sur, si on est en mesure dedeterminer explicitement Painsi que P1, ce qui souvent pour n 3 nest pasaise, on trouve une expression explicite de etA et donc aussi de u(t) =etA u0. Onpeut donc enoncer le resultat suivant.

    Proposition 2 Chaque composante uj(t)du vecteur solution

    u(t) = (u1(t),u2(t), ,un(t))T

    de (2.4) est de la forme

    uj(t) =n

    k=1

    bjkekt

    pour des coefficients bjk.

    29

  • 8/13/2019 Cours Calcul Scientifique 2013

    31/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    Il convient de remarquer ici que les valeurs propres dune matriceAa coefficients

    reels ne sont pas forcement reelles. Cependant, sil existe une valeurs proprek=k+ ikaveck =0, la valeur conjuguee complexek= k ikest egalementvaleur propre, la matrice Aetant reelle. Donc, une combinaison lineaire a valeur

    reelle faisant intervenir ekt =ekteikt et ekt =ekteikt peut toujours secriresous la forme

    ekt(ccos(kt) + dsin(kt)

    avec des coefficients reelscetd.

    Pour le systeme (2.8) equivalent a lequation scalaire (2.5) dordren,u1(t) =v(t)et la solution de (2.5) secrit

    v(t) =n

    k=1

    bkekt (2.17)

    aveckles valeurs propres de la matrice Ade (2.8). Cette fonction est solution delequation differentielle (2.5) quels que soient les coefficientsbk, si on ne precise

    pas les conditions initiales. En particulier les fonctionsekt sont solutions et injec-

    tant cette expression dans (2.5), on trouve

    nk+ an1n1k + + a1k+ a0=0.

    On en deduit le resultat que les valeurs propres de la matriceAdans (2.8) associee

    a lequation (2.5) dordrensont les zeros du polynome caracteristique

    p() =n + an1n1 + + a1+ a0. (2.18)Exemple :

    On considere lequation du pendule avec un coefficient de frottement

    v = v +v

    et dapres ce qui precede, en notant u1= v et u2 = v, ce systeme peut encore

    secrired

    dt u1

    u2

    = 0 11 u1u2 . (2.19)

    Les valeurs propres de la matrice Adu systeme sont

    1/2=

    2 42

    . (2.20)

    On suppose que = 2. Si||

  • 8/13/2019 Cours Calcul Scientifique 2013

    32/85

    Calcul de lexponentielle de la matrice

    et la solutionu1(t) =v(t)secrit

    v(t) =et(/2)(a cos(t) + b sin(t)) avec =

    1 (/2)2.

    Si 0. Si ce-pendant> 0, alors la solution est amplifiee pourt>0. Si ||>2, alors les deuxsolution sont reelles et la solution secrit

    v(t) =aet1 + bet1

    avec1/2donnes par (2.20).

    Considerons maintenant le cas ou la matriceAdans (2.4) est de la forme

    A=

    1 (0). . .

    . . .

    1(0)

    (2.21)

    On peut ecrire Asous la forme

    A= I+N avec I matrice identiten

    n

    et

    N=

    0 1 (0). . .

    . . .

    0 1

    (0) 0

    . (2.22)

    On peut se convaincre que

    N2 =

    0 0 1 (0). . .

    . . . . . .

    0 0 1

    0 0

    (0) 0

    , , Nn1 =

    0 0 0 10

    0 0

    . . . ... ...

    0 0

    (0) 0

    et quainsi Nn =0 est la matrice identiquement egale a zero. Donc, lorsquonforme les puissances successives de Nles elements non nuls remontent. Les

    matricesIetNcommutent et dapres ce qui precede

    etA =et(I+N) =etIetN.

    31

  • 8/13/2019 Cours Calcul Scientifique 2013

    33/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    Or, etant donne queNn =0,etN est en fait une somme finie et

    etN =I+ tN+t2

    2N2 + + t

    n1

    (n 1)!Nn1.

    Dapres les produits successifs deNci-dessus

    etN =

    1 t t2

    2 tn2(n2)! t

    n1(n1)!

    1 t t2

    2 tn2

    (n2)!. . .

    . . . . . .

    ...

    1 t t2

    2(0) 1 t1

    .

    La matriceetI est diagonale avecet sur la diagonale et donc

    etA =

    et tet t2

    2 et tn2

    (n2)! et tn1

    (n1)! et

    et tet t2

    2et tn2(n2)! et

    . . . . . .

    . . . ...

    et tet t2

    2 et

    (0) et tetet

    Chaque element de etA est ainsi de la forme p(t)et avec p(t)un polynome dedegre n 1. On peut donc conclure, que si dans le systeme (2.4) la matriceAest de la forme (2.21), alors les composantes ui(t)de la solution u(t)sont de laforme

    ui(t) = pi(t)et

    pour des polynomes pi(t)de degres n 1. On observe queest valeur propredeAdonnee par (2.21) de multipliciten.

    Revenons alors aA matrice n nquelconque : si ses nvaleurs propres sont dis-tinctes, alors Aest diagonalisable. Supposons cependant que certaines des va-

    leurs propres sont multiples, plus precisement supposons queApossedemvaleurs

    propres distinctes de multiplicites respectivementl1,l2, , lm(avecl1+l2+ +lm=n). AlorsAnest plus forcement diagonalisable : cependantApeut-etre misesous forme ditede Jordan, a savoir il existe des matrices PetP1 telles que

    A=PJP1 (2.23)

    32

  • 8/13/2019 Cours Calcul Scientifique 2013

    34/85

    Calcul de lexponentielle de la matrice

    avecJune matrice par blocs

    J=

    J1

    0

    J2

    . . .

    0

    Jm

    , (2.24)

    chaque blocJketant une sous-matricelk lkde la forme

    Jk=

    k (0). . .

    . . .

    k (0) k

    , =0 ou 1. (2.25)

    Donc, chaque sous-matriceJkest de la taille de la multiplicite de la valeur propre

    k, qui se trouve sur la diagonale de Jk, les coefficients sur la quasi-diagonaleimmediatement au-dessus de la diagonale sont egaux a 1 ou egaux a 0, selon

    des cas particuliers, les autres coefficients de Jketant nuls. Bien-sur, si toutes

    les valeurs propres sont simples, les Jksont en fait des matrices 1 1 donc desscalaires et on retrouve une matrice Jdiagonale. La mise sous forme de Jordan est

    assez complexe en general et la methode est donnee dans des ouvrages dalgebre

    lineaire. Ce quil convient de retenir est que chaque bloc est de la forme

    Jk=kIk+Nk (2.26)

    avec Ikmatrice identite lk lket Nkune matrice similaire a (2.22), mais ici detaille lk lk(et tous les elements juste au-dessus ne sont pas forcement egaux a1). Nous avons vu que la n eme puissance de la matrice (2.22) est identiquement

    egale a 0 et de maniere analogue on peut affirmer que

    Nlkk =0

    Par (2.23), on aura a nouveau Aj =PJjP

    1 et donc (analogue au cas diagonali-

    sable)

    etA =PetJP1.

    Les multiplications deJavec elle-meme se faisant par blocs, il est facile de voir

    que

    etJ =

    etJ1

    0

    etJ2

    . . .

    0

    etJm

    (2.27)

    33

  • 8/13/2019 Cours Calcul Scientifique 2013

    35/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    a egalement une structure par blocs. La decomposition (2.26) est similaire a celle

    pour la matrice (2.21) : donc, chaque element deetJk est de la forme pk(t)ekt avecpk(t)polynome (en fait un monome) de degre lk1. On peut ainsi enoncer leresultat general.

    Proposition 3 Soit le systeme (2.4) tel que A possede m valeurs propresk,k=1, ,m distinctes de multiplicit es respectivement l1, lm (avec l1+ lm= n).

    Alors les composantes uj(t)de la solution u(t)de (2.4) sont de la forme

    uj(t) =m

    k=1

    pjk(t)ekt (2.28)

    avec pjk(t)des polynomes de degr es lk1.On peut remarquer que silk= 1, lespjk(t) sont des polynomes de degre zero, doncdes constantes. Par consequent, on retrouve evidemment le resultat de la proposi-

    tion 5 lorsque les valeurs propres de Asont simples.

    Exemple :On reprend le systeme 22 (2.19), les valeurs propres de la matrice enquestion etant (2.20). Pour= 2,1= 1 est double et dapres ce qui precedela solutionv(t) =u1(t)secrit

    v(t) = (a + bt)et,

    pour le polynome p1(t) = a + btde degre 1, les coefficients a betant determinespar la condition initiale.

    2.2 Schemasa un pas pour la resolution dune EDO

    Sauf dans des cas particuliers, par exemple pour des systemes dequations

    differentielles lineaires a coefficients constants, il nest en general pas possible de

    trouver des solutions explicites et analytiques dune equation differentielle

    u (t) = f(t,u(t)), u(t0) =u0, (2.29)

    a partir du moment ou la fonction f(t,u)avecu Rn est quelque peu complexe etque n 2. La variable tsera appelee desormais le temps et on cherche a trou-ver une solution approchee de la solution pour t> t0. On supposera toujoursque f(t,u)satisfait a la conditions de Cauchy-Lipschitz du theoreme 4 pour toutt [t0,T], cest-a-dire lequation differentielle possede une solution unique dans[t0,T]avecu(t0) =u0.Une solution numerique sera determinee en des temps discrets

    tk+1=tk+ h, k=0,1,

    34

  • 8/13/2019 Cours Calcul Scientifique 2013

    36/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    37/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    et une solution approchee de lEDO est donnee par le schema

    Uk+1= Uk+ hF(tk,Uk,h), F(tk,Uk,h) =1

    2[f(tk,Uk) +f(tk+1,Uk+1)]. (2.33)

    La fonction F(tk,Uk,h) qui definit le schema (2.33) fait intervenir Uk+1qui dependimplicitement de Uk: pour determinerUk+1en fonction de Ukil faut resoudre une

    equation qui est non lineaire en general. On parle dunemethode implicite, tandis

    que le schema Euler (2.31) est explicite, dans la mesure ouUk+1est obtenue par

    une simple relation algebrique en fonction deUk. Cependant le schema (2.33) est

    plus precis que le schema dEuler explicite dans un sens qui sera precise ci-apres.

    2.2.1 Ordre dun schema, consistance, stabilite et convergence

    Supposons que pour le temps tkla solution numerique concide avec la solution

    exacte, cest-a-direUk= u(tk)et on cherche a evaluer lerreur entre la solutionexacte et la solution numerique au temps tk+1= tk+h. Lavaleur Uk+1etant donneepar (2.30), on aura

    u(tk+1) Uk+1=u(tk+1) u(tk) hF(tk,u(tk),h)

    etant donne que Uk= u(tk)par hypothese. On note

    e(tk,h) =u(tk+1) Uk+1lerreur appelee erreur locale et

    e(tk,h) =u(tk+1) u(tk) hF(tk,u(tk),h). (2.34)

    Il sagit donc de lerreur que lon fait en avancant dun pas avec le schema, partant

    deUk= u(tk). Pour le schema dEuler (2.31) par exemple, avec F(tk,u(tk),h) =f(tk,u(tk)) =u

    (tk), u(tk)etant la solution exacte, u(tk) + hF(tk,u(tk),h)est surla droite passant paru(tk)et tangente a la courbeu(t)comme illustre sur la figure

    2.1.On notetk= tet on introduit la quantite(t,h) =e(t,h)/h, cest-a-dire

    (t,h) =u(t+ h) u(t)

    h F(t,u(t),h) (2.35)

    qui est lerreur locale diviseeparh : cettequantite, appelee erreur de discr etisation

    locale, est obtenue en injectant la solution exacte u(tk)dans le schema (2.30).La solution approchee est solution du schema tandis que la solution exacte est

    solution a lerreur(t,h)pres.

    36

  • 8/13/2019 Cours Calcul Scientifique 2013

    38/85

    Ordre dun schema, consistance, stabilite et convergence

    e

    e

    e

    e

    t t t t t0

    0

    1

    1 2

    2

    3

    3

    4

    u(t)

    t

    FIG . 2.1 Illustration de lerreur de discretisation locale ek= e(tk,h)pour leschema dEuler.

    Definition 3 Le schema (2.30) est dordre p pour un entier p 0, sil existe uneconstante C> 0et h> 0, tels que pour tout t]t0,T[, et pour tout h>0,0< h0 eth>0tels que pour tout h,0

  • 8/13/2019 Cours Calcul Scientifique 2013

    41/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    42/85

    Ordre dun schema, consistance, stabilite et convergence

    Par la suite nous allons aborder la question de convergence, cest-a-dire nous

    allons evaluer lerreur entre la solution exacte et la solution numerique pour untempst]t0,T[. Il convient alors dintroduire un pas de temps hNde facon a ceque

    tN= t0+NhN= t, c.-a-d. hN=t t0

    N . (2.46)

    Dans ce casUN, la solution numerique obtenue en mettant en uvre Npas avec

    le schema numerique, est une approximation de la vraie solution au tempstet on

    note

    E(t,hN) = UN u(t) (2.47)lerreur. On suppose que le schema (2.43) est dordre pet dapres la definition de

    lordre du schema, on peut ecrire pour la solution exacte

    u(tk+1) =u(tk) + hNF(tk,u(tk),hN) + e(tk,hN) (2.48)

    avec

    e(tk,hN) =hN(tk,hN) (2.49)

    lerreur locale. On rappelle que(tk,hN) =O(hpN)si le schema est dordre p.

    Theoreme 7 Si le schema (2.43) est stable et dordre p avec p entier positif, alors

    il existe une constante K>0eth>0tels que pour tout hN,0

  • 8/13/2019 Cours Calcul Scientifique 2013

    43/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    si 00 tel que

    si 0

  • 8/13/2019 Cours Calcul Scientifique 2013

    44/85

    Les schemas de Runge-Kutta

    pour des coefficients ai j a preciser. En resume, un schema de Runge-Kutta se

    presente de la facon suivante. On poseU0= u0la condition initiale de lEDO etensuite pourk=0,1,2,

    Uk,1 = Uk+ hq

    j=1

    a1jf(tk+ cjh,Uk,j)

    Uk,2 = Uk+ hq

    j=1

    a2jf(tk+ cjh,Uk,j)

    ... (2.51)

    Uk,q = Uk+ h

    q

    j=1 aq jf(tk+ cjh,Uk,j)

    et finalement

    Uk+1= Uk+ hq

    i=1

    bif(tk+ cih,Uk,i) (2.52)

    est la solution approchee au temps tk+1. Les coefficients cj,j =1, ,q, bi, i=1, ,qainsi que ai j, i=1, ,q,j =1, ,qsont a determiner en fonction delordre du schema souhaite. Observant dabord que

    Uk,i= Uk+ h

    q

    j=1 ai jf(tk+ cjh,Uk,j)

    est censee etre lapproximation de la solution au temps tk+ cih ; notanttk= tetinjectant la solution exacte on a

    u(t+ cih) u(t)h

    =q

    j=1

    ai jf(tk+ cjh,u(t+ cjh)) + i(t,h).

    Pour que cette expressionsoit consistante, cest-a-dire que lerreur de discretisation

    locale partiellei(t,h) 0 quandh 0, il suffit queq

    j=1

    ai jf(t,u(t)) =cif(t,u(t)).

    En effet,

    limh0

    u(t+ cih) u(t)h

    =ciu(t) =cif(t,u(t))

    etq

    j=1

    ai jf(t+ cjh,u(t+ cjh)) q

    j=1

    ai jf(t,u(t)) quand h 0.

    43

  • 8/13/2019 Cours Calcul Scientifique 2013

    45/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    46/85

    Les schemas de Runge-Kutta

    Par consequent,

    F

    h(t,u(t),0) =

    q

    i=1

    bicif

    t(t,u(t))

    +q

    i=1

    bi

    f

    u(t,u(t))

    q

    j=1

    ai jf(t,u(t))

    .

    Les relations (2.53) doivent etre verifiees, car pour etre dordre 2 il faut etre

    dordre 1, donc qj=1 ai j = ciet par consequent le schema est dordre au moins

    2, cest-a-dire la condition (2.42) est verifiee, si en plus de (2.53) on ait

    q

    i=1

    bici=12. (2.54)

    Evidemment, decrire les relations pour des ordres superieurs est de plus en plus

    fastidieux et on se contente davoir demontre les conditions dordre 2.

    On peut montrer par exemple que le schema est au moins dordre 3 si en plus des

    relations (2.53) et (2.54) les conditions suivantes entre les coefficients

    q

    i=1

    bic2i =

    1

    3et

    q

    i=1

    q

    j=1

    biai jcj=1

    6(2.55)

    sont verifiees.

    On represente en general les coefficients dun schema de Runge-Kutta sous forme

    dun tableau

    c1 a11 a12 a1qc2 a21 a22 a2q...

    ... ...

    ...

    cq aq1 aq2 aqqb1 b2 bq

    Si dans les formules (2.51) les coefficientai j=0, i j q, alorsUk,1= Uk

    et pouri 2Uk,i= Uk+ h

    i1

    j=1

    ai jf(tk+ cjh,Uk,j)

    et par consequent les Uk,i ne dependent que des Uk,j, pour j =1, , i 1 etpeuvent par consequent etre determines aisement au fur et a mesure. On parle

    45

  • 8/13/2019 Cours Calcul Scientifique 2013

    47/85

    Resolution numerique des equations differentielles ordinaires (EDO)

    alors dunschema explicite.

    Exemples :On cherche a determiner tous les schemas de Runge-Kutta explicites

    dordre au moins 2 avec q=2. Le tableau ci-dessus devient alors

    c1 0 0

    c2 a21 0

    b1 b2

    Dapres les conditions (2.53) et (2.54), le schema est au moins dordre 2, si

    c1=0, a21= c2, b1+ b2=1, b2c2=1

    2.

    Prenons par exempleb1=0,c2=12et b2=1 (c1=0 eta21=

    12). Alors

    Uk,1= Uk, Uk,2= Uk+h

    2f(tk,Uk,1)

    et on trouve le schema

    Uk+1= Uk+ h f

    tk+

    1

    2h,Uk,2

    et doncUk+1= Uk+ hF(tk,Uk,h)

    avec

    F(tk,Uk,h) = f

    tk+

    1

    2h,Uk+

    h

    2f(tk,Uk)

    qui est le schema dit dEuler modifie. Pourc2=1,a21=1 et b1= b2=1/2 ontrouve le schema ditde Heunavec

    F(tk,Uk,h) =1

    2f(tk,Uk) +

    1

    2f(tk+ h,Uk+ h f(tk,Uk)).

    Un schema classique de Runge-Kutta explicite avecq=4, dont on peut montrerquil est dordre 4, est donne par le tableau

    0 0 0 0 0

    1/2 1/2 0 0 01/2 0 1/2 0 01 0 0 1 0

    1/6 1/3 1/3 1/6

    46

  • 8/13/2019 Cours Calcul Scientifique 2013

    48/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    49/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    50/85

    Chapitre 3

    Resolution numerique directe de

    systemes lineaires

    3.1 Motivation

    Supposons donne le probleme suivant : on souhaite connatre la temperature

    dune barre metallique chauffee a ses deux extremites et plongee dans une piece

    elle-meme a une temperature donnee. La barre est assimilee a un segment de droite

    dont les extremites sont noteesaetb. On suppose dans cette simplification que la

    temperature de la barre ne depend que de xet Tet on cherche T(x), a < x< b,avec T(a) = Taet T(b) = Tb(ou Taet Tbsont les temperatures aux extremites).La temperature environnante est designee par Te. Il y a perte de chaleur due a la

    convection de lair que lon modelise par une fonction r(x). On notele coeffi-cient de diffusion thermique que lon suppose constant. Le probleme est regi par

    une equation differentielle

    a b x

    Ta T b

    T

    T

    e

    e

    FIG . 3.1 Schema de principe dune barre mince chauffee aux extremites.

    d2T(x)

    dx2 + r(x)(T(x) Te) =0, a

  • 8/13/2019 Cours Calcul Scientifique 2013

    51/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    52/85

    Motivation

    une approximation de T(xj), 1

    j

    n,de la temperature au points xj (sachant

    queT(x0) = Ta,T(xn+1) = Tbet les temperatures aux bords sont des parametresdu probleme). Utilisant la relation (3.3) on peut donc ecrire lapproximation

    d2T

    dx2(xj) T(xj1) 2T(xj) + T(xj+1)

    h2 ,

    carxj1= xj h. On noteTjlapproximation de T(xj)et on obtient le systemesuivant, a partir de (3.1) et en ecrivant le quotient aux differences a la place de la

    derivee seconde pour tous les pointsxja linterieur de lintervalle[a,b]

    h2T

    j1 2T

    j+T

    j+1

    +r

    (x

    j)T

    j=r

    (x

    j)T

    e, j

    =1, ,

    n.

    (3.4)

    La fonctionr(xj)est donnee dans lexpression ci-dessus ainsi que T0. Les incon-nues du systeme ci-dessus sont les Tj, a savoir les approximations de la solution

    exacte T(xj)aux points xj. Evaluant lequation pour j = 1, on voit apparatreT0=T(x0) =Ta, qui est la temperature imposee enx=a, et de maniere analoguepour j= n la temperature Tn+1 = T(xn+1) =Tbimposee en x= b. Les incon-nues sont ainsi les approximations Tj des valeurs de la temperature aux points

    xj,j =1, n, a linterieur du domaine [a,b]. Les Tj peuvent etre considereescomme les composantes dun vecteur que lon noteT. A partir de (3.4), et en te-nant compte que pour j=1 et j= n + 1 les donneesT

    aet T

    binterviennent, il est

    facile de voir (exercice) que le vecteurTest solution du systeme lineaire

    AT=B (3.5)

    pour la matrice

    A=

    2 + s(x1) 11 2 + s(x2) 1 (0)

    . . . . . .

    . . .

    (0)

    1 2 + s(xn

    1)

    1

    1 2 + s(xn)

    (3.6)

    et le second membre qui contient les parametres du probleme

    B=

    s(x1)Te+ Tas(x2)Te

    ...

    s(xn1)Tes(xn)Te+ Tb

    , (3.7)

    51

  • 8/13/2019 Cours Calcul Scientifique 2013

    53/85

    Resolution numerique directe de systemes lineaires

    avecs(xj) = h2

    r(xj),j= 1,

    n. La matriceA, avecnlignes etncolonnes, est dite

    tridiagonale. En effet, seuls les elements sur la diagonale ainsi que leurs voisinsimmediats a droite et a gauche sont non nuls. Plus nest grand, plus la solution

    approchee sera precise et etant donnee la taille du systeme lineaire il faut imagi-

    ner une methode numerique en vue de sa resolution. Les parametres du probleme

    (Ta,Tb,Te) ninterviennent que dans lexpression du second membreB. Lidee estalors de ne pas resoudre directement le systeme (3.5) pour un second membre

    donne, mais plutot doperer une decomposition de Aune fois pour toutes, afin

    de pouvoir aisement resoudre les systemes successifs lorsquon fait varier les pa-

    rametres du probleme.

    3.2 DecompositionLUdune matrice tridiagonale

    On ecrit dune maniere generale une matrice tridiagonalen n(a coefficientsreels ou complexes) sous la forme

    A=

    a1 c1b2 a2 c2 (0)

    . . . . . .

    . . .

    (0) bn

    1 an

    1 cn

    1

    bn an

    (3.8)

    Lidee est decrire Asous la forme du produit de deux matrices LU. La matrice

    Laura la particularite detre triangulaire inferieure, cest-a-dire ses elements au-

    dessus de la diagonale sont nuls, tandis que U sera triangulaire superieure, c.-

    a-d. ses elements en dessous de la diagonale sont nuls. La notation Let Uest

    generalement utilisee,L etant la premiere lettre de lower et Ude upper. On

    suppose que

    ai

    =0, i=1,

    ,n, ci

    =0, i=1,

    ,n

    1, bi

    =0, i=2,

    ,n. (3.9)

    On chercheLet Usous la forme

    L=

    1

    2 1 (0). . .

    . . .

    (0) n1 1n 1

    ,U=

    1 12 2 (0)

    . . . . . .

    (0) n1 n1n

    .

    (3.10)

    52

  • 8/13/2019 Cours Calcul Scientifique 2013

    54/85

    Decomposition LUdune matrice tridiagonale

    On operant le produit matriciel LUon obtient (exercice)

    LU=

    1 112 2+12 2 (0)

    . . . . . .

    . . .

    (0) n2n1 n1+n2n 1 n1n1n n+n1n

    .

    (3.11)

    En identifiant les elements de la matrice LUavec ceux de la matrice Aon a bien

    A=LUsi

    1

    =a1,

    1= c

    1

    i= bi

    i1, i =ai i1i, i=ci, i=2,3, n 1 (3.12)

    n= bn

    n1, n =an n1n.

    Ces relations determinent les coefficients de L etU, a condition que i =0. Lesrelations ci-dessus sapparentent a un algorithme dans la mesure ou si lon connat

    i1on peut determineridont on a besoin pour calculerietc. ; par ailleurs lesi= ci. Legalite1= a1initialise le calcul et cet algorithme peut donc etre misen uvre sur un ordinateur.

    Pour certaines classes de matrices il est assure que lors des etapes successivesi =0.Theoreme 8 On suppose que les coefficients de la matrice A donnee par (3.8)

    avec (3.9) sont tels que

    |a1| > |b2|,|ai| |bi+1| + |ci1|, i=2, ,n 1, |an| |cn1|.On parle dans ce cas dune matricea diagonale dominante. Alors

    |i|

  • 8/13/2019 Cours Calcul Scientifique 2013

    55/85

    Resolution numerique directe de systemes lineaires

    Qua-t-on gagne en ecrivantA=LU? Precisement, admettons quon cherche

    a resoudreAx=d

    avec dun vecteur second membre donne etAune matrice de la forme (3.8) avec

    (3.9). On peut donc ecrire

    LUx=d,

    ou encore de maniere equivalente sous forme de deux systemes lineaires avec des

    matrices triangulairesLetU

    Ly=d, Ux=y.

    On note di les coefficients du vecteur det les coefficients yi de ysobtiennent

    aisement,Letant sous la forme (3.10). En effet

    y1=d1, yi+1= di+1 i+1yi, i=1, ,n 1.

    Connaissanty, le vecteur xsobtient facilement, a nouveau grace a la structure

    particuliere deU. On obtient

    xn=yn/n, xni= (yni nixni+1)/ni, i=1, ,n 1.

    Revenons un instant au systeme (3.5) avec (3.6) du probleme de la barre metal-lique. On voit bien que cette matrice satisfait au theoreme, donc est a diago-

    nale dominante, si s(x) 0. Or, s(x) = (h2r(x))/avec le coefficient de dif-fusion thermique (positif par convention) et r(x)la fonction de transfert de cha-leur : on montre que lequation differentielle (3.1) est bien posee, cest-a-dire que

    lequation admet une solution unique, precisement sir(x) 0.Enfin, la decompositionA = LUpermet aisement de calculer le determinant

    det(A)deA. En effet, le determinant dun produit de matrices est egal au produitdes determinants, c.-a-d. det(A) =det(LU) =det(L)det(U). Or, le determinantdune matrice triangulaire est le produit des elements sur la diagonale de la ma-

    trice; par consequentdet(L) =1 et donc

    detA=det(U) = 1 2 n.Ce produit des elements sur la diagonale de Uest non nul pour les matrices a

    diagonale dominante dapres le theoreme. Nous avons donc montre au passage

    quune matricen na diagonale dominante est inversible.La decompositionLUayant ete illustree pour une matrice tridiagonale, nous

    allons maintenant exposer la generalisation a des matrices n nsans structureparticuliere.

    54

  • 8/13/2019 Cours Calcul Scientifique 2013

    56/85

    Decomposition LUde matrices

    3.3 DecompositionLUde matrices

    3.3.1 Algorithme de Gauss

    SoitAune matricen n ; On noteai jses elements (reels ou complexes) et oncherche a resoudre

    Ax=b

    avecb Rn(ou Cn), ce systeme secrivanta11x1 + a12x2 + + a1nxn = b1a21x1 + a22x2 + + a2nxn = b2

    .

    .. .

    .. .

    ..an1x1 + an2x2 + + annxn = bn.

    (3.13)

    Le but de lalgorithme ditLUest decrire la matrice sous la forme

    A=LU

    avecUmatrice triangulaire superieure, obtenue par un algorithme de Gauss, etL

    matrice triangulaire inferieure telle quelii=1, i =1,2, ,n(liietant les elementssur la diagonale de L). On suppose quea11 =0 et on retranche de la ieme lignede la matriceAsa premiere ligne multipliee par

    ai1

    a11, pour i=2,3, ,n,

    ce qui donne

    a11x1 + a12x2 + + a1nxn = b1a22 a21a11 a12

    x2 + +

    a2n a21a11 a1n

    xn = b2 a21a11 b1

    ... ...

    ...

    an2 an1a11

    a12x2 + + ann an1a11

    a1nxn = b2 an1a11

    b1

    (3.14)Suite a ces operations le systemeAx=best devenu

    A(1)x=b(1)

    avec les coefficients de la matrice A(1) tels que

    a(1)1j = a1j, j=1,2, ,n

    a(1)i j = ai j

    ai1

    a11a1j, i=2,3 ,n, j=1,2, ,n.

    55

  • 8/13/2019 Cours Calcul Scientifique 2013

    57/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    58/85

    Algorithme de Gauss

    avec

    L2=I v2eT2 , v2=

    0,0,a(1)32

    a(1)22

    ,a(1)42

    a(1)22

    , ,a(1)n2a

    (1)22

    T

    e2etant le deuxieme vecteur de la base canonique. La matriceA(2) est par consequent

    A(2) =

    a(2)11 a12(2) a

    (2)1n

    0 a(2)22 a

    (2)23 a(2)2n

    ... 0 a(2)33 a

    (2)3n

    ... ...

    ... . . .

    ...

    0 0 a

    (2)

    n3 a(2)

    nn

    . (3.16)

    Ensuite on applique lalgorithme a A(2) en faisant apparatre des zeros sur la 3

    eme colonne a partir de la 4 eme ligne en supposant quea(2)33=0.

    Pour generaliserce procede, on introduit le vecteurvi, en supposant que lelement

    a(i1)ii de la matriceA

    (i1) (i 1, avec la convention que A(0) =A) est non nul,defini comme

    vi=

    0, ,0, a(i1)i+1,i

    a(i1)ii

    ,a

    (i1)i+2,i

    a(i1)ii

    , ,a(i1)ni

    a(i1)ii

    T

    (lesipremieres composantes du vecteur visont nulles). Soit alors

    Li= I vieTi ,avec eile ieme vecteur de la base canonique (dont seul la ieme composante est

    non nulle et egale a 1), alors les coefficients de la matriceA(i) telle que

    A(i) =LiA(i1), i=1,2, ,n 1,

    sont tels que

    a(i)k,j=0,1 j i,j + 1 k n.

    Ainsi, la matrice

    A(n1) =Ln1A(n2) = =Ln1Ln2 L2L1A (3.17)est triangulaire superieure, on la noteUavec

    U= A(n1) =

    a(n1)11 a

    (n1)12 a(n1)1n

    0 a(n1)22 a

    (n1)2n

    ... . . .

    . . . . . .

    ...

    0 0 a(n1)n1,n1 a(n1)n1,n

    0 0 0 a(n1)nn

    . (3.18)

    57

  • 8/13/2019 Cours Calcul Scientifique 2013

    59/85

    Resolution numerique directe de systemes lineaires

    Le systeme a resoudre est alors

    A(n1)x=b(n1)

    avec

    b(n1) =Ln1Ln2 L2L1b.Par lequation (3.17) on peut ecrire

    A=L11 L12 L1n2L1n1A(n1)

    avecL

    1

    i linverse de la matrice L

    i.

    Or,L1i =I+ vieTi. En effet,(I+ vie

    Ti )Li= I vieTi vieTi =I vi(eTi vi)eTi =I

    car on peut se convaincre aisement que le scalaire eTi vi=0 car les ipremierescomposantes devisont nulles. Donc,

    L11 L12 L1n2L1n1=

    n1i=1

    (I+ vieTi ).

    On observe que

    vieTi vje

    Tj =0, si j i

    car alorseTi vj=0 et par consequent

    L=L11 L12 L1n2L1n1=I+

    n1i=1

    vieTi .

    Explicitons la matrice L: on peut voir quelle est triangulaire inferieure et elle

    secrit

    L=

    1 0 0 0 0a

    (0)21

    a(0)11

    1 0 0 0a(0)31

    a(0)11

    a(1)32

    a(1)22

    1 0 0...

    ... . . .

    . . . . . .

    ...

    a(0)n1,1a

    (0)11

    a(1)n1,2a

    (1)22

    a(n3)n1,n2

    a(n3)n2,n2

    1 0

    a(0)n1

    a(0)11

    a(1)n2

    a(1)22

    a(n3)n,n2

    a(n3)n2,n2

    a(n2)n,n1

    a(n2)n1,n1

    1

    (3.19)

    On peut donc enoncer le theoreme suivant.

    58

  • 8/13/2019 Cours Calcul Scientifique 2013

    60/85

    Algorithme de Gauss

    Theoreme 9 Si dans lalgorithme de Gauss leselements dits pivots a(i1)ii

    = 0, i =

    1, n 1, alors il existe une matrice U triangulaire superieure dont leselementssont donnes par (3.18) et une matrice triangulaire inf erieure donnee par (3.19)

    telles que

    A=LU.

    Revenons a la resolution du systemeAx=b. Au lieu dappliquer lalgorithme deGauss directement a ce systeme, il est en general preferable de lecrire de maniere

    equivalente sous la forme

    LUx=b. (3.20)

    En effet, dans de nombreux problemes de discretisation, loperateurAest donne

    une fois pour toutes et le second membre best variable. On resout le systeme(3.20) de la facon suivante : dabord on resoutLy= b(ce qui est aise car Lesttriangulaire) et une fois yobtenu on determine xen resolvant Ux= y avec Utriangulaire.

    Evaluant le nombre doperationsnecessaires pour la decompositionLU. Loperation

    LiA(i1) correspond an idivisions (para(i1)ii ) et(n i)2 multiplications et au-

    tant dadditions, pouri=1,2, ,n 1. Par consequent il faut

    2n1

    j=1

    j2 =2(n 1)n(2n 1)

    6 2n

    3

    3 (pourngrand)

    multiplications et additions ainsi que

    n1

    j=1

    j=n(n 1)

    2 n

    2

    2

    divisions. Il est indispensable de faire cette decomposition une fois pour toutes

    lorsquon doit resoudre plusieurs fois la solution dun systeme, pour ngrand,

    dont la matrice est A. De resoudre LU x= b necessite en effet beaucoup moinsdoperations. ConsideronsLy=bce qui donne lieu au systeme

    y1 = b1l21y1 + y2 = b2

    ln1y1 + ln2y2 + + yn = bn.

    Par consequenty1= b1et

    yi= bi i1

    j=1

    li jyj, i=2, ,n.

    59

  • 8/13/2019 Cours Calcul Scientifique 2013

    61/85

    Resolution numerique directe de systemes lineaires

    On voit que pour calculer yiil faut(i

    1)additions et autant de multiplications,

    dou au total

    2n1

    j

    j=2(n 1)n

    2=n(n 1)

    operations. La resolution deU x =ydonne lieu au systeme (en commencant par lacomposantexn,Uetant triangulaire superieure)

    unnxn = yn

    un1,n1xn1 + un1,nxn = yn1 u11x1 + + u1,n1xn1 + u1,nxn = y1.

    Maintenantxn= yn/unnet

    xni=

    yni nj=ni+1 uni,jxj

    uni,ni

    , i=1,n 1.

    Le nombre total de multiplications et additions est a nouveau(n 1)net il fautajouter ndivisions, ce qui donne n2 operations. Donc, pour ngrand le nombre

    total des operations en vue de la resolution des deux systemes triangulaires est

    de lordre de 2n2. En conclusion, il y a un facteur n/3, pour ngrand, entre lenombre doperations pour la decompositionLU(ou de maniere equivalente pour

    lamethodedelimination de Gauss) et le nombredoperations permettant de resoudre

    LUx=bdisposant deLetU.

    3.3.2 Decomposition LU avec permutations des lignes

    Dans lalgorithme ci-dessus il a ete suppose que les elements appeles pivots

    a(i1)ii =0, i=1,2, ,n 1. Or, meme pour une matrice inversible ces coeffi-

    cients peuvent etre nuls et il convient dy remedier, en permutant des lignes dans

    lalgorithme de Gauss. Dune maniere generale, et pour des raisons de stabilite

    numerique, on cherchera toujours pour chaque pas de lalgorithme de Gauss de

    mettre lelement le plus grand en module en position diagonale.

    60

  • 8/13/2019 Cours Calcul Scientifique 2013

    62/85

    Decomposition LUavec permutations des lignes

    Definition 5 Soit une matrice Pi j de la forme

    Pi j=

    1. . . (0)

    1

    0 1...

    . . . ...

    ... 1 ...

    ... . . .

    ...

    1 01

    (0) . . .

    1

    ligne i

    ligne j

    (3.21)

    Alors Pi jA= A avec A matrice obtenue a partir de A en permutant les lignes i etj. De meme, on montre que APi j= A avec A obtenuea partir de A en permutantles colonnes i et j.

    On a les relations suivantes

    P2i j= I, c.-a-d. P1i j =Pi j, Pi j= P

    Ti j ,

    car en effet de permuter des lignes iet jdeux fois laisse bien la matrice invariante.

    Nous allons modifier lalgorithme du chapitre 1.2.1 en y ajoutant la possibilite de

    permuter des lignes a chaque etape. On noteA(0) =Aet on cherche lentierk1t.q.

    |a(0)k1,1| = max1kn |a(0)k1 |,

    c.-a-d. on cherche lelement le plus grand en module dans la premiere colonne.

    On opere la permutation entre ligne 1 et la lignek1et on obtient

    A(0) =Pk1,1

    A(0)

    et ensuite on applique lalgorithme de Gauss a A(0) pour trouver

    A(1) =L1Pk1,1A(0).

    On considere la deuxieme colonne de A(1) et on veut mettre lelement le plus

    grand en position de pivot, c.-a-d. on cherche lentier k2tel que

    |a(1)k2,2| = max2kn |a(1)k2

    |.

    61

  • 8/13/2019 Cours Calcul Scientifique 2013

    63/85

    Resolution numerique directe de systemes lineaires

    On opere la permutation entre ligne 2 et k2pourA(1) dou

    A(1) =Pk2,2A(1) =Pk2,2L1Pk1,1A

    (0).

    A letapeion obtient donc une matrice

    A(i) =LiPiLi1Pi1 P2L1P1A(0)

    ou lon note

    Pj= Pkj,j

    aveckjt.q.

    |a

    (j1)kj,j |

    = maxjkn |

    a(j1)k j |

    .

    et a nouveau on aboutit a une matrice triangulaire superieure

    A(n1) =Ln1Pn1Ln2Pn1 P2L1P1A(0). (3.22)Afin de comprendre comment on peut interpreter le resultat des produits successifs

    des matrices intervenant dans cette expression, on prend le cas particuliern=4 etdonc

    A(3) =L3P3L2P2L1P1A0).

    ParP2j =Ion peut ecrire

    A(3) =L3P3L2P3P3P2L1P2P3P3P2P1A(0) (3.23)

    car on nintercale que des matrices identite I. Chaque matrice Ljest de la forme

    Lj= I vjeTj. Donc

    PkLjPk= I PkvjeTjPk= I (Pkvj)(Pkej)T =I (Pkvj)eTjsik> j, car alors Pkej=ej etant donne que seule la jeme composante de ejestnon nulle etPkpermute des elements dindices> jsik> j. Donc par exemple

    P3P2L1P2P3=I (P3P2v1)eT1 =L1.

    Dans le cas generalLk= I vkeTket on noteLk= I (Pn1Pn2....Pk+1vk)eTk =I vkeTk. (3.24)

    La matriceLkest alors obtenue en operant les permutations successives a partir de

    letapek+1 au vecteurvkqui definitLk(voir chapitre 1.2.1). Avec cette definition(3.23) devient

    A(3) =L3 L2 L1P3P2P1A(0) (3.25)

    62

  • 8/13/2019 Cours Calcul Scientifique 2013

    64/85

    Decomposition LUavec permutations des lignes

    avec la convention queL3=L3. En extrapolant au cas general on trouve

    A(n1) =Ln1 Ln2 L2 L1Pn1Pn2 P2P1A(0)

    Les structures des matricesLksont analogues aux structures des matricesLk. On

    noteP=Pn1Pn2 P2P1et on trouve

    PA=LU (3.26)

    avec U= A(n1) matrice triangulaire superieure et

    L==L11 L12

    L1n

    2

    L1n

    1.

    Comme pour les inverses des matrice Lkon peut se convaincre queLest triangu-

    laire inferieure de la forme

    L=

    1 0 0 0 0v12 1 0 0 0v13 v22 1 0 0...

    ... . . .

    . . . . . .

    ...

    v1,n1 v2n1 vn2,n1 1 0v1n v2n vn2,n vn1,n 1

    (3.27)

    avec vk,ila i eme composante du vecteur vkintroduit dans (3.24). Remarque : si

    Aest inversible, il y a toujours un element non nul dans les differentes etapes de

    lalgorithme a mettre en position de pivot. On peut donc enoncer :

    Theoreme 10 Si la matrice A est inversible, alors il existe une matrice de per-

    mutation P, une matrice U triangulaire superieure et une matriceL triangulaire

    inf erieure avec 1 sur la diagonale, telles que

    PA=LU. (3.28)

    En pratique on ne garde pas les matrices P1,P

    2,

    ,Pn1

    pour former Pmais on

    garde leffet des permutations sur les indices. Pour ce faire, on introduit un tableau

    dentiers(p1,p2,...,pn)t.q. au depart pi= i. Operant les permutations successivessur les elements de ce tableau, leffet du produit des permutations Ppour tout

    vecteurysera(Py)i=ypi . Donc, si on veut resoudre

    Ax=b

    on formePAx=LUx=Pb=bavecbi=bpiet on resout successivementLy=b

    et ensuite Ux=y.

    63

  • 8/13/2019 Cours Calcul Scientifique 2013

    65/85

    Resolution numerique directe de systemes lineaires

    Exemple :il convient de traiter un petit exemple afin dillustrer la mise en uvre

    de la methodeLU. Prenons la matrice 3 3

    A=

    3 1 62 1 3

    1 1 1

    ;

    On cherche a decomposerAen un produitLU, en operant eventuellement des per-

    mutations de lignes au cours des etapes successives de la mise sous forme triangu-

    laire. Les matricesLetUobtenues lors de la decomposition etant respectivement

    triangulaire inferieure et triangulaire superieure, il savere pratique davoir une

    representation compacte a la fois des elements successifs deLet des elements de

    U. On rappelle que lon connat les elements sur la diagonale deLqui sont egaux

    a 1.

    On note(i,j)la position a lintersection de la i eme ligne et de la jeme co-lonne deA. Prenons la premiere colonne de A: lelement le plus grand en valeur

    absolue est en position(1,1)et lors de la premiere etape aucune permutation nestnecessaire. On soustraira de la deuxieme ligne la premiere multipliee par 2/3 afinde faire apparatre un 0 en position(2,1). Or, ce nombre 2/3 est bien lelement enposition(2,1)deL. Ensuite on soustraira de la troisieme ligne la premiere multi-pliee par 1/3, afin de faire apparatre un 0 en position(3,1). A nouveau le nombre1/3 est lelement en position(3,1)de la matriceL. Il est alors commode de faireapparatre les elements successifs de la matrice LetUdans un meme tableau de

    la facon suivante (avec les elements correspondant aLentre parentheses) 3 1 6(2/3) 1/3 1

    (1/3) 2/3 1

    .

    Letape suivante porte sur la sous-matrice 2 2 a partir de la deuxieme ligne etdeuxieme colonne du tableau ci-dessus : on voit quil convient de permuter les

    lignes 2 et 3 afin de mettre dans la deuxieme colonne lelement maximal en posi-

    tion(2,2). Dou apres permutation on obtient

    3 1 6(1/3) 2/3 1(2/3) 1/3 1

    .

    Des elements de la troisieme ligne, hormis la premiere colonne qui correspond

    aux elements de L, on soustrait la deuxieme ligne multipliee par 1/2, pour faireapparatre le 0 en position (3,2). On met precisement la valeur 1/2, lelement de

    L, a cette position. On recupere le tableau 3 1 6(1/3) 2/3 1

    (2/3) (1/2) 1/2

    ,

    64

  • 8/13/2019 Cours Calcul Scientifique 2013

    66/85

    Decomposition LUavec permutations des lignes

    dou on tireLetU, a savoir

    L=

    1 0 01/3 1 0

    2/3 1/2 1

    , U=

    3 1 60 2/3 1

    0 0 1/2

    .

    On obtient donc

    PA=LU

    avecPune matrice de permutation des lignes 2 et 3

    P= 1 0 0

    0 0 1

    0 1 0 .

    En general les matrices de permutation ne sont pas explicitees, il suffit de garder

    le resultat des permutations dans un tableau dentiers comme explique ci-dessus,

    qui devient ici(1,3,2). Admettons quon cherche a resoudre

    A

    x1x2

    x3

    =

    27

    4

    .

    Alors dappliquerPrevient a permuter les elements 2 et 3 du second membre et

    parPA=LUon obtient

    LU

    x1x2

    x3

    =

    24

    7

    .

    Dabord on resout

    L

    y1y2y3

    =

    2

    4

    7

    ce qui est aise etant donnee la structure triangulaire deL. On trouve y1=2,y2=10/3,y3=4 et la solutionxest obtenue en resolvant U x=y, ce qui est a nouveauaise etant donne queUest egalement triangulaire. On trouve en definitive x1=19,x2= 7,x3= 8.

    65

  • 8/13/2019 Cours Calcul Scientifique 2013

    67/85

    Resolution numerique directe de systemes lineaires

    66

  • 8/13/2019 Cours Calcul Scientifique 2013

    68/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    69/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    70/85

    Normes de matrices

    De maniereequivalente on peutecrire

    ||A|| = maxxRn, ||x||=1

    ||Ax||. (4.4)

    Tout dabord il faut montrer que les deux definitions (4.3) et (4.4) sont bien

    equivalentes. Partant de (4.3), on peut ecrire

    ||Ax||||x|| = ||

    1

    ||x||Ax|| = ||A

    1

    ||x||x

    ||

    Or, le vecteury = 1||x||x est de norme 1, donc pour toutx = 0,||Ax||||x|| = ||Ay|| avecy de

    norme 1. Reciproquement, soitxt. q. ||x|| =1 alors de maniere evidente ||Ax|| =||Ax||||x||. Par consequent, les deux definitions ci-dessus sont bien equivalentes.

    On verifie les proprietes habituelles de normes pour||A||. Plus precisement,soit ||A|| defini comme ci-dessus alors :

    ||A|| 0 et ||A|| =0, si et seulement si A=0; (4.5)||A|| = ||||A||, pour tout R; (4.6)

    ||A +B| | | |A|| + ||B||, quelles que soient A,B matrices n n. (4.7)

    Montrons par exemple (4.5) :||A|| =0 implique dapres la definition que||Ax|| =0 pour tout vecteur xet alors que Ax=0 quel que soit x (dapres lesproprietes de normes vectorielles). Mais on en deduit que A est alors la matrice

    identiquement zero. La relation (4.6) est evidente dapres la definition. Linegalite

    triangulaire (4.7) se demontre precisement a laide de linegalite triangulaire pour

    les normes vectorielles ; en effet

    ||A +B|| = max||x||=1

    ||(A +B)x|| max||x||=1

    (||Ax|| + ||Bx||) max

    ||x||=1||Ax|| +max

    ||x||=1||Bx|| = ||A|| + ||B||

    Il reste a etablir deux proprietes fondamentales des normes de matrices, a sa-

    voir

    ||Ax| | | |A||||x|| quel que soit x Rn, (4.8)||AB| | | |A||||B|| pour toutes matricesn n A,B. (4.9)

    Linegalite (4.8) decoule directement de la definition ; on utilise cette inegalite

    pour montrer que que

    ||(AB)x|| = ||A(Bx)| || |A||||Bx| || |A||||B||||x||.

    69

  • 8/13/2019 Cours Calcul Scientifique 2013

    71/85

    Normes de matrices, methodes iteratives de resolution de systemes lineaires

    Par consequent pour toutx

    =0,

    ||(AB)x||||x|| ||A||||B||

    et on en deduit (4.9), le max etant le plus petit des majorants.

    En fait, il est possible de caracteriser pour les normes vectorielles usuelles

    (4.2) les normes matricielles de||A|| en termes des elements de A que lon noteai j. On a notamment

    ||A||1= maxj=1,

    ,n

    n

    i=

    1

    |ai j|, (4.10)

    ||A||= maxi=1,,n

    n

    j=1

    |ai j|. (4.11)

    Nous allons demontrer ces relations en T.D. Pour la norme ||A||2, lexpression estun peu plus complexe et fait intervenir la notion de rayon spectral dune matrice.

    Le rayon spectral est lie a la notion de valeurs propres de matrices (qui a ete

    rappelee au chapitre 2.1).

    Definition 7 Soit une matrice n n que lon note B et on note 1,2, ,n lesvaleurs propres de B (complexes en general). Le rayon spectral de B, not e(B),est par d efinition la plus grande des valeurs propres en module, cest-a-dire

    (B) = maxj=1,,n

    |j|.

    On peut montrer la propriete suivante : soient B,Cdeux matricesn n ; alors

    (BC) =(CB). (4.12)

    Ce resultat assez utile en pratique se demontre de la facon suivante. Soit lavaleurs propres deBCtelle que(BC) =

    |

    |. Multipliant legaliteBCx = x,x

    = 0,

    a gauche par Con auraCB(Cx) =Cx. Donc, siCx =0, ce vecteur est vecteurpropre de CBde valeur propre . SiCx=0 alors =0 (car BCx= x). Dansles deux cas (CB) ||car (CB)est la plus grande des valeurs propres enmodule deCB. Dou(CB) (BC). Evidemment, linegalite inverse se montrede la meme facon, commencant par (CB). On en deduit alors legalite (4.12)ci-dessus.

    Considerons maintenant la cas particulier dune matrice symetriqueB. On peut

    facilement montrer que ses valeurs propres sont reelles. En effet, soit valeurpropre de B, a priori complexe. Alors Bx= xavec x Cn,x =0. On note x

    70

  • 8/13/2019 Cours Calcul Scientifique 2013

    72/85

  • 8/13/2019 Cours Calcul Scientifique 2013

    73/85

    Normes de matrices, methodes iteratives de resolution de systemes lineaires

    Prenons la valeur absolue de cette expression, on aura

    |xTBx| n

    i=1

    2i |i| (B)n

    i=1

    2i =(B)xTx

    car(B) =maxi=1,,n |i| et on montre que xTx=ni=12i.

    Apres ce petit detour, revenons aux normes des matrices et en particulier la norme

    ||A||2avecAmatricen n. On montre que

    ||A||2= (ATA) = (AAT) (4.14)avec(ATA)le rayon spectral de la matrice ATA.

    Nous allons demontrer ce resultat. Les proprietes des rayons spectraux rap-

    pelees ci-dessus permettent daffirmer tout dabord que (ATA) =(AAT). En-suite, la matrice ATAest symetrique, donc, ses valeurs propres sont reelles et en

    plus positives ou nulles. En effet, si x =0 est vecteur propre de valeur propre ,alorsATAx= ximplique que xTATAx= xTx: or, xTATAx= (Ax)TAx 0 etbien surxTx>0 et on en deduit que 0. Rappelons la definition de la norme

    ||A||2= maxxRn,x=0

    ||Ax||2||x||2

    et bien sur ||Ax||22= (Ax)T(Ax) =xTATAx ; prenant dans (4.13)B =ATA (en omet-tant la valeur absolue), on deduit la majoration

    ||Ax||22 (ATA) ||x||22et donc

    ||A||2 (ATA).

    Soit maintenant i 0 valeur propre de ATAtelle que (ATA) =iet x(i) =0vecteur propre associe : alors

    ||Ax(i)

    ||2

    2= (Ax(i))TAx(i) =x(i)TATAx(i) =

    ix(i)Tx(i) = (ATA)

    ||x(i)

    ||2

    2.

    On en deduit, par la definition de la norme, linegalite inverse

    ||A||2 (ATA),

    ce qui acheve la demonstration de (4.14).

    Prenons le cas particulier ou la matrice Aelle-meme est symetrique. Alors

    ATA=A2 et etant donne que(A2) = (A)2 on on aura le resultat

    ||A||2= (A), pour toute matriceAsymetrique. (4.15)

    72

  • 8/13/2019 Cours Calcul Scientifique 2013

    74/85

    Application : conditionnement dun systeme lineaire

    4.2.1 Application : conditionnement dun systeme lineaire

    La notion de norme de matrice permet notamment devaluer ce quon appelle

    le conditionnement dun systeme lineaire. Soit a resoudre

    Ax=b

    avec Amatrice n ninversible et b Rn un vecteur donne. Lorsquon evalueles coefficients reels de b a laide dun ordinateur, les valeurs ne sont en general

    pas reproduite exactement mais plutot avec des erreurs darrondis. Donc, au lieu

    de resoudre le systeme ci-dessus on aura plutot un second membre b +bet oncherche a evaluer leffet debsur la solution exactex, donc on cherche a evaluerlerreur xtelle que

    A(x +x) =A(b +b).

    ParAx=bon peut ecrirex=A1b

    et par la propriete (4.8) appliquee aA1 on aura

    ||x| || |A1||||b||.De meme, deb=Axon deduit

    ||b| || |A||||x||.

    On obtient ainsi la relation entre lerreur relative sur la solution en fonction delerreur relative du second membre

    ||x||||x|| ||A||||A

    1||||b||||b|| . (4.16)

    La quantite||A| | | |A1||, noteecond(A), est appelee conditionnement de A:plus le conditionnement cond(A)est grand, plus lerreur sur la solution risquedetre grande, par rapport a lerreur bdue au second membre.

    Prenons la norme

    ||A

    ||22=(A

    TA) = maxi=1,,n

    i(ATA)

    aveci(ATA)les valeurs propres (positives) de ATA. De meme,

    ||A1||22=

    (A1)TA1

    = A1(A1)T

    =

    (ATA)1

    .

    On observe que les valeurs propres de (ATA)1 secrivent 1/i(ATA). On endeduit, le rayon spectral etant la plus grande des valeurs propres de (ATA)1,que

    ||A1||22= 1

    mini=1,ni(ATA).

    73

  • 8/13/2019 Cours Calcul Scientifique 2013

    75/85

    Normes de matrices, methodes iteratives de resolution de systemes lineaires

    Par consequent

    ||A||||A1|| =

    maxi=1,,ni(ATA)mini=1,,ni(ATA)

    1/2. (4.17)

    Pour une matrice symetrique cette relation devient simplement

    ||A||||A1|| =maxi=1,,n |i(A)|mini=1,,n |i(A)| , si A est symetrique, (4.18)

    aveci(A)les valeurs propres (reelles) deA.

    4.3 Conditions de convergence

    Apres ce detour, indispensable, par des normes de matrices, revenons a la

    resolution de

    Ax=b

    par une methode iterative

    Mx(k+1) =Nx(k) + b, k=0,1,2, , A=MN. (4.19)Nous avons vu au chapitre 2.1, que si la suite de vecteurs x(k) converge, alors la

    limite est precisement la solution xde Ax= b. Aussi, dapres (4.1), le vecteurerreurr(k) =x(k) xest solution du systeme

    r(k) = Ck r(0), C=M1N, (4.20)

    et donc la methode converge quel que soit le vecteur initialx(0), si et seulement si

    Ck 0, quand k . (4.21)Nous pouvons enoncer le resultat suivant concernant la convergence de la methode

    iterative (4.19).

    Theoreme 12 La methode it erative (4.19) converge quel que soit le vecteur initialx(0), si et seulement si(C)

  • 8/13/2019 Cours Calcul Scientifique 2013

    76/85

    Conditions de convergence

    x

    =0 vecteur propre associe. AlorsCx= xet en iterantCkx= kx. Or, si

    |

    1,

    alors k, ne tend pas vers vers zero pour k (et donc Ck ne tend pas verszero). Il reste a montrer que si (C)

  • 8/13/2019 Cours Calcul Scientifique 2013

    77/85

    Normes de matrices, methodes iteratives de resolution de systemes lineaires

    4.4 Methode de Jacobi et de Gauss-Seidel, methode

    de relaxation

    On reprend, pour la resolution deAx=b, le systeme iteratif

    Mx(k+1) =Nx(k) + b, k=0,1,2, , avec A=MN. (4.22)

    Bien sur, lexpression de Mdefinit une methode iterative en particulier ; pour la

    resolution de la recurrence les systemes avecMdoivent pouvoir etre resolus faci-

    lement et une decomposition possible est de prendre pourMla matrice diagonale

    formee par la diagonale de A. Plus precisement, si lon note ai j, i=1, ,n,j =1, ,n,les coefficients deA, on introduit 3 matrices D,E,Fcomme suit :

    D=

    a11. . . (0)

    (0) . . .

    ann

    , (4.23)

    E=

    0

    a21. . . (0)

    ... . . .

    . . .

    an1 an,n1 0