{ "cells": [ { "cell_type": "markdown", "id": "f6fd6083-f549-46d6-b1ce-484ab7dbd226", "metadata": { "tags": [] }, "source": [ "## MT09 - TP1 - Automne 2024\n", "### Prise en main de Python/Numpy/Matplotlib (pas d'évaluation)\n", "#### Arrays\n", "1. Éxécutez les différents scripts python ci-dessous (bouton \"play\" ou touches Shift+Enter pour exécuter les cellules) et interprétez les résultats:" ] }, { "cell_type": "code", "execution_count": 5, "id": "8e75fcae-4bea-4969-a465-2c95ca6eaf1e", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[0 1 2 3 4 5 6 7 8 9]\n", "[1 2 3 4 5 6]\n", "[9 8 7 6 5 4 3 2 1 0]\n", "w= [9 8 7 6 5 4 3 2 1]\n", "[0. 0.5 1. 1.5 2. 2.5 3. 3.5]\n", "[-10. -7.77777778 -5.55555556 -3.33333333 -1.11111111\n", " 1.11111111 3.33333333 5.55555556 7.77777778 10. ]\n" ] } ], "source": [ "import numpy as np\n", "x = np.arange(10)\n", "print(x)\n", "y = np.arange(1,7)\n", "print(y)\n", "z = np.arange(10)[::-1]\n", "print(z)\n", "w = x[19:0:-1]\n", "print('w= ',w)\n", "t = np.arange(0, 4, 0.5)\n", "print(t)\n", "a = -10; b = 10;\n", "u = np.linspace(a, b, 10);\n", "print(u)" ] }, { "cell_type": "code", "execution_count": null, "id": "5445b2f4-6213-49b9-b473-2f28155357f8", "metadata": { "tags": [] }, "outputs": [], "source": [ "help(np.linspace)" ] }, { "cell_type": "code", "execution_count": 6, "id": "1c6b7f22-8900-4cfc-aad8-fc8d8ef84b95", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-10.0\n", "hello\n", "-7.777777777777778\n", "hello\n", "-5.555555555555555\n", "hello\n", "-3.333333333333333\n", "hello\n", "-1.1111111111111107\n", "hello\n", "1.1111111111111107\n", "hello\n", "3.333333333333334\n", "hello\n", "5.555555555555557\n", "hello\n", "7.777777777777779\n", "hello\n", "10.0\n", "hello\n", "fin boucle\n" ] } ], "source": [ "for s in u:\n", " print(s)\n", " print('hello')\n", "print('fin boucle')\n", "# Attention : bien respecter les tabulations pour la portée du 'for\"" ] }, { "cell_type": "code", "execution_count": 7, "id": "8791b41c-2c02-4af4-a1a3-cbf897e2651b", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.1111111111111107\n", "3.333333333333334\n", "5.555555555555557\n", "7.777777777777779\n", "10.0\n", "Done !\n", "\n" ] } ], "source": [ "for s in u:\n", " if (s>0):\n", " print(s)\n", "print(\"Done !\\n\");" ] }, { "cell_type": "markdown", "id": "6d3cec60-a356-4de0-8221-c920bba3a8b6", "metadata": {}, "source": [ "#### Opérations sur vecteurs\n", "\n", "2. Éxécutez les différents codes python ci-dessous (Shift+Enter pour exécuter) et analysez les résultats obtenus:" ] }, { "cell_type": "code", "execution_count": 8, "id": "b770ac94-6d48-4363-a9d6-8648dd15ca61", "metadata": { "tags": [] }, "outputs": [], "source": [ "import numpy as np\n", "x = np.array([1, 2, 3], dtype=np.float64)\n", "y = np.array([3, -2, 1], dtype=np.float64)" ] }, { "cell_type": "code", "execution_count": 9, "id": "606697ab-90c4-4dbf-aaef-d6214b5d9f37", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 3. -4. 3.]\n" ] } ], "source": [ "print(x*y)" ] }, { "cell_type": "code", "execution_count": 10, "id": "4fad0f0c-c81f-469a-b79f-ddaec78fb360", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[2. 4. 6.]\n" ] } ], "source": [ "print(2*x)" ] }, { "cell_type": "code", "execution_count": 12, "id": "0c46b7f5-b19e-4db1-bf51-21c04c191be6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.0\n" ] } ], "source": [ "print(y@x)" ] }, { "cell_type": "code", "execution_count": 13, "id": "310cc461-38be-4015-b636-8c52c2cdaa52", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "2.0\n", "2.0\n" ] } ], "source": [ "print(y@x)\n", "print(x @ y.T)" ] }, { "cell_type": "code", "execution_count": 14, "id": "4d961ddf-a4f7-4703-9e93-d5f3ff1fe7c6", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1.]\n", " [2.]\n", " [3.]]\n", "[[ 3.]\n", " [-2.]\n", " [ 1.]]\n", "[[1. 2. 3.]]\n" ] } ], "source": [ "x.shape=(3,1); y.shape=(3,1);\n", "print(x)\n", "print(y)\n", "print(x.T)" ] }, { "cell_type": "code", "execution_count": 15, "id": "9f249f4b-39a7-44f6-bf14-793866682766", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[2.]]\n" ] }, { "data": { "text/plain": [ "(1, 1)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "z = y.T @ x\n", "print(z)\n", "z.shape" ] }, { "cell_type": "code", "execution_count": null, "id": "c4ccdace-be3d-4868-84e0-e29aa7699eb8", "metadata": { "tags": [] }, "outputs": [], "source": [ "x = np.array([[1,2,3]]).T\n", "y = np.array([[4,5,6]]).T\n", "print(x.T@y)\n", "print( float(x.T@y) )\n", "print(x@y.T)\n", "A = np.array([[2,-1,0],[-1,2,-1],[0,-1,2]])\n", "print(x.T@A@x)\n", "x = np.array([1,2,3])\n", "print(x@A@x)" ] }, { "cell_type": "code", "execution_count": null, "id": "6f8a186b-c42a-4c50-a298-4881bb7a6fae", "metadata": {}, "outputs": [], "source": [ "print(x @ y.T)" ] }, { "cell_type": "markdown", "id": "898e7836-79b2-48da-9ae7-70043876fd73", "metadata": {}, "source": [ "#### ! Références et copies\n", "3. Éxécuter le code python ci-dessous et comprendre ce qui se passe:" ] }, { "cell_type": "code", "execution_count": 5, "id": "63d71a80-dcd7-423d-a587-166c711d3178", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[5. 2. 3.]\n", "[ 1. 2. -1.]\n", "[5. 2. 3.] \n", "\n" ] } ], "source": [ "import numpy as np\n", "x = np.array([1, 2, 3], dtype=np.float64)\n", "y = x\n", "z = x.copy()\n", "z[2] = -1\n", "y[0] = 5\n", "print(y)\n", "print(z)\n", "print(x,\"\\n\")" ] }, { "cell_type": "code", "execution_count": 6, "id": "a829894d-31ad-4293-b01a-23d7822ed4b4", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1. 6. 3.]\n", "[1. 2. 3.] \n", "\n" ] } ], "source": [ "x = np.array([1, 2, 3], dtype=np.float64)\n", "z = x + 0\n", "z[1] = 6\n", "print(z)\n", "print(x,\"\\n\")" ] }, { "cell_type": "code", "execution_count": null, "id": "2c3c2b11-f6f7-4b0e-8452-f75745833f25", "metadata": { "tags": [] }, "outputs": [], "source": [ "x = np.array([1, 2, 3], dtype=np.float64)\n", "y = 2*x\n", "print(y)\n", "print(x,\"\\n\")\n", "z = x.copy()\n", "z[0] = 5\n", "print(z)\n", "print(x)" ] }, { "cell_type": "markdown", "id": "4b755297-07b0-4381-bb21-90db676f4d7d", "metadata": {}, "source": [ "#### Matrices, multiplications de matrices\n", "4. Éxécutez les différents codes python ci-dessous et analysez les résultats:" ] }, { "cell_type": "code", "execution_count": 16, "id": "06f39ebe-af65-4837-9278-ae51bfb4611b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(3,)\n", "[1. 2. 3.]\n", "[[1.]\n", " [2.]\n", " [3.]]\n", "(3, 1)\n" ] } ], "source": [ "x = np.array([1, 2, 3], dtype=np.float64) # tableau (array 1d)\n", "print(x.shape)\n", "print(x) # tableau\n", "print(x[:, np.newaxis]) # matrice (vecteur colonne)\n", "x = x[:, np.newaxis]\n", "print(x.shape)" ] }, { "cell_type": "code", "execution_count": 17, "id": "c5983b77-90fa-4900-abe7-e5d281c1886c", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 2.]\n", " [3. 4.]\n", " [5. 6.]\n", " [7. 8.]]\n", "2\n", "8\n", "4 2\n", "[1. 2. 3. 4. 5. 6. 7. 8.]\n", "[[1. 2.]\n", " [3. 4.]\n", " [5. 6.]\n", " [7. 8.]]\n" ] } ], "source": [ "A = np.array([[1, 2], [3, 4], [5, 6], [7, 8]], dtype=np.float64);\n", "print(A)\n", "print(A.ndim)\n", "print(A.size)\n", "r, c = A.shape\n", "print(r, \" \", c)\n", "A.shape=(8,)\n", "print(A)\n", "newarr = A.reshape(4, 2)\n", "print(newarr)" ] }, { "cell_type": "code", "execution_count": 21, "id": "81d68946-9ff5-4c7a-afd4-2638d070d0ea", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1. 2. 3. 4. 5. 6. 7. 8.] [1. 2. 3. 4. 5. 6. 7. 8.]\n" ] } ], "source": [ "B = A.T; # transposee\n", "print(B, A);" ] }, { "cell_type": "code", "execution_count": 19, "id": "074482f2-a4db-4a8c-b94e-ce99dbf67ea7", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "204.0\n" ] } ], "source": [ "print(A@B)" ] }, { "cell_type": "code", "execution_count": 20, "id": "168b4294-6083-47e1-8463-8f109f08bbca", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "204.0\n" ] } ], "source": [ "print(B@A)" ] }, { "cell_type": "code", "execution_count": null, "id": "1f6b88ae-016b-4154-a7a8-0a433138fe8b", "metadata": { "tags": [] }, "outputs": [], "source": [ "print(A*B)" ] }, { "cell_type": "code", "execution_count": null, "id": "bc852186-a653-45cc-8471-5c580c4d83cd", "metadata": { "tags": [] }, "outputs": [], "source": [ "S = A @ A.T;\n", "print(S)" ] }, { "cell_type": "code", "execution_count": 22, "id": "f3ab74e4-1850-4f82-867b-47ed0d9ac1c0", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 1. 1. 1.]\n", " [1. 1. 1. 1.]\n", " [1. 1. 1. 1.]]\n" ] } ], "source": [ "A = np.ones((3,4)); print(A)" ] }, { "cell_type": "code", "execution_count": 23, "id": "31668f85-5870-48cd-b26f-dbb5105f7081", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[0. 0. 0.]\n", " [0. 0. 0.]]\n" ] } ], "source": [ "B = np.zeros((2,3)); print(B)" ] }, { "cell_type": "code", "execution_count": 24, "id": "59436841-ded9-40fe-8d30-2320d0ad1b2f", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1. 0. 0. 0.]\n", " [0. 1. 0. 0.]\n", " [0. 0. 1. 0.]\n", " [0. 0. 0. 1.]]\n" ] } ], "source": [ "C = np.eye(4); print(C)" ] }, { "cell_type": "code", "execution_count": 25, "id": "ecee8023-56a0-492c-8a6f-bd88952099cf", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[4 0 0]\n", " [0 5 0]\n", " [0 0 6]]\n" ] } ], "source": [ "D = np.diag(np.array([4, 5, 6])); print(D)" ] }, { "cell_type": "code", "execution_count": 26, "id": "6b2df91f-0a55-4730-a0b2-4ebb8b30af01", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 4 -1 0]\n", " [ 0 5 -1]\n", " [ 0 0 6]]\n" ] } ], "source": [ "E = np.diag(np.array([4, 5, 6]), 0) + np.diag(np.array([-1, -1]), 1); print(E)" ] }, { "cell_type": "markdown", "id": "af6cd88c-3588-4162-a75c-a5a5ad47ea96", "metadata": {}, "source": [ "#### Stacking\n", "5. Les fonctions ```np.hstack()``` et ```np.vstack()``` sont utiles pour empiler des veteurs dans une matrice. Exécutez les scripts suivants :" ] }, { "cell_type": "code", "execution_count": 27, "id": "e6bc26df-e290-4ac6-9d6e-f90fe7f82cdc", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1 4 7]\n", " [2 5 8]\n", " [3 6 9]] \n", "\n", "[[1 2 3]\n", " [4 5 6]\n", " [7 8 9]]\n" ] } ], "source": [ "# vecteurs colonnes\n", "q1 = np.array([[1,2,3]]).T\n", "q2 = np.array([[4,5,6]]).T\n", "q3 = np.array([[7,8,9]]).T\n", "Q = np.hstack((q1,q2,q3))\n", "print(Q, \"\\n\")\n", "# vecteurs lignes\n", "r1 = np.array([1,2,3])\n", "r2 = np.array([4,5,6])\n", "r3 = np.array([7,8,9])\n", "R = np.vstack((r1,r2,r3))\n", "print(R)" ] }, { "cell_type": "markdown", "id": "ee1ebcf0-2366-4c4b-a85b-ad2ebabac405", "metadata": {}, "source": [ "#### Accesseurs\n", "6. Éxécutez les scripts python suivants :" ] }, { "cell_type": "code", "execution_count": null, "id": "f919fdca-52d2-4c61-a9ea-894465fd37eb", "metadata": {}, "outputs": [], "source": [ "A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]], dtype=np.float64);\n", "print(A)\n", "print(A[1:3,1:3])\n", "print(A[1,:])\n", "print(A[:,2]) # ! tableau 1d\n", "print(A[:,2:3]) # ! slicing\n", "A[-1,-1] = 100\n", "print(A)\n", "print(A[2,::-1])\n" ] }, { "cell_type": "markdown", "id": "c9809a30-7211-46b7-818d-3aa397de839f", "metadata": {}, "source": [ "#### Module d'algèbre linéaire\n", "7. Le module d'algèbre linéaire `linalg` de `numpy` donne accès à différents outils et méthodes usuelles telles que la résolution de systèmes linéaires, la définition de norme, le conditionnement de matrices, le calcul de valeurs et vecteurs propres, le déterminant, l'inverse de matrices, etc. Testez les différents scripts suivants:" ] }, { "cell_type": "code", "execution_count": 28, "id": "3ed9c6d4-2556-4439-af05-64de517488f2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[1.]\n", " [1.]\n", " [1.]] [0. 0. 0.]\n" ] } ], "source": [ "import numpy.linalg as la\n", "b = np.array([1, 1, 1], dtype=np.float64)\n", "A = np.array([[3, -1, -1], [-1, 3, -1], [-1, -1, 3]], dtype=np.float64)\n", "x = la.solve(A, b)\n", "# Verif\n", "print(x[:,np.newaxis], A@x-b)" ] }, { "cell_type": "code", "execution_count": null, "id": "e85a84da-0114-49cd-8a65-b1440c2f99cb", "metadata": {}, "outputs": [], "source": [ "D, V = la.eig(A)\n", "print(D)\n", "print(V)\n", "print(V.T @ V) " ] }, { "cell_type": "code", "execution_count": null, "id": "b3d995d4-a725-41b9-bf58-04a26937b6c0", "metadata": {}, "outputs": [], "source": [ "print(la.inv(A), '\\n', A @ la.inv(A))" ] }, { "cell_type": "code", "execution_count": null, "id": "dfbc1599-5620-45b9-8ac9-110ff31643ff", "metadata": {}, "outputs": [], "source": [ "print(la.norm(x))" ] }, { "cell_type": "code", "execution_count": null, "id": "8ff95720-df13-4b37-b9ce-6679e54919ab", "metadata": { "tags": [] }, "outputs": [], "source": [ "A = np.array([[1,0,0,0], [-1, 1, 0,0],[0, -1,1,0], [0,0,-1,1]]);\n", "print(A)\n", "C = la.inv(A)\n", "print(C)" ] }, { "cell_type": "markdown", "id": "122134b2-b7fe-4174-8537-a258b7a6099e", "metadata": {}, "source": [ "#### Fonctions\n", "8. En python, la définition de fonctions est simple. Exécutez les scripts ci-dessous:" ] }, { "cell_type": "code", "execution_count": 29, "id": "bd07330f-ca69-471b-ac7f-f53174a24e3b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "-0.04978706836786284\n" ] } ], "source": [ "def myFunction(x):\n", " fx = x * np.sin(np.pi *x) - np.exp(-x)\n", " return fx\n", "print(myFunction(3))" ] }, { "cell_type": "code", "execution_count": 30, "id": "0db87bc2-01da-42ca-9147-77d149b5547f", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "1.0 3.0\n" ] } ], "source": [ "# Avec 2 valeurs de sortie\n", "def myFun2(x):\n", " fx = x**3\n", " fprimx = 3*x**2\n", " return fx, fprimx\n", "f1, fprim1 = myFun2(1.0)\n", "print(f1, fprim1)" ] }, { "cell_type": "code", "execution_count": 31, "id": "8c1a3038-18b4-40ad-bc33-16afe1b5b3ed", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Help on function fact in module __main__:\n", "\n", "fact(n)\n", " Fonction factorielle fact(n) = n!\n", "\n", "120\n" ] }, { "ename": "TypeError", "evalue": "('Argument non entier: ', )", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[1;31mTypeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[1;32mIn[31], line 12\u001b[0m\n\u001b[0;32m 10\u001b[0m help(fact)\n\u001b[0;32m 11\u001b[0m \u001b[38;5;28mprint\u001b[39m(fact(\u001b[38;5;241m5\u001b[39m))\n\u001b[1;32m---> 12\u001b[0m \u001b[38;5;28mprint\u001b[39m(fact(\u001b[38;5;241m2.3\u001b[39m))\n", "Cell \u001b[1;32mIn[31], line 4\u001b[0m, in \u001b[0;36mfact\u001b[1;34m(n)\u001b[0m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Fonction factorielle fact(n) = n!\"\"\"\u001b[39;00m\n\u001b[0;32m 3\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(n,\u001b[38;5;28mint\u001b[39m):\n\u001b[1;32m----> 4\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mTypeError\u001b[39;00m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mArgument non entier: \u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28mtype\u001b[39m(n))\n\u001b[0;32m 5\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m (n\u001b[38;5;241m==\u001b[39m\u001b[38;5;241m0\u001b[39m):\n\u001b[0;32m 6\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[38;5;241m1\u001b[39m\n", "\u001b[1;31mTypeError\u001b[0m: ('Argument non entier: ', )" ] } ], "source": [ "def fact(n):\n", " \"\"\"Fonction factorielle fact(n) = n!\"\"\"\n", " if not isinstance(n,int):\n", " raise TypeError(\"Argument non entier: \", type(n))\n", " if (n==0):\n", " return 1\n", " else:\n", " return (n*fact(n-1))\n", "\n", "help(fact)\n", "print(fact(5))\n", "print(fact(2.3))" ] }, { "cell_type": "markdown", "id": "c97b9a9b-1274-46e4-84f5-4e65be297a12", "metadata": {}, "source": [ "#### Graphiques avec Matplotlib\n", "9. Le module Matplotlib donne accès à de nombreux outils de visualisation graphique. Dans MT09, nous nous limiterons essentiellement à l'utilisation de la commande `plot()`. Exécutez le script ci-dessous et faites varier les paramètres." ] }, { "cell_type": "code", "execution_count": 9, "id": "2d06d880-58a0-4444-920c-fbd2084aa860", "metadata": { "tags": [] }, "outputs": [ { "data": { "text/plain": [ "Text(0.5, 1.0, 'A nice function')" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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5PWHDBmCuLg4fP311yZBiSQkJASTJk1CamoqRo0ahXHjxpn8M5eVas/AgQMBAAcPHlQdX7dunc3XkkyZMgVnz541qR/UWnsZM8nQoUPRr18//PDDDxCK8nA1NTVYtWqVPMOMiGzHzBARATCOccnNzcU777wjT+9WGjlyJD755BN89dVXuP766x3Shk8//RQ33HADLrnkEjz33HMYMGAAsrKysHnzZnz//fcAgH//+9+47LLLMHHiRPzjH//AwIEDUVVVhRMnTmD9+vX4/fffbX7d3r174+qrr8Zbb72FHj16IDY2Fr/99htWr17d4Z/lnnvuwTfffIPp06fj6NGjmDRpEgwGA/bu3Yvhw4fLY7LOP/98/PHHH1i/fj369OmDsLAwDB061OR6fn5+ePfdd3Hffffh+uuvx+OPP476+nq89957KC8vx9tvv93hthL5OmaGiAiAceB0UFAQHnroIbOPR0ZG4pZbbsGGDRtUU93t6ZprrsG2bdvQp08fPPPMM7j22muxcOFCREdHy+eMGDEC+/btw8iRIzFv3jwkJCTgkUcewcqVK3HVVVd1+LWXLFmCq666Ci+99BLuuOMO5OTkYNmyZR2+XkBAADZu3IjZs2fj559/xk033YT7778fO3bsQGxsrHzev//9b5x77rm4++67ceGFF+Lxxx+3eM17770Xa9asQUlJCe666y489NBDCA8Px9atW3HZZZd1uK1Evo7LcRAREZFPY2aIiIiIfBqDISIiIvJpDIaIiIjIpzEYIiIiIp/GYIiIiIh8GoMhIiIi8mksutgOg8GA3NxchIWFQaPRuLo5REREZAUhBKqqqqxaI5DBUDtyc3MRExPj6mYQERFRB2RnZ7e5ADTAYKhdYWFhAIw3Mzw83K7XbmxshE6nQ0JCAgIDA+16bWob771r8f67Fu+/6/DeO09lZSViYmLk7/G2MBhqh9Q1Fh4e7pBgKCQkBOHh4fylcDLee9fi/Xct3n/X4b13PmuGuHAANREREfk0BkNERETk0xgMERERkU9jMEREREQ+jcEQERER+TQGQ0REROTTGAwRERGRT2MwRERERD6NwRARERH5NAZDRERE5NMYDBEREZFPYzBEdrclbQtGvDwC7256FyNeHoEtaVtc3SQiIiKLGAyRXQkh8OLKF5Gel475a+cjPS8ds1bPghDC1U0jIiIyi8EQ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def myfunc(x):\n", " return (np.sin(x**2) * np.exp(-x/2))\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "Npt = 200\n", "x = np.linspace(0, 3*np.pi, Npt);\n", "plt.plot(x, myfunc(x), color='darkgreen', marker='^', linestyle='-',\n", " linewidth=2, markersize=4)\n", "plt.grid()\n", "plt.xlabel('x'); plt.ylabel('y=f(x)'); plt.title('A nice function')" ] }, { "cell_type": "markdown", "id": "5dc8d17e-f26e-4633-b6f7-dd199e12352f", "metadata": {}, "source": [ "### Exercice 1\n", "On définit la fonction\n", "$$\n", "f(x) = 2\\left( \\sqrt{x^2+1}-x \\right).\n", "$$\n", "On considère le vecteur\n", "$$\n", "x = [10^0\\ 10^1\\ 10^2\\ 10^3\\ ...\\ 10^{16}]\n", "$$\n", "Dans un graphique, tracer les différents points $(i, f(x_i))$, $i=0,...,16$. \n", "\n", "Affichez aussi le tableau des $f(x_i)$ avec `print()`. Le résultat vous paraît-il normal ?" ] }, { "cell_type": "code", "execution_count": 10, "id": "b445073b-a213-495d-943e-0fc005252617", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.e+00 1.e+01 1.e+02 1.e+03 1.e+04 1.e+05 1.e+06 1.e+07 1.e+08 1.e+09\n", " 1.e+10 1.e+11 1.e+12 1.e+13 1.e+14 1.e+15 1.e+16]\n", "[8.28427125e-01 9.97512422e-02 9.99975001e-03 9.99999750e-04\n", " 1.00000001e-04 9.99998883e-06 1.00000761e-06 1.00582838e-07\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", " 0.00000000e+00]\n" ] }, { "data": { "image/png": "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EQBAV0UYibLA/UWsOg4AAKchjETZxInS4MGSyxX8eZdLysryHwcAQFdEGImyxETpkUf828ECiTHSqlX+4wAA6IoIIzFw/fXSK69IgwYFf76mJrb1AADQmRBGYuT666UDB6StW6UNG/x//vjH/ud+8APpvfdsLQ8AANsk2V1AV5KYKF1xxZePJ06U3nlHevNN6Xvf82/36GFbeQAA2IKZERslJkrPPy8NGSJ9/LF0223Bb44GAICTEUZs1revfz1JcrL06qvSQw/ZXREAALFFGOkExoz58oqb4mKppMTeegAAiCXCSCcxZ440Y4b/M2qmTZOOHLG7IgAAYoMw0km4XNLatdL550sVFf5Acvan/AIA4ESEkU4kNVX61a+k9HTprbf8p2wAAHA6wkgnM3y49Oyz/u2VK/2LWwEAcDLCSCf03e9Kd9/t377tNunDD20tBwCAqCKMdFI/+5n/BmmnTvnv3nrqlN0VAQAQHYSRTiopSXrpJWngQGnvXv8t47khGgDAiQgjnVhGhvTyy/5g8uKL0mOP2V0RAADWI4x0cuPHSw8+6N8uKpL+8Ad76wEAwGqEkTgwf750443++47ceKP097/bXREAANYhjMQBl0tav14aMUI6fFi6+Wb/nVoBAHACwkicSEvz3xCte3fp97+XfvpTuysCAMAahJE48o1vSE8+6d9evlx64w176wEAwAqEkThz003SvHn+7RkzpH377K0HAICOIozEoQcflMaOlU6elL73Pemf/7S7IgAAIkcYiUPJydIvfyn16yft2SPdcQc3RAMAxC/CSJwaPNh/h9aEBOnpp/1X2wAAEI8II3Hsqqv8n2EjSXfeKZWW2lsPAACRIIzEubvvlqZMkWprpRtukE6csLsiAADCQxiJcwkJ0rPPSuecIx044L/CprHR7qoAAAgdYcQBevb03xAtJUXavNl/DxIAAOIFYcQhRo+W1q71b//0p9KWLf5bxpeUuLR9+yCVlLi4hTwAoFMijDjILbdIP/iB/zLf731PysqS8vKStHJlrvLykjRsmLRpk91VAgDQHGHEYR55xL9+5NQpqby8+XOHD/sXuRJIAACdCWHEYdxuqaYm+HOBG6MVFvKpvwCAziPJ7gJgrR07pKNHW3/eGOngQf9xV1xh7dgNDf73LS+XBg6UJk6UEhOtHePs8QJrYrp3d+nKK6M/npP7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qqLDGKOioiJNmDBBo0aNsrscy7z00kvatWuXVqxYYXcpUbFv3z6tWbNGw4cP15tvvqmCggLNmzdPzz33nN2lWeKee+7RzTffrBEjRsjtduuiiy5SYWGhbr75ZrtLi4rAz5Wu8DNHkk6fPq3i4mJNnz7dUR8sd//99yspKUnz5s2zuxTLVVZW6tSpU/r5z3+ub3/729qyZYv+9V//Vddff71KSkqiPn5cfGpvtLhcrmaPjTEt9sW7O++8U++++67eeustu0uxzMGDBzV//nxt2bIlNucybdDY2Kjc3FwtX75cknTRRRfp/fff15o1azRz5kybq+u4jRs36vnnn9eGDRt03nnnac+ePSosLFRmZqZuueUWu8uLmq7wM8fn8+mmm25SY2OjVq9ebXc5liktLdUjjzyiXbt2Oe7fTFLT4vHvfOc7WrBggSRp9OjR2rlzp9auXavLL788quN3yZmRvn37KjExscX/kVRWVrb4P5d4dtddd+n111/X1q1bNXjwYLvLsUxpaakqKyuVk5OjpKQkJSUlqaSkRP/5n/+ppKQkNTQ02F1ihw0cOFDf+MY3mu0bOXKkIxZYS9LChQtVXFysm266Seeff75mzJihBQsWOHama8CAAZLk+J85Pp9PU6dO1f79++X1eh01K7Jjxw5VVlZqyJAhTT93Pv30U/3whz/UsGHD7C6vw/r27aukpCTbfu50yTCSnJysnJwceb3eZvu9Xq/GjRtnU1XWMcbozjvv1KZNm/S///u/ys7OtrskS1199dV67733tGfPnqav3Nxc/du//Zv27NmjxMREu0vssPHjx7e4HPujjz7S0KFDbarIWjU1NUpIaP7jJzExMa4v7W1Ldna2BgwY0OxnTl1dnUpKShzxM0f6Moh8/PHH+p//+R/16dPH7pIsNWPGDL377rvNfu5kZmZq4cKFevPNN+0ur8OSk5M1ZswY237udNnTNEVFRZoxY4Zyc3M1duxYrVu3TmVlZSooKLC7tA674447tGHDBv36179WWlpa0/+N9ejRQ926dbO5uo5LS0trsf6le/fu6tOnj2PWxSxYsEDjxo3T8uXLNXXqVP35z3/WunXrtG7dOrtLs8R1112nn/3sZxoyZIjOO+887d69WytXrtTtt99ud2kRO3XqlP7v//6v6fH+/fu1Z88e9e7dW0OGDFFhYaGWL1+u4cOHa/jw4Vq+fLlSU1M1ffp0G6sOXVv9ZWZm6oYbbtCuXbv03//932poaGj6udO7d28lJyfbVXZY2vs3PDtgud1uDRgwQF//+tdjXWpE2utv4cKFmjZtmi677DJdeeWV+t3vfqc33nhD27Zti35xtlzD00k89thjZujQoSY5OdlcfPHFjrn0VVLQr6efftru0qLGaZf2GmPMG2+8YUaNGmU8Ho8ZMWKEWbdund0lWaaqqsrMnz/fDBkyxKSkpJhzzjnHLF682NTW1tpdWsS2bt0a9L+7W265xRjjv7z33nvvNQMGDDAej8dcdtll5r333rO36DC01d/+/ftb/bmzdetWu0sPWXv/hmeLt0t7Q+lv/fr15mtf+5pJSUkxF154oXnttddiUpvLGGOiH3kAAACC65JrRgAAQOdBGAEAALYijAAAAFsRRgAAgK0IIwAAwFaEEQAAYCvCCAAAsBVhBAAA2IowAgAAbEUYAQAAtiKMAAAAWxFGAACArf4/pvi0yw0IBkkAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(x):\n", " return (2*(np.sqrt(x**2+1)-x))\n", "I = np.arange(0, 17, dtype=np.float64)\n", "x = pow(10.0, I);\n", "print(x)\n", "plt.plot(I, f(x), color='blue', marker='o'); plt.grid()\n", "print(f(x))" ] }, { "cell_type": "markdown", "id": "aa1b65c4-cf2d-42c2-b2b8-a5bc5ce78238", "metadata": {}, "source": [ "En multipliant par la quantité conjuguée, on remarque que la fonction $f$ est équivalente à la fonction\n", "$$\n", "g(x) = \\frac{2}{\\sqrt{x^2+1}+x} \\quad (=f(x)).\n", "$$\n", "La fonction $f$ est équivalente à quelle fonction simple quand $x$ est grand ?\n", "Affichez le tableau des $g(x_i)$ avec `print()`. Que remarquez-vous ?\n", "Dans un autre graphique, tracer les différents points $(x_i, g(x_i))$, $i=0,...,16$ en échelle $\\log$\n", "(on utilisera pour cela la fonction `plt.loglog()`)." ] }, { "cell_type": "code", "execution_count": 34, "id": "e1a104f3-392c-403e-b85c-1a6ad471112f", "metadata": { "tags": [] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[8.28427125e-01 9.97512422e-02 9.99975001e-03 9.99999750e-04\n", " 1.00000001e-04 9.99998883e-06 1.00000761e-06 1.00582838e-07\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", " 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00\n", " 0.00000000e+00] \n", " [8.28427125e-01 9.97512422e-02 9.99975001e-03 9.99999750e-04\n", " 9.99999997e-05 1.00000000e-05 1.00000000e-06 1.00000000e-07\n", " 1.00000000e-08 1.00000000e-09 1.00000000e-10 1.00000000e-11\n", " 1.00000000e-12 1.00000000e-13 1.00000000e-14 1.00000000e-15\n", " 1.00000000e-16]\n" ] }, { "data": { "image/png": "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WrWKvLw85syZw44dO0hNTSUrK4vKyko/V9o5vuivf//+vPfee1RUVLBy5Uo++eQTf5XfIb7ocdeuXZSVlfHkk09y2223UVNT46/yT8lXv6M1NTW8+eabXHvttf4ou8O62t9FF13EjBkzuOqqq5gwYQIjRowgNDTUny20Sp8tne8vED5zurO/QP68OW1e6REA77p165qsu/TSS73Tp09vsu6CCy7wzpo1q8m6oqIi7/XXX9/dJXZJV/prMH36dO/q1au7q8Qu80WP11xzjffdd9/trhK7pCv9rVixwnvLLbd0d4ld4ov3Lycnx/vyyy93V4md0h2fLYH0mdOdn52B8JnTnf0F8udNR+gIUg917NgxysrKyMzMbLI+MzOz8YTQYNaR/j755JPGf93U1NRQUlLC+eef7/daO6sjPX722WfU1dUBsGfPHj744APOOeccv9faGafzOxqI47VT6Wh/+/fvB8wVe9u2bWPMmDF+rfN06bOlbcHwmdOV/oL586Y11h+rFUscOHAAj8dDdHR0k/XR0dHs27evcXnMmDFs376d2tpa4uLiWLduHSNGjPB3uaetI/3t2bOHnJwcvF4vXq+Xe+65h2HDhllRbqd0pMedO3dy5513EhISgsPhYMGCBQwYMMCKck9bR39HP//8c7Zt28aLL77o7xK7pKP9jR8/nkOHDtGnTx9++9vfBsSIrT1d/WwJ9M+crvQXEhIS8J85Xemvvr4+aD9vWhPYf9Ok2zkcjibLXq+3ybpNmzb5uySfaq8/l8tFeXm5BVX5Vns9pqSk8P7771tRls+c6nf0jDPOCLhzx07HqfoL1qMunf1sCZbPnM72FyyfOZ3tL9g/b06mEVsPNXDgQJxOZ5N/EYA5nN/8Xw7ByO79gf17VH/Bya59NVB/PYcCUg/Vq1cvXC4Xbre7yXq3201KSopFVfmO3fsD+/eo/oKTXftqoP56Do3YbOzIkSN89NFHjcsVFRWUl5czYMAAzj77bPLz85kyZQrDhw9n5MiRPP3001RWVjJ9+nQLq+44u/cH9u9R/QVnf3btq4H6C+7+fMaai+fEH4qKirxAiz9Tp05t3OeJJ57wDh482NurVy/vJZdc4i0uLrau4NNk9/68Xvv3qP6Csz+79tVA/QV3f76iZ7GJiIiINKNzkERERESaUUASERERaUYBSURERKQZBSQRERGRZhSQRERERJpRQBIRERFpRgFJREREpBkFJBEREZFmFJBEREREmlFAEhEREWlGAUlERESkGQUkERHg008/5ayzzuLhhx9uXPfOO+/Qq1cvNm/ebGFlImIFPaxWROQ/NmzYwPjx49m6dSsXXHABF198Mddddx3z58+3ujQR8TMFJBGRk9x99938+c9/ZsSIEbz33nu8++67REREWF2WiPiZApKIyEm++OILEhMT2b17N6WlpQwbNszqkkTEAjoHSUTkJP/617/Yu3cvX331FR9//LHV5YiIRXQESUTkP44dO8all15KcnIyF1xwAYWFhbz//vtER0dbXZqI+JkCkojIf/zP//wPa9as4b333qNv376kp6fTr18/Xn75ZatLExE/04hNRAR4/fXXmT9/Ps899xxRUVGEhITw3HPP8cYbb7B48WKryxMRP9MRJBEREZFmdARJREREpBkFJBEREZFmFJBEREREmlFAEhEREWlGAUlERESkGQUkERERkWYUkERERESaUUASERERaUYBSURERKQZBSQRERGRZhSQRERERJpRQBIRERFp5v8DlaBhrVKQW/IAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def g(x):\n", " return (2/(np.sqrt(x**2+1)+x))\n", "plt.loglog(x, g(x), color='blue', marker='o'); plt.grid()\n", "plt.xlabel('x'); plt.ylabel('g(x)');\n", "print(f(x), '\\n', g(x))" ] }, { "cell_type": "markdown", "id": "5d35ea4b-30f6-41d9-83cf-71a138443f02", "metadata": {}, "source": [ "Éxécutez les lignes suivantes. Qu'en concluez-vous ?" ] }, { "cell_type": "code", "execution_count": null, "id": "ec417581-890a-4d4c-83cf-b1edc5e95fc3", "metadata": {}, "outputs": [], "source": [ "xfloat32 = np.exp(I*np.log(10), dtype=np.float32)\n", "print(f(xfloat32))\n", "print(f(x))\n", "print(g(x))" ] }, { "cell_type": "markdown", "id": "72e66209-0aec-4874-8716-cfbea47d9c98", "metadata": {}, "source": [ "### Exercice 2\n", "On peut approcher la valeur de la dérivée d''une fonction en un point $x_0$ \n", "par une formule dite de différences finies:\n", "\n", "$$\n", "\\Delta_h(x_0) = \\frac{f(x_0+h)-f(x_0)}{h}\\quad (\\approx f'(x_0))\n", "$$\n", "pour un pas $h\\neq 0$ assez petit. Pour $f(x)=\\sqrt{x}$ et $x_0=1$, on a $f'(x_0)=\\frac{1}{2}$.\n", "En python, on considère le vecteur de pas $h=(h_i)_i$ défini par\n", "\n", "$$\n", "h = [10^0\\ 10^{-1}\\ 10^{-2}\\ 10^{-3}\\ ...\\ 10^{-19}\\ 10^{-20}]\n", "$$\n", "et le vecteur d'erreur d'approximation $e_h=(e_{h,i})_i$ où\n", "\n", "$$\n", "e_{h,i}(x_0) = |\\Delta_{h_i}(x_0) - f'(x_0)|.\n", "$$\n", "\n", "Tracez un graphique qui trace les points $(h_i, e_{h_i}(x_0)$ en échelle log. Que constatez-vous ? Interprétez." ] }, { "cell_type": "code", "execution_count": 35, "id": "4c83e48c-b2dd-4f1b-9252-282601b1dbb3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1.e+00 1.e-01 1.e-02 1.e-03 1.e-04 1.e-05 1.e-06 1.e-07 1.e-08 1.e-09\n", " 1.e-10 1.e-11 1.e-12 1.e-13 1.e-14 1.e-15 1.e-16 1.e-17 1.e-18 1.e-19\n", " 1.e-20]\n" ] }, { "data": { "text/plain": [ "Text(0.5, 1.0, \"Influence du pas $h$ sur l'erreur\")" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkMAAAHLCAYAAADLMpyzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABO6UlEQVR4nO3deVxU5f4H8M84bOKOJIKAWJq5YuKSCwl20fBmKlmWmcvVW2ZeJTKXTMU90RRbNMtfWZZdzYtes9IoF7hq5UZm2mLpVRBFcQERYRjO74/nDjCsA8zMc2bO5/16+eLMmcNzvvN1GL485znPo1MURQERERGRRtWRHQARERGRTCyGiIiISNNYDBEREZGmsRgiIiIiTWMxRERERJrGYoiIiIg0jcUQERERaRqLISIiItI0FkNERESkaSyGiIiISNNYDBEREZGmsRgiKmHDhg3Q6XQ4cuRIjb5/8+bN6NChA+rWrQudToeUlJSiNs+dO2fdYB1QbGwsdDqd7DBs5ubNm6hTpw7i4+Nlh1It5b1HTfuItIDFEJGVXLlyBc888wzuuece7Nq1C4cOHcK9994rOyyyoyNHjkBRFPTo0UN2KERUDS6yAyByFr/99hsMBgNGjRqFfv36yQ6HJDhy5AhcXV3RtWtX2aGUcfv2bXh6eqru/PaOS3YeSJ3YM0RUCdNlnZ9//hlPPfUUGjVqBB8fH/ztb3/DzZs3i44bO3Ys+vbtCwAYMWIEdDodwsLCym1z7NixCAoKqvBcpf3+++8YOXIkmjVrBnd3d7Rr1w5vv/12jeI0+eWXX/DUU0/Bx8cH7u7uCAwMxOjRo5GXl1et81bmiy++QJcuXeDu7o5WrVphxYoVtc5FRccdP34cUVFRaNiwIRo1aoRRo0bhypUrZseeOXMG48aNQ5s2beDp6YkWLVpg8ODB+Omnn8yOu3LlCp599lkEBATA3d0dd911F/r06YNvvvmmyngOHz6MTp064bvvvsNDDz2E+vXro3nz5liwYEGV31vVeauTK9O+Y8eOYfjw4WjSpAnuueeeKmOoiqXviYrOX1VclrSvhjyQ82HPEJEFHnvsMYwYMQLjx4/HTz/9hFmzZgEA3n//fQDAnDlz0KNHD7zwwgtYsmQJwsPD0bBhw1qf99SpU+jduzcCAwPx+uuvo3nz5ti9ezemTJmCq1evYt68edWKEwB+/PFH9O3bF97e3liwYAHatGmD9PR07NixA/n5+XB3d6/2eUv79ttvMWTIEPTq1Qv//Oc/YTQaERcXh8uXL9c6J+UZNmwYnnjiCUycOBE///wz5syZg1OnTuH777+Hq6srAODixYto2rQpXnvtNdx11124du0aPvzwQ/Ts2RPHjx9H27ZtAQDPPPMMjh07hsWLF+Pee+/FjRs3cOzYMWRmZlYZx5EjR1BYWIiYmBhER0dj9uzZeOeddzBv3jz069ev0h7D2py3IlFRUXjyyScxceJE5OTkVOt7x44di7FjxxY9rsl7ovT5jx8/XmFctX3P2SoPpBEKERX54IMPFADK4cOHFUVRlHnz5ikAlLi4OLPjJk2apHh4eCiFhYVF+/bu3asAUD777LNy2zx79qyiKIoyZswYpWXLlmXObTpXSQMHDlT8/f2Vmzdvmu2fPHmy4uHhoVy7dq3acfbv319p3LixkpGRUWEeLD1vRXr27Kn4+fkpubm5RfuysrIULy8vs9dYnVyUx3Tciy++aLb/k08+UQAoH3/8cYXfW1BQoOTn5ytt2rQx+/769esr0dHRVZ67tCtXrigAlO7duyt37twp2p+amqoAUNasWVPp91d13urkyrRv7ty5FsVe+j1anuq8Jyo6f2VxWdq+LfNA2sXLZEQWePTRR80ed+7cGXfu3EFGRobNznnnzh18++23GDZsGDw9PVFQUFD0b9CgQbhz5w6+++67asV5+/Zt7N+/H0888QTuuusuq523pJycHBw+fBhRUVHw8PAo2t+gQQMMHjy4pumo1NNPP232+IknnoCLiwv27t1btK+goABLlixB+/bt4ebmBhcXF7i5ueH333/H6dOni47r0aMHNmzYgEWLFuG7776DwWCwKIbDhw8DABYtWgR3d/ei/aaeHT8/v0q/v6bnrcxjjz1W6zaAmr8nKjp/6f21fc9VxVp5IOfFYojIAk2bNjV7bPpll5uba7NzZmZmoqCgAG+++SZcXV3N/g0aNAgAcPXq1WrFef36dRiNRvj7+1v1vCVdv34dhYWFaN68eZnnyttnDaXbdXFxQdOmTc0uMcXExGDOnDkYOnQoPv/8c3z//fc4fPgwgoODzf4fN2/ejDFjxmD9+vXo1asXvLy8MHr0aFy6dKnSGI4cOYK6deuif//+ZvuPHTsGALj//vsr/f6anrcyvr6+Nf7ekmr6nqjo/KX31/Y9VxVr5YGcF8cMEdmZh4eH2UBlk9If9k2aNIFer8czzzyDF154ody2WrVqVa1ze3l5Qa/XIzU1tcJjanveJk2aQKfTlftLvPQ+S3NRlUuXLqFFixZFjwsKCpCZmWlWHH788ccYPXo0lixZUuZcjRs3Lnrs7e2N+Ph4xMfH4/z589ixYwdmzpyJjIwM7Nq1q8IYjhw5guDgYLi4uJTZ7+3tjcDAwEpfQ1XnrUmurDVPUE3fExWdv/T+6rQvMw/kvFgMEdlZUFAQMjIycPnyZfj4+AAA8vPzsXv3brPjPD09ER4ejuPHj6Nz585wc3Or9bnr1q2Lfv364bPPPsPixYvh7e1d5pjanrdevXro0aMHEhISsHz58qJLZdnZ2fj888/NjrU0F1X55JNPEBISUvR4y5YtKCgoMLujT6fTmV2+AsQdb2lpaWjdunW57QYGBmLy5Mn49ttvceDAgUpjMF0aLO3o0aNmsVmivPNaK1c1YYv3Yk3bl5kHcl4shojsbMSIEZg7dy6efPJJvPzyy7hz5w7eeOMNGI3GMseuXr0affv2RWhoKJ5//nkEBQUhOzsbZ86cweeff449e/ZU+/wrV65E37590bNnT8ycOROtW7fG5cuXsWPHDqxbtw4NGjSo9XkXLlyIhx9+GBEREXjppZdgNBqxbNky1KtXD9euXatRLiqTkJAAFxcXREREFN1NFhwcjCeeeKLomEceeQQbNmzAfffdh86dO+Po0aNYvny52SXDmzdvIjw8HCNHjsR9992HBg0a4PDhw9i1a1e5hY5Jeno60tPT0a1bN7P9BQUF+PHHHxETE1Np/Jac11q5qilbvBdr0r7sPJBzYjFEZGetWrXCv//9b7zyyisYPnw4fH19ERMTgytXrmD+/Plmx7Zv3x7Hjh3DwoUL8eqrryIjIwONGzdGmzZtisZSVFdwcDB++OEHzJs3D7NmzUJ2djaaN2+O/v37F/1FXtvzRkREYPv27Xj11VcxYsQING/eHJMmTUJubq7Za6xOLiqTkJCA2NhYrF27FjqdDoMHD0Z8fLxZD8Pq1avh6uqKpUuX4tatW+jatSsSEhLw6quvFh3j4eGBnj17YuPGjTh37hwMBgMCAwMxY8YMTJ8+vcLzmwZPl+4BOnXqFHJzc6vsGbLkvNbKVU3Z4r1Yk/Zl54Gck05RFEV2EERENREbG4v58+fjypUr5V7yIyKyBO8mIyIiIk1jMURERESaxstkREREpGnsGSIiIiJNYzFEREREmsZiiIiIiDSN8wxVobCwEBcvXkSDBg04pTsREZGDUBQF2dnZ8PPzQ506lff9sBiqwsWLFxEQECA7DCIiIqqBCxcuVLo4NcBiqEoNGjQAAJw9exZeXl6So5HPYDDg66+/xoABA+Dq6io7HKmYC3PMhznmoxhzYY75KGbLXGRlZSEgIKDo93hlWAxVwXRprEGDBmjYsKHkaOQzGAzw9PREw4YN+UPMXJhhPswxH8WYC3PMRzF75MKSIS4cQE1ERESaxmKIiIiINI3FEBEREWkaiyEiIiLSNBZDREREpGkshoiIiEjTWAwRERGRprEYIiIiIk3jpIuyGI1AcjKQng74+gKhoYBer952/9e2bv9+tEhKgq5ePSA83CFitlnbRETkFNgzJENCAhAUJIqJkSPF16AgsV+N7ZZo2yUiAt1WroRLRITDxGyTtomIyGmwGLK3hARg+HAgNdV8f1qa2F/TX9S2ateWbTtizERE5HRYDNmT0QhMnQooStnnTPuio8VxamjXlm07YsxEROSUOGbInpKTy/ZUlKQowIULQK9egJeX5e1eu2abdm3ZthpiTk4GwsKq1zYRETkdFkP2lJ5u2XGHD9vm/LZq15Zt2zJmS/8/iIjIqbEYsidfX8uOmzULaNfO8nZPnwaWLrV+u7ZsWw0xW/r/QURETo3FkD2FhgL+/mIQb3njWXQ68fzChdW7/dtoBDZutH67tmxbDTGHhlavXSIickocQG1Pej2werXY1unMnzM9jo+v/i9/W7Vry7ZlxWxS07aJiMjpsBiyt6goYOtWoEUL8/3+/mJ/VJS62rVl2zJiBoDJk2vXNhERORVeJpMhKgoYMsT6MyPbqt0SbRfs3YuUr75Cl8hIuFhjBmo7xFzU9t69wHvviSJpyRKgfv3an4OIiBweiyFZ9Hrb3NZtq3b/17bSrx/ScnIQ3K+f9S4z2TjmoraHDQO+/Rb4808xwHrxYtuck4iIHAovk5F2eHgAK1eK7ddfF0URERFpHosh0pZHHwX+8hcgLw+YNk12NEREpAIshkhbdLriO8m2bROXzYiISNNYDJH2dOgATJoktqOjgYICqeEQEZFcLIZIm2JjxZpnJ08C69bJjoaIiCRiMUTa5OUlZrcGgDlzgMxMufEQEZE0LIZIu559FujUCbh+HZg3T3Y0REQkCYsh0i4XFzGYGgDWrgV++klqOEREJAeLIdK2/v3FTNWFhWIwdXkLuxIRkVNjMUS0YgXg7g7s2QNs3y47GiIisjMWQ0StWhVPwPjSS8CdO3LjISIiu2IxRAQAM2cCfn7A2bPAqlWyoyEiIjtiMUQEiBXs4+LE9uLFQFqa3HiIiMhuWAwRmYwcCfTqBeTkALNmyY6GiIjshMUQkYlOB6xeLbY3bgS++05uPEREZBcshohK6t4dGDdObE+ZIm65JyIip8ZiiKi0JUuABg2Aw4dFDxERETk1TRRDw4YNQ5MmTTB8+HDZoZAjaN5crFcGiLvMsrPlxkNERDaliWJoypQp+Oijj2SHQY5kyhSgdWvg0iVxdxkRETktTRRD4eHhaNCggewwyJG4uwMrV4rtVauAM2fkxkNERDYjvRhKSkrC4MGD4efnB51Oh+3lLIewZs0atGrVCh4eHggJCUFycrL9AyXteeQRYOBAID+/eIZqIiKyDqMRuv370SIpCbr9+wGjUVooLtLO/D85OTkIDg7GuHHj8Nhjj5V5fvPmzYiOjsaaNWvQp08frFu3DpGRkTh16hQCAwMBACEhIcjLyyvzvV9//TX8/PyqFU9eXp5ZW1lZWQAAg8EAg8FQrbackSkHmslFXBxcvvkGun//GwVffQXlL38pekpzuagC82GO+SjGXJhjPgDdtm3Qx8TAJS0N3QBg5UooLVrAuHIllGHDrHKO6uRXpyjqWaZbp9Nh27ZtGDp0aNG+nj17omvXrli7dm3Rvnbt2mHo0KFYunSpxW3v27cPb731FrZu3VrpcbGxsZg/f36Z/Zs2bYKnp6fF5yPn0XH9etyzcyeyAgKwb9UqKC7S/4YgInJYvocOofuyZQAAXYn9pmLk8IwZSO/Vq9bnuX37NkaOHImbN2+iYcOGlR6r6k/1/Px8HD16FDNnzjTbP2DAABw8eNAm55w1axZiYmKKHmdlZSEgIADh4eFo2rSpTc7pSAwGAxITExEREQFXV1fZ4dhHr15QOnRAwwsX8NcLF1D4wgsANJqLSjAf5piPYsyFOU3nw2iEy/8+Q3WlntIBUHQ6dP/kExTExgJ6fa1OZbqyYwlVF0NXr16F0WiEj4+P2X4fHx9cunTJ4nYGDhyIY8eOIScnB/7+/ti2bRu6d+9e7rHu7u5wd3cvs9/V1VV7b9pKaCofzZoBixYBEydCP38+9KNGAd7eRU9rKhcWYD7MMR/FmAtzmszHgQOVrv2oUxQgNRWu330HhIXV6lTVya30AdSW0OnM60dFUcrsq8zu3btx5coV3L59G6mpqRUWQkQVmjABCA4GbtwA5s6VHQ0RkWNKT7fucVai6mLI29sber2+TC9QRkZGmd4iIpvS64vXLVu3DjhxQm48RESOyNfXusdZiaqLITc3N4SEhCAxMdFsf2JiInr37i0pKtKsfv2Axx8X65VNnQrdvn2quCWUiMhhhIYC/v4VP6/TAQEB4jg7kl4M3bp1CykpKUhJSQEAnD17FikpKTh//jwAICYmBuvXr8f777+P06dP48UXX8T58+cxceJEiVGTZi1fDri6Avv2wWXAAHRbuRIuERFAUBCQkCA7OiIiddPrgb/9rfznTMNf4uNrPXi6uqQPoD5y5AjCw8OLHpvu5BozZgw2bNiAESNGIDMzEwsWLEB6ejo6duyIL7/8Ei1btpQVMmnZ0aNAeXNXpKUBw4cDW7cCUVH2j4uIyBHk5BQvgF2/PnDrVvFz/v6iEJLwGSq9GAoLC0NVUx1NmjQJkyZNslNERBUwGoGpU8t/TlHEXzXR0cCQIXb/q4aIyCHMnQucPSsuhZ04gYIjR5Dy1VfoEhkJl/BwaZ+d0i+TETmM5GQgNbXi5xUFuHBBHEdEROYOHxY9P4C4EaVxYyj9+iHtwQeh9Osn9Y9IFkNEllLpLaFERKpnMIgpSgoLgZEjgchI2RGZYTFEZCmV3hJKRKR6cXFiSpKmTYt7h1SExRCRpUy3hFY24aeEW0KJiFTtl1+ABQvE9urVwF13yY2nHCyGiCxVcuLFigqi8eM5eJqIyKSwEPj734H8fHFpbORI2RGVi8UQUXVERYnb51u0MN/v6Sm+vvkmcO6c3cMiIlKld98F/vMfoF49YO3aynvWJWIxRFRdUVHAuXMoSEzEkZgYFCQmAhkZQLduQGYmMGwYcPu27CiJiORKTQWmTxfbS5YAKp4fkMUQUU3o9ea3hNarJ2agbtYMSEkRd01UMX8WEZHTUhRg0iQgOxt44AHghRdkR1QpFkNE1hIQIC6hubgAn34KvP667IiIiOT47DPg88/F8kXr16t+LCWLISJrCg0tHmQ9YwZQapFhIiKnl5kJ/OMfYvuVV4AOHeTGYwEWQ0TW9vzzYiHCwkJgxAjgzz9lR0REZD/TpolxlO3bA7NmyY7GIiyGiKxNpwPefhvo2RO4fh0YOlQsTkhE5OwSE4ENG8Tn4Pr1gLu77IgswmKIyBY8PIB//Qto3hz46SfRU8QB1UTkzHJygGefFduTJwO9esmNpxpYDBHZSosWYkC1qyuwZYuYjp6IyFnNnSvmWQsMBBYvlh1NtbAYIrKlPn3ERIyAuHa+a5fceIiIbKHkivTvvAM0aCA1nOpiMURka889J6ajVxTgqaeAM2dkR0REZD35+WIposJC4OmnVbcivSVYDBHZw5tviuvnN26IAdXZ2bIjIiKyjuXLxdhIb29VrkhvCRZDRPbg7i4GVPv6Aj//DIwdywHVROT4Sq5IHx8vCiIHxGKIyF58fcWSHW5u4uuSJbIjIiKqOQdZkd4SLIaI7OmBB8QcRAAwZw7wxRdy4yEiqql16xxiRXpLsBgisrcJE8Qs1Yoi/pL67TfZERERVU9qqlhyCACWLlX1ivSWYDFEJEN8PNC3L5CVJQZUZ2XJjoiIyDKKIv6gy84WN4ZMmiQ7olpjMUQkg5ubWNW5RQvg9Glg9Ghx/Z2ISO22bAF27hQTyr73nupXpLcEiyEiWZo3FwOp3d2Bf/8bWLRIdkRERJUruSL97NkOsSK9JVgMEcnUo4cYeAgA8+YBO3YARiOwbx/w6afiq9EoM0Ii0rqSn0lPPw1cuSJWpJ85U3ZkVuMiOwAizRs3Djh2DHjrLWDECKBxY+DSpeLn/f2B1auBqChpIRKRRiUkAFOnigHTJY0a5TAr0luCPUNEarBypfhL684d80IIANLSgOHDxYcSEZG9JCSIz57ShRAgLpE50WcSiyEiNahTB7h+vfznTDNVR0fzkhkR2YfRKHqEKpsp34k+k1gMEalBcjKQnl7x84oCXLggjiMisrXk5PJ7hEyc7DOJxRCRGlRWCNXkOCKi2tDYZxKLISI18PW17nFERLWhsc8kFkNEahAaKu4aq2htH50OCAgQxxER2VpoqJgUtiJO9pnEYohIDfR6cfs8ULYgMj2Oj3eKmV6JyAHo9cCgQeU/54SfSSyGiNQiKgrYurXsX2P164v9nGeIiOzlxg1g2zax3bix+XP+/k73mcRJF4nUJCoKGDJE3KGxfbvoLWrQQOwjIrKXJUuAq1eBdu2A48eBQ4fEYGlfX3FpzEl6hExYDBGpjV4PhIWJ1aA3bgQuXgQSE4GHH5YdGRFpwZ9/Fl+2X7FCzDQdFiY1JFvjZTIitXJ3B0aOFNsbNkgNhYg0ZOZMID8fiIgAIiNlR2MXLIaI1GzcOPF1+/aKZ6gmIrKWAweAzz4Ts+K//nrFd7g6GRZDRGp2//1A585AXp5YMZqIyFYKC4GYGLE9fjzQqZPceOyIxRCRmul0xb1DvFRGRLa0eTPwww/iDtYFC2RHY1cshojU7umnARcX4PBh4OefZUdDRM4oN1eMFQLE1+bN5cZjZyyGiNTurruARx4R2x98IDcWInJO8fHA+fNiVmnTpTINYTFE5AhMl8o2bgQMBrmxEJFzuXxZzCsEAEuXAnXryo1HAhZDRI4gMhJo1gzIyAB27ZIdDRE5k7lzgVu3gO7dgaeekh2NFCyGiByBqyswapTY5qUyIrKWkyeB9evF9sqV4pZ6DdLmqyZyRKZLZZ9/Dly5IjcWInIO06aJW+ofewzo21d2NNKwGCJyFB07At26AQUFwCefyI6GiBzdrl3A7t2i53nZMtnRSMViiMiRcM4hIrKGggLgpZfE9pQpwD33yI1HMhZDRI7kyScBNzfgxx/FStJERDWxfj1w6hTQtCnw6quyo5GOxRCRI/HyAoYOFdscSE1ENZGVJe4gA4DYWKBxY5nRqAKLISJHY7pU9sknYs0yIqLqWLpU3ITRti3w3HOyo1EFFkNEjiYiAvDzA65dA3bulB0NETmSc+eAVavE9vLlYvA0sRgicjh6PTB6tNjmpTIiqo5Zs0SPcv/+xcv8EIshIodkulT21VdAerrcWIjIMRw6BPzzn4BOB7z+uvhKAFgMETmme+8FevcWk6Vt3Cg7GiJSO0UpXoB13DigSxep4agNiyEiRzV2rPi6YYP4oCMiqsiWLcB33wH16gELF8qORnVYDBE5qhEjxOrSp08DP/wgOxoiUqs7d4CZM8X29OniBgwyw2KIyFE1bCjWEwI4kJqIKvbGG+IushYtimedJjMshogcmWkg9T//CeTmyo2FiNQnIwNYvFhsL1kiLpNRGSyGiBxZWBjQsiVw8yawfbvsaIhIbWJjxYzTXbsCo0bJjka1WAwRObI6dYAxY8Q2L5URUUk//wysWye2V64UnxdULmaGyNGZ7ir75hvg/HmpoRCRirz8sph+Y9gwoF8/2dGoGoshIkfXqpW4XKYonHOIiISvvxaTsrq4AMuWyY5G9VgMETkDzjlERCZGY/FdY5MnA23ayI3HAbAYInIGw4cD9esDZ84A//mP7GiIyN6MRmDfPuDTT4EZM4CTJ4EmTYA5c2RH5hBcZAdARFZQrx7wxBPA+++LgdShobIjIiJ7SUgApk4FUlPN9w8dCnh5SQnJ0bBniMhZmOYc2rIFuHVLbixEZB8JCaJnuHQhBIjL5gkJdg/JETl9MZSdnY3u3bujS5cu6NSpE9577z3ZIRHZRp8+QOvWQE4O8K9/yY6GiGzNaBQ9QpWNE4yOFsdRpZy+GPL09MT+/fuRkpKC77//HkuXLkVmZqbssIisT6crHkjNOYeInF9ycvk9QiaKAly4II6jSjl9MaTX6+Hp6QkAuHPnDoxGIxTebUPOavRoURTt3w/8+afsaIjIltLTrXuchkkvhpKSkjB48GD4+flBp9NhezlLCqxZswatWrWCh4cHQkJCkFzNKvfGjRsIDg6Gv78/pk+fDm9vbytFT6QyAQHAX/4itj/8UG4sRGRbvr7WPU7DpBdDOTk5CA4OxltvvVXu85s3b0Z0dDRmz56N48ePIzQ0FJGRkThfYqbdkJAQdOzYscy/ixcvAgAaN26MH3/8EWfPnsWmTZtw+fJlu7w2IilMA6k//FDMPktEzik0FPD3r/h5nU78gcS7S6sk/db6yMhIREZGVvj8ypUrMX78eEyYMAEAEB8fj927d2Pt2rVYunQpAODo0aMWncvHxwedO3dGUlISHn/88XKPycvLQ15eXtHjrKwsAIDBYIDBYLDoPM7MlAPmQsW5+Otf4dKoEXT//S8KEhOh9O9vl9OqNh+SMB/FmAtz1syHLi4O+pEjoSu1X9GJPcYVK6AUFqr2DyNbvjeq06b0Yqgy+fn5OHr0KGbOnGm2f8CAATh48KBFbVy+fBl169ZFw4YNkZWVhaSkJDz//PMVHr906VLMnz+/zP69e/cWjT0iIDExUXYIqqHGXHTu1Qutdu1C+tKlOHbnjl3PrcZ8yMR8FGMuzFkjHy2Tk9EFovjRlRgPm9u0KU6OH490d3fgyy9rfR5bs8V74/bt2xYfq+pi6OrVqzAajfDx8THb7+Pjg0uXLlnURmpqKsaPHw9FUaAoCiZPnozOnTtXePysWbMQExNT9DgrKwsBAQEIDw9H06ZNa/ZCnIjBYEBiYiIiIiLg6uoqOxyp1JwLnbc3sGsX/H/4Ac379AEaNbL5OdWcDxmYj2LMhTmr5SM7Gy7PPgsAKFyxAkrnzmKwtK8vXPv2xf16Pe63Usy2Ysv3hunKjiVUXQyZ6HTmHYCKopTZV5GQkBCkpKRYfC53d3e4u7uX2e/q6sof4hKYj2KqzEXv3kC7dtCdPg3XbduAv//dbqdWZT4kYj6KMRfmap2P+HggIwNo3Rr6yZMBNzerxWZvtnhvVKc96QOoK+Pt7Q29Xl+mFygjI6NMbxERlaDTFQ+k5pxDRM4nLQ1YsUJsv/aaQxdCaqDqYsjNzQ0hISFlriUmJiaid+/ekqIichCjRgF6PXDoEPDrr7KjISJrmjsXyM0VvcBRUbKjcXjSi6Fbt24hJSWl6FLW2bNnkZKSUnTrfExMDNavX4/3338fp0+fxosvvojz589j4sSJEqMmcgC+vsDDD4vtDRukhkJEVnTiRHGP74oVoieYakX6mKEjR44gPDy86LFp8PKYMWOwYcMGjBgxApmZmViwYAHS09PRsWNHfPnll2jZsqWskIkcx7hxwBdfAB99BCxaJHqKiMixTZ8ultp4/HGgVy/Z0TgF6cVQWFhYlctjTJo0CZMmTbJTREROZPBgoGlT4OJF4OuvgUrm9CIiB/D118Du3YCrK/C/ufao9qRfJiMiG3JzA55+WmzzUhmRYzMagZdfFtsvvADcc4/ceJwIiyEiZ2dayX77duDaNZmREFFtbNwoxgs1agS8+qrsaJwKiyEiZ3f//UBwMJCfD3z6qexoiKgmbt8uLoBmzxaXv8lqWAwRaYFpzqE33hAF0b59osudiBzDqlVibqGWLYF//EN2NE6HxRCRFpiW4/jtN2DkSCA8HAgKAhISpIZFRBa4fFlMrAgAS5YAHh5y43FCLIaInF1CAvC3v5Xdn5YGDB/OgohI7ebPB27dArp1A558UnY0TonFEJEzMxqBqVPFnCSlmfZFR/OSGZFa/fIL8O67YnvFCqAOf23bArNK5MySk4HU1IqfVxTgwgVxHBGpz8yZ4o+VwYOBfv1kR+O0WAwRObP0dOseR0T2k5QE/PvfYub4ZctkR+PUWAwROTNfX+seR0T2UVgITJsmtv/+d6BdO7nxODkWQ0TOLDQU8PeveCFHnQ4ICBDHEZF6bN4MHD4M1K8PxMbKjsbpsRgicmZ6PbB6tdguryBSFCA+ngu4EqlJXh7wyitie8YMwMdHbjwawGKIyNlFRQFbtwItWpT/fMuW9o2HiCr31lvAuXOAnx8QEyM7Gk1gMUSkBVFR4sN1715g0ybx1TRfSUW33hOR/V27BixaJLYXLQI8PeXGoxEusgMgIjvR64GwsOLHrVsDO3YABw6I8QmczI1IvkWLgBs3gE6dgNGjZUejGewZItIqf38xhwkAvPyyWAiSiOT54w9xiQwQEyxyLJ/dsBgi0rJp04DAQDExY1yc7GiItO2VVwCDARgwQPwju2ExRKRldeuKv0ABManb+fNy4yHSqu++A7ZsEXd9Ll8uOxrNYTFEpHXDhwMPPgjcuQNMny47GiLtUZTiCRbHjgU6d5YajhaxGCLSOp1OzEWk04mB1FynjMi+tm8XNzLUrQssXCg7Gk1iMUREQJcuYsp/QNxqz1XsiezDYBATKwLASy9VPB8Y2RSLISISFi0CGjUCjh8HPvhAdjRE2rBuHfD770CzZrxMLRGLISIS7roLmDdPbL/yCnDzptx4iJzdzZvA/Plie/58oEEDufFoGIshIir2wgtA27bAlSscu0BkY3Xi4oCrV4H77gMmTJAdjqaxGCKiYm5uwKpVYnv1auDXX+XGQ+RsjEbo9u9Hq507USc+XuyLiwNcuCCETCyGiMhcZCQwaBBQUCAGdBKRdSQkAEFBcImIQOf166EzGMQfIPn5siPTPBZDRFTWypXiL9UvvgC++kp2NESOLyFBzOmVmmq+Pz8fePxx8TxJw2KIiMpq2xaYMkVsv/iiuP2XiGrGaBRTVihKxcdER3NKC4lYDBFR+ebMEXeY/for8PbbsqMhclzJyWV7hEpSFODCBU54KhGLISIqX+PGwOLFYjs2VtxhRkTVl55u3ePI6lgMEVHF/vY3MTv1zZuip4iIqs/X17rHkdWxGCKiiun14hZ7AHj3XSAlRWo4RA4pNLTyZTZ0OiAgQBxHUrAYIqLKPfgg8MQTYlxDdHTlg0CJqCy9Hujbt/zndDrxNT5eHEdSsBgioqrFxQEeHsD+/cC//iU7GiLHcukSsHOn2PbyMn/O3x/YuhWIirJ/XFSExRARVa1ly+JFJKdNA3Jz5cZD5EjmzQNycoCePYHLl1GQmIgjMTEoSEwEzp5lIaQCLIaIyDLTp4u/Yv/7XzEpIxFV7dQpYP16sb1iBeDiAqVfP6Q9+CCUfv14aUwlWAwRkWXq1ROXywBgyRIgLU1uPESOYMYMoLAQGDas4nFDJB2LISKy3JNPAn36ALdvAzNnyo6GSN327RNjhVxcgNdekx0NVYLFEBFZTqcTt9rrdMDHHwOHDsmOiEidCgvF+DoAeO454N575cZDlWIxRETVExICjBsntqdOFR/6RGTu00+Bo0eBBg3EAGpSNRZDRFR9ixeLD/nDh4GNG2VHQ6Qud+4Ar7witmfOFGv8kaqxGCKi6mvevHh5jpkzgexsufEQqcmbbwLnz4tZp6OjZUdDFmAxREQ1M2UK0Lq1mFBu0SLo9u9Hi6Qk6PbvB4xG2dERyZGZWbzA8eLFgKen3HjIIiyGiKhm3N2L5xuKi4NLRAS6rVwJl4gIICgISEiQGh6RFIsWiYWNg4OBUaNkR0MWcqnpN/7yyy/4/PPP0bhxY3To0AEdO3ZEw4YNrRkbEaldfn75+9PSgOHDucwAacsffwBvvy22ly/nhIoOpMY9Q5GRkcjPz8eNGzewbt06hIWFoW3bttaMjYjUzGiseDyEaTHX6GheMiPtmDULMBiAgQOBiAjZ0VA11LhnyNfXF7NnzzbbZ+SHHpF2JCcDqakVP68owIUL4riwMLuFRSTFd98Bn30m5uAyzdRODqPaPUMvvfQSPvroI4SHh+PDDz80e07PLkEi7UhPt+5xRI5KUYonWBw7FujcWWo4VH3V7hl68MEHceLECfz222/YunUrFi9ejG7duqFTp07o1KkTHnnkEVvESURq4+tr3eOIHNX27cCBA0DdusDChbKjoRqodjE0ZMgQDBkypOhxbm4uTp48iRMnTuDbb79lMUSkFaGhYhX7tLTiMUIl6XTi+dBQ+8dGZC8Gg1iMFQBeeknMLUQOx+Ji6ObNm3j55ZexZ88euLq6Ys+ePfD19UXdunXRvXt3dO/e3ZZxEpHa6PVinbLhw0XhU7Ig0unE1/h43lFDzm3dOuD334FmzYDp02VHQzVk8ZihSZMm4aeffkJcXBz++9//Ijc3FwAQHR2N1atX2yxAIlKxqChx+3zpv4b9/XlbPTm/mzeB+fPFdmysWKKGHJLFxdBXX32FNWvWICoqymyg9MMPP4yNXJuISLuiooBz51DwvxsqFFdX8ZcyCyFydsuWAVevAm3bAhMmyI6GaqFad5PVr1+/zL42bdrgzJkzVguIiByQXg9lxAgUeHhAZzCIyeeInNmFC8CqVWJ72TLA1VVuPFQrFhdDgwYNwqZNm8rsv3XrFnSm8QFEpF116iCrZUuxfeKE3FiIbG3OHLE6/YMPAo8+KjsaqiWLB1AvXboU3bp1AwAoigKdTofc3FwsWLAAXbt2tVmAROQ4bgYFwevXX4EffwSefFJ2OES2kZICfPSR2F6xoviGAXJYFhdDAQEBOHDgAJ5//nncvn0bPXr0QHZ2Nho2bIgvv/zSljESkYPICgoSG+wZImelKMDLL4uvTz4J8E5qp1CteYZat26NxMREnD9/Hj/++CNcXV3Rs2dPNGnSxFbxEZEDudmqldj48Ue5gRDZyu7dwDffAG5uwJIlsqMhK6nR2mSBgYEIDAy0dixE5OCyTWOG0tKAzEygaVO5ARFZk9EoeoUAYPJkwFT8k8Or8ar1RESlFdStC+Xuu8UDXiojZ/Phh8DJk0DjxkCphcrJsbEYIiKrUjp2FBsshsiZ5OSIO8gA8dXLS248ZFUshojIqhTTit0cN0TOZNUq4OJFcWnshRdkR0NWxmKIiKxK6dRJbLAYImdx+bKYWBEQg6bd3eXGQ1bHYoiIrKqoZ+jnn4GCArnBEFlDbCxw65a4jX7ECNnRkA2wGCIi62rVCqhfH8jLA377TXY0RLXzyy/Ae++JbU6w6LRYDBGRddWpA5gulXEQNTkioxHYtw/49FNg/HjxeMgQsfQGOSUWQ0RkfcHB4ivHDZGjSUgAgoKA8HBg5Ejg4EGx/6GHpIZFtsViiIiszzRuiD1D5EgSEoDhw4HU1LLPTZ0qnienpIliyMXFBV26dEGXLl0wYcIE2eEQOT/2DJGjMRpFwaMoFR8THS2OI6dTo+U4HE3jxo2RkpIiOwwi7TCNGeKyHOQokpPL7xEyURTgwgVxXFiY3cIi+9BEzxAR2VmDBgCX5SBHkp5u3ePIoUgvhpKSkjB48GD4+flBp9Nh+/btZY5Zs2YNWrVqBQ8PD4SEhCA5Obla58jKykJISAj69u2L/fv3WylyIqoUZ6ImR+Lra93jyKFIv0yWk5OD4OBgjBs3Do899liZ5zdv3ozo6GisWbMGffr0wbp16xAZGYlTp04hMDAQABASEoK8vLwy3/v111/Dz88P586dg5+fH06ePIm//vWv+Omnn9CwYcNy48nLyzNrKysrCwBgMBhgMBis8ZIdmikHzAVzUVrpfNTp2BH67dtRmJICowZzxPdHMYfIxQMPwKVFCyAtDeXNJKTodECLFih44AGglq/DIfJhJ7bMRXXa1ClKZaPF7Eun02Hbtm0YOnRo0b6ePXuia9euWLt2bdG+du3aYejQoVi6dGm1zxEZGYmFCxeiW7du5T4fGxuL+fPnl9m/adMmeHp6Vvt8RFrle+gQeixbhht33439K1fKDoeoSkFffYXO69aVKYZMvyQPz5iB9F697B0W1dDt27cxcuRI3Lx5s8IOEBNVF0P5+fnw9PTEZ599hmHDhhUdN3XqVKSkpFh0yev69evw9PSEu7s7UlNT0adPHxw/fhxeFaw4XF7PUEBAANLT09GUg0BhMBiQmJiIiIgIuLq6yg5HKubCXJl8/PEHXNu1g+LujoLr1wEX6R3RdsX3RzFHyYV+1CjU2bIFirs7dCV+Dyj+/jC+/jqUEr+HasNR8mEPtsxFVlYWvL29LSqGVP3pdPXqVRiNRvj4+Jjt9/HxwaVLlyxq4/Tp03juuedQp04d6HQ6rF69usJCCADc3d3hXs4ifK6urpp/05bEfBRjLswV5ePee4H69aG7dQuuZ88C7dvLDk0Kvj+KqToXP/wAbNkC6HTQHTwIZGWJwdK+vtCFhsJFr7f6KVWdDzuzRS6q056qiyETXam1YBRFKbOvIr1798ZPP/1ki7CIqDKmZTkOHRJ3lGm0GCIHoCjAtGlie/RooGtXufGQ3Um/m6wy3t7e0Ov1ZXqBMjIyyvQWEZEKcfJFcgQ7doj5gzw8gEWLZEdDEqi6GHJzc0NISAgSExPN9icmJqJ3796SoiIii/H2elI7gwGYMUNsv/gi4O8vNx6SQvplslu3buHMmTNFj8+ePYuUlBR4eXkhMDAQMTExeOaZZ9CtWzf06tUL7777Ls6fP4+JEydKjJqILGLqGeLEi6RW69cDv/4KeHsXF0WkOdKLoSNHjiA8PLzocUxMDABgzJgx2LBhA0aMGIHMzEwsWLAA6enp6NixI7788ku0bNlSVshEZCkuy0Fqlp0NxMaK7dhYoFEjmdGQRNKLobCwMFR1d/+kSZMwadIkO0VERFZjWpbjzz9F71CJP3yIpIuLAzIyxJ2Pzz4rOxqSSNVjhojICXAQNalRWhrw+uti+7XXAN7irmkshojItkyDqDluiNRk7lwgNxfo0wcoseoBaROLISKyLfYMkdqcOAF88IHYXrECsHDeOnJeLIaIyLZMPUM//wwUFMiNhQgApk8XEy0+/jjwwAOyoyEVYDFERLbVqhVQvz6Qlwf89pvsaEjrEhOB3bvFGKEaLPZNzonFEBHZlmlZDoCXykguoxF4+WWxPWkScM89cuMh1WAxRES2x8kXSQ0+/lgU5I0aAXPmyI6GVITFEBHZHpflINlyc4FXXxXbs2dzAlAyw2KIiGyPPUMkW3w8kJoKtGwJ/OMfsqMhlWExRES2V3pZDiJ7unKleLD04sVidXqiElgMEZHtmZblAHipjOxvwQKxDlnXrsBTT8mOhlSIxRAR2QcvlZEMv/0GvPOO2F6xQtzdSFQK3xVEZB8cRE0yzJwpJvv861+5UDBViMUQEdkHe4bI3v7zH2DbNtEbFBcnOxpSMRZDRGQfXJaD7ElRiidYHD8eaN9ebjykaiyGiMg+uCwH2dPWrcB33wH16gHz58uOhlSOxRAR2QeX5SB7yc8HZs0S2y+/DPj6yo2HVI/FEBHZD8cNkT2sXQv88QfQvDnw0kuyoyEHwGKIiOzHVAyxZ4hs5cYNMa8QIL7Wry81HHIMLIaIyH54ez3Z2pIlwLVrYsD0uHGyoyEHwWKIiOzHNGbo4kXg6lW5sZDz+e9/gTfeENtxcYCLi9x4yGGwGCIi+ym5LAfHDZG1zZ4t7lYMDwcGDZIdDTkQFkNEZF8cRE22cPQo8MknYnv5ckCnkxsPORQWQ0RkXxw3RNZiNAL79gGbNgETJoh9Tz8NhIRIDYscDy+oEpF9sWeIrCEhAZg6FUhNNd8fGionHnJoLIaIyL5MxZBpWQ4OcqXqSkgAhg8XS26U9vzzwF13AVFR9o+LHBYvkxGRfQUFFS/L8euvsqMhR2M0ih6h8gohk+hocRyRhVgMEZF91alTPG6Il8qoupKTy14aK0lRgAsXxHFEFmIxRET2x0HUVFPp6dY9jggshohIBg6ippqydNFVLs5K1cBiiIjsjz1DVFOhoYC/f8XP63RAQADvKqNqYTFERPbHZTmopvT6ileiN020GB8vjiOyEIshIrI/LstBtfHNN+Krh4f5fn9/YOtW3lZP1cYJPohIjuBg4M8/RTHUv7/saMhR7N0LfPGFmJ/q2DHg8mUxWNrXV1waY48Q1QCLISKSIzgY2LaN44bIcoWFwLRpYnviRKBdO/GPqJZ4mYyI5OAgaqquTZtEb1DDhsDcubKjISfCYoiI5Ci9LAdRZe7cAWbPFtszZ4olN4ishMUQEclhWpYjP5/LclDV3ngDOH9eDJKOjpYdDTkZFkNEJAeX5SBLZWYCS5aI7UWLgLp15cZDTofFEBHJw3FDZImFC4GbN8Wl1VGjZEdDTojFEBHJw2U5qCp//AGsWSO2ly/nrfNkEyyGiEge9gxRVWbNAgwGYOBAICJCdjTkpFgMEZE8XJaDKnPoEPDZZ2J82fLlsqMhJ8ZiiIjkadAAuOcesc1LZVSSohRPsDh2bHHhTGQDLIaISC5eKqPybNsGHDwo7hxbsEB2NOTkWAwRkVwcRE2lGQxiYkVArFDfooXceMjpsRgiIrnYM0SlrVsH/P470KwZMH267GhIA1gMEZFcXJaDSrp5E5g/X2zHxopxZUQ2xmKIiOTishxU0rJl4s7Ctm2BCRNkR0MawWKIiOTishxkcuECsGqV2F62DHB1lRsPaQaLISKSj+OGCADmzBGr04eGAo8+Kjsa0hAWQ0Qkn2ncEIsh7UpJAT76SGyvWAHodFLDIW1hMURE8vH2em1TFODll8XXJ58EevSQHRFpDIshIpKvY0fxlctyaNPu3cA33wBubsCSJbKjIQ1iMURE8nFZDu0yGkWvEABMngy0aiU3HtIkFkNEpA4cRK1NH34InDwJNG4MzJ4tOxrSKBZDRKQOHDekPTk54g4yAHj1VcDLS248pFkshohIHdgzpD2rVolxYkFB4hIZkSQshohIHUouy2EwyI2FbO/yZTGxIiAGTbu7y42HNI3FEBGpQ1CQGEidnw/89pvsaMjWYmOBW7eAbt2AESNkR0Max2KIiNShTh2gUyexzUtlzu2XX4D33hPbK1aI/3siifgOJCL14CBqbZgxQ9xS/+ijQL9+sqMhYjFERCrCQdTOLykJ2LED0OuLxwwRScZiiIjUgz1Dzq2wEJg2TWz//e/AfffJjYfof1xkB0BEVKT0shze3nLjodozGqHbvx8tkpJQ54cfgMOHgfr1xQBqIpVgMURE6mFaluOPP0TvUP/+siOi2khIAKZOhUtqKrqV3P/II4CPj6yoiMrgZTIiUheOG3IOCQnA8OFAamrZ5zZvFs8TqQSLISJSF9O4IRZDjstoBKZOBRSl4mOio8VxRCrg9MXQr7/+ii5duhT9q1u3LrZv3y47LCKqCAdRO77k5PJ7hEwUBbhwQRxHpAJOP2aobdu2SElJAQDcunULQUFBiIiIkBsUEVXMdJnMtCyHq6vceKj60tOtexyRjTl9z1BJO3bswEMPPYR69erJDoWIKsJlORyfr691jyOyMenFUFJSEgYPHgw/Pz/odLpyL2GtWbMGrVq1goeHB0JCQpBcw67VLVu2YATXwCFSNy7L4fhCQwF/f0CnK/95nQ4ICBDHEamA9MtkOTk5CA4Oxrhx4/DYY4+VeX7z5s2Ijo7GmjVr0KdPH6xbtw6RkZE4deoUAgMDAQAhISHIy8sr871ff/01/Pz8AABZWVk4cOAA/vnPf1YaT15enllbWVlZAACDwQADV9IuygFzwVyUZs181OnUCfqDB2E8fhyFjz9e6/Zk0Pr7Q/f669CPGIHS5ZDyvwLJuGIFlMJCMRGjxmj9vVGSLXNRnTZ1ilLZcH/70ul02LZtG4YOHVq0r2fPnujatSvWrl1btK9du3YYOnQoli5danHbGzduxO7du/Hxxx9XelxsbCzmz59fZv+mTZvg6elp8fmIqOaCdu1C8Dvv4HLXrvhu7lzZ4VANeJ84gT5z50IBzAqi297eODl+PNJ79ZIVGmnE7du3MXLkSNy8eRMNGzas9FjpPUOVyc/Px9GjRzFz5kyz/QMGDMDBgwer1daWLVvw7LPPVnncrFmzEBMTU/Q4KysLAQEBCA8PR9OmTat1TmdkMBiQmJiIiIgIuGp8YCtzYc6a+dB5eQHvvINm6ekYNGiQlSK0L02/PxQF+oULAQCFzz0Hw9ChOJmYiI4REXANC8P9ej3ulxyiTJp+b5Riy1yYruxYQtXF0NWrV2E0GuFTaqZSHx8fXLp0yeJ2bt68iR9++AH/+te/qjzW3d0d7u7uZfa7urpq/k1bEvNRjLkwZ5V8dOkCANClp8P1xg3grrtqHZcsmnx/bNkCHD0K1K8P/YIFKGzSBGl5eQh+6CHt5aISmnxvVMAWuahOe9IHUFtCV2oQnqIoZfZVplGjRrh8+TLc3NysHRoR2YJpWQ6A8w05GoMBeOUVsT1tGtCsmdx4iCyg6mLI29sber2+TC9QRkZGmd4iInIynHzRMb33nlhbrlkzoMSQAyI1U3Ux5ObmhpCQECQmJprtT0xMRO/evSVFRUR2wTXKHE92NmC6AWXePNHDR+QApI8ZunXrFs6cOVP0+OzZs0hJSYGXlxcCAwMRExODZ555Bt26dUOvXr3w7rvv4vz585g4caLEqInI5tgz5HhWrgQyMoDWrYG//112NEQWk14MHTlyBOHh4UWPTXdyjRkzBhs2bMCIESOQmZmJBQsWID09HR07dsSXX36Jli1bygqZiOyBy3I4lsuXgRUrxPbixfz/IocivRgKCwtDVVMdTZo0CZMmTbJTRESkCqZlObKzxbIcHTrIjogqs3AhcOsW0L074KATZZJ2qXrMEBFpGJflcBxnzgDr1ontZcsqXoaDSKVYDBGRepnGDbEYUrdXXwUKCoCHHwZKDHsgchQshohIvUw9Q7t2Afv2AUaj9do2GkWbn35qk7Z1+/ejRVISdPv3W7dttTlyBNi8WfQGvfaa7GiIaoTFEBGpU0ICEBsrtk+cED0OQUFivzXaDgoSbY4caZO2XSIi0G3lSrhERFivbbVRFGDGDLE9alRxTx6Rg2ExRETqk5AADB8ubtMuKS1N7K9NYWFqOzXVsdpWo6+/BvbsAdzcgAULZEdDVGPS7yYjIjJjNAJTp4peh9IURVyO+cc/gJ49Ab2++m1Pniyv7ehoYMiQ6retRoWFxb1CL7wger+IHBSLISJSl+Tksj0rJSkKcPEi4O9v/XPbuu0LF8TrCwuzfvv2tmmTGNjesCEwe7bsaIhqhcUQEalLerplx+l01b+FW1HK77mxZ9uWvj41y8sTd5ABwMyZQNOmcuMhqiWOGSIidfH1tey4PXvEpanq/NuzR37blr4+NVu7FvjvfwE/P3FJk8jBsRgiInUJDRWXqSrqmdHpgIAAcZxW2laTmzeBRYvE9vz5gKen3HiIrIDFEBGpi14PrF4ttksXFqbH8fE1G4Qsq22TmratJnFxQGYmcN99wNixsqMhsgoWQ0SkPlFRwNatQIsW5vv9/cX+qCjHartOHTHguDZtq8HFi8CqVWJ76VLAhcNOyTnwnUxE6hQVJW5DT04Wg459fcUlJmv0rNih7YK9e/Hjzp3oumkTdFeuANeu1b5t2WJjgdxcoHdvkT8iJ8FiiIjUS6+33W3oNm5b6dcPqTk56HL33dBPnSoWMJ0wQUxQ6Ih++QX4v/8T21yMlZwML5MREdlQ4bhxQPPmwPnzwMcfyw6n5l55RUy0+OijQN++sqMhsioWQ0REtuThAbz8stheskSs7u5oDh4Etm0TY5+WLpUdDZHVsRgiIrK1554DvL2BP/4QK7w7kpKLsY4bB7RvLzceIhtgMUREZGv16gExMWJ78WJxuclR7NwJ/Oc/oocrNlZ2NEQ2wWKIiMgeXngBaNwYOH3acVavLygQy20AYpFZW6zZRqQCLIaIiOyhYcPipSsWLbJsHTPZPvoIOHUKaNKk+FIZkRNiMUREZC9TpgD164vV3nfulB1N5XJzgblzxfbs2aJXi8hJsRgiIrIXLy9g8mSxvXChunuH3ngDSEsDAgPFJT4iJ8ZiiIjInl58EahbFzh8GEhMlB1N+a5dK76FfuFCMXiayImxGCIisqdmzYCJE8W2WnuHli4Vq9N36gQ8/bTsaIhsjsUQEZG9TZsmluX4z3+ApCTZ0QhGI7BvH/Dmm8Dq1WLfsmXWWa+NSOVYDBER2ZufHzB+vNheuFBuLIC41T8oCAgPF4O8DQbA3R24fVt2ZER2wWKIiEiGGTMAFxfg22+BQ4fkxZGQAAwfDqSmmu/PywMef9xx5kQiqgUWQ0REMrRsCYweLbYXLZITg9Eo5j6qbNxSdLQ4jsiJsRgiIpJl1iyx+OmXXwLHjtn//MnJZXuESlIU4MIFcRyRE2MxREQkS+vWwFNPie3Fi+1//vR06x5H5KBYDBERyfTKK4BOJ8bmnDxp33P7+lr3OCIHxWKIiEim9u2Bxx4T20uW2PfcPj7iMl1FdDogIAAIDbVfTEQSsBgiIpLt1VfF182bgd9+s885U1OBhx8GCgvFY53O/HnT4/h4zjVETo/FEBGRbMHBwODBojAxLYNhS1evAhERwPnzwL33Au+/D7RoYX6Mvz+wdSsQFWX7eIgkYzFERKQGpt6hjRuBs2dtd57sbCAyEvjlF1HwfP01MG4ccO4csHcvsGmT+Hr2LAsh0gwWQ0REatCjBzBggJjTZ9ky25zjzh1gyBDgyBHA21ssFNuypXhOrwfCwsTdbWFhvDRGmsJiiIhILUy9Qx98UPn8PzVRUAA8+aTo9alfH/jqK+C++6x7DiIHxWKIiEgtQkOBfv2A/Hxg+XLrtVtYCEyYAPz732LNsR07gG7drNc+kYNjMUREpCam3qF33wUuXap9e4oCvPQS8OGH4tLX5s1iQVYiKsJiiIhITR56CHjgATG+Z+XK2re3eLG4PR4Qd40NGVL7NomcDIshIiI10emKe4fWrBG3wdfU228Dc+aI7fj44oVhicgMiyEiIrUZNAi4/34gJwdYvbpmbWzaBEyeLLbnzhWr0xNRuVgMERGpTcneoTfeAG7cqN73f/EFMGaM2J48GYiNtWZ0RE6HxRARkRoNHQp06ABkZQFvvWX59yUnA8OHi1vpn35a9CyVXmqDiMywGCIiUqM6dYDZs8X2qlXArVtVf8/x48Ajj4jB1488IuYrqmwhViICwGKIiEi9nngCaNMGuHYNWLu28mN/+w0YOFD0JD34ILBlC+Dqap84iRwciyEiIrXS64FXXhHbK1YAubnlH5eaKhZevXJFDLzesQOoW9d+cRI5OBZDRERq9vTTQFAQkJEBvPde2edLr0C/axfQqJHdwyRyZC6yAyAiokq4ugIzZwITJ4oFXO+7D8jMBHx9gS5dzFegT0wEmjWTHTGRw2ExRESkdmPHArNmARcvinFBJu7uQF5e8Qr0gYHSQiRyZLxMRkSkdl98AVy/XnZ/Xp74On06V6AnqgUWQ0REamY0Vj179JtviuOIqEZYDBERqVlysrhbrDIXLojjiKhGWAwREalZerp1jyOiMlgMERGpma+vdY8jojJYDBERqVloqLhtvqL1xXQ6ICBAHEdENcJiiIhIzfR6sdgqULYgMj2OjxfHEVGNsBgiIlK7qChg61agRQvz/f7+Yn9UlJy4iJwEJ10kInIEUVHAkCHirrH0dDFGKDSUPUJEVsBiiIjIUej1QFiY7CiInA4vkxEREZGmsRgiIiIiTWMxRERERJrGYoiIiIg0jcUQERERaRqLISIiItI0FkNERESkaSyGiIiISNNYDBEREZGmcQbqKiiKAgDIzs6Gq6ur5GjkMxgMuH37NrKysjSfD+bCHPNhjvkoxlyYYz6K2TIXWVlZAIp/j1eGxVAVMjMzAQCtWrWSHAkRERFVV3Z2Nho1alTpMSyGquDl5QUAOH/+fJXJ1IKsrCwEBATgwoULaNiwoexwpGIuzDEf5piPYsyFOeajmC1zoSgKsrOz4efnV+WxLIaqUKeOGFbVqFEjzb9pS2rYsCHz8T/MhTnmwxzzUYy5MMd8FLNVLiztxOAAaiIiItI0FkNERESkaSyGquDu7o558+bB3d1ddiiqwHwUYy7MMR/mmI9izIU55qOYWnKhUyy554yIiIjISbFniIiIiDSNxRARERFpGoshIiIi0jQWQ0RERKRpLIaIiIhI01gM1cKFCxcQFhaG9u3bo3Pnzvjss8/Mnh82bBiaNGmC4cOHS4rQ/ip7zatWrUKHDh3Qvn17TJkyxaLF8xxdZflwcXFBly5d0KVLF0yYMEFCdPZVUS6q+jnSghUrVqBDhw7o2LEjPv74Y9nhSHX27FmEh4ejffv26NSpE3JycmSHJE12dja6d++OLl26oFOnTnjvvfdkh2R3O3fuRNu2bdGmTRusX7/edidSqMYuXryoHD9+XFEURbl8+bLSokUL5datW0XP79mzR9mxY4fy2GOPSYrQ/ip6zRkZGcrdd9+t5ObmKgUFBUrv3r2VgwcPSorSfip7DzRt2lRCRPJUlIuqfo6c3YkTJ5T7779fyc3NVXJzc5XevXsr169flx2WNA8++KCSlJSkKIqiZGZmKgaDQXJE8hQUFCg5OTmKoihKTk6O0qpVK+Xq1auSo7Ifg8GgtGnTRklNTVWysrKU1q1bK5mZmTY5F3uGasHX1xddunQBADRr1gxeXl64du1a0fPh4eFo0KCBpOjkqOw1FxQU4M6dOzAYDDAYDGjWrJmdo7M/Lb4HKlJRLqr6OXJ2p0+fRu/eveHh4QEPDw906dIFu3btkh2WFD///DNcXV0RGhoKQCyU7eKi3SU09Xo9PD09AQB37tyB0WjURI+6yQ8//IAOHTqgRYsWaNCgAQYNGoTdu3fb5FxOXQwlJSVh8ODB8PPzg06nw/bt28scs2bNGrRq1QoeHh4ICQlBcnJyjc515MgRFBYWIiAgoJZR244981HaXXfdhWnTpiEwMBB+fn74y1/+gnvuuccqbdeUzHwAYrXmkJAQ9O3bF/v377dauzUhOxcmavw5snVuOnbsiL179+LGjRu4ceMG9uzZg7S0NCu+AuuxdS5+//131K9fH48++ii6du2KJUuWWDF667PHz82NGzcQHBwMf39/TJ8+Hd7e3laK3vZqm5+LFy+iRYsWRY/9/f1t9rPh1MVQTk4OgoOD8dZbb5X7/ObNmxEdHY3Zs2fj+PHjCA0NRWRkJM6fP190TEhICDp27Fjm38WLF4uOyczMxOjRo/Huu+/a/DXVhr3yUZ7r169j586dOHfuHNLS0nDw4EEkJSVZ9fVVl8x8AMC5c+dw9OhRvPPOOxg9ejSysrKs9tqqS3YuAPX+HNk6N6YxdP3798ewYcPQvXt31faG2DoXBoMBycnJePvtt3Ho0CEkJiYiMTHRXi+v2uzxc9O4cWP8+OOPOHv2LDZt2oTLly/b5bVZQ23zU14vmE6ns02wNrn4pkIAlG3btpnt69GjhzJx4kSzfffdd58yc+ZMi9u9c+eOEhoaqnz00UflPr93715VjhmyVT4UpfzXvGXLFmXSpElFj+Pi4pRly5ZVL2gbsnc+Snv44YeVw4cPV6tdW5GRi6p+jtTClrkxGT9+vLJz586ahmg3tsjFwYMHlYEDBxY9jouLU+Li4modqz3Y470xceJEZcuWLTUNUaqa5OfAgQPK0KFDi56bMmWK8sknn9gkPqfuGapMfn4+jh49igEDBpjtHzBgAA4ePGhRG4qiYOzYsejfvz+eeeYZW4RpN9bIR2UCAgJw8ODBouve+/btQ9u2bWvdrq3YOh/Xr19HXl4eACA1NRWnTp3C3XffXet2bcHWuXDknyNr5SYjIwMA8Ouvv+KHH37AwIEDrRqnPVgjF927d8fly5dx/fp1FBYWIikpCe3atbNFuDZnjXxcvny5qMc4KysLSUlJqv7crA5L8tOjRw+cPHkSaWlpyM7Oxpdffmmznw119sXawdWrV2E0GuHj42O238fHB5cuXbKojQMHDmDz5s3o3Llz0bXQjRs3olOnTgCAgQMH4tixY8jJyYG/vz+2bduG7t27W/V1WIs18gFU/JofeOABDBo0CPfffz/q1KmDhx56CI8++qi1X4bV2Dofp0+fxnPPPYc6depAp9Nh9erV8PLysvbLsApb56KqnyM1s1Zuhg4dihs3bqBevXr44IMPVHuZrDLWyIWLiwuWLFmCBx98EIqiYMCAAXjkkUdsEa7NWSMfqampGD9+PBRFgaIomDx5Mjp37myLcO3Okvy4uLjg9ddfR3h4OAoLCzF9+nQ0bdrUJvE43k+clZW+/qgoisXXJPv27YvCwsIKn7fVqHdbqk0+gMpf8+LFi7F48eIaxyaDrfLRu3dv/PTTT7WKzd5slYuqfo4cQW1zY40eNrWobS4iIyMRGRlp7bCkqU0+QkJCkJKSYoOo1KOq/Dz66KN2+cNZs5fJvL29odfry1ToGRkZZSpVLWA+zDEfxZiLijE3xZgLc8xH5dSWH80WQ25ubggJCSlzp0JiYiJ69+4tKSp5mA9zzEcx5qJizE0x5sIc81E5teXHqS+T3bp1C2fOnCl6fPbsWaSkpMDLywuBgYGIiYnBM888g27duqFXr1549913cf78eUycOFFi1LbDfJhjPooxFxVjbooxF+aYj8o5VH5sco+aSuzdu1cBUObfmDFjio55++23lZYtWypubm5K165dlf3798sL2MaYD3PMRzHmomLMTTHmwhzzUTlHyo9OUTQ0tzcRERFRKZodM0REREQEsBgiIiIijWMxRERERJrGYoiIiIg0jcUQERERaRqLISIiItI0FkNERESkaSyGiIiISNNYDBEREZGmsRgiIs0JCwtDdHS07DCISCVYDBEREZGmsRgiIiIiTWMxRESaVFhYiOnTp8PLywvNmzdHbGys7JCISBIWQ0SkSR9++CHq1auH77//HnFxcViwYAESExNlh0VEEugURVFkB0FEZE9hYWEwGo1ITk4u2tejRw/0798fr732msTIiEgG9gwRkSZ17tzZ7LGvry8yMjIkRUNEMrEYIiJNcnV1NXus0+lQWFgoKRoikonFEBEREWkaiyEiIiLSNBZDREREpGm8m4yIiIg0jT1DREREpGkshoiIiEjTWAwRERGRprEYIiIiIk1jMURERESaxmKIiIiINI3FEBEREWkaiyEiIiLSNBZDREREpGkshoiIiEjTWAwRERGRpv0/YFjyeal/WmwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "def f(x):\n", " return (np.sqrt(x))\n", "x0 = 1\n", "I = np.arange(0, 21, dtype=np.float64)\n", "h = pow(10, -I)\n", "print(h)\n", "deltah = abs( (f(x0+h)-f(x0))/h - 0.5)\n", "plt.loglog(h, deltah, 'o-r')\n", "plt.grid()\n", "plt.xlabel('h'); plt.ylabel('$e_h$')\n", "plt.title(\"Influence du pas $h$ sur l'erreur\")" ] }, { "cell_type": "code", "execution_count": null, "id": "503a1184-6c7f-4ad9-b08f-0f70a1cc336b", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "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.11.5" }, "toc-autonumbering": false, "toc-showcode": true, "toc-showmarkdowntxt": false }, "nbformat": 4, "nbformat_minor": 5 }