{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Ecuaciones Diferenciales con Python" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Esta notebook fue creada originalmente como un blog post por [Raúl E. López Briega](http://relopezbriega.com.ar/) en [Matemáticas, análisis de datos y python](http://relopezbriega.github.io). El contenido esta bajo la licencia BSD.*" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\"Ecuaciones" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Introducción\n", "\n", "Vivimos en un mundo en constante cambio. La posición de la Tierra cambia con el tiempo; la velocidad de un objeto en caída libre cambia con la distancia; el área de un círculo cambia según el tamaño de su *radio*; la trayectoria de un proyectil cambia según la velocidad y el ángulo de disparo.\n", "Al intentar modelar matemáticamente cualquiera de estos fenómenos, veremos que generalmente adoptan la forma de una o más [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial). \n", "\n", "**_Nota_**: Antes de continuar leyendo, si no tienen frescos sus conocimientos básicos de [Cálculo integral](https://es.wikipedia.org/wiki/Integraci%C3%B3n) y [Cálculo diferencial](https://es.wikipedia.org/wiki/C%C3%A1lculo_diferencial); les recomiendo que visiten mi anterior artículo de [Introducción al Cálculo](http://relopezbriega.github.io/blog/2015/12/02/introduccion-al-calculo-con-python/).\n", "\n", "## ¿Qué es una ecuación diferencial?\n", "\n", "Una [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) es una ecuación que involucra una variable dependiente y sus [derivadas](https://es.wikipedia.org/wiki/Derivada) con respecto a una o más variables independientes. Muchas de las leyes de la naturaleza, en [Física](https://es.wikipedia.org/wiki/F%C3%ADsica), [Química](https://es.wikipedia.org/wiki/Qu%C3%ADmica), [Biología](https://es.wikipedia.org/wiki/Biolog%C3%ADa), y [Astronomía](https://es.wikipedia.org/wiki/Astronom%C3%ADa); encuentran la forma más natural de ser expresadas en el lenguaje de las [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial). Estas ecuaciones no sólo tienen aplicaciones en la ciencias físicas, sino que también abundan sus aplicaciones en las ciencias aplicadas como ser [Ingeniería](https://es.wikipedia.org/wiki/Ingenier%C3%ADa), [Finanzas](https://es.wikipedia.org/wiki/Finanzas) y [Economía](https://es.wikipedia.org/wiki/Econom%C3%ADa). \n", "\n", "Es fácil entender la razón detrás de esta amplia utilidad de las [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial). Si recordamos que $y = f(x)$ es una [función](https://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica), entonces su [derivada](https://es.wikipedia.org/wiki/Derivada) $dy / dx$ puede ser interpretada como el *ritmo de cambio* de $y$ con respecto a $x$. En muchos procesos naturales, las variables involucradas y su *ritmo de cambio* están conectados entre sí por medio de los principios científicos básicos que rigen el proceso. Cuando esta conexión es expresada matemáticamente, el resultado generalmente es una [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial).\n", "\n", "Para ilustrar el caso, veamos un ejemplo. Según la [segunda ley de la dinámica de Newton](https://es.wikipedia.org/wiki/Leyes_de_Newton#Segunda_Ley_de_Newton_o_Ley_Fundamental_de_la_din.C3.A1mica), la [aceleración](https://es.wikipedia.org/wiki/Aceleraci%C3%B3n) $a$ de un cuerpo de [masa](https://es.wikipedia.org/wiki/Masa) $m$ es proporcional a la [fuerza](https://es.wikipedia.org/wiki/Fuerza) total $F$ que actúa sobre él. Si expresamos esto matemáticamente en la forma de una ecuación, entonces tememos que:\n", "\n", "$$F = ma$$\n", "\n", "A primera vista, esta ecuación no parece ser una [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial), pero supongamos que un objeto de [masa](https://es.wikipedia.org/wiki/Masa) $m$ esta en caída libre bajo la influencia de la [fuerza](https://es.wikipedia.org/wiki/Fuerza) de [gravedad](https://es.wikipedia.org/wiki/Gravedad). En este caso, la única [fuerza](https://es.wikipedia.org/wiki/Fuerza) actuando sobre el objeto es $mg$, donde $g$ es la [aceleración](https://es.wikipedia.org/wiki/Aceleraci%C3%B3n) debido a la [gravedad](https://es.wikipedia.org/wiki/Gravedad). Si consideramos a $u$, como la posición del objeto desde una altura determinada; entonces la [velocidad](https://es.wikipedia.org/wiki/Velocidad) de caída del objeto va a ser igual al *ritmo de cambio* de la posición $u$ con respecto al tiempo $t$; es decir que la [velocidad](https://es.wikipedia.org/wiki/Velocidad) es igual a $v = du / dt$, o sea, la [derivada](https://es.wikipedia.org/wiki/Derivada) de la posición del objeto con respecto al tiempo; y como la [aceleración](https://es.wikipedia.org/wiki/Aceleraci%C3%B3n) no es otra cosa que el *ritmo de cambio* de la [velocidad](https://es.wikipedia.org/wiki/Velocidad), entonces podemos definir a la [aceleración](https://es.wikipedia.org/wiki/Aceleraci%C3%B3n) como una segunda [derivada](https://es.wikipedia.org/wiki/Derivada) de la posición del objeto con respecto al tiempo, lo que es igual a decir que $g = d^2u / dt^2$. De esta forma, podemos reescribir la ecuación inicial de la [segunda ley de la dinámica de Newton](https://es.wikipedia.org/wiki/Leyes_de_Newton#Segunda_Ley_de_Newton_o_Ley_Fundamental_de_la_din.C3.A1mica) como la siguiente [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial).\n", "\n", "$$F = m\\frac{d^2u}{dt^2}$$\n", "\n", "De esta manera, estamos expresando a la [segunda ley de la dinámica de Newton](https://es.wikipedia.org/wiki/Leyes_de_Newton#Segunda_Ley_de_Newton_o_Ley_Fundamental_de_la_din.C3.A1mica) en función de la posición del objeto. \n", "\n", "### Ecuaciones diferenciales ordinarias y parciales\n", "\n", "El caso precedente, es el caso típico de una [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), ya que todas las [derivadas](https://es.wikipedia.org/wiki/Derivada) involucradas son tomadas con respecto a una única y misma variable independiente. Por otro lado, si en la ecuación tenemos [derivadas](https://es.wikipedia.org/wiki/Derivada) de más de una variable independiente, debemos hablar de [Ecuaciones difenciales parciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_en_derivadas_parciales). Por ejemplo, si $w = f(x, y, z, t)$ es una función de tiempo y 3 coordenadas de un punto en el espacio, entonces las siguientes son sus [Ecuaciones diferenciales parciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_en_derivadas_parciales):\n", "\n", "$$\\frac{\\partial^2 w}{\\partial x^2} + \\frac{\\partial^2 w}{\\partial y^2} + \\frac{\\partial^2 w}{\\partial z^2} = 0;\n", "\\\\\n", "\\\\\n", "a^2\\left(\\frac{\\partial^2 w}{\\partial x^2} + \\frac{\\partial^2 w}{\\partial y^2} + \\frac{\\partial^2 w}{\\partial z^2}\\right) = \\frac{\\partial w}{\\partial t};\n", "\\\\\n", "\\\\\n", "a^2\\left(\\frac{\\partial^2 w}{\\partial x^2} + \\frac{\\partial^2 w}{\\partial y^2} + \\frac{\\partial^2 w}{\\partial z^2}\\right) = \\frac{\\partial^2 w}{\\partial t^2}.\n", "$$ \n", "\n", "En esta caso, el símbolo $\\partial$, es la notación matemática para expresar que estamos derivando parcialmente, así por ejemplo, si queremos expresar que vamos a derivar z con respecto a x, escribimos $\\partial z / \\partial x$.\n", "\n", "Estos ejemplos, tienen una gran aplicación en [Física](https://es.wikipedia.org/wiki/F%C3%ADsica) y se conocen como la [ecuación de Laplace](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_de_Laplace), la [ecuación del calor](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_del_calor) y la [ecuación de onda](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_de_onda) respectivamente. En general, las [Ecuaciones diferenciales parciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_en_derivadas_parciales) surgen en problemas de [campos eléctricos](https://es.wikipedia.org/wiki/Campo_el%C3%A9ctrico), [mecánica de fluidos](https://es.wikipedia.org/wiki/Mec%C3%A1nica_de_fluidos), difusión y movimientos de [ondas](https://es.wikipedia.org/wiki/Onda). La teoría de estas ecuaciones es bastante diferente con respecto a las [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) y suelen ser también más complicadas de resolver. En este artículo me voy a enfocar principalmente en las [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), o [EDOs](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) para abreviar.\n", "\n", "### Orden de las Ecuaciones diferenciales\n", "\n", "El *orden* de una [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) va a ser igual al *orden* de la mayor [derivada](https://es.wikipedia.org/wiki/Derivada) presente. Así, en nuestro primer ejemplo, la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) de la [segunda ley de la dinámica de Newton](https://es.wikipedia.org/wiki/Leyes_de_Newton#Segunda_Ley_de_Newton_o_Ley_Fundamental_de_la_din.C3.A1mica) es de segundo orden, ya que nos encontramos ante la segunda derivada de la posición del objeto con respecto al tiempo. \n", "La ecuación general de las [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) de grado $n$ es la siguiente:\n", "\n", "$$F\\left(x, y, \\frac{dy}{dx}, \\frac{d^2y}{dx^2}, \\dots , \\frac{d^ny}{dx^n}\\right) = 0 $$\n", "\n", "o utilizando la notación prima para las [derivadas](https://es.wikipedia.org/wiki/Derivada),\n", "\n", "$$F(x, y, y', y'', \\dots, y^{(n)}) = 0$$\n", "\n", "La más simple de todas las [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) es la siguiente ecuación de primer orden:\n", "\n", "$$ \\frac{dy}{dx} = f(x)$$ \n", "\n", "y para resolverla simplemente debemos calcular su [integral indefinida](https://es.wikipedia.org/wiki/Integraci%C3%B3n_indefinida):\n", "\n", "$$y = \\int f(x) dx + c$$.\n", "\n", "### Ecuaciones diferenciales separables\n", "\n", "Una *ecuación separable* es una [ecuación diferencial de primer orden](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria_de_primer_orden) en la que la expresión para\n", "$dx / dy$ se puede factorizar como una función de x multiplicada por una función de y. En otras palabras, puede ser\n", "escrita en la forma:\n", "\n", "$$\\frac{dy}{dx} = f(x)g(y)$$\n", "\n", "El nombre *separable* viene del hecho de que la expresión en el lado derecho se puede \"separar\" en una función de $x$ y una función de $y$.\n", "\n", "Para resolver este tipo de ecuaciones, podemos reescribirlas en la forma diferencial:\n", "\n", "$$\\frac{dy}{g(y)} = f(x)dx$$\n", "\n", "y luego podemos resolver la ecuación original integrando:\n", "\n", "$$\\int \\frac{dy}{g(y)} = \\int f(x) dx + c$$\n", "\n", "Éstas suelen ser las [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) más fáciles de resolver, ya que el problema de resolverlas puede ser reducido a un problema de [integración](https://es.wikipedia.org/wiki/Integraci%C3%B3n); a pesar de que igualmente muchas veces estas integrales pueden ser difíciles de calcular.\n", "\n", "### Ecuaciones diferenciales lineales\n", "\n", "Uno de los tipos más importantes de [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) son las [Ecuaciones diferenciales lineales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_lineal). Este tipo de ecuaciones son muy comunes en varias ciencias y tienen la ventaja de que pueden llegar a ser resueltas en forma analítica ya que su [ecuación diferencial de primer orden](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria_de_primer_orden) adopta la forma:\n", "\n", "$$\\frac{dy}{dx} + P(x)y = Q(x) $$\n", "\n", "donde, $P$ y $Q$ son funciones continuas de $x$ en un determinado intervalo. Para resolver este tipo de ecuaciones de la forma $ y' + P(x)y = Q(x)$, debemos multiplicar los dos lados de la ecuación por el *factor de integración* $e^{\\int P(x) dx}$ y luego [integrar](https://es.wikipedia.org/wiki/Integraci%C3%B3n) ambos lados. Así, si por ejemplo quisiéramos resolver la siguiente [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial):\n", "\n", "$$\\frac{dy}{dx} + 3x^2y = 6x^2$$\n", "\n", "Primero calculamos el *factor de integración*, $I(x) = e^{\\int 3x^2 \\ dx}$, lo que es igual a $e^{x^3}$.\n", "\n", "Luego multiplicamos ambos lados de la ecuación por el recién calculado *factor de integración*.\n", "\n", "$$e^{x^3}\\frac{dy}{dx} + 3x^2e^{x^3}y = 6x^2e^{x^3}$$\n", "\n", "simplificando, obtenemos:\n", "\n", "$$\\frac{d}{dx}(e^{x^3}y) = 6x^2e^{x^3}$$\n", "\n", "Por último, integramos ambos lados de la ecuación:\n", "\n", "$$e^{x^3}y = \\int 6x^2e^{x^3} \\ dx = 2e^{x^3} + C$$\n", "\n", "y podemos obtener la solución final:\n", "\n", "$$y = Ce^{-x^3} +2 $$\n", "\n", "### Condición inicial\n", "\n", "Cuando utilizamos [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial), generalmente no estamos interesados en encontrar una familia de soluciones (la solución general), como la que hayamos en el caso precedente, sino que vamos a estar más interesados en una solución que satisface un requerimiento particular.En muchos problemas físicos debemos de encontrar una solución particular que satisface una condición de la forma $y(t_o) = y_0$. Esto se conoce como la **condición inicial**, y el problema de encontrar una solución de la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) que satisface la *condición inicial* se conoce como el **problema de valor inicial**.\n", "\n", "## Series de potencias\n", "\n", "Cuando comenzamos a lidiar con las [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial), veremos que existen un gran número de ellas que no pueden ser resueltas en forma analítica utilizando los principios del [Cálculo integral](https://es.wikipedia.org/wiki/Integraci%C3%B3n) y el [Cálculo diferencial](https://es.wikipedia.org/wiki/C%C3%A1lculo_diferencial); pero sin embargo, tal vez podamos encontrar soluciones aproximadas para este tipo de ecuaciones en términos de [Series de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias).\n", "\n", "### ¿Qué es una serie de potencias?\n", "\n", "Una [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias) es una [serie](https://es.wikipedia.org/wiki/Serie_matem%C3%A1tica), generalmente infinita, que posee la siguiente forma:\n", "\n", "$$\\sum_{n=0}^{\\infty} C_nX^n = C_0 + C_1X + C_2X^2 + C_3X^3 + \\dots $$\n", "\n", "En dónde $X$ es una variable y las $C_n$ son *constantes* o los *coeficientes* de la serie. Una [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias) puede [converger](https://es.wikipedia.org/wiki/Serie_convergente) para algunos valores de $X$ y [divergir](https://es.wikipedia.org/wiki/Serie_divergente) para otros valores de $X$. La suma de la [serie](https://es.wikipedia.org/wiki/Serie_matem%C3%A1tica) es una [función](https://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica).\n", "\n", "$$f(x) = C_0 + C_1X + C_2X^2 + C_3X^3 + \\dots + C_nX^n + \\dots$$\n", "\n", "El *dominio* de esta [función](https://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica) va a estar dado por el conjunto de todos los $X$ para los que la [serie](https://es.wikipedia.org/wiki/Serie_matem%C3%A1tica) [converge](https://es.wikipedia.org/wiki/Serie_convergente).\n", "\n", "### Series de Taylor\n", "\n", "Las [Series de Taylor](https://es.wikipedia.org/wiki/Serie_de_Taylor) son un caso especial de [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias) cuyos términos adoptan la forma $(x - a)^n$. Las [Series de Taylor](https://es.wikipedia.org/wiki/Serie_de_Taylor) nos van a permitir aproximar [funciones continuas](https://es.wikipedia.org/wiki/Funci%C3%B3n_continua) que no pueden resolverse en forma analítica y se van a calcular a partir de las [derivadas](https://es.wikipedia.org/wiki/Derivada) de estas [funciones](https://es.wikipedia.org/wiki/Funci%C3%B3n_matem%C3%A1tica). Su definición matemática es la siguiente:\n", "\n", "$$f(x) = \\sum_{n=0}^{\\infty}\\frac{f^{(n)}(a)}{n!}(x - a)^n$$\n", "\n", "Lo que es equivalente a decir:\n", "\n", "$$f(x) = f(a) + \\frac{f'(a)}{1!}(x -a) + \\frac{f''(a)}{2!}(x -a)^2 + \\frac{f'''(a)}{3!}(x -a)^3 + \\dots$$\n", "\n", "Una de las razones de que las [Series de Taylor](https://es.wikipedia.org/wiki/Serie_de_Taylor) sean importantes es que nos permiten [integrar](https://es.wikipedia.org/wiki/Integraci%C3%B3n) funciones que de otra forma no podíamos manejar. De hecho, a menudo [Newton](https://es.wikipedia.org/wiki/Isaac_Newton) [integraba](https://es.wikipedia.org/wiki/Integraci%C3%B3n) funciones por medio de, en primer lugar, expresarlas como [Series de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias) y luego [integrando](https://es.wikipedia.org/wiki/Integraci%C3%B3n) la serie término a término. Por ejemplo, la función $f(x) = e^{-x^2}$, no puede ser integrada por los métodos normales del [Cálculo integral](https://es.wikipedia.org/wiki/Integraci%C3%B3n), por lo que debemos recurrir a las [Series de Taylor](https://es.wikipedia.org/wiki/Serie_de_Taylor) para aproximar la solución de su [integral](https://es.wikipedia.org/wiki/Integraci%C3%B3n). Podríamos construir la [Serie de Taylor](https://es.wikipedia.org/wiki/Serie_de_Taylor) de esta función, del siguiente modo:\n", "\n", "$$e^{-x^2} = \\sum_{n=0}^{\\infty}\\frac{(-x^2)^n}{n!} = \\sum_{n=0}^{\\infty}(-1)^n\\frac{x^{2n}}{n!} =\n", "1 - \\frac{x^2}{1!} + \\frac{x^4}{2!} -\\frac{x^6}{3!} + \\dots$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Resolviendo Ecuaciones diferenciales con Python\n", "\n", "Mientras que algunos problemas de [Ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) se pueden resolver con métodos analíticos, como hemos mencionado anteriormente, son mucho más comunes los problemas que no se pueden resolver analíticamente. Por lo tanto, en estos casos debemos recurrir a los métodos numéricos. Es aquí, dónde el poder de las computadoras y en especial, de los paquetes científicos de [Python](https://www.python.org/) como [NumPy](http://www.numpy.org/), [Matplotlib](http://matplotlib.org/), [SymPy](http://www.sympy.org/es/) y [SciPy](http://www.scipy.org/), se vuelven sumamente útiles. Veamos como podemos utilizar la fuerza computacional para resolver [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial).\n", "\n", "### Soluciones analíticas con Python\n", "\n", "[SymPy](http://www.sympy.org/es/) nos proporciona un solucionador genérico de [Ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), `sympy.dsolve`, el cual es capaz de encontrar soluciones analíticas a muchas [EDOs](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) elementales. Mientras `sympy.dsolve` se puede utilizar para resolver muchas [EDOs](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) sencillas simbólicamente, como veremos a continuación, debemos tener en cuenta que la mayoría de las [EDOs](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) no se pueden resolver analíticamente. Por ejemplo, retomando el ejemplo que resolvimos analíticamente más arriba, veamos si llegamos al mismo resultado utilizando [SymPy](http://www.sympy.org/es/) para solucionar la siguiente [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria):\n", "\n", "$$\\frac{dy}{dx} = -3x^2y + 6x^2$$" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# \n", "# importando modulos necesarios\n", "%matplotlib inline\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import sympy \n", "from scipy import integrate\n", "\n", "# imprimir con notación matemática.\n", "sympy.init_printing(use_latex='mathjax') " ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\frac{d}{d x} y{\\left (x \\right )} = - 3 x^{2} y{\\left (x \\right )} + 6 x^{2}$$" ], "text/plain": [ "d 2 2\n", "──(y(x)) = - 3⋅x ⋅y(x) + 6⋅x \n", "dx " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Resolviendo ecuación diferencial\n", "# defino las incognitas\n", "x = sympy.Symbol('x')\n", "y = sympy.Function('y')\n", "\n", "# expreso la ecuacion\n", "f = 6*x**2 - 3*x**2*(y(x))\n", "sympy.Eq(y(x).diff(x), f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aquí primero definimos la incógnitas $x$ utilizando el objeto `Symbol` e $y$, que al ser una función, la definimos con el objeto `Function`, luego expresamos en [Python](https://www.python.org/) la ecuación que define a la función. Ahora solo nos restaría aplicar la función `dsolve` para resolver nuestra [EDO](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria)." ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$y{\\left (x \\right )} = C_{1} e^{- x^{3}} + 2$$" ], "text/plain": [ " 3 \n", " -x \n", "y(x) = C₁⋅ℯ + 2" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Resolviendo la ecuación\n", "sympy.dsolve(y(x).diff(x) - f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como podemos ver, arribamos exactamente al mismo resultado. Siguiendo el mismo procedimiento, podemos resolver otras [EDOs](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), por ejemplo si quisiéramos resolver la siguiente [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial):\n", "\n", "$$\\frac{dy}{dx} = \\frac{1}{2}(y^2 -1) $$\n", "\n", "que cumpla con la condición inicial $y(0) = 2$, debemos realizar el siguiente procedimiento:" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$y{\\left (x \\right )} = \\frac{C_{1} + e^{x}}{C_{1} - e^{x}}$$" ], "text/plain": [ " x\n", " C₁ + ℯ \n", "y(x) = ───────\n", " x\n", " C₁ - ℯ " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# definiendo la ecuación\n", "eq = 1.0/2 * (y(x)**2 - 1)\n", "\n", "# Condición inicial\n", "ics = {y(0): 2}\n", "\n", "# Resolviendo la ecuación\n", "edo_sol = sympy.dsolve(y(x).diff(x) - eq)\n", "edo_sol" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Aquí encontramos la solución general de nuestra [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial), ahora reemplazamos los valores de la condición inicial en nuestra ecuación." ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$2 = \\frac{C_{1} + 1}{C_{1} - 1}$$" ], "text/plain": [ " C₁ + 1\n", "2 = ──────\n", " C₁ - 1" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "C_eq = sympy.Eq(edo_sol.lhs.subs(x, 0).subs(ics), edo_sol.rhs.subs(x, 0))\n", "C_eq" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y por último despejamos el valor de la [constante de integración](https://es.wikipedia.org/wiki/Constante_de_integraci%C3%B3n) resolviendo la ecuación." ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\left [ 3\\right ]$$" ], "text/plain": [ "[3]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sympy.solve(C_eq)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como vemos, el valor de la [constante de integración](https://es.wikipedia.org/wiki/Constante_de_integraci%C3%B3n) es 3, por lo tanto nuestra solución para el **problema del valore inicial** es:\n", "\n", "$$y{\\left (x \\right )} = \\frac{3 + e^{x}}{3 - e^{x}}$$\n", "\n", "Para los casos en que no exista una solución analítica, pero sí una solución aproximada por una [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias), `sympy.dsolve` nos va a devolver la serie como solución. Veamos el caso de la siguiente [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial):\n", "\n", "$$\\frac{dy}{dx} = x^2 + y^2 -1$$" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$y{\\left (x \\right )} = \\frac{x^{3}}{3} \\left(C_{1} \\left(3 C_{1} - 1\\right) + 1\\right) + \\frac{x^{5}}{60} \\left(C_{1} \\left(4 C_{1} - 7\\right) + 10 C_{1} - 6\\right) + C_{1} + C_{1} x + C_{1} x^{2} + \\frac{C_{1} x^{4}}{12} + \\mathcal{O}\\left(x^{6}\\right)$$" ], "text/plain": [ " 3 5 \n", " x ⋅(C₁⋅(3⋅C₁ - 1) + 1) x ⋅(C₁⋅(4⋅C₁ - 7) + 10⋅C₁ - 6) \n", "y(x) = ────────────────────── + ────────────────────────────── + C₁ + C₁⋅x + C\n", " 3 60 \n", "\n", " 4 \n", " 2 C₁⋅x ⎛ 6⎞\n", "₁⋅x + ───── + O⎝x ⎠\n", " 12 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Solución con serie de potencias\n", "f = y(x)**2 + x**2 -1\n", "sympy.dsolve(y(x).diff(x) - f)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Campos de direcciones\n", "\n", "Los [Campos de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones) es una técnica sencilla pero útil para visualizar posibles soluciones a las [ecuaciones diferenciales de primer orden](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria_de_primer_orden). Se compone de líneas cortas que muestran la pendiente de la función incógnita en el plano x-y. Este gráfico se puede producir fácilmente debido a que la pendiente de $y(x)$ en los puntos arbitrarios del plano x-y está dada por la definición misma de la [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria):\n", "\n", "$$\\frac{dy}{dx} = f(x, y(x))$$\n", "\n", "Es decir, que sólo tenemos que iterar sobre los valores $x$ e $y$ en la grilla de coordenadas de interés y evaluar $f(x, y(x))$ para saber la pendiente de $y(x)$ en ese punto. Cuantos más segmentos de líneas trazamos en un [Campo de dirección](https://es.wikipedia.org/wiki/Campo_de_direcciones), más clara será la imagen. La razón por la cual el gráfico de [Campos de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones) es útil, es que las curvas suaves y continuos que son tangentes a las líneas de pendiente en cada punto del gráfico, son las posibles soluciones a la [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria).\n", "\n", "Por supuesto que calcular las pendientes y dibujar los segmentos de línea para un gran número de puntos a mano sería algo realmente tedioso, pero para eso existen las computadoras y [Python](https://www.python.org/)!. Veamos un ejemplo, supongamos que tenemos la siguiente [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), la cual según lo que vimos más arriba, sabemos que no tiene una solución analítica:\n", "\n", "$$\\frac{dy}{dx} = x^2 + y^2 -1$$\n", "\n", "entonces, con la ayuda de [Python](https://www.python.org/), podemos graficar su [Campo de dirección](https://es.wikipedia.org/wiki/Campo_de_direcciones) del siguiente modo:" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# \n", "def plot_direction_field(x, y_x, f_xy, x_lim=(-5, 5), y_lim=(-5, 5), ax=None):\n", " \"\"\"Esta función dibuja el campo de dirección de una EDO\"\"\"\n", " \n", " f_np = sympy.lambdify((x, y_x), f_xy, modules='numpy')\n", " x_vec = np.linspace(x_lim[0], x_lim[1], 20)\n", " y_vec = np.linspace(y_lim[0], y_lim[1], 20)\n", " \n", " if ax is None:\n", " _, ax = plt.subplots(figsize=(4, 4))\n", " \n", " dx = x_vec[1] - x_vec[0]\n", " dy = y_vec[1] - y_vec[0]\n", " \n", " for m, xx in enumerate(x_vec):\n", " for n, yy in enumerate(y_vec):\n", " Dy = f_np(xx, yy) * dx\n", " Dx = 0.8 * dx**2 / np.sqrt(dx**2 + Dy**2)\n", " Dy = 0.8 * Dy*dy / np.sqrt(dx**2 + Dy**2)\n", " ax.plot([xx - Dx/2, xx + Dx/2],\n", " [yy - Dy/2, yy + Dy/2], 'b', lw=0.5)\n", " \n", " ax.axis('tight')\n", " ax.set_title(r\"$%s$\" %\n", " (sympy.latex(sympy.Eq(y(x).diff(x), f_xy))),\n", " fontsize=18)\n", " \n", " return ax" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n59Tb26v29vZ+bc+Z4/TCC37e95dfdnrrrXjuca6v/f77ndau9fO+jx3rlEzGd5/7/mpsdLr9dj/v\ny7x5Ts89l5trz+Ye9/friSeciorYa98cXqeXu7qkHXbI91UMjo4Oaccd830Vg6OtTdp559x+5m67\n7aa99zaN9WnTpmn06NFavHixXnrpJR166KFKJpM64YQTJEkTJ07UySefrB37ucEtLdKuu+b00mOj\nuVnaf/98X8XgaG7m7ruDc2m9vdI20PiMfLxLceGzD8tn7PC6ejkE3fyQD0dx9dVXq6amRo8//rha\nWlq07777avr06dpvv/20ZMkSbb/99tpzzz31wAMPaJttttGoUaP6teN70N1tN84+GbzI+97RIe20\nE2ObJgTd/JDP2BF2uv0wZsyY+I1ugs8PbFubtOee2dnY2nu888476+677/7P76+44or/+Zmrr95U\nIOd/aWmRdtllqz56yLC1gWtr7nFvrxQNOHl58KRS0rsgb5Pv7zQbf+F70H3Plk4Wz5K4fXLY6Q6S\nEHTzQxyOIhf3uD983ulu7X3fmnvc1vbOWYzEzTs56ObKh/kUdAdawIagmyfe6UE3X7S2cg46keB2\nc5Klf0dAbyyduiYhv1Man98ln31YV5e0/faM7e7uzLZD0M0TPj+wpKOgi2IGeiGyoaXF3zNXn4Nu\nvne62RCCbn4gjzu6uzPHJe+D7siR+b6KweHzA0s6CjIo0pAVujQ+By6frz0E3f5JpbisDs1Au2hP\n/7eMsNPND93d0nbbMbZbW9mzRV8rdCW20Mn3na6v59E+B10yRdvZ6e+GKqSXhyi+rxKpAEAHXRKf\nW3p8D7o+73Spdie6xkDi/EAIukMU34Mu9VD5vIumgy65W/TZ+fucGicLqegFbDIpbbstY7u93d/+\nZd+D7rA+0/U16IaXrX/CTjc/kEVgdA8wWQfgc/rXZz/gc9Ad1me6e+zBPlSjR/tpu7dXOvBAzj45\ninDbbaXNDJOKBfK+77yzPZMUBxzA2d5zT+5d6u6WDj+csS2x32kiIR16KGeffJecY58Z8r5vs420\n776cffK+77BD5qEhOVEZoj8jEAgEAoGhRBRFcvlSGQoEAoFAIJCjoJtIcLaLijjbS5daqpbAOfba\ni4q4alfnpCVLGNsSe19SKWnZMs4+ee1dXdKqVZx98jttbJTWr+fsk/d93To786ag/QBFZ6e/z2N1\n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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Defino incognitas\n", "x = sympy.symbols('x')\n", "y = sympy.Function('y')\n", "\n", "# Defino la función\n", "f = y(x)**2 + x**2 -1\n", "\n", "# grafico de campo de dirección\n", "fig, axes = plt.subplots(1, 1, figsize=(8, 6))\n", "campo_dir = plot_direction_field(x, y(x), f, ax=axes)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "Las líneas de dirección en el gráfico de arriba sugieren cómo las curvas que son soluciones a la [Ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) se van a comportar. Por lo tanto, los [Campos de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones) son una herramienta muy útil para visualizar posibles soluciones para [Ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) que no se pueden resolver analíticamente. Este gráfico, también nos puede ayudar a determinar el rango de validez de la solución aproximada por la [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias). Por ejemplo si resolvemos nuestra [EDO](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) para la condición inicial $y(0) = 0$, veamos a que conclusiones arribamos." ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$y{\\left (x \\right )} = - x + \\frac{2 x^{3}}{3} - \\frac{4 x^{5}}{15} + \\mathcal{O}\\left(x^{6}\\right)$$" ], "text/plain": [ " 3 5 \n", " 2⋅x 4⋅x ⎛ 6⎞\n", "y(x) = -x + ──── - ──── + O⎝x ⎠\n", " 3 15 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Condición inicial\n", "ics = {y(0): 0}\n", "\n", "# Resolviendo la ecuación diferencial\n", "edo_sol = sympy.dsolve(y(x).diff(x) - f, ics=ics)\n", "edo_sol" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAk0AAAFLCAYAAADLS7jYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd8lFX2/z8PHQEbYEMUXVGxLfaGiIpi765gXXXd+tu1\nrLr2ilhX1q5fG4oKdqQXlVClt9AhFQKkN1JnMvf3x8mYEJKZ53wyuXkmed6vV16UzJ3nzp17zz33\n3FMcYwx8fHx8fHx8fHwi06a5O+Dj4+Pj4+PjEw/4SpOPj4+Pj4+Pjwt8pcnHx8fHx8fHxwW+0uTj\n4+Pj4+Pj4wJfafLx8fHx8fHxcYGvNPn4+Pj4+Pj4uMBXmnx8fHx8fHx8XOArTT4+Pj4+Pj4+LmjX\n3B3wiW8cx7kWwKEATgewzhjzTDN3yZN98vHx8R5elBVe7JNPDb7SFCMcxzkJwPsAvjDG/K+5+2MD\nx3F+B2BvY8xIx3E6AdjgOM4mY8yXfp98fOIHX355Q1Z4sU8+u+Jfz8UIY8wyANsBzG7uvljkOADP\nAIAxphzAIgBnN2uPvNknHx9P48svz8gKL/bJpxa+0hQjHMdpC6A/gOXN3ReLTAZwSa1/HwxgXTP1\nJYwX++Tj42l8+QXAG7LCi33yqYWvNDUCx3G6OY7ziuM4QwE8CyDRtKIKyMaYgDFmNQA4jtMfwL4A\nPvL75A7HcY52HGeq4zgDmrsvPq0PX355T1Z4sU8N0Vrll680NY4vAEwwxowFEELrMm3/huM4nSEm\n5SHGmDLyPS5zHOdSL/WpqXAc53LHcT4B8DcAF8Ffhz7Ngy+/4MsvLa1dfrWqDxtLHMc5FcARxpiw\noDkGwKxm7FJz8jiA/2eMSXUc5wjyPXoA6OmxPjUJxpiJxpg7ALzW3H3xaZ348msXfPmloLXLL19p\n4hkIIKHWv08EsNRxnG7sG1aby89UtjnCcZx92Wc2Fsdx/gpgIoCA4zi9AAxurr6EcdMnj4y1E8P3\n8vHR4Msv+PKrkbRK+eWnHOApBJANAI7jnAtgC4ATAAQArKr7YsdxLgFwCiQS4mZjTG71/18H4K/G\nmAsB/MEY81GtNn+GnGCOBvAZJHfHfgCOB/CQMWarMWaz4zg3AYh5SGqE5x8H4D8A+gB4C7sq39fH\nuh91+hRxHAE87bJPnhprHx/L+PLLl18+BL6liWcsgP0cx7kRwJ4AtgE42xhTn8DpDuBkY8xzkMl8\nTq1f/wFApuM4bQB0rtXmbgDLjTEjALwJ4FsAuQCWABgK4Nha7xF0HGfvWH64KM8fBuBYY8xcY0w7\nY0ybWj/fx7IfdfoUdRyNMfOi9clrY+3j0wz48suXXz4EvqWJxBizE+IIF2ZChJcPBjDacZwTAPSF\n5N4IMxByujgKctoL090Ys7j674cCCBljxlU7CJ5rjJlT67WbIOHCCbUf6jjOp5DThhuyjTG3kc+P\nBQ6AaJE7bsbRDTEfax+feMKXX778cvksnzr4SpMFjDFfAYDjOP8D8LMxZlv1v48GsD+AOQD2AVBc\nq82Ltd5iEKqdNKsjKeou+CLIQqr73Nsb0WfN81U4jvM5gO51/rtX9e+G1vn/HGPMrdXPdjOObojJ\nWDuOczGAe1w+c6QxZrrL1/r4eAZffu2KL79aN77SZJfrUZ3ttZpzAeQaY9Y6jnMcdl+IYS4A8F6E\n9+2KWouoCYj2fBXGmFvq/p/jOLfLr8xnLt6ivnHMM8asddmFIsRgrI0xUwFMdflMH594x5df8OVX\na8dXmlziOE6IbGqMMW2roxYOwq4m2UEA5lX/fT3ERBvOzns+gJ8BHAA5GfwWDuw4zgPGmFdrvc/R\nqCdcmDVvE8+PFVGjMSKM41zFc2I+1j4+XsaXX778qsaXX43EV5pcYoxprNN8JSQyBQDgOE5fSLr8\n56rfP+g4TjiJ2V8gERT9AFwKoBTA1up2VwCoeyLpYozZUU+fWfO29vk2iTiObmiKsSYJz6m2MXo/\nH5968eWXL7+q8eVXI3FM68ma3+xUm3AvBrACwO8A/AnAGcaYRdW/7wngMAAVAB4EsBHASgDdIKeJ\nVABJxpgvar3n0QACxpikGPbz9wAegDgNRnx+DJ95OwAYYz51+doGx9Hl85ptrB3HORvAvyC5cX4H\nIAPAQkiF+XGNeW8fn6bCl18Rn+nLr1Yiv3ylicRxnJMAvA+ZKP8j2j8DyctxoDGGNZ23GKpDn0PG\nmG+U7fxx9PFR4suv2OLLr9aDn6eJxBizDMB2uKzX5DjOcMdxLqv+extI/ozX/YUiGGO+ciNw/HH0\n8Wk8vvyKLb78aj34ShNJtQNefwDLXby2J4CHUBPx8G+I+fSlpupfS8QfRx+f2ODLL/v449gy8K/n\nFDhSl+lJAEsh6en7G2MucxznAkiUxxkA5kMysCYbY0bVavtPSBbXHgB2AhhhjAna/QTxjz+OPj4c\nvvxqfvxxjH/86DkdXwB41Rgz23GcYwHMrj49dDbGjHEcZwgkkmA9pLbTbxhj3rTf3ZaHP44+PjS+\n/Gpm/HGMf3ylySWO45wK4AhjTNgH4BgAr0BOC5Oq/+9kAPcbY/KaoYs+Pj4+9eLLLx+f2NDk13OO\n4/j3fz4+rRBjTNRkf/GAL8N8fFofDckvK47gxhjVz5tvGmRl6do88MBTePttXRtjDJ56yt3rPvjg\nAzz55JMwxuDeexNwxhkDsWTJEjzzzDP4/PPPMWrUKAwbNgzGGEycOBHbt2/fpX1OjsEbb0R+xhNP\nGABP4ckn9f2r/fPuuwbbtuna5OYavP56bMfvqaeeqvf/33pL//1u3y6fq6m+39o/L79sUFzs7rOE\nfzZtMhg92k7/nnrKIBTStVm61ODHH6N/jlj1r6Wh+fwFBQb//a92zJ6ixvrDDw3S0qK/rrb8mjw5\nAYcfrpNfmrlQe4598olBcrLuM+3cafDSS3bW0scfG6SmRv8ctX8KC/XfL9u/t98W2adps327wTvv\nuPssje3fiy8alJTo2mzYYPD55/z4aWQY85mWLIksvzwZPRcIAB066NpUVenbaBg6dCiysrLw1Vdf\nobi4CL16HYS5c+eiV69eWLNmDTp27Ih9990Xo0aNQtu2bXHAAQfs0r68HOjUKfIz9tlH/szPb1xf\ny8qAPfbQtSkt1bdhYZ5ls39lZUDnzro2br7fWOIobTiVlU27PnxqYOQXS0UF0LFj9NfVll95eUXY\ne2+d/GJh1hIjv1jiQRZpn8WMOYvb+dfYNjYJBCL/3pM+TZWVQPv2ujZNrTR17doV7777LgAgORm4\n774rdtskhw6tW+C6BptKU2mpftHYVpq83L9QCGirLAxgW2nS4itN9mDkF4vbDai2/Nq6FSgtvQJ3\n373rayLJLxZmA2fkA4vXlSZmLGwqTYysjHelqcVYmk4+eRC1KRjiJqGyUv+ll5W5VZoGNVppCgT0\nQrspBNWgQYPq/X9jgDbKmWdTkNZHQ58ljJvvN1awc7ZDh+ifw6fxMPKL/V7Yk35TztXan4W1NDFr\nnVkXkeRKQ98JqzQx/QsG9bK8vvHz0rpvrNLU1J8lLpWmYFCvvfbvzylNDMbor0fKy6MLgvqUJmah\nAfr+NcXpKZaT2+bprr4xj/ZZ3Hy/zYmvNNmDsTSx3wtjQSwvb9qTfu3PwoyFzeu5SAe4WCtNtvC6\n0tRYq7evNDWALZ8N7XNYNNdzBQVN35+62BRUDF7vn83rOWbO+tdz9rDp0xQP1yPMAY45gNiS5azS\n5KW9pjnxr+c8gtc3BdanyeuCwBZM/2xZ6QBOUDEWSxZmfYRC9vrXkrDp08TQ1NdztWHmj02fHAab\nsrIljp+vNHkErytN7n2aGu8IzsAIgkAAaGcplIDpn83NgfFpqqiwN2eZ9WHTYtKS8Pq4sddz7CFE\ni9etyowssnkAYZSmkMVywYzSZGvuAb7SFBVbX4YbS8Qee8gJtbxcfhjfLhY2SsPLUSQ2nccZSxOr\n1DXGEVzbxssWE69ic9yYuWDzMMHArNtAwK6s1Mo9m1dmjNJkc04wShPjEM/SapQmm6d2BjeOwo4D\n7L23/D0/334UiddDb72cr4RxBG9qh9zaMOvD6xYTr+L1cWPmHRPxyuLndqqBkeVsnjlbspI5wNnc\n36MpTepsmdofeYSONWvUTUxGhjH5+bo2oZAxa9fqn8W0SU01pqQk+uuOOsoYwJjVq42pqDBm0yY7\n/du0SZ6noaTEmJQU/bOY/m3YYEwgoGuzc6eMuxamfxs3GlNZqWtTWmpMcrL+WUz/Nm82prxc16a8\nXNppWbPGmOp13+TyxcaPVoZlZhqTna1qYoyxJ4u2bjWmoEDXpqrKmHXr9M9i+peSImtDAztX2bWk\nlZVlZd5f60lJ+mcx/UtO1n+/lZXcXsjoEikpkeWXldpzTf2MlsSAAcC8ecCsWcDAgc3dGx8fDsdx\nYFpQ7Tlfhvn4tB4iyS9PXs8lJwPFxbo2oRCwerX+WatW6dukpXFpAdw8q3t3+TM3132bumRkADk5\n+nbMsxIT9W0yMmo+nwamf0yblBSgqEjXJhAA1q7VP4vp3/r1YuLWUFws60qLrTFvSRhjb9y2bAHy\n8uw8i2mzfTuQnW3nWUybzEz5sfEsps3Wrd6WlUlJQEmJrk1FBbBhg/5ZTP/WrBF/KA3RZL8nlaaE\nBH0EWVkZMHmy/lnff69vM3cukJWla1NVBYwbF/11PXrIn2Glh+nfwoWimGgwhnvWd9/p2yxYoO+f\n2/GrC/OZZs7Uz7+iIuDnn/XPYsZvwgS9INi2TcZdyw8/6Nswn6klEQzKd6SFmasLFohiosEY7jti\n+rdkiRwybTyLabNsmRyStNgavwULZO1qCASA8eP1z2L6N2OG/oCZny8yVgvTvx9/1EcGbtkS+fee\nVJpYRzFbTrVMJIRbR8WwpYmxFIXZuRPo2lXXxub4Mf0rKQG6dGma/sTiWTad4hlHXq/nRmlJ2Ex/\nwsgim47qzFpiw/OZG9SdO4Fu3XRtqqrsReqVlHhbVjLzz2YkIRPJGpfRc15XmtgilG421bCliTHJ\nhmEWGqPIsBQX6wUV2z9GkNpUmpjNIR6yQLdmvK402YwqZdeSrU2/uNjbsnLnTv1Y2FSa2Eg9mykv\nmOoikfCk0sSEF8aD0uSmTd3rOfb0pF00zImLhVWabPWPSVRpMycUm5vHVkLD1p5F3GZ4tE2lydYB\nhJFfADfvGFnEtGHxulWekSs2lSZmzvqWpiagKS1NsbieY6wezImLhbleYvvHbuBeKHgcS3xLkz18\nS1MNzLpgLOWAves5m5amptxrYgVTvN7LyVXj0tIUCOjvIW1uCsz1iFufprrXc+zdvjYRnU1B4Dj6\nz2Xzeo6t99QSlabWbjViqKy061+pfRarNNmqyWhTFjF7jU1LE1Of0qalicHrxc3j0tIE6D+sTaWp\nKTNux8LSxGDz+ovB6/2zmfGXwbc02cOmpamqSl//0XZBV1sHJFsKvk2licGm0sTIL9/S5BFs+mww\n2HQEZz4Tc/3FnILC7bQw/bMZ5cIoTVVV9kpTMOvDZv9aEjaVppa4abGbvi1ZblNpYuQrO362lE6b\n5aMY4tbSpMXmSZqZXG431X32kffPzxfha2sisw6Htq6kbDpE2qrdZ7PeE7M+bG7+LQmv18G0aWli\n/YyYA5ItBZ/pn82C8ozcCwT0FkvA3pVtVZW9vdC3NHkEt5tq27aiOAGSANKW7wFz/cWeuGz1z6Zv\nRDwUFNYKKpu+OS0Jr48bM+9sVpFh1m1pqfdTptiyTrGyyGaeOa0sqqiwZx31LU0RCIXsnU40Ienh\nK7qMDG/nK2GVJvZ6jslXYss3gkk5YFNp8i1N9rA5bmzQgnbe2QwkYNatzehfNk2BLVnE5sayKYsY\npcnWQSQuLU2XXaZvc8IJwCGH6NoYA1xxhf5ZTP/OPLPGyTsa4deVlADnn69/FtO/Cy7QL5ru3eVz\nabn8cn2biy/WR7l07w6ccYb+WbbGb6+9gHPO0T+L6d+55+oF/R57SDstTP9aEkceCfTtq2/HjBvT\npn9/oFcvXZs2bYBLL9U/i+nf2WcDe++ta9O1KzBokP5ZjCw6/3y9VWavvaQYuxZm/AYN0itoXbpw\n48f076yz9N9vp07A4MH6ZzH9i7ZnOE1dvduvEK7nyiuldtX33wPXXNPcvfHx0ROpSni84cswH5/W\nRST5FRNLk+M4bR3HWe44DlGmcnd27NBXTjaGq+KelKRvk5MDFBbq27ntX+0IOuYzFRZy0XfMs5hi\nl0VFXEoFW/3LydEXoWTnH9Nm61YxV2soL9cXSQa49cG0aU5iLb8Ae+PW1LKosW0KC+2t9eRk/dX/\nzp364usAJ1eYNgUFQF6evp2t75fZq4NBrogzsz7S0vTFzUtLI/8+Vtdz9wBYCyAmx7Hp0+XL0BAM\nAmPG6J81erS+zZw53AL49FN3r6udq8ltm9osWwYkJurbMc8aNUrfZsUKYOVKfTumf0ybWbOA1FRd\nm8pKYOxY/bM++0zf5rvv9IJq+3bgp5/0z2LWB9OmmYmp/DLG3rjNn89tJsy8Y9bSypV217rWB2jd\nOmDhQu5ZNtosWwasXm3nWUwbZq8uKgLGjdM/i1kfX32lP2Bu3Rr5941WmhzHORjApQA+BBATc7zX\n69kwBSU1IbGNzdVUWCh36F6loKAmQtAtbOVzpk1REbDnnro2Xi+t4PXcPM1FU8gvm47gXo+EY9YS\nYC+8nJFFNmFkeTDIpQ9gYPbCeAiAiUQsLE0jATwIIBSD9wJgV2li82A0ZT2lxmYFZxaazU01P1/v\nCBgPBYVt1u7TfldeL5LZjMRcftk+wHlZgWbWks2cS4wsstk/RpbbTL7J7IU2lSYmY340y1SjvnrH\ncS4HkGWMWY4YndIA71ua2MrdbjfVsKUpO1v3jDDMQiso0AsPFuZ0x/aP2cCLiuwpTUz/mEzsvqVp\nd7wkv1iY/Do2y2wwlibWOsXAyKLCQnuykpHlNsePUZq8Xtw8mqWpsUa8swBc6TjOpQA6AdjTcZzP\njDG31X7R008//dvfBw0ahEFRYhttKk1Nmd27NppNdf/95c/MTN0zwhQW6heNTaXJ6/0LBvXXK7YL\nHmtpaqUpISEBCQkJ1X9vuufEGFfyC9DJMNtKk/bUbnPTYqwejHxgYSxNTBsW5gBn09IUD7UP3VBb\nfkXzZ22U0mSMeRTAowDgOM65AB6IJnDcwPgE2Kxnw/TPptIUDOpzGtk8PYVC+ppwNvvHYFNpYigv\nB/bdt+nev7YiYQwwe/YzTfewGOFWfgE6GWazDiazAdm0NDHPKirifDJtHYBZPyimf4xS4vWCwl5U\nmmrLrxkzgE8/bVh+xfpmNmbeDC3t+oFRmphQWIBbnDYtOQxe7188KE221octJ94mICbyy6aliXH6\ntWlpMkbv/2M7kEU7X/Pzve08bvN6jsGLSlNtrGUEN8bMMsZcGav30+L1TUGzqXbpIj8VFfpwSRZG\nKams1Fu0WJj+2bQ+MkpTIGBv/Jj1EQzqLYLxSizll9frYNq0NDEwSpPN4ANGFrHRvwyMpYkdP1tl\nfGwSl2VUGGxGzzFoN9WwtSla8cD6YD4TIwhshusy/bN5YmWLjDKbF/P9skUyvbz5exWvjxs772zB\nrFubBWcZS1NxMWf9YQNZtM+yOX6M0mQzjYKvNEXAy5W7w0pTVVXT9KcurNJkM+JOK0htOpQyShMT\necLiK0328Pq4MfPOplXZ64EiXpeVXk+ZwlwP27xJ8pWmCDDVllm0k3K//eRPW0pTaal+LNi7fUZZ\nZU4arEMpw86dXGVx5sTPmsR9pckOXh83Zt5p8sw1FmbdMocqFkbptNk/mylTGBhLEyO/WJo65UCT\nwFRWP/po4IADdG0ch3sWUw365JN1EzlsaWIW2nnncW20m/H+++vHPPwsG2169qxJFNrUzzr3XL3/\nz557AieeyD1Ly2mn6QX9HntIOy1M/1oShx3GKcOMXGHG+thjZW1oaNcOGDBA/yxmLZ1xhn6D3Htv\nbi3ZkpX77sspJUz/zjlHbxXs1k32KC3MnD3lFP1YdOwo80ILsz5+//vIv3eaunq3XyGc48kngeee\nA554Anj22ebujY+PjkhVwuMNX4b5+LQuIskvT17PFRbKdZsWJq8R06akRF8wFdClEAhbmlJT9ddZ\ngYCYg7UwZVsKCvRVpKuquMrdTP9ycvTjV1oq5motTIoIpk1+fnQTcl2CQa6WIbM+2FQZLQlbsmjn\nTrtzVbuWKis5WcRUQygo0AfOhELcumBkUX6+Xlay42dLFhUVydWZBmO4ZzHrIyeHG/NIeFJpmjJF\nX2XeGODdd/XPYtrMnw8sX65v98477l8bVpoWLdI/JylJxlDLm2/q23zyiV5oZ2QA33+vfxbTv7fe\n0rdZvJgbd2Yuvf22vs233+qFTlaWtNPCfCbNPG+p2JJFv/4KrFihb8fMu3ff1V9Lbd4MTJumfxbT\nv9Gj5cCtIS8P+PJL/bMYWfTxx3Ig05CUZG/8mPn300/Axo26NhUVwEcf6Z/F9O/zz/UGji1bIv/e\nk0oT49Rts7I4m3FVc0oLK00lJXpBlZvL+fIwMOHBWVk1n88GNpLXsdFFjFM3k2eHDSn2b6X0sPmt\n2OLhtoIJmP7ZTASZm6vPem9TFjEO2jk59mQ58/0ye6HNPGFMrr4mLdjbVDBKk9frKQUCuuiv2kqT\nlpycmqK/NtAK4MxMvaBiitSyMILeZnoDRuiUlno7oVxLwmZULjMXqqr0WbpZbCpNTPbxzMyaSGUb\nMAdgrSzX7jWNwetKExPJGrdKk/aDsllGbWnX2jDasFLB+CswliY2ZxAzfllZekFlM1ElqzQx/WPG\nj7GqsuvDlkWiJcFmordldbQZXm7TasvAWJps9o+xNNlMOux1pYk5bMet0qQ9qdlMzc4IHe2muuee\nIngDAb21iVlo2dn6MGQW5nSXlcX1j1WKtVYj2/WytHi9dEFLwmYiPsbCbltp0l6Z5eU1bXHp2jCy\nyKasZA7ANq17zAHB5q0QQ1w6gjMmNZsnaUYoajdVx6k5AWmjBhhNPjvbnpma8a+x2T/mdMIqTcz8\ns1XNnSWOC/bGBK9fz7E+mQxMUkeb7gWMgmHTD4pZt3l59pQmx9Gvd5uWJkYWxaWlibmbtnmStrWp\nhhfmjh26doC+f4wlx2aRR+Z0Z9MPislibIy9qyxmfbT2azYWm5amQEB/VWtTaQqF9E7xNgNZmL2G\ncS8AvO2TyeL14AWGuFSaGLx+/cA4Ch94oPyZkRH7/tSFseTYLFPC9s+Wczbz/dq0SHi9SGZLoqUV\nD7cNY2my6fzMBLLYLAPCXInaDA5glCb2gMn6jEaixShN7PUDM6iMxssoGGHLii2lSWvJYU9cDNnZ\nekHq9dQLNlJXhGGUJptKXUvCpqXJViBLKGTvpM+sWybKjIWRezb9oBhLE3vAtBW8YDOlkG9pioDN\nfCrMphquim1DaWIKztoM162s1Pu5sb4RzPfLCB2b1yReryzekmDHzZZSwsw7mwo+E8jCBoowFBfr\nLXVeV5psRv8ysojNM8fgK00RYKvMMzCTMiyktm2LfX/qg/GD0pqpvX5iZQkG9WHI7DUJM37M+vD6\nNZNXYcbNpn+gjejfxsBYOG0GigD6cbfZv0BAL4tsfr9scl5b7jfRlCZPeiyccoq+zWGH6a0KjsM9\n69RT9W3699ebF/v0kT+1liamMv3pp+vbHHQQ0Lu3rk1FBTBwoP5ZzGfabz+gVy87z2LmRLduwNFH\n69sxc/a44/QbUadO0k4L07+WRK9eep+SUIibd8xY9+1bY8V2S4cO0au/1wfzmZg23bvrLTlVVcBZ\nZ+mfxcjKnj2Bgw/Wt7M1fqwsYuTescfqrUYdOgAnnKB/FrM+jjoq8u+dpq7e7VcI51m/HujXDzji\nCGDTpubujY+PeyJVCY83fBnm49O6iCS/PHk9V1Ghr0wMcCVHmDbBoL7KPKCvBh22kmRk6M330UyM\n9cF8pqoq+dGirUYOcP2rrJRTvIZQiBs/7fcL6At4Atz6CIW4Z9laUy0NW+MWCHDrgpkL5eX6tRRu\np4VZfzZlUSCgl8nBINc/ZiyYMS8r03+mQIAbP1vro6xMP+bRXu9JpWniRGDtWn27V17Rt3n5ZX2b\nZcuAGTP07V56Sff6bt3kiqSsTJLEuSUY1D8LAJ5/Xt9m4UKpdG3jWUybMWOA1FRdm7Q0aaeFGXOm\nzXffSfVzDQUFwAcf6J/FrKmRI/VtWhrMuDFtFi8GZs7Ut2Pm3Vtv6TeunTuBN9/UP2vECH2bX38F\nfvlF3274cH0bRhbNng3MnatrEwhw39WLL9ppM3u2jLsGY7h9l1kfH38svq0aornDeFJpYpy+WAdj\npo1Np7mww6bGrykzEzjggKbpT11SUmp8r9xiM2fJtm3ie6XBZsZfBq/Xe2JOni0J9ibPVvoAFsaB\n3OZaSk8HDjlE14bNT8QkzmX6t2NHTb4+G9hI2sxGwtlKtRLNStdilCabBXsLCvSOlCxhgahRmhhF\ngSUtDTj0UF2b9HR9GxYmkolJpcCU/mFhNkqbkaKtHa/Phcag3VRtpiVJT9cHpmRkcA7aDFu36gNT\nbMpyBmYvtDln2fx0kWgxSpPNkzSrXTPWlXDuH43SlJGhX5zs6ZgJD2asUzYticzpODeXKzJqKzlc\nSYm3i2S2JLxePNymUsdamti0Gto5zsgiFqbkDSPLmSK6LMxeaDMjfVWVPlN8q7E0sRnBbV3P5eVx\nOYNYS5N2oTGp91lSUiRFhAabZn4mUR77/TIw9bJYS5MfNKbHptLEnNptuhcwliablojUVL0sYhIB\nszCy3GalBpuJUhkY+RWXlibmSoW1NDGDymjKrCWCUZqYkiPMfTsLU7vJZv+Y7OPs92sL39JkD5uZ\n1FmlyZZ7AZMJOyPD3pUUc6WXmmrPOsVmR7d1wGQKMtu+UtYSl5Ym9iRta1Ng+sdmp2aUplBI3z/G\nN8nrTpSN6Z8W5vu1acVhLE3M9+RjP3ux9sqnoMBeyQymZphN9wImkz9jKWf7x8hym35kDDav5xj5\nFZeWJgYEzU21AAAgAElEQVTW0mRrU8jL01siystrLEbp6bHvU20YpYQRbixM/2yaqZnv16ZzNrM+\nmHIMPrzSxPrsMRFPtixNDIzzM/uZGGWGudLLybFXe45Rmmz6QTGWJpsHuLi0NDGwJ2lbp33GEpGd\nLSUPAFmoTdlXxgxs00zN+GHYVOqY79embwlbJNPW5t+SsGlpslU83OZnYq7nbF7fM7KSseSzMIdF\nmz6ZjNJUXu6d2nMtRmlifDZsfhGMz0tmppxounYFiop0CS4ZtJtdPDhR2vKNYJQS9pqEwetFMlsS\nXh83Zt7ZLH7NRMExSkljLKk23AtYmPGz6ZPJXM/Z9MmMS6WJOT0xliabDmmMgpaVJUkqw9YcN5mt\nbfp2ed2JkrE0BYN6x0YW9kqBseTYtDS1dphxY/3v2Ohf7bxjrp9ZmM/EKCVbtujlFwvTP5u+P163\nNNmM/o3L67l+/fRtDjiA24CYZx1zjL7Nscfq23TrJgtNqzQxVbiZCtLHHKN38gS4aulM//bfX2+m\nLivjK3dr2WMPzmTPVCM/4gj9qbpDB+B3v9M/i+lfS6JnT330aiDAzXFGfvXurd+M27evcRVwizHA\nccfp2gBcmwMP1PsMVVUBJ5+sfxYjv3r31u9PZWXAaafpn8XIoi5dOFnE7IV9++plUbt2IsO0sOsj\nEk5TV+/2K4Q3nn/+U+o+vfYacN99zd0bH5/oRKoSHm/4MszHp3URSX550tLksythS1NKSrN2w8fH\nx8fHp1XjSaVp4kRgyRJ9u2ee0bd59ll9m6Qk4PPP7Txr7ly52wbcXc+FYStWL1yob/faa/o2b70l\nOVw0/PwzsGyZrk16OvDFF7o2xnBVzJnvl5mzEybox6GsjKsszvSPeU5Lgxk3pk1iIvDDD3ae9fXX\nwPr1+nbMWho9WpebLswrr+jbvP++OBprSEsDvvtO18YYrn8vvKBvw4z5//2fFAjWsGIFMG6c/lm2\n1seHH0rNPw3btkX+vSeVJtaZmbGgs4kMGf+pqip9m9RU4Pjja/7ulrIy/bOWL9f7sJSVcc/KytL7\nQzH927hR7+yZm8sFCDDfbyikb1NQUFOT0C1s1CJbWby1Y0sWFRZyc5WZd9u3630Eg0FuXSQni5+S\nhtxcLhpu61b92liyRO9jk5nJrUFmPWkPpIAoTFpfvNxcYJ99dG2YuQfwAWJMVH0kWozSVFnJLRjm\ni7AZabBlS40zoNtcTcXFXNRFbq5+0axcyTlGMuNeVKQPld6wATjqKF2b9HR7OVUYvF4ks7W7/9iO\nwLSVtiIvT79Bbt/Opf1gMmEnJnLO9Mx8Xb1a7wS9apW+f0VF+gMSC1PcltkLbUat+0pTBEpK7G0K\nTM6SUIgLpS0vl7D5rl1lsuXnR2+zaRNw5JH6ZzHCY8kSfQTKjh0S7aiF6R+THdfr4cGFhZylyVb/\nWjs2UzUwc4GVRYC38xOtXFljlXdLQQF3a8CUX1m1St+/jRv1stzmoYVN6mtLEWQynbcapcnmpsAk\nAsvP5/OcOI4u7QCz0NjTcWam3oy+dClwyim6NkwNqzA2BD2rCDIwBYV9pckeNnOlMZYmxmLLYrNm\nJFOqZNky/aGPLenBfFeMLC8o0FsEWZj8XTato4D+u4p2HepJpYk5qdncFJhJ2dhNNZx5Oykp+muT\nkoDDD9e9/+bNnHWKYeVKvZl6/Xou5wZDTo5eENhUmhjY9dHar9oYmIzMLMwGZDO7d1qa3qeQvR5n\nFJmlS4GTTtK1SUnRy1eA6x8jy21a95gDnE2lvdUkt6yq0ls9bCpNTP8yMyXZoobaX3hYodm4MXo7\nZiIz9+0lJdw1BKMUM/1jKsCH0Qo49vtli7RqYdaHrzBx2LQ0lZcDnTrp2tj0yWQyOTPWFdY6xSid\njEsC63MbCOhlGKM02Vzrti1NWuJSaWLw+vUDY4mobdEKOzO7UZoY1q/XO0yvWAGceGLT9Kcumzbp\nI+eSk7mM1oxSwny/Nu/2mfXBKN8+dpUmQD9fGfcC1g+KacMoTZs26TOWs6xbp7d6r19vL1M+U4ev\nuNieLGKUpsb44WnxlaYIsKcThsxM/aZae/KHhciGDZHbsCcGpnjl0qX6E9e2bfp6cIAsGq11j4mc\nA/g0FNrTO3viZ/rHrA+b10wtidJSe47gNueqNrIW4PqXk6N/FmOJZuvpMVFmTP9YWZ6drR8/Zn9i\nYZQmtvYco2jFpU+TresHm6GPTG6d2mbW8Oa/YUPkxZSVpb8mArgxz87WR6YtWaJ3Agf4E6v29MlE\nWwDcla1N3xJmfdi2mLQUGGXT5vUIo6zv2MHJFVswlhwmIIW1eGzerM/rtGOHPsgmjLaPNr9fr0f/\n+pamCHjdi7+20rT//qLgFRTIZtsQbLSFrXFgwm6zsvRRMYDMCa1SvHWrvcrnzDUJC2P98JUmDmbc\nKir0vkkAt4Hn5+vD7NnrZ1tyhUkBsGyZ3r0gKYkrHMtYyhlZzmIzkMXr0fFNrjQ5jtPbcZyZjuOs\ncRxnteM4/2rsex58sL7NXntx+UrCofwamMgO5jl77lljZnUcd1d0waA+6VpuLjBwoK5NVRXQv7+u\nDSAWM60lJz8fGDBA/yxG4JSVcVXCme+3fXsu8R8TGXPwwfqr6DZtuKtUZv02F00hv7p21UfXVlRw\n/neMgn/wwfoNvE0b/bwrKtIrJaEQ5/ujlXmARKVpD1XFxcDZZ+ufxfQvGOQihpnIvg4d7MmiQw7h\nlH1GrjDrI5oV1mls9W7HcQ4AcIAxZoXjOF0BLAVwtTFmXfXv/QrhMeLmm4EvvwQ+/hi4447m7o2P\nT8NEqhLuJaLJr+rX+DLMx6cVEUl+NdrSZIzZYYxZUf33nQDWASB0Vp9oaNIO+Pj4RMeXXz4+Phpi\n6tPkOE4fACcCWNiY90lIEIdhLa++qm/z+utiBtWwc6dUhGaepSUYlCrcwK7O4NGYOVNC7rV8/z3n\nlDpzJtdG+6zvv9c/55NP9G3eflvfhvl+33kn+h16XebPB379VdcmFAJee03XBgD++199m/fe07fx\nArGSXwAni5g2W7YAX3+tbzdypL5NYiLwyy/6dsxaCoWAUaP07ZKSJHmuloQEvSzaskVSHWjYsEHq\n1mn45RdJqKlh0iRdgXcAmDsXWLxY1yYzU24/tDByhVkf33wjUegacnIi/z5mSlO1aftbAPdUn9ho\n8vP1IZ2A3DfbeFZWFue0mZenb5OSUhNqGbY0rVvX8OvDzJ7N3QEvXqy/b16+XBaPhlAImDZN9yxj\n9IvaGE551H4egPt+mbmUmcllzGdTFWiJJnS8SCzlF8CNGyO/cnK4BK6Fhfo2SUlceQ5mLa1fz0Wx\n/vCDXu4ZA0yerJd7n3+uj0Jk+jdnjr7N8uX6yLtNm/SpCnbs4NJrMHOdXR/aeVRaGvn3hGqyO47j\ntAfwHYDPjTHj6v7+6aef/u3vgwYNwqBBgyK+X0mJPieDzeRXTBFYlrVra5wI+/UTh8yNG6NnAmYy\nyTIh+oAIgkcf1bWZNQs491xdm7Vr9U7aqal6J22beXYY8vP1pR+aOr1GQkICEhISAHBWx+YkmvwC\ndDLMpvtTfr69OmPp6cA55+jasGMxbx5w0UX6dkwaj0WLgNNP17WpqhLFk6m7po1cZHLoMYlpt27V\nB34we2EgwBlFGNzqErXlV7RDX6O77jiOA+AjAGuNMf+r7zW1BY4bGKWppMReSGJWlr3aPuvWAYMH\ny987d5YrunXrgDVrGk4syRa3nTgRuPVWXZvw1ZLWWjJ9OjB8uK7NpEnA3Xfr2syfr4922bBBH8Fj\nU2lnNsqiIi7jr9tNr64iMXv2M/qHNQNu5Begk2FMmSCW/Hx7mbCZFBkZGZzFmykFsm0bFwE2YQLw\n5JO6Nj//XCOX3ZKWpv9MjSkFpYU5aGdlAWecoWtjU9EvKXGX3qC2/FqxAnj77YblVyyu584GcAuA\n8xzHWV79c3Fj3tDtB62NzUSVjHZdVsZd6dXNhBrOKrtqVcNtli3TWyIArkr4uHHANdfo2hQWioKr\nDXtmCiUzWcFrW/fcwiYVZSgq4kKlbZVJiDM8Ib9YmA2IlUWA/mDArCX2WePHA1deqWtTWipWHK2y\n8MsvwPnn69ow/Vu2TF91gbXkMIc+Zi/My+OUJqZ/TH6sJs8IboyZa4xpY4zpb4w5sfpnamPek0mZ\nzp6kGbKz9cpFrJIm/v738mckZ8dffwXOPFP3vmxG2OXL9blYxo4FbrxR12bLFu7EyhTFTUrS58yx\nWVkc0H8mRtFqDXhFfrHk5+utPzYV/LVr9bmG2GS2TM21b78FrrtO1yY3V67YtHnPmBJS8+frZTmb\ngJOBMVYwc9YmcVlGhcnuatPSxFx/MQs6FNp9YbqxNDH3+swpKDWVS/TJLGqmf4WF3JwIBvUnNfb7\nZWBOXIyliVE4fTj3AoAba8aqZdMnkynZMn8+cNZZujZsVYM1a4DjjtO1GTsWGDZM14bN/s8oGExB\nYdb3jJERNq/nWk3tOQabShMDY4lIT999I65taapvorOTPzUVOOwwXZuvvgKGDtW1SUzUl1EBON+I\nhQv19+0szPfLnriY75ixNLG+ca0dVmli1652Y8jK0itNNn1rVq6skXNumTIFuOwyXZvNm7ks7MwB\naeJE4IordG3Y+bB+vd4lgakjysIoTVVVesseS1zWnmM3Be1JurJSb9FiycjQOynWZ9ru1Us22rw8\nMffWJSVFn0af2VBDITndaTf9777Tm8OZWlmApCc49VRdG3ZzYOZfZqZdPyht/9jNv7Xj9XFj5h3j\nXmAMJ8uZm4bERL3F6Kuv9G4CrL8oE1zCXrMxBaNtuhcwPk1MHVGAm3++pSkCNs2EjCCoT2lynJor\nuhUrdm8zb54+WmzqVOCSS3RtGEfIykpxUtQu6EmTgMsv17UBuCimTZvsFcm0eU3CrA+bDs0tCWbc\n6ruKbyqYecdsqllZ+iKw5eX6Q0tFhYTXayxuVVWyEWuv9H74Abj6al0bNoUJI8tZbCpNBQX6Q7DN\nm6RWozQxJ2mvO6QVFdW/qMMnnfoSPTKVsVes0JvDf/4ZuOACXZsJE/R+SQDnTBoM6qMmws9io320\n2HTIDW8sGliH5tbuB8WMm80q7hUV+ug55kqKWUtMtBgji6ZPB4YM0bUpL5e5zaRXYXJObd6stzSx\n11hMOgT2+pAxINgM9IpLpYlRZNq312uiFRX6rKlVVZx1gNkcG/LhCUdT1FdK48gj9ZvWmWfq21x2\nmX5x7r8/cNppujYA17+sLGDgQP2zysq4vDfM91tVpW9njN6xFuDaVFVxUUy2rLdepW1bvYAvL+dy\nDDHfqzbrMyAWYm3kV1GRXmnKy9NHiwH6NnvuqZcPBQX6PHaABJVo3QQATpbn5gL9++uf1bGj3vpT\nUqJPHAxwczYY5PZdRpeIphQ7TV29268QHnvCTtF77SVCxpZZ38fHLZGqhMcbvgzz8WldRJJf/nYb\nh/TqJUpTYaG7OnQ+Pj4+Pj4+jceTStOiRcDSpfp2THX1MWP0hQCNAT74QP+siRMltFNLfVXMw+bo\nBQsabrd4sd06WF5GW+h39mxJ+Klh7Njo9+F1mTgR2L5d12bdOumfFmZ9MG2++ELfpqXBjNv//Z8+\nd1dhoUSBafnwQ32bykruu12+XHwtteTkcMW2WyJaWR4MSqSyhrw84McfdW2CQeCTT3RtAJnrWpg1\nNWWKpNPREK2YtSeVpqwsLvGfdvMBJFpK67RZXCz39VqWLePuWOtLZBnJrynMt99yTrlJSeK86FU2\nbJDoPbesXKkX2j//rPf9WLdOHyWzerU+gicjQ38lW1Eh/g5atIojINnbWzuMLGK+1+xs8TfSsnWr\nvk1yMucKMGMG5/P3xRf64AVAlAtmg7VFKAS8/7771xujl+WrV+sPzBs2cLXnmPlXX7qcaLBrSpuo\neOfOyL/3pNLERpKwtWm0goDJuQSIY602oquhnBZhpWn+/PrbsflEgkFg5EggQhH3BsnL0wkDQBb2\n669LxJEbAgHgzTd11dZ/+AG49lpdv0Ih/WJjc4Jow9NzcvTOlA1FYkaD+UzRksP51A8jv5i5wLJh\nA5eOg5l7xnBlRwCxYjCyzxjg7bf1B+IFC3SHuHff1TmGL10KnHKKrk9MugKmTiezF9pK4gqILqE1\nikTbizypNJWU6JWm8nLuVMLALmaGX3+tv6TASSfJZFi3rn6tfdw44Kqr9M97/XXg73/Xnzg2bQKe\nflqXIby8HHjoIfl8bhWH114D/vUv9yGrFRWirGosQI0paGqD3Fy9FaywkFOafPRUVtqTRcxcALiN\na+NGfWQpm39q0SLg9NP17datE6VHG6VbWQk8+qjU0dREPn79tShN553n7vWrV8uzNErdjz/qU7Xs\n2KGPDGfKYmVk6PdCm8XDmUSzcZlygNEObW4KjHYdCnGa8tKl9S+wDh1qFmrdqzQ2n8iSJaJcaMOE\nExKA0aNFoXH7HWRlAf/+tyhAbk9dCxbI9abmtDt+vF55XLJEHyJsMxEkk1GXXR+tPecSAyO/AE6R\nYSxNbA4zZrNjrBeA5HTTJrStrBRL0X336drl5QH33w/8+c/ua94ZA7z6qozjvfe6WycVFXJt+K9/\nue9bWZkonTaU8FBIPy+2bdPvhTato4GA3gAQl5Ym5nrOptLETBSmDAEQ+dQaTphWV2n64Qfgmmt0\nzyktBT77DPjrX3XtPvtMBOOzz7q/zlq7Fnj+eeCll9yPyc6d4mj9pz/p+rdkiT5Z3oIF+lPu5s32\nMolXVemvDn1Lkz1sJqpkLE2ZmfpM3QCnQDPFd0tKxJKs3exeew245x7d2ghbyJ9/3n3tzbCF/Nxz\ndSWhXnlFDooaxeT77/WuBaz7CEN2tj6XG2sdtUVcWpoY7ZD12WBg/FCYTN2BQORrqLDSNGPGro7z\nK1boE5y9+CLwn/+4N6WHQiJoevQA/vIX98+ZPl2cGl97TbexvPAC8PDDOsG9ZYukZtAKe2YuMd8v\na31kYJQmtnZYa4dxL2Bh6kYyhz6W1FR9AkSmPuX8+bJ5a64PExLk0KexkGdn6y3kADBrlhwQtUXR\nV63SV2tg/JlYWcRcv9q0NDHEpdLECGqvn6SZTXX5crljb4gjj5Q76JwceS3A3UtPnSrFLt3eTZeU\niOC48krg0kvdP+eDD0SRefJJ3WlrwgRxhNSejseMAYYN07VhlQSmYrrNyuLM+mDKbfjw13OsAq1t\nx/ihMMoZIOtJ2781a3TFd4uLxbfozjvdt/nsM2D9er2FfPhwOWBqbg0KC8Uv6bbb3LcBpPg6k3F7\nzRrg2GN1bdibEGbOMpYmJoiKJS6v5xiYTYEtpMjAFMmcPz9yeQDHqamfNGGC/Dl2rM4ZOzdXIj/+\n8Ad3r8/IENP0f/4DHH+8uzZVVWICP+ww4K673PcNEN+n+fP1142hELc4WR+M8nL9XGI2LxZmfdi0\nmLQkbF7PMTCBLMyhLztbv/6Yw8cLLwCPPOJuA69tIf/rX91v+rUt5FrlccQIcTLXKhhaWR6G8U1i\n5R4DG/3r156LAKO9FhbqBzU3166ZUPu5cnKi3xeHzdhjx4pyUlDgPheUMSJAHn3U3esrKoC33hIH\nSI3V5+23gRtvBAYPdt8m3L+wwNEyaxaXNsFmZXH2moSxhjGWAtZi0tphlM1AgDtJM3OBUWY2btRv\nqg1F/kbiq69EVrjlxx+BM85wnwfq/feBK67QWciXLOEs5IAoWoMGcZaVwkJ9wAcbkMIoxSwFBfoD\nHLO/s8SlpcnW9VxOjn4ysyG0WtyOwfnni2K1YYNcf2mqfc+eLQLEbaHGjh3lVKe1qPzrX0C/fro2\ngCSYvP567lqArSzO+GCwvj82LU1MZXHWYtLa/aAYZdPmSZqRYcnJen+caO4FdamqkrFzK8eDQSAx\nUReO/7e/ASec4P71gLgGaC3kgATxbNwIXHKJvu3PPwMXXqhvt3gxVxSduQlhb2qM0c8/m+43cWlp\n0jqBA2IF0QqdoiL9RMnL0290waA+E3henrvF3a4dcMMN8vdfftEpTeee6z6/SHMweDAwYADXduBA\n7uTeqxfnOH7IIfpnFRfr5x8zzwEuZLm8nHsWs35bEhUVemVz507O6s18r4wlonNn/fe63346RT07\nu0aWuaFdO+Dxx3V9skmHDpyVHBDFgpHNW7dy+a323FMv97Ky9P6zADdnS0u5ahqMLAoGI//eaerq\n3X6F8KZnzhxREnr3FudBWw5zPj4NEalKeLzhyzAfn9ZFJPnlSUuTj46zzwYOP1zu3cePb+7e+Pj4\n+Pj4tEw8qTStXl0TQq/h88/1baZO5QqZjh2rb7N5c/3Fd6OxY0fkat9t2tRkmf3f//Tv71M/DdX1\na4hVq6TYsYYlSyTBnoYtW8QfTQuzPpiq9tpK6S0RZqy/+kpf/LSyEvjmG+5ZjPHshx/0bQD9WvJp\nPPPn679j5vtl9sIvv9S3YdbUnDlAWpquTVwW7N26lSv6qd18AGDlSr0zWygkOT60LFjA5b359tvo\n98B33in30rNnS7HeMBMmiO9Ma8cY3ULduFGc6zXMmqX3AVqxQj8ntmyJ7qxYl1BIr9ABouhr0Y5b\nS4QZt7Vr9Znec3LE/5F5ltaHpbJSDrRacnIkko4hO3v3igetlfHjdbJ84sTq7/ijj4Bp08TZLgL5\n+eLeoaGsTN8GEPmqhdnfk5J2Tfzshmhj7EmlaedOLmKKgcnunZnpPsS1NkwOEsBdXpVu3WpKjDzx\nhPy5ZYvUrrM1ll7mgw+AI45w//qJE/W1r5iSAtu26QtrMkkxvZTnxKdhtIqMzQSp69cDRx+tbzdx\nokTpajFGonUZx+aWRnq63L64leW/yZXKSrmGuPhiifWPwKpV+sjCLVu4pJi2YHSJuIyeY0KdAwH9\nKY0lPZ2LGmCSjmmKsz70kEyQyZOBKVOk1tF//qPvZ0tj/XoJWdWE4rrJkRULmDpyWVn6vhUUuE8t\n0Vhau880WxCXgZkLLExJD4DPAfTZZ5LU1suVHmwQCull+fjx1akYliyR0LOjj4560me+X2YvLC+3\nU4AY4HSJuMzTVFzMFexlNgVGwKencyHmDBqLx/7714Tg3nkncNNNfMbzsjLgp59kzQGycJ94Qnxc\nCgvdv8+YMcB//8tdDUWitFRq7tW+iqyPQEASct57r/v33rFDb0msqrKTvwvgLFqs0sSsj9auNNnM\nCM7MBZulgthki8nJ4qZxzjn6toB8xtWrxbUhzHffifKhuRrasEHk3syZ0UPRtf1LTJQ+RePttyVP\nlOYa/zdl5pdf5D9c5C9g5hKzFzLPYSkr0yto0ZQmS7YZHYzQsXmSTk+vKV/iFvZEuH69rmbRPfcA\n77wjzm+ffSbZct0QDEpitFmzRGnt3Fmi8sI1oNq0kTpNa9bI+xcVyenxyisj55cZNkwWybhxwIcf\nynd05ZX6ZJeBgPRv9myZH+H+RauxFK58rskX89spTUFSku76rzFUVOgFgc310dqxqTRlZemv59gr\nPcZSPn26XlZWVQEjR0rlAQ0pKZIUMiVFrjmPOUaS/4a57joJ+hk/HvjkE7muvuIKkSENXYsedZRk\nAp85U0pBGSPpXc47T58DKDlZ+peaKs877rjousyqVTLumgLsBQW1ruJ/+kn+1CTwU5CRoa9qwMzZ\nxqC98o5LpcnmpmCrZAtzX1xayjmOn346sH078O67ciX1xz/u/ppQSE5iv/wiQrRdO6na/fe/N/zZ\nwgs9rEht2AB8/LFcIfbpA1x9df0Wmp49gbvvlr/n54tz+mefycZy+eUyLnW/h1BIxmzmTBF04f79\n4x/u76h//VUUOk3lc0CEmjb78cqV+u+XzS7PzNmCAu5KmXkWW3i2pWDTJ5ORe2lp9izlS5YAV12l\na/PGG1IXLtoekJkp8mvNGvl3nz6iJB1+eMNtuncH7rhD/l5YKJb8L76QDO6XXAKcdNLu87d9e6ku\ncNFFotDNmSPlpwIBOZRedFH9cnrHDunf2rXy78MOkyzfbisOVFSIL6Y2InrKFOCyyyATcf58ETK1\ntcd6YC3lgYC+0oBNSxMji6L5NHlSaWIqYzPCgy1/wbBqVc1idctPP+lLgbzyilThHjRIFKC77pLT\n4a231rxmyRKx/Bx/vFzhsVr/UUcBDz4of09Jkei0rCwRPA1l9t1nnxrLWXExMGmShKx27izZc9u1\nAxYuFGF2wgnALbdwC2znTgmrHjlS146t5r5+vX5z2LFDV8MvDDNnCwr0/goVFX52bwbGvYCFkZXp\n6XqrKGMpDwZlI9ZsxsuWibIUyYIcDIrVZ7/9xFIzdCi3Oe61F3DzzfL3nTtF2fj2W1GAHn64fqWt\nbVuRrYMGyaFnwQLgpZdkrdx0kxwoKyrEKn/AAaKrDBvG9e/ll4F//1tv3UtMrC70O+GXGs0uimOs\nTUt5drb+WayfICMr49LSxFBYqHc2ZE+E7ElfW3xx4ULguefcv37WLDlBHnaY1FjKyRHT8m23iSVk\nxAjZBE85RX5iyWGHAffdJ393Gz3VrZss7qFDpU3YIfr00xsfMfPCCyL4tN/VlClcrahAQK9g2PSN\nY3z+bF4ztSTYcbNloUtP19/WJCbqLamzZ8tVllvKyoBPP41+0GnXDhg+XNeXaHTtKge9G26QfrhZ\ny23aSEHis86SzTkc0d+xo1iiGkNCgliktHUww07WjgOJCAIkci4KzE0IwM1Z5nquqMiee0FcOoKz\nSol2UFkzoQ3rlPaUVlgoSQVrW5SeeEJ8etq2FWfsY44Ra5A2gZ4WxvmcdVivj/Hj5VqSseKsXMlF\nCDGkpXFXZgzMlTJ7qPAdwfXjZtOql5+vj0hjNtWEBLHIuOWll8RyHU3mGQN98h0FnTvr9yDH4Vwp\n6qOwUFwYbrlF3/a3+qPGiBkfqL6ri8y6dfp0EuxXwFjzbbrfxKXSxF4/aAeVMTkzFcyZdAjz5umK\n1bGk7ucAACAASURBVL7zjlxv1Z0k990HzJ0rCyIpSczRvXtLNFlCgqTxaEmUlQGLFumvygDZuNq3\n1y80RiEB5MSvzXHCKiSME6/Na6aWhM3oXxbtHM/P11nKjZGDn1t/l0WLJDjk4IOjvHDZMsw45E4k\ndz8FX3xuqGoOXuedd4BHHuE2/PnzgTPPhNxzbt0qXtonnRS1HWMpz8ri8hUCdtxvgKa5nvOk0sTA\nCComimTLFv2VSkqKPlosNVVX5frhh4EePer/3RlniHn9gw/E2pSZCbz+urx/9+4SKfbGG1zGVa/R\nubPuSrM2mzbpI30AcYhnrFOMRcLm5ur1ayav4vXoXwZtYE5Ghu7Qd+qpwI03RnjBuHFyD3byybho\n6yc4vGA5Xr51FXr2FFeDhx+WoJGWcAiMJMujceih1YejcD2UK690dV3B5E2y6V5gc31Ecy9xmrp6\nN1MhvLJSr/UyXvxh86I2aoCNevICxoiv1HffyZV3OLIjTL9+wB/+ANx+uz6CzEcHM4+M4RJiMuuj\nqkqep31WZSXQsWPDVcLjDa0MCwRk49J8t6GQ/GjHOhjUt4kr+VVeLknnxoyRf++xB4pv+gu+3/9v\nGL2gL+bM2VVR2msv0RNuuQUYPDiOPmcsCYXEGpCbK06aLnyaGMKBVNoxZuZsVZX8qbWWM7pENPnl\nSaXJxx5bt0rukKlTpTxRfn7N7y69VE49bII5n9aL47RepcknRkybJuFj4ZwCxx0nDou1TnOlpZIC\nYMYM0Q9qHwIPP1zcEP70p9j6THqeb78Vj3bHkeyirerDx4ZI8suTevjGjVxhyHHj9G3mz5drOi1h\nHzsNxcVyd8+wdSvXLhoHHyxWpTFj5Npu2jQ5pXXsKJaogQPloJKY2DTP9zLaMc/K0o/T5s36ArfZ\n2eLzpuXHH/VtmKrn4Xx6rRlm3KZM0RcqD4VEj9AyY0bU+q31Ek4wrSUjQ+k4PHy4CJ41ayQ+fdYs\nWVx1zN977CFX6q++Ki/duBF45hm5pkpOlrJrffsCo0Y1qe+4t0hIAAAETzwFBRU6hYn5fpm9kJFF\nzP6+eLG41GiIy9pzaWlRawvWy/Ll+jaLFnE16xjlZ9kyiRzQkpkpOYeamnASt9GjRWF48klxcJ42\nDTjxRHFO1Ar1eObNN3Wvnz9f71OxdKm+PEN6OtQOsMZw62PFCn2blSv1bVoazLgtXKi/SsjPF/9H\nLXPnctF6M2fq2wDiM+na123UKEnEBMipbuFC17kL+vYVuZWUJC4I/fuLwnbHHfIW2gNK3FFLi54w\n8FVVyatQ6Dd9S9Vm8WJdGyB6+av6YOTX+vX6w0FxceTfe1JpKi72dkZdNgHikiWuAhl2Y8wYSZDG\nMmWKOKdq6NFDTmxJSZIkMxSSpJmHHy7hxxq++koEV3MTCLi3AKxeHb1ES10SE2uypbslNVWfi4XJ\nc1JSYs+pO1r0SWuAGTfGP6QxJSm0fWRLQW3bBhx4oMvnPfaYaDhVVcCf/wykpWF7xb6YM0f3zLZt\ngWuvlUPJ6NGSfmTePEmbMGKELqoqNRX4/nvd85uKyZOjyPKZM8W0cuihWNh+gCqlyaZN+uoJO3bI\nd2sDZk0xukRcRs8xH5RNA89k1GU2OkBOhfvuq2tjjAgdbX2fcNu33pIyJ2zoeI8eUjBy3jxZUNu3\nAyefLILILVdeKebz5jzl5edL+gW3uWa++05qVWkQB0Jdm9JSfQqLzEx9qG9+vr3ok7DTZmulqspe\nBCEzF1iWLuWS4o4ZI9myo/LXv4pGA0hiufffx4pVbfDKKyJzGNq0EXeDdeskh11lpehlV1zhXrnv\n00de+9FHXB9igTFi+c7PjyLLqzu5fcgf8fsTdRsi8/2mpOj3QiYFD8ClD2g1ShMTsltUpE/YxsLU\nJgM4QbpwYXXeDSWBAPD44xIKHy4VEGbdOkkkt26d+/c780wxqd56q1wn3XabJKJzM5E7d5byLqNG\nuTPlrl4tJQRipWRt3iyJPocPd1elvbJSxk+jzNj0E2asC0xGeh8O1qrHwMwFdq4uX64rHBt+lqs+\n/vyzVPQGpCDl/fdjwgSxkr/6qvgu1X7P4cPFbcBtot6995Z6l19+Ket60iRRxLZvd9f+llvEWvXq\nq9HHzxgpozJ9emwSCQcCouj177+7LN+FnBwxiTkOvux4B665RvecDRv0VTWYvTAnx17tubIyvR98\nXCpNjHZo8yTNaNcFBZxSN2GCq4Suu5CfD9x/v1i564t869dPLN+LFomf0ogR4ocSTRh07SplDt54\nQ8zfr74qQRpuBEO7dvKcn34SYRKJ446TiJdff63pX2IiJ+xnzRJlbeRI9/Nj4kQ5iWpIT7eX3buk\nRG+dsrk+Wjs23QtYqyOjQJeV7aq8uGHuXBfRt5s2AddfLya6O++EGT8Bb70lOckeeWT3GwTHqakN\n99xzktR3/Hh3/pbDhkm9uMMOE3+X/v3dH84uu0xSRT31VGRrquPU1NF89ln5+8SJnON92EJ+110u\nxvHjj4GKClRddDEK9z5UnaGcSYDLFH+2aR0F9MaKkpLIv/dk7bmyMn1Kepsn6bw8/TXbsmV6f6aS\nEnHW1DhsJiVJVexnn408HvvsI1FzwO6Fcy+5RMy09U02xwH++U8JaLnhBrnGGjJE2kfT6B1HhOB7\n74mfU6RkdvvuC/zxj/L3wkJ5/y+/FKF9ySVySoy2GEaPFgvkc8/pFs7CheK/pWHpUv0VQihk7xqn\noMBFtmWfmGBTaWJkEWspZ5g6VXwjGyQnRxIqFRQAV12FwDsf4OnHRaZE8v1u1273wrkvviiKyckn\ni4xo6GBx3HGyxq+4Qv489VRxgHYjn886Sw6/Dz0kh7mGruPbtZNiveefLwrWr79KPcyKCnnexRdH\nV0A3bxZZPny4iwNPebk8AMC83/8DV18d/bPUhnVvqajQ79WN8cOzQdwW7G3qNP9A465UtP1buhS4\n+25dm2+/lQOYW+bMESH12mu6RIa1C+eWlsp7/PCDvMftt4vzd10uuUQEzcUXi+/hwIHybzcWkL/+\nVRS0996Tv0djr71qfCJKSsRk/913IrD++MfdrX5hp/UTTti1Fp8bMjLEf0z7/a5eLbcKGnbs4Orj\nMeTnA8cfr2vDJIbzsVvomElUmZKirzK/fbt+rhYVyUEqov/KgAFipu3eHfmvf4YnH2iDe+7R9a9u\n4dylS0UGlpTI29e3Lnv2lBvBG24QeTJggITbn3FG9Ocdeyxwzz3AAw+I4hRNQW7bVt5/wADp3+LF\nYqUvKxO5WV+B8NmzxSI/cqRLWf7oo6J4duiAyaGL8aLygL5xI3DUUbo2LJmZepeTqiq9FYylyZUm\nx3EuBvA/AG0BfGiMeanx76lvU1Cg9/xnC5IyMFWa16ypsQZF4/PPxSIzfHjjrBd77CFRJ9deK4eX\nSCbvU06RxX3BBRIZOGCAmOPdKE5Dh4pPwosvAv/5j/s+d+kiiuT110vf6pq8S0vl/v+Pf+RKm4wZ\nI/5aWpjaTTZP/EyUqE2LSXMSaxnm9XFLTRXjjgbGSfjrr6W6QIP8+ONvd2M7nn4Pz7+6Z1QLeTQc\nR/p5yik1/lQN0aWL5P4ZNkxcgQYNkgOgmw39kEPkmu7hh+VPt5YTx5Fi4qed1nD/Ro+WOeTaQm6M\nCFMAO4dci9599NrFkiXA6aerm1Ewliab5aOa1KfJcZy2AN4CcDGAYwAMcxxHWWVtdxgLEGNpYu5W\nbTn8btzo/rT17rtijfnHP2J73dOpU/SJeswxYmE68EDJTXPmmdGTg4UZMkTM1489xiWe69RpVz+x\nsjJxTn/oIU5hMoarR8hEYAKcbxxLYaHep641FOxtChnGKE0VFVz9LwYmaGbVKveRp2E2bYrgWJyX\nB/zlLwCAHfe+gDe3X4/XXouti4XjRJfvHTqI1fsPf5DvYNAg9zn4evSQgJrhw8W3Jxb9e+cdGYO/\n/10hU2bMkFToPXvi/VM/wtCh+r5s3qy3PrJXekzKHps+mU1taToNwGZjTCoAOI4zFsBVABRxWbGB\nOUnbikLKy9O3+fpr8R1yw5/+pK8rFkuOOkoUp3PPFYfta6+VE5ybTeC000RxiEWNqM6dxQeAHQtX\nTqv1wFqM0tL0aQ1YPyjmGsemJbYZibkMa4kFe8vLdVFI69YBRx8d4QUPPSSn1gED0P3FhzC8Q/MV\nem7fHvjiC1kj334r12UzZ7pTErt2lau2WOUmu/tupfwy5rdEoKH7/43sgj3Qvbv+uUyOsIwM3k9S\n+13b9Flu6ui5XgBqJynfWv1/jYJZPIygysrSW5oY68CyZXon4YMOcn8abE6FKcyRR4qPQI8e4hN1\n003uM13H0imwMWORksLVtmScwAHOiTI/H5RQZPD6NVOMiLkMY6N/mU2huRSNaCQmir9QvXz0kfy0\nbw98+CHad2zT7J+jXTsJNLniCjnkXnihWPvd0KFD7BRetfyaPFm8zHv0QOql/6jXPyoarL8Qayln\nvmvW0tQUyXkbVbDXcZzrAFxsjLm7+t+3ADjdGPPPWq9RF7tkIkIYoROOTtNM1EBATiQaUzpbDToe\nWb5crtwKCsQJe9Solv+5w1eLjCVHq+gHg3Lq17Zj1kf4mlWb5yQvD+jePT4K9jaFDCsslO9HsxEx\nucHCz9JetTHzLmaOuMGgdLi0VGL4J06MwZvGjvJyUZx++gno3VuCa2ylElFTWSnmvJQUSQZ6//30\nWzHfb0WFKCVaX05mzpaWSv+0V9iM3Ismvxp7PZcBoHetf/eGnNR24elwHSEAgwYNwqBBgyK+qVZh\nArhTmlZAAZwlw3G8eyKMNSeeKNEogweLQ2PXrpJRvCV/flYpZPyF2rXj2jHrQ6MsJSQkIEFbuMob\nxFyGMfnYtKlFGvMsZv7ELHLpyy9lB2zXTvIKeYxOncS1YMgQqYIweLAEu9gqFaLijjtEYerWTZyg\nGgHz/bI+eMyc1eYHC+NW7qnklzGG/oEoXUkA+gDoAGAFgH51XmO0pKQYs2GDupmZMUPfZtkyY3Jy\n9O0SEvRtSkqMWbVK384YY/LzuXbNxU8/GdOxo9jYHnzQmFCouXukRzvmeXn6eZuWZkxSkv45S5fq\n2hjDrY/p0/Vt5s0zpnrdN0q+2PhpKhnGjNusWcaUl+vahELG/Pyz/lnz5hlTUaFvt2CBvo0xxhQU\nGBMqrzCmTx8RCh9+yL2RJfLzjTnxROnqsccak53d3D2qQ06OMV26SAfvvbfel5SVyY8G5vtl9sKf\nftK3YeRXYqIx27bp2pSVRZZfjbo4McYEAfw/ANMArAXwlTGm0U7gmzeLj6AWbVFHtg0gOT20rFgB\nbN3tDBud/HyJkIsnLrhAnCrbtZMSKhET3HmUcBkst8yfL6ZdDYsW6Yspp6ZKahsNxoiju5Z58/Rt\nFizQt2kumkqGMeM2c6bekl1QoC+gDUiEOmM1Z2/TRowAzEcfy+Tt168mc61H2XtvGaNjjpHUL0OG\nyFh7hgcfFP+Ss8+Wq7l6+OILGW63GKP/fo3h9sLZs/VtGPm1YoVevhYXR/59o71NjDFTjDFHGWOO\nMMa80Nj3A+xn1GV8oRhz4ZIlnMPw2LGgwkjDLFignzj1YYyUUXHr3nH55WKNb9NGlKbnn298HxpD\nKCTO6m5gQnBXrNCnOmCKPzNRn0wJDJZYRRLZoilkGOMqykQ4Nia7svbKnJGVgKTx6Ll3AG1eqh7a\np59W3QcVFLirWemGiROlP27o2VOi+fv0kWCeIUPEH6c5+fVXoGz8DOCTT+Q+96OPGpw0GzZEiWCs\nQ0pK/YmMI8EEU9nEL9gbATYUm3HQZjY6gMsBBMhkZpMgjhkjAofx36qL40h6gccfd1/J/oYbaqxk\njz8uCduag3AOJ7f+cmPHRi7zUh/asGxAFvWee+ra2Kw3xuA2arKlwig/LDbreDEJLgGRQX/Kf1nM\no/36qcocJCeL3HBTaNsN554rBzi3FpiDDpL6lfvuK1bh5rQ4ffEFsHFaCjrdMUz+4+mnG0zjHTXl\nQz0sWaL/fpkIumDQXnZvJm1KXCpNjHZYVKTffFhsZnJmrBeACO6XXhLrwj//uatCuW6dFBR3e+Kq\nzRlnSMXvBx5wVyATkOLAH34ofXjySUlmGekkvnq1+Ijm5ur7Vx87dkh///1vcVSPRlWVWBMZh0Ub\nMNYFv2CvPZiCyiw263gtX+5u/dTGGGBregh7v1F9Who61LVGOW8e8MEHUhKl9mHHGPk/N0XG69Kt\nm9xmvfmmpEVwwyGHiMLYo4fUqrvgAimZ1xDGyDNWrYpNMuRwWahuXUK4/YMBcPJyJbTvwQcbbPPN\nNxFSPjTAunWi02pg9sLcXBlLLcxYMrdCrUZpspn8itGud+7kBOkPP0iySA1hq8qFFwJXXbX77/v1\nA847T6LbHn1UstBu2+b+/fv1k+jWf//bvbn6rrvkas9xxL/hH/9o2Fp13HGSZPKTT6R/770nig/D\nqlWiPL78spwa3TB9upwoNWzb5v79GwuTqdvm+mjt2HQvYCxNhYXcAZP5XEuXAleHvpX49DZtXIfF\njxkjV2IjRuweVeg4kgRy/Xo5gD33nFiB3G6qHTuKn+U337j3k+nTRz7LgQdKv845p2G/wnD/1qwR\n+fXcc2LFYTb9sCwfMgS4MmmkCBrHEWHaQFG/QECGW/tdBYNR6gTWQ2qqPiWDTesooL+BKimJ/HtP\nFuwtK9Nfc9i8fsjOlvtuDcuXu6uiXZvycjllaMYiMxN49llZrL0ipOj73e9q5NeWLVIAd9s2Kcp5\n9dXRF0Lv3vKcRx6R2ktuFsGtt4qwvv56ubLLyBCfp/qUyb59xToESObsr74SxenAA6V/hxwS/XmT\nJoml7r//1V2XzJqldwJnTNs2C0bn59tT6lo7Ngv25ubqk53atJT/+CPw9IbR8o///CfqwBgjCs1R\nR0WuiNCtm1yf33ijWAamTZNUAe3bS5qAs86KfAUU9rN87TU5ULgpth22OA0YIArbmWeKj1R91rc9\n95SadsOGySY8darUt+vQQQ6zZ54ZXSbt2CEK12OPAQclTpMs6oDc0513XoPtJk8GLr00+uepDVsK\nivGVZK2jttLWNHnB3qaCSbNu8/pB278lS/SFYH/8URQEtyQminXm5Zd1Vq3evWsE1PbtInyqC4/j\n5psbzlHSvbsIuEceAe69150T4VVXSbTFxRcD48eLcBs3LrIQP/RQqSoOiGI3bpwoej16SP/qVl83\nRqxTXbqIwNGQnS2fS+uTkpiot07ZvFopKJBIIA2BgDeyzccbNi1NTFJCxlKek6O/UiktBfYpSkPb\nKZNEW7j33oivLysDnnhCqgloDph77AFcc438VFRIYsonnxQZfcklEmBWH44j1vKPPxar+623Rn/W\ngQeKLL/oopoi5R9/HNn/sUsXKZd03XVyEJ4xQ/y02rYV5aa+AsGrVkli4JdfBrqMHyM5mUIhaThs\nWMQ+zp8v13kakpL0gS8smZnAqafq2tj0E4xLpYkt2Kt1FrTpeyBZRnVtli6NUiW8FlOmiDXr1Vcb\nN7kOPBD429/k7zk50Z16u3QRS85jj4mw698/+jPOOUc+23nniXA46STxeXJTh+2gg2ryuGVl7T5X\nAgGxgA0eLE6fWsaMiSqT6qW8XJ/szeaJn7HEtoaCvU2B18vPpKbq1wZTKuiHH4Cbyj+SRXrddRFP\nCJmZYlV55JHIFvJodOwoicYvu0xkQVJS9DZ33il9feMN4F//iv76ffaRa72bbxYL/dCh8u+XX45+\nK9Cpk2Qcv+IKSeidkrL7ayZNEn+tV18F2ixdLA8yRrSrKLlbduwQqz9zqGciuxmYwyJ7pcwQlz5N\nDIylyfbdqob0dLEAuZn8o0aJheTRR2OrjffosbsVpz7at5eTzfjxUrjXDUcfLY6Hp58u393118tJ\nL5KDZV3222/X76+sTK4cb7uNU5iM4YpQstdsbO0mBrbchpc3f6/CXM9VVtqz6jFBAcuXuzsQ1SZx\nZQgHTBkl/7j77gZft3GjyI+XXmqcwlSX9u3dR5Bdcw1w/PGiuIXLIkWiY0fxiXrhBZG5b70lSsf8\n+e7716HD7sFv4QCYRx8F2qxaIdqfMeIPMnVqVAE/ZowcXrWsX6+PtmMj1gsK9LKoJRXsbRLYgn7a\nQbWl8RYV6TcfzeS/7jr91V+sadNGTOsaobf33pJ35PHH5QT2+edS+HfkSDGza+nUSXyR+vbVtwXk\ntKU1GwOiaPXuHf11dWFSV7C+B8w1jtctJl7F64EsgH4OlZbqFMHkZODsyplyj96nT8RTTK9eYq22\nZfVviPPO0ykcjgM8/LAcFI84Qg6BZ58N3H67PvlsmBtuqJblI0aIZSk7W+4CU1OjbjzGiKXJzUG3\nLqGQXj5s3877STI+mV4p2OtJpYmBuUpgEnMxG92yZXrTZ6dO7q/zvLKxOY5eYXEcOd0lJsqVWn6+\nWIsOP1z8pTSWJ8dp3FgsXSpmcy2MEzjAOVHa3Fx9pYmDVZpsbQo2mDsXuCj9/+Qft94a0ULSpYt3\ninr/7nf6vpxzjrgZPPqoWI8++0yUqLvukkAUDd26hEQAPvaY3PlfeKGY8F0IiqQkzsLOWoxYSzlr\nnfKKpckxsUgkEekBygrhgBxOtCd3pk1ursxFTXRaSYlMMo1QLCsTLZ4pyNmaMEbu8x99tCaHSocO\n4sx5/fXyp9YvzAYlJaLkak9qzKmwslKsndroza1b9deORUXynWhN6enpwKGHNlwlPN7QyrDt2+Vq\nW3PdVloqckI7vzMy9FdazLxT58GrvcvZdJhpZpKSxAl9zJiaa/v+/cVR/MorJV1Lg0rDtGki/JYt\nk3+fc45EzWjzACgxhruKLyqSrmkPfsycLSjgipUzekE0+eVJpcmndWOMOLa//bb8GZ4+jiPXZ4MH\ni8X6rLP86C6v4jitV2nygdyx33+/nEjjra5ODNi0SRJojh69awbx3r1Ffl14ofz06AHRYv/xD8lJ\nAMj1x8cf6/MG+MSMSPLLI0bRXcnIkNw8Wn79Vd9mzZroBfrqg6mFlJvLFewtK+P6GK84jsiLSZNk\nvN54QwRNu3aSxG7ECGDQIPFHu+028Sloij1NmzF9+3a58tWQnq4vTp2fL3WltDDrg2mjvZJoiTDj\ntnixRHxpCIU4WcQmW3RdHHj5cvnz//0/AFz1gXimb1+RW9u3S2TebbeJdXjLFkkLc9NNwIU9V2Da\nfrci2LtPjcLUt68UC42BwpSdrf+OmeLPzPxbuFDfhllTGzfqXDyA6P60nlSa1q2TyaVl6lR9m+nT\n3ddRC2MMMGGC/llz5ug3SECutJOT9e0AOfFEy3DqZQ46SHJIzZghaRsmT5Z0L/36yQlu9Ghx4Dzp\nJLFuR0KzmefmStJdDVOn6gsjz54tZm4NSUkiDDQYw68PLW6LIrdkos3F+pg0SX/Fm5cne6yWCRP0\nviWhEPDtty5eGAjUCMi77kJ5uVQdYAgGpaxSvNKpk+Ta+/RTMSgtWyapCQYPBvq2S8aQ7M/RJlgp\nL5o3TxZ2A45CGzfqZPnIkbrvuLxcv68Fg3IboGXyZH0bRn4tWqSvFRityoUnlSab+WGYUOzCQs4p\nbc0a4Nhj9e1WrgROOEHfrrxcTjudOunbepGuXcWvaeRIYO1asbY88YT4Z6xYIQkzb7+9fsVlzhyd\n0jRxot4pnAkS2LJF72vERH2WlHBrirFGtMLbmN1gxo0pHm4zQWpamsu8YnPmyE7Vrx9w1FH45Rep\n18bwv//ZK+7a1LRpI9nDH3xQDoEf7bgcq65/FgtGbxZz1FlnNdi2rEyu+9z63+7cqfc1WrtWvz81\nJoLOBowuEZfRc0yek8ZkDNWeuNLS3JXxqEtFhV6BqagQvx0m4uDll6UUSUsROnU58khJZJmcLDle\nOneWyJUzztjVoldUJNbv2293/94bNjRYQLxBmE2vvFxfMogp42MzY77WctvSsJm9mJkLAH815+rw\nFjZXVJ865s+vP+t1NBYtEudkbRHZeKFb9w444ZsncNYt0UspvPSSKFtu59X06XKI1OD6+60Fsxcy\nNe5YGF2irCzy7z2rNGk9+YuLuYyhjPBIT+eUJuZZM2cC55+vb/fzzxI+qy2mWJvycrmmAmQj+PBD\nfeHciRPFwtMUPkfl5XI90bmzlGVaskQStK1ZI2MW9i8aMUIyDbtVPEtL9YqMMU3zGeuD2SgLC1tW\nSLuXKS3lcg4xY80qTQxr1rgsxRO+e7n88t8UaO3BraRESqz9+c+6drUxZtdC5FOm6H25Nm6UclbR\nNlK2f9u3R3/dTz/JAVGz5zAZ3JOT9ZZyZi9k6iUCfM4lrcUtLsuosFXcbZ2k09Mlk7WGnTs5QTpv\nnhTE1ZCfL3Lr1Vd17aqqZLElJMgm26mThPqHa7ENHlxTOPegg+QaPlo457nnSl+++koUkSFDgNNO\n4xZAMCj9mzWrpn9/+AOw777y+2OOkd+df74I+KFDpSTMOeforjCmT9fXkbNppra5PvygMT023Quy\nsmR+a2BcEgCXhdRTUkTT2Gsv4MwzsWABZ2V68UWp76uVE+npEqW/aZO0PfHEmvJMAweK4vT995LR\n+8ILxSodyXpzxBGyyb/8slj9TzxRfLTZRJxpaXKgTUqS/p1ySuT6onl54h/38svunxEIiJKqHTvG\nUp6erquPCti9UmasvnGpNDHaoc3kcFlZ+tPdmjWSpl9DKCQ/WlPmiBGSGy3aZzNG7rF/+UUUobZt\n5XTy5z/XP5Z9+tQUzs3IkMK5W7fKWFx9df0Fe+urRv7YY+6qkRsj4/bLL3Ld1ratCJm//KVhob/f\nfuIv0L+/WOmCQXG21rB4sSTc1LBqFfD73+vasAqJ43AFrW0JqtauaDFXAizMqX3LFs5S7mrOhSMH\nLrgAaNcOP/0kyo+GyZNl/bo5hOTkyDpftUpkZe/e8ujbb9+9v126yCHw+uvFSj19ulQjaNdOXiD4\ncQAAIABJREFUDlrnnLO7LGrTRpS+M8+Ueb18ufhUlpQAxx0HXH55ZAU0O1vkV2KitD/0UOnfHXe4\nk89uZXltZs/WJ7lk1yyToNemdZQhLpUmgNsUbJ2kmVIWq1bp75gXLtRbtMaOlRxGYetLfaxYAXz9\ntQiEY44RIXLggbrn9OolqUUAUSLHjZND5j77iAJ15JG7t6lbjfznn8WK5jiSQuC886RPS5fKadBx\nxDHxxht1mdsPPFBKslx0kfhTaBzwg0Hpg/Z0kpgoypyG/PzI31NDMHO2oKD+7yQSNn0PWhI2a/Yx\n3xHjh1JS4nJzDIdOXnghjBHlROPHmZ0tm/6LLzb8mmAQGD5cLCo9eojcuO463Zrt1EmSTV55pSSM\nnTmzxqI/cKAoNnUVKMeRKN2TTqo50L37rvhM9u0rcm+ffUS2jRgh/ezZUxSyG27Qy5SxY2XP0AYd\nzZolATIawrcHWhhZlJ3NGRAYA0dTlFHxpEhkNwWtIKio0FemZ2GipGbMEOc/zTPWrweefjry6449\nFnj++dj5q+y3X43vQV6emMaj0bGjmLkvvVSE35w5Nb874YTGJxBOSQGuvVaUr/vvl3BVN593zhz9\ndQfA+dSxvnEMzKGCtZi0dj8om9dzDOnpsvFrWL1aLCsRCQbFAQcALrgAa9a4aFMLY6QAbjR3hHbt\naqzVsaBDB7mOHzJEPsKcOdFrsTmOfLbw59u4UWTfPvvI+z3+eOP6l54uwSjDhunaGSOfQftsNkKb\ngbmeYw8ijC4Rl47gDEzlZNZMyG4KmnbGuPQhqCYUkntvN6ZwNhrPDfvuq7eOtW8vp7HwSayxwnDD\nBpkP770nc2L6dPe5RBISxOplA9tKk3Z92Lxmakkw4xa2cNogM1Nfc9PV9fOPP4r5tEMH4IgjMGkS\ncNll7p8xerRYa9zM06aqBNCunViutO9/5JESeAOIbG1M/0IhqbupvdYExErP1MFMTNRbfwBuH8nL\n01vYGfnFEpcpB9iCftqTNOObVFmpN4cz2u769S4jVap55x25J9dGfbU0AgHJZ3LfffLdPv64/P8L\nL0Rva4y019YIrKjg6gqmpTUuulFDZaW+jzZPdy0Jto6XrU2BcY51ZSkPW5kOOghwHFXEZnKyPGPg\nQF2/WiJvvw3ceScny6dN0wexAJylnFVkmPln02c5LpUmRugWFuq/9OxsvZkwI0N/zcY4XmpPaVdf\nrTe5t1Rqm8b/8heZF3PnSrhxJFaulOgYLevXc7lkcnL0TrxMkASL16+ZvIrXo39Zom5A+fny5z33\nqAtEd+0qOeV8xOeTkUMAn+6CwevuBUDTJOf1ZMHedev0m9D69ZKjR8P27TLBNMpWUZFcm2nM2zt3\nyklfY5IMBPxitLHigQeA//4XuPlmcRBvCDZasbBQNhSt0r55s4Q0a6iokNwzrjIz14JZH7m5koZC\ne7BYtw445pjWW7A3OVmMLRoH6KIiUba01d+ZJKybNonjsgZX1eJ795Zw2tWrYY45lvKt8Wkc7L7h\n6vutQ16eKCXagx8zZ7OyRC5rr/VYXaJfv4bllyeVJh+fWJKWJukQ2rQRS6Gt0PvWTKQq4fGGL8Nc\nsHWr7Lp77y3ati0HLR+fJiCS/PLkzM7M5ArbJibq22zaFL2qcX2sWaNvs3UrV5erdlZbDb6cFw49\nVEJ3g0Hgu+/ctcnL02cBTk0Vi6KGtDR9kd/8fJlLWpj1wVQ937BB36alwYzb6tVi6dRQWcmN99q1\n+jbGRCgUHa4afPrpuylMYSsa8zwfgRkL7b4RCEjUsYZwrj8tTBFmRn6lpUUvwFuXaDLck0rTihWS\nMVWLqwrc9bTRTshAwP3mW5uxY2Xj1sJWCH/2WW6xVVXJZPMqwaDcp7ultpPt2LHu2owapVdwP/1U\nf8CeMEH/nDVrxOysIRTi5izTRlspvSXCjNs33+gdV7Oy9MlbAcnQryUrS9Kg1MvChfJnPaGz48a5\nKxdSlxkzJM8aQ3Iy184W2v5pZXlmpn4/TEoCfv1V16a42H1kcm3YvVpLQkJNKTC3hF3zGuL/t3fm\nQXYW57l/OkgswawxAXzBQGKqsIE4CQEcOzECAkWMseNKCJXKrVtJqlKJ7Rs7Lq7tYGfBhrAYsxhs\nY1cIwcYgNgMW2AIkkJAthFYQi/ZtNDNaRjOaTbOdre8fPR8zjGbO+Z7nzHnPd870r0o1Wk6r+3xf\n99tvv/0umVSa1IrsCkoR3T17+GSQgBahUChoBXd7e8MdsBI9cM89QdFQ2LGDb9PWFhTRtNx1V5gj\naXnsseDXdPjhIQdLGivN/v38XX2xyPtDdXaGBH0MXV18m/5+u4SLtajT1WhYpCUBtLmg9AMEK9OU\nCVJXrgw/L7hg0nasDxUQMml/5CN8u02bggKqsGsXf/NQKASfoLSsWxfyx6Wlu5tPE7NsWai2wFD2\n/U5Bezvvh2eJoks0ZJ4mpU5bsagpFwq7dtlNlLfe0vJnPPpoqL3G8tprYeNn+/Q+KDPJgTMty5YF\nJS3tKWrlyrAIGOe+zZtDZOGVV4Z+Hnus/OeVjO+A1kap96RE3an1xpTvlBRpnakUi3bzR5kLgGaB\n3rRpCgfeUglYsyb8fookQex3278/uEexayOfB+6+OyS0ZVm9GrjjDu7Z9PaG9CZprcW5XLg5+Od/\nTt+HIsvXruXLOlkpTbmc5qyurA8lZ1pDphxQvqh6klaER3u7XXHWpUv5EwMQTK1JsrW0DA0B998P\nfO5zXLtcDrjuunDIvOaa9O0efTQoWbfcki6H0MBAiH5jKp+vXz8WNXb11eFnpeujbdsmr6NXDjXN\nv4JSb0zNAxT9Sngsw76VuaC+0ylzNW3ZMhb6NyGsWA0VnzuXz4YNhLpw//RP/Kb81FPBsnXbbelv\nHnbsCJnJr78+fTTY7bcHhYmxSG/fzssjJYqur4+/Cdm1i98LlTmrMjjI57tqSEuTYlJTT9IKiqWp\nr09T6nbv5iflm29y5QsSvvUt4Ctf4U53XV3hVPeP/5heufM+CKfZs4MASatsJJXPmfE9/viYsnTZ\nZaHt0qXlna9feYVXVNm8NNWQug7YOCzXx0xHdS9QlBnleldVoKdMSphYmSZJLrRsmXbFtnMnn/h1\n+fKgoDHh7N4D3/lOOPh9+cvpZdGyZaHiwB13pFcAli4NOiWTZkQpbzI8bFceTDEgKHO2GtjDbENa\nmgYGeO3QclNQTOKbN/OmT5UnnwwFLBkWLgzjY3J1bNwIfOMboY7d6aenazM8HITTxReH2nBpmT8/\nfeXzhHw++CckG9jxxwPnnx/+/uWXp26nmKmVNtXACgLL67mZbp1S3AtUurr43DWKdaAsr78efk6i\nNK1axZf1eO01PrnjwADw8MPA3/99+jaJhfz88zUL+c03p8+y39cXHJn/9m/T9wMECxgjJwG9lIrC\n8DC/V1tamhQa0tKk+HlYKk3K+JRNta1Nuy8uFDhLxP79If0+c2++aBHw0EPhpJX2ue/dC1x7bbAu\nMYu6szNEQbCK4GRZ1S+/PPx84YXybVllYUp/jzJYbq7K+igWY7odBcuafUoCScUPpazPaJJfYRIn\nGiXQ5qmnQoUDhptvBv7lX9KvW0sLeTK+667j2oyMhPfLKiXLlgF/+IdcG/UmREGxNFkexBrS0qSc\nbhWTsxqZprB1K38v/corwMc+xrV55hngqqvSf9574KabgK99Lf1zf+CBoCR885vp7+bfeiv0c+ut\n3DXW+PGxvPLKwcIjUZqef37yNmo9pb17+aSZ037iL4OiNA0MaEqdlW9XVrGM/lVQ5l1LSxlrcqI0\nTbhHyuf5aNLh4fCTUbSefRY477z0Ec2bNtlZyIGgBH7sY7x8mDcP+PSnuTYAqJp/CZY3IYqlaWjI\nrnxUw1qaWJRNobubN22rKIVg33oLOPtsrs2KFcHcnJZHHgH+9E+B446r/NliEbjhhnAv/w//kL6P\n554LV4Z33MFvJkzl8/Hs3h2E6MQN/MILg7Pjxo2Thwm/+qrmg6FE3FlGYSrrw9Ji0kwoFkQ1YlNB\nUZo2bpxiU+3uDqarI4446FSoRHA9/XSovZaWffuCr1DaNosWhWASxUL+xS/y11579oQryk9+kmsH\naFebqkVmyvdbAauIT8ubpIZUmhSUgr1Zv1stlThLWGJ2TzuRd+4Mp65LL00/nmuuCUoWw/vfD/z7\nv/NWve3b9crnU0XfzJ49Zr2bLHGeIqhULHOcKFEkWbeYZBVF2VStegpDQ/xcmNK94KWXws8PfOCg\nBa4EVKxZk96fyfuxa6+0nHgiZyEHgpXp1lv52mzeh+AVZnwJra2cLE9Q6goCWrS1mlojl+Md1ZX9\nXWXGXM8pmqii8aqnSBZFiD7+OBemWyiEaLm0zJ6tnUY+9CG+DRAWpVr5vLMTOOmkyf8tubKbLPut\n4oMxMqJFqygn/mpSG7DtoqVJI+vRvwpTJnt96qnwc5Jssx0dXGHz9nYuYq5YDD5JzGaqyKLTTtPW\nQT4PfP7zWltWlicoLh2AdhOyb59dHU/LQJaKyXm99zX9FbrgWLGCbuJXrvS+VOLatLZ6v2cP1+bA\nAe83bODa5PPer1vHtRkc9H73bq5NocB9vpkp9ywWLPAe8P6CCw7+t23b+L4GB73fvJlvt2YN3yaX\n8/711/l2K1fybfbs8b6lhW+3YoX3o+u+5vLF4hcrw95+O8gJhp4e7zdu5Np47/2qVXwbZd698cYU\n/3DllWEx/dmfHfRPylqKMiygPodt2/h90Psy77cM3d3eb93Kt1PmbHt7+MWiyL1Vq8rLL+dr7JYe\nK4RHskZfX3CUnDUr/J61LEUqU65KeKMRZVgZrrgiRFU8/bTmtRyJZJBy8iuT13P794coJhalSGNL\nC1/2oVTiCsYmMPWJxrNnD99maKhytebJyPreoIxvYh29o48ODvb5fMhpMhnKM1feb1sbX8S5pyes\nERZlfShtlLXRbFg96+Fhvpo9oNWIHBycpPjpxo3hZ5l8G8paArT6l8HspfVngTI+RZb39PA1IPv6\nwjUYQz4frlVZtm/n2yjrY/duviB6pWedSaXp1VfH1iLDj37Et3ngAa0u0s9+xvd13318m/5+4Mc/\n5ts9/HC6wrQTuf56flGPjADf/S7f1+238339x3/w/dx228F/V86vCQC+9z2+H+X9PvAA/wxWrAjl\nYRhyuTAnWB58kG8zdy7fptlQ1qwiv3buDBFhLA88wLdZs2Ys+TeAoLG1tAQH8DJexMpaGhzUZMqL\nL4ai3CxszTkgPPepDl1TMX9+2N8YHnqIV0weeyz4dTK8/HJw+GdoawMWLODaANpcV9rMnx98rxgO\nOhhMIJNKk2UkiZKocu9ezsGxGjZs4IrTJmzfDpxxBtemUNBCn+fN48P0+/rCSYhN9qYU8Jws+V+i\nNE0mwCxPqkqNqO7udCkixtPfbxd9kuTaidQeZS4A2hxvaZngqL1lS/iPzjhDq8BahpUrQy1LliVL\n+MSOQ0PBwsLKveefD1UKGF55hf9eO3akzyeVoJR1Ouj9pkDZCy2tgYou0ZApB5QvWijwidRUOjrs\nogbWr9ejz1ghsGSJFt6/alVILsfw2GPAX/4l12bRIuCSS7g2U5VkSMab5OUbz759dkqxwv79mtJk\nlfE3y9cjFqiZ1JVIH1VpUti5c0LY/ZYt4WeZGPdcjo/KAsJh5sILuTalUnj2SrFeNmFld3c4hDBp\nVIrFsDaUhMrK3GDbdHQAJ5zAt2H3QsukuUpflQ59TaM0qSdpRcCr2rXC9u38KUNJpQCEUiUXXcS1\nSSqfK/lE2PQFS5fyeV8mywoOAGedFZTsLVsOjpZet45XVEdGtM1BQdkolQrmQFSAFCwt5cpcUBNp\nHlRnLFGaylSgVTNNHzjAK/lqzTUlCecjj3Blp4CgCLJWsH37sl3cVtkLLRX9oSE+0KchLU2Dg3zK\ndMvaOYp2rWYfL1vzaQqWLeOVC++1OlZTJZEsx7p1/JVjqRR+sdbErq7Jhc6hh4YxeB8yr08cH6s0\ntbXxye9UlFxSlpammY4iv1T27+flSk8PX2ZjUrZuDT/LKE3KWlJzkT3//FiZpLQoh9KkHVsWa+FC\n4E/+hGujyHJ1L1SeuWKdsqzEAfDfq6ZKk3PuNufceufcWufck865aUnPpggddVNQJopyPbJzZ8iM\nbQGTVXd8m9//fa5NqRSeBXsSeuIJ4C/+gmuzfDlvrq90d56cLteuffff79nDn54s369am1GxNDVz\nHblayS/V0qRY9ZRT+7T5ZCZKUxntQSnPsWFDsASzDA7yz12xGK1de1CZvYp4Hyx17GFnKveCclTj\n0sGiZPe2tDTVIrlltZamFwCc7b3/MIBNAISE8QejOGerm4KCMj7FyU4xLQJadtfnngspVxhefhmY\nM4drk88HSwmbJXfBAuCyy7g2O3aUd4ZPBN9kfk3sYlPer+rvoWyuyvV1NdnHG4SayC/L6znFOqxY\nyiedc0nceBmlSdlUly7ls1orylmxGPYNdgN/8kngz/+ca/P228A553BtAC1QRLHu5XJ2PsGWSpNC\nTZUm7/0C731p9I/LAZD++tOHYmmy9NdQLBGbNvEnLnUjVko/vPACr8j8/OfAlVdybbzX6mVVEr6J\npWmi0qQoCm1tfB05y4ACxWSvPPNGolbyy1JpUlAsTb29E670isVwUgDK3m8pa6mlhZeVzz7LF8V9\n8UX+umxkJHx1dl38/OfAJz7B96XIcuUA197OR9upKDc1lj6jlj5NfwfgF9PxH6kJDNmTtKVwU5yz\nlRODcjW3ZQtfrLG3N2zCir8V6wy5YYNmbq50+hxvaUrm3P79mr+HYt2zVJoUS1PWN/9pZtrkV9af\nmzLvDjr07d4dJv1v/uaUvhSFghZFCPDK1lS+i+VYtAi4+GKuzbx5WuLz3l5eUVizho9KBoKFmH3u\nO3fyipaKZcoURZeoOnrOObfAOffmJL+uGveZrwPIee+F9HnTg2JpyrpD2ubNvDKjOA4+8wxw1VWV\nPzeeRx4BrrmGa7N7dyiiyz6HZ5/lrVMJ5YTHSScFmd/bO3ZotvQH2LvXVmliLYmWDs21oh7yS3lu\nudy0pzqaEuUAd5DSlKQUL2Nl2raNl1+KQpfIFYaurnA4YpWLlSv5CL2DUjWkRDlgqlj6ZCoKkGUg\nSyVLU8VbTO992QsY59zfAPgEgEun+sz111//zu/nzJmDORUcYawcXbN+t6r4K3R18QJRqVatCMSH\nHwb++q+5NoCm3CaWsEqccw7w0ktBWTr99GDdY327VDo6ylafmBJlfZRKvFWQsZgsXrwYixcvHv09\n108tmQ75BXAyzDJlitVcaGmZkJQxqZVTxjyhWMpfeYU/9M2bB3zqU1wbxQFcTa8ybx7wmc9wbQAt\nMnJgQDvotLYCV1/NtSkUtJxTAP8Max3IMl5+TVUl4h2mquSb5heAKwC8DeC9ZT5DVxletIhu4n/5\nS+/zea5Na6v3W7ZwbQqF0BeL0ubVV/k2SrXq1la+DVvFXW3jvTa+7m7vW1oqf+6znw0xdnfeGf68\nfLlWJVx5vytWeD84yLUplbxfvJjvS1lTu3Z5v2GD1hfKVAnPyq808ssLMuy118L8Y+jt9X71aq6N\n99pcePllvs2vfjVhXdx8c1g41147ZZu1a/n5vW6d97kc18ZKfhUK3g8N8e2U8XmvyfKeHu/Xr+fb\nKfJrcDDISxZlzra2er95M99O1SXKyS/nq/CGds5tBnAogKR86DLv/ecmfMZX00ckUkvuugv40peA\nz34W+P736z2a5qFclfCskEZ+jX4uyrCJfO5zwL33At/5DvCFL9R7NJHItFJOflUbPXem9/407/3v\njf46SOAo9PfzlYmBcN1h0SafDwniWNgCikBwSlOehVIhPJ8Pv1hGRrQ27D6Uy/HjKxZDduGpSK7H\nJhaq7O7m+gG098sWkwS09eG91tfevXwb5TnUg1rJL0B7boosGhnhK9MD+rx7Z623toafKUKulLU0\nOBiuf5R2LLkcL4tKpdCOxUqWK8+8t5eXryMj2vis9urubv49VZp3mcwIvmhRiJhiUapp33sv32b7\n9hBCynL33XybpUtDbTeW22/n2yxcqPV1ww18m1tv5Rfo/PmT51Qqx7ZtobbUVCTRdRs3jv1dqaS9\nK6WNUsl94UK+GvnAgFbZXlkf993Ht2k2lOemyK/164O8ZFHm3c9+NhYwgba28DOFh/Ndd/F9/ehH\nvPLtPXDLLXxf3/42r8xs3Ag8/jjXpprxsSjP/Mc/5o0Bb72l+TAqVn1lfTz+OD+PKh14Mqk0KdEn\nqvVcaac4WwOa06ZlVMObb/IJ2Hp7gWOEPMqFAh+i//bbvGPppk3l0w6cdlpwtm9rG6tBp2ZMtkoE\nqTzzAwf46DkVxfIY0VDXn8LeveOi1BKlqYKlaWREiwpUsvLv3g287318X0NDvOP+6tXA+edzbVpa\n+JItlaoaTCfKvqa0qSYVBYuiSzRkwV7liyr1uFS6uuxSFShJE9XxKUUylVwiqhA4qGBoCiopTbNm\njZXO2rw5/FQUVUuXl95ePpLEUmma6e4/+bxddmVlLqi8kyB1ZCQc3w85pGLYbXu7XpORPYQo5U1U\nNm8uW3JvUpTxdXXxtd1UlEoXSoSfZfUORZeYMQV7LTeF/ft57VopvAtoaQc2bdJC2RVWr+Zr1u3Y\noRXJVEiTViJRqpIrLyUj8UEZk2uIInQs18dMxzK/lWJpUmURMKrI7N4d/nDyyRX/I2Utqbz5JnDu\nuVyb3bs1q7KSQPLtt4Gzz+babNzIy3LLQ4tiaerrs7OOKvnPGtLSpJRvsNwUlInS2clnrFWpZF2Z\nDDVNvVIxfdUqPkGcmn8kDYlQSvyaFEvTnj18gj2VYpEXBOr6mOlWI4WhoWwrTVXnp2tvDz9T3IUp\na0lN9KlYylev5mWRqnTWwlI+GUrePRXF0mR5pew9b7FsSKVpcDDbSpNiErfcVHfs4FPiq5mwFT8e\nJemdWvAyDRMtTUqiQcv3qxAtTXZk3dKkbHTvIrE0pVCa2tr4mmZK4lyVtWvHalCmZcMG4IMfrM14\nJqJY6pTacyqFAn8Vbak0KTSk0qTcrVr7bLDje5cTZUpKpcqfmaodexJS7tu7u7UrqWKRX2jK+A4c\nSOfgmShNiU+TYl1R3m+xqDlEKuNT1odySovYKk1KzcOqA1kSpSnFhB8ZAQ47jOvH0lKuWH8sLeWK\nLFd9MpW1rrSxVJqU8TWkT5NC1k/SSjTIvn3afbvCtm3Ab/0W12b1ajsn8NZW3qF0yxbgzDMrf+6M\nM8LPd8KpBZT329NjV8ZHWR+WwRXNhGIpt0TxyXxXyYx588JPJVldCjZtSrdux6NYytXItK1beVlZ\nS0v5RBSlybKkmHJTU03JFpaGtDQp2qGyKVhGuSibqjL5SyXt+SnWszVreCfwrVt10zv7vdKeWE8+\nOfhQ7NlT+ZQxFYrQsYzCVNZHMxTsrQeWPk0Kyrzbt29cFFdyuqjRLqZcj7/xBm+J3rWLj0wGNKuM\nMj7F2RwIuixrybF0L1AcwQcG7IwiDak0KSibgnXoIzs+RWlqa9NDfFkU4aY4XqrWqS1b0oUFH3LI\n2HNet47P2ZLAClLlxK/0A0SlyRLluamHHQVl3r3r+jnRNC6+uGwbyyACxfqjyCLFhwcIspyVy9Xk\n6GPnkuJeoJL1PHNRaSpD1h3SFIc+xR9AsYKprF8PnHUW10a5mgPC5E97vZSkQFi1ys6JUvUtURga\n4q/aotKkoeaGybLz+LssEf394WeF+6bOzmznGFKsP+vW8WkDEmplKZ8OLC1NyrW/pdJU6bbB6HKK\ng/WTAcIdOCsIDj9cS4Z2wQV8mwsv5NucfTb/nY4/ns+BVCgAl1/OtSkWgSuu4NoAwKWX8lZ970M7\nlj/+4/SfTZ5ZRwdwySV8X8r7PfFEPrII4DMRJ21YoX3kkbyCC2jrt5k49VQ+5Nt7/b2y/MEf8HPh\nhBPGHVySOhMVTlrFIvBHf8T1UyoBF13EtQG0Nfvxj/NO6ocfzsmVBGV8xx/PW88A4KMf5duccoqW\nTd1qzh55pBbdzVoSgcqRka7W1btjhfBII3DjjcC//Rvw1a9q9aEi76ZclfBGI8qwcXgfvNxHRmqb\nPC0SqSPl5Fcmr+dGRrQK10ntsFq3KRS0CteKk/HIiJZ6QKn/pXynYjH8YmGL9QLa+HK5dM8vsTTt\n2BE+rzw/5f0qVc+V9VEqaX1Zralmw+q55fPaulDmwvAwUOrpCxPwyCNTK0yVfEQmQ1l/lrIon+d9\ntgoFbXzKs1Ce+dAQ/53yee35Wa2PoSH+mVf6fCaVpmefDXfHLLfdxrf51rf4NmvWAAsW8O1uvZVv\nc//94cqIoVDQ+vrP/+TbLF8OLFxo05fSZu7coAhVYrzS1NIS2rEoz1xp89OfBsdXhp4e4L/+i+9L\nWVN33sm3aTaU56a0WbkSWLSIb6fMu+9+Fxhs2Rf+kNJZ6cAB4J57+L5uuolvs2wZ8NJLfLsbb+Tb\nKLJoyRLgV7/i2uTz2rtSrOVKmyVLwnNn8F7bd5X1cf/9wXeUIUl4PxWZVJqUMipq9EnWk3Mp5Vcs\nIyG2b+d9qBSnZJVdu9Ld1Y9Xmjo67BzjFfr7+XIRAwN6VCCLcvJsJtSbPKWdMhdUDhwAjhwcVZpS\nOm1ZriUl2qyaBLPs3qGWZzr5ZK5NNbDfSdkL1aAHZX0oukRDRs8pX1RpA2gvQqm3pqJkz06rKEwH\nSoTfzp12EWppI+iSXE1794bxsY68SuZjFWWjHBy0U5pmOlmfC9XgOkeVppQnub177eqgKWH97e1a\nMIZCWxufF8pSlisoe6HlnFX0gkrXoU2jNFmepFXt2sq60t7OL071dKyEjyrWqVrnsRmfq2nDBv50\nrCaqVL6TMtejz64d6gFOQc30Lit1nZ3hZ0qlydLSpFgwFFmkopS8UWT58LCd0p71nEvJtzHEAAAa\nOElEQVSK0aEhLU1KPSA1p4zV9ZyayFBBOZ10d9tlp96+fax0SVoshG8iPLdu5fPLWL5fJSdNtDTZ\nocgvFeXUXpV7Aak0KZYmS0vEjh28LEpb03I6UGR5R4eddU95V9bWUZaGtDQxSQkTVEuTVfFTy5IZ\n7yp5kBI1+6xa3NaipAzAKcWJmX7/fv6kZvl+FaKlyQ5Lq7KqNMnuBYlXbcoTgiKLFOuKys6d/PXc\njh121inFp9XSuqcUFM660tSQlial5o5l9mLlpK9mf1aUEuX5Kb5JxaJWfsrKiZJ18kwEdV8f1w+g\nvV/L1D+KpSmmJtKwvJ4bGeGvfJTaZMDofEiUppQ7eS5ncyWlzlXlykyxlKvjU2S5pR+ZguX1nEJD\nWpoUVEuTZb0n1hJheTetKCXWJ0J2fKyZOvkuSZUIBuX9Wl6ZKesjnw/O8REOVWlSo3+ViKeqLU01\nNKsqV1JVfScS5UrPsqSMojRZ7jWKpUk5aKs0pKVJQT1JW52mFUvEvn12J4bOTn58lmZqxQ+DVeqs\nLU2WqSvUemhWm38zYWlpUuSXGshyxBEIpwOgpg587e280lRNcVsWRVYqlnwVxafJ0idTUZos/QRn\nlKWJ3RQsX4Ti82JtZmU3u2ZzoqzG0qQoJeo1iYJiabLc/JuJrD83Zd69cygwsDQpUXCKUlKNJdXC\nvUBFeX6WPpnK9ZylT2ZDKk3K6UmxNFk6pCkKmuLQZ+nbpeRFsbROsZamRMFSlCYF9UpBseRYWppm\nOspzU5MsqtG/7Lx75/q5uzv8RcaiHhSlpLWVl18qyvgsfX+ybmlSXRkUXaLS9RyZwcCGSlWGJ+Ok\nk7QNSOlLqbZ89tl8m6OO4hfa4CBwwQV8X7/zO3ybD32Id6IEgA9/mG+jjO/EEzk/ghNPDI7tg4N8\nLhvl/f76rwPHHce3O+ssvs0HPsCfqg89VKuyroyvmXjve/mIp3weOPdcvi/lWZ96Kr8Zz54NnHkm\nxq7nUihN3gPnnMOPT3kOJ5/M+wwVCsB55/F9KfLr1FP5/WloSJPliiw68khNFil7oSKLZs0K7ViU\n/b2SIu1qXb07VgiPNBKnnBIsVNu28VePkTHKVQlvNKIMGyUxl8+eHU4VM915LdK0lJNfmbyei0Tq\n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\nRU5ErkJggg==\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 2, figsize=(10, 5))\n", "\n", "# panel izquierdo - solución aproximada por Serie de potencias\n", "plot_direction_field(x, y(x), f, ax=axes[0])\n", "x_vec = np.linspace(-3, 3, 100)\n", "axes[0].plot(x_vec, sympy.lambdify(x, edo_sol.rhs.removeO())(x_vec),\n", " 'b', lw=2)\n", "\n", "# panel derecho - Solución por método iterativo\n", "plot_direction_field(x, y(x), f, ax=axes[1])\n", "x_vec = np.linspace(-1, 1, 100)\n", "axes[1].plot(x_vec, sympy.lambdify(x, edo_sol.rhs.removeO())(x_vec),\n", " 'b', lw=2)\n", "\n", "# Resolviendo la EDO en forma iterativa \n", "edo_sol_m = edo_sol_p = edo_sol\n", "dx = 0.125\n", "\n", "# x positivos\n", "for x0 in np.arange(1, 2., dx):\n", " x_vec = np.linspace(x0, x0 + dx, 100)\n", " ics = {y(x0): edo_sol_p.rhs.removeO().subs(x, x0)}\n", " edo_sol_p = sympy.dsolve(y(x).diff(x) - f, ics=ics, n=6)\n", " axes[1].plot(x_vec, sympy.lambdify(x, edo_sol_p.rhs.removeO())(x_vec),\n", " 'r', lw=2)\n", "\n", "# x negativos\n", "for x0 in np.arange(1, 5, dx):\n", " x_vec = np.linspace(-x0-dx, -x0, 100)\n", " ics = {y(-x0): edo_sol_m.rhs.removeO().subs(x, -x0)}\n", " edo_sol_m = sympy.dsolve(y(x).diff(x) - f, ics=ics, n=6)\n", " axes[1].plot(x_vec, sympy.lambdify(x, edo_sol_m.rhs.removeO())(x_vec),\n", " 'r', lw=2)" ] }, { "cell_type": "markdown", "metadata": { "collapsed": true }, "source": [ "En el panel de la izquierda podemos ver el gráfico de la solución aproximada por la [Serie de potencias](https://es.wikipedia.org/wiki/Serie_de_potencias); en el panel de la derecha vemos el gráfico al que podemos arribar resolviendo la [EDO](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) para valores incrementales de $x$ para la condición inicial en forma iterativa. Como podemos ver, las solución aproximada se alinea bien con el [campo de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones) para los valores de $x$ entre $-1.5$ y $1.5$, luego comienza a desviarse, lo que nos indica que la solución aproximada ya no sería válida. En el panel de la derecha podemos ver una solución que se adapta mucho mejor con el [campo de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Transformada de Laplace\n", "\n", "Un método alternativo que podemos utilizar para resolver en forma analítica [Ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) complejas, es utilizar la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace), que es un tipo particular de [transformada integral](https://es.wikipedia.org/wiki/Transformada_integral). La idea es que podemos utilizar esta técnica para transformar nuestra [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) en algo más simple, resolver esta ecuación más simple y, a continuación, invertir la transformación para recuperar la solución a la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) original.\n", "\n", "#### ¿Qué es una Transformada de Laplace?\n", "\n", "Para poder comprender la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace), primero debemos revisar la definición general de la [transformada integral](https://es.wikipedia.org/wiki/Transformada_integral), la cuál adapta la siguiente forma:\n", "\n", "$$T(f(t)) = \\int_{\\alpha}^{\\beta} K (s, t) \\ f(t) \\ dt = F(s) $$\n", "\n", "En este caso, $f(t)$ es la función que queremos transformar, y $F(s)$ es la función transformada. Los límites de la integración, $\\alpha$ y $\\beta$, pueden ser cualquier valor entre $-\\infty$ y $+\\infty$ y $K(s, t)$ es lo que se conoce como el *núcleo* o *kernel* de la transformada, y podemos elegir el *kernel* que nos plazca. La idea es poder elegir un *kernel* que nos dé la oportunidad de simplificar la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) con mayor facilidad.\n", "\n", "Si nos restringimos a [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) con *coeficientes* constantes, entonces un *kernel* que resulta realmente útil es $e^{-st}$, ya que al [diferenciar](https://es.wikipedia.org/wiki/C%C3%A1lculo_diferencial) este *kernel* con respecto de $t$, terminamos obteniendo potencias de $s$, que podemos equiparar a los *coeficientes* constantes. De esta forma, podemos arribar a la definición de la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace):\n", "\n", "$$\\mathcal{L}\\{f(t)\\}=\\int_0^{\\infty} e^{-st} \\ f(t) \\ dt$$\n", "\n", "Tengan en cuenta, que además de usar el *kernel* $e^{-st}$, los límites de la integración van desde $0$ a $\\infty$, ya que valores negativos de $t$ harían [divergir](https://es.wikipedia.org/wiki/Serie_divergente) la [integral](https://es.wikipedia.org/wiki/Integraci%C3%B3n).\n", "\n", "#### Tabla de transformadas de Laplace\n", "\n", "Calcular la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) a veces puede resultar en una tarea complicada. Por suerte, podemos recurrir a la siguiente tabla para resolver la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) para las funciones más comunes:\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
Función originalTransformada de LaplaceRestricciones
$1$$\\frac{1}{s}$$s>0$
$e^{at}$$\\frac{1}{s -a}$$s>a$
$t^n$$\\frac{n!}{s^{n+1}}$$s>0$, $n$ un entero $> 0$
$\\cos at$$\\frac{s}{s^2 + a^2}$$s>0$
$\\sin at$$\\frac{a}{s^2 + a^2}$$s>0$
$\\cosh at$$\\frac{s}{s^2 - a^2}$$s>|a|$
$\\sinh at$$\\frac{a}{s^2 - a^2}$$s>|a|$
$e^{at}\\cos bt$$\\frac{s- a}{(s^2 - a^2) + b^2}$$s>a$
$e^{at}\\sin bt$$\\frac{b}{(s^2 - a^2) + b^2}$$s>a$
$t^n e^{at}$$\\frac{n!}{(s-a)^{n+1}}$$s>a$, $n$ un entero $> 0$
$f(ct)$$\\frac{1}{c}\\mathcal{L}\\{f(s/c)\\}$$c>0$
\n", "\n", "\n", "#### Propiedades de las transformadas de Laplace\n", "\n", "Las [Transformadas de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) poseen algunas propiedades que también nos van a facilitar el trabajo de resolverlas, algunas de ellas son:\n", "\n", "* ***La [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) es un operador lineal***: Esta propiedad nos dice la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) de una suma, es igual a la suma de las [Transformadas de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) de cada uno de los términos. Es decir:\n", "\n", "\n", "$$\\mathcal{L}\\{c_1f_1(t) + c_2f_2(t)\\}=c_1\\mathcal{L}\\{f_1(t)\\} + c_2\\mathcal{L}\\{f_2(t)\\}$$\n", "\n", "\n", "* ***La [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) de la primer derivada***: Esta propiedad nos dice que si $f(t)$ es continua y $f'(t)$ es continua en el intervalo $0 \\le t \\le \\alpha$. Entonces la [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) de la primer derivada es:\n", "\n", "\n", "$$\\mathcal{L}\\{f'(t)\\} = s\\mathcal{L}\\{f(t)\\} - f(0)$$\n", "\n", "\n", "* ***La [Transformada de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) de derivadas de orden superior***: Esta propiedad es la generalización de la propiedad anterior para derivadas de orden n. Su formula es:\n", "\n", "\n", "$$\\mathcal{L}\\{f^{(n)}(t)\\} = s^n\\mathcal{L}\\{f(t)\\} - s^{n-1}f(0) - \\dots -f^{(n-1)}(0) \\\\\n", "= s^n\\mathcal{L}\\{f(t)\\} - \\sum_{i=1}^n s^{n-i}f^{(i-1)}(0)$$\n", "\n", "\n", "\n", "#### Resolviendo ecuaciones diferenciales con la transformada de Laplace\n", "\n", "La principal ventaja de utilizar [Transformadas de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace) es que cambia la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) en una [ecuación algebraica](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_algebraica), lo que simplifica el proceso para calcular su solución. La única parte complicada es encontrar las transformaciones y las inversas de las transformaciones de los varios términos de la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) que queramos resolver. Veamos entonces como [Python](https://www.python.org/) y [SymPy](http://www.sympy.org/es/) nos ayudan a resolver [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) utilizando las [Transformadas de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace). Vamos a intentar resolver la siguiente ecuación:\n", "\n", "$$y'' + 3y' + 2y = 0$$\n", "\n", "con las siguientes condiciones iniciales: $y(0) = 2$ y $y'(0) = -3$" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$2 y{\\left (t \\right )} + 3 \\frac{d}{d t} y{\\left (t \\right )} + \\frac{d^{2}}{d t^{2}} y{\\left (t \\right )} = 0$$" ], "text/plain": [ " 2 \n", " d d \n", "2⋅y(t) + 3⋅──(y(t)) + ───(y(t)) = 0\n", " dt 2 \n", " dt " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ejemplo de transformada de Laplace\n", "# Defino las incognitas\n", "t = sympy.symbols(\"t\", positive=True)\n", "y = sympy.Function(\"y\")\n", "\n", "# Defino la ecuación\n", "edo = y(t).diff(t, t) + 3*y(t).diff(t) + 2*y(t)\n", "sympy.Eq(edo)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# simbolos adicionales.\n", "s, Y = sympy.symbols(\"s, Y\", real=True)" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$2 \\mathcal{L}_{t}\\left[y{\\left (t \\right )}\\right]\\left(s\\right) + 3 \\mathcal{L}_{t}\\left[\\frac{d}{d t} y{\\left (t \\right )}\\right]\\left(s\\right) + \\mathcal{L}_{t}\\left[\\frac{d^{2}}{d t^{2}} y{\\left (t \\right )}\\right]\\left(s\\right) = 0$$" ], "text/plain": [ " \n", " ⎛d ⎞ \n", "2⋅LaplaceTransform(y(t), t, s) + 3⋅LaplaceTransform⎜──(y(t)), t, s⎟ + LaplaceT\n", " ⎝dt ⎠ \n", " \n", "\n", " ⎛ 2 ⎞ \n", " ⎜ d ⎟ \n", "ransform⎜───(y(t)), t, s⎟ = 0\n", " ⎜ 2 ⎟ \n", " ⎝dt ⎠ " ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Calculo la transformada de Laplace \n", "L_edo = sympy.laplace_transform(edo, t, s, noconds=True)\n", "sympy.Eq(L_edo)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como podemos ver en este resultado, al aplicar la función `sympy.laplace_transform` sobre la [derivada](https://es.wikipedia.org/wiki/Derivada) de $y(t)$, [SymPy](http://www.sympy.org/es/) nos devuelve un termino con la forma $\\mathcal{L}_{t}\\left[\\frac{d}{d t} y{\\left (t \\right )}\\right]\\left(s\\right)$. Esto es una complicación si queremos arribar a una [ecuación algebraica](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_algebraica). Por tanto antes de proceder, deberíamos utilizar la siguiente función para resolver este inconveniente." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": true }, "outputs": [], "source": [ "def laplace_transform_derivatives(e):\n", " \"\"\"\n", " Evalua las transformadas de Laplace de derivadas de funciones sin evaluar.\n", " \"\"\"\n", " if isinstance(e, sympy.LaplaceTransform):\n", " if isinstance(e.args[0], sympy.Derivative):\n", " d, t, s = e.args \n", " n = len(d.args) - 1\n", " return ((s**n) * sympy.LaplaceTransform(d.args[0], t, s) -\n", " sum([s**(n-i) * sympy.diff(d.args[0], t, i-1).subs(t, 0)\n", " for i in range(1, n+1)]))\n", " \n", " if isinstance(e, (sympy.Add, sympy.Mul)):\n", " t = type(e) \n", " return t(*[laplace_transform_derivatives(arg) for arg in e.args])\n", " \n", " return e" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$s^{2} \\mathcal{L}_{t}\\left[y{\\left (t \\right )}\\right]\\left(s\\right) + 3 s \\mathcal{L}_{t}\\left[y{\\left (t \\right )}\\right]\\left(s\\right) - s y{\\left (0 \\right )} + 2 \\mathcal{L}_{t}\\left[y{\\left (t \\right )}\\right]\\left(s\\right) - 3 y{\\left (0 \\right )} - \\left. \\frac{d}{d t} y{\\left (t \\right )} \\right|_{\\substack{ t=0 }} = 0$$" ], "text/plain": [ " 2 \n", "s ⋅LaplaceTransform(y(t), t, s) + 3⋅s⋅LaplaceTransform(y(t), t, s) - s⋅y(0) + \n", " \n", "\n", " ⎛d ⎞│ \n", "2⋅LaplaceTransform(y(t), t, s) - 3⋅y(0) - ⎜──(y(t))⎟│ = 0\n", " ⎝dt ⎠│t=0 " ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Aplicamos la nueva funcion para evaluar las transformadas de Laplace\n", "# de derivadas\n", "L_edo_2 = laplace_transform_derivatives(L_edo)\n", "sympy.Eq(L_edo_2)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$Y s^{2} + 3 Y s + 2 Y - s y{\\left (0 \\right )} - 3 y{\\left (0 \\right )} - \\left. \\frac{d}{d t} y{\\left (t \\right )} \\right|_{\\substack{ t=0 }} = 0$$" ], "text/plain": [ " 2 ⎛d ⎞│ \n", "Y⋅s + 3⋅Y⋅s + 2⋅Y - s⋅y(0) - 3⋅y(0) - ⎜──(y(t))⎟│ = 0\n", " ⎝dt ⎠│t=0 " ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# reemplazamos la transfomada de Laplace de y(t) por la incognita Y\n", "# para facilitar la lectura de la ecuación.\n", "L_edo_3 = L_edo_2.subs(sympy.laplace_transform(y(t), t, s), Y)\n", "sympy.Eq(L_edo_3)" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\left \\{ y{\\left (0 \\right )} : 2, \\quad \\left. \\frac{d}{d t} y{\\left (t \\right )} \\right|_{\\substack{ t=0 }} : -3\\right \\}$$" ], "text/plain": [ "⎧ ⎛d ⎞│ ⎫\n", "⎨y(0): 2, ⎜──(y(t))⎟│ : -3⎬\n", "⎩ ⎝dt ⎠│t=0 ⎭" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Definimos las condiciones iniciales\n", "ics = {y(0): 2, y(t).diff(t).subs(t, 0): -3}\n", "ics" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$Y s^{2} + 3 Y s + 2 Y - 2 s - 3$$" ], "text/plain": [ " 2 \n", "Y⋅s + 3⋅Y⋅s + 2⋅Y - 2⋅s - 3" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Aplicamos las condiciones iniciales\n", "L_edo_4 = L_edo_3.subs(ics)\n", "L_edo_4" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\left [ \\frac{2 s + 3}{s^{2} + 3 s + 2}\\right ]$$" ], "text/plain": [ "⎡ 2⋅s + 3 ⎤\n", "⎢────────────⎥\n", "⎢ 2 ⎥\n", "⎣s + 3⋅s + 2⎦" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Resolvemos la ecuación y arribamos a la Transformada de Laplace\n", "# que es equivalente a nuestra ecuación diferencial\n", "Y_sol = sympy.solve(L_edo_4, Y)\n", "Y_sol" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\frac{e^{t} + 1}{e^{2 t}}$$" ], "text/plain": [ "⎛ t ⎞ -2⋅t\n", "⎝ℯ + 1⎠⋅ℯ " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Por último, calculamos al inversa de la Transformada de Laplace que \n", "# obtuvimos arriba, para obtener la solución de nuestra ecuación diferencial.\n", "y_sol = sympy.inverse_laplace_transform(Y_sol[0], s, t)\n", "y_sol" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$\\left ( 2, \\quad -3\\right )$$" ], "text/plain": [ "(2, -3)" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Comprobamos la solución.\n", "y_sol.subs(t, 0), sympy.diff(y_sol).subs(t, 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como podemos ver [Transformadas de Laplace](https://es.wikipedia.org/wiki/Transformada_de_Laplace), pueden ser una buena alternativa para resolver [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) en forma analítica. Pero aún así, siguen existiendo ecuaciones que se resisten a ser resueltas por medios analíticos, para estos casos, debemos recurrir a los métodos numéricos.\n", "\n", "### Métodos numéricos\n", "\n", "Cuando todo lo demás falla, llegan los métodos numéricos al rescate; siempre vamos a poder calcular una aproximación numérica a una solución de una [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial). De éstos métodos ya no vamos a obtener las formulas elegantes y acabadas que veníamos viendo, sino que vamos a obtener números.\n", "Existen muchos enfoques para resolver [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) en forma numérica, y generalmente están diseñados para resolver problemas que están formulados como un sistema de [ecuaciones diferenciales de primer orden](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria_de_primer_orden) de la forma estándar:\n", "\n", "$$ \\frac{dy}{dx} = f(x, y(x))$$\n", "\n", "donde $y(x)$ es un *[vector](http://es.wikipedia.org/wiki/Vector)* de la funciones incógnitas de $x$.\n", "\n", "La idea básica de muchos de los métodos numéricos para resolver [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) es capturada por el **[Método de Euler](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler)**, veamos de que se trata este método.\n", "\n", "#### El Método de Euler\n", "\n", "Para entender este método, revisemos nuevamente la siguiente [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial):\n", "\n", "$$ \\frac{dy}{dx} = f(x, y(x))$$\n", "\n", "El [Método de Euler](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler) señala que puede que no tengamos la función real que representa la solución a la [Ecuación diferencial](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) precedente. Sin embargo, si poseemos la pendiente de la curva en cualquier punto. Es decir, el *ritmo de cambio* de la curva, que no es otra cosa que su [derivada](https://es.wikipedia.org/wiki/Derivada), la cual podemos utilizar para iterar sobre soluciones en distintos puntos. \n", "\n", "Supongamos entonces que tenemos el punto $(x_0, y_0)$, que se encuentra en la *curva solución*. Dada la definición de la ecuación que estamos analizando, sabemos que la pendiente de la *curva solución* en ese punto es $f(x_0, y_0)$. ¿Qué pasaría entonces si quisiéramos encontrar la solución numérica en el punto $(x, y)$ que se encuentra a una corta distancia $h$?. En este caso, podríamos definir a $y$ como $y = y_0 + \\Delta y$, es decir, $y$ va ser igual al valor de $y$ en el punto inicial, más el cambio que ocurrió en $y$ al movernos a la distancia $h$. Y como el cambio en $y$ va a estar dado por la pendiente de la curva, que en este caso sabemos que es igual a $f(x_0, y_0)$, podemos definir la siguiente [relación de recurrencia](https://es.wikipedia.org/wiki/Relaci%C3%B3n_de_recurrencia) que es la base para encontrar las soluciones numéricas con el [Método de Euler](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler):\n", "\n", "$$y = y_0 + f(x_0, y_0)h$$\n", "\n", "La cual podemos generalizar para todo $n$ del siguiente forma:\n", "\n", "$$y_n = y_{n -1} + f(x_{n - 1}, y_{n - 1})h$$.\n", "\n", "Este método esta íntimamente relacionado con los [Campos de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones) que analizamos más arriba. En general, el [Método de Euler](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler) dice que empecemos por el punto dado por el *condición incial* y continuemos en la dirección indicada por el [Campo de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones). Luego nos detengamos, miramos a la pendiente en la nueva ubicación, y procedemos en esa dirección.\n", "\n", "#### El Método de Runge-Kutta\n", "\n", "Otro método que podemos utilizar para encontrar soluciones numéricas a [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial), y que incluso es más preciso que el [Método de Euler](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Euler), es el [Método de Runge-Kutta](https://es.wikipedia.org/wiki/M%C3%A9todo_de_Runge-Kutta). En el cual la [relación de recurrencia](https://es.wikipedia.org/wiki/Relaci%C3%B3n_de_recurrencia) va a estar dada por un promedio ponderado de términos de la siguiente manera:\n", "\n", "$$y_{k + 1} = y_k + \\frac{1}{6}(k_1 + 2k_2 + 2k_3 + k_4)$$\n", "\n", "en dónde:\n", "\n", "$$k_1 = f(x_k, y_k)h_k, \\\\\n", "k_2 = f\\left(x_k + \\frac{h_k}{2}, y_k + \\frac{k_1}{2}\\right)h_k, \\\\\n", "k_3 = f\\left(x_k + \\frac{h_k}{2}, y_k + \\frac{k_2}{2}\\right)h_k, \\\\\n", "k_4 = f\\left(x_k + h_k, y_k + k_3\\right)h_k. \\\\\n", "$$\n", "\n", "#### Soluciones numéricas con Python\n", "\n", "Para poder resolver [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial) en forma numérica con [Python](https://www.python.org/), podemos utilizar las herramienta de integración que nos ofrece [SciPy](http://www.scipy.org/), particularmente los dos solucionadores de [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), `integrate.odeint` y `integrate.ode`. La principal diferencia entre ambos, es que `integrate.ode` es más flexible, ya que nos ofrece la posibilidad de elegir entre distintos *solucionadores*. Veamos algunos ejemplos:\n", "\n", "Comencemos por la siguiente función:\n", "\n", "$$f(x, y(x)) = x + y(x)^2$$" ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/latex": [ "$$x + y^{2}{\\left (x \\right )}$$" ], "text/plain": [ " 2 \n", "x + y (x)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Defino la función\n", "f = y(x)**2 + x\n", "f" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# la convierto en una función ejecutable\n", "f_np = sympy.lambdify((y(x), x), f)\n", "\n", "# Definimos los valores de la condición inicial y el rango de x sobre los \n", "# que vamos a iterar para calcular y(x)\n", "y0 = 0\n", "xp = np.linspace(0, 1.9, 100)\n", "\n", "# Calculando la solución numerica para los valores de y0 y xp\n", "yp = integrate.odeint(f_np, y0, xp)\n", "\n", "# Aplicamos el mismo procedimiento para valores de x negativos\n", "xn = np.linspace(0, -5, 100)\n", "yn = integrate.odeint(f_np, y0, xn)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Los resultados son dos matrices unidimensionales de [NumPy](http://www.numpy.org/) $yp$ y $yn$, de la misma longitud que las correspondientes matrices de coordenadas $xp$ y $xn$, que contienen las soluciones numéricas de la [ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) para esos puntos específicos. Para visualizar la solución, podemos graficar las matrices $yp$ y $yn$, junto con su [Campo de direcciones](https://es.wikipedia.org/wiki/Campo_de_direcciones)." ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nQmCC\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, axes = plt.subplots(1, 1, figsize=(8, 6))\n", "plot_direction_field(x, y(x), f, ax=axes)\n", "axes.plot(xn, yn, 'b', lw=2)\n", "axes.plot(xp, yp, 'r', lw=2)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En este ejemplo, solucionamos solo una ecuación. Generalmente, la mayoría de los problemas se presentan en la forma de sistemas de [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), es decir, que incluyen varias ecuaciones a resolver. Para ver como podemos utilizar a `integrate.odeint` para resolver este tipo de problemas, consideremos el siguiente sistema de [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria), conocido el [atractor de Lorenz](https://es.wikipedia.org/wiki/Atractor_de_Lorenz):\n", "\n", "$$x'(t) = \\sigma(y -x), \\\\\n", "y'(t) = x(\\rho -z)-y, \\\\\n", "z'(t) = xy - \\beta z\n", "$$\n", "\n", "Estas ecuaciones son conocidas por sus soluciones caóticas, que dependen sensiblemente de los valores de los parámetros $\\sigma$, $\\rho$ y $\\beta$. Veamos como podemos resolverlas con la ayuda de [Python](https://www.python.org/)." ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": true }, "outputs": [], "source": [ "# Definimos el sistema de ecuaciones\n", "def f(xyz, t, sigma, rho, beta):\n", " x, y, z = xyz\n", " return [sigma * (y - x), \n", " x * (rho - z) - y,\n", " x * y - beta * z]\n", "\n", "# Asignamos valores a los parámetros\n", "sigma, rho, beta = 8, 28, 8/3.0\n", "\n", "# Condición inicial y valores de t sobre los que calcular\n", "xyz0 = [1.0, 1.0, 1.0]\n", "t = np.linspace(0, 25, 10000)\n", "\n", "# Resolvemos las ecuaciones\n", "xyz1 = integrate.odeint(f, xyz0, t, args=(sigma, rho, beta))\n", "xyz2 = integrate.odeint(f, xyz0, t, args=(sigma, rho, 0.6*beta))\n", "xyz3 = integrate.odeint(f, xyz0, t, args=(2*sigma, rho, 0.6*beta))" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nIn+7baI/q2QAAAAASUVORK5CYII=\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Graficamos las soluciones\n", "from mpl_toolkits.mplot3d.axes3d import Axes3D\n", "fig, (ax1,ax2,ax3) = plt.subplots(1, 3, figsize=(12, 4),\n", " subplot_kw={'projection':'3d'})\n", "\n", "for ax, xyz, c in [(ax1, xyz1, 'r'), (ax2, xyz2, 'b'), (ax3, xyz3, 'g')]:\n", " ax.plot(xyz[:,0], xyz[:,1], xyz[:,2], c, alpha=0.5)\n", " ax.set_xlabel('$x$', fontsize=16)\n", " ax.set_ylabel('$y$', fontsize=16)\n", " ax.set_zlabel('$z$', fontsize=16)\n", " ax.set_xticks([-15, 0, 15])\n", " ax.set_yticks([-20, 0, 20])\n", " ax.set_zticks([0, 20, 40])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como podemos ver, los solucionadores numéricos que nos ofrece [SciPy](http://www.scipy.org/) son simples de utilizar y pueden simplificar bastante el trabajo de resolver [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial).\n", "\n", "### Método analítico vs Método numérico\n", "\n", "Al resolver una [ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) en forma analítica, el resultado es una función, $f$, que nos permite calcular la población, $f(t)$, para cualquier valor de $t$. Al resolver una [ecuación diferencial ordinaria](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) en forma numéricamente, se obtienen dos matrices de una dimensión. Podemos pensar a estas matrices como una aproximación discreta de la función continua $f$: *\"discreta\"*, ya que sólo se define para ciertos valores de $t$, y *\"aproximada\"*, porque cada valor $F_i$ es sólo una estimación del verdadero valor de $f(t)$. Por tanto, estas son limitaciones de las soluciones numéricas. La principal ventaja es que se puede calcular soluciones numéricas de [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) que no tienen soluciones analíticas, que son la gran mayoría de las [ecuaciones diferenciales ordinarias](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial_ordinaria) no lineales.\n", "\n", "Con esto concluyo este paseo por una de las más fructíferas ideas de las matemáticas aplicadas, las [Ecuaciones diferenciales](https://es.wikipedia.org/wiki/Ecuaci%C3%B3n_diferencial); espero que les pueda servir de guía para facilitarles su solución.\n", "\n", "Saludos!\n", "\n", "*Este post fue escrito utilizando Jupyter notebook. Pueden descargar este [notebook](https://github.com/relopezbriega/relopezbriega.github.io/blob/master/downloads/Diff_Eq_python.ipynb) o ver su version estática en [nbviewer](http://nbviewer.ipython.org/github/relopezbriega/relopezbriega.github.io/blob/master/downloads/Diff_Eq_python.ipynb).*" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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.4.3+" } }, "nbformat": 4, "nbformat_minor": 0 }