{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "\"AeroPython\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Clase 5: SymPy" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](http://sympy.org/static/images/logo.png)\n", "\n", "_ __SymPy es una biblioteca de Python para matemática simbólica__. Apunta a convertirse en un sistema de algebra computacional (__CAS__) con todas sus prestaciones manteniendo el código tan simple como sea posible para manterlo comprensible y fácilmente extensible. SymPy está __escrito totalmente en Python y no requiere bibliotecas adicionales__. _Este proyecto comenzó en 2005, fue lanzado al público en 2007 y a él han contribuido durante estos años cientos de personas._\n", "\n", "_ Otros CAS conocidos son Mathematica y Maple, sin embargo ambos son software privativo y de pago. [Aquí](https://github.com/sympy/sympy/wiki/SymPy-vs.-Maple) puedes encontrar una comparativa de SymPy con Maple. _\n", "\n", "Hoy veremos cómo:\n", "\n", "* Crear símbolos y expresiones.\n", "* Manipular expresiones (simplificación, expansión...)\n", "* Calcular derivadas e integrales.\n", "* Límites y desarrollos en serie.\n", "* Resolución de ecuaciones.\n", "* Resolción de EDOs.\n", "* Matrices\n", "\n", "Sin embargo, SymPy no acaba aquí ni mucho menos..." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Documentación & SymPy Live Shell" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import HTML\n", "HTML('')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## SymPy Gamma" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "" ], "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "HTML('')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Creación de símbolos" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lo primero, como siempre, es importar aquello que vayamos a necesitar:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Importación\n", "from sympy import init_session" ] }, { "cell_type": "code", "execution_count": 4, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "IPython console for SymPy 0.7.5 (Python 3.4.2-64-bit) (ground types: python)\n", "\n", "These commands were executed:\n", ">>> from __future__ import division\n", ">>> from sympy import *\n", ">>> x, y, z, t = symbols('x y z t')\n", ">>> k, m, n = symbols('k m n', integer=True)\n", ">>> f, g, h = symbols('f g h', cls=Function)\n", "\n", "Documentation can be found at http://www.sympy.org\n" ] }, { "name": "stderr", "output_type": "stream", "text": [ "WARNING: Hook shutdown_hook is deprecated. Use the atexit module instead.\n" ] } ], "source": [ "init_session(use_latex=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lo primero que vemos es que el comando `init_session` ha llevado a cabo algunas acciones por nostros:\n", "\n", "* Gracias a `use_latex=True` obtenemos la salida en $\\LaTeX$.\n", "* __Ha creado una serie de variables__ para que podamos ponernos a trabajar en el momento." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
Nota: \n", "En Python, no se declaran las variables, sin embargo, no puedes usar una hasta que no le hayas asignado un valor. Si ahora intentamos crear una variable `a` que sea `a = 2 * b`, veamos qué ocurre:\n", "
" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "collapsed": false }, "outputs": [ { "ename": "NameError", "evalue": "name 'b' is not defined", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", "\u001b[1;32m\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[1;31m# Intentamos usar un símbolo que no hemos creado\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 2\u001b[1;33m \u001b[0ma\u001b[0m \u001b[1;33m=\u001b[0m \u001b[1;36m2\u001b[0m \u001b[1;33m*\u001b[0m \u001b[0mb\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m", "\u001b[1;31mNameError\u001b[0m: name 'b' is not defined" ] } ], "source": [ "# Intentamos usar un símbolo que no hemos creado\n", "a = 2 * b" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como en `b` no había sido creada, Python no sabe qué es `b`.\n", "\n", "Esto mismo nos ocurre con los símbolos de SymPy. __Antes de usar una variable, debo decir que es un símbolo y asignárselo:__" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAsAAAAJBAMAAAAWSsseAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAAAR0lEQVQIHWNgYFR2TWdgYOgU4PrAwMA+m4FnAQMDz3cGNgcGBs4FDPUBDAz1Bgz3\nGQoY6i8wrOMVYOBz4E5iBqpUMRXyYAAAgLMMA5qDwz8AAAAASUVORK5CYII=\n", "text/latex": [ "$$a$$" ], "text/plain": [ "a" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creamos el símbolo a\n", "a = symbols('a')\n", "a" ] }, { "cell_type": "code", "execution_count": 7, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEcAAAAbBAMAAADc0o+gAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMmYiu80QdonvRN2Z\nVKvu110NAAABaklEQVQoFY2SPUjDQBiG36R/aZv+LI5ixNWhiIuLlop7ljg5BJycUnERHUwp4iIO\njl0sbuJSKCgOSgZx7iB0krqIjp2chPjdXS40Npge5PvyPvf08iUUSFja80uCQdttfCRLfSzUEq0O\nNrqJEjCyZ5DuZ3A0jyTFoBK/FhleZmWVlfhVrgIFt0B1O17g1ATm3l5t5NxJaXcyAIfAle8D+cin\nGkalvSDeRvAfKTMQu+fUUl/7dyJJ6cT3/R+Avz7tNOi6qaXHEUlrDVcOaA7VFPgRyF5Cr0ekebRz\nVSKlnsAdQP9GsRmRgHrZJqKMQylfh8N+d2pZD5a1w7jyXuQtkOhxjosRbAYhB9eNCgOFHoN8cGeA\nrVKNJyk5dqVLQA5+AWSa6pPGnfCkY+RdIronMH3M7Gdr/UgkeVIDZZdIpkuFVlE8R4TwpCCuBV31\nghvericDcCbjpryZ7llTsn/+dOlwlJQh9am+FJBfKodIyMpEGZwAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left(a + \\pi\\right)^{2}$$" ], "text/plain": [ " 2\n", "(a + π) " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Número pi\n", "(a + pi) ** 2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADUAAAAQBAMAAABEqSrGAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAAA20lEQVQYGWNgwAQyp5YCBbUwJRgY2BUY7BsYGLRR5AohPKYCBs4JKBJAzhWIAGcC\nA9NXHHJ83+FyjMqu6RBVUH1ADtt3dhsHIN0pwPUBXa7fgJkDaCX7bAaeBehyWQyyPA8YGHi+M7A5\noMkBFRfwAwU5FzDUBwDl7N69y3z37g1YlROQvF/AwFBvwHCfAUgDAcwtvAcYBBkesQPlLjCs4xVA\nkYthYHBk/8vMwMDnwJ0EpEAAqo8x2fhQAscHaaA7VUyFPFDk+P7//5/AsMQBIgglYfahCEI53WiC\nADOzNGKoH4+vAAAAAElFTkSuQmCC\n", "text/latex": [ "$$a + 2 i$$" ], "text/plain": [ "a + 2⋅ⅈ" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Unidad imaginaria\n", "a + 2 * I" ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAJBAMAAAASvxsjAAAALVBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAEIl2mSJE3e9UMqtmzXCQ\nkgMAAAA4SURBVAgdY2BgVDYJYGBID2BVYGDtZBBZwMDdY3yQgYFvAwMQ8CmASA4gacDAfIFBBKjS\nxOYAAwDWpwf9jP6jxwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$e$$" ], "text/plain": [ "ℯ" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Número e\n", "E" ] }, { "cell_type": "code", "execution_count": 10, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "sympy.core.symbol.Symbol" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Vemos qué tipo de variable es a\n", "type(a)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Ahora ya podría crear `b = 2 * a`:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABQAAAAOBAMAAADd6iHDAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAAgElEQVQIHWNgVDJ2YICAMAb2H1BmKgPDTChzFgNDvgOEvT8AzgQKrA9gEKvxCgCy\nOL4zcExksAcp4jJgiHzAoAxiAgn9AIY1QBZPAgPDZAbWL0DmJQZG0e8MvB9YGVgUGHhE/zIwb7jI\nIFVelMWwh+FVQgHD/v//fzGEHXfMaQAAed4eWkglV6IAAAAASUVORK5CYII=\n", "text/latex": [ "$$2 a$$" ], "text/plain": [ "2⋅a" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "b = 2 * a\n", "b" ] }, { "cell_type": "code", "execution_count": 12, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "sympy.core.mul.Mul" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(b)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "¿Qué está ocurriendo? Python detecta que a es una variable de tipo `Symbol` y al multiplicarla por `2` devuelve una variable de Sympy.\n", "\n", "Como Python permite que el tipo de una variable cambie, __si ahora le asigno a `a` un valor float deja de ser un símbolo.__" ] }, { "cell_type": "code", "execution_count": 13, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEEAAAAPBAMAAABJi79qAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAABOklEQVQYGYWQPUvDUBSG32AvqUnFzE5SQRGXC110MpvrnQRxsCAWdGkogouQ/AEH\nF0Glv0EncUsoLuKgiLtxcBCFIIKVdojn3BNn7/Ic3vfhfsFptkLQErqH+zTXZqEWBkGVrcP9YcNS\nXWOJZk9jI3eOJcMOcMqGpR+hRfOtxi6wXXVnQDek1LIIaILzrjEGYiNdasSwXGEBrq/VF3Cf/HW4\nMLYgjtcGCfDia5zTHjnFtqsPRagP1ThHHyojIwbSDJCObm6Xp1VpsGhckOFnU7yHdHMigDgCiuSJ\nDXzcxA/gDGi0xWDS6cVrZA16oqm6RzgBO0x6S3HU6XRPMgquJOMfbrBh+Uz3oHlS4y2ofVbdzEFv\nD1uXsJyIVJ+MaY07s5lLhrQsR/DaQvTmQ/qx1e/cbS7Te7n7f/0C3j1luetES28AAAAASUVORK5C\nYII=\n", "text/latex": [ "$$2.26492$$" ], "text/plain": [ "2.26492" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "a = 2.26492\n", "a" ] }, { "cell_type": "code", "execution_count": 14, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "float" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(a)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "__Las conclusiones son:__\n", "\n", "* __Si quiero usar una variable como símbolo debo crearla previamente.__\n", "* Las operaciones con símbolos devuelven símbolos.\n", "* Si una varibale que almacenaba un símbolo recibe otra asignación, cambia de tipo.\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Las variables de tipo `Symbol` actúan como contenedores en los que no sabemos qué hay (un real, un complejo, una lista...)__. Hay que tener en cuenta que: __una cosa es el nombre de la variable y otra el símbolo con el que se representa__." ] }, { "cell_type": "code", "execution_count": 15, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABUAAAAMBAMAAAB/4Ov2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiXYyIt1Uze+rmRC7\nZkTTotXTAAAAdklEQVQIHWNgYBBUMmCAAtcE9oIbs87Pmn+BgaGRgTNhNsN9Bt4HDFy/GRi4FRjW\nMLA5MHAcYGBg3sAQyMDHwLBfAKSP+x+I5AdqSWDgA6pkYOCawLDLgIExAMRmELyrwMDAMwHMBhMg\nlTBgbwBjMbyMnwhkAwDTKhfdwCmMrwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$c_{T}$$" ], "text/plain": [ "c_T" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#creación de símbolos\n", "coef_traccion = symbols('c_T')\n", "coef_traccion" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Incluso puedo hacer cosas raras como:" ] }, { "cell_type": "code", "execution_count": 16, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAkAAAAOBAMAAAAPuiubAAAALVBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAELvv3c2rVESJdpkiZvtO\n0HUAAABRSURBVAgdY2BUdmAAAtYEEMlXACL7BEDkFBDBELZqOwMD41MBvgMM7A8Z+CYwcAcwyE1g\nYN3A0FfAwHeBYZ8AA18Doy0DA9sFpg1AlbtyGRgAGgIPXyFTKDkAAAAASUVORK5CYII=\n", "text/latex": [ "$$b$$" ], "text/plain": [ "b" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Diferencia entre variable y símbolo\n", "a = symbols('b')\n", "a" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Además, se pueden crear varos símbolos a la vez:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": { "collapsed": false }, "outputs": [], "source": [ "x, y, z, t = symbols('x y z t')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "y símbolos griegos:" ] }, { "cell_type": "code", "execution_count": 18, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEQAAAAaBAMAAAD8uecGAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMkS7zRCZdiKJ71Rm\nq90icBAQAAABaElEQVQoFX2QvUvDUBTFT0LS5tUo4j/Q4C4WRHCs4OAiFHQSoRkU10wVOkhBF11a\nHBzqYDcHl04uLp0cFCdxctFBBxdRWz+wUs8L9L2UxlxI8rvnHO67LwAmkFCB9IxcQgJT0rQKSRHR\norv5T+Jsq+TRegScTnxkdxb2Ag8oAcKPjzzTXs0DVSDTjI2ID8qpT2CshWz8tlaXEfedsRwuiTk+\n+x5fulQk3cA6wx6tYqB9kvjmSx5kdjBDkqYY3MnhGbB4W+MVS8AkcA+3IoO6jrljlZOdNzwBAQwf\nQrsh8SbYJjk/coqPdBN7gxHbzAPzdjiFkTlkfSwORgRu4fgcbXzhBqgfnv7Wa7DbkdTo1QHMo4vw\nRmVguT1ePqH9wg37JXpduD1e2m1gWutmpR+IfPl3M57qXUURsAKkaqpfUxSBYgFGQ/UtRRG4Jt9F\n+hh8oLYSo2vJlXuM+FoYpp1QOh82tLKhMYH+AIxDSfatV65XAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\begin{pmatrix}\\omega, & \\Omega\\end{pmatrix}$$" ], "text/plain": [ "(ω, Ω)" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "w = symbols('omega')\n", "W = symbols('Omega')\n", "w, W" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "![](../static/simplification_sympy.png)\n", "_Fuente: Documentación oficial de SymPy_" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Por defecto, SymPy entiende que los símbolos son números complejos__. Esto puede producir resultados inesperados ante determinadas operaciones como, por ejemplo, lo logaritmos. __Podemos indicar que la variable es real, entera... en el momento de la creación__:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": { "collapsed": false }, "outputs": [], "source": [ "# Creamos símbolos reales\n", "x, y, z, t = symbols('x y z t', real=True)" ] }, { "cell_type": "code", "execution_count": 20, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/plain": [ "{'complex': True,\n", " 'real': True,\n", " 'hermitian': True,\n", " 'imaginary': False,\n", " 'commutative': True}" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Podemos ver las asunciones de un símbolo\n", "x.assumptions0" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Expresiones" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Comencemos por crear una expresión como: $\\cos(x)^2+\\sin(x)^2$" ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAZBAMAAAAyHoooAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAACR0lEQVQ4EY2UP2gUQRTGv83deps9FqOkTpazixAPhIg2Cbj+KZcgFhZiIYIE/xDL\nNNeJNoliEVBwCwtJVK4KBhW30UIsDrESCwMKFlpEMMQYXeftzNvb2ezdOM375r3f993M7nJAfrmv\nX+W3Jm3El/HZlJGfG/E5jLbzBoM24ot42TJk5Mf/gU+GeYNRG/HZNMLqyCRvyJBYjlu32ebGqVrh\n/RqL8toDt7YY/yjFMd5XWZRXE+5EDt1wIGI7K7vNnXztiTM0fHAiFHowc9sLclTxGcnXXnh9j6Lu\nJwmp613TUSnL88pwa19jauUvhu/tHfc55pEQ0+NPx0SDpFicZ79ZauJM4yHIRgNaGn4auIrLwHG/\n/luOgUuAHXmztSngvexx3mrTumvNYZef2hSv4TdCRJR3Efij5rgGuKH7syIe4yE9L0BlvRbBWk9t\nitfw2sZ+UN554AfnLYrzoXqOtqOyp85nb1OrCWylNjmDhtsPkpjyLuh5wG6fcMpzg+DEnSCIAYd+\ncrIFbKQ2saEl8rr4M3ibxTxxAZE0hDB71cXzbac2wsTS8CPA92KeeMCV8AAGRF7hfQRiMhjD2Uxt\nMo5eXxc/HGKGLpu/7xNgvnkFLwT/VnrU+bDawbJ1C9Uotak8Db/57kNrJPkykqxN/PqkAPE9n21M\nP+6I7UnZ4jz721gbz5e+gmyKps+/gPNE1VqbG/UFqTiP+1rdiWtjwIu54fpSOXTWXmsnXiRnuHGK\nRd9qxLP/04zsm2fE6+p6XvYg++bl8H+XJanULdBSMwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\sin^{2}{\\left (x \\right )} + \\cos^{2}{\\left (x \\right )}$$" ], "text/plain": [ " 2 2 \n", "sin (x) + cos (x)" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr = cos(x)**2 + sin(x)**2\n", "expr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `simplify()`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Podemos pedirle que simplifique la expresión anterior:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAAgAAAAPBAMAAAArJJMAAAAAJFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAADHJj5lAAAAC3RSTlMAzRAiu5mrdu/dZmiL4QAAAAAjSURBVAgd\nY2BgEGJgYDDZxMCgEgYkGNhJJVgzdmYB9TEwAACPpQrvlUCHcAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$1$$" ], "text/plain": [ "1" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "simplify(expr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En este caso parece estar claro lo que quiere decir más simple, pero como en cualquier _CAS_ el comando `simplify` puede no devolvernos la expresión que nosotros queremos. Cuando esto ocurra necesitaremos usar otras instrucciones." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### `.subs()`" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En algunas ocasiones necesitaremos sustituir una variable por otra, por otra expresión o por un valor." ] }, { "cell_type": "code", "execution_count": 23, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAZBAMAAAAyHoooAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAACR0lEQVQ4EY2UP2gUQRTGv83deps9FqOkTpazixAPhIg2Cbj+KZcgFhZiIYIE/xDL\nNNeJNoliEVBwCwtJVK4KBhW30UIsDrESCwMKFlpEMMQYXeftzNvb2ezdOM375r3f993M7nJAfrmv\nX+W3Jm3El/HZlJGfG/E5jLbzBoM24ot42TJk5Mf/gU+GeYNRG/HZNMLqyCRvyJBYjlu32ebGqVrh\n/RqL8toDt7YY/yjFMd5XWZRXE+5EDt1wIGI7K7vNnXztiTM0fHAiFHowc9sLclTxGcnXXnh9j6Lu\nJwmp613TUSnL88pwa19jauUvhu/tHfc55pEQ0+NPx0SDpFicZ79ZauJM4yHIRgNaGn4auIrLwHG/\n/luOgUuAHXmztSngvexx3mrTumvNYZef2hSv4TdCRJR3Efij5rgGuKH7syIe4yE9L0BlvRbBWk9t\nitfw2sZ+UN554AfnLYrzoXqOtqOyp85nb1OrCWylNjmDhtsPkpjyLuh5wG6fcMpzg+DEnSCIAYd+\ncrIFbKQ2saEl8rr4M3ibxTxxAZE0hDB71cXzbac2wsTS8CPA92KeeMCV8AAGRF7hfQRiMhjD2Uxt\nMo5eXxc/HGKGLpu/7xNgvnkFLwT/VnrU+bDawbJ1C9Uotak8Db/57kNrJPkykqxN/PqkAPE9n21M\nP+6I7UnZ4jz721gbz5e+gmyKps+/gPNE1VqbG/UFqTiP+1rdiWtjwIu54fpSOXTWXmsnXiRnuHGK\nRd9qxLP/04zsm2fE6+p6XvYg++bl8H+XJanULdBSMwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\sin^{2}{\\left (x \\right )} + \\cos^{2}{\\left (x \\right )}$$" ], "text/plain": [ " 2 2 \n", "sin (x) + cos (x)" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr" ] }, { "cell_type": "code", "execution_count": 24, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAcBAMAAADVbuO8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAADXUlEQVRIDZVVS2gTURQ9k3SaydcqRXTTDHWlFg0UChWhQaPuyizERRcaRAVRirit\nQnRnN41VoaBgEBfSVggIQlFoLDWLbizuLC4ifhBRaIWW2lbjfe/dN8nkh17I3HPvO+fMzePNDOCJ\n6cuOpw4VX3vqRkUdp9ZEiUL5WNIjn8InT92oqOXUmShRIG9sKrRLpRHE875GhlU9wZGlkZFJmtSL\ngpnwuqKlZcIEZjNWSeFmV8GRazsVQ5o0EvlXJaHN3fYBB0+VpvmVOCKOaYYwaSAK2JIwp2m4CgTc\nG7ldLyAORcSWiS7CRIuMcd3FtERhNT3hUAHw0a9VCA7FrDuCMNEiY0Mu0iVakIjZhN/TL7wsm00v\ngkMhHGVIk3rRKG6I5WBCsWDlrA7gOldmnoEnKQ5wR3eViRbprnG097zAcYc7nb19BItc+W0GnqQ4\nMPQ+sgmLwtuZHCyXlwV8p8UPy2WCe7ls7K04iGaZxSYkMvZ0J5//QeeDHQdsXgTmAXPaxgyPP8ZZ\ne5sLkwkMdT+RYi2KJIGhOYTvcYNEp4ArGAaO22F+JGntAh0QfxYHmRbvUEB7zySM+8YI2m0pZlJ7\nGsj1w7dcEd1ykBPeF4Hf3AUGgWc0B91CBj930N4p+FcCORgrUsykthLCiXmIW8ggUWBtP4T3OeAn\nd4FrgBO03cZsQq2wt7lFZZx6G1LMqkABJsaxzeaaRObjckF404wV70FaH3OMFU3LEAilUifuplIF\nwBLEAeqtSTEVImhuWKvQ+ydeMi8QXW/oPQ9fVopoxrwCtXNvSTGThHck6Z4pIToE/Kjz/kL8YbQT\nW0btOUkB/mAB1roUMymWhlDQFqggUb+DS2JDPHsiDnQRY4tM08ed58bMIqaM22jLSTGTxL+MpC33\nQJBo9O1Spqv8uav8oe9XiWm018DpR294K+qeS/P7vjxeTn6VYq2hvYb5rWdT10UNanIwIxr0BKk4\nwlnPrfvePCFK2nEOLdK1zpEcYklTfYJoGv2msPQmaZ4nL4A+rmcy3HNFHg4VRpbe7+02t6MlBq3T\nbtCH5KzmNBd9hNX9StMCHRq1zLEEbva41Oaik9UuS9VFc2wmq9eai/yFCi+cruCW6HDVaitRb4UX\ncSq4JfInKsv/LKpI/gv9Bazq4ZC5YrNKAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\sin^{2}{\\left (y^{2} \\right )} + \\cos^{2}{\\left (y^{2} \\right )}$$" ], "text/plain": [ " 2⎛ 2⎞ 2⎛ 2⎞\n", "sin ⎝y ⎠ + cos ⎝y ⎠" ] }, "execution_count": 24, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Sustituimos x por y ** 2\n", "expr.subs(x, y**2)" ] }, { "cell_type": "code", "execution_count": 25, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAJ4AAAAZBAMAAAAyHoooAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAACR0lEQVQ4EY2UP2gUQRTGv83deps9FqOkTpazixAPhIg2Cbj+KZcgFhZiIYIE/xDL\nNNeJNoliEVBwCwtJVK4KBhW30UIsDrESCwMKFlpEMMQYXeftzNvb2ezdOM375r3f993M7nJAfrmv\nX+W3Jm3El/HZlJGfG/E5jLbzBoM24ot42TJk5Mf/gU+GeYNRG/HZNMLqyCRvyJBYjlu32ebGqVrh\n/RqL8toDt7YY/yjFMd5XWZRXE+5EDt1wIGI7K7vNnXztiTM0fHAiFHowc9sLclTxGcnXXnh9j6Lu\nJwmp613TUSnL88pwa19jauUvhu/tHfc55pEQ0+NPx0SDpFicZ79ZauJM4yHIRgNaGn4auIrLwHG/\n/luOgUuAHXmztSngvexx3mrTumvNYZef2hSv4TdCRJR3Efij5rgGuKH7syIe4yE9L0BlvRbBWk9t\nitfw2sZ+UN554AfnLYrzoXqOtqOyp85nb1OrCWylNjmDhtsPkpjyLuh5wG6fcMpzg+DEnSCIAYd+\ncrIFbKQ2saEl8rr4M3ibxTxxAZE0hDB71cXzbac2wsTS8CPA92KeeMCV8AAGRF7hfQRiMhjD2Uxt\nMo5eXxc/HGKGLpu/7xNgvnkFLwT/VnrU+bDawbJ1C9Uotak8Db/57kNrJPkykqxN/PqkAPE9n21M\nP+6I7UnZ4jz721gbz5e+gmyKps+/gPNE1VqbG/UFqTiP+1rdiWtjwIu54fpSOXTWXmsnXiRnuHGK\nRd9qxLP/04zsm2fE6+p6XvYg++bl8H+XJanULdBSMwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\sin^{2}{\\left (x \\right )} + \\cos^{2}{\\left (x \\right )}$$" ], "text/plain": [ " 2 2 \n", "sin (x) + cos (x)" ] }, "execution_count": 25, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# ¡Pero la expresión no cambia!\n", "expr" ] }, { "cell_type": "code", "execution_count": 26, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAcBAMAAADVbuO8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAADXUlEQVRIDZVVS2gTURQ9k3SaydcqRXTTDHWlFg0UChWhQaPuyizERRcaRAVRirit\nQnRnN41VoaBgEBfSVggIQlFoLDWLbizuLC4ifhBRaIWW2lbjfe/dN8nkh17I3HPvO+fMzePNDOCJ\n6cuOpw4VX3vqRkUdp9ZEiUL5WNIjn8InT92oqOXUmShRIG9sKrRLpRHE875GhlU9wZGlkZFJmtSL\ngpnwuqKlZcIEZjNWSeFmV8GRazsVQ5o0EvlXJaHN3fYBB0+VpvmVOCKOaYYwaSAK2JIwp2m4CgTc\nG7ldLyAORcSWiS7CRIuMcd3FtERhNT3hUAHw0a9VCA7FrDuCMNEiY0Mu0iVakIjZhN/TL7wsm00v\ngkMhHGVIk3rRKG6I5WBCsWDlrA7gOldmnoEnKQ5wR3eViRbprnG097zAcYc7nb19BItc+W0GnqQ4\nMPQ+sgmLwtuZHCyXlwV8p8UPy2WCe7ls7K04iGaZxSYkMvZ0J5//QeeDHQdsXgTmAXPaxgyPP8ZZ\ne5sLkwkMdT+RYi2KJIGhOYTvcYNEp4ArGAaO22F+JGntAh0QfxYHmRbvUEB7zySM+8YI2m0pZlJ7\nGsj1w7dcEd1ykBPeF4Hf3AUGgWc0B91CBj930N4p+FcCORgrUsykthLCiXmIW8ggUWBtP4T3OeAn\nd4FrgBO03cZsQq2wt7lFZZx6G1LMqkABJsaxzeaaRObjckF404wV70FaH3OMFU3LEAilUifuplIF\nwBLEAeqtSTEVImhuWKvQ+ydeMi8QXW/oPQ9fVopoxrwCtXNvSTGThHck6Z4pIToE/Kjz/kL8YbQT\nW0btOUkB/mAB1roUMymWhlDQFqggUb+DS2JDPHsiDnQRY4tM08ed58bMIqaM22jLSTGTxL+MpC33\nQJBo9O1Spqv8uav8oe9XiWm018DpR294K+qeS/P7vjxeTn6VYq2hvYb5rWdT10UNanIwIxr0BKk4\nwlnPrfvePCFK2nEOLdK1zpEcYklTfYJoGv2msPQmaZ4nL4A+rmcy3HNFHg4VRpbe7+02t6MlBq3T\nbtCH5KzmNBd9hNX9StMCHRq1zLEEbva41Oaik9UuS9VFc2wmq9eai/yFCi+cruCW6HDVaitRb4UX\ncSq4JfInKsv/LKpI/gv9Bazq4ZC5YrNKAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\sin^{2}{\\left (y^{2} \\right )} + \\cos^{2}{\\left (y^{2} \\right )}$$" ], "text/plain": [ " 2⎛ 2⎞ 2⎛ 2⎞\n", "sin ⎝y ⎠ + cos ⎝y ⎠" ] }, "execution_count": 26, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Para que cambie\n", "expr = expr.subs(x, y**2)\n", "expr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Cambia el `sin(x)` por `exp(x)`" ] }, { "cell_type": "code", "execution_count": 27, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALUAAAAcBAMAAADVbuO8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAADXUlEQVRIDZVVS2gTURQ9k3SaydcqRXTTDHWlFg0UChWhQaPuyizERRcaRAVRirit\nQnRnN41VoaBgEBfSVggIQlFoLDWLbizuLC4ifhBRaIWW2lbjfe/dN8nkh17I3HPvO+fMzePNDOCJ\n6cuOpw4VX3vqRkUdp9ZEiUL5WNIjn8InT92oqOXUmShRIG9sKrRLpRHE875GhlU9wZGlkZFJmtSL\ngpnwuqKlZcIEZjNWSeFmV8GRazsVQ5o0EvlXJaHN3fYBB0+VpvmVOCKOaYYwaSAK2JIwp2m4CgTc\nG7ldLyAORcSWiS7CRIuMcd3FtERhNT3hUAHw0a9VCA7FrDuCMNEiY0Mu0iVakIjZhN/TL7wsm00v\ngkMhHGVIk3rRKG6I5WBCsWDlrA7gOldmnoEnKQ5wR3eViRbprnG097zAcYc7nb19BItc+W0GnqQ4\nMPQ+sgmLwtuZHCyXlwV8p8UPy2WCe7ls7K04iGaZxSYkMvZ0J5//QeeDHQdsXgTmAXPaxgyPP8ZZ\ne5sLkwkMdT+RYi2KJIGhOYTvcYNEp4ArGAaO22F+JGntAh0QfxYHmRbvUEB7zySM+8YI2m0pZlJ7\nGsj1w7dcEd1ykBPeF4Hf3AUGgWc0B91CBj930N4p+FcCORgrUsykthLCiXmIW8ggUWBtP4T3OeAn\nd4FrgBO03cZsQq2wt7lFZZx6G1LMqkABJsaxzeaaRObjckF404wV70FaH3OMFU3LEAilUifuplIF\nwBLEAeqtSTEVImhuWKvQ+ydeMi8QXW/oPQ9fVopoxrwCtXNvSTGThHck6Z4pIToE/Kjz/kL8YbQT\nW0btOUkB/mAB1roUMymWhlDQFqggUb+DS2JDPHsiDnQRY4tM08ed58bMIqaM22jLSTGTxL+MpC33\nQJBo9O1Spqv8uav8oe9XiWm018DpR294K+qeS/P7vjxeTn6VYq2hvYb5rWdT10UNanIwIxr0BKk4\nwlnPrfvePCFK2nEOLdK1zpEcYklTfYJoGv2msPQmaZ4nL4A+rmcy3HNFHg4VRpbe7+02t6MlBq3T\nbtCH5KzmNBd9hNX9StMCHRq1zLEEbva41Oaik9UuS9VFc2wmq9eai/yFCi+cruCW6HDVaitRb4UX\ncSq4JfInKsv/LKpI/gv9Bazq4ZC5YrNKAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\sin^{2}{\\left (y^{2} \\right )} + \\cos^{2}{\\left (y^{2} \\right )}$$" ], "text/plain": [ " 2⎛ 2⎞ 2⎛ 2⎞\n", "sin ⎝y ⎠ + cos ⎝y ⎠" ] }, "execution_count": 27, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.subs(sin(x), exp(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Particulariza la expresión $sin(x) + 3 x $ en $x = \\pi$" ] }, { "cell_type": "code", "execution_count": 28, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABYAAAAOBAMAAADZH/H+AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nMqsI8sYEAAAAjElEQVQIHWNgEFIyYYACxgAG/wQom/0LA38DlM25kmH/ASgbSMHVANlHGRjq////\n/5WBgVcjgIFJ112sUACkUuvCFQZF9gsgJgPXagYGA74NDAyMAgzMXxh4H3AABfl/MzB/Y2BN4AeK\ncxkwcHxk2L+BfwIDA1sCg38BQwUDlwJQ0dRQSwYGMwY+BQYAbFgct5yPkD8AAAAASUVORK5CYII=\n", "text/latex": [ "$$3 \\pi$$" ], "text/plain": [ "3⋅π" ] }, "execution_count": 28, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sin(x) + 3 * x).subs(x, pi)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Aunque si lo que queremos es obtener el valor numérico lo mejor es `.evalf()`__" ] }, { "cell_type": "code", "execution_count": 29, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAP4AAAAPBAMAAAA2dm/eAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJdiLvZqu7zURU\nMt3PQnSBAAADvUlEQVQ4EcWVz2scZRjHvzOz2Zn9lR1UAvbQXVuUVCkO2aD2ULPUCFIQB8WKXro9\nBKkNuGAo3rKU0lRQ3CIIosLWFmpQ6SCevHTBg96ytHez0EsDHrraNm1Su36f55nN5j9wYJ955vl8\nn+d533nfeRd4bPZp2HUdePPAt+LT+/NMrRaNTSqrvdKjdzDF8GYPw8hbtW9QurW/VoOz/0hs2cBF\n1rocXk8gGM78TGJENWnwfRyLrf8GnBbmEj5sAMvD4bA1No7K9iRuBz9ib2zY+QHPQslEFWtNnyn3\nMdWcWDCMdwes9eHwDhTDBT41ohoLBg0Ebe2fOYkgRLYB0ANfSrDLmOwScm2/Aa9jJB/hKyjJPES5\n73IeLZwDPjH85LT0v3Q2hmL8DrxnRDUWLHfgiQx4ZxXZPoJ/1UMEHN5lVObfpSzXQnFgZJkNoaRw\nCpWOB3g9bAFzoWYjI4Vb/CnGIWCvJarGgpU2MtuUANEq8gPtT49Xob7LqCzXYKTcQuGhkS95w6jA\nWpMPv8B5ALyRWPZOfxLiaxfwIr1CfaSRYJbz32QUfqxdJwcjLyfRkVFZ+afZ51CponDHyNaNI8lO\nge9E3gY+4Pw5FEnU/itL3K4AcTD8SMZIkmok6N1GXsrhCazK7Vo08mSsOmAxKqtcQbZ7PELpHyXO\nVhOLaYHSy1XGPNafA67WLVH7X8DxBIaf3wo1MdVY8DJ+0/lH1n+DC6Gec5vasRFZZQD3RNqfxBmG\neCZEWuCFHteCKfl6kfPXRO3PCfcZJvYPXj1lJU2jQfjzN2Q5iz3t6rZHXqbD6NiIrNyHv12J9P0L\necTPNBkVyJ4AjjIFS6/PddNE29iubFvij+HfC42oRoNEgcgeh/Z/bcebbDM6NiLjJvA3y1UUOWAh\nXMblphaYiJFjkC9Prs9DS5T5B9xf24Y5wPWuEdGkOXxjLeb8cf78vbMoVvG2eahIdGxElmtw/mzs\ns64Q7n/OX0h5gNwmnPt84PV9mij9OWZ3oFiWJGhaSdFYjr+A9djSTurB+yof6GG9utuojN+928g0\nwENQ8RrXH0qybUzeRelvppyOS3zfmi39eehNdgwvcCvESlRjwcxF5wocHgjAA0zcrE331eMHW6Wz\nY1SGLzDVxV+Y6hnJRc4ilPhNrNVRlP5Hwz3NNFH685Q9HRv+NcSSEdVYEDMHEuAWEw8NV/I8wfvq\nAce6jI2Nyrx9n3F/zNMYmZnuwQr8vO9r9lok8MRT7J57tMK/tJeeAhSXzvD/R4lpNEjt/3n9B7WN\ngdhL/npmAAAAAElFTkSuQmCC\n", "text/latex": [ "$$9.42477796076937971538793$$" ], "text/plain": [ "9.424777960769379715387930" ] }, "execution_count": 29, "metadata": {}, "output_type": "execute_result" } ], "source": [ "(sin(x) + 3 * x).subs(x, pi).evalf(25)" ] }, { "cell_type": "code", "execution_count": 30, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQgAAAAPBAMAAADqqkzAAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nMqsI8sYEAAAEFklEQVQ4EcWV32scVRTHvzO7O5vs7G5GoSIiGLakEcFmtQpqH7II+mjWlDxEbTMI\nttAHsxZCH6w0UHyTZF5EEMGEiNgf0kGQSi1mqdgiQbME+lbsgjYVfzStjWmbXTp+zzm7of+BAztz\n9nvP93PO3nvnLvBg6RnolY/lcYkfiS7GlyL4o1MBnLFdDYqlQw0T1ZB/tzAO//BAJ6cwM1oq4evB\nVwGntL1iHo1w5tB4lysIo7mDT3ZEpTlVjIQiOMPaxLFOdDq5DZwNnXl8B/cucC7K1CGiGXJJUkMG\n+M1yvCRJ7vmf45EA25DeMI9GqKJYIZ5cRSjN/xFvSM1jHVp2HX3T/O4/uyZNZBc60flrAfAH8Cv+\nBE4A55EqQ0Qz5He+A7wMPGo5GSY3i3MolnG0gjvm0Sgdwqkr1xBKy/djlxUzWu9xLDKJ11Fp4qHv\nO1GTT7SBofgLYK3h3ZTvTX7MUJSv24FvLMcF3EZfHW4LH0d+G+rRyC3Dn1auIXRkkj3zYrGt8rYc\n1kT//U34t9hatByzidScuJpyg6yfNvHpbuywHIofYbGMLBdOlkM9GvXeit0QINcQOvICs3hpsc5u\n+MEkmQkv6DaxemAvcIozEXJ0Nu77aZD7S0WAhuL+qQaKyZvhVk4ZOc7EBrPzVQHOEifR2sYO4xpC\nR9orU1G3mNBQeFw9thxn0G1iNx6LMAQs17gC/2DxAnIVqKiGVOzwR0+0424Of657A3nu5pX3pQd6\nLMokS4BwDSEjfjvEZyZulX+iIS5djv6tJoDUNPK1tMxETxmLLWROMokiYIbn4O1dPt7NWaR+ES/K\nTLhf8kaPRW9d3owg3C6ip+wnMV6LVWSS0XJC1ybSjfuayHAvHnhvqALsgbxBnqy3iDDDRPA2vM24\nk3OEund4ZZ0PnIjVo5HXxORJ5XYRpN0BJqNOMaE5AVLqlJn4Ct0milxfKYq1GNkm69bhbahohr+4\nWyI2f6UCzZFzgFexhQeA4QqyTViUi1FYV64i+LJy5BSbCFU0Wl8LKZlDnYlXrl/fvKYRHZmWqD8D\nL7FTbm3vropmIGbi2xusGlqOf0+SkW+CUz0cqkcjWaZV5SrCaHw7JiMVjZYro0fPAHtFsUAT5yTD\nVa3jYFC4iUIV2SDNPTGnohmqwAeY5x4JNAeFf7ka87gSCGA2UI9GuQB4iswFKMJoI9wT1CgazQsx\nUuPxoqV559EgTfBwPhjgSHwuxMOlgd+Bp3G2oqIaeDiz5CfcEJaDNJvILvkXgP1I3zaPRr1L8GrG\nFYSNpPp9vh1SzGj4cOx5YAbYd3om5CGYrFq0befr3N0ytpwk3Eju2N+AimpwRq9ysa/yD0xz4Ah0\nYE/EN3CMd/VohF9GxzkkXEUYbWBfoyMqjfH/fv0H1DXIUHmhQVgAAAAASUVORK5CYII=\n", "text/latex": [ "$$3.141592653589793238462643$$" ], "text/plain": [ "3.141592653589793238462643" ] }, "execution_count": 30, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#ver pi con 25 decimales\n", "pi.evalf(25)" ] }, { "cell_type": "code", "execution_count": 31, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAQgAAAAPBAMAAADqqkzAAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nMqsI8sYEAAAEFklEQVQ4EcWV32scVRTHvzO7O5vs7G5GoSIiGLakEcFmtQpqH7II+mjWlDxEbTMI\nttAHsxZCH6w0UHyTZF5EEMGEiNgf0kGQSi1mqdgiQbME+lbsgjYVfzStjWmbXTp+zzm7of+BAztz\n9nvP93PO3nvnLvBg6RnolY/lcYkfiS7GlyL4o1MBnLFdDYqlQw0T1ZB/tzAO//BAJ6cwM1oq4evB\nVwGntL1iHo1w5tB4lysIo7mDT3ZEpTlVjIQiOMPaxLFOdDq5DZwNnXl8B/cucC7K1CGiGXJJUkMG\n+M1yvCRJ7vmf45EA25DeMI9GqKJYIZ5cRSjN/xFvSM1jHVp2HX3T/O4/uyZNZBc60flrAfAH8Cv+\nBE4A55EqQ0Qz5He+A7wMPGo5GSY3i3MolnG0gjvm0Sgdwqkr1xBKy/djlxUzWu9xLDKJ11Fp4qHv\nO1GTT7SBofgLYK3h3ZTvTX7MUJSv24FvLMcF3EZfHW4LH0d+G+rRyC3Dn1auIXRkkj3zYrGt8rYc\n1kT//U34t9hatByzidScuJpyg6yfNvHpbuywHIofYbGMLBdOlkM9GvXeit0QINcQOvICs3hpsc5u\n+MEkmQkv6DaxemAvcIozEXJ0Nu77aZD7S0WAhuL+qQaKyZvhVk4ZOc7EBrPzVQHOEifR2sYO4xpC\nR9orU1G3mNBQeFw9thxn0G1iNx6LMAQs17gC/2DxAnIVqKiGVOzwR0+0424Of657A3nu5pX3pQd6\nLMokS4BwDSEjfjvEZyZulX+iIS5djv6tJoDUNPK1tMxETxmLLWROMokiYIbn4O1dPt7NWaR+ES/K\nTLhf8kaPRW9d3owg3C6ip+wnMV6LVWSS0XJC1ybSjfuayHAvHnhvqALsgbxBnqy3iDDDRPA2vM24\nk3OEund4ZZ0PnIjVo5HXxORJ5XYRpN0BJqNOMaE5AVLqlJn4Ct0milxfKYq1GNkm69bhbahohr+4\nWyI2f6UCzZFzgFexhQeA4QqyTViUi1FYV64i+LJy5BSbCFU0Wl8LKZlDnYlXrl/fvKYRHZmWqD8D\nL7FTbm3vropmIGbi2xusGlqOf0+SkW+CUz0cqkcjWaZV5SrCaHw7JiMVjZYro0fPAHtFsUAT5yTD\nVa3jYFC4iUIV2SDNPTGnohmqwAeY5x4JNAeFf7ka87gSCGA2UI9GuQB4iswFKMJoI9wT1CgazQsx\nUuPxoqV559EgTfBwPhjgSHwuxMOlgd+Bp3G2oqIaeDiz5CfcEJaDNJvILvkXgP1I3zaPRr1L8GrG\nFYSNpPp9vh1SzGj4cOx5YAbYd3om5CGYrFq0befr3N0ytpwk3Eju2N+AimpwRq9ysa/yD0xz4Ah0\nYE/EN3CMd/VohF9GxzkkXEUYbWBfoyMqjfH/fv0H1DXIUHmhQVgAAAAASUVORK5CYII=\n", "text/latex": [ "$$3.141592653589793238462643$$" ], "text/plain": [ "3.141592653589793238462643" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#el mismo resultado se obtiene ocn la función N()\n", "N(pi,25)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Simplificación" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "SymPy ofrece numerosas funciones para __simplificar y manipular expresiones__. Entre otras, destacan:\n", "\n", "* `expand()`\n", "* `factor()`\n", "* `collect()`\n", "* `apart()`\n", "* `cancel()`\n", "\n", "Puedes consultar en la documentación de SymPy lo que hace cada una y algunos ejemplos. __Existen también funciones específicas de simplificación para funciones trigonométricas, potencias y logaritmos.__ Abre [esta documentación](http://docs.sympy.org/latest/tutorial/simplification.html) si lo necesitas." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### ¡Te toca!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pasaremos rápidamente por esta parte, para hacer cosas \"más interesantes\". Te proponemos algunos ejemplos para que te familiarices con el manejor de expresiones:" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Crea las expresiones de la izquierda y averigua qué función te hace obtener la de la derecha:__\n", "\n", "expresión 1| expresión 2\n", ":------:|:------:\n", "$\\left(x^{3} + 3 y + 2\\right)^{2}$ | $x^{6} + 6 x^{3} y + 4 x^{3} + 9 y^{2} + 12 y + 4$\n", "$\\frac{\\left(3 x^{2} - 2 x + 1\\right)}{\\left(x - 1\\right)^{2}} $ | $3 + \\frac{4}{x - 1} + \\frac{2}{\\left(x - 1\\right)^{2}}$\n", "$x^{3} + 9 x^{2} + 27 x + 27$ | $\\left(x + 3\\right)^{3}$\n", "$\\sin(x+2y)$ | $\\left(2 \\cos^{2}{\\left (y \\right )} - 1\\right) \\sin{\\left (x \\right )} + 2 \\sin{\\left (y \\right )} \\cos{\\left (x \\right )} \\cos{\\left (y \\right )}$\n" ] }, { "cell_type": "code", "execution_count": 32, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAH8AAAAgBAMAAADJS7oCAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMkS7zRCZdiKJ71Rm\nq90icBAQAAACjklEQVRIDaVVS2gTURQ9M81npglxEDeukp0gSgtduJJ0MdiV9i2UaKE0kNpus4oo\nSAcFcSE2YLEWLMQfQhcaEBTswlm5EIWCuhBBcaERN1axqCjGO/PefTNtA03JW8w999xzz/vMywTo\nYdiVkz10U+s1vOrN4DPyXk8ONzFbiBnML4pY1h18EmtJ+anB7rpiqlaAd0oiVc+uxkpbwGpYt8sU\nDD1vajhku3rsD1VPg2dCcMeYw2jraPukMesmtUyzujTCqJv4kUS7lh8IWGtavvEQrYUrTV2MgDU1\nRPPWiLjfbgPhOciq8SdSBegCMn/XM2E2Dvs7MMuVfp5kzLGUPOnJ4kwT/1gWxOMyeQ0sATlfZsgL\nBXJe9o6EmaqMewvJH6oYhkcyuQe8d6D3+4wlxvyiJzEbYMMWlMGoCAzSDdU4SbF09txpNWvARgaJ\nMk5Mw1IrUwak+Cpg8uEPAcl6tpUbDlrl0Aa7PwH1x0ivSl4bmL/p/n1T6sP0IoS9lvFUTkEbwL5h\nNSfRNyhr2iBHhEVvIhw0SRIJJZFUZIClY7iLHVXJa4MK5Ra/c1oBtISg7bpHbrtumeBFoNikveYd\nSuZc94vrHiKE9Ao99ApCA5KIoCQHr6AtUPTpF3ZG8byCh7A8GL8U+5L2LGaQ7mBwi47b61vBwfUG\nRhlpL3oLZD/QLOKSEgWBV/AcmZ90YUy+z2oFlxeuvgOyDdUxIDB+qnTdV2kQ2MCcqhSQfFPjxSqD\n0Xabbri+if2FWKuEbKAK+jvDZxDyiSqX6wpEwfQjTF/+iYJK98VoTPChGY04vRm3cGAzScwLzb7V\nqCPYU3M68h80e1Sj7YBstPNMeTuNrD3PgOJyDHcNe/xbjs3zH6QwjEMZRL6yAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left(x^{3} + 3 y + 2\\right)^{2}$$" ], "text/plain": [ " 2\n", "⎛ 3 ⎞ \n", "⎝x + 3⋅y + 2⎠ " ] }, "execution_count": 32, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#1\n", "expr1 = (x ** 3 + 3 * y + 2) ** 2\n", "expr1" ] }, { "cell_type": "code", "execution_count": 33, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAScAAAAYBAMAAABKLya+AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\n75nQ6/gxAAAD1ElEQVRIDZWWT2gcVRzHv2//TLKbbjO00qOdphLwYBJtL566B6Ug1CxePGZdSkWQ\ndAuCerAJtQgiwioUXYSSFvGgQhd6rJqcAl7MQltKi9BISqWsYrYisUVY37zf+838ZjdvRufw5r33\n+X5/v+/Ovl0GoMtrNO1s9OZNPzu6mdhJU3i9XxLa/7G4UOg61b+i52QE0hQn8XyG24VzcypwMdzH\nkpMRSFOcx0Y1w+7AlRUHoO0HqTSEbsVNzNcy7bsKJi/P+LsCs6l+djMiqYorKaXTCs9vFpedXD0d\nOBmBdMW5DLcLH1zBX0PMa7wZ7TgO+p5Np+LJxj1mXqyyWyX96F7ufceC5D0uOlnDTpKpC+KcbKwk\noV2Nd6LtIYW6hRNVC89GIjsprPpQczhdGwZmHRctNflJqSpJS3Vco5k+L/NNmpqRFcAzNpRQPEHC\nfBd5C4v14hptWqZ+OOYj76PSpW0zjhYFip1yiyTlgO5LVbrr8Tze86MFwAoU3rV9heIyCSdb8Po0\n/fHrb6zbMmBWJ1pG/p/0osDZRevklt/HjvXpo/FChPJKHCpW2MYHO8jZQ3p3MLBuGarUd4SiovsO\nvzgdxE051KP1mRrU1NFXGoapxQAnKDcr8JYOFSuohG1c0U9qR3gMlKH0xnhfCBJFoepj58ZbVDEc\nLVWPmriDA3gn+NAwr9zFLKnYrwIdKlYQtI29bZQeCo+BQ6EW6kKQKArP9/rlKlUMRw418PG7/xpO\n+18a9tLeFh989nvQoWIFleDGn+KrHeExkFl4pvT1EYQgURQqLC0upn8DSzUfX1jkVwI8pDkrvg2d\nsYIgNx6bWn8sPAYyo1B7tdlRVKsnA6qnR6/d/vx2u72pp7d1qCY4CLDg7wl/LbFC1enj2Kia4Y12\n++N2+2I4BfJ99pilZOZJHdbbzqLYWNOfN7r4Oehf31INOogi9AC5Ls2sonzkyLHrgVAYGj0NlOb0\nvy97kiwMVd7EC0KQLFr2Z5HbJdQVfaZwKbeNQxTlKibmEqH0otKRCtl47Eb4whJ7JDP/U/gJeEoI\n+FmYolhYWcVx6mZGphN1daf4eGK70CTYw4KdsUJ/8R2pkI1zn6jPoN8N2SOZCVX44NTWshDIosD+\nqX2v226JUFjcWlPPHZp+mzJhf+OPKk0jv7f65xmhMJS/vsVeTdeOPAm2dff9ZmkwGCwLgSwq4wy1\npKUY+T0u8gsWTTmU3WCPWQ4xs8eC1KIojuYM3fmW4ncbh8L0wKt0M6PwmLVkw4LUoqJmYjoeTASJ\njf+wyPRkCjKaFKd+y1CM4kyPS/AvKPASdkUmGx8AAAAASUVORK5CYII=\n", "text/latex": [ "$$x^{6} + 6 x^{3} y + 4 x^{3} + 9 y^{2} + 12 y + 4$$" ], "text/plain": [ " 6 3 3 2 \n", "x + 6⋅x ⋅y + 4⋅x + 9⋅y + 12⋅y + 4" ] }, "execution_count": 33, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr1_exp = expr1.expand()\n", "expr1_exp" ] }, { "cell_type": "code", "execution_count": 34, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAANMAAAAzBAMAAAD/bSBoAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzRAiu5mrdu/dZjKJ\nRFRer8KoAAADkUlEQVRYCe1WS2gTURS9M2ObfzTiZyGWVwS7cRHQbgQxqN3oIlHSuq0ouBC0VGhd\nFJqFC0FKK36qIhoXghYXdeFOSfxUoRSanV9oUEHcxBgXRYvG95kJbyZ3JpOJ7apv8ebec899582b\nm3cDUDcUUgctE6AlV0pK7TmzUlIAo6tSrRXM6gG2dn4uKzCcPtKiDk23/VZP5bVfwDHZbWD78Lid\nVCgh8y9DLi77znakH43bSSlEpo/B3oLsN7BnsXjf+LUshsNRC/qdWAAnN9AMWasAaHMvi7UFJ2uW\nMLrThyyI7ioEwJfCYygapuRuiP42gsyXh9oP8+iR8lahlWVuA9tfpMVZhF8G7Z5h6M92Av6MjG0T\njt4qbsqhBnaOALwtqD90WiQfmTZl+CegfUlGvhoOr7O04bl43uec2gE+Kn0hpiyl4ih1zkR2dg7z\nsJICdfj4m9cwXq3W8QMV6BraMzIgAua3WiB1dFvgAIs8uQqwAx4MXEJpC3k1H5wMrBNBs1TOfNxo\nvgFu4kb4IjyHefLZQE3PKxAm4Uo0LkCzFP3BV90Mlkvfh40LhMAGYbK58wYbWzjQlgAVlAS36WSR\nKhp44yd7q50ASZqyiLOHGLxWfKlnsdj1WGwjJ/IKdHONzfQQnsCkqgSSWQgt0d3Xj2iKbYV+EyJi\n5rdycTmH4+3iM5+gC5wHuBP/5CvDYL0SPAY4GyWj4EOlXFRgIB76yddlP4wpiC5G/q4pa1kOmSbt\n1lzfxEIxCbt12PxW4mdpyrA6/oL2h2NsW5HedEE9OTgyZWVRX6H1NbF9uGs2qwcNKdEqXN0WUXql\n0+Ev6Eu4fRhSgr/ZTVpA1FRb3g1Z4ryXbFDFfmUIsWcEFsogMddQsJ9RQ1k2YyM4TdFgSg+dxihu\nsQBbCnbhdIUAnKKhj/BBEDrFw9v8kKetR5N571ToO3eU9gkC/Yl6HlqCpfrybLYO0TtpzF+tlvVg\nyUpy77cRxvXH8Qx2c6kZPOYRfWeTx6SgwyboDWa1LBqrOZ9L6YVujnj2DtJMrLFyqbuel8USb1MQ\na6xc6huW4Rkbo5lGY5V7KpfKeV4WS2RSWGNdBil2gFhj5VJ25clymh+sLLDGyqX+b1m8oh0Pa6xc\nqrf5rTtk0DPCGqvonVsdEpsPBWwuJraSlml+PYeMWj9COOEBBGwB2m+f22kf8hSxaY1sLYddeJLC\n/tSJhYIOn7F5qX8Xr/QZjxZrjAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{1}{\\left(x - 1\\right)^{2}} \\left(3 x^{2} - 2 x + 1\\right)$$" ], "text/plain": [ " 2 \n", "3⋅x - 2⋅x + 1\n", "──────────────\n", " 2 \n", " (x - 1) " ] }, "execution_count": 34, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#2\n", "expr2 = (3 * x ** 2 - 2 * x + 1) / (x - 1) ** 2\n", "expr2" ] }, { "cell_type": "code", "execution_count": 35, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAL4AAAAzBAMAAADbdK+oAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nMqsI8sYEAAAC2ElEQVRYCbWWy2sTcRDHZzfp7uaxTbAg6ikUoiIiFR8gHtqD4kkakF5le1cIvQge\nNAeh4sUiKF7Eq1WQFQ8FkboHPRlp/gM9iSi0VYpUAsbfZp+/zcwyP2n2kMzjO5+dndndBCD/sFv5\n+VRWWzjVS7k805rh6YRqHfQ/bHEkvMnn/wB4HpVxv7VrfP4zgC3VAelVPn/DVecvKvDFTO673MEE\nukpbiV/6pYYHHZT4Cjdb0MhlNf4VxfYrDSW++UWRX9zc3HrZZhddBK3OFofCMv/+FK8SU5lf4/MP\nTDe/qbavz/51uDUbg8Euot03fRqJ7llIa8G8s2e0UZC5A7VOEH41msUiTFlYWlqFd15gX8JoozGm\nLCmM5sMsZMoS/ofQZBYyZRHfPtoaKx/gWC84AbMxpizqH6D8QuYPiCNzmYRKDvuvpMKOqDze7d7r\ndqNVJCfPWExZUlXrQ+F34DIvnCkDaJ5xxXBmwPo5Fr5en/QADAfm22PhW3Xbb/zhwrkAD8wLZ8qg\nvKLJ/+dyCz+GTQC3DaEv9uMi33gkebIzlUjzZHKRFQ5ejmLe66sJH8vjsSYexqImxrcdTOrHrvsf\nRsv/5B0ofwqvFaua7InUA3iCC9ZuHVzKjA7lJztPc4ar8gDs9xfOp+OxXWkYy5YQpA+MbzbSisgO\nVrUkntzBYDsKSt+6q/eLdSkEGL+c0YQVQ+kbuVzyKtG/wrd3/eOTn8T4j6Wq2BlKq3Oxjxi1zPRx\nvn/7UavSWwg2Dn3ugRs7QwPr/ywAuSrDk+vTXtG9DSaDfweAXFWxkybK9tO5Wdgvh9D5r4r+qVXZ\n2xlAyl2/sXbYSfnCnPi++1WOCE/wAYhV5fFHQERAzAeAWFWpQxQphMV+yVUZngKIkJ4AIFc1kXt/\nEsBMWDxf5KqqKxnxf7hWnS46RKfYmbz3+xE2JUd4ksxVPDKlkCB+XwShkDM6/gk0h9IuRol/D7fg\nfgt6lZgAAAAASUVORK5CYII=\n", "text/latex": [ "$$3 + \\frac{4}{x - 1} + \\frac{2}{\\left(x - 1\\right)^{2}}$$" ], "text/plain": [ " 4 2 \n", "3 + ───── + ────────\n", " x - 1 2\n", " (x - 1) " ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr2.apart()" ] }, { "cell_type": "code", "execution_count": 36, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALYAAAAWBAMAAACfwnvZAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAACVElEQVQ4EY2TP2gTURzHv3eX3CXpJT2iuNmmEbpapYOLeIvoVIqDLoIxhRTBYDfd\nBDcXjV3qKdIq4iCIcRbxJnFLBrciKAjqItdijQThfJffu78vL+QN7/fe7/P9fe/37t0BNJprFl+J\nof1OzkS1kClvlLtCkid0W+vI2DT5csPwZLqCbf6WsenyZWlvldXcwXQeMtWcKyNAaU/OpiDVzQmi\nQm0CnAJl7/Jo81NU1Y5WtMh9fuvi4+lWq5EBwXYMNIcpnfIdKzbPGP0UAg5BP8Bt3/eXMiDYCnDO\nzQ1Id5iC9gVal5a4iMu0UmyKJ4BfYMfSuGAUpLBgG19J+IzCbAc6v0Hz0cs3lCzVKP4AzrgN4Dpt\naZZCs7lmk4R7z3eh8i+v4vteunzbYt5AvkZpOaweO7uYEHHvCut7gAwLW2Nm9y1gBlDqyxeaae8Y\nQmkYdwodwsHMvXUPxf0si73zf5h0HTiCW7W7VCxC6Ja+V7IJBzP3xiZeDLIsLi+we1bYm7qKG9Zz\nKhYhFBSZLh6ht1H/MMyyuHyXFajstBYeh6UiZGS2FmJcc5x7jvOE9hr7ThJMd5yHPx2nH0B1iU1B\n78B+MEEC0XPZ46MR9g0UmUGaRa29Qs7GfPAA8x87+WiMgSXrOFTR2/iGnp1lYbnZh2qj1weeqh4W\n0t4xxJWd9zhHdDTzvtUHypbAQu/zrfYp4HUf+eGMl9tIe0eQ/f716jqnSW+0d1cFFnpv+/5fYGUH\nysmFxZu8MQHyfCLE7zuRzJSLhGVC77GQkpcmsHzygFmdCP8DRkGoVzM4VAEAAAAASUVORK5CYII=\n", "text/latex": [ "$$x^{3} + 9 x^{2} + 27 x + 27$$" ], "text/plain": [ " 3 2 \n", "x + 9⋅x + 27⋅x + 27" ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#3\n", "expr3 = x ** 3 + 9 * x ** 2 + 27 * x + 27\n", "expr3" ] }, { "cell_type": "code", "execution_count": 37, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEYAAAAbBAMAAAAzEOSeAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMmYiu80QdonvRN2Z\nVKvu110NAAABbElEQVQoFYWSv0rDUBTGv6SmrU2jHd2M+gJBXRSHog/QLtHF4YJD6SLd7GSDKHWQ\ngCCCTsVNHHQTQbGDo0M2X6MI6iCiJ/efRiv3wM2533d+3HNyE8AQ3ZgZCJT9ctXIRPbAxADluplp\nVoxMY82IUK8qYPn4J6a4b30A88OI3P5ugjGapFnJPQOrw5gleFSiN3ID+xiFKMNsCNVJ8A60aZJu\nHGA0yDBPQp338i/USJYuMggkA97LSUTxgFJje7HdElIzTh8o0kpjGchH9rVL86WhmIlbErY07whn\nxVcv4IhmUDykflfCPKVz4FSF+D4HOGGwBpoBxltc7IXhTRiu034OqCWaoV7AZAUszfqcT4aaj5Ls\nRTN7rIMC44ia5wi4D/TMMXCZ1DArEMVMw3ujT94XLt3h5lZjx88ypceHHuDQSsMNRJZPdT9cLkjT\n7suNSGc/VVeJFbX5k/N1ZQ39x3hxRI+R8xX9O89I4wvTnkk/yb5kGAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\left(x + 3\\right)^{3}$$" ], "text/plain": [ " 3\n", "(x + 3) " ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr3.factor()" ] }, { "cell_type": "code", "execution_count": 38, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAVBAMAAACtcD09AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAAB6klEQVQ4Ea1TTUgbQRT+1uxufjaGKj3WsKTkkkAUwUL1sofgycOcClWQCCIUQfYg\nQttL6K2CJPTaHiSkl1KwUBBECylIjla9CP7AKniSQqooaqnbN7uT3Q0JnpzDvO+97/vmzT5mgYdY\nffcfsiNo6YOv0wo+9tFGfUokiUcukG59VmY+9pBiYaUoMsOreiDjIQ4m3CzBEC0LolXgFD8Kyg2D\nboiaSPwRxEs3aj0iByKmBzkQHvnS98gDkJ6mjNU7PP7Um9NJFKsBSursXYUwLeEhFL5UvupYY1zx\nAjAxB4zq2l+i1G1gHHv6PHcEPaXlWKiMfqDbwHuGZe55BfwjUXgA+IwVNuJYAn0W8D1uYAYImQhf\nZcE908A56aJFgGHUdQT6xAtgUZ1LpAaUql3jHjqh6XERUM3nX+fzY44/R3uJSTQ88qyj+zrg4XcD\nUYrbqTmDUI2Em+gqO5MdBn4HPHwGQ10NpFs9T4AsqVTLmcFzhll+MXG3mIXIhdrQyMqX6KO9+bJl\noo4SleM1LO7uF5P2adI+fnZjOZ2Vk3TmyHF4Htm2bROTlV/fALkoOD+89SGh5veI4ibFtRaBkxy2\nlJYCWcJQrikVLyRAQKX2nVdYV3V6WEY72/mf47pI6iftHc/80X5OsHIA/AfXZHJH94LmYAAAAABJ\nRU5ErkJggg==\n", "text/latex": [ "$$\\sin{\\left (x + 2 y \\right )}$$" ], "text/plain": [ "sin(x + 2⋅y)" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#4\n", "expr4 = sin(x + 2 * y)\n", "expr4" ] }, { "cell_type": "code", "execution_count": 39, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGUAAAAVBAMAAACtcD09AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAAB6klEQVQ4Ea1TTUgbQRT+1uxufjaGKj3WsKTkkkAUwUL1sofgycOcClWQCCIUQfYg\nQttL6K2CJPTaHiSkl1KwUBBECylIjla9CP7AKniSQqooaqnbN7uT3Q0JnpzDvO+97/vmzT5mgYdY\nffcfsiNo6YOv0wo+9tFGfUokiUcukG59VmY+9pBiYaUoMsOreiDjIQ4m3CzBEC0LolXgFD8Kyg2D\nboiaSPwRxEs3aj0iByKmBzkQHvnS98gDkJ6mjNU7PP7Um9NJFKsBSursXYUwLeEhFL5UvupYY1zx\nAjAxB4zq2l+i1G1gHHv6PHcEPaXlWKiMfqDbwHuGZe55BfwjUXgA+IwVNuJYAn0W8D1uYAYImQhf\nZcE908A56aJFgGHUdQT6xAtgUZ1LpAaUql3jHjqh6XERUM3nX+fzY44/R3uJSTQ88qyj+zrg4XcD\nUYrbqTmDUI2Em+gqO5MdBn4HPHwGQ10NpFs9T4AsqVTLmcFzhll+MXG3mIXIhdrQyMqX6KO9+bJl\noo4SleM1LO7uF5P2adI+fnZjOZ2Vk3TmyHF4Htm2bROTlV/fALkoOD+89SGh5veI4ibFtRaBkxy2\nlJYCWcJQrikVLyRAQKX2nVdYV3V6WEY72/mf47pI6iftHc/80X5OsHIA/AfXZHJH94LmYAAAAABJ\nRU5ErkJggg==\n", "text/latex": [ "$$\\sin{\\left (x + 2 y \\right )}$$" ], "text/plain": [ "sin(x + 2⋅y)" ] }, "execution_count": 39, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expand(expr4)" ] }, { "cell_type": "code", "execution_count": 40, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left(2 \\cos^{2}{\\left (y \\right )} - 1\\right) \\sin{\\left (x \\right )} + 2 \\sin{\\left (y \\right )} \\cos{\\left (x \\right )} \\cos{\\left (y \\right )}$$" ], "text/plain": [ "⎛ 2 ⎞ \n", "⎝2⋅cos (y) - 1⎠⋅sin(x) + 2⋅sin(y)⋅cos(x)⋅cos(y)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expand_trig(expr4)" ] }, { "cell_type": "code", "execution_count": 41, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$2 \\sin{\\left (x \\right )} \\cos^{2}{\\left (y \\right )} - \\sin{\\left (x \\right )} + 2 \\sin{\\left (y \\right )} \\cos{\\left (x \\right )} \\cos{\\left (y \\right )}$$" ], "text/plain": [ " 2 \n", "2⋅sin(x)⋅cos (y) - sin(x) + 2⋅sin(y)⋅cos(x)⋅cos(y)" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expand(expr4, trig=True)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Derivadas e integrales" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Puedes derivar una expresion usando el método `.diff()` y la función `dif()`" ] }, { "cell_type": "code", "execution_count": 42, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAVBAMAAAATJmVgAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnZUu0TviSKZ\nZquXRLrEAAABSklEQVQoFaWSPUvDYBSFTz6a1ITYUOziIBVEdHIQXc2i4NQidBH8AHHP0kkkgj/A\ndHOSjA62vIOgi+jg6BD8A2bQubhL8b4mNwmazQvJeXI4OfcNBPjn6HFa4Hi/i7a7hXPH+M7A2omY\ngHlGlaFCaxGbBbFT6JRgVkKmTG+93DjPCYsFYvN4xw4Sffm59yHdG7pa+/e79D0Ss1F8aDATqH08\nymWngBI5a1obeKXHbOoDWDATmCEaMXnrgOVanwa9cYTmqpwFsjf64ifVRoO24JK6oPpE6MhbNrMr\nXzCpy89TSKmcsgXezkop2kgtHlyg9LlGhOm4lKLTG+4BapQqnd4YwBS0jjeOgIvDAA/U+CJr06kP\n96718WRmPNkKrsiiNXO91jAmXMoiFaIJNu2Q6a86T+xZXaYKPWGvyVCl+V+Yx6tStjw4jSPwDWX2\nRQ0oD4CmAAAAAElFTkSuQmCC\n", "text/latex": [ "$$- \\sin{\\left (x \\right )}$$" ], "text/plain": [ "-sin(x)" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#creamos una expresión\n", "expr = cos(x)\n", "\n", "#obtenemos la derivada primera con funcion\n", "diff(expr, x)" ] }, { "cell_type": "code", "execution_count": 43, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAVBAMAAAATJmVgAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnZUu0TviSKZ\nZquXRLrEAAABSklEQVQoFaWSPUvDYBSFTz6a1ITYUOziIBVEdHIQXc2i4NQidBH8AHHP0kkkgj/A\ndHOSjA62vIOgi+jg6BD8A2bQubhL8b4mNwmazQvJeXI4OfcNBPjn6HFa4Hi/i7a7hXPH+M7A2omY\ngHlGlaFCaxGbBbFT6JRgVkKmTG+93DjPCYsFYvN4xw4Sffm59yHdG7pa+/e79D0Ss1F8aDATqH08\nymWngBI5a1obeKXHbOoDWDATmCEaMXnrgOVanwa9cYTmqpwFsjf64ifVRoO24JK6oPpE6MhbNrMr\nXzCpy89TSKmcsgXezkop2kgtHlyg9LlGhOm4lKLTG+4BapQqnd4YwBS0jjeOgIvDAA/U+CJr06kP\n96718WRmPNkKrsiiNXO91jAmXMoiFaIJNu2Q6a86T+xZXaYKPWGvyVCl+V+Yx6tStjw4jSPwDWX2\nRQ0oD4CmAAAAAElFTkSuQmCC\n", "text/latex": [ "$$- \\sin{\\left (x \\right )}$$" ], "text/plain": [ "-sin(x)" ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#utilizando método\n", "expr.diff(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__¿derivada tercera?__" ] }, { "cell_type": "code", "execution_count": 44, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAVBAMAAAAQkWtIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAABLElEQVQoFZWRvUvDUBRHTzRpa2NFxdUSKl0qSBcFdcnUOZOgk4MIIkgGN5fgpqOr\nDiI66yQUEfInqIvgB1TBSYSoIH6g8b0kfYndvEPeeffc/Lgk8K8aTqbPk1PbSl835xPu649B+0yl\n7rTZbkN61hSmpFrbimZjMgdUp+Aq1OtoIxX7+IehncExS/SLPhiVx/W9CGfAZQUalvklZO4M5ri0\nVqFks+GwK+USfAuZr8MBh840dLvk30aRcgFehOzxwKEhCC3A2A99KRdTGZOUJ5TeM1LGoj1jgFh8\nCp4yUi403hVQjRaadFiWmUlssUXhNReYYqbXZ/PiyiuHD+XwbuKjFWUZ99XarQjXPfH4W2vq2lSk\n4EaR+EidlTtKOobdqUD9bDWVnTlNLtfwC1XgR6gJ3g8BAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\sin{\\left (x \\right )}$$" ], "text/plain": [ "sin(x)" ] }, "execution_count": 44, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.diff(x, x, x)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAVBAMAAAAQkWtIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMnZUzRC73UTviSKZ\nZqszMyTAAAABLElEQVQoFZWRvUvDUBRHTzRpa2NFxdUSKl0qSBcFdcnUOZOgk4MIIkgGN5fgpqOr\nDiI66yQUEfInqIvgB1TBSYSoIH6g8b0kfYndvEPeeffc/Lgk8K8aTqbPk1PbSl835xPu649B+0yl\n7rTZbkN61hSmpFrbimZjMgdUp+Aq1OtoIxX7+IehncExS/SLPhiVx/W9CGfAZQUalvklZO4M5ri0\nVqFks+GwK+USfAuZr8MBh840dLvk30aRcgFehOzxwKEhCC3A2A99KRdTGZOUJ5TeM1LGoj1jgFh8\nCp4yUi403hVQjRaadFiWmUlssUXhNReYYqbXZ/PiyiuHD+XwbuKjFWUZ99XarQjXPfH4W2vq2lSk\n4EaR+EidlTtKOobdqUD9bDWVnTlNLtfwC1XgR6gJ3g8BAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\sin{\\left (x \\right )}$$" ], "text/plain": [ "sin(x)" ] }, "execution_count": 45, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr.diff(x, 3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__¿varias variables?__" ] }, { "cell_type": "code", "execution_count": 46, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMQAAAAZBAMAAACcKJypAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAADZ0lEQVRIDZWVXUgUURTH/6O7s+u6rUNGEBENFhv2YkIQQQ/zUAQFuU8VEbloHxQI\n0kPggxUhPfRQ20OBRSQ9hCikWRAR1VL0IURahCElWRRBJH0X9LWdO/ec2emuGt2HPf/zO19z587O\nAHq1XHVY/Yex0/Vmtv3kgYnYt73y3BShafBjPDGjW7HcROzHveTnKULT4BHsM6MdGPJMpv1UJvJl\n8sj0dNQMv0JDxmTiJz6I+g9rvS1N7pvyUONuaTZwR8NYfrIgrFq3lB/wUbJVR8KVLaXJQKSf6YrJ\nosTkuJMvJMEe9tVa8YuVMR2RANsKR4QREHeoS6vkVyHtWhwVv0IE1mNzoIsiLbIsy2qWELJ0Eg2t\nIV/JaDaaJxPkF1XyRM95lWGsl+Jb46zOCFG2A3tlm4IHe3oVSnkCgspUofBeYNFG9wf6BKu/RtxO\nL2UcucfiXaGg1EZ2yVDlzAWr0i6Tedt3wWpKZ3DjTC0hdXRWi4t1DuRp4BFM/bLk4prc2k8YnLix\nQPr46dy4BVY2diCe0yMib3Dfu+thwOpHnFBlK41JjKMOaNMZ4BFMfTgX2I8LwEk3ErwhLtG1ceM2\n2I79IeHpBhU59OUPAkO3nsMmFO8C1szI4QrQrTNkBFMfbnGQVSOuAd84C4fo2rhxNyxU9EtgPt2Y\n5HegKntkwCOYygBOysVHmso5vAumPoz/WAg14jJUol6vaBfcWFVWuczRSCpB76qq/tmnfxFUI9Do\nJH/yiJ2dnYc7O0+pdE2VgrWzMKxG0F7DI6SxGjGUh+PnItjFIw/7qL26URhF2XjxEeFdMPXLViL2\nxRxBN0oab0TCqUMZj6CzQNcEXeKmLMpb9XFTceWSkuNm6o84CywzR9BxS+M2NHZdx2o/lV5Jr2F7\n9/M4nniOSo9OjHrTa6iRpo1xiuxCUx+ec3BR3aXwjWqm6+TGY6iumbmDWuhV/XArIiPNmeiORduI\n+H+96qZnHnCMM2SEpj5cv3tP5mah/mZhRe9vdU1q0V9PGkulDpT8dviEvjuRcY7JCHVG06y4J8Gg\nUoBh24HynEXPmO1yZIO2mhrZIbf44g4qQ9GwpAOJu5UuMCdMSWtqwLB7URyzUrhY+iRFa56SF1Rw\nRFNJm8QGnySzsiSXn7WYVxL5B4jwI0SVfwDYI9sGkPZwPwAAAABJRU5ErkJggg==\n", "text/latex": [ "$$x^{2} \\cos{\\left (y \\right )} + y^{3} \\sin^{2}{\\left (x \\right )}$$" ], "text/plain": [ " 2 3 2 \n", "x ⋅cos(y) + y ⋅sin (x)" ] }, "execution_count": 46, "metadata": {}, "output_type": "execute_result" } ], "source": [ "expr_xy = y ** 3 * sin(x) ** 2 + x ** 2 * cos(y)\n", "expr_xy" ] }, { "cell_type": "code", "execution_count": 47, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/latex": [ "$$2 \\left(- 6 y \\sin^{2}{\\left (x \\right )} + 6 y \\cos^{2}{\\left (x \\right )} - \\cos{\\left (y \\right )}\\right)$$" ], "text/plain": [ " ⎛ 2 2 ⎞\n", "2⋅⎝- 6⋅y⋅sin (x) + 6⋅y⋅cos (x) - cos(y)⎠" ] }, "execution_count": 47, "metadata": {}, "output_type": "execute_result" } ], "source": [ "diff(expr_xy, x, 2, y, 2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Queremos que la deje indicada__, usamos `Derivative()`" ] }, { "cell_type": "code", "execution_count": 48, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nssi6zP9P+Rcs14+zxsURUAAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{\\partial^{3}}{\\partial x^{2}\\partial y} \\left(x^{2} \\cos{\\left (y \\right )} + y^{3} \\sin^{2}{\\left (x \\right )}\\right)$$" ], "text/plain": [ " 3 \n", " ∂ ⎛ 2 3 2 ⎞\n", "──────⎝x ⋅cos(y) + y ⋅sin (x)⎠\n", " 2 \n", "∂y ∂x " ] }, "execution_count": 48, "metadata": {}, "output_type": "execute_result" } ], "source": [ "Derivative(expr_xy, x, 2, y)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__¿Será capaz SymPy de aplicar la regla de la cadena?__" ] }, { "cell_type": "code", "execution_count": 49, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACoAAAAVBAMAAADCwWEQAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAdrur781mRIlUMhAi\n3ZlAc+EGAAABEklEQVQYGYWQQUsCURSFj+BMz2aG1DbuCgxXQUGtxMXs3AouIlw4m+hXhILQMl0X\ngf+gEWk/uNCtLtvND4ioIEok8tz3fG67MPec882bdy8D/FO7kTngDkWLf+Wzow9gYiBQ1eaLvQK0\nLHXE7PywXSPTlSClnVrS3SObCJHyQjZnBR8PuBFg6pKyN8eUcsdntD8r5Y3tpKiRcJ7XdRdBA7hi\n7DfPQ8oLoGK1yiXAI2M79k4pdZ6Fc0iHJz6/8CIKKWfwVk31urS8gXmIGLKO+paop+XiA2RIOS14\nN7QHdAYnesk3jNufrxrzs3FhdBsxXJhz0oPEej+0DnBT65VeZJOOLX22RnT717evhfqRdF6VYA0C\n4jc5yL+/0gAAAABJRU5ErkJggg==\n", "text/latex": [ "$$F{\\left (x \\right )}$$" ], "text/plain": [ "F(x)" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creamos una función F\n", "F = Function('F')\n", "F(x)" ] }, { "cell_type": "code", "execution_count": 50, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACkAAAAVBAMAAAAp9toTAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHa7q2Yiie9Umd3N\nRDIfxLosAAABE0lEQVQYGYWQMUvDQBSAvzMaTU1LQFBxanWoODn4A0TUOYsOCpJFcGv1D2RztS6O\n0lFcrIsuQgMOLkKDq0sHXZyC4CCIeO96udU33Pved+/uXgL/xLvdPzBZLW1u+W38VWvHhwLLMcFV\nTBhZS6Zh5lYvNwnNUhoaSM8rnDo7D5UvqT6o9pwNO7RMNctkF9Ti9ssJgml91OPFMMd+/QEmMvrD\nkZ3uwDFpdAFBjzMtV56fmMoh4lFaagV9yWluLHxaqyeFAcgN1H5RyDitti5+QF47HytomNcCfejt\nXo+zTvXbK3y9WenCwtp1fGmOqY1Gc0ffE+Z6sXFXAkeOYM+x/jwXXmJRZRYkub/uJVKWcWhhF/4A\n4OA6mczTMxUAAAAASUVORK5CYII=\n", "text/latex": [ "$$G{\\left (x \\right )}$$" ], "text/plain": [ "G(x)" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creamos una función G\n", "G = Function('G')\n", "G(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "$$\\frac{d}{d x} F{\\left (G(x) \\right )} $$" ] }, { "cell_type": "code", "execution_count": 51, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{d}{d x} G{\\left (x \\right )} \\left. \\frac{d}{d \\xi_{1}} F{\\left (\\xi_{1} \\right )} \\right|_{\\substack{ \\xi_{1}=G{\\left (x \\right )} }}$$" ], "text/plain": [ "d ⎛ d ⎞│ \n", "──(G(x))⋅⎜───(F(ξ₁))⎟│ \n", "dx ⎝dξ₁ ⎠│ξ₁=G(x)" ] }, "execution_count": 51, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Derivamos la función compuesta F(G(x))\n", "F(G(x)).diff(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "En un caso en el que conocemos las funciones:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAUBAMAAAD8YzkFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpm7MhCriUTv3c12\nVGZoascqAAAA7UlEQVQYGWNgQAM1Kscc0IQYeAKyuRoYGJWMkWVYGPYB1YUxsP9AUf4RyEtlYJiJ\nLMjygYWBYRYDQ74DQlSefQE7A8P+ABTBsBM1R8FK1geE6zAwTmVgrTkkANPD8Z2h4CYDzweGLgHG\nApgglwHjBW0GZgPGuQxBDjBBZQZWhjkM/AfY5p15ChPjSWBg4PjK4O/AD2TAwCUGRgGmDQwnGfjh\nBjKwKDDwCDAnMJgxcAIFD0CUSpUXZTEwGXD8Y+DZwBAkABHc////LwbW9ENALx869wAiBiOBpqKD\nbIb4BnQxhjUMNhhiDD2HHJAFATXPNMuriUczAAAAAElFTkSuQmCC\n", "text/latex": [ "$$2 y e^{x}$$" ], "text/plain": [ " x\n", "2⋅y⋅ℯ " ] }, "execution_count": 52, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# definimos una f\n", "f = 2 * y * exp(x)\n", "f" ] }, { "cell_type": "code", "execution_count": 53, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALwAAAAZBAMAAAB5tlnFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMpndu3bvImbNiRBU\nq0Qb3U6NAAADLUlEQVRIDa2UTWgTQRiG3+02f7ubGAQPnhKlIipiDq0FEakiKIgYhFCtlkYQBA81\nlJIWEQ1CQT0F6SVYZKlKbUHdg6VYKAT8OUilVajUQyUiiPTSH6qCwa7fZGY2myaHKh3Y+d7vnW+e\n3ZnZXcDVBo9YPNMa9rjsDZJaKpjlqCF82iCmC6OmlF88bUYk5RrYGOkt+FY5qRM3ChvDrKAYRZlO\nWdrpLe9l9l+xGqDGJagJ54LZQzJzRyXDM3/Y7dbQErDZGRuUSosiHMjIrCJ2y6xqbV0Nh+UYixLQ\nKE1/VKqbJDbVPt17siYghYj6NJ4V3B4HeC5Kbx5fuAyZoTAiqLV8jymrHTXGnaAFb1IOssgBvf3C\nUwYmT3C5dfLV2OIDmGLAHbzOmvSk8F/z6I0huFQu9QmAKfFe217kw1dsW5+ZT1jlYkd9dRQGhBT4\nQLECLwD+VD/0wTjSAjae2FkmAPrukTzGE0+hnE9kaYCd/mj79bY4l6xU4EmpRUEqQ0bRD81IooNV\nAqFmXOWK9+m8cklpRn38ORAj6zjd0fQ3qXSr26KujF8wOckFMQl/rS6LoxKnbxPTSiEHY0k1oSx9\ns2CScxDQLK1opICXoq6MbxSkdF5CjDDhLW8cP3jxx74zlpjGgr5MXSQP/FZXWpnRSR4CLUxGWEfN\nwde1CFIZMg7CY8FSxKH/Kc1wuhC761QBWNGH7ShpwtMnEWd9CT+cy+3P5e6yHO10lUhlyLu5uZ8z\n2AVPkhXQU/Ige+fpl3vgZz882hwCh0FLlC+RfHojih5OqoDQZ3US9dOceBnwcMX7HGB4owitvgVm\nyaKjNawOeAi/9mjp59LKSRWQFaABCxmOOwu94sVMZzCkXEDAfGPhGJU8ofXnT6GX5HY+Q+6978DI\n3hgnuSEP7VlMPNqX4sWeHbfELB70D20pdI18xnzfnQJZtCMTidHHGZL36WJNbE7Atu0YJ62FgPZs\nfU0VjwH4kmKG3HuRVpOCWZ0d23qaPyqrtLhQ36VDsSZJjdfLWldpbckOoNReSOGONUmhRMWX6q6v\n0t3Sce4jDRb/heSe52hfhku/cwjOULX4C4RE2yW5cFuhAAAAAElFTkSuQmCC\n", "text/latex": [ "$$4 y^{2} e^{2 x} \\cos{\\left (x \\right )} + 2 y e^{x}$$" ], "text/plain": [ " 2 2⋅x x\n", "4⋅y ⋅ℯ ⋅cos(x) + 2⋅y⋅ℯ " ] }, "execution_count": 53, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# definimos una g(f)\n", "g = f **2 * cos(x) + f\n", "g" ] }, { "cell_type": "code", "execution_count": 54, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nSUVORK5CYII=\n", "text/latex": [ "$$- 4 y^{2} e^{2 x} \\sin{\\left (x \\right )} + 8 y^{2} e^{2 x} \\cos{\\left (x \\right )} + 2 y e^{x}$$" ], "text/plain": [ " 2 2⋅x 2 2⋅x x\n", "- 4⋅y ⋅ℯ ⋅sin(x) + 8⋅y ⋅ℯ ⋅cos(x) + 2⋅y⋅ℯ " ] }, "execution_count": 54, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#la derivamos\n", "diff(g,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### Te toca integrar" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__Si te digo que se integra usando el método `.integrate()` o la función `integrate()`__. ¿Te atreves a integrar estas casi inmediatas...?:\n", "\n", "$$\\int{\\cos(x)^2}dx$$\n", "$$\\int{\\frac{dx}{\\sin(x)}}$$\n", "$$\\int{\\frac{dx}{(x^2+a^2)^2}}$$\n", "\n" ] }, { "cell_type": "code", "execution_count": 55, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAALAAAAAqBAMAAADhZMxIAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAADbElEQVRIDc1VS2gTQRj+Nt2817hUEUSQNJUevDSKoodKc1AUxFI8qCcbX5UeikXE\nBygELYIKGg8eoohRRARRCxZEfDToQQSlAcFLKRSp4MFHq7aKtsZ/Jjuz0921UmPAH5L/+7/55pvZ\nmeVfwDvCpjdfKav3VcdYe9hcHWOg8T82rq1f0xB33UnlO9bSwaOhbBWMA2ZgNJKqgrGGcI/L9t9c\n3ux4lYz7C3C/W5VfXsRshK8axm35Pqx1n0XlO56TqN3d5TJ++fGYmyTVU0t52DWDE4Y1KVjwHp/C\nGq/tUu+xcE3BJhW0XuAmAabJxrg9aDfTrE0q6KzAYQGsPNdRO8sGSdhIUoAvLQoblZkrYuA3eVjy\nCyVSQCwlCm1IoHL2MtafS40/I2E4L6ENttjwvA0ZchobixPZ9Z/x7P3j+jgNB4qAlli2cXsZQnvV\nnse8xC4wHY130s9qlgwq4TReAGRwB7gQ17+QLNoFzMPB+AkgyIxa8saw0Y1onOuAu7Su1SwPKa4E\nncZbTaSZ8SPgKw2H8sA27DGvApEM1TlEJkJpGBNcB5ykJ7Ga5XWUeJCKhTDm3Ag5/VgEZnwP+ETD\nsVZQW7nAlAaNapME+vPAONcBb4izmmU/E1nRkcudzuUuipJlraNUZMb3beMy4sZ+tthtWuwH13Fj\noNwsVWNSiR0zUxarERxTjNlR0IPTtsBeELnjSa7jR0GPwJul8oLQHJfxNWCFYswu77JvBHXW5eXo\nrGNF+Me4jl+eaJZ/uLxbJnrZOVhHEUjC/z06opP/rCLto6ULO413CKe5DtgBiGY5yPZph/MoNu3d\n3/qktORJqenGzyR/fm1pXcMBmhBupT9tVUMKG9qXg+mopucXzfIcoA/eLxDJQxpvGHggODV3y6JF\nIgWEUqLQh2gNBMZEvdkCWhJ72BaccUQS2yVSQLAoikAcWAJ8ELXINSZiQ6JQcjRlFVpWYW3YK+B8\nAm+B5oIgrBzLoGbCwbFSNnq5wlSRbPRshUum2zg86m0sv477phqKir0vLIIpnnDGLGf1PzSqVn+H\n/crHRzq0pSX8axDq8Zh6yoObKTXgMWGW12IeuukoX9JjtN6Dmyl1E3rKOSdSpM5WYRhF+FJOjxcA\ntfjKYl1750qng368/WXGSc60vlQqfXPOCdO3qULjX6aK1v0zHaStAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\frac{x}{2} + \\frac{1}{2} \\sin{\\left (x \\right )} \\cos{\\left (x \\right )}$$" ], "text/plain": [ "x sin(x)⋅cos(x)\n", "─ + ─────────────\n", "2 2 " ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "int1 = cos(x) ** 2\n", "integrate(int1)" ] }, { "cell_type": "code", "execution_count": 56, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVUAAAAqBAMAAADxIdW9AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzRAiu5mrdu/dZjKJ\nRFRer8KoAAAEwElEQVRYCe2WTYgcRRTH/9Mz+zFf7Y43MdEOBpNADgNJMAjqgDqCQjIHXURzGBHB\n+EEWlMxlMCvBk6gDkQQ1yIhKDnoYEIMfhx2RzYKuOLmIorBz8GBAUZasH6xxfK+qq7uqa+MOUn3b\nB9396l+vfv3v6uqmAGQCpBdu4dnDKXp1C/fuPpaeV+fwE+l5BRzDHeNghGO4Y5xhdWtezelw1nL8\n0hzjzMd0DHeM2/IazsDWvKYyEbOvnO6aayxsfWKrxbCy0LP7gA3Uq8EVSMcobQMMlb2nlRYf6Wst\nSrM1s82t/Up6UiXRNRMAthp2n98W1ckkAml6pNmYa4FJfXr2NLVxlGYCOiWCxsjIqERdxYbKUlWv\nd1pl4TUCaXqkWZj9q1Q2o5XmmlqD0rbZ5NZUX2lxJhW5oUqqqhqoxylnGxXGmsq8qhy1c5a96n6S\nXk/KQv08HQ4GvHld55z/JraqqhJeY5AqAGJNYfy5sHeKve6OS5HwWu5ofWH6XSzdEKcyE38+S1VV\nCa8aSFVA00KM6TUzjErZq7fUHqD81EOtGlBq0DwdWR5ib+srFJ9rzVDlIh27jt/Wpufl1Ajh1VJV\nCXllDr5ZPPcsaVy3Odz0yoZUkNePq7gHK0G+S2ZyXeDgsHiyeAq5uZ1Ah+rupTv0C2fyM8Bbapi6\nCq+WqnrrEJzyKl6fkqAx4KbXAt1VBXk9Cyz0jmKSfeWHQAX+er6P4vq3AfqkvUnTHZRW/SpwiZpG\nCK+WqkrqEBwiH2WJQGPATa9+ByOO32hsrln8B7im/6D0Oj2At0bywhD4O3/5GUrxEs0rMjVOF/i0\n4zWO6zmVm+qkGsHrkjMxL70yaDM4YHotsskwck3/Cnmt3dHbPSSJvJb/oOuvA+Cy99moQTndgirm\n+CxccaJCzKulqt665GTXvZdZItBm8FKlct3zlQrfFuI/YHoV89q4ZelL7qc1ED362j4U6DnEq6NV\nggD6V8vV4bxq37JU1VnO61q23e6xRGtgDLg5r/qPidbrC8DK4BfJz3V5ScGfbqB85WfgCZLp2/KD\nE5gK/se3JTj+QMIJNAbc9Gp8WzV81MM2XPz+AwaWmvQf6OLz4ovI9H8KcCdpF+hZhodxK6UP0GGE\nWAOWqkruguCUt39aZYlAY8BNrxNiOQhg8djv1eyRCwNkRiOaX/CUe4+1qziw/DR+OPc+zwi94ptb\nu77oUrqdDj3khiqpqorzo0cFBzeO/uRb8lrZHK68Tjz+F73VDDk4cP99Cimuh3DTpTnKThmqaOSr\nSsvOq0y/2moCnht6t5+hETEoHh5rCqO8ypqD9HhNfE2Oo/BrtBGlA+9GUpQUGiot8dNYYalJ+I80\n5B06YlDMiDWFKXfjXmCJ9oUBpuc1zXuDfrVDEnLRJMa9vGhF7FCJcbXUJHxPDzjEQyKQNj7SLAwX\neTP0H+1gcl0bgb1L7Ye5na3pqsyj7XDENWosNQn3lluLZFfbtGvj/xvOU5dZTXiNRvPnnohsVwoF\nGmiHrV4VrkA6RGk2hqvelqV53h6mFY7hK/20jBLXMfzVFK3CLXyilqJXx/DjKVqFW7jfwL7U3DqG\nfwiIjXQqft3Cs2eXZzup+CSoYzhtq0apeXUL/xdt3nue1qbW/wAAAABJRU5ErkJggg==\n", "text/latex": [ "$$\\frac{1}{2} \\log{\\left (\\cos{\\left (x \\right )} - 1 \\right )} - \\frac{1}{2} \\log{\\left (\\cos{\\left (x \\right )} + 1 \\right )}$$" ], "text/plain": [ "log(cos(x) - 1) log(cos(x) + 1)\n", "─────────────── - ───────────────\n", " 2 2 " ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "int2 = 1 / sin(x)\n", "integrate(int2)" ] }, { "cell_type": "code", "execution_count": 57, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGwAAAAnBAMAAAAY17BRAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAAB00lEQVRIDe2VO0jDQByHf7Ft2sa2BhXXxuckKA6CW0DFSeyki2gHUQSLHdxEqA9c\nBOlaQaiOOrSOgmJXB2nFsRRcxFGDuinxmsu115TztYhgIJfk9913j0DyB0RHc+dojyaCwlyKejd8\nSSEWAVmVDUUXUWEuwZ8Vwo9Ak/YRFbJ8DqoQioCi9qHh+9ps+gJjojHFeUtH80JcjP/J33wD5o+O\n39yr+MOUi9dsYbFzx4ehGAzVXecwZGey7krW4jaxtoW8Tjv79MAzuRsvnjG53alV2R0mIrRbKOJ+\nAaR+LNtB4MChcQzIVHZU3otLReiWjiNLTGulAceADZqR1qcBoQRcrzRZqWiHNOAY5ALNSBsjp99g\nmqQ5tSoD1iqW1x7AZ8A92LuulEpvcQrt2ciDzeCJenKgZWES01av2Shm9MZHwM32VtUYuzw6VmlZ\nCOwdnVjaDqR7BLPA6lPaClDVGHswTdCyEDJNMgPKQtCwXg91SFvRalhtWegkrzOLcI5Ji6nUbiq1\nbz06GFcWlAJGwlFk+B8+m83JuLJwBXSF0zjlixnTahlfFtzb8zcJv+bdlNkiydXWHIwvC37yU0hI\nA0vD3fWag31aFtgiuZG+cjv1Wad3l9O6bPxA2ggAAAAASUVORK5CYII=\n", "text/latex": [ "$$\\frac{x}{2 a^{4} + 2 a^{2} x^{2}}$$" ], "text/plain": [ " x \n", "──────────────\n", " 4 2 2\n", "2⋅a + 2⋅a ⋅x " ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x, a = symbols('x a', real=True)\n", "\n", "int3 = 1 / (x**2 + a**2)**2\n", "integrate(int3, x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Límites" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Calculemos este límite sacado del libro _Cálculo: definiciones, teoremas y resultados_, de Juan de Burgos:\n", "\n", "$$\\lim_{x \\to 0} \\left(\\frac{x}{\\tan{\\left (x \\right )}}\\right)^{\\frac{1}{x^{2}}}$$\n", "\n", "Primero creamos la expresión:" ] }, { "cell_type": "code", "execution_count": 58, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAHEAAAA6BAMAAAB1z6tMAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAiUSZq1TvELvdZiIy\nds1Wk1T5AAADPUlEQVRIDe1WTWgTQRR+2SbZ3SbZBgQ9le7VgzQHFcRDI3rT0pyq4iHFKgh62GLx\nJslJPEmgx4IU9OBfbU4ePAURhIImAaEglObQQ0GEgFSpVurMm5+dmd0NjWfnsPO9771vdnZm9r0B\nGL6lg+E1qLCONv9RCe5/5eCly2+dkgEpX8IksBjvOBJPq6zV49YBb31qp8qcHdS9VpwOHGfW7GFO\nk1MMpR7UUGJfD7lkZN9UfVfRcEoql4hnFY/9FY3qYSYL4CrTXWSSJWUwBu3NiyfGTTbzG5lc90vZ\nPrtA8Shj1MAFeN55rBKI2RsyVr3oHuxRxq0jrz6OwURwTSUQr7EpFjrC0/YFkn0AOxKHoIaSlONX\nOHc69IXoTwgl8noUplfHW7Qn7QbrtGd+H2yNoEbBWJD8r0gIXC70YSNC54yJmCMRgbXr9HMrESXc\n0ilnTreJZU9vdF9EWIAHOpet6/YAa6KpOWslzRxkrPmadxJ3SaOSjLYeWq0kBUZ4Y3pbrUhEEjFW\n1jxTTc0cZIzVNe8QymxPU84EmjnIyDY07wyzRDJM6DHInYtTalyCYSinDj9bV5+tcaQSXoe08Z1D\n7KextsZhVN65zvErwRn7WfWFw+hzdU6kWxwYp0+ceIu7ZefJpetxzjjxYqC7UsJBVxICGT+H+Own\nMpCD25K4x5GxDU4f+cx3GciAFW6eV2EUP24isPAT0dO9CxVY7Xbg0/zHzx1CpUokIbH6QiFtRgbL\n7zKaVI3MMpwE2OnkaGJ1VgB4fRntYYiZNUWmpso7MBnQDEdTsEumyOtLpoHKSH6dQhqIEvJd8rc+\nAqApOesD8PqS72OIwwZAjI9JEkIaUdo7zXYLHoZKhoArxzoYGD7cEuIl6HgNaH8IuJLOFlh94cu8\nFoQiRKNscbehWCtC9V2LK+kK8frCV2jbEALMI3MGiiTdT6yLd5JLkqgvIzgryyhlRMVuGOlzzdz5\nzfvf3h9cuvKjTMpSQ9YXz6djO+yrKBTNi1LUtSz88AZRzH0rty9jVBAeZLymxN632IVKVVHsNDlj\n9yiImSzASJm6zCb/bDbEM9OP9nQs+5azL2kvb6l66Iiv2zEWv68pnr9tteOIGipp6wAAAABJRU5E\nrkJggg==\n", "text/latex": [ "$$\\left(\\frac{x}{\\tan{\\left (x \\right )}}\\right)^{\\frac{1}{x^{2}}}$$" ], "text/plain": [ " 1 \n", " ──\n", " 2\n", " x \n", "⎛ x ⎞ \n", "⎜──────⎟ \n", "⎝tan(x)⎠ " ] }, "execution_count": 58, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = symbols('x', real=True)\n", "expr = (x / tan(x)) ** (1 / x**2)\n", "expr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Obtenemos el límite con la función `limit()` y si queremos dejarlo indicado, podemos usar `Limit()`:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAACEAAAAWBAMAAAC8tehJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEIl2mSJE3e9UMqtm\nzbsXyEShAAAAjElEQVQYGWNgQAEbUXhATlIrughDKa1EFn+ZgGE0TIDzHRA8ZOD/////B5gYhF5j\nvQBVgOEZ5wU0EQEmBaAIo7JJAEyCSw/ESg9gVYCJMLABdbF2MogsgIkYMHxlYODuMT4IE2Bs4Gpg\nYODfAOMD6ckg2/kVkETATA6giAGKIPMFBhG47RAZE5sDKEoA0TYeyV9YhCkAAAAASUVORK5CYII=\n", "text/latex": [ "$$e^{- \\frac{1}{3}}$$" ], "text/plain": [ " -1/3\n", "ℯ " ] }, "execution_count": 59, "metadata": {}, "output_type": "execute_result" } ], "source": [ "limit(expr, x, 0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Series" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Los desarrollos en serie se pueden llevar a cabo con el método `.series()` o la función `series()`" ] }, { "cell_type": "code", "execution_count": 60, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAAQBAMAAAAG6llRAAAALVBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAEIl2mSJE3e9UMqtmzXCQ\nkgMAAABlSURBVAgdY2AAA2Uv6wUQFrPAXvYECJOL4Q6EASKfwplcD7ig7DimAiYoU9pM2RDIZFQ2\nCYCKpAewKkCYrJ0MIgsgTO4e44MQFgPfBiiDgYFPAc7kADINIDzmCwwiMMNMbA5ABAFElA6yXWTQ\nswAAAABJRU5ErkJggg==\n", "text/latex": [ "$$e^{x}$$" ], "text/plain": [ " x\n", "ℯ " ] }, "execution_count": 60, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#creamos la expresión\n", "expr = exp(x)\n", "expr" ] }, { "cell_type": "code", "execution_count": 61, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVoAAAAwBAMAAACiZ6/NAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAzRAiu5mrdu/dZlSJ\nRDLkM64aAAAFz0lEQVRoBdVYXWgcVRQ+ezeb/d9kiyIiIUOVJg+BDlgfDEgWqdInEyWJfSi6WGjU\nB10iSX0omBYFRZSoFX0QXfAH9SVLS+2DYLdiuijB7oNVEGn2QcEHoUm0qbE/67l35mbu7JyzyTYL\n0YHs3vN95zvz5c7dO2cGoIVj/gGLya6c4xjIMRKAzDODRZbcMpGyO7vpIpFiJEczkFxhCIB0fZXl\ntk7E7cyfdJVIObFEMzDQxO1XFiNqBxyrhq9zdSLMrMNkE7dVrlp7cP6y9tfoM2RONHH76JRFq9qD\nxgtMnb7bGCIleLfCTuYYWVvgebYK9yv7sIlbAMH8DtjTtEIkRtjszFWSEoUmbjtswf4OyGqtgb/A\nRVrQXwv/QzLJsbHLRZJBMG6H+WXCiTaNZ+748n46OW4njtEMNDGUslL8xWLKbQrum77vSCFWry8F\nshWTqZyzGxlx+OBPFYCPVkuNDMZKBQsHCGrrkCgn3ol3U3V4ZgA+K7xBSRDjVYygJRiv2UoyMHuy\nBM98Deetk8xZeBUjaAkWEMrRAp6x4BZagiivYiSpSpFhSLirQMII8swVTtJURYp6wjMkzoCXamDR\nFMtkbuAccger8gkyVSeM5kUB2PnySTBIWi9A1GpEZcwzJ6JLMElJmqr8gl/dMFbCwY9+jo8WS8Mw\nSNIsk77asRQukhoAVtWQv8ONu05j/5PiqjWIYNfhvu/oXJYRE5NHPm+so2NWpRIu7Px2WS2BiL74\nQyPpWYA3Jav/AV1qu7+j+R8uPq4aiCHL9bK7BAhMYbRnZbvtNZx/In0MossSXG/5uqqAfcgQwF3j\n2q2wG2QAdwYQDbAMUcXV8IxK0BUj+X5cBnWJveoqIVSUcxsvAkS126ReJToH4LQ3bBixDFHFlfKM\nStAVF61RjHstfCbWziCdS3YDyB76v+b2bSih22H8S8zgh3N8PG+h0xnCrds8yTT9/8qx/2AZfgZ5\nRpV2K6ZvqGgffqonU6dbU1ga5zowt0bzxHri/w/eE8+YbiPO5X8JsY6cv1vDm2PQrdE8bYPbjiXp\nPSN3sFDe3+PJ9wOBuTWaJ+227h2yFh4so2ewy5Oo8+NNuuBIDUbluLRbMaTmVi2C+Ii/Wwvjs5/j\nNpXN3n40m0Uejyvq82w2+242e6sa+z9YxlfFp+GZhnN1qnU7ZCMs59bs8ci5Ba950jMoVf6DZfQM\n+tNlxDMq162Yku/GRI+EHLdetybfawVWgtE8sZ7WV4I6kfnBe+IZpXfPJepFvL9WJdSZ8/d41J5g\nNk/b4BbmVk9eOCjNqv3V7NZw/408ufa04vSVMpun7XCbHl57zDEk59Ls1nzvg4grZbq9Z/Qhp4j6\nNJlU5XuP8aq4gt805zGwAyA8trcG4sBUTdNmRRd7TXPOd6hgxOmiETjDnz1E5OG8Wk1Bpgce9vLW\nq2jBcc2tM6rt2wWp6xAqibc0bZxLQw2vG3Zbmtjwu9OC2AyZFSrDXoJwBdEXA5xq+54AeBk+BTgb\noD3gd28oR5/4w2ZRbBacrTCQNCf3xuDhCgaJ53S5Db0C8GztQYAzVlCqkc6SHqnv931R0wDvMYzb\nfbTOFZQZt70WusW9ddHvyFdLdJthomxGG47jOCXEsfzHVJWAEUJBwmbcIv3BzsvotkBrFXrK5PaY\nwcbjxTKVI5aLXpPvT0BBH/XGxrkhpa+FrwFcIou6dZLmxD/iL75RdJxMEHUL9lskhYIy7zae29At\nWXVzoG9zNiRrAHPkUkBBssa7HQWBc9t0JRhnaXU4zQiOotsixaFgAFi30TwArtsz5sWmqtwclhyB\nu0kl7gnk3ErBF4cO/T0RUKl1ewrCNi6VOStAtwPAO+hzZB3cMfdThCsI3h1U25cZgaj9PJi3QarI\nTWLh9xbGZ0ltR1msP/gbCVrwl4G5Qzm39y7MPwXxkng9SLcBCeFTCe0W5sdrxAlcwTd1t8XzUlTb\n11uvr4GoTFNSL/V/PfoX0LjCXF+s8nwAAAAASUVORK5CYII=\n", "text/latex": [ "$$1 + x + \\frac{x^{2}}{2} + \\frac{x^{3}}{6} + \\frac{x^{4}}{24} + \\frac{x^{5}}{120} + \\mathcal{O}\\left(x^{6}\\right)$$" ], "text/plain": [ " 2 3 4 5 \n", " x x x x ⎛ 6⎞\n", "1 + x + ── + ── + ── + ─── + O⎝x ⎠\n", " 2 6 24 120 " ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#la desarrollamos en serie\n", "series(expr)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Se puede especificar el número de términos pasándole un argumento `n=...`. El número que le pasemos será el primer término que desprecie." ] }, { "cell_type": "code", "execution_count": 62, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$1 + x + \\frac{x^{2}}{2} + \\frac{x^{3}}{6} + \\frac{x^{4}}{24} + \\frac{x^{5}}{120} + \\frac{x^{6}}{720} + \\frac{x^{7}}{5040} + \\frac{x^{8}}{40320} + \\frac{x^{9}}{362880} + \\mathcal{O}\\left(x^{10}\\right)$$" ], "text/plain": [ " 2 3 4 5 6 7 8 9 \n", " x x x x x x x x ⎛ 10⎞\n", "1 + x + ── + ── + ── + ─── + ─── + ──── + ───── + ────── + O⎝x ⎠\n", " 2 6 24 120 720 5040 40320 362880 " ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Indicando el número de términos\n", "series(expr, n=10)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si nos molesta el $\\mathcal{O}(x^{10})$ lo podemos quitar con `removeO()`:" ] }, { "cell_type": "code", "execution_count": 63, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\frac{x^{9}}{362880} + \\frac{x^{8}}{40320} + \\frac{x^{7}}{5040} + \\frac{x^{6}}{720} + \\frac{x^{5}}{120} + \\frac{x^{4}}{24} + \\frac{x^{3}}{6} + \\frac{x^{2}}{2} + x + 1$$" ], "text/plain": [ " 9 8 7 6 5 4 3 2 \n", " x x x x x x x x \n", "────── + ───── + ──── + ─── + ─── + ── + ── + ── + x + 1\n", "362880 40320 5040 720 120 24 6 2 " ] }, "execution_count": 63, "metadata": {}, "output_type": "execute_result" } ], "source": [ "series(expr, n=10).removeO()" ] }, { "cell_type": "code", "execution_count": 64, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\nrkJggg==\n", "text/latex": [ "$$\\frac{x}{2} - \\frac{1}{10080} \\left(x - \\frac{\\pi}{3}\\right)^{7} - \\frac{\\sqrt{3}}{1440} \\left(x - \\frac{\\pi}{3}\\right)^{6} + \\frac{1}{240} \\left(x - \\frac{\\pi}{3}\\right)^{5} + \\frac{\\sqrt{3}}{48} \\left(x - \\frac{\\pi}{3}\\right)^{4} - \\frac{1}{12} \\left(x - \\frac{\\pi}{3}\\right)^{3} - \\frac{\\sqrt{3}}{4} \\left(x - \\frac{\\pi}{3}\\right)^{2} - \\frac{\\pi}{6} + \\frac{\\sqrt{3}}{2}$$" ], "text/plain": [ " 7 6 5 4 3 \n", " ⎛ π⎞ ___ ⎛ π⎞ ⎛ π⎞ ___ ⎛ π⎞ ⎛ π⎞ ___ ⎛\n", " ⎜x - ─⎟ ╲╱ 3 ⋅⎜x - ─⎟ ⎜x - ─⎟ ╲╱ 3 ⋅⎜x - ─⎟ ⎜x - ─⎟ ╲╱ 3 ⋅⎜\n", "x ⎝ 3⎠ ⎝ 3⎠ ⎝ 3⎠ ⎝ 3⎠ ⎝ 3⎠ ⎝\n", "─ - ──────── - ────────────── + ──────── + ────────────── - ──────── - ───────\n", "2 10080 1440 240 48 12 4\n", "\n", " 2 \n", " π⎞ \n", "x - ─⎟ ___\n", " 3⎠ π ╲╱ 3 \n", "─────── - ─ + ─────\n", " 6 2 " ] }, "execution_count": 64, "metadata": {}, "output_type": "execute_result" } ], "source": [ "series(sin(x), n=8, x0=pi/3).removeO().subs(x, x-pi/3)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Resolución de ecuaciones" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Como se ha mencionado anteriormente las ecuaciones no se pueden crear con el `=`" ] }, { "cell_type": "code", "execution_count": 65, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAGEAAAAUBAMAAABvx07iAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAABM0lEQVQoFWNggIDcvQJQFpEUmwPzBCKVQpVxOPB8IU0HXwDLV9J0MDBwfSRVB4cC\nqTpyidDAkpa9AK6M/QKciZvhy8D1HS4bxhADZ+Nk6C9g+AGT5Jm1aiOMjZuOC2D8CZPl+///A4yN\njwa7SkjZVU0BUxWjkklQEoYwJ9C7jAnsTRxYUogYQ4VCJ0hH5kwQmAvWfKwXSLEJsH3kcgDzUYhE\nhnyBJSgiIA7bG6AdDJwb4BKMMzqAoPMAUECAYTZcGInxTgDI4VdAEkFifkJiQ5guDAz7FwCZ5w8A\nDcQEPH+A9gNBBsjajmYQ878Aw/4CBi4BfQYmLDoWMn1gUAQpQwKvGRj6HRjiF+xncEcShTJZf3F/\nYClAEy9n4AI6VVhJKB1dBqiQ0UhRrRxNAwPr3dsBDAAbFkHpklxB3gAAAABJRU5ErkJggg==\n", "text/latex": [ "$$x^{2} - x = 3$$" ], "text/plain": [ " 2 \n", "x - x = 3" ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#creamos la ecuación\n", "ecuacion = Eq(x ** 2 - x, 3)\n", "ecuacion" ] }, { "cell_type": "code", "execution_count": 66, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAIMAAAAUBAMAAABc0JOuAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEHarIkSJZt3NVLsy\nme8Q6PJIAAABYklEQVQ4EWNggIDcvQJQFrkUmwPzBHL1QvVxOPB8odAIvgCWrxQawcDA9ZFiIzgU\nKDYil6AJLGnZC9AUMV7TPQAXYr8AZ+Ji+DJwfUeT41zA2AIXCmOIgbNxMPQXMPxAk6pjYMiECfHM\nWrURxsZFxwUw/kST28zAsB6WJPn+//+AJo2Fi+GRzwwM8QsYGISUXdUUMNVjE+ZECzDGv0AjFBgY\nE9ibOCZgGIFN+FgvWBnbTDAAGsfyjYHhfAIDmwDbRy4HDCOwCrO9QVUHNYKRgXMDXEKyAwTmAPlw\nYYQQUPSdAFwpiMEIdAXQIwwM/CACE2AIuzAw7F+Aqg4YFutBQucPMKAaDlGGIfxfgGF/AVCODezU\nDgMgs5uBoV6AgUtAn4EJ0wgswq8ZGPodIMbDSD0GhpugeN3P4A4TQtBYhMsZuD4hFIBZHAsYgSEs\nrCSUDnIeGsAizHr3dgCaKsYk5QMMAA6TWMccHnwHAAAAAElFTkSuQmCC\n", "text/latex": [ "$$x^{2} - x - 3 = 0$$" ], "text/plain": [ " 2 \n", "x - x - 3 = 0" ] }, "execution_count": 66, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# También la podemos crear como\n", "Eq(x ** 2 - x -3)" ] }, { "cell_type": "code", "execution_count": 67, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAMoAAAAmBAMAAAB3zRliAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEO+Zu3ZEIjKr3VSJ\nzWbLFm07AAACl0lEQVRIDeWVv2sUURDH57Kyt95d1uNALPNDsBOj2Gh1YuxT2NlcFS2CLii2Hqil\naCOCIARBBEEUMY0pPAhBUggHYhNdPPAfyDURETx335t5+2bv/UiQa3SLezPz/c58bt9jd6E1fxQm\ne52an4PWZBFi+v9EGeG1495Xj82zY2HPPR1Vnw0pUds87UAzVza3mmaZqnbbHWGRlOjMKjXwdS1X\ngkHQ5uVyZrXdfiyseC/11XKjzPuQKUEv9hyL3fZuD5R4kFMAgr6EWn4dtr1QpkFSWl3LfFl22HyU\n6muAS5Jy+LMd4rH5KCtDqLTxXhyn77H5KPAVgg5Sol9gvdw2C+WIGneteSOLs9Nvdau/VXUsMNkq\nCdk4ZZbKaxTAdO9RFtdnoZbEc6o6Fphs9SWyvRGBfF6qZ39SvaCEuw8AciXa3FL/jbqL1WRTlOuv\nHuZOfCqLpoIC3xyziwaTTVHQ5qLc1UY5QoNtPxTHZI9kpuSfhx3ZSTt2iD4ZuPK5le0X2fWyC2Yb\nUYSadfId+5imT9P0E5+436yRptvH03RB60PKxvkmFuleMC0ErWksbJw+yWp0L4CCpDSSg320cYom\nsDGl5AM8YRVFQUFSakn0w0jRhBn6H2yeTJ7D/UQvKwoKkjLVqe4aKZpQG+pzeHwMbnX0iqKggOcC\ndZrBdyx7w5AAl/U55fg9nasQFAVACESpLWHf1VK/EmBQUlj6jGVh4RUCUTaYS0uUUCk6NRnDxsJ4\nTVSkgJTY5iqE2DJHlL/bRCkgZQWumH1WgdnDXthlBUpQkJToy/o5EthqFZgL7q2/ZaevVBQkZUq9\nxpQuA6vAfSdGI16gDAXcMapOaP23KDOLFya0TzT24uIQwmXnq4Osf7HeXO78ATCf68GPK8b6AAAA\nAElFTkSuQmCC\n", "text/latex": [ "$$\\begin{bmatrix}\\frac{1}{2} + \\frac{\\sqrt{13}}{2}, & - \\frac{\\sqrt{13}}{2} + \\frac{1}{2}\\end{bmatrix}$$" ], "text/plain": [ "⎡ ____ ____ ⎤\n", "⎢1 ╲╱ 13 ╲╱ 13 1⎥\n", "⎢─ + ──────, - ────── + ─⎥\n", "⎣2 2 2 2⎦" ] }, "execution_count": 67, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#la resolvemos\n", "solve(ecuacion)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pero la gracia es resolver con símbolos, ¿no?\n", "$$a e^{\\frac{x}{t}} = C$$" ] }, { "cell_type": "code", "execution_count": 68, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAE8AAAATBAMAAAAjVk05AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIquJdjLdEETvu2aZ\nVM0GsGrEAAABKUlEQVQoFWNgQAIiJpuQeHiYF7qY8cgiS7kgc/CwDVbw4pFFktJ2dkXikcxk91LS\nZjRA1sb/HwiQBSBszw0MvCc3YIqji1SlA0XOC6AKMyqg8kG89wVAohNNnNsBTYCBgecvSCgGiBmV\nXYGGF7scBLLNToNEUYB8AohbCsSdAlwfGDgSGYSBbDaQIBDYvQOBNyCmvQOIBAL22Qw8CxgkL7Af\nBXLqwEIoRH4AlMvznYHNgUFzizfIzXe4URSBOPPBIkBJzgUM9QEMnyAKhBwhNBKZD2LzAo2tN2C4\nz1DwGUkKyDRLA4EkkCA4BHmAjPoLDOt4BSYzMLCAhDGBvAFQzByI+Ry4k5gZ/BjYQcGDBfD+Bjod\n5H52FVMhDwaWI7uxKAIL1SzSaQAyAPt1PB+SzWHeAAAAAElFTkSuQmCC\n", "text/latex": [ "$$a e^{\\frac{x}{t}} = C$$" ], "text/plain": [ " x \n", " ─ \n", " t \n", "a⋅ℯ = C" ] }, "execution_count": 68, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Creamos los símbolos y la ecuación\n", "a, x, t, C = symbols('a, x, t, C', real=True)\n", "ecuacion = Eq(a * exp(x/t), C)\n", "ecuacion" ] }, { "cell_type": "code", "execution_count": 69, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAFgAAAAbBAMAAAAKd1XFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAu90iEFSZzYlEq3Yy\n72ZZXIwmAAACH0lEQVQ4EX2UP2gTYRjGn+Qul15yiVFwCQghOhQtJR10cOlRRASHxMVFoTcIFgfp\n4KCLZooVHTo7aFUQpA5xkUKWuFYlXQQFhwpOulj8g4VIfJ7vLtc0IXnh3vd5n/vd+335kgswOfLF\npfOVGDlU3tOxaYS3Cli3YR8BmjTc8jRK+4mB7g11hw98AR4a+/QE+AaJj7zeAlPboifADtfO/iJz\nhtex/fDmTfUDMe8DyUJkvFYNJy9UAPt45PdLg+JAEHXzqiG8KFlUGogP1Mk6D2RbQimEr1INw562\n63Abjh+JCJ5mOwznt2TOwn6gmlWnye6TnXVKbuNc6x7PtPH9FVtnmQlTz+/7qq7WMdtI/VBfhHcU\niSbt2SzbREFmP7wulYHDIUV9HK+bKeGpkPSacj+sXSoD6zNrcqcG/HW2QjgZ0OuZ4MLWb3YGrq5S\nEV5k3bG6tg5t7OTHsA2syX+sjY32KOz9pGcm38VlA+cCuLspswyQKeiRfuydxjW7SfMgvM9I191b\n7ypCzMn2WZhTN5PnWjQ3e89wauUFcKf3L2BvZsWwvspwG7ElkajZJ09IfFLC2dZLlbTWNpPVxXGB\niu8GsKRkz5jfCKo+m1F4oQ0c5h28V3ICr6T6TWkUtldajbZuZWpMuVp2Tc2M0igs14S9zFKtJL76\nQL4uawKMi7yfa3cescyJJVwe+7+R4j7c9UvXiV3h5ZaHXzwNGB//AaBTdqtvvq+XAAAAAElFTkSu\nQmCC\n", "text/latex": [ "$$\\begin{bmatrix}t \\log{\\left (\\frac{C}{a} \\right )}\\end{bmatrix}$$" ], "text/plain": [ "⎡ ⎛C⎞⎤\n", "⎢t⋅log⎜─⎟⎥\n", "⎣ ⎝a⎠⎦" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# La resolvemos\n", "solve(ecuacion ,x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si consultamos la ayuda, vemos que las posibilidades y el número de parámetros son muchos, no vamos a entrar ahora en ellos, pero ¿se ve la potencia?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ecuaciones diferenciales" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Tratemos de resolver, por ejemplo:\n", "\n", "$$y{\\left (x \\right )} + \\frac{d}{d x} y{\\left (x \\right )} + \\frac{d^{2}}{d x^{2}} y{\\left (x \\right )} = \\cos{\\left (x \\right )}$$" ] }, { "cell_type": "code", "execution_count": 70, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAT0AAAAvBAMAAABj3ACKAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEImZdiLvVM27RDKr\nZt3KPpNmAAAEy0lEQVRYCb2YXYgbVRTH/zO7+d4kw1qKDwuNbkSQFoNWWPGh03QRH5TOU0VR2EVL\nVRAi+PGmUYSuPmjE9UGoNEhBRHDzoH0QdBepIPgSEEEQ21Aq+lRTP1hQZD33ztzJfCW5Z7PZ+zD3\nzL2/859/7syQOweYVlt815qW9F7oms5ccy90pqVRcgp/T0t7L3TT7dQ/e6EzPY3Mjelpx5U/fiI+\nNnxE0CV7+PwUZrZZmkQvshImhfOsu0V0sTbpJVn5Zo+DE/0hPuFkTMpmWcuRrRXOvvTOpNfUz3+s\nutng0emdnb5+xoRk/jTOW9oaPFpbdgR4sIulEdORKR4dSd7V6TELV/UTebS+7nDyaRiMPysePfyq\n2jPGH8j0DV2cR+uqjuKMbeSaL4wignM8Opi56/h1XN6qaGfzaE3ZLz3upyR+of75pXZwgkeLzELX\nzS92gjrJcYJ6quWhcxr54NFS+RFl5TsVDO2T1LOWwpsqGNHzaCn0qpLLqmBon6Re92kVGY4/FAsU\nA6hoFC3SZytKZBCpkWivNAfqwGkfOuhFGdsfigU8WqSn/V9rrMTkIgNxdeR7PpNtuOEIfzxayn3q\n6+PsIEyMwurGoo1TllkDjOVvLlQBEYqW6I9HS535o0itys30gQcfrdsJ++qbbr0dRrXexmfPP0Ap\nYS9mZgUnkesC87hs/wYUm8RQS/THo6VO5UXM9vEB/f5K8VqpCfwohs012cRapM7govOVg3WjhRKd\nh708PNPE+yg1gFtwp0V/EpkeMdQS/fFoIZNqLCHXwq9kyTJvZBzgZTEcaNkmXulcBTa/WIVJ42Ev\nVtrGX0i3AQtviKxCXxwH/so7gwYWLfLob/tJlG08Q+uHbEsIb4pDoB2q0UXpe6pc+X2d7Ee9bFiF\nf+UYyCc16Y+W/62n1tYoM9J4tEimT6XNjvBHDmxxjPrboNEMbY/Krfm3/6R5sVYBL0uYXZFrCvJp\nkF5PTA/Wzz1TRx4tsuj5uR/i/pKzDt0kyFfZvC7bFo3663ePgytt9/4GvJxDbks+k8/RY3x8zPsB\nFi1LWKR+DuL9yFgnMUv+5PtBvlSj5w8N+p7f+KiCua77fgS83IuNLswt5Ldz/RRNz9TcxMT3Axza\nLWHNtPL/AYfp+o3zeJy071bGvD71LEznYgevZVaRc+g9CntZqB5zxE01Lh2v/0wp2babl+yPQ7sl\nLOPrE1TIopu6sHzgCP1+vOnqD44LR29D6q7D7fyRh+6g0ZgX8enzi4+f8qKgv2DxRZ9WJSx6AlGi\nhXFbakVFw/qQl7mm/LT43oerXpQXv1U1VXzh0RAlrG9xqE1PdU1JmbaKhvUhLyU7JxLEjZfNaHpB\nsPOLLzxalrCuYV1Ivaf0blbB0D7kJb98nwD9PaE/GUw3e94Zj5b/uhdOdESyvz/1jXqS8S7Ri3iz\nRPvB7cLHWPFFjx7cVFoA73EpqhsVvkLobKR6iJQnsvjibT7is9GRAL0/JSxZTlGbj6ib2HmA3qcS\nliynqM1HzE90IEDvUwlLllPU5iNqJ3bOo2PpuxjwyillWyuXR2tJjoZUOcXdfIxmaZPnlWr06HFq\nOvNuOUVtPsZl8OhxalrzspyiNh9jM3j0WDkNQBZf1OZjLM+jx8r9DyA4hgIsR34fAAAAAElFTkSu\nQmCC\n", "text/latex": [ "$$y{\\left (x \\right )} + \\frac{d}{d x} y{\\left (x \\right )} + \\frac{d^{2}}{d x^{2}} y{\\left (x \\right )} = \\cos{\\left (x \\right )}$$" ], "text/plain": [ " 2 \n", " d d \n", "y(x) + ──(y(x)) + ───(y(x)) = cos(x)\n", " dx 2 \n", " dx " ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = symbols('x')\n", "f = Function('y')\n", "ecuacion_dif = Eq(y(x).diff(x,2) + y(x).diff(x) + y(x), cos(x))\n", "ecuacion_dif" ] }, { "cell_type": "code", "execution_count": 71, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAgkAAAA/BAMAAACY8EZSAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEImZdiLvVM27RDKr\nZt3KPpNmAAAMGUlEQVR4AaVaa4xcVR3/39m5O7Mzu7OT0pAQmu5QykNju6MFoZbYaV0RE8iOaKto\ncBeRiiB2tT5CTNhRYl2+sPuhijWNOwFTE7/sRJtKFN0lVGKkdSdYPxnogG1ijHG3lIeFyvo/r3se\n95z78iRzz/91fr9z/vfce869dwD+vzLUSND+tD2mVLfbY60u0qd4y8zAscyOgEccdtVc6KmaIh9S\n5DSii3SgwVGyAqfphBLrP6goLnFvx+G5vO1wRJudpN4DvGFG4Ghat7fScPsCz9lAMoTSfYYhmeom\nPdpkCBmBk9GHo64Pm0KWXEuaPrVGyqow3CyEVLVKOkEBRfO+FpeyAQuYlLX/doIGE20Z9CcpEmlk\nStcTaRqpDui9xREyASditwQNzFmMpumwNPgtKRMpN6nriTSV1AS8liNkAk7Ebgma7liMhqnwjjT0\nGefee136EksqqQk40mAwmYAT9uC7ZtyMabDoxZY0bgS4c9MTUofRqqIkFFXSjeBveo+S2tx5DpIF\nOBn/XYJChJf/K6SIerErnTeBX4dpxTChyDIsUtJIb4JPQkHphS/kDMCRrIHzilvMLAyuBk63sCxd\nXg/yb8FwT1rUiSKtkZJKioDjU/CuEi8mSgZgBSVKzJtZGFmKCmc+75KMyXWh9ACMtKQl/4aUE0oq\nKQIebXv/UVqON5mSAVhBiRJDWTjTjgpnviFlMcXbAhb1ivBeY1EpjiopBVSvCBipMagMwAn7EMrC\nfIKGA8pVcweNfxRg/e2f3d2gykF6THNQSSlgsa4AFic5VnrghJ0IZUGdii6M4Rb1lNpY9fBX3loH\nrzZ0ttJCBWC0Q6sUB04aAP7y7wASMCfW5fTACftgZqGUZDov1Cj6rS2AfIOK13Zy1dz5AruAp5mN\nOhIdBKkEzD0IErAgdiCpgROxY5CZhZxyyTsxRtvE5a/H2AoL6r/Hg+Ick2FECFyPrTipCrivKgG9\ni1mBY5l5gJmForlm2IBmq9RKevciSn4TBnCzP9zgsf2TXEhaCVIBuAdgfkoB3JcVOGkHzCyoC78T\nQyzmO5vwCgYNn4cB3NksdoBlZzDtUhmQcsC1Ksx3FcDlJutKamDnCAyHmYWJOSPAovpihk7Uh2ro\n75+DyhuF6jjkWRZyYrNnaWs1BaQc8MsAK00FcBRTQkpqYNYs/mhmYboe36ZwgccMnq+QcQ91Ybqx\nMDUPdzP7UJI7rEoTkHLAlwBviArgmVpGYNrsd5zqb7wOV33Pv3tKs443NNWq5MU9u/zaARrw1Laf\nwIax9Vv4KSspW0srgGkMSDlgadv2tgq4sMRaxANbRuzPcbrBjsnr1HfykXgfP3nKr8mw4w0p9wUz\n/mDoiZRE+ZY9x/ojJ7t3SghdEqQAdsCJFou3AUP5ixLMNuJiVfg5ilAj6vk2c97ahcIHeUaIZbHG\n7OQ4EKymwVSWTiK9qauo5R8COIA/exGkuBOv2yKGJ7k1DIxbNuX6s414d4AopcDkEGab1HEFuffj\nHdtaisEaULRHrIlmHvd7P60C9AXNhFvUnBRVO+DwKo8MAQsEXstxSkm+Db7ciHar+7G7WOiO4Kgj\nrD9uT8FBAAoNBkE3BKVJBx4E8Y6AgDAIFMBGA8uIS70gpjgViDECy3YffeP5KyX2cx2pBKdGmnRp\npcl10dmdhL9c16OkFpxiadKkiphFIWAM838bxOoj9q5uwN5qDlm9sT/8bDMutM4OBAhcYB2a6BH1\nSm479o3b/Pml8sEdYyeoJXUWfLrN8joc77JN14G3eXcbEJiaMmeh/LGx1l2X4Ol7j93eQCR9xLnC\nJIzDQBdgHbzc+Aeu6C3Cdv0MKfgQHFFYh0YbLKQ8h7WHmyIYWILiIZhoEntsFmbFePlcyPGlNbf9\n/djc/xIcb/6+CYcoMAGMy0LxHRKFxQS+gjzTHgF4rOGT6aKP+NP4JeMwVKYArsJ3od/E67OHMUmK\nxzq0woZRvqWHjUr3QI5kYWAShrsEZGSVHCPKbJs7eRYqfBTXwB/RgS/Opjuv4rLzGwKMhZPyNpaq\nKBYlE/hoFWokCz8CIKu3PuJqfwNeh/424Mb+MYJaNvs9TD//aAca4rG1aD9phI0LPaxg5RA+LmEW\nWvyBaWSSWEFrzRXqgGDl41noZ9hwDhabmMQ6dog8fdUIMBZO6gYMlmYTuHLxo0Cy8GPA8eJWvq2N\neKFafofamDecBUJuK7xDK8RX6EChhzWsm71AszCnZ4G47IV1Njcz8/j9MzM45soqifsOPAATbYCF\nBmK/jVmYI8BYRBaIbC1GFiSwd/1anWThsMyCMuKbIT9J5wdgNjyc1D2CvvXfpPzLSsSNfHLSnUIf\nv5LwwflMm8yFIAt0UBEw5iljOwVMB0xXlblwIwFGY+wVYWQBm/BJtgfwFajMArkilBEfoeeuC/C1\n/CrsEndHDIkt7L4wUcPAq3gWCjUY7KpZiL87tjkP76xPtnc5TACcxR/eF2DqXpwTPyfAaIi/O+LM\nocW8L3wd4JSSBXJ3VEa8HRa6kFuC0lsDqz66+uocJrZiWSCvgA9URRbugYEmToRgLsRnocN5eBbI\nK+oCWR7oiu0/BLnm8Q58r0CASWTmNeJbVfghuRz4FWGMeMNmnNN4GXgndu1+CWmKbUJmKf64vMdR\nN+/QZUeea6Ne6OGhtOWO95aXL125fOnX819BPX6l5EtMMHHB237yQ6TlX8gBNtxwDfgfeF+bAFND\nXBbEGgMm8JOnX2w/s/bsM2svPPzmEr3w9RHfjPDnKAU57A0kQxhsG4b9OANkKfSkLKVgQ8tM/rbD\n4tzzmBV6hlERc4HbS7WSEckcOimEACP3jhybVtqIB1seuZJY5ol7M42xHD5j2lb0LEyafqJX9OeI\nDWC+st0vWpW6QqL1099+WIMXTp0UQoBspcVoF7AA0kZcadD/RLGLDiO8lggz65tMw7x6svwPX2qY\nAagPiK0c8z0LsE+Pcs3w/Wt2j0YKEAIMbkT25pJcG3FpbAfxBO8cAqeMZ5LXY3XuI8deYBJ97mGi\n88ietQL3VwGW1dyBRx8bAn+8YJCGAEd6DCMW2Driu3kH/urqSN8U8+wabP2TSeMNV6y0B2/cmGm2\namShfFHGJpIM0hDg4hyDiQeOHbGtPxu5sVPscmm6ZovTbQXl7Q7z6Bd24ZIeH6uFSXXA6SUGkRo4\nlpkGbBFhw00uLS4Jk7sum6MUX9h4E2OuuIGEJ0RqAIq5khpYEETW9LawbuxGfL6DDoscaUW2oE7t\nzwXEUuEzljft0++e3BpRhUgNwJ28c6mBIzilK9/FncY5uNNf3Qo1ZmYPPjLEKq0Y1u26XlzV9Vgt\nRGoAznKE1MCxzL/ACPKpde+Ut8M78eRYlbVIlG5xbjhJfokLvAo+uOlmt2aSmoBizUkN7KZknvz9\nWI/h7/nTd/AEUIf2JxIWGj7iY4FaDpDvtUpZrCtKEtEkNQDL9PkbgVIDx5F/YrzN/oFh3Ol8Q7fi\nTCyp5nId8loW8M9Z6YpBagLiv8dYSQ0c2w38k8FQDaPMVQ+3LLGlv6eGfH7T1X9WdVjWtCSKTmoC\nDq5yjPTAceT45oN+av0CfjhSY0e106p6pJwjrzqDMru2Ji5cZiMXW7qik5qA/S2Olh44rhv+BfoP\nDLgNPFwpZZmoSdkl0bcmLieUxMdcZ0TIEU260GANMgCHmEzDcvUVYsrfQF5AyFLsSdkpPe70oGNQ\nf+SMChW+aNLlKovLACwInPXidXWbbyjJludMx9aU24atuBEN8I1gJKlYIjIAR7ISZ/F+nmIj0rxd\nGm6qDtdsVm6LTJGjXRRpkKIswA6+wBz8IyWwMGHUnhwtKvibumblyozNGGOLIiVva2nJAsybuqvv\n2139Nbtds+LK4iqlyNntaBVFusAvv0zADr5Y81CSm9sZ94Qp1mMpwgFRpI/y8EzAYaqEllcTxFVq\nziDy4SV9cZMWxFnJBpy+K6wF+ZYYV8ravkmLfkjTkipu0v4ux8gGnLQDZtxQz7RY9JctNmoaXHJ5\nIu1u0pO8XUbgSNYo53NRTtEn19X/SILGthAXaaHHo7MC28iS2IpTCaJ+YI/x77PbY60u0r38+swM\nHMvsCAj+euPwU/OVdqf+psEeY7W6SPfw6NTA/wO4IFF6BGvVMQAAAABJRU5ErkJggg==\n", "text/latex": [ "$$y{\\left (x \\right )} = \\frac{1}{\\sqrt{e^{x}}} \\left(C_{1} \\sin{\\left (\\frac{\\sqrt{3} x}{2} \\right )} + C_{2} \\cos{\\left (\\frac{\\sqrt{3} x}{2} \\right )}\\right) + \\sin{\\left (x \\right )}$$" ], "text/plain": [ " ⎛ ___ ⎞ ⎛ ___ ⎞ \n", " ⎜╲╱ 3 ⋅x⎟ ⎜╲╱ 3 ⋅x⎟ \n", " C₁⋅sin⎜───────⎟ + C₂⋅cos⎜───────⎟ \n", " ⎝ 2 ⎠ ⎝ 2 ⎠ \n", "y(x) = ───────────────────────────────── + sin(x)\n", " ____ \n", " ╱ x \n", " ╲╱ ℯ " ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#resolvemos\n", "dsolve(ecuacion_dif, f(x))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Matrices" ] }, { "cell_type": "code", "execution_count": 72, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAADcAAAAyBAMAAAAKOF7GAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhAiq3bdRLtm\nmc0lg57xAAABSUlEQVQ4Ee3UPUsDMRwG8OdSr9DT1oIuouANDgoO9w0qWPdzFrlu7rp0cOhQEARB\nEHHVT2D9AIqjo4Pgpi7iVBGlDlI4E/LSZ7hmdjDLJfnxz11yD8Fi/omiJvK8jpnmRpEhbK7XMVtI\nanKiGLfmPIg3H355MBp4UBwTlne7p2poW619lLivvWhNflhQz+wV3xbDBVR7jI0U8tj0PqsDVDqM\nTwgdBj1ka4x9RHIzujKL0UBKOoRczGKCm1KL8AebtxZrnakzQYZ9XMuhXjZsL+0cMm4fyEKDPE99\nXUkT3P1HeRpjDyG6uh+PmE48eJl6cMXzTvRHKJa7/LNkyF3AUD7BO6MMuQsYghh7hCrkL27ZZ84l\nVC4rscN5KpPdQIb83KLKPjcTcnN8Q6BEmumQG3xE+EBoQm5QrN6RwYTcIMuo/xfRe6X6LuNfjWlM\nFpMM9N8AAAAASUVORK5CYII=\n", "text/latex": [ "$$\\left[\\begin{matrix}a & b\\\\c & d\\end{matrix}\\right]$$" ], "text/plain": [ "⎡a b⎤\n", "⎢ ⎥\n", "⎣c d⎦" ] }, "execution_count": 72, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#creamos una matriz llena de símbolos\n", "a, b, c, d = symbols('a b c d')\n", "A = Matrix([\n", " [a, b],\n", " [c, d]\n", " ])\n", "A" ] }, { "cell_type": "code", "execution_count": 73, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\begin{Bmatrix}\\frac{a}{2} + \\frac{d}{2} - \\frac{1}{2} \\sqrt{a^{2} - 2 a d + 4 b c + d^{2}} : 1, & \\frac{a}{2} + \\frac{d}{2} + \\frac{1}{2} \\sqrt{a^{2} - 2 a d + 4 b c + d^{2}} : 1\\end{Bmatrix}$$" ], "text/plain": [ "⎧ _________________________ _________________________\n", "⎪ ╱ 2 2 ╱ 2 2 \n", "⎨a d ╲╱ a - 2⋅a⋅d + 4⋅b⋅c + d a d ╲╱ a - 2⋅a⋅d + 4⋅b⋅c + d \n", "⎪─ + ─ - ────────────────────────────: 1, ─ + ─ + ────────────────────────────\n", "⎩2 2 2 2 2 2 \n", "\n", " ⎫\n", " ⎪\n", " ⎬\n", ": 1⎪\n", " ⎭" ] }, "execution_count": 73, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#sacamos autovalores\n", "A.eigenvals()" ] }, { "cell_type": "code", "execution_count": 74, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/latex": [ "$$\\left[\\begin{matrix}\\frac{1}{a} + \\frac{b c}{a^{2} \\left(d - \\frac{b c}{a}\\right)} & - \\frac{b}{a \\left(d - \\frac{b c}{a}\\right)}\\\\- \\frac{c}{a \\left(d - \\frac{b c}{a}\\right)} & \\frac{1}{d - \\frac{b c}{a}}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡1 b⋅c -b ⎤\n", "⎢─ + ──────────── ───────────⎥\n", "⎢a 2 ⎛ b⋅c⎞ ⎛ b⋅c⎞⎥\n", "⎢ a ⋅⎜d - ───⎟ a⋅⎜d - ───⎟⎥\n", "⎢ ⎝ a ⎠ ⎝ a ⎠⎥\n", "⎢ ⎥\n", "⎢ -c 1 ⎥\n", "⎢ ─────────── ─────── ⎥\n", "⎢ ⎛ b⋅c⎞ b⋅c ⎥\n", "⎢ a⋅⎜d - ───⎟ d - ─── ⎥\n", "⎣ ⎝ a ⎠ a ⎦" ] }, "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#inversa\n", "A.inv()" ] }, { "cell_type": "code", "execution_count": 75, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAKMAAAAzBAMAAAAJJKXwAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMA74lUMhAiq3bdRLtm\nmc0lg57xAAADxklEQVRYCe2XTUhUURTHzzx9iqOOUhGUlUNEGGQMSBG0UMiCNjkuqkXIzE5aJbVx\nETGEUARBH/SxtGhXkC1aWrMsKHBRtBBsIMJa+BBNFyJM59xzzn3vvhlDHXd1F+/de/7n/N6d+4Y5\n/wGwo3sya+c1TTrLC1zv5RtLPKvh6pXL7bC9/xQjmvL1yzXAuNTvP9kOOxSTGG9Y0XkN9/oIEqBu\nyUVd3OWu7apCkEDy9RS4yKaCLeLJbGxtlxWCBNoyMWS3lPh5mSxaRmxihfNu5qusi2yZEr2uwJNk\n7CBEBgiF427mIXCRz+A5JyjSu2sh7iQUBKmBuRA53HUmW/+9542LTI3eyQDsv9UXATZcGXsILFBU\nkCaAEh6IvJ7kTngHiXJ5nmt1l7kfsAyXMqkSh831ab55HoxgloI0AZTwpAQ5WITpSJkie7OwANug\nEbeqw98DrRNgBBMSJAVIKlnktyw80SK8K3IG/IVW9xXhEr9qJHC+ICWzKW2RHeD/VqQXBL/2BcEU\nrucguZiYUMHccZnrMwIujwTBvSDAV6KZuXFF4iPr5n1TYi66y1VoXcqlwzjOcNkLWRI4LLuUTJTk\nLP1FaC4dC0sVuQKDxbYiQOQscxl4W5cnwUFSgCV9PT/hw0iac+iqyGswCa0jMNQXSqlCy2MPSOAh\nu6QAS4q8cOP06HhYp8ihm0X8Wn4shAr4oweGb4MRTFSQFGBJkZEamioyFq62FGREku9lJELTZDEW\nWHv5skKqjqxI20jgP3Ijp/X33C09S2/6Cz5tS5EH4fpWIx/BQH6Ld7kbLo+vE/liL34eHRWuQARy\nBfRrv86ztF2bymcVHrujKzCtofrr0X4vRWHXpoDDj2SiK/Bwo2vsMvbzok3aPMHlRzLRFXyijOq7\njCRSUooersPhaxsnERtVOtlnkabfg9c1xoUWSa5guGsAT8kO1y5opnEFZ3tOZC3S9PuGBxC4SHIF\n5Bow0Q7XLijSuILOchnT+INzv0+k4SpXaiK5AuxbM5aHEzIBoV2QTHEFJo+R3O/RH8iQRNNYMXpf\n43R37UKYSa7ADEYmTL/v4FDY7zEMgK7BsdsRu+Bkkiswg5Gm358TS4JxeTaGyag4rgFcuxBmkiuI\nIk2/X8XWyFFJJFdwNOYawLULijSAKJKb+lfwPztI4wpirsG4gtAuCFJcganmD85N3Tv8non6wY0r\niLkGdgXWLghSXEEEKSR7k0S7XntSJZN3GS+p7PfxDF1XyayO1IJN3f9lpP3zvKmTixeZP8/2L35c\n3dSa/uL/AbUnIQ4mI31BAAAAAElFTkSuQmCC\n", "text/latex": [ "$$\\left[\\begin{matrix}a^{2} + b c & a b + b d\\\\a c + c d & b c + d^{2}\\end{matrix}\\right]$$" ], "text/plain": [ "⎡ 2 ⎤\n", "⎢a + b⋅c a⋅b + b⋅d⎥\n", "⎢ ⎥\n", "⎢ 2 ⎥\n", "⎣a⋅c + c⋅d b⋅c + d ⎦" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "#elevamos al cuadrado la matriz\n", "A ** 2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "_ Esto ha sido un rápido recorrido por algunas de las posibilidades que ofrece SymPy . El cálculo simbólico es un terreno díficil y este joven paquete avanza a pasos agigantados gracias a un grupo de desarrolladores siempre dispuestos a mejorar y escuchar sugerencias. Sus posibilidades no acaban aquí. En la siguiente clase presentaremos el paquete `mechanics`, pero además cuenta con herramientas para geometría, mecánica cuántica, teoría de números, combinatoria... Puedes echar un ojo [aquí](http://docs.sympy.org/latest/modules/index.html). _" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "\n", "Clase en vídeo, parte del [Curso de Python para científicos e ingenieros](http://cacheme.org/curso-online-python-cientifico-ingenieros/) grabado en la Escuela Politécnica Superior de la Universidad de Alicante." ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", " \n", " " ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import YouTubeVideo\n", "\n", "YouTubeVideo(\"OGQRcYVys1Q\", width=560, height=315, list=\"PLGBbVX_WvN7as_DnOGcpkSsUyXB1G_wqb\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Si te ha gustado esta clase:\n", "\n", "Tweet\n", "\n", "\n", "---" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "####

¡Síguenos en Twitter!" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "###### Follow @AeroPython " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### \"Licencia
Curso AeroPython por Juan Luis Cano Rodriguez y Alejandro Sáez Mollejo se distribuye bajo una Licencia Creative Commons Atribución 4.0 Internacional." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "##### " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "---\n", "_Las siguientes celdas contienen configuración del Notebook_\n", "\n", "_Para visualizar y utlizar los enlaces a Twitter el notebook debe ejecutarse como [seguro](http://ipython.org/ipython-doc/dev/notebook/security.html)_\n", "\n", " File > Trusted Notebook" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "Follow @AeroPython\n", "" ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%html\n", "Follow @AeroPython\n", "" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "El estilo se ha aplicado =)\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Esta celda da el estilo al notebook\n", "from IPython.core.display import HTML\n", "css_file = '../static/styles/style.css'\n", "HTML(open(css_file, \"r\").read())" ] } ], "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 }