"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
">**Q1 [2 points]** \n",
"Pour quelles valeurs des paramètres $\\alpha$ et $\\vartheta$ la méthode est zéro-stable?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Le premier polynôme caractéristique est\n",
"$$\n",
"\\varrho(r)=r^{p+1}-\\sum_{j=0}^p a_jr^{p-j}=r^2-\\alpha r+(\\alpha-1)=(r-1)\\big(r-(\\alpha-1)\\big)\n",
"$$\n",
"dont les racines sont \n",
"$$\n",
"r_0=1,\\quad r_1=\\alpha-1.\n",
"$$\n",
"La méthode est donc zéro-stable ssi\n",
"$$\n",
"\\begin{cases}\n",
"|r_j|\\le1 \\quad\\text{pour tout }j=0,1\n",
"\\\\\n",
"\\varrho'(r_j)\\neq0 \\text{ si } |r_j|=1\n",
"\\end{cases}\n",
"$$\n",
"donc ssi $0\\le\\alpha<2$."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
">**Q2 [3 points]** \n",
"Quel est l'ordre de convergence de la méthode?"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"On rappelle qu'une méthode est convergente ssi elle est zéro-stable et consistante. Nous allons donc étudier la consistance (puis l'ordre de consistance = ordre de convergence) pour les seules valeurs de $\\alpha$ pour lesquelles on a la zéro-stabilité.\n",
"\n",
"* On a $p=1$: c'est une méthode à $q=p+1=2$ pas. \n",
"* La méthode est implicite car $b_{-1}=2\\neq0$.\n",
"\n",
"Pour que la méthode soit consistante il faut que\n",
"$$\\begin{cases}\n",
"\\displaystyle\\sum_{j=0}^p a_j=a_0+a_1=1,\n",
"\\\\\n",
"\\displaystyle\\sum_{j=0}^p (-j)a_j+\\sum_{j=-1}^p b_j=1.\n",
"\\end{cases}$$\n",
"\n",
"De plus, la première barrière de Dahlquist affirme qu'un schéma implicite à $q=2$ pas consistante et zéro-stable peut être au mieux d'ordre $\\omega=q+2=4$. \n",
"\n",
"Pour que la méthode soit \n",
"- au moins d'ordre 2 il faut qu'elle soit consistante et que $\\displaystyle\\sum_{j=0}^p (-j)^{2}a_j+2\\sum_{j=-1}^p (-j)^{1}b_j=1$,\n",
"- au moins d'ordre 3 il faut qu'elle soit au moins d'ordre 2 et que $\\displaystyle\\sum_{j=0}^p (-j)^{3}a_j+3\\sum_{j=-1}^p (-j)^{2}b_j=1$,\n",
"- au moins d'ordre 3 il faut qu'elle soit au moins d'ordre 2 et que $\\displaystyle\\sum_{j=0}^p (-j)^{4}a_j+4\\sum_{j=-1}^p (-j)^{3}b_j=1$."
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {},
"outputs": [],
"source": [
"%reset -f\n",
"%matplotlib inline\n",
"\n",
"from matplotlib.pylab import *\n",
"from scipy.optimize import fsolve\n",
"\n",
"import sympy \n",
"sympy.init_printing()\n",
"\n",
"from IPython.display import display, Math\n",
"prlat= lambda *args: display(Math(''.join( sympy.latex(arg) for arg in args )))"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n",
"C'est une méthode à q = 2 pas d'ordre ω ≤ 4\n",
"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n",
"La méthode est d'ordre ω ≥ 1 (= consistante) si \n"
]
},
{
"data": {
"text/latex": [
"$\\displaystyle a_{0} + a_{1}=1$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/latex": [
"$\\displaystyle - a_{1} + b_{0} + b_{1} + b_{-1}=1$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n",
"La méthode est d'ordre ω ≥ 2 si elle est d'ordre 1 et, de plus, \n"
]
},
{
"data": {
"text/latex": [
"$\\displaystyle a_{1} - 2 \\left(b_{1} - b_{-1}\\right)=1$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n",
"La méthode est d'ordre ω ≥ 3 si elle est d'ordre 2 et, de plus, \n"
]
},
{
"data": {
"text/latex": [
"$\\displaystyle - a_{1} + 3 \\left(b_{1} + b_{-1}\\right)=1$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★\n",
"La méthode est d'ordre ω ≥ 4 si elle est d'ordre 3 et, de plus, \n"
]
},
{
"data": {
"text/latex": [
"$\\displaystyle a_{1} - 4 \\left(b_{1} - b_{-1}\\right)=1$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# j = 0...p\n",
"# q = p+1 # nb de pas\n",
"# ω # ordre de la méthode\n",
"\n",
"CAS_GENERAL = True\n",
"p = 1\n",
"\n",
"q = p+1 \n",
"ordre_max = q+2 if q%2==0 else q+1\n",
"\n",
"print(f\"{'★'*70}\\nC'est une méthode à q = {q} pas d'ordre ω ≤ {ordre_max}\")\n",
"\n",
"\n",
"if CAS_GENERAL:\n",
" aa = sympy.symbols(f'a_0:{q}')\n",
" bb = sympy.symbols(f'b_0:{q}')\n",
" bm1 = sympy.Symbol('b_{-1}')\n",
"else : # cas particulier\n",
" α = sympy.Symbol('α')\n",
" ϑ = sympy.Symbol('ϑ')\n",
" aa = [α, 1-α]\n",
" bb = [-3*ϑ/2, ϑ/2]\n",
" bm1 = 2\n",
"\n",
"i=1\n",
"sa=sum( [-j*aa[j] for j in range(len(aa))] )\n",
"sb=bm1+sum( [bb[j] for j in range(len(bb))] )\n",
"print(f\"{'★'*70}\\nLa méthode est d'ordre ω ≥ {i} (= consistante) si \")\n",
"prlat(sum(aa).factor(),\"=1\" )\n",
"prlat((sa).factor()+(i*sb).factor(),\"=1\")\n",
"\n",
"for i in range(2,ordre_max+1):\n",
" sa=sum( [(-j)**i*aa[j] for j in range(len(aa))] )\n",
" sb=bm1+sum( [(-j)**(i-1)*bb[j] for j in range(1,len(bb))] )\n",
" print(f\"{'★'*70}\\nLa méthode est d'ordre ω ≥ {i} si elle est d'ordre {i-1} et, de plus, \")\n",
" prlat((sa).factor()+(i*sb).factor(),\"=1\" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Dans notre cas \n",
"- la méthode est consistante ssi $\\vartheta=\\alpha$ car $a_0+a_1=\\alpha+(1-\\alpha)=1$ et $-a_1+b_0+b_1+b_{-1}=-(1-\\alpha)-\\frac{3\\vartheta}{2}+\\frac{\\vartheta}{2}+2=\\alpha-\\vartheta+1$;\n",
"- pour que la méthode sois d'ordre au moins 2 il faudrait avoir $1= a_1-2(b_1-b_{-1})=1-\\alpha-2(\\frac{\\alpha}{2}-2)=5-2\\alpha$ ce qui n'est pas compatible avec la condition de zéro-stabilité.\n",
"\n",
"Conclusion: si $0\\le\\alpha=\\vartheta<1$ le schéma est convergent à l'ordre 1, dans les autres cas il n'est pas convergente."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
">**Q3 [3 points]** \n",
">Nous allons maintenant fixer $\\alpha$. Pour cela, écrivez votre nom et prénom dans la cellule ci-dessous et vous obtiendrez un choix pour le paramètre $\\alpha$. Pour $\\vartheta$, choisir une valeur qui garantie la convergence.\n",
"\n",
">Vérifier empiriquement l'ordre de convergence sur le problème de Cauchy\n",
">$$\\begin{cases}\n",
"y'(t) = t^2-y(t), &\\forall t \\in I=[0,1],\\\\\n",
"y(0) = 2,\n",
"\\end{cases}\n",
"$$"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {},
"outputs": [
{
"data": {
"text/latex": [
"$\\displaystyle \\alpha=\\frac{5}{8}$"
],
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nom = \"Faccanoni\"\n",
"prenom = \"Gloria\"\n",
"\n",
"NUM = list(range(1,16))\n",
"idx = sum([ord(c) for c in nom+prenom])%len(NUM)\n",
"my_alpha = NUM[idx]/sympy.S(8)\n",
"prlat(r'\\alpha=',my_alpha)\n",
"my_alpha = float(my_alpha) # conversion en float"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"- Pour estimer les erreurs on définit la solution exacte (calculée en utilisant le module `sympy` ou à la main). \n",
"- On calcule la solution approchée pour différentes valeurs de $N$. Pour le calcul de l'ordre de convergence on initialise la suite avec la solution exacte."
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAYCAYAAAALbES+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFQUlEQVRoBe2a0VHcMBCGgbkCCCVABxAqCHQAdBDSQTK88caQDoAKMqEDoAICHUAHydAB+T8hm7UsW/KB7wx4Z3ySpV3p12q1Wsm3+Pj4uDBSXQOHh4fLKj3wNas+/aryhzr3WNJVA5OuAh+I/1hG9q0Yr/Inyt/oWSvKxnR6DSxNL/ruJfdlbFtmlMfKr6ps3ZSN2Sk18CqGp8kotqJWGLl8rY3MrhJv92d23X2snl5seDKm71JZrhfAY8A/eBLOUz02nsMQ71V2O3jwbwDg4ksOF5qEHY1xU+mP3LGKF8N7UHqaKzNvPmFlYf3Ws6G8NcaZQVO/7CqFnj8r/493lQ9yIaTwTm14aphT35XSDaU18vUE49vK31sGvVP+RelcJtFiIS8cjKUJKxPOwWJ3XnjVr8OgdFs4HClPzMkiRr+XT6VPv3pvHI/l6yuv/pN4l17QOQNnQpqIwBwArMyQkEN+KBTF6hWIV2Fy8dKECoxp1oSuyhM2nQsH3o+FiycOKTqekKntXe1v6dlv42mpS+J9ieHtCVjbdsnqJCaqeTUvhzwrcwhUwypsGBgL5ET5dR7lmezYQlJxr4Qh3UX0hadb9lgtgNp4bGVmnrmZdn6SeCeZICpsGiixXWX7rDA8vdD5eaS8KEJ+T0+b8Ra8facxrGy9KJ60JI294nnKin4zGBjG/9DQTWggsfE0iPZSnMTrDE8DAjhulcvRG72XxuDrzpTuGoisqEpcQZ14GDATQ3t4DJTFVnCt9KdSS8jTTtmXrew7n8Kq+k99Y8htX1is7q2Yu01Q/W1qPFao73wOXmd4AnIgZmIZPNmZHmsMeCXKLXGqqsV3kseYLn07xAgYVhPdqQJDTZLaoa8sXtMYk9E0YQuq64LVNDuMrPBjdCxud9Id+nhCvBNfcO3ViaGEMUzMu+HRQj7fhEuQubUFkTzyKC5Jwtjn9paDNYlxDgzsJOfSTbiTDHU8Fbx4PHspinc7CpSIpwnLVlT2EPDZV2Ta4jt4ifEw4HlTDtZOGGUMjOtKT5fxcV2TWqwOh/jYAZi3mEfvNB7fFjIhMccLqo8t+tbdJGzI91HBi8dzBqSUzlFUuc2qDHdOWS2eU1mUJAM/nuwiyvBcmDLeZ86ech2wdkKgdtFp9H6zU0MRZrVNLL6iFM9WoWnGI5mYYS2onPCK66PQo1b6TL1IPop3YgRZPVgySisIY+T+KlyJbJMYWIzc6pFMaazKc+S37SKHPO0kSbKvHuP5TnOxJjHOgkF6wBjWlJaeTnkXrihlBxnUeNrwTozCGEB4RcKqKg3I8MLXFJ9VYgzfOfyh8eLxwv5MF89ZtRFdlc8cU+dysU7dwWsJSgfsPrHPkxhjsUsNZjwpvNbwMAKMwZEEWT08sUnHiDYdY/2nNCi1gVfDXcfiPbai0BjrrfVbkou1XxSJ1qU/FjnBOTcG4W0CtwfFdjiI8eTgtYbHsZz7Oj53/NVT/OEx5vF+qR5FxIh2uO13n1uMUkLeJqMO+fp8z8XaJ4actomXMT6n00DALt6hjCeJt/FPAt4AWU3RIFnl3MNln8SssiSLEi+UFsZtq8f8ADSguXmVw0XTUJaoUCf8zbv8NKQ8WySr64j6Bqp9CG7gixWzMpEfabga4DDI0ws5w1PLWDfbZ0Hu64UMMBabOR7VEdB2/reG5PB2yBUBcdHnmA5IA5of4sne5qiI8fBA3A3x/y62P2K0WGwXqoZjPbEep6lcIjiOHVhy5Ue+d6CBxhgvd2wyUDzYjtLiZNUo6g2bzzxZ1yiNDY0Vb14D/wEkXTMZY46MWAAAAABJRU5ErkJggg==",
"text/latex": [
"$\\displaystyle y{\\left(t \\right)} = t^{2} - 2 t + 2$"
],
"text/plain": [
" 2 \n",
"y(t) = t - 2⋅t + 2"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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",
"text/plain": [
""
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# variables globales\n",
"t0 = 0\n",
"tfinal = 1\n",
"y0 = 2\n",
"\n",
"phi = lambda t,y: t**2-y\n",
"\n",
"##############################################\n",
"# solution exacte\n",
"##############################################\n",
"t = sympy.Symbol('t')\n",
"y = sympy.Function('y')\n",
"edo = sympy.Eq( sympy.diff(y(t),t) , phi(t,y(t)) )\n",
"solgen = sympy.dsolve(edo)\n",
"consts = sympy.solve( sympy.Eq( y0, solgen.rhs.subs(t,t0)) , dict=True)[0]\n",
"solpar = solgen.subs(consts).simplify()\n",
"display(solpar)\n",
"\n",
"sol_exacte = sympy.lambdify(t,solpar.rhs,'numpy')\n",
"\n",
"##############################################\n",
"# schéma (initialisation avec sol exacte pour ordre de convergence)\n",
"##############################################\n",
"def multipas(phi, tt, sol_exacte):\n",
" h = tt[1] - tt[0]\n",
" uu = [sol_exacte(tt[0])]\n",
" uu.append(sol_exacte(tt[1]))\n",
" for i in range(1,len(tt) - 1):\n",
" eq = lambda x : -x+my_alpha*uu[i]+(1-my_alpha)*uu[i-1]+h*(2*phi(tt[i+1],x)-3*my_alpha/2*phi(tt[i],uu[i])+my_alpha/2*phi(tt[i-1],uu[i-1]))\n",
" temp = fsolve( eq ,uu[i])\n",
" uu.append( temp[0] )\n",
" return uu\n",
"\n",
"##############################################\n",
"# ordre\n",
"##############################################\n",
"H = []\n",
"err = []\n",
"N = 50\n",
"\n",
"figure(figsize=(16,5))\n",
"ax1 = subplot(1,2,1)\n",
"\n",
"for k in range(4):\n",
" N += 20\n",
" tt = linspace(t0, tfinal, N + 1)\n",
" H.append( tt[1] - tt[0] )\n",
" yy = sol_exacte(tt)\n",
" uu = multipas(phi, tt, sol_exacte)\n",
" err.append( norm(uu-yy,inf) )\n",
" ax1.plot(tt,uu,label=f'Approchée avec N={N}')\n",
"\n",
"ax1.plot(tt,yy,label='Exacte')\n",
"xlabel('$t$')\n",
"ylabel('$y$')\n",
"ax1.grid(True)\n",
"ax1.legend()\n",
"\n",
"ax2 = subplot(1,2,2)\n",
"ax2.loglog( H, err, 'r-o')\n",
"xlabel('$h$')\n",
"ylabel('$e$')\n",
"title(f'Multipas ordre = {polyfit(log(H),log(err),1)[0]:1.2f}')\n",
"ax2.grid(True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Exercice 2 : étude d'un système\n",
"\n",
"\n",
"
\n",
"\n",
"Soit le problème de Cauchy\n",
"$$\\begin{cases}\n",
"y'(t)=\\eta z(t),\\\\\n",
"z'(t)=y(t)+\\eta z(t),\\\\\n",
"y(0)=1,\\\\\n",
"z(0)=1.\n",
"\\end{cases}$$\n",
"\n",
"Pour fixer $\\eta$, écrivez votre nom et prénom dans la cellule ci-dessous et vous obtiendrez un choix pour ce paramètre. Cela fixera aussi le nombre de points $N$.\n",
"