{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# M8 - TP1 : Premiers pas avec Python"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Le but du TP est de commencer à étudier de vraies données avec Python. Pour plus de détails sur Python, NumPy et Matplotlib, un grand nombre de ressources sont disponibles sur https://pythonprogramming.net/ , y compris plusieurs séries de vidéos YouTube.\n",
    "\n",
    "La documentation complète est disponible ici : \n",
    "https://docs.scipy.org/doc/numpy-1.15.0/reference/index.html"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Initiation à Numpy\n",
    "\n",
    "Python est un langage très complet et utilisé dans de nombreux domaines, du développement Web à la robotique.\n",
    "\n",
    "Dans cette série de TP, nous l'utiliserons pour le calcul mathématique et la  science des données.\n",
    "\n",
    "Les bibliothèques de prédilection pour le calcul mathématique en Python sont NumPy et Matplotlib. Pour nous familiariser avec ces bibliothèques, nous allons nous baser sur le tutoriel disponible ici : https://numpy.org/doc/stable/user/absolute_beginners.html.\n",
    "\n",
    "La plupart sinon toutes les réponses aux questions du TP sont disponibles dans ce tutoriel.\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Ex. 1 : Python et NumPy en quelques lignes\n",
    "Commencez par importer la bibliothèque numpy afin de pouvoir l'utiliser"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on _ArrayFunctionDispatcher in module numpy:\n",
      "\n",
      "argmax(a, axis=None, out=None, *, keepdims=<no value>)\n",
      "    Returns the indices of the maximum values along an axis.\n",
      "    \n",
      "    Parameters\n",
      "    ----------\n",
      "    a : array_like\n",
      "        Input array.\n",
      "    axis : int, optional\n",
      "        By default, the index is into the flattened array, otherwise\n",
      "        along the specified axis.\n",
      "    out : array, optional\n",
      "        If provided, the result will be inserted into this array. It should\n",
      "        be of the appropriate shape and dtype.\n",
      "    keepdims : bool, optional\n",
      "        If this is set to True, the axes which are reduced are left\n",
      "        in the result as dimensions with size one. With this option,\n",
      "        the result will broadcast correctly against the array.\n",
      "    \n",
      "        .. versionadded:: 1.22.0\n",
      "    \n",
      "    Returns\n",
      "    -------\n",
      "    index_array : ndarray of ints\n",
      "        Array of indices into the array. It has the same shape as `a.shape`\n",
      "        with the dimension along `axis` removed. If `keepdims` is set to True,\n",
      "        then the size of `axis` will be 1 with the resulting array having same\n",
      "        shape as `a.shape`.\n",
      "    \n",
      "    See Also\n",
      "    --------\n",
      "    ndarray.argmax, argmin\n",
      "    amax : The maximum value along a given axis.\n",
      "    unravel_index : Convert a flat index into an index tuple.\n",
      "    take_along_axis : Apply ``np.expand_dims(index_array, axis)``\n",
      "                      from argmax to an array as if by calling max.\n",
      "    \n",
      "    Notes\n",
      "    -----\n",
      "    In case of multiple occurrences of the maximum values, the indices\n",
      "    corresponding to the first occurrence are returned.\n",
      "    \n",
      "    Examples\n",
      "    --------\n",
      "    >>> a = np.arange(6).reshape(2,3) + 10\n",
      "    >>> a\n",
      "    array([[10, 11, 12],\n",
      "           [13, 14, 15]])\n",
      "    >>> np.argmax(a)\n",
      "    5\n",
      "    >>> np.argmax(a, axis=0)\n",
      "    array([1, 1, 1])\n",
      "    >>> np.argmax(a, axis=1)\n",
      "    array([2, 2])\n",
      "    \n",
      "    Indexes of the maximal elements of a N-dimensional array:\n",
      "    \n",
      "    >>> ind = np.unravel_index(np.argmax(a, axis=None), a.shape)\n",
      "    >>> ind\n",
      "    (1, 2)\n",
      "    >>> a[ind]\n",
      "    15\n",
      "    \n",
      "    >>> b = np.arange(6)\n",
      "    >>> b[1] = 5\n",
      "    >>> b\n",
      "    array([0, 5, 2, 3, 4, 5])\n",
      "    >>> np.argmax(b)  # Only the first occurrence is returned.\n",
      "    1\n",
      "    \n",
      "    >>> x = np.array([[4,2,3], [1,0,3]])\n",
      "    >>> index_array = np.argmax(x, axis=-1)\n",
      "    >>> # Same as np.amax(x, axis=-1, keepdims=True)\n",
      "    >>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1)\n",
      "    array([[4],\n",
      "           [3]])\n",
      "    >>> # Same as np.amax(x, axis=-1)\n",
      "    >>> np.take_along_axis(x, np.expand_dims(index_array, axis=-1), axis=-1).squeeze(axis=-1)\n",
      "    array([4, 3])\n",
      "    \n",
      "    Setting `keepdims` to `True`,\n",
      "    \n",
      "    >>> x = np.arange(24).reshape((2, 3, 4))\n",
      "    >>> res = np.argmax(x, axis=1, keepdims=True)\n",
      "    >>> res.shape\n",
      "    (2, 1, 4)\n",
      "\n"
     ]
    }
   ],
   "source": [
    "import numpy as np\n",
    "help(np.argmax)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculez $\\log(\\cos(1-(1+1)/2))$ avec NumPy"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.0"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.log(np.cos(1 - (1 + 1)/2 ))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Que fait l'instruction help ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on built-in function print in module builtins:\n",
      "\n",
      "print(...)\n",
      "    print(value, ..., sep=' ', end='\\n', file=sys.stdout, flush=False)\n",
      "    \n",
      "    Prints the values to a stream, or to sys.stdout by default.\n",
      "    Optional keyword arguments:\n",
      "    file:  a file-like object (stream); defaults to the current sys.stdout.\n",
      "    sep:   string inserted between values, default a space.\n",
      "    end:   string appended after the last value, default a newline.\n",
      "    flush: whether to forcibly flush the stream.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(print)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Permet d'obtenir de l'aide pour une fonction "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créez une variable `a` à laquelle vous affecterez le résultat du calcul $2*(3+ 2)$. Puis enlevez $1$ à la valeur de la variable `a`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "9"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = 2*(3+2);\n",
    "a = a-1\n",
    "a\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "En NumPy, les matrices et vecteurs sont representés par des variables de type np.array, dont le nombre de dimensions peut varier.\n",
    "\n",
    "Construisez un vecteur $v = (1, 2, −1, −2, 0, 5)$\n",
    "Vérifiez la taille et forme de ce vecteurs."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([ 1,  2, -1, -2,  0,  5])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "v = np.array([1,2,-1,-2,0,5])\n",
    "v"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "En mathématiques, il est important de distinguer les vecteurs colonnes des vecteurs lignes. Calculez un vecteur u correspondant à la version vecteur colonne de $v$. De même, construisez $w = u^\\top$. Essayez de le faire de plusieurs manières différentes afin de commencez à maitriser Numpy."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1]\n",
      " [ 2]\n",
      " [-1]\n",
      " [-2]\n",
      " [ 0]\n",
      " [ 5]]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(6, 1)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u = v.reshape(6,1)\n",
    "print(u)\n",
    "u.shape\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 1]\n",
      " [ 2]\n",
      " [-1]\n",
      " [-2]\n",
      " [ 0]\n",
      " [ 5]]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "(6, 1)"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u = v.reshape(6,-1)\n",
    "print(u)\n",
    "u.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(6, 1)"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u = v[:,np.newaxis]\n",
    "u.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 6)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "w = u.reshape(1,6)\n",
    "w.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(1, 6)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "w = u.T\n",
    "w.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1  2 -1 -2  0  5]\n",
      "[ 5 -2  2]\n"
     ]
    }
   ],
   "source": [
    "print(v)\n",
    "print(v[::-2])\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculez le vecteur de la différence $u^t − w$ (et vérifiez que $u = W^\n",
    "t$). Quelle est la nature mathématique de cet objet ? Essayez de calculer $u−w$. Pourquoi obtient-on cet objet ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[0 0 0 0 0 0]]\n",
      "[[ True]\n",
      " [ True]\n",
      " [ True]\n",
      " [ True]\n",
      " [ True]\n",
      " [ True]]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([[ 0, -1,  2,  3,  1, -4],\n",
       "       [ 1,  0,  3,  4,  2, -3],\n",
       "       [-2, -3,  0,  1, -1, -6],\n",
       "       [-3, -4, -1,  0, -2, -7],\n",
       "       [-1, -2,  1,  2,  0, -5],\n",
       "       [ 4,  3,  6,  7,  5,  0]])"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(u.T - w)\n",
    "print(u==w.T)\n",
    "u-w\n",
    "# le résultat calcule une matrice"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "7. Extrayez la valeur de la deuxième composante des vecteur $u$ et $w$. Affectez à la variable $b$ la valeur de la dernière composante du vecteur $u$. Affectez à la variable $n$ la taille du vecteur $u$ (car $u \\in \\mathbb{R}^n$)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "u[1,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "w[0,1]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = u[-1,0]\n",
    "b"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "n = u.shape[0]\n",
    "n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créez un vecteur $x = (v(0), v(5), v(2))$. Calculez la somme des éléments de $x$. (en cas de doute sur la nature d’une fonction, faites `help(np.sum)`)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1  5 -1]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "5"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = v[[0,5,2]]\n",
    "print(x)\n",
    "np.sum(x)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créez un vecteur $y = (v(1), . . . , v(4))$, un vecteur avec 4 éléments, en utilisant des slices."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ 1  2 -1 -2  0  5]\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "array([ 2, -1, -2,  0])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print(v)\n",
    "y = v[1:5]\n",
    "y"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculez la somme cumulée des éléments du vecteur $u$. Quelle est la taille de cet object ? Affectez le résultat de ce calcul à une nouvelle variable $c$. Que signifie RTFM ?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[1 3 2 0 0 5]\n"
     ]
    }
   ],
   "source": [
    "print(u.cumsum())\n",
    "c=u.cumsum()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    " Créez un nouveau vecteur $t=(1,1,1,0,0,−1,−1,1,1,1)$. Que fait l’instruction diff(t)? (Si vous n’avez pas fait help(diff) c’est que quelque chose vous échappe)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [],
   "source": [
    "t = np.array((1,1,1,0,0,-1,-1,1,1,1))\n",
    "np.diff(t)\n",
    "len(t), len(np.diff(t))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Calculez les modalités de t dans une variable m."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1,  0,  1])"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "m = np.unique(t)\n",
    "m"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Que fait l’instruction t==m[0] ? Comptez les effectifs de chaque modalité de t\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 55,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(t==m[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "2"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(t==m[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "6"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.sum(t==m[2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Refaire la même chose avec une boucle en utilisant l’instruction for. vérifiez que les résultats sont bien les mêmes."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "2\n",
      "2\n",
      "6\n"
     ]
    }
   ],
   "source": [
    "for i in range(3):\n",
    "    print(np.sum(t==m[i]))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créez la matrice\n",
    "$A = \\begin{pmatrix}\n",
    "1 & 2 & 3\\\\\n",
    "4 & 5 & 6\\\\\n",
    "−1 & 0 & 1\\\\\n",
    "1 & 1 & 2\n",
    "\\end{pmatrix}$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 1,  2,  3],\n",
       "       [ 4,  5,  6],\n",
       "       [-1,  0,  1],\n",
       "       [ 1,  1,  2]])"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A = np.array([\n",
    "    [1, 2, 3],\n",
    "    [4, 5, 6],\n",
    "    [-1, 0, 1],\n",
    "    [1, 1, 2]\n",
    "])\n",
    "A"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Quelle est la deuxième colonne de A ? Créez un vecteur s composé de la troisième ligne de A."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "A[0,0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([-1,  0,  1])"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "s = A[2, :]\n",
    "s"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Matplotlib"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Afin de vous familiariser avec matplotlib, voici quelques exercices simples. \n",
    "\n",
    "Pour référence, vous pouvez utiliser : \n",
    " * Un cheatsheet simplifié : https://matplotlib.org/cheatsheets/handout-beginner.pdf\n",
    " * Un premier tutoriel : https://matplotlib.org/stable/tutorials/pyplot.html\n",
    " * Un tutoriel plus avancé : https://github.com/rougier/matplotlib-tutorial\n",
    " * la référence ultime (et complexe ) : https://github.com/rougier/scientific-visualization-book\n",
    "\n",
    "\n",
    "Créer un vecteur contenant 60 valeurs également réparties croissantes dans l'intervalle $[0, 2\\pi]$.\n",
    "\n",
    "Que fait l’instruction plt.plot(t) ?\n",
    "Expliquez la différence entre plt.plot(a) et plt.plot(a,b)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([0.        , 0.10649467, 0.21298933, 0.319484  , 0.42597866,\n",
       "       0.53247333, 0.638968  , 0.74546266, 0.85195733, 0.958452  ,\n",
       "       1.06494666, 1.17144133, 1.27793599, 1.38443066, 1.49092533,\n",
       "       1.59741999, 1.70391466, 1.81040933, 1.91690399, 2.02339866,\n",
       "       2.12989332, 2.23638799, 2.34288266, 2.44937732, 2.55587199,\n",
       "       2.66236666, 2.76886132, 2.87535599, 2.98185065, 3.08834532,\n",
       "       3.19483999, 3.30133465, 3.40782932, 3.51432399, 3.62081865,\n",
       "       3.72731332, 3.83380798, 3.94030265, 4.04679732, 4.15329198,\n",
       "       4.25978665, 4.36628132, 4.47277598, 4.57927065, 4.68576531,\n",
       "       4.79225998, 4.89875465, 5.00524931, 5.11174398, 5.21823864,\n",
       "       5.32473331, 5.43122798, 5.53772264, 5.64421731, 5.75071198,\n",
       "       5.85720664, 5.96370131, 6.07019597, 6.17669064, 6.28318531])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = np.array(np.linspace(0, 2*np.pi, 60))\n",
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x745ba3dffd30>]"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt \n",
    "plt.plot(np.sin(t.T)[::10])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x745ba3e72320>]"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(np.sin(t.T),np.cos(t.T),'o')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créer un graphique en barres du vecteur $a$."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = [1,2,3,4,5]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<BarContainer object of 5 artists>"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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Due9Opz36qjE39f/fN9SqfTpO5bK8M4775QiovTGG29M2/6d73yndO+9937ia/bs2VOKCIvFYrFYLHNgGR4e/tRWKOuKxUx0dnbGrl27ptYnJyfjH//4RyxdujTq6uoqffiqGxsbi5aWlhgeHo6GhoZqjzNvOO/V4bxXh/M+++bjOS+VSnHx4sVoamr61P3KCosvfOELsWDBgnjvvfembX/vvffi1ltv/cTXFAqFKBQK07bddNNN5Rx2TmhoaJg3//FdS5z36nDeq8N5n33z7Zw3NjZ+5j5l3by5aNGiWLduXbz22mtT2yYnJ+O1116Ltra28icEAOaUsj8K2bVrV7S3t8c999wT9957bzz33HMxMTER27dvr8R8AEANKTssvv71r8f7778f3/ve9+LChQtx9913x6uvvhq33HJLJeareYVCIfbs2fOxj4OoLOe9Opz36nDeZ59zfnl1pc/83ggAwJXxrBAAII2wAADSCAsAII2wAADSCIsK8nj52dff3x9btmyJpqamqKurixdffLHaI8153d3dsX79+qivr49ly5bF1q1b46233qr2WHPe/v37o7W1deoHmtra2uLIkSPVHmve6enpibq6uti5c2e1R7lmCIsK8Xj56piYmIg1a9bEvn37qj3KvNHX1xcdHR1x4sSJOHbsWHz44Yfx6KOPxsTERLVHm9Oam5ujp6cnBgcH4+TJk/HQQw/FY489Fm+++Wa1R5s3BgYG4sCBA9Ha2lrtUa4pvm5aIffdd1+sX78+9u7dGxEf/UJpS0tLPPXUU7F79+4qTzc/1NXVxeHDh2Pr1q3VHmVeef/992PZsmXR19cXDzzwQLXHmVeWLFkSP/zhD+PJJ5+s9ihz3vj4eKxduzZ+9KMfxfe///24++6747nnnqv2WNcEVywq4N+Pl9+4cePUts96vDzMFaOjoxHx0R85ZselS5eit7c3JiYmPF5hlnR0dMTmzZun/X+ej1T86abz0d/+9re4dOnSx36N9JZbbok//vGPVZoKKm9ycjJ27twZ999/f6xevbra48x5p0+fjra2tvjggw/ixhtvjMOHD8eqVauqPdac19vbG6dOnYqBgYFqj3JNEhZAmo6Ojjhz5kz85je/qfYo88LKlStjaGgoRkdH41e/+lW0t7dHX1+fuKig4eHhePrpp+PYsWOxePHiao9zTRIWFTCTx8tDrduxY0e8/PLL0d/fH83NzdUeZ15YtGhR3HHHHRERsW7duhgYGIjnn38+Dhw4UOXJ5q7BwcEYGRmJtWvXTm27dOlS9Pf3x969e6NYLMaCBQuqOGH1uceiAjxenvmkVCrFjh074vDhw/H666/H7bffXu2R5q3JyckoFovVHmNOe/jhh+P06dMxNDQ0tdxzzz2xbdu2GBoamvdREeGKRcV4vHx1jI+Px9mzZ6fW33777RgaGoolS5bE8uXLqzjZ3NXR0RGHDh2Kl156Kerr6+PChQsREdHY2BjXX399laebuzo7O2PTpk2xfPnyuHjxYhw6dCiOHz8eR48erfZoc1p9ff3H7h+64YYbYunSpe4r+j/CokI8Xr46Tp48GQ8++ODU+q5duyIior29PQ4ePFilqea2/fv3R0TEhg0bpm3/+c9/Ht/4xjdmf6B5YmRkJJ544ok4f/58NDY2Rmtraxw9ejQeeeSRao/GPOd3LACANO6xAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAIM3/AppReggsoPaWAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.bar(np.arange(5), a)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Créer un histogramme du vecteur $a$ de la prochaine cellule. Quelle forme attendez vous ? "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [],
   "source": [
    "a = np.random.randn(1000)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([  7.,  21.,  66., 161., 257., 247., 153.,  63.,  22.,   3.]),\n",
       " array([-3.25822759, -2.59684677, -1.93546595, -1.27408513, -0.61270431,\n",
       "         0.04867651,  0.71005732,  1.37143814,  2.03281896,  2.69419978,\n",
       "         3.3555806 ]),\n",
       " <BarContainer object of 10 artists>)"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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oDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4PQ6UNWvW5OKLL86YMWMyYMCAPPzww922VyqV3HrrrRk9enSGDh2aadOm5be//W23fXbu3JlLL7009fX1GTFiRK688sq8/fbbH+uFAAD9R48DZffu3Zk0aVLuu+++A26/8847873vfS8LFy7MunXrctRRR2XGjBl55513qvtceuml2bhxY1auXJnly5dnzZo1ufrqqw/+VQAA/crgnt5h5syZmTlz5gG3VSqV3HPPPbnlllvypS99KUnyox/9KE1NTXn44YdzySWX5De/+U1WrFiRp59+OmeccUaS5N57781FF12Uu+66K2PGjPkYLwcA6A8O6TUoL730Utrb2zNt2rTquoaGhkyZMiVr165NkqxduzYjRoyoxkmSTJs2LQMHDsy6desO+Lh79uxJZ2dntwUA6L8OaaC0t7cnSZqamrqtb2pqqm5rb2/PqFGjum0fPHhwGhsbq/v8XwsWLEhDQ0N1GTt27KEcGwAoTJ/4FM/8+fPT0dFRXV555ZVajwQA9KJDGijNzc1Jku3bt3dbv3379uq25ubm7Nixo9v2d999Nzt37qzu83/V1dWlvr6+2wIA9F+HNFAmTJiQ5ubmrFq1qrqus7Mz69atS0tLS5KkpaUlu3btyvr166v7PPbYY+nq6sqUKVMO5TgAQB/V40/xvP3229m8eXP19ksvvZQNGzaksbEx48aNy/XXX5+/+Zu/yR/8wR9kwoQJ+da3vpUxY8Zk9uzZSZKTTz45F154Ya666qosXLgw+/bty7x583LJJZf4BA8AkOQgAuWZZ57J+eefX73d1taWJJk7d24WL16cb3zjG9m9e3euvvrq7Nq1K+eee25WrFiRI488snqfBx54IPPmzcsFF1yQgQMHZs6cOfne9753CF4OANAfDKhUKpVaD9FTnZ2daWhoSEdHh+tR+EQdf/NPaz0CHDIv3zGr1iNwmOnJ7+8+8SkeAODwIlAAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACjO4FoPwOHr+Jt/WusRACiUMygAQHEECgBQHIECABTHNSgAh6m+eB3Yy3fMqvUIfEKcQQEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAinPIA+Xb3/52BgwY0G056aSTqtvfeeedtLa25phjjsnRRx+dOXPmZPv27Yd6DACgD+uVMyh/+Id/mNdff726/PKXv6xuu+GGG/LII4/kJz/5SVavXp1t27bly1/+cm+MAQD0UYN75UEHD05zc/P71nd0dORf/uVfsmTJknzhC19IkixatCgnn3xynnrqqZx99tm9MQ4A0Mf0yhmU3/72txkzZkxOOOGEXHrppdm6dWuSZP369dm3b1+mTZtW3fekk07KuHHjsnbt2g98vD179qSzs7PbAgD0X4c8UKZMmZLFixdnxYoVuf/++/PSSy/lj/7oj/LWW2+lvb09Q4YMyYgRI7rdp6mpKe3t7R/4mAsWLEhDQ0N1GTt27KEeGwAoyCF/i2fmzJnVf5922mmZMmVKxo8fnx//+McZOnToQT3m/Pnz09bWVr3d2dkpUgCgH+v1jxmPGDEin/nMZ7J58+Y0Nzdn79692bVrV7d9tm/ffsBrVt5TV1eX+vr6bgsA0H/1eqC8/fbb2bJlS0aPHp3JkyfniCOOyKpVq6rbN23alK1bt6alpaW3RwEA+ohD/hbPX/3VX+Xiiy/O+PHjs23bttx2220ZNGhQvva1r6WhoSFXXnll2tra0tjYmPr6+lx33XVpaWnxCR4AoOqQB8qrr76ar33ta3nzzTczcuTInHvuuXnqqacycuTIJMndd9+dgQMHZs6cOdmzZ09mzJiR73//+4d6DACgDxtQqVQqtR6ipzo7O9PQ0JCOjg7Xo/Rhx9/801qPAPQxL98xq9Yj8DH05Pe3v8UDABRHoAAAxREoAEBxBAoAUByBAgAUR6AAAMURKABAcQQKAFAcgQIAFEegAADFESgAQHEECgBQHIECABRHoAAAxREoAEBxBAoAUByBAgAUR6AAAMURKABAcQQKAFAcgQIAFEegAADFESgAQHEECgBQHIECABRHoAAAxREoAEBxBAoAUByBAgAUR6AAAMURKABAcQbXegAA+H0df/NPaz1Cj718x6xaj9AnOYMCABTHGZR+oi/+XwUAfBBnUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOAIFACiOQAEAiiNQAIDiCBQAoDgCBQAojkABAIojUACA4ggUAKA4AgUAKI5AAQCKI1AAgOIIFACgOINrPUCJjr/5p7UeAQAOa86gAADFESgAQHEECgBQHIECABSnphfJ3nffffnud7+b9vb2TJo0Kffee2/OOuusWo4EAIdUX/3gxct3zKrp89fsDMpDDz2Utra23Hbbbfn1r3+dSZMmZcaMGdmxY0etRgIAClGzQPmHf/iHXHXVVbniiisyceLELFy4MMOGDcu//uu/1mokAKAQNXmLZ+/evVm/fn3mz59fXTdw4MBMmzYta9eufd/+e/bsyZ49e6q3Ozo6kiSdnZ29Ml/Xnv/tlccFgL6iN37HvveYlUrlI/etSaD87ne/y/79+9PU1NRtfVNTU1588cX37b9gwYLcfvvt71s/duzYXpsRAA5nDff03mO/9dZbaWho+NB9+sQ3yc6fPz9tbW3V211dXdm5c2eOOeaYDBgwoIaTHVhnZ2fGjh2bV155JfX19bUep+Ycj/dzTLpzPLpzPLpzPLrry8ejUqnkrbfeypgxYz5y35oEyrHHHptBgwZl+/bt3dZv3749zc3N79u/rq4udXV13daNGDGiN0c8JOrr6/vcD09vcjzezzHpzvHozvHozvHorq8ej486c/KemlwkO2TIkEyePDmrVq2qruvq6sqqVavS0tJSi5EAgILU7C2etra2zJ07N2eccUbOOuus3HPPPdm9e3euuOKKWo0EABSiZoHyJ3/yJ3njjTdy6623pr29PZ/73OeyYsWK91042xfV1dXltttue9/bUocrx+P9HJPuHI/uHI/uHI/uDpfjMaDy+3zWBwDgE+Rv8QAAxREoAEBxBAoAUByBAgAUR6B8Ar74xS9m3LhxOfLIIzN69Ohcdtll2bZtW63HqomXX345V155ZSZMmJChQ4fmxBNPzG233Za9e/fWerSa+du//dt8/vOfz7Bhw/rEFxAeavfdd1+OP/74HHnkkZkyZUp+9atf1XqkmlmzZk0uvvjijBkzJgMGDMjDDz9c65FqasGCBTnzzDMzfPjwjBo1KrNnz86mTZtqPVbN3H///TnttNOqX9DW0tKSn/3sZ7Ueq9cIlE/A+eefnx//+MfZtGlT/uM//iNbtmzJV77ylVqPVRMvvvhiurq68oMf/CAbN27M3XffnYULF+ab3/xmrUermb179+arX/1qrr322lqP8ol76KGH0tbWlttuuy2//vWvM2nSpMyYMSM7duyo9Wg1sXv37kyaNCn33XdfrUcpwurVq9Pa2pqnnnoqK1euzL59+zJ9+vTs3r271qPVxHHHHZc77rgj69evzzPPPJMvfOEL+dKXvpSNGzfWerTeUeETt2zZssqAAQMqe/furfUoRbjzzjsrEyZMqPUYNbdo0aJKQ0NDrcf4RJ111lmV1tbW6u39+/dXxowZU1mwYEENpypDksrSpUtrPUZRduzYUUlSWb16da1HKcanPvWpyj//8z/Xeoxe4QzKJ2znzp154IEH8vnPfz5HHHFErccpQkdHRxobG2s9Bp+wvXv3Zv369Zk2bVp13cCBAzNt2rSsXbu2hpNRqo6OjiTx34sk+/fvz4MPPpjdu3f32z8RI1A+ITfddFOOOuqoHHPMMdm6dWuWLVtW65GKsHnz5tx77735i7/4i1qPwifsd7/7Xfbv3/++b49uampKe3t7jaaiVF1dXbn++utzzjnn5JRTTqn1ODXz3HPP5eijj05dXV2uueaaLF26NBMnTqz1WL1CoBykm2++OQMGDPjQ5cUXX6zuf+ONN+Z//ud/8uijj2bQoEG5/PLLU+lHX+Lb0+ORJK+99louvPDCfPWrX81VV11Vo8l7x8EcD+CDtba25vnnn8+DDz5Y61Fq6rOf/Ww2bNiQdevW5dprr83cuXPzwgsv1HqsXuGr7g/SG2+8kTfffPND9znhhBMyZMiQ961/9dVXM3bs2Dz55JP95tRcT4/Htm3bMnXq1Jx99tlZvHhxBg7sX618MD8fixcvzvXXX59du3b18nRl2Lt3b4YNG5Z///d/z+zZs6vr586dm127dh32ZxkHDBiQpUuXdjs2h6t58+Zl2bJlWbNmTSZMmFDrcYoybdq0nHjiifnBD35Q61EOuZr9scC+buTIkRk5cuRB3berqytJsmfPnkM5Uk315Hi89tprOf/88zN58uQsWrSo38VJ8vF+Pg4XQ4YMyeTJk7Nq1arqL+Gurq6sWrUq8+bNq+1wFKFSqeS6667L0qVL88QTT4iTA+jq6upXv0v+XwKll61bty5PP/10zj333HzqU5/Kli1b8q1vfSsnnnhivzl70hOvvfZapk6dmvHjx+euu+7KG2+8Ud3W3Nxcw8lqZ+vWrdm5c2e2bt2a/fv3Z8OGDUmST3/60zn66KNrO1wva2try9y5c3PGGWfkrLPOyj333JPdu3fniiuuqPVoNfH2229n8+bN1dsvvfRSNmzYkMbGxowbN66Gk9VGa2trlixZkmXLlmX48OHVa5MaGhoydOjQGk/3yZs/f35mzpyZcePG5a233sqSJUvyxBNP5Oc//3mtR+sdtf0QUf/37LPPVs4///xKY2Njpa6urnL88cdXrrnmmsqrr75a69FqYtGiRZUkB1wOV3Pnzj3g8Xj88cdrPdon4t57762MGzeuMmTIkMpZZ51Veeqpp2o9Us08/vjjB/xZmDt3bq1Hq4kP+m/FokWLaj1aTfz5n/95Zfz48ZUhQ4ZURo4cWbngggsqjz76aK3H6jWuQQEAitP/3vwHAPo8gQIAFEegAADFESgAQHEECgBQHIECABRHoAAAxREoAEBxBAoAUByBAgAUR6AAAMURKABAcf4/0se74FiKAOIAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.hist(a)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "À partir des données de la cellule suivante, nous allons faire un plot avec un rendu propre et fini. \n",
    " 1. Créer une figure avec deux subplots. Utilisez `plt.subplots()`\n",
    " 2. Tracer la spirale avec un scatter plot sur le premier subplot. Utilisez les séries de données $x$ et $y$.\n",
    " 4. Ajoutez un titre à ce premier subplot\n",
    " 5. Ajoutez des étiquettes sur les axes.\n",
    " 6. Ajoutez une légende pour les couleurs.\n",
    " 7. Répetez les étapes pour tracer le cercle et changez la colormap pour 'plasma'.\n",
    " 8. Ajoutez les couleurs sur le cercle en fonction de `phi`\n",
    " 8. Sauvegardez l'image en format svg\n",
    "\n",
    " \n",
    "\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [],
   "source": [
    "theta = np.linspace(0, 4 * np.pi, 100)\n",
    "z = np.linspace(0, 1, 100)\n",
    "r = z**2\n",
    "x = r * np.sin(theta)\n",
    "y = r * np.cos(theta)\n",
    "\n",
    "phi = np.linspace(0, 2 * np.pi, 100)\n",
    "x_circle = np.cos(phi)\n",
    "y_circle = np.sin(phi)\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "tags": [
     "correction"
    ]
   },
   "outputs": [
    {
     "data": {
      "image/png": "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Hv/qUMeieL1797bbduutt9YoiteY/6cOY2vwK8kmOTlZ9u/fX27btk3+9NNPslu3bnbLj5w8eVJ2795dbtu2TUopZUVFhezatascNmyY3LZtmzx69KhcvHixFELIL7/80ldvo1HqewyktFaujIyMlJ988ok8cuSIfOKJJ6ROp5NHjx71xVtotIYcg0vV5WThz+p7DPLz8+WgQYNknz595NGjR+2WIDGbzb56G3W2evVqGRISIt99912ZkZEh77rrLhkVFWWrknz77bfLxx57zNZ+69atUqvVysWLF8uDBw/K+fPnN4ll6+pzDJ5//nkZHBws16xZY/f/u/rSV4GmvsfgUqxyH3h+//13uXv3btvSbbt375a7d++2+zvu3r27/PTTT22Pn3/+eRkVFSU///xzuW/fPjlx4kSHy9a5Ooe6S0OvV0eOHJFCCPn111/X2Oe6devksmXL5P79++WRI0fkf/7zH6nX6+VTTz3l8/iPHj0qn376abljxw6ZlZUlP//8c9m5c2d59dVX215TtWzdmDFj5J49e2RKSoqMjY312LJ17r5Weur4e+I6V5fPgru4+xpVWFgo//a3v8nU1FSZlZUlN27cKAcMGCC7devmkWWX6xv/woUL5TfffCMzMzPlzp075ZQpU6ROp5MHDhywe4/+evyrDB06VN5yyy01tnv7+BcWFtrO7wDkSy+9JHfv3i1///13KaWUjz32mLz99ttt7auWrXvkkUfkwYMH5dKlSx0uW+fqmDQEE3o3OHfunLz11ltleHi4jIyMlDNnzrS7qGdlZUkA8vvvv7dt+/XXX+WkSZNkXFyc1Ov1sm/fvjWWsQskDTkGUkr53HPPybZt20q9Xi8HDx4st2zZ4uXI3aehx6C6QE/o63sMvv/+ewnA4U9WVpZv3kQ9LVmyRLZv314GBwfLpKQk+csvv9ieGz58uLzjjjvs2n/88cfysssuk8HBwbJXr14BexOvuvocgw4dOjj8/z1//nzvB+5G9f07qI4JfeC54447HP4dVz+/o3JN8Cqqqsonn3xStmrVSoaEhMiRI0fKw4cP2+23tnOouzT0ejVv3jzZrl07abFYauzz66+/lomJiTI8PFyGhYXJfv36yTfeeMNhW2/Hf/z4cXn11VfL6OhoGRISIrt27SofeeQRu3XopZTy2LFjcty4cTI0NFTGxMTIhx9+2CNLqHriWunJ4+/u61xdPgvu5M5rVElJiRwzZoyMjY2VQUFBskOHDnL27NmNSsbcGf9f//pXW9tWrVrJ8ePHy127dtntz5+Pv5RSHjp0SAKQ3377bY19efv4O/vsVcV8xx13yOHDh9d4TWJiogwODpadO3e2uw5UcXVMGkJI6eb1RIiIiIiIiIjI41jlnoiIiIiIiCgAMaEnIiIiIiIiCkBM6ImIiIiIiIgCEBN6IiIiIiIiogDEhJ6IiIiIiIgoADGhJyIiIiIiIgpATOiJiIiIiIiIAhATeiIiIiIiIqIAxISeiIiIiIiIKAAxoScij7FYLBgyZAgmTZpktz0/Px/t2rXD448/7qPIiIiIyB14rSfyLSGllL4Ogoiarl9//RWJiYlYtmwZpk6dCgCYPn069u7di+3btyM4ONjHERIREVFj8FpP5DtM6InI41577TUsWLAABw4cQFpaGm666SZs374d/fr183VoRERE5Aa81hP5BhN6IvI4KSVGjBgBjUaD/fv347777sMTTzzh67CIiIjITXitJ/INJvRE5BWHDh1Cz5490adPH+zatQtardbXIREREZEb8VpP5H0sikdEXrFixQro9XpkZWXh5MmTvg6HiIiI3IzXeiLvYw89EXnczz//jOHDh+Pbb7/FP//5TwDAxo0bIYTwcWRERETkDrzWE/kGe+iJyKNKSkowY8YMzJkzB9deey2WL1+OtLQ0vPHGG74OjYiIiNyA13oi32EPPRF51AMPPICvvvoKe/fuhV6vBwC8+eab+Nvf/ob9+/ejY8eOvg2QiIiIGoXXeiLfYUJPRB7zww8/YOTIkdi8eTOGDh1q99zYsWNhNps5HI+IiCiA8VpP5FtM6ImIiIiIiIgCEOfQExEREREREQUgJvREREREREREAYgJPREREREREVEAYkJPREREREREFICY0BMREREREREFICb0RERERERERAGICT0RERERERFRAGJCT0RERERERBSAmNATERERERERBSAm9EREREREREQBiAk9ERERERERUQD6f2EtUx1MJ3o5AAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1200x600 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\n",
    "# Generate first point cloud (e.g., a spiral)\n",
    "theta = np.linspace(0, 4 * np.pi, 100)\n",
    "z = np.linspace(0, 1, 100)\n",
    "r = z**2\n",
    "x = r * np.sin(theta)\n",
    "y = r * np.cos(theta)\n",
    "\n",
    "# Generate second point cloud (e.g., a circle)\n",
    "phi = np.linspace(0, 2 * np.pi, 100)\n",
    "x_circle = np.cos(phi)\n",
    "y_circle = np.sin(phi)\n",
    "\n",
    "# Plot the point clouds\n",
    "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 6))\n",
    "\n",
    "# Plot the spiral\n",
    "ax1.scatter(x, y, label='my points')\n",
    "ax1.set_title('Spiral Point Cloud')\n",
    "ax1.set_xlabel('X')\n",
    "ax1.set_ylabel('Y')\n",
    "ax1.legend()\n",
    "\n",
    "# Plot the circle\n",
    "ax2.scatter(x_circle, y_circle, c=phi, cmap='plasma')\n",
    "ax2.set_title('Circle Point Cloud')\n",
    "ax2.set_xlabel('X')\n",
    "ax2.set_ylabel('Y')\n",
    "\n",
    "plt.savefig('point_clouds.svg')\n",
    "\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Conclusion\n",
    "\n",
    "Pour conclure ce TP d'introduction à Numpy, suivez bien l'ensemble du tutoriel présenté au début : https://numpy.org/doc/stable/user/absolute_beginners.html\n",
    "\n",
    "\n",
    "Pour aller plus loin : \n",
    "- https://numpy.org/doc/stable/user/basics.html\n",
    "- Des exercices : https://github.com/rougier/numpy-100/blob/master/100_Numpy_exercises.ipynb\n",
    "- et encore plus loin : https://www.labri.fr/perso/nrougier/from-python-to-numpy/"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "venvm8-ioPrAr7d-py3.10",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.12"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
