Skip to content

Instantly share code, notes, and snippets.

@drvinceknight
Created November 16, 2016 08:37
Show Gist options
  • Save drvinceknight/d160303e7d85c08280a39c9cae09d8f2 to your computer and use it in GitHub Desktop.
Save drvinceknight/d160303e7d85c08280a39c9cae09d8f2 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Lab sheet 07: Symbolic calculus"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q1: Limits"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import sympy as sym # Importing the library\n",
"sym.init_printing() # Pretty print"
]
},
{
"cell_type": "code",
"execution_count": 35,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABoAAAAOBAMAAADDIxFwAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAoklEQVQIHWNgEDIxZQCBPIGgAgaGdAaJCSDe\n+v+fGRhYFjAwJwA5DMnngILcBxjYP4J4B0AE/wEG3u8gxgEQIa/AwPsPxDjip8rAMN+AgRWonYFh\nI8P8CwzzFaA8oBENCJUMDEw/Qaawg0zhSWBg/svAvYGBBWQDVwID00eQ7UwJQB4TAwMHkG5nkApg\n/MbAqcDgBXSM8LujDAw9DAyTbBQZAHJpJhsPt5MdAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0.5$$"
],
"text/plain": [
"0.5"
]
},
"execution_count": 35,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def f(x): # Writing a simple function\n",
" return 1 / x\n",
"f(2) # Evaluating the function"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAAqBAMAAAB1rqf/AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiRInd\nuzLEnmxuAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAXUlEQVQYGWNggAFGZRDLJOQzWICNGhSr03cP\nmPGk0//BgHR92HWYpczKTmBg3sBxjKeAgduA+zPjBAZmBvYLYNX8CWDq/QMgxWiQz8BmwLBe4D7D\nDGB4pJlFNDAAAN1MIGxCExJiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{1}{x}$$"
],
"text/plain": [
"1\n",
"─\n",
"x"
]
},
"execution_count": 36,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x = sym.symbols('x')\n",
"f(x) # Evaluating the function of a symbolic variable"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 37,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, -sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, +sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 40,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAALBAMAAABv+6sJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEKvvZom7mXYyzVQi\n3UQ6SGZXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaklEQVQIHWNgYBBgAAIQwaj82YGBIayogYGB\nbQLHLwapDQxTGRg8GRj2J6xkYGA5wACUYP0LJBgcQEyGfBDRAGYm/wNqd2BwZGDgiDE+wMBxgIGd\ngSGcYb4dgytQolxtAwNjvXEAUDncNgBJUBUwaYAbUgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\infty$$"
],
"text/plain": [
"∞"
]
},
"execution_count": 40,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, 0) # The default direction of approach is positive."
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAALBAMAAABv+6sJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEKvvZom7mXYyzVQi\n3UQ6SGZXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaklEQVQIHWNgYBBgAAIQwaj82YGBIayogYGB\nbQLHLwapDQxTGRg8GRj2J6xkYGA5wACUYP0LJBgcQEyGfBDRAGYm/wNqd2BwZGDgiDE+wMBxgIGd\ngSGcYb4dgytQolxtAwNjvXEAUDncNgBJUBUwaYAbUgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\infty$$"
],
"text/plain": [
"∞"
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, 0, dir=\"+\")"
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAALBAMAAAAHCCkxAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMqvvZom7mXZU\nIkRJD0iWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfklEQVQIHWNggAMBEAtMQIUYw74VMDB0Lt0A\nV8LA6cD9iUHoAIMHQqiEgeH8BBUGBvYLDELGIKDCANTA8RmkC6gdCkC8+SAChCEAxJr2j4GBsQAm\nwlDIwMDdm3aBgfsCXIiLgaGLwT+PoQIuwsC4KvIAA+P6tAaEENThAgwMAMSLGqu/gFQwAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$-\\infty$$"
],
"text/plain": [
"-∞"
]
},
"execution_count": 42,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, 0, dir=\"-\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"A different function:"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def g(x):\n",
" return 1 / (x ** 2)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 44,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(g(x), x, sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(g(x), x, -sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAOBAMAAADkjZCYAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJZjLNVN0i77ur\nRHZ72Yd1AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAVElEQVQIHWNgEDIxZWBgSGeQmMDAsoCBOYGB\n+wAD+0cG/gMMvN8Z5BUYeP8xzDdgYP3MMF8BREJEgLLs3xm4NzCwfATpYkpgYGhnkApgYBB+d5QB\nAPogE3QldevOAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$0$$"
],
"text/plain": [
"0"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(g(x), x, +sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAALBAMAAABv+6sJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEKvvZom7mXYyzVQi\n3UQ6SGZXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaklEQVQIHWNgYBBgAAIQwaj82YGBIayogYGB\nbQLHLwapDQxTGRg8GRj2J6xkYGA5wACUYP0LJBgcQEyGfBDRAGYm/wNqd2BwZGDgiDE+wMBxgIGd\ngSGcYb4dgytQolxtAwNjvXEAUDncNgBJUBUwaYAbUgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\infty$$"
],
"text/plain": [
"∞"
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(g(x), x, 0, dir=\"+\")"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAABMAAAALBAMAAABv+6sJAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEKvvZom7mXYyzVQi\n3UQ6SGZXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAaklEQVQIHWNgYBBgAAIQwaj82YGBIayogYGB\nbQLHLwapDQxTGRg8GRj2J6xkYGA5wACUYP0LJBgcQEyGfBDRAGYm/wNqd2BwZGDgiDE+wMBxgIGd\ngSGcYb4dgytQolxtAwNjvXEAUDncNgBJUBUwaYAbUgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\infty$$"
],
"text/plain": [
"∞"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(g(x), x, 0, dir=\"-\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q2 Differentiation"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACcAAAAqBAMAAADCE1/YAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMlTvq5l2ZiJE\nibtxnypmAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAo0lEQVQoFWNgIAhYEzGViLd/xBRk4Bxughxl\nn6qw+HPwCgkZg4AKA/9/OPhAvmt5+xoxNd9mKMIUtGbw34AhasOw/wCGIANDvAAWQUssYrwNWARX\noIgxzqw+eZOB5wKPA5KwLMPiCUYMTqFxyBZdZLgvEM2Q//8/kkIGAQY9ZC6M/RPGQKJZviBxoMxA\nzg8ME9GEeb7yfeBegCbIWDlxxiqoGAAnPzT4q3C2QQAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$- \\frac{1}{x^{2}}$$"
],
"text/plain": [
"-1 \n",
"───\n",
" 2\n",
" x "
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(f(x), x)"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEoAAAAUBAMAAADYerbFAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnZUZrtE7yKJ\nmatywa77AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQUlEQVQoFWNgwAm4CyBS7BvQlXgFIER2wJiv\nYQwY7X8AxmJg0IYxhWAMLDT7BZggD5IFMDEYzQx3DuMCmBiU3uIAF9gMZzFoIpgMrulB3P0PWLSu\nhD4FicYCsWjczhigdWcRqhgbGJgZmB4wMLcy7AdZ1s7AwHiA3ZRZgYGhCKGKcyEDKwPHAwaOBQz8\nBUBhMwYGHgGej2xAHckMQsYgoAIUtm/dAFalwMAPtIVhJdAsBqYGIIvBH0RAgYz+X7CqBrgqBggL\nWRW3AEP9BJCNUFVAG4GmOIDIySACAtgCGPgKkFQBXc8mEM/AKoDieraFDBwbgAbBzAJ6f35CP8N2\noBl3YCYxMHAeDz/J8v6fyPt/bv3rgMJAa+RCRa+DvAvyGw6AiCFuAxxKgMLExTZDN8wEfCmHAZ4K\n4cph2pBppBQNAKW2Q7c+KCqVAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$- \\sin{\\left (x \\right )}$$"
],
"text/plain": [
"-sin(x)"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.cos(x), x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"All the below are the same way of calculating the second derivative:"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAUBAMAAADVZMaCAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMpmJVCLvRHZm\nq7uO4j1RAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABUElEQVQoFWNgwA04DkDkeBpwqwHK9MFkb8AY\nWGkNmKgQjIGN5gmAibJtgLGw0MwNMEHGCTAWFroZIaaFYDIwhqUWMIjtzmJg2X5aASi+FYil93Zt\nA9qYiqSss4BlBosFA98GOQYGA6D4GwYGxgQea2YFBoZDSMqUGNi/MCcwsHxZKcAAcrM5AwObANtH\n9gYGhmIGIWMQUAHq/AqU8i9gYPjG/G8HkMkwCyjGwPQAxPQHERDA9RtI1y9gYPjHmPQ/AMgGKmNg\n4AeZi6wMbtrXRgaeX0A5oKVABQ4gcjGIgAIlBgZ2zgAGrl/VDAx3gGJAL7AL7GfgFkD1QucBhgyW\nKQxMCZUCDC+AyoChsL7gPUMPkBkGNQlEMV7d1sDQmnaLYdnpYwuAfKBNsrulYw4AmUAf4gSIyOIw\nwKmIgYHIqAc7EGwM3oSESJYgD+EGSIkcAA40SKO+F5TiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$- \\cos{\\left (x \\right )}$$"
],
"text/plain": [
"-cos(x)"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.diff(sym.cos(x), x), x)"
]
},
{
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAUBAMAAADVZMaCAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMpmJVCLvRHZm\nq7uO4j1RAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABUElEQVQoFWNgwA04DkDkeBpwqwHK9MFkb8AY\nWGkNmKgQjIGN5gmAibJtgLGw0MwNMEHGCTAWFroZIaaFYDIwhqUWMIjtzmJg2X5aASi+FYil93Zt\nA9qYiqSss4BlBosFA98GOQYGA6D4GwYGxgQea2YFBoZDSMqUGNi/MCcwsHxZKcAAcrM5AwObANtH\n9gYGhmIGIWMQUAHq/AqU8i9gYPjG/G8HkMkwCyjGwPQAxPQHERDA9RtI1y9gYPjHmPQ/AMgGKmNg\n4AeZi6wMbtrXRgaeX0A5oKVABQ4gcjGIgAIlBgZ2zgAGrl/VDAx3gGJAL7AL7GfgFkD1QucBhgyW\nKQxMCZUCDC+AyoChsL7gPUMPkBkGNQlEMV7d1sDQmnaLYdnpYwuAfKBNsrulYw4AmUAf4gSIyOIw\nwKmIgYHIqAc7EGwM3oSESJYgD+EGSIkcAA40SKO+F5TiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$- \\cos{\\left (x \\right )}$$"
],
"text/plain": [
"-cos(x)"
]
},
"execution_count": 52,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.cos(x), x, x)"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEwAAAAUBAMAAADVZMaCAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMpmJVCLvRHZm\nq7uO4j1RAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABUElEQVQoFWNgwA04DkDkeBpwqwHK9MFkb8AY\nWGkNmKgQjIGN5gmAibJtgLGw0MwNMEHGCTAWFroZIaaFYDIwhqUWMIjtzmJg2X5aASi+FYil93Zt\nA9qYiqSss4BlBosFA98GOQYGA6D4GwYGxgQea2YFBoZDSMqUGNi/MCcwsHxZKcAAcrM5AwObANtH\n9gYGhmIGIWMQUAHq/AqU8i9gYPjG/G8HkMkwCyjGwPQAxPQHERDA9RtI1y9gYPjHmPQ/AMgGKmNg\n4AeZi6wMbtrXRgaeX0A5oKVABQ4gcjGIgAIlBgZ2zgAGrl/VDAx3gGJAL7AL7GfgFkD1QucBhgyW\nKQxMCZUCDC+AyoChsL7gPUMPkBkGNQlEMV7d1sDQmnaLYdnpYwuAfKBNsrulYw4AmUAf4gSIyOIw\nwKmIgYHIqAc7EGwM3oSESJYgD+EGSIkcAA40SKO+F5TiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$- \\cos{\\left (x \\right )}$$"
],
"text/plain": [
"-cos(x)"
]
},
"execution_count": 53,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.cos(x), x, 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Multiple variables:"
]
},
{
"cell_type": "code",
"execution_count": 54,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"y = sym.symbols('y')"
]
},
{
"cell_type": "code",
"execution_count": 55,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAIUAAAAUBAMAAABRzuPpAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMnZUZrtE7yKJ\nmatywa77AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACTklEQVQ4EY1UP2gTURz+LndJLj2bHuIgUuQG\nB1HQoCCCg0Wsg0O9CtFBonUQRZeAFAcVg1AUCzYgLiI0HRwclBNFg4tVCOIghtLBzQgWB4dm8F/9\nk/i9e/fucuREf5Dc9/u+7/fx3su7AH+tJ4FyPtFhlSXdpxp3Ir9VCXDeU+R+VyGg3qcGhPErMqXU\nqOYo8sC8QsDmAGpOxPWhiyHTCFEEsk2Fk1Sl7VIA60IUAV2tsk+19oYuqxDCVDWAj0ZC7mGIQpWM\ncWjSqXew597oUZdtugloxU83udRVhBg9edCaaRmbFotLYrxEteTiqS1VQbHWAgVsAXa61k+2ZhkY\nxll3G5B1OFCBjlQL+hSeeZSvMDpTwzGpkvDrlg0X14FrwDcS+gTwHG/sM0CmAOTmkIbZglnDENOx\nA3g86OCqr67eLmoDh74fgci4DHyhaaAK2NhIBKPNr91Tnp/hYMhle5fqgCucvipsLO1FtykyGK0y\nJJKu4a2//YxKmIFZ2/gcz3iA7EpPhj7BXOHhPgqAZeNSVewlyOBesIB0Taps/DoBfOzJEGd6PN3G\nuDy1jIt8uSeDZ0ozCf/EZQJw2sa02EiwF/6gua9mW7xag/M8uTmYHheh1vGaY28xG6gq4/bkhepY\n9/1Y98OpHy1/idrSeOkc5dQI25eHXxnLnTXLnX0z98nd4Gd9450nVTaJFd316E5GRnnXF0gkqcr3\nz3cu72grNDfUQMLT5Dr90hz5jH9PQy+bLq+EE+djnVUJ2jAsJteRKy6SSVaV9b//C/8Av1SVKKzl\nmOsAAAAASUVORK5CYII=\n",
"text/latex": [
"$$- \\sin{\\left (x \\right )} \\sin{\\left (y \\right )}$$"
],
"text/plain": [
"-sin(x)⋅sin(y)"
]
},
"execution_count": 55,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.cos(x) * sym.sin(y), x) # Diff with respect to x"
]
},
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAHcAAAAUBAMAAABFd79NAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEJmJVCLvMs1Edmar\n3bti/yyrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACV0lEQVQ4EY1UTWgTQRT+ttnNbn42LhZEStCF\nKBYFDS0FGz3syYMiXUUCIpZUFBEvORUUpAsi1pMBxZtkaRQkCg0VQXpRBA/iJaC9eDGXXqr4U4VS\nD9Vvkuzs1kRwYHe+73vvzXvzdmaBnnGmq6TcHpMQtEZHftbPqrUC9XUANs2TXZbut7Yhxe2bggJy\nowsUL1Ai84LEMV/CEKTsABcCEJmXJFZKEobAlIVtC8UAac0AAbdCKNFZiYwKsHV0F5RCrYKrxx7R\nkLT5GnpyuuYDI4RKbsTBYH0c+oNFj3yO0pyPooWYDe08pt1rLlaUFkwaMw1a86kPJj2fkxcd/YK+\nhIy/AxBFfQJiagnzQMqD4WGi/A6YuTKFJI2mQ6sV+666wHHyWahrZh762j0LPvl74NSAhy+A2sRO\nG9B/AlvyH1foj3iFmWG0CDFDuCpmB/hhbjwU2iXAivv4xahvqPpcY53BrcHbwlEEk1FtByfohQlq\nG8rB3zYxg1G19LV2sMy828ILOomyGVYW7/uRzKsnkGIOUTaGkSwBiabYM5xzXO2uj3Sj0zDVmkfS\n6jRsloXFbSTWjwJvGciG4TMyL9sN0y4j5k6XcV2dQsZls2wu5HyFuB45PsUGxvSLMPJHLCyTi8+3\nH1WmGcgD2b1j0HKHK4lDj8dpYDHI1of20YqbfJRXNRcnR9/gzuLTCjm3gmzhgAsYZcK/Rng8o4dN\nOnWO5zB5eNakEQsS/utipD1FtK7fxRAb74z+V3IZZiPjcz9e1y06aa2Aif70jkkk6nsoh0miPv//\nG/oDzE2JJftJp6QAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\cos{\\left (x \\right )} \\cos{\\left (y \\right )}$$"
],
"text/plain": [
"cos(x)⋅cos(y)"
]
},
"execution_count": 56,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
" sym.diff(sym.cos(x) * sym.sin(y), y) # Diff with respect to y"
]
},
{
"cell_type": "code",
"execution_count": 57,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"g = sym.Function('g') # We create g as a generic function"
]
},
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEgAAAAvBAMAAACyMpGWAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMrvvmVREEIndzSJ2\nZqtw62vAAAAACXBIWXMAAA7EAAAOxAGVKw4bAAACG0lEQVQ4EYVUT0gUURj/uTo7s66be+6yC3VK\nyk7dpKWLHgoWISI6KHQKAucoIe0mQkpCXfKgEirSpcvSIehQTrClgtQevChEd93ADsscDLbvvTff\nPHPezHyH9/3e9/u9Pzvv2x/A4dwaZRifX+AonmRmBaUG49i8hK3JWFITE67GJtRzqQKsmpiztcEq\nHNIlx5SL/WQFsQvI1rPFFNkmLt4dT7x4fuxLBze73cSNHjYyfqKASHsEfWtpoj4fuXqaqLeM2mSa\nqFbHRJoGtSquWGkd0O8V3jhpW9ntZ5+/RUT5lioVks54z8uOGRjyO649YRDNhQrXHI9RJOfCq9jX\nIyQXPjIA3mqokXX7axlNms98/7DjAXOa0mgWWxVcpYevF1Zza8ChpkJk+aCOfw04ruOLl7iP7rkA\n6L3pb3qDdkJ/WSwthes1KLWwCyECBj0xmkS/GrgMcRzRRTE+EkMYyliobToQF7fcHxhwz19cGUut\nceFU/u6p6jA+0Q5j4S4CKGPJtudfyTOe7s3caVF5XXDSCARgY8lUAP0seVpCQZ8lCGEsRdnxkQcm\nIwiCjMXxcU3MhrgWtMoCz4WxWL+bcuOw6QL1JovOGst/7SuNwN47fryYYCzSCKZx4C3HG4sygud4\n6T6INxZlBC42+F6mzEbw10RyLTCCnj9cMGVlBPcGTrBtolVNGkG2kznh72KSSiOw29vNnyZW1f4B\nBc+T+DYRbNEAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\frac{d^{2}}{d x^{2}} g{\\left (x \\right )}$$"
],
"text/plain": [
" 2 \n",
" d \n",
"───(g(x))\n",
" 2 \n",
"dx "
]
},
"execution_count": 58,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(g(x), x, 2)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Here is a more complicated function:"
]
},
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\ngg==\n",
"text/latex": [
"$$\\frac{1}{\\left(e^{x} - \\cos{\\left (x \\right )}\\right)^{2}} \\left(- \\frac{2 \\left(e^{x} + \\sin{\\left (x \\right )}\\right)^{2}}{e^{x} - \\cos{\\left (x \\right )}} + e^{x} + \\cos{\\left (x \\right )}\\right)$$"
],
"text/plain": [
" 2 \n",
" ⎛ x ⎞ \n",
" 2⋅⎝ℯ + sin(x)⎠ x \n",
"- ──────────────── + ℯ + cos(x)\n",
" x \n",
" ℯ - cos(x) \n",
"────────────────────────────────\n",
" 2 \n",
" ⎛ x ⎞ \n",
" ⎝ℯ - cos(x)⎠ "
]
},
"execution_count": 59,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(1 / (sym.cos(x) - sym.exp(x)), x, x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q3 Integration"
]
},
{
"cell_type": "code",
"execution_count": 62,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAADgAAAAUBAMAAAAqxuNgAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMqvNiRDvuyJ2RN1U\nmWaBK2/dAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABSklEQVQoFWNgQAccDyAifA0MDEImaLLtML4G\nAwNrEowDpS1g/GAgowjGgdB8F2B8lgkYktwNMEnWBAzJbpgcA4MVWDJkphcDwyLfl9OBEnOBOHJS\n1xSgmb4gScYdDOwTuL4y7OMEStQB3ejAt5PbgIHhMUiS24GB8SPTBgZtkIl7GBhYAli+8jQwMJwG\nScofYGD4wpsAkcwC6mRgLgCpkwdJnl/AwPCd4yNrDkgEKMnAwA+0ESoJ0vmXY8oUAZAI0FigMJi5\nGqST7QID1y+eBSBRsIN4AuYzcAaAHVTOwJjIwOzAZSXYAJIEun/9gXqGPiDzCoPQfw2GXhctBgb7\n/98uAEWAZgXNjLz3AMg0BGIIYD/A2rMTyEQEH8cGmBzDcSDrORCjBjxUOhrowBoQuwIqwACKMihg\ndZnpC5RnYIBHNlwVTAmQRkomAPJISik0ozTBAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\log{\\left (x \\right )}$$"
],
"text/plain": [
"log(x)"
]
},
"execution_count": 62,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.integrate(f(x), x) # An indefinite integral"
]
},
{
"cell_type": "code",
"execution_count": 61,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAoAAAAPBAMAAAAv0UM9AAAALVBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADAOrOgAAAADnRSTlMAMpndu3bvImbNiRBUq9OB\nhjcAAAAJcEhZcwAADsQAAA7EAZUrDhsAAABESURBVAgdY2BgYBACYgYGExDBmgIiK6aAyAUgkqMA\nRG5lAJELQCSPAIjcxQAiz969++wqUIIBrIvhCYi55N0NEMXAAABbkhBrtxdTYQAAAABJRU5ErkJg\ngg==\n",
"text/latex": [
"$$4$$"
],
"text/plain": [
"4"
]
},
"execution_count": 61,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.integrate(f(x), (x, sym.exp(1), sym.exp(5))) # A definite integral"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Verifying the fundamental theorem of calculus, for a particular function:"
]
},
{
"cell_type": "code",
"execution_count": 63,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAAwAAAAqBAMAAAB1rqf/AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiRInd\nuzLEnmxuAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAXUlEQVQYGWNggAFGZRDLJOQzWICNGhSr03cP\nmPGk0//BgHR92HWYpczKTmBg3sBxjKeAgduA+zPjBAZmBvYLYNX8CWDq/QMgxWiQz8BmwLBe4D7D\nDGB4pJlFNDAAAN1MIGxCExJiAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{1}{x}$$"
],
"text/plain": [
"1\n",
"─\n",
"x"
]
},
"execution_count": 63,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.integrate(sym.diff(f(x), x), x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"for a generic function:"
]
},
{
"cell_type": "code",
"execution_count": 64,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 64,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"g = sym.Function('g')\n",
"sym.integrate(sym.diff(g(x), x), x) == g(x)"
]
},
{
"cell_type": "code",
"execution_count": 65,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 65,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(sym.integrate(g(x), x), x) == g(x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Let us integrate a more complicated function:"
]
},
{
"cell_type": "code",
"execution_count": 67,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAWIAAAAqBAMAAAB7Dkz8AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMlTvq5l2ZiK7\niUTiBfEGAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE00lEQVRYCe1YXWgcVRT+Znc2ye5s1qVC+lAL\ny1bog7ZZ6h9ai4MWo/iQSkEUi8b/+qJbK6INmnkQU8TC9kFM0GDQF2MVVkSotdBFrIs2D2sRzD7E\nLiqKD5JE++NPm/Hce2dm750dm9l050HYC5k557v3fPebc++dORvg/9zuyUamPvFQBNTa82ORKV47\nvhSBYuDtyBQj2VUslqybY2nrdneFk4zurujuCikD3V3Rmoxo3hXjT2+cbp0LMFrRI864Q0Hj0Yr2\nPff7vsCh7XKnygE0Q5t84FHu6082YaPi2L1BBAhGKUR/ptYk4Vbb3KM+AuZqT/jAq7ivX2jCMVeo\nlmuCwmJFmpYTdut1oOjD2uJmteUaHwF3qyqYslSfvPc8pO5ZwhBFmosmSr7utE9xKO77BImoLfv9\nlKzTpzhe9k0LbPWQAc9yDH7EXHRFxaG4HcWittRG/DOS71P8sRhibPeGGgXPjDU8UxhcsYuuqDgU\nt6IYm30TMpcUr5/8HvhlbuYtcifoxLw+kzt6DrfuvvMNtihJi/bq5OivtPj9ZCqNK3bRIMVafaqB\nzIuvTlYoLhS3qnhOmU44VehbkS5llnBTkpCvgSuAAjYCN5eMfwhJT9Mz4d3SFiCVI19uXLGLBim+\nrYyvsJCNT7NnD8WtKn5Hns2xq4jXoJ/uLWAvQ64Dfs6ixFL/JfA3IfEdwDc4lb0fSDQ3iIjmil00\nSPE2YNjcC2IPy60q3ok117B2JWCztkg0VQyTpAt9I0LxUyTx/Jt8s3wO/EUDehpAFleTBZ0FaBsY\nxRaTAVwxR/vz+Q0P5/NFAi/j3GSki/oZcmuvOIpX5j6Zz1+fz9P6UuO15TA31UsVDzaA88Zp7THW\nQazaSdtiOZ5tKhaWUCyHNxUTGpDjxDIprhwzBygpIbnVHAcrZjn+05iaMhkr7YqPkFqWFLNdQduG\ndWYK7Co1rthFAxTzHFuf1r/lMaG4VcU/SpO5ZhU9FjLLiYYA6HRQzD5JMTt5dycXcXA1J283sNB4\nwJkrFLeqOOjkzUJ/FLFaZvP2MiOm1wl9Hk+wLeHsCnp5Zc6kFw0S3ldz5nZvPMcu2prjCm43sQk/\n/HQXDwjFrSo+4M7UvA/Zozg8/xIwaJ+1CKZl+G3mw8aQvWfIfnbX2SLfCtoLByfep86YSRepiSIt\nZgrIr1gfO1c2DnzXQMy2KdchuV3Forakd4TXDr/2hWeTkd6hfXIj3eM803KP9JV2PlpKL+CinmJj\n/6wpjzmOdTtLBITidhVzAul7C62IUw2JdhfZH9BfypJAYf53JST6606E5j7sWvTTO8JriQrR0l84\n7nVeHBlyJdSbRc+I1Hm5CRxn/gkJFGbaVaLlWvoI0HJ0Udoe4HEJ0K5lS8iAtrnlarOngF7+xnKo\ntfnJOZPZoup2UH7zKnpPutyLVvQRYMyUxqyvT73M3ba55UeMLamKvQnYO8HXjjj+IR8u3FZ0MKsq\n9sLa5U65q+swxKP5DyRnvyXryeygsVDrIJlKlZF+dKk9l+TdcEnRFw2OFy/avcrOPmuVgSHC9ocY\n0/6QifZDwkawny2dbwkLn3WeVTDeC8N3yjsx0x0AFe6RNN1CsvOKjW3z44VI9FKhMT/Hf4F1lp7q\nKTsqxYO2/Uen1P4LuNaWoBQpVlkAAAAASUVORK5CYII=\n",
"text/latex": [
"$$- \\frac{1}{2} \\log{\\left (\\sin{\\left (x \\right )} - 1 \\right )} + \\frac{1}{2} \\log{\\left (\\sin{\\left (x \\right )} + 1 \\right )}$$"
],
"text/plain": [
" log(sin(x) - 1) log(sin(x) + 1)\n",
"- ─────────────── + ───────────────\n",
" 2 2 "
]
},
"execution_count": 67,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.integrate(f(sym.cos(x)), x)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q4 Plotting"
]
},
{
"cell_type": "code",
"execution_count": 69,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"%matplotlib inline \n",
"# We need to tell Jupyter to display plots"
]
},
{
"cell_type": "code",
"execution_count": 70,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\ncRERD/v/EWDmG68tOqUAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0afa759e8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x7fb0afa75908>"
]
},
"execution_count": 70,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.plot(f(x), (x, -1, 1))"
]
},
{
"cell_type": "code",
"execution_count": 71,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a5616240>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x7fb0a5616320>"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.plot(f(x), (x, -1, 1), ylim=(-10, 10))"
]
},
{
"cell_type": "code",
"execution_count": 72,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\ng5MhAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a55feb00>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x7fb0a55fe080>"
]
},
"execution_count": 72,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.plot(f(x), (x, -1, 1), ylim=(-10, 10), xlabel=None, ylabel=\"$1/x$\")"
]
},
{
"cell_type": "code",
"execution_count": 73,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a55456a0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"p1 = sym.plot(f(x), (x, -1, 1), show=False)\n",
"p2 = sym.plot(x, (x, -1, 1), show=False, line_color=\"red\")\n",
"p1.extend(p2)\n",
"p1.ylim = (-10, 10)\n",
"p1.xlabel = None # Try using strings here\n",
"p1.ylabel = None\n",
"p1.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Saving the file:"
]
},
{
"cell_type": "code",
"execution_count": 74,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n+QAUngAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a55610f0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"p1.save(\"my_plot.pdf\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q5 Worked example"
]
},
{
"cell_type": "code",
"execution_count": 75,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a5489dd8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x7fb0a5489e10>"
]
},
"execution_count": 75,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def f(x):\n",
" return -x ** 4 + 9 * x ** 2 + 4 * x - 12\n",
"sym.plot(f(x), (x, -20, 20) , ylim=(-20, 20))"
]
},
{
"cell_type": "code",
"execution_count": 76,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAAVBAMAAAAqQdQ7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZpkQ3Ynvq81UMrtE\nInZCK3CHAAAACXBIWXMAAA7EAAAOxAGVKw4bAAABYElEQVQoFY2TMUvDUBDH/21MY8BC/QbVpUOX\nDM4SpEUnFaSTg5kcVFD8AgZRumbqHLr6DVzMlNVScHTRWarUQRyM9+69l7zWQL3hvf/d/bhc7hIA\nlTUstOGrQKzuQpCANKaj8m6g4/a94bGs9w4joBqSYwcc4cO6wFGi3IEnxRjuB1E+eSbqeKgFTFiX\nVwqdRPhUlInWfDjfjAIThaaJ9VWCLk//opANiIeZVcldms5VBTb2FeWEKievR4qz6QbwtEWt8JwG\nscrJa1t7OQr7jGLXwN0J3dZNh2wnpvk1yWUrUBxTWWdX7UHn8ZIrjT4DDxHQp8RMr24TlGLTaOYJ\nlHvlPag0hsDbHHoK7I3knMxh1bu9li8mTkZVWa3C/SlbQZZlPjr0Fmid9xusVtbbSQkqqtF2RvI2\nFT/bbEAitiZhqICCM98rQ5s5WqhqKIK3eUaJRh4oVJqIoPuff+sA+AVnKVS7/BL+hAAAAABJRU5E\nrkJggg==\n",
"text/latex": [
"$$\\left\\{-2, 1, 3\\right\\}$$"
],
"text/plain": [
"{-2, 1, 3}"
]
},
"execution_count": 76,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.solveset(f(x), x)"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAOEAAAAbBAMAAAB4lPU2AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMiJmu5l2VO9E\niat+9JXfAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADBUlEQVRIDb1VPWhTURT+XtKXNH/to1sRa4iK\ni0NROlSsFCe3BsSfQTEoFccM6iAF42JdLO0gtINaERFcWp0LBlx0akQERUqLUEFcGtHBLvHcc+97\n757rq91yIS/n++6535d73uEE6OYqTd/pph15fcTXLjuOYKLaXcvjuNTsriOwFHTbcbTbhqWGdDwr\nYYwy5n37tZiT0aSBu0hck6f8usQaXVy7BWzq+FxSAnN9+jclS5yfvq4liq3iuC2RMjexOfgNLNUw\noLmDYisE+ZeAV2aUKOFtYL3JEidfPA84zzycK2s2t43+YZRmFco0NCefQzNtIj4zKSXyfAp9AQrL\nLPG60xFnRwQyoLiCfWV4ywqmq0kZyCnHPbwlJYxjYRh9v4yEEPCHBYwBVRWHFTwdc3bEjqkmUY6E\ncUy1laOWsM8h16DXsbD5Ttcn3vLGKP6k8Dx9Bh9deKiLpRhe7Mh970gYR0pKUxlYwhzRX9kasBdX\nZo8IFv4HNe8vK/Im/aRWZjRdViBe7JgpE+FIxI6rLSMRn6IovQi8x3rwTLAEvjSBp4o8BpSCUjvv\nvE52zKt34kjEjidokyXoe+CoWgcoKjSBAIcoslkCBer+CcWu0B2RqqvQOqc7p2eLSFuiVKnsf1Wp\nbKjk3gY9WEKhaKl04E+EdeBXkd2OHYH+WSfDcbQkojuqBkhwVCVBDzWVWP1tdnyjSKoqHRxXT3tx\nVYthVS2J0DHfwBmAJexz/Nqf5LYwJ9hCHenfcefkg8fIBSJD3zHqHEsidDwFPEjqHOrv4nZ2y68J\nvUwNS1TH+4qk/l5dvA13WvMde1uU4EgYR39sbYYqwBJCm+rifZ+bvypI4O29KWJUa6m6DC0M3q2p\nOF69P35+A1LjxDgSxjHV6XTIkSUoyVpyRFkb4TDZYcpxpp5HUiKsKic484g5OYaF4/8muU5MmuRe\n1RLREhZBYdZOkFvm3+qGZC3klRnsLmGdodLVBbSBsdr5H9lY7S5hq+KfJox2M+b2Th9H+8Ckid0+\njlJCCfwFZSWuYx7fF4kAAAAASUVORK5CYII=\n",
"text/latex": [
"$$- \\left(x - 3\\right) \\left(x - 1\\right) \\left(x + 2\\right)^{2}$$"
],
"text/plain": [
" 2\n",
"-(x - 3)⋅(x - 1)⋅(x + 2) "
]
},
"execution_count": 77,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"f(x).factor()"
]
},
{
"cell_type": "code",
"execution_count": 78,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAALBAMAAAAHCCkxAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMqvvZom7mXZU\nIkRJD0iWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfklEQVQIHWNggAMBEAtMQIUYw74VMDB0Lt0A\nV8LA6cD9iUHoAIMHQqiEgeH8BBUGBvYLDELGIKDCANTA8RmkC6gdCkC8+SAChCEAxJr2j4GBsQAm\nwlDIwMDdm3aBgfsCXIiLgaGLwT+PoQIuwsC4KvIAA+P6tAaEENThAgwMAMSLGqu/gFQwAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$-\\infty$$"
],
"text/plain": [
"-∞"
]
},
"execution_count": 78,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 79,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAALBAMAAAAHCCkxAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMqvvZom7mXZU\nIkRJD0iWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfklEQVQIHWNggAMBEAtMQIUYw74VMDB0Lt0A\nV8LA6cD9iUHoAIMHQqiEgeH8BBUGBvYLDELGIKDCANTA8RmkC6gdCkC8+SAChCEAxJr2j4GBsQAm\nwlDIwMDdm3aBgfsCXIiLgaGLwT+PoQIuwsC4KvIAA+P6tAaEENThAgwMAMSLGqu/gFQwAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$-\\infty$$"
],
"text/plain": [
"-∞"
]
},
"execution_count": 79,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, -sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 80,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAOIAAAA/BAMAAAAPngkVAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMrtUdhCZiUSr72bd\nIs25ozBRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD5UlEQVRYCe1ZPW8TQRAdOz7biX2c/0EiELS4\nQBRIKCmQKOM2EcSRkCLoIoFIgYRd0hEKoEGyBaJBKHFHa5BoIiA06VBwyohwDkIJSCSE/Tzv3q0n\n5zVHxRa3s/PezLvZ+5hzAkBG6hQ9Jj4264HE9OnATNLI7cvs2R/SSnie7AiB+8sJK8n0GVGks1qR\nrpize0THrpmNgd0SiykE22tOEfWO1qO+wIOBk3w30z8DdkxjE+NhoMf3pfgNS2DCrpmc0oeBY3uM\nNXYoyTFnpw2wdJlfkkgICgqpgRWzZZirZzsRMeZAQVvFKwBnID1hVkRBW8U7kO9/IVDQUpFcqXTT\nXCAACoKlYqYF3tat62ZNFLRRvEd0igDVLzBWjkiiIGMPXmNmhQReIop7kH0eVkRBTh5ccWO6DtAG\n8NpQiLypUNBWEaoTUFgkG9uBwi+eRDmiIOMNXiNkD6FYARhtGmrEQVtFdx9ekdgUuY5NlkM9oCAj\nWtQIjcpbGvsYZqP3Kg7SMBvF8ZvzNDS38IBOoYGClGtUdBdOlkKJ1OWJFXIZ+w0UpEFC0eNNS6SZ\ngZy87y8Yko9gHwwIyHMV+fvYawoxNj0EeMEM51FDKp5TCF8VO2JGwJEpxpG50rz5j0+okS8BGmJb\np02KKvd4WygC8Fw5/p1aa6mR3UqCiu5vKuWQqvSxLmr7+zVCo06kxN72RPPyEz0BxWKb6NTqPTFm\nFZeFIwFF9ykp8TXPP/eOji2yWBCC4mrf9f0139+mTo99i8vDLuM5OzTuQ8kA5nx/Z8X3WQHy7Gfe\nQ7UlBcScmZcOyQL16ZBgvDl0rwLkn4H7pqIHnwf3I/ckoVgrA8x2NMXUPGSSU2Tvs7z+3vq0dPsJ\nVNlZHFsjp2knHFqEd3VykRLOipI4uXt0dABF2pJurG63uK/fdWQ0TulzlIoyF3+Bip9YWsxFbaUp\nqs1Fp5EYFaQppKJIN8If9WpTrJWJFR+srwYWMZTmAjotBNIgR9s/yPK2JH5iUYIczpS0onPQXEi+\nCE0Bo5EAJ3jvEG1SZRTURchWmkuUpoChMLY0fgOYiJqv22sump8tUDD4BjDUGE2ledYr2lJfYKBd\njeRNJZuLLsVXKGirGDQXkyIK2ioGzcWkiIKWir3mYlBEQfn1KIQN4WZXr7kYcBS0VFSaS1QRBW2f\nDtZcolrcg4K2iqy59FNEQVvFfmJx/Jb3apzUfTj/FftszFBu75CFizY5VKqYwd4uI/6zfwUAfO4w\nRfcg5hkOT6tN8RyN8vC5YmVwZG3i13msoKFIwR3jrpWGShQ32O3WJTX7XVqJzlXlDxMbiSrJ5Clm\n/AEJ2V+bHYm5mgAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left\\{-2, 1 + \\frac{\\sqrt{6}}{2}, - \\frac{\\sqrt{6}}{2} + 1\\right\\}$$"
],
"text/plain": [
"⎧ √6 √6 ⎫\n",
"⎨-2, 1 + ──, - ── + 1⎬\n",
"⎩ 2 2 ⎭"
]
},
"execution_count": 80,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poi = sym.solveset(sym.diff(f(x), x), x)\n",
"poi"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"-2 False\n",
"1 + sqrt(6)/2 False\n",
"-sqrt(6)/2 + 1 True\n"
]
}
],
"source": [
"for point in list(poi): # We convert the poi to a list\n",
" print(point, (sym.diff(f(x), x, 2).subs({x: point})) > 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q6 "
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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\nRK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7fb0a50d8860>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<sympy.plotting.plot.Plot at 0x7fb0a50d8be0>"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"def f(x):\n",
" return -x ** 4 + 10 * x ** 3 - 29 * x ** 2 + 8 * x + 48 \n",
"sym.plot(f(x), (x, -5, 5) , ylim=(-5, 50))"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAFQAAAAVBAMAAAAqQdQ7AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAZpkQ3Ynvq81UMrtE\ndiLw+n06AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABT0lEQVQoFY2TvUvDQBjGn/Sa1viRZHSSqoNr\n/wHRoYJLQfBjDjgIIgguHRtE6X/QwaXB1aWrIFgcOgcEV7u4Cw7aRXzf+0rEaHyG95577pe74+4C\nwFlGqa4fGRFbpSAB44SK81qIvuzfmny2AVRi6rkRFat+U1m/gUGo0+qQqE3q5FFx1tXowhQBj7Ke\nGI3I5FHgWaPzJ9iIaZTkL/6NEmI24M6UofZklixaj3kVI7MB+HurKhMpo/Kc+onBuLUocDCSAy4Y\nxTlwc0ytuGiRtpNvaO1QolcKrbf1PciQi5nVn2BuyoHYUWiPfPFegzeNep1O9yhVe5X3wN9LmVlr\nQ1Q/dUb+lysQH4Q4IQapdEBQiK6d9kK0msQ+rNxBOff+PSyaldf0JlxZmSt4Awy4XKRyLqLg53td\nVxzVzFViDi+55BXaTubGIw69//xbu8AXr5lO/mSMCkwAAAAASUVORK5CYII=\n",
"text/latex": [
"$$\\left\\{-1, 3, 4\\right\\}$$"
],
"text/plain": [
"{-1, 3, 4}"
]
},
"execution_count": 83,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.solveset(f(x), x) # Finding the roots"
]
},
{
"cell_type": "code",
"execution_count": 86,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAALBAMAAAAHCCkxAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMqvvZom7mXZU\nIkRJD0iWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfklEQVQIHWNggAMBEAtMQIUYw74VMDB0Lt0A\nV8LA6cD9iUHoAIMHQqiEgeH8BBUGBvYLDELGIKDCANTA8RmkC6gdCkC8+SAChCEAxJr2j4GBsQAm\nwlDIwMDdm3aBgfsCXIiLgaGLwT+PoQIuwsC4KvIAA+P6tAaEENThAgwMAMSLGqu/gFQwAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$-\\infty$$"
],
"text/plain": [
"-∞"
]
},
"execution_count": 86,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 87,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAACMAAAALBAMAAAAHCCkxAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAEM3dMqvvZom7mXZU\nIkRJD0iWAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAAfklEQVQIHWNggAMBEAtMQIUYw74VMDB0Lt0A\nV8LA6cD9iUHoAIMHQqiEgeH8BBUGBvYLDELGIKDCANTA8RmkC6gdCkC8+SAChCEAxJr2j4GBsQAm\nwlDIwMDdm3aBgfsCXIiLgaGLwT+PoQIuwsC4KvIAA+P6tAaEENThAgwMAMSLGqu/gFQwAAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$-\\infty$$"
],
"text/plain": [
"-∞"
]
},
"execution_count": 87,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x), x, -sym.oo)"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAPEAAAA/BAMAAADDBzP+AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAMrtUdhCZiUSr72bd\nIs25ozBRAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAE9klEQVRYCe1ZTWgkVRCuyaRn8jOdzMmTkAbx\nnAgi6CVz8BTBzCEgijIDHmQPsqMechDMHDyIl52DLMYVEiIeBEnm5kmNAQ8uQeeylxU2QRBcWce4\nuhtX3MR69ar7vX79XnfvNI4XC6ZfVX1V9fV7Pd3VbwYApfSIOI5L/J8U0+qjSh+DttEOSSqnoTae\nsXwW8lzqhdqYxtW2JPL2mqmM/nkkJ6mBEjyKos9d0XO/SWT2ritC+qe76biBvm/YFrN8Tzon/rSA\nmuuGpmer/nF2DPBq1HjuroyXXYDVX1myuuNOvr4z9+Nuw/L20fGQ4WTz4cvr65049CKapXbcx1bp\nm1fW10nfG9CQwUyTOMDIp5pcQQ1f4repp0yhiRWqBQDlj4UVk1mMllc4H7OYxOQOeJe3ksyvAkzH\nigOt0EoAz1+4EwfQquBM5XnmY34Tc77/AQ+rSeYOwGtxgmofwP8iwJNNMlcBqnUKz8VMk+g4mAGm\nGnFmsULVucDKjNDbMjoX8yROYnbgZJ6QpaLjM6h97mYOZGAm8zsYV8PPGjiZxbVgmeqisg/gNZzM\n4loIyWKe3MWgp/HTcTJ7J6KQlJVjXOMGLjY4mVscmsV8bbVLkyjXncyTyMbir+GzUKzQY27mZzk2\nixlaAcx2AJ4DJ7O4c0PxbgN8hovdcTMfcGwmc+U+1JoAT25u/vWe9a6CVi/kxfHiAL7GR8jm5tYn\nDdtdBR53iszrDP5dMQkhO/ix3M+w0BYoy1FbrBDKTGC/q0phV8ycM2w1cRJCcCGtzMttgbJM3xEr\nhDIf2JnL+ZkX3miLSvD6+RW4sHezT4Z+uL6kWaXTJ8iqLt7rVz44u6JBUvU/YpcxZ0s/mtuVk0jU\nsDt+/tHuT3iZeZ6fsOEXT4uLlkfzpaixtU+Jg+8GhM5v04D9KCm/JF3oKTesbpiTBU3wcdMBi3Vy\nLQQ0UD9KxFgdLmZrMECSeaNDoRt9GqgfOXINd2Hmo2NR0fuU6sp+RGrmoTDzNL10TsgXQNmPMkkp\noDAzHIo6G12qJvsRqZmH4szXA4CJr4iI+xHq3q1DlG/rMK82C5GGeHU4vLU7HPZQlRGUDxDFKOUE\nobeGw6vD4U0RRIDwIcmHA2jJ7xf3I3JnHorPGd5dAv+gKZi4H2WSUkBx5urvWOiFY6azPUkYMobi\nzPTlmgobyG3woo2tQWWYBnNWWvJJUj6liosDGkQ/OqSVN3iSpsGclZZkntmmosu9qHZZnkRks1Jq\nxz0aM0FGmtn0NGaGljtUsLUd1cVdgE30ty2Be+oECTLSDowaLymboYtdcs2ofciaitG1lUC3YjpB\n8TRr05NJIfRrnWxtL9mPVQ0N2ieFRnyUUDwtpemFkPFOEq+pWbRP0mxNtUEpTS+E8jLTPkmj01QL\nlNL0Iigns9wnaXRKtUEpTS+CcjLLfZKi0zQblNL0Iigns9wnaXxKtUCq6akw1hSUj5n3SYk66LBB\nKU1PQfmYeZ9kY7ZBKU1PQfmYkVLskxxig3YcsehmKDez2Cc5xAaJTZhDGMrLLPZJjko2SDQ9h4RQ\nXmZHmQLu/5kLLN4Dp/53q30+oJMNf9t/4DMfPYF/WR/3Xzf4kyy/4/p/j37yo2VW/+C8raXRCoyc\n1drn1Fr63wkjEzgT+QUQl/1q3Rn0bwA31J9FFbG/Gpt4Z/KeIsJrY6MVRHKF/wG9arGnwnIFwQAA\nAABJRU5ErkJggg==\n",
"text/latex": [
"$$\\left\\{4, - \\frac{\\sqrt{41}}{4} + \\frac{7}{4}, \\frac{\\sqrt{41}}{4} + \\frac{7}{4}\\right\\}$$"
],
"text/plain": [
"⎧ √41 7 √41 7⎫\n",
"⎨4, - ─── + ─, ─── + ─⎬\n",
"⎩ 4 4 4 4⎭"
]
},
"execution_count": 88,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"poi = sym.solveset(sym.diff(f(x), x), x)\n",
"poi"
]
},
{
"cell_type": "code",
"execution_count": 89,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"4 False\n",
"-sqrt(41)/4 + 7/4 False\n",
"sqrt(41)/4 + 7/4 True\n"
]
}
],
"source": [
"for point in list(poi): # We convert the poi to a list\n",
" print(point, (sym.diff(f(x), x, 2).subs({x: point})) > 0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q8"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"def f(x):\n",
" return x ** 2 + x\n",
"\n",
"def g(x):\n",
" return 1 / (x ** 2 + 1)"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"a = sym.symbols('a')"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAAsBAMAAACebLDoAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiiUS7\n3TIuwQ1sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADS0lEQVRYCe1Wz2sTQRR+cZttfjSlChUEIZUe\nVBQaShE8JQpWbxaMIqXQ0KMeLFiyJ7EIvQhCDnpuDrbqRYP/gLl5FESC4iV6EUFoSw+KB+vuzryZ\nN5m3aQ9d10P3sPPme9+8+TKzM18A/rfnSClpRc6lq4lrALhzoCH8EA7WQZyHg3XYyzoMsZfHepU7\nTLm5ayx7d5Ddi+GWHFjkJksvp9tM4RdwmUFtyLUgVsMPSXNesRqamU2rDsAn2GgwsAXlK70Qq+Gu\nZLllTgMAuw6fYbXVW53tP+9BqxNLyz2QP0VNQl8iNEx2rTEBwO6czSzwP8wkriKpyWtw6yYfex0M\n+rfuTP98mF2TnEyD18DvBeT2UDuw6ezmHjSckJxzgBpSNWNYdkt0TXgFOUcxUK0kSpv+qPDIYHhb\npkavz98UoTHZZDf7i4HzzXxXwJEapE3PCVq/d2ZMZfHLMDQUGu64YBjwt8PH/YUOnt00LAhav3d6\n0c8+WVsoQebdBUFUkwXw8PrThglnZ2+Mw8TOjqyKGkI4xNT48Cp4I7VKOtcMtQHyp+E+yWGNCPh1\nY3CTsFGDhnG8+Mu00SVkPhysAEwuA901rMHDzinzpEgNBMbxQoN/l+30eYKfU5gBmC9BBxXmPO/e\nSc/zlUXA6W0o1JD9zPPee96S30WYjJcaRpAc2QbrcBacP4SAv4OHD7Wh3CVsuQ4ExvFqHQibDX0N\nzm9I0R2WNSLgchOKtJLUQGBTg/K2aLsfaIOzBUOLx3Rd1MDD5RF4m2poNmrQsKlBnYtou3fHAOrw\nqNLUVbEGDw/WMh9ymoz3A4FxvNiLB8iNtvu8f09O3fo+3UIqANbgYWf65ePbmowaCIzjhU2rE9fH\n7s+QeiLEGj2JCFjuBSGbxLrOFEs6DqKUvIFh1sT9nkN2myQj4POEIkKD6KAf+bmOpErZU1XMfbVq\n7CuQqahyyu5x6VzUMDCiSHEEha6quoKRpcFZxFQs7cOgauhntt2rdYDRWOaWRbPtIAj9zLZ7rSHV\nkvw4mnTJryr8zLZ7rSGOqc2a6Gchqm0O/qUG4mehDOubNCXH0iN+lpwG7WeJaSB+lpgG4mdUQ/ri\nzythP4kXfpNJzI1z2jaHmdjav/r97nNi4qV5AAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{1}{a^{2} + 1} \\left(a^{4} + a^{3} + a^{2} + a + 1\\right)$$"
],
"text/plain": [
" 4 3 2 \n",
"a + a + a + a + 1\n",
"────────────────────\n",
" 2 \n",
" a + 1 "
]
},
"execution_count": 101,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x) + g(x), x, a).factor() "
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAQUAAAAsBAMAAACebLDoAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWYiiUS7\n3TIuwQ1sAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADS0lEQVRYCe1Wz2sTQRR+cZttfjSlChUEIZUe\nVBQaShE8JQpWbxaMIqXQ0KMeLFiyJ7EIvQhCDnpuDrbqRYP/gLl5FESC4iV6EUFoSw+KB+vuzryZ\nN5m3aQ9d10P3sPPme9+8+TKzM18A/rfnSClpRc6lq4lrALhzoCH8EA7WQZyHg3XYyzoMsZfHepU7\nTLm5ayx7d5Ddi+GWHFjkJksvp9tM4RdwmUFtyLUgVsMPSXNesRqamU2rDsAn2GgwsAXlK70Qq+Gu\nZLllTgMAuw6fYbXVW53tP+9BqxNLyz2QP0VNQl8iNEx2rTEBwO6czSzwP8wkriKpyWtw6yYfex0M\n+rfuTP98mF2TnEyD18DvBeT2UDuw6ezmHjSckJxzgBpSNWNYdkt0TXgFOUcxUK0kSpv+qPDIYHhb\npkavz98UoTHZZDf7i4HzzXxXwJEapE3PCVq/d2ZMZfHLMDQUGu64YBjwt8PH/YUOnt00LAhav3d6\n0c8+WVsoQebdBUFUkwXw8PrThglnZ2+Mw8TOjqyKGkI4xNT48Cp4I7VKOtcMtQHyp+E+yWGNCPh1\nY3CTsFGDhnG8+Mu00SVkPhysAEwuA901rMHDzinzpEgNBMbxQoN/l+30eYKfU5gBmC9BBxXmPO/e\nSc/zlUXA6W0o1JD9zPPee96S30WYjJcaRpAc2QbrcBacP4SAv4OHD7Wh3CVsuQ4ExvFqHQibDX0N\nzm9I0R2WNSLgchOKtJLUQGBTg/K2aLsfaIOzBUOLx3Rd1MDD5RF4m2poNmrQsKlBnYtou3fHAOrw\nqNLUVbEGDw/WMh9ymoz3A4FxvNiLB8iNtvu8f09O3fo+3UIqANbgYWf65ePbmowaCIzjhU2rE9fH\n7s+QeiLEGj2JCFjuBSGbxLrOFEs6DqKUvIFh1sT9nkN2myQj4POEIkKD6KAf+bmOpErZU1XMfbVq\n7CuQqahyyu5x6VzUMDCiSHEEha6quoKRpcFZxFQs7cOgauhntt2rdYDRWOaWRbPtIAj9zLZ7rSHV\nkvw4mnTJryr8zLZ7rSGOqc2a6Gchqm0O/qUG4mehDOubNCXH0iN+lpwG7WeJaSB+lpgG4mdUQ/ri\nzythP4kXfpNJzI1z2jaHmdjav/r97nNi4qV5AAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{1}{a^{2} + 1} \\left(a^{4} + a^{3} + a^{2} + a + 1\\right)$$"
],
"text/plain": [
" 4 3 2 \n",
"a + a + a + a + 1\n",
"────────────────────\n",
" 2 \n",
" a + 1 "
]
},
"execution_count": 102,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(sym.limit(f(x), x, a) + sym.limit(g(x), x, a) ).factor()"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAAuBAMAAAB0cDJ0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpmJdu8QRM1mu90y\nVKvMIHo8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3UlEQVQ4Ec2Uv0vDQBTHXxub/owERwUp6ORQ\nS3F0KIo4iou/FrN0bQvipEMFh4KodXapDqKbg6tS/wMdHMUidXCyIlQHpX7v0iR3oWmzCD64e78+\nuR/k3SOyJFCxLLc+kgLDkic6g7ro7YiObWtLRGrJdomiScEhLWt6+VQLxpSQikuLWxwNMC4ncCOC\nTfZ6JhcpIhkYG8cZaIZxQ5k5g2kXpyQR2tQjTagLjPAiHUJB5H2jJVxmlYJVZK4xchWagILInHZJ\nFGxRPIvMMsakQVdQSrm8t1Iu12Ga50tgw1CVCjUEGLdG6jcURF6PcYU0PbEM9lU/SGNHhchcGPsW\n7uhc0/k91B+Kle67cOwekWz0RkEug7FLx/V0Fy6IoNqYHp1HbgsjP3vbKEpc8OXrFWvVeJBPHv+N\n58R/JdeBihM7ItYBnThxlyXVFXnXaUxa3G/duzb7L27bn/zpcTOnhp/1FX2w5IeL64l3X1wx8OmH\nw7NgXUKUB0P0bJu/UHidZ6Q+v3Xn2CNhYj+3BYP7rsmuaW+Od6AN2ja/9OR4B0rsP5714XgHCrXb\nzT5cpwNxSmxD7ns4HYijXucTOlBvzulAPTmhA/XmnA4kcan1gwoPeEz2PTzyVlhuQyz6C4JHl2Sz\nETSRAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{a \\left(a + 1\\right)}{a^{2} + 1}$$"
],
"text/plain": [
"a⋅(a + 1)\n",
"─────────\n",
" 2 \n",
" a + 1 "
]
},
"execution_count": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x) * g(x), x, a).factor() "
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAE4AAAAuBAMAAAB0cDJ0AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpmJdu8QRM1mu90y\nVKvMIHo8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAB3UlEQVQ4Ec2Uv0vDQBTHXxub/owERwUp6ORQ\nS3F0KIo4iou/FrN0bQvipEMFh4KodXapDqKbg6tS/wMdHMUidXCyIlQHpX7v0iR3oWmzCD64e78+\nuR/k3SOyJFCxLLc+kgLDkic6g7ro7YiObWtLRGrJdomiScEhLWt6+VQLxpSQikuLWxwNMC4ncCOC\nTfZ6JhcpIhkYG8cZaIZxQ5k5g2kXpyQR2tQjTagLjPAiHUJB5H2jJVxmlYJVZK4xchWagILInHZJ\nFGxRPIvMMsakQVdQSrm8t1Iu12Ga50tgw1CVCjUEGLdG6jcURF6PcYU0PbEM9lU/SGNHhchcGPsW\n7uhc0/k91B+Kle67cOwekWz0RkEug7FLx/V0Fy6IoNqYHp1HbgsjP3vbKEpc8OXrFWvVeJBPHv+N\n58R/JdeBihM7ItYBnThxlyXVFXnXaUxa3G/duzb7L27bn/zpcTOnhp/1FX2w5IeL64l3X1wx8OmH\nw7NgXUKUB0P0bJu/UHidZ6Q+v3Xn2CNhYj+3BYP7rsmuaW+Od6AN2ja/9OR4B0rsP5714XgHCrXb\nzT5cpwNxSmxD7ns4HYijXucTOlBvzulAPTmhA/XmnA4kcan1gwoPeEz2PTzyVlhuQyz6C4JHl2Sz\nETSRAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$\\frac{a \\left(a + 1\\right)}{a^{2} + 1}$$"
],
"text/plain": [
"a⋅(a + 1)\n",
"─────────\n",
" 2 \n",
" a + 1 "
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(sym.limit(f(x), x, a) * sym.limit(g(x), x, a) ).factor()"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJkAAAAcBAMAAACADwDiAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpmJdu8QRM1mu90y\nVKvMIHo8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACX0lEQVRIDa1UPYgTQRh9u0k2iclKagUv4CFy\nxRHlCoUrgiCWWvlT3VoIViaNlYUnWCwIx3liHzvPSkURCyWddkmhCIJcEAUVRKvD7nyzM7Mzk92s\nBBxI5v1883Z+dhaYv5WWjsw/aOaIY/g205vDeCNrn2DUyo4qZ6VCpTmQ9gss9LOF1UlWK1JqkXZ3\nUqQV9ictDG/TZja+q8hiKj5LkQUakUUOWNiF++UuebtaLrU1svuyrd6ynRSH54FgPaEmYyu1NXgf\nAd5vzYB622Ag7Ep2bVlMaCUhlbHUUO1UhxK+k13w+VdE9FIy8d+Qy1GCTkNZpF1J1FGkzLefPiqo\n0oCzQlhSPruDBhK5abW+MO/rirW9PQXdtNNUvcOL3BucMpDITZM7dtSpIAHctJsRcL1VE9u3zZ+C\nRG5afZ0SHvFnKoQylTYaIrgEf0DjFc9OQTI3LXxMCRtOhVCm0nhD/F00ujQuIIWlOL5zMY4nVOUp\nNMXk8dRUCIoTcfw8jvkMtuQUFsaoDNAbkjNNQzJ3bjKN46wKFuXMrdfBjjC4Ug3J3LSqXqlVIcZM\nrZRflt4YD8NWcgoaZtLkKfzg81RxEpVJ45nWuvXXJRrHkcJMmt8Rw/k66WJBRXPfEL6QwZfVQ2do\n3DCQTK/U//rnO0OGlMBH62JBRdNpy2sbm85dmHGzkkHynlT6CbH/dJrUbhvLvfUBd9K0lQTK9RqV\n6LLNAnGldXugQaZXX6TmuYzjCPWJRWd/Lfepif60qnNgY2iJ//6SX7Wqc+C9HK1ACtsFJrxBkZvj\nfcjRUsmPUvifwF+lb5DKtAqj6QAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$a \\left(a + 1\\right) \\left(a^{2} + 1\\right)$$"
],
"text/plain": [
" ⎛ 2 ⎞\n",
"a⋅(a + 1)⋅⎝a + 1⎠"
]
},
"execution_count": 106,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(f(x) / g(x), x, a).factor() "
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAJkAAAAcBAMAAACADwDiAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIpmJdu8QRM1mu90y\nVKvMIHo8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAACX0lEQVRIDa1UPYgTQRh9u0k2iclKagUv4CFy\nxRHlCoUrgiCWWvlT3VoIViaNlYUnWCwIx3liHzvPSkURCyWddkmhCIJcEAUVRKvD7nyzM7Mzk92s\nBBxI5v1883Z+dhaYv5WWjsw/aOaIY/g205vDeCNrn2DUyo4qZ6VCpTmQ9gss9LOF1UlWK1JqkXZ3\nUqQV9ictDG/TZja+q8hiKj5LkQUakUUOWNiF++UuebtaLrU1svuyrd6ynRSH54FgPaEmYyu1NXgf\nAd5vzYB622Ag7Ep2bVlMaCUhlbHUUO1UhxK+k13w+VdE9FIy8d+Qy1GCTkNZpF1J1FGkzLefPiqo\n0oCzQlhSPruDBhK5abW+MO/rirW9PQXdtNNUvcOL3BucMpDITZM7dtSpIAHctJsRcL1VE9u3zZ+C\nRG5afZ0SHvFnKoQylTYaIrgEf0DjFc9OQTI3LXxMCRtOhVCm0nhD/F00ujQuIIWlOL5zMY4nVOUp\nNMXk8dRUCIoTcfw8jvkMtuQUFsaoDNAbkjNNQzJ3bjKN46wKFuXMrdfBjjC4Ug3J3LSqXqlVIcZM\nrZRflt4YD8NWcgoaZtLkKfzg81RxEpVJ45nWuvXXJRrHkcJMmt8Rw/k66WJBRXPfEL6QwZfVQ2do\n3DCQTK/U//rnO0OGlMBH62JBRdNpy2sbm85dmHGzkkHynlT6CbH/dJrUbhvLvfUBd9K0lQTK9RqV\n6LLNAnGldXugQaZXX6TmuYzjCPWJRWd/Lfepif60qnNgY2iJ//6SX7Wqc+C9HK1ACtsFJrxBkZvj\nfcjRUsmPUvifwF+lb5DKtAqj6QAAAABJRU5ErkJggg==\n",
"text/latex": [
"$$a \\left(a + 1\\right) \\left(a^{2} + 1\\right)$$"
],
"text/plain": [
" ⎛ 2 ⎞\n",
"a⋅(a + 1)⋅⎝a + 1⎠"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(sym.limit(f(x), x, a) / sym.limit(g(x), x, a) ).factor()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Q9"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"def f(x):\n",
" return x ** 3 + 3 * x - 20"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAANAAAAAqBAMAAAAwg8g4AAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAVO8Qq5l2zWa73USJ\nIjJt8O9gAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAD1UlEQVRYCcVVS2sTURT+mmmmecwkWYm4SUBR\n8UUQURQkQQTdCBEVRVxkIYogmIUaUZSg+NgZ3aiIGFwIikIQRHDTULSCuMiyoNj8g7YUrVBf5z7O\nzJ02aSwk9SzmvL57vnPvnTkDLJ0MrFwari0Hp5eGCPb/ILrVj81ZeVXV2JFd6gcR3swjepXtC5Gd\nl2X9HVmbes8zepCavzCHaFAx95ItXAlXgXF5Uv6OJprdOGR/3UBmPtyITAJqBz7RWRPSzlb9tct0\njokdJeQX5BG5vzrDVUb11w0VzG9ukX9exDyicE24C4vob1FiS46rtCa8a2avWhoqdi8h+wvAxgKe\n6UTklcvWxutmYrxF3pdPd4Dt68y4Yav+jADcKqy7NTPi2/uE6U7RI9QQJsttMtwC0hXgHMfm6nlH\nN0RtDxXmwpS/Ddjccn+QM1gyEUfJsaeQrAGii7Yi+6PMQFGnr5NOprSDZWxI7RQRa9riL2RPmoln\n5MTXI1dCvMNA1/0RziN6Sc5wlssEiawMEqPvmgIeeKG/KTgdnVPjlUGt+6MgE7kC+dFDBYlwiROJ\nwBF9l2HrBR36/huPGKP11uOfTxd1fxRiIrtAzrnlp0TbJEwk0cB7FQUscVEsynE/HgByl7Gbw0pb\njcjTWMmPMVG0QlVmmjwlNRGjb3oL1CaUK18PMkfqSLfwwMNIw8k60wO6bRFgoliK7N+IVhVcEzF6\nhYrS8yf+SBEBPsfQShwGVovQtudCrpBlYUjXIscply+uKZfzZIbq9MmXIL/1D+Xyk3JZDExGT5Ct\nRN+/dBLiHN0molN4Afe3RngqWfRMMnhHgijWwHhLJfmOoNDtieTRJaeJyJqFk1Er/edEy7d9InF0\nuTpGdM4jUui3vMT6yRZpS1xYqIrYL/qFhBrXjBQVzp6BnfVDvCPxMtBE2RBROU3EaO9l4PtXBQRr\npIJ0cbCEZL2hgvo5nHqMMSPCRE4B2APMOiqniRh9jFfw/St/lVCvDz0EtemMMkbpLSe2HqkYISaK\n14D7wKeiymkiRovXSEp81pzU9zj8D5qJ8DIA1kQ6JseGtCNipnmTeiSwZmHHauq8GKq+7PRNspwi\nu/Ld8sZQ2rhsRnTVUWZsg6TfhJZYnua1N6lzFY4vQtOPr6P481KU9id1NN9xyQIJ810MwtSvXMbS\ntG9/UkcyQWAPPZppxqS2vNvqIYUqtZZU2p/UJ3tOoAvaGTJ4UpMZatGjHxKqUFVjUkdK/WChmuKo\nApP6fH+I3I1UNzCpd7T6wrQjRWUDk9oNTq5esdLUxZxJ/bVXtc06Vp28vwIs6w20kCf9AAAAAElF\nTkSuQmCC\n",
"text/latex": [
"$$\\frac{1}{h} \\left(3 h - x^{3} + \\left(h + x\\right)^{3}\\right)$$"
],
"text/plain": [
" 3 3\n",
"3⋅h - x + (h + x) \n",
"───────────────────\n",
" h "
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"h = sym.symbols('h')\n",
"rhs = (f(x + h) - f(x)) / h\n",
"rhs"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAWBAMAAABppzwEAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nqzIhoty3AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQUlEQVQoFW2PP0vDQByG38QjTRNtzoKCW6kU\nxKmDDuLQDO4tSF1cMjkXFyepCOJoEFwcdHCqOtxWFzGDg0MGP4LfQAvFP0SIaZK7XuQyXN7fc8/d\nywHS11hn0qSKOp0LVFxiJq2MpFEVTV/7UfECI1FhVA1mT0VRra8J3hApC1p92QW0DtpevmN08sB/\nCyCfQGkM5yhH57jKEskL+y6+gfIAT0G2UXne2iwql779mxJeZMXxR1FBWgTYx8DwcGlfeg0vAh5q\nySFtZRd2zTg1g+yGySqU6glL6aqvMz0iVKFAH6TUurMx2xSCHoYv92H4moFbBo1iZgw4PaEkgRfN\nAy0XTpQq728qJWYTxWrCHBHWR4lNJX7LDXBGYXho967dFhanhijaA/lK8EV3A48Hwx1PoZS7276E\n5ciLZPYv21QCf4IwRNg4bvHgAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$3 x^{2} + 3$$"
],
"text/plain": [
" 2 \n",
"3⋅x + 3"
]
},
"execution_count": 110,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.limit(rhs, h, 0)"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAEMAAAAWBAMAAABppzwEAAAAMFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAv3aB7AAAAD3RSTlMAIom7VJlmdt1E7xDN\nqzIhoty3AAAACXBIWXMAAA7EAAAOxAGVKw4bAAABQUlEQVQoFW2PP0vDQByG38QjTRNtzoKCW6kU\nxKmDDuLQDO4tSF1cMjkXFyepCOJoEFwcdHCqOtxWFzGDg0MGP4LfQAvFP0SIaZK7XuQyXN7fc8/d\nywHS11hn0qSKOp0LVFxiJq2MpFEVTV/7UfECI1FhVA1mT0VRra8J3hApC1p92QW0DtpevmN08sB/\nCyCfQGkM5yhH57jKEskL+y6+gfIAT0G2UXne2iwql779mxJeZMXxR1FBWgTYx8DwcGlfeg0vAh5q\nySFtZRd2zTg1g+yGySqU6glL6aqvMz0iVKFAH6TUurMx2xSCHoYv92H4moFbBo1iZgw4PaEkgRfN\nAy0XTpQq728qJWYTxWrCHBHWR4lNJX7LDXBGYXho967dFhanhijaA/lK8EV3A48Hwx1PoZS7276E\n5ciLZPYv21QCf4IwRNg4bvHgAAAAAElFTkSuQmCC\n",
"text/latex": [
"$$3 x^{2} + 3$$"
],
"text/plain": [
" 2 \n",
"3⋅x + 3"
]
},
"execution_count": 111,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sym.diff(f(x), x)"
]
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment