In [ ]:
#!/usr/bin/env python
#-*- coding: utf-8 -*-
In [1]:
from sympy import *
init_printing(use_latex='mathjax')
import matplotlib.pyplot as plt
%matplotlib inline
import numpy as np

Développements limités¶

Les développements limités pourquoi faire ?¶

Soit la fonction $f : x \mapsto e^x$ à valeurs dans $\mathbb{R}$

On souhaite avoir une idée du comportement de $f$ en $x=0$

La meilleure droite qui approxime le graphe de la fonction $f$ en $x=0$ est la tangente dont l'équation est $y = 1 + x$, c'est à dire que $f(x) - (1 + x)$ est négligeable devant $x$ en $0$

In [2]:
x = np.linspace(-3, 2, 100)
y1 = np.exp(x) 
plt.grid()
plt.plot(x, y1)

def droite(x):
    return 1+ x
y2 = droite(x)
plt.plot(x, y2)

plt.show()

Peut-on faire mieux ? Pour cela on peut utiliser une fonction polynomiale.

  • Polynome de degré deux : $f_2: x \mapsto a_2x^2 + a_1x + a_0$
  • Polynome de degré trois :$\,\,f_3: x \mapsto a_3x^3 + a_2x^2 + a_1x + a_0$
In [3]:
def polynome2(x):
    return 1 + x +0.5*x**2

def polynome3(x):
    return 1 + x +0.5*x**2 + 1./6*x**3

plt.figure(figsize=(20,6))
plt.figure(1)

plt.subplot(121) 
y3 = polynome2(x)
plt.plot(x, y3, 'r--')
plt.plot(x, y1)
plt.grid()

plt.subplot(122)
y3 = polynome3(x)
plt.plot(x, y3, 'r--')
plt.plot(x, y1)
plt.grid()

plt.show()

soit une fonction $g : x \mapsto e^x - (1 + x + \dfrac{1}{2}x^2 + \dfrac{1}{6}x^3)$

In [4]:
x = 0
print (np.exp(x) - polynome3(0))
0.0
  • Écrire un développement limité de $f$ consiste à approcher $f$ par $f_1$, $f_2$ ou $f_3$.

Peut-on obtenir un DL d'ordre n ?¶

L’idée est de d'approcher localement une fonction $f$ que l’on ne sait pas calculer (ou difficilement) par un polynôme $P_n$, qui est facilement calculable. $ f(x) = P_n(x) + R_n (x)$

  • $\displaystyle P_n(x) = \sum_{\substack{k=0}}^n a_k(x-x_0)^k$, appelé partie régulière au point $x_0$
  • $R_n(x)$ est appelé le reste, on doit donc chercher des moyens d’estimer ou de majorer ce reste. Le moins que l'on puisse demander quand on approche une fonction par un polynôme de degré n, est que le reste soit négligeable (en $x_0$ quand $x$ tend vers $x_0$) devant le terme $(x-x_0)^n$. Négligable indique que le reste est de la forme $(x-x_0)^n\epsilon(x)\qquad \text{avec} \lim_\limits{x\rightarrow x_0}\epsilon(x) = 0$

Définition :

$f$ admet un developpement limité (DL) à l'ordre $n$ en $x_0$ s'il existe un polynôme $P_n(x)$ de degré inférieur ou égal à $n$ tel que $f(x) - P_n(x)$ soit négligeable devant $(x-x_0)^n\epsilon(x)$

$$f(x) - P_n(x) = (x-x_0)^{n}\epsilon(x)$$

Le terme $(x-x_0)^n\epsilon(x)$ est souvent abrégé en $o((x-x_0)^n)$

petit o met en avant que le reste est négligeable devant $(x-x_0)^n$

$$f(x) - P_n(x) = o((x-x_0)^{n})$$

Propriété : unicité d'un DL

Si $f$ admet un développement limité d'ordre $n$ au point $x_0$, alors ce développement limité et unique.

Obtention d'un développement limité par la formule de Taylor-Young¶

Soit une fonction $f : I\rightarrow\mathbb{R}$, $n$ fois dérivable et la dérivée $n^{\text{ième}}$ continue. Le développement limité de la fonction $f$ à l'ordre $n$ en $x_0$ peut être obtenu avec la formule de Taylor-Young:

$$f(x) = \overbrace{f(x_0) + f'(x_0)(x-x_0) + \frac{f''(x_0)}{2!}(x-x_0)^2 +\dots + \frac{f^{(n)}(x_0)}{n!}(x-x_0)^n}^{P_n(x)} + \overbrace{(x-x_0)^n\epsilon(x)}^{R_n(x)} \quad\quad\text{avec}\quad \lim_{x\rightarrow x_0}\epsilon(x) = 0$$

Reprenons l'exemple de la fonction $f: x \mapsto e^x$

  • $f'(x) = e^x$
  • $f^{(2)} = e^x$
  • $f^{(3)} = e^x$

Le développement limité de $f$ à l'ordre trois au point $x_0=0$ est donné par :

$$f(x) = 1 + x + \dfrac{x^2}{2} + \dfrac{x^3}{6} + o(x^3)$$

Exercices :

Calculer le développement limité des fonctions suivantes :

  • $f_1 : x \mapsto ln(1+x)$ , (ordre = 3, $x_0 = 0$)
  • $f_2 :x \mapsto \dfrac{1}{\sqrt{3-x}}$ , (2, 0)

  • $f_3 :x \mapsto \tan(x)$ , (2, 0)

  • $f_4 :x \mapsto \sqrt{x}$ , (3, 2)

Avec la formule de Taylor-Young de la fonction $x \mapsto \sin(x)$ à l'ordre 4 au point $x_0=0$, calculer une approximation de $\sin(0,01)$

In [2]:
from ipywidgets import *
from IPython.display import display

def update(f, n):
    x = symbols('x')
    p=plot(f, series(f, x, 0, n).subs(O(x**n), 0), (x,-2*pi,2*pi), 
           ylabel="",
           ylim=(-1.1, 1.1), 
           show=False, 
           title="DL sin(x) ordre " +str(n-1)+ " en 0 (vert)\n sin(x) (bleu)")
    p[0].line_color = 'blue'
    p[1].line_color = 'green'
    plt.rcParams['figure.figsize'] = 10, 5
    p.save("images/dl_slider.png")
    p.show()
interact(update, f="sin(x)", n=widgets.IntSlider(min=0,max=10,step=1,value=4))
Out[2]:
<function __main__.update>

Développements limités usuels¶

Tous les développement limités de cette section sont au voisinage de 0. Pour les obtenir, il suffit de calculer les dérivées successives et d’utiliser la formule de Taylor-Young.

  • $\displaystyle\frac{1}{1-x}=1+x+x^2+\dots+x^n+o(x^n)=\sum_{k=0}^n x^k+O(x^{n+1}),$
  • $\displaystyle\exp(x)=1+x+\frac{x^2}{2!}+\frac{x^3}{3!}+\dots+\frac{x^n}{n!}+o(x^n)=\sum_{k=0}^n \frac{x^k}{k!}+O(x^{n+1}),$
  • $\displaystyle\cosh(x)=1+\frac{x^2}{2!}+\frac{x^4}{4!}+\dots+\frac{x^{2n}}{(2n)!}+o(x^{2n+1})=\sum_{k=0}^n \frac{x^{2k}}{(2k)!}+O(x^{2n+2}),$
  • $\displaystyle\sinh(x)=x+\frac{x^3}{3!}+\frac{x^5}{5!}+\dots+\frac{x^{2n+1}}{(2n+1)!}+o(x^{2n+2})=\sum_{k=0}^n \frac{x^{2k+1}}{(2k+1)!}+O(x^{2n+3}),$
  • $\displaystyle\cos(x)=1-\frac{x^2}{2!}+\frac{x^4}{4!}-\dots+(-1)^{n}\frac{x^{2n}}{(2n)!}+o(x^{2n+1})=\sum_{k=0}^n \frac{(-1)^kx^{2k}}{(2k)!}+O(x^{2n+2}),$
  • $\displaystyle\sin(x)=x-\frac{x^3}{3!}+\frac{x^5}{5!}-\dots+(-1)^n\frac{x^{2n+1}}{(2n+1)!}+o(x^{2n+2})=\sum_{k=0}^n \frac{(-1)^kx^{2k+1}}{(2k+1)!}+O(x^{2n+3}),$
  • Si $n\geq 1$:
    • $\displaystyle\ln(1+x)=x-\frac{x^2}{2}+\frac{x^3}{3}-\dots+(-1)^{n+1}\frac{x^n}{n}+o(x^n)=\sum_{k=1}^n \frac{(-1)^{k-1}x^k}{k}+O(x^{n+1}),$
  • Si $n\geq 1$:
    • $ \begin{array}[t]{ll} \ln(1-x)&=-x-\dfrac{x^2}{2}-\dfrac{x^3}{3}-\dots-\dfrac{x^n}{n}+o(x^n)=-(x+\dfrac{x^2}{2}+\dfrac{x^3}{3}+\dots+ \dfrac{x^n}{n})+o(x^n)\\ &=-\left(\displaystyle\sum_{k=1}^n \dfrac{x^k}{k}\right)+O(x^{n+1})\\ \end{array} $
  • $\displaystyle\forall a\in\mathbb{R},~(1+x)^{a}=1+a x+\frac{a(a-1)}{2!}~x^2+\dots+\frac{a(a-1)\dots(a-n+1)}{n!}~x^n+O(x^{n+1}).$

Opérations sur les développements limités¶

Pour toutes les propriétés suivantes tous les développements limités sont au voisinage de 0 et on pose :

Soit $f : I\rightarrow \mathbb{R}$ telle que $\displaystyle f(x) = \sum_{\substack{k=0}}^n a_kx^k + o(x^{n}) = P_n(x) + o(x^{n})$

Soit $g : I\rightarrow \mathbb{R}$ telle que $\displaystyle g(x) = \sum_{\substack{k=0}}^n b_kx^k + o(x^{n}) = Q_n(x) + o(x^{n})$

Combinaisons linéaires¶

Propriété

  • Pour tous scalaires $\alpha$, $\beta$, on a : $\displaystyle (\alpha f + \beta g)(x) = \sum_{\substack{k=0}}^n (\alpha a_k + \beta b_k)x^k + o(x^{n})$

Exemple

$\displaystyle ln\left(\dfrac{1+x}{1-x}\right) = ln(1+x)-ln(1-x) = 2\left(x + \dfrac{x^3}{3} + \dfrac{x^5}{5}+\dots+\dfrac{x^{2n+1}}{2n+1}\right) + o(x^{2n+1})$

Exercices

Calculer le développement limité des fonctions suivantes :

  • $f_5(x) = \sqrt{1-x} + \sqrt{1+x}$ , (4, 0)
  • $f_6(x) = \dfrac{1}{1-x} - e^x$ , (3,0)

Avec sympy : Le même à l'ordre 5 et toujours en 0

In [ ]:
x = symbols('x')
series(ln((1+x)/(1-x)))

Produits¶

Propriété

  • $\displaystyle f(x)g(x) = R_n(x) + O(x^{n+1})$ où $R_n$ est obtenu en ne conservant que les termes de degré au plus $n$ du polynôme $P_n\times Q_n$ .

Exemple : d'un $DL_3(0)$

$\dfrac{e^x}{1-x} = 1 + 2x + \dfrac{5}{2}x^2 + \dfrac{8}{3}x^3 + O(x^4)$

Exercices

Calculer le développement limité des fonctions suivantes :

  • $f_7(x) = \left(ln(1+x)\right)^2$ , (4,0)

  • $f_8(x) = \dfrac{1}{x^2+x+1}$ , (3,0)

Avec sympy

In [ ]:
x = symbols('x')
series(exp(x)/(1-x), x, 0, 4)

Composition¶

Soit $P(0)=a_0=0$, donc $\displaystyle\lim_{x\rightarrow 0}f(x)=0$, qui permet d'écrire le DL de $g\,\circ\,f$ en $0$ grâce au DL de $g$ en $0$ écrit ci-dessus.

Alors $g\circ f$ admet un $DL_n(0)$ tel que $(g\circ f)(x) = R_n(x) + O(x^{n+1})$, où $R_n$ est le polynôme obtenue en tronquant au degré $n$ le polynôme $Q_n\circ P_n$

Exemples :

Écrire les développements limités des fonctions suivantes à l'origine:

$ \begin{array}{lll} \displaystyle f_9(x) &= (1-\cos(x))(\sin(x)-x) &(8,0)\\ f_{10}(x) &= \dfrac{1}{2}\ln(\cos(\sqrt{x})) &(2, 0)\\ f_{11}(x) &= \ln\left(\dfrac{\sin(x)}{x}\right) &(4, 0) \end{array} $

Application des DL¶

In [4]:
x = symbols('x')
series((1/x)*log(cos(sqrt(x))), x, 0, 3)
Out[4]:
$$- \frac{1}{2} - \frac{x}{12} - \frac{x^{2}}{45} + \mathcal{O}\left(x^{3}\right)$$
In [ ]: