From c2d1976cd0631428cae8f5b2056f56074791b344 Mon Sep 17 00:00:00 2001
From: Olivier Cots <olivier.cots@irit.fr>
Date: Mon, 2 Sep 2024 11:59:17 +0200
Subject: [PATCH] up readme

---
 tp/derivees.ipynb      |   5 +-
 tp/edo-general.ipynb   |   5 +-
 tp/install.ipynb       |  10 ++
 tp/rk-implicites.ipynb | 311 -----------------------------------------
 tp/runge-kutta.ipynb   |   5 +-
 5 files changed, 16 insertions(+), 320 deletions(-)
 delete mode 100644 tp/rk-implicites.ipynb

diff --git a/tp/derivees.ipynb b/tp/derivees.ipynb
index a7712cb..63e7c41 100644
--- a/tp/derivees.ipynb
+++ b/tp/derivees.ipynb
@@ -4,9 +4,8 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/LOGO_INP_N7.png\" alt=\"N7\" height=\"80\"/>\n",
-    "\n",
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\"/>\n",
+    "[<img src=\"https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/raw/master/ressources/Logo-toulouse-inp-N7.png\" alt=\"N7\" height=\"80\"/>](https://gitlab.irit.fr/toc/etu-n7/controle-optimal)\n",
+    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\" style=\"margin-left:50px\"/>\n",
     "\n",
     "# Calcul de dérivées et équation différentielles\n",
     "\n",
diff --git a/tp/edo-general.ipynb b/tp/edo-general.ipynb
index 5ea6967..d125db7 100644
--- a/tp/edo-general.ipynb
+++ b/tp/edo-general.ipynb
@@ -5,9 +5,8 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/LOGO_INP_N7.png\" alt=\"N7\" height=\"100\"/>\n",
-    "\n",
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"100\"/>\n",
+    "[<img src=\"https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/raw/master/ressources/Logo-toulouse-inp-N7.png\" alt=\"N7\" height=\"80\"/>](https://gitlab.irit.fr/toc/etu-n7/controle-optimal)\n",
+    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\" style=\"margin-left:50px\"/>\n",
     "\n",
     "# Intégration numérique\n",
     "\n",
diff --git a/tp/install.ipynb b/tp/install.ipynb
index 3616a42..373ba25 100644
--- a/tp/install.ipynb
+++ b/tp/install.ipynb
@@ -1,5 +1,15 @@
 {
  "cells": [
+  {
+   "cell_type": "markdown",
+   "metadata": {},
+   "source": [
+    "[<img src=\"https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/raw/master/ressources/Logo-toulouse-inp-N7.png\" alt=\"N7\" height=\"80\"/>](https://gitlab.irit.fr/toc/etu-n7/controle-optimal)\n",
+    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\" style=\"margin-left:50px\"/>\n",
+    "\n",
+    "# Installation des packages pour les TPs"
+   ]
+  },
   {
    "cell_type": "code",
    "execution_count": null,
diff --git a/tp/rk-implicites.ipynb b/tp/rk-implicites.ipynb
deleted file mode 100644
index 56e8be1..0000000
--- a/tp/rk-implicites.ipynb
+++ /dev/null
@@ -1,311 +0,0 @@
-{
- "cells": [
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/LOGO_INP_N7.png\" alt=\"N7\" height=\"80\"/>\n",
-    "\n",
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\"/>\n",
-    "\n",
-    "# Méthodes de Runge-Kutta implicites - TP Projet\n",
-    "\n",
-    "- Date : 2023-2024\n",
-    "- Durée approximative : inconnue"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "**Nom** : \"Entrez votre nom ici\"\n",
-    "\n",
-    "**Prénom** : \"Entrez votre prénom ici\""
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Rendu et consignes\n",
-    "\n",
-    "Une fois le travail terminé, vous enverrez directement le fichier `.ipynb` par email à l'adresse : `olivier.cots@toulouse-inp.fr`.\n",
-    "\n",
-    "- **Date limite du rendu : mercredi 15/11/2023 à 23h59.** Attention, à partir de 24h, 2 points est enlevé de la note finale toutes les 30 minutes.\n",
-    "- **Attention :** Le fichier doit être renommé de la façon suivante : `rk_implicites_NOM_Prenom.ipynb`. 4 points enlevés si le nom du fichier n'est pas respecté.\n",
-    "- **Documents autorisés :** vous pouvez utiliser votre polycopié et les TPs précédents."
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Introduction\n",
-    "\n",
-    "Nous allons dans ce TP, implémenter quelques méthodes de Runge-Kutta **implicites** (voir **polycopié Section 8.2**) et étudier leur convergence. On considère un pas de temps $h$ uniforme. Une méthode à un pas implicite est convergente si pour toute solution $x(\\cdot, t_0, x_0)$ d'un problème de Cauchy, la suite approximante ${(x_i)}_i$ donnée par la méthode à un pas implicite vérifie \n",
-    "$$\n",
-    "    \\max_{1 \\le i \\le N}\\, \\|{x(t_i, t_0, x_0) - x_i}\\| \\to 0 \n",
-    "    \\quad\\text{quand}\\quad h \\to 0.\n",
-    "$$\n",
-    "\n",
-    "Si la convergence est d'ordre $p$ alors il existe une constante $C \\ge 0$ telle que l'**erreur globale** $E$ vérifie\n",
-    "\n",
-    "$$\n",
-    "    E := \\max_{1 \\le i \\le N}\\, \\|{x(t_i, t_0, x_0) - x_i}\\| \\le C\\, h^p.\n",
-    "$$\n",
-    "\n",
-    "Faisons l'hypothèse que $E = M\\, h^p$ pour un certain $M \\ge 0$. En passant au logarithme, on obtient\n",
-    "\n",
-    "$$\n",
-    "    \\log(E) = \\log(M) + p\\, \\log(h).\n",
-    "$$\n",
-    "\n",
-    "Nous en déduisons que si on trace $\\log(E)$ en fonction de $\\log(h)$, on doit obtenir une droite de pente $p$. C'est ce que nous allons vérifier dans ce TP."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# activate local project\n",
-    "using Pkg\n",
-    "Pkg.activate(\".\")\n",
-    "\n",
-    "# load packages\n",
-    "using LinearAlgebra\n",
-    "using Plots\n",
-    "using Plots.PlotMeasures\n",
-    "using Polynomials\n",
-    "\n",
-    "#\n",
-    "px = PlotMeasures.px;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Fonctons auxiliaires \n",
-    "\n",
-    "# VOUS POUVEZ METTRE VOS FONCTIONS AUXILIAIRES ICI"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## L'exemple d'étude\n",
-    "\n",
-    "On s'intéresse (pour les exercices 1, 2 et 3) au problème de Cauchy\n",
-    "\n",
-    "$$\n",
-    "    \\dot{x}(t) = (1-2t) x(t), \\quad x(0) = x_0 = 1\n",
-    "$$\n",
-    "\n",
-    "sur l'intervalle $[0, 3]$."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Définition du problème de Cauchy\n",
-    "f(t, x) = (1-2t)x    # Second membre f(t, x)\n",
-    "x0 = 1.0             # Condition initiale\n",
-    "tspan = (0.0, 3.0);  # Intervalle de temps"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Solution analytique\n",
-    "function sol(t)\n",
-    "    return exp(t-t^2)\n",
-    "end;"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# Estimation de la constante de Lipschitz de f sur [0, 3]\n",
-    "# Voir Théorème 8.2.2 pour l'utilité de cette estimation\n",
-    "function dfx(t)\n",
-    "    return 1-2t\n",
-    "end \n",
-    "L = maximum(abs.(dfx.(range(0, stop=3, length=1000))))"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## La méthode d'Euler implicite\n",
-    "\n",
-    "La méthode d'Euler implicite est donnée par :\n",
-    "\n",
-    "$$\n",
-    "\\left\\{\n",
-    "\\begin{array}{l}\n",
-    "x_{n+1} = x_n + h f(t_n, x_{n+1}) \\\\\n",
-    "x_0 = x(t_0)\n",
-    "\\end{array}\n",
-    "\\right.\n",
-    "$$\n",
-    "\n",
-    "### Exercice 1\n",
-    "\n",
-    "1. Implémenter la méthode d'Euler implicite avec le point fixe (penser à voir le polycopié Section 8.2).\n",
-    "2. Pourquoi si $h \\ge 0.2$, la méthode d'Euler implicite ne marche pas ?\n",
-    "3. Tracer la solution approchée et la solution exacte sur le même graphique pour différentes valeurs de $h$ que vous choisirez pour illustrer la convergence de la méthode.\n",
-    "4. Tracer l'erreur globale de la méthode d'Euler implicite en fonction de $h$ et vérifier que l'erreur est bien en $O(h)$.\n",
-    "\n",
-    "**Attention** : pour l'algorithme du point fixe, faites attention aux critères d'arrêts (il y en a 2) ! Voir votre polycopié Section 8.2. Vous fixerez la valeur de la tolérance à $10^{-6}$ et le nombre maximum d'itérations à $1000$."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# AJOUTER VOTRE CODE ICI"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## La méthode des trapèzes\n",
-    "\n",
-    "La méthode des trapèzes est donnée par le tableau de Butcher :\n",
-    "\n",
-    "$$\n",
-    "    \\begin{array}{c | c c}\n",
-    "        0       & 0     & 0     \\\\[0.2em]\n",
-    "        1       & 1/2   & 1/2   \\\\[0.2em]\n",
-    "        \\hline\n",
-    "                & 1/2   & 1/2   \\\\\n",
-    "    \\end{array}\n",
-    "$$\n",
-    "\n",
-    "### Exercice 2\n",
-    "\n",
-    "1. Implémenter la méthode des trapèzes avec le point fixe.\n",
-    "2. Tracer la solution approchée et la solution exacte sur le même graphique pour différentes valeurs de $h$ que vous choisirez pour illustrer la convergence de la méthode.\n",
-    "3. Tracer l'erreur globale de la méthode des trapèzes. Quel est l'ordre de convergence de la méthode des trapèzes ?\n",
-    "4. Tracer l'erreur globale en fonction du nombre d'évaluation de la fonction $f$."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# AJOUTER VOTRE CODE ICI"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## La méthode de Gauss à 2 étages\n",
-    "\n",
-    "La méthode de Gauss à 2 étages est donnée par le tableau de Butcher :\n",
-    "\n",
-    "$$\n",
-    "    \\begin{array}{c | c c}\n",
-    "        1/2 - \\sqrt{3}/6     & 1/4  & 1/4 - \\sqrt{3}/6  \\\\[0.2em]\n",
-    "        1/2 + \\sqrt{3}/6     & 1/4 + \\sqrt{3}/6 & 1/4   \\\\[0.2em]\n",
-    "        \\hline\n",
-    "        & 1/2 & 1/2 \\\\\n",
-    "    \\end{array}\n",
-    "$$\n",
-    "\n",
-    "### Exercice 3\n",
-    "\n",
-    "1. Implémenter la méthode de Gauss à 2 étages avec le point fixe.\n",
-    "2. Tracer la solution approchée et la solution exacte sur le même graphique pour différentes valeurs de $h$ que vous choisirez pour illustrer la convergence de la méthode.\n",
-    "3. Tracer l'erreur globale de la méthode de Gauss à 2 étages. Quel est l'ordre de convergence de la méthode de Gauss à 2 étages ?\n",
-    "4. Tracer l'erreur globale en fonction du nombre d'évaluation de la fonction $f$."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# AJOUTER VOTRE CODE ICI"
-   ]
-  },
-  {
-   "cell_type": "markdown",
-   "metadata": {},
-   "source": [
-    "## Un autre exemple\n",
-    "\n",
-    "On considère à partir de maintenant l'équation différentielle en dimension 2 :\n",
-    "\n",
-    "$$\n",
-    "    \\dot{x}_1(t) = x_2(t), \\quad \\dot{x}_2(t) = - x_1(t).\n",
-    "$$\n",
-    "\n",
-    "On peut montrer facilement que la norme de $x(t) = (x_1(t), x_2(t))$ est constante le long des solutions :\n",
-    "\n",
-    "$$\n",
-    "    \\frac{\\mathrm{d}}{\\mathrm{d} t} \\|x(t)\\|^2 = 2\\, \\left( x(t) \\,|\\, \\dot{x}(t) \\right) =  2 \\left( x_1(t) x_2(t) - x_2(t) x_1(t) \\right) = 0.\n",
-    "$$\n",
-    "\n",
-    "### Exercice 4\n",
-    "\n",
-    "On considère le problème de Cauchy associé de condition initiale $x_0 = (1, 0)$.\n",
-    "\n",
-    "1. Afficher l'approximation de la solution sur $[0, 10]$ pour les méthodes :\n",
-    "- Euler explicite ;\n",
-    "- Euler implicite ;\n",
-    "- Trapèzes ;\n",
-    "- Gauss à 2 étages.\n",
-    "2. Commentaires.\n",
-    "\n",
-    "**Attention :** vous ferez un affichage dans le plan $(x_1, x_2)$. Vous fixerez le nombre de pas à $N=100$."
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": [
-    "# AJOUTER VOTRE CODE ICI"
-   ]
-  }
- ],
- "metadata": {
-  "kernelspec": {
-   "display_name": "Julia 1.9.0",
-   "language": "julia",
-   "name": "julia-1.9"
-  },
-  "language_info": {
-   "file_extension": ".jl",
-   "mimetype": "application/julia",
-   "name": "julia",
-   "version": "1.9.0"
-  }
- },
- "nbformat": 4,
- "nbformat_minor": 2
-}
diff --git a/tp/runge-kutta.ipynb b/tp/runge-kutta.ipynb
index 891643e..c44e03a 100644
--- a/tp/runge-kutta.ipynb
+++ b/tp/runge-kutta.ipynb
@@ -4,9 +4,8 @@
    "cell_type": "markdown",
    "metadata": {},
    "source": [
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/LOGO_INP_N7.png\" alt=\"N7\" height=\"80\"/>\n",
-    "\n",
-    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\"/>\n",
+    "[<img src=\"https://gitlab.irit.fr/toc/etu-n7/controle-optimal/-/raw/master/ressources/Logo-toulouse-inp-N7.png\" alt=\"N7\" height=\"80\"/>](https://gitlab.irit.fr/toc/etu-n7/controle-optimal)\n",
+    "<img src=\"https://gitlab.irit.fr/toc/ens-n7/texCoursN7/-/raw/main/logo-insa.png\" alt=\"INSA\" height=\"80\" style=\"margin-left:50px\"/>\n",
     "\n",
     "# Méthodes de Runge-Kutta\n",
     "\n",
-- 
GitLab