Méthode des séries de Taylor

Objectifs d'apprentissage

À la fin de cette leçon, vous serez en mesure de :

  • Appliquer le développement de Taylor pour approximer la solution d'une ÉD
  • Calculer les dérivées successives de y(t)y(t) à partir de f(t,y)f(t, y)
  • Distinguer l'ordre local de l'ordre global d'une méthode
  • Implémenter la méthode de Taylor d'ordre arbitraire

Prérequis

  • Introduction aux équations différentielles
  • Développement de Taylor (Chapitre 1)
  • Dérivation en chaîne

Principe de la méthode

Considérons le problème à valeur initiale :

y(t)=f(t,y(t)),y(t0)=y0y'(t) = f(t, y(t)), \quad y(t_0) = y_0

L'idée est d'utiliser le développement de Taylor de y(t)y(t) autour de tjt_j pour approximer y(tj+1)y(t_{j+1}).

Développement de Taylor

y(tj+1)=y(tj)+hy(tj)+h22y(tj)+h36y(tj)++hnn!y(n)(tj)+O(hn+1)y(t_{j+1}) = y(t_j) + h\,y'(t_j) + \frac{h^2}{2}y''(t_j) + \frac{h^3}{6}y'''(t_j) + \cdots + \frac{h^n}{n!}y^{(n)}(t_j) + O(h^{n+1})

h=tj+1tjh = t_{j+1} - t_j est le pas de discrétisation.

💡

Clé de la méthode

L'équation différentielle nous donne y(t)=f(t,y)y'(t) = f(t, y). En dérivant cette relation, on peut exprimer toutes les dérivées supérieures y,y,y'', y''', \ldots en fonction de tt, yy et des dérivées partielles de ff.


Calcul des dérivées successives

Dérivée première

Par définition de l'ÉD :

y(t)=f(t,y(t))y'(t) = f(t, y(t))

Dérivée seconde

En dérivant par rapport à tt (règle de la chaîne) :

y(t)=dfdt=ft+fydydt=ft+fyfy''(t) = \frac{df}{dt} = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial y} \cdot \frac{dy}{dt} = \frac{\partial f}{\partial t} + \frac{\partial f}{\partial y} \cdot f

Notation compacte

En notant ft=ftf_t = \frac{\partial f}{\partial t} et fy=fyf_y = \frac{\partial f}{\partial y}, on a :

y=ft+fyfy'' = f_t + f_y \cdot f

Dérivée troisième

En dérivant encore :

y=ddt(ft+fyf)=ftt+2ftyf+fyyf2+fy(ft+fyf)y''' = \frac{d}{dt}(f_t + f_y \cdot f) = f_{tt} + 2f_{ty}f + f_{yy}f^2 + f_y(f_t + f_y f)

Les expressions deviennent rapidement complexes pour les ordres élevés.


Formule de Taylor d'ordre n

En tronquant le développement après le terme d'ordre nn, on obtient la méthode de Taylor d'ordre local hn+1h^{n+1} :

yj+1=yj+hyj+h22yj+h36yj++hnn!yj(n)y_{j+1} = y_j + h\,y'_j + \frac{h^2}{2}y''_j + \frac{h^3}{6}y'''_j + \cdots + \frac{h^n}{n!}y^{(n)}_j
⚠️

Ordre local vs ordre global

  • Ordre local : erreur commise à chaque pas, ici O(hn+1)O(h^{n+1})
  • Ordre global : erreur cumulée après plusieurs pas, généralement O(hn)O(h^n)

Règle : Si l'ordre local est hn+1h^{n+1}, l'ordre global est hnh^n.

Intuition : sur l'intervalle [t0,T][t_0, T], on effectue environ N=(Tt0)/hN = (T-t_0)/h pas. L'erreur totale est donc de l'ordre de N×hn+1=O(hn)N \times h^{n+1} = O(h^n).


Exemple détaillé

Appliquons la méthode de Taylor d'ordre local h3h^3 (donc d'ordre global h2h^2) à notre équation de référence :

y(t)=f(t,y)=ty2(t),y(0)=1y'(t) = f(t, y) = -ty^2(t), \quad y(0) = 1

avec h=0.1h = 0.1.

Étape 1 : Calcul de y(t)y''(t)

y=ddt(ty2)=y2+(t)2yyy'' = \frac{d}{dt}(-ty^2) = -y^2 + (-t) \cdot 2y \cdot y'

En remplaçant y=ty2y' = -ty^2 :

y=y2+(t)2y(ty2)=y2+2t2y3y'' = -y^2 + (-t) \cdot 2y \cdot (-ty^2) = -y^2 + 2t^2y^3

Étape 2 : Formule de récurrence

La méthode de Taylor d'ordre local h3h^3 donne :

yj+1=yj+hyj+h22yjy_{j+1} = y_j + h\,y'_j + \frac{h^2}{2}y''_j

Soit :

yj+1=yj+h(tjyj2)+h22(yj2+2tj2yj3)y_{j+1} = y_j + h(-t_j y_j^2) + \frac{h^2}{2}(-y_j^2 + 2t_j^2 y_j^3)

Étape 3 : Calcul de y1y_1

Au point initial : t0=0t_0 = 0, y0=1y_0 = 1.

y0=t0y02=01=0y'_0 = -t_0 \cdot y_0^2 = -0 \cdot 1 = 0
y0=y02+2t02y03=1+0=1y''_0 = -y_0^2 + 2t_0^2 y_0^3 = -1 + 0 = -1

Donc :

y1=y0+hy0+h22y0=1+0.10+0.012(1)y_1 = y_0 + h \cdot y'_0 + \frac{h^2}{2} \cdot y''_0 = 1 + 0.1 \cdot 0 + \frac{0.01}{2} \cdot (-1)
y1=10.005=0.995y_1 = 1 - 0.005 = 0.995

Valeur exacte : y(0.1)=22+0.01=22.010.99502487y(0.1) = \frac{2}{2 + 0.01} = \frac{2}{2.01} \approx 0.99502487

Erreur : 0.9950.995022.5×105|0.995 - 0.99502| \approx 2.5 \times 10^{-5}

Étape 4 : Calcul de y2y_2

Au point t1=0.1t_1 = 0.1, y1=0.995y_1 = 0.995.

y1=t1y12=0.1×0.9952=0.099003y'_1 = -t_1 \cdot y_1^2 = -0.1 \times 0.995^2 = -0.099003
y1=y12+2t12y13=0.990025+2×0.01×0.985075=0.970324y''_1 = -y_1^2 + 2t_1^2 y_1^3 = -0.990025 + 2 \times 0.01 \times 0.985075 = -0.970324

Donc :

y2=0.995+0.1×(0.099003)+0.012×(0.970324)y_2 = 0.995 + 0.1 \times (-0.099003) + \frac{0.01}{2} \times (-0.970324)
y2=0.9950.00990030.00485162=0.9802481y_2 = 0.995 - 0.0099003 - 0.00485162 = 0.9802481

Valeur exacte : y(0.2)=22.040.980392156y(0.2) = \frac{2}{2.04} \approx 0.980392156

Erreur : 0.98024810.98039221.4×104|0.9802481 - 0.9803922| \approx 1.4 \times 10^{-4}


Tableau récapitulatif

tyₙ (Taylor)y(t) exactErreur
0.01.0000001.0000000
0.10.9950000.9950252.5×1052.5 \times 10^{-5}
0.20.9802480.9803921.4×1041.4 \times 10^{-4}

Algorithme général

python
def taylor_order2(f, df_dt, t0, y0, h, n_steps):
  """
  Méthode de Taylor d'ordre local h³ (ordre global h²).

  Paramètres:
      f: fonction f(t, y) = y'
      df_dt: fonction donnant y'' = f_t + f_y * f
      t0, y0: conditions initiales
      h: pas de discrétisation
      n_steps: nombre de pas

  Retourne:
      t, y: tableaux des valeurs
  """
  t = [t0]
  y = [y0]

  for j in range(n_steps):
      tj, yj = t[-1], y[-1]

      # Dérivées
      y_prime = f(tj, yj)
      y_second = df_dt(tj, yj)

      # Formule de Taylor
      y_next = yj + h * y_prime + (h**2 / 2) * y_second

      t.append(tj + h)
      y.append(y_next)

  return t, y

# Exemple d'utilisation pour y' = -t*y²
def f(t, y):
  return -t * y**2

def df_dt(t, y):
  # y'' = -y² + 2t²y³
  return -y**2 + 2 * t**2 * y**3

t, y = taylor_order2(f, df_dt, t0=0, y0=1, h=0.1, n_steps=10)

Avantages et inconvénients

AvantagesInconvénients
Précision arbitraire (en augmentant l'ordre)Calcul fastidieux des dérivées de ff
Fondement théorique solideExpressions complexes pour les ordres élevés
Base des méthodes de Runge-KuttaNécessite les dérivées partielles de ff

En pratique

La méthode de Taylor est rarement utilisée directement en raison de la difficulté à calculer les dérivées de ff. Les méthodes de Runge-Kutta atteignent le même ordre de précision sans nécessiter ces dérivées explicites.

Visualisation : effet de l'ordre de Taylor


Résumé

  • La méthode de Taylor utilise le développement de Taylor pour approximer y(tj+1)y(t_{j+1})
  • Les dérivées y,y,y'', y''', \ldots s'expriment via la règle de la chaîne : y=ft+fyfy'' = f_t + f_y \cdot f
  • Ordre local hn+1h^{n+1}ordre global hnh^n
  • La méthode est précise mais requiert le calcul explicite des dérivées de ff

Pour aller plus loin

Dans la prochaine leçon, nous verrons la méthode d'Euler, qui est le cas particulier le plus simple de la méthode de Taylor (ordre 1).