{ "cells": [ { "cell_type": "markdown", "id": "80bcddfb", "metadata": {}, "source": [ "# Computer Lab - Semester 4" ] }, { "cell_type": "markdown", "id": "bb800872", "metadata": {}, "source": [ "## Solve Differential Equation" ] }, { "cell_type": "markdown", "id": "2edda01c", "metadata": {}, "source": [ "#### 1(a) Solve\n", "\n", "\\begin{align}\n", "\\frac{dy}{dx} = e^{x} ~\\text{with} ~y=0 ~\\text{for} ~x=0\n", "\\end{align}\n", "Find the value of $y$ for $x=1$." ] }, { "cell_type": "code", "execution_count": 1, "id": "d0ef25a5", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "from scipy.integrate import odeint\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 2, "id": "17a7a332", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def dy_dx(y, x):\n", " return np.exp(x)\n", "\n", "x = np.linspace(0, 1, 10)\n", "y0 = 0\n", "\n", "y = odeint(dy_dx, y0, x)\n", "plt.plot(x, y.reshape(np.size(x),), 'ro')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "a006bb28", "metadata": {}, "source": [ "#### 1(b) Solve\n", "\n", "\\begin{align}\n", "\\frac{dy}{dx} + e^{-x}y = x^2 ~\\text{with} ~y=0 ~\\text{for} ~x=0\n", "\\end{align}\n", "\n", "Find the value of $y$ for $x=1$." ] }, { "cell_type": "code", "execution_count": 3, "id": "e752da1a", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def dy_dx(y, x):\n", " return x**2 - np.exp(-x)*y\n", "\n", "x = np.linspace(0, 1, 10)\n", "y0 = 0\n", "\n", "y = odeint(dy_dx, y0, x)\n", "plt.plot(x, y.reshape(np.size(x),), 'ro')\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "cf956cf9", "metadata": {}, "source": [ "#### 1(c) Solve\n", "\n", "\\begin{align}\n", "\\frac{d^2y}{dt^2} + 2\\frac{dy}{dt} = -y ~\\text{with} ~y=0.1 ~\\text{and}~\\frac{dy}{dt}=0 ~\\text{for} ~t=0\n", "\\end{align}\n", "\n", "Find the value of $y$ for $x=1$." ] }, { "cell_type": "code", "execution_count": 11, "id": "778c292f", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def dz_dt(z, t):\n", " y, x = z\n", " dy_dt = x\n", " dx_dt = -2*x - y\n", " return [dy_dt, dx_dt]\n", "\n", "t = np.linspace(0, 10, 100)\n", "z0 = [0.1, 0]\n", "\n", "z = odeint(dz_dt, z0, t)\n", "plt.plot(t, z[:,0].reshape(np.size(t),), 'r-', label='$y$')\n", "plt.plot(t, z[:,1].reshape(np.size(t),), 'b-', label='$\\\\frac{dy}{dt}$')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "429b31b8", "metadata": {}, "source": [ "#### 1(d) Solve\n", "\n", "\\begin{align}\n", "\\frac{d^2y}{dt^2} + e^{-t}\\frac{dy}{dt} = -y ~\\text{with} ~y=0.1 ~\\text{and}~\\frac{dy}{dt}=0 ~\\text{for} ~t=0\n", "\\end{align}\n", "\n", "Find the value of $y$ for $x=1$." ] }, { "cell_type": "code", "execution_count": 12, "id": "be647dd5", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def dz_dt(z, t):\n", " y, x = z\n", " dy_dt = x\n", " dx_dt = -np.exp(-t)*x - y\n", " return [dy_dt, dx_dt]\n", "\n", "t = np.linspace(0, 10, 100)\n", "z0 = [0.1, 0]\n", "\n", "z = odeint(dz_dt, z0, t)\n", "plt.plot(t, z[:,0].reshape(np.size(t),), 'r-', label='$y$')\n", "plt.plot(t, z[:,1].reshape(np.size(t),), 'b-', label='$\\\\frac{dy}{dt}$')\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "2d157f94", "metadata": {}, "source": [ "## Dirac Delta Function\n", "\n", "Evaluate\n", "\\begin{equation}\n", "\\frac{1}{\\sqrt{2\\pi\\sigma^2}}\\int_{-\\infty}^{\\infty}e^{\\frac{-(x-2)^2}{2\\sigma^2}}(x+3)dx\n", "\\end{equation}\n", "for $\\sigma = 1, 0.1, 0.01$ and show it tends to 5." ] }, { "cell_type": "code", "execution_count": 46, "id": "96434c9b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sigma value of I\n", "-------------------\n", "1.00 5.000\n", "0.10 5.000\n", "0.01 0.000\n", "-------------------\n" ] } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.integrate import quad\n", "\n", "def func(x, sigma):\n", " d = 1/np.sqrt(2*np.pi*sigma**2)\n", " c = np.exp(-(x-2)**2/(2*sigma**2))*(x+3)\n", " return c*d\n", "\n", "a, b = -np.inf, np.inf\n", "\n", "print('{0:10s}{1:5s}'.format('sigma', 'value of I'))\n", "print('-------------------')\n", "for sigma in [1, 0.1, 0.01]:\n", " result = quad(func, a, b, args=(sigma))[0]\n", " print('{0:3.2f} {1:10.3f}'.format(sigma, result))\n", "print('-------------------')" ] }, { "cell_type": "code", "execution_count": 47, "id": "61e1d273", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "x = np.linspace(-5, 5, 100)\n", "for sigma in [1, 0.1, 0.01]:\n", " plt.plot(x, func(x, sigma), label='$\\sigma$ = '+str(sigma))\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "bd060875", "metadata": {}, "source": [ "## Fourier Series\n", "\n", "Program to sum \n", "\\begin{equation}\n", "\\sum_{n=1}^{\\infty}(0.2)^{n}\n", "\\end{equation}\n", "\n", "Evaluate the Fourier coefficients of a given periodic function (square wave)." ] }, { "cell_type": "code", "execution_count": 56, "id": "39d4426a", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "1.25" ] }, "execution_count": 56, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sum([(0.2**n) for n in range(100)])\n", " " ] }, { "cell_type": "markdown", "id": "f7e78b32", "metadata": {}, "source": [ "## Fourier Series " ] }, { "cell_type": "markdown", "id": "8b4c3dae", "metadata": {}, "source": [ "For a priodic function $f(x)$, where $f(x+2\\pi)=f(x)$\n", "\\begin{equation}\n", "\\begin{aligned}\n", "&f(x) = \\frac{1}{2}a_0 + \\sum_{n=1}^{\\infty} a_n \\cos n x + \\sum_{n=1}^{\\infty} b_n \\sin nx \\\\\n", "&a_0 = \\frac{1}{\\pi}\\int_{-\\pi}^{\\pi}f(x)dx\\\\\n", "&a_m = \\frac{1}{\\pi}\\int_{-\\pi}^{\\pi}f(x)\\cos mxdx\\\\\n", "&b_m = \\frac{1}{\\pi}\\int_{-\\pi}^{\\pi}f(x)\\sin mxdx\n", "\\end{aligned}\n", "\\end{equation}\n", "\n", "A square wave function is defined as\n", "\\begin{align}\n", "f(x)=\n", "\\begin{cases}\n", "-k & -\\pi" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Demonstration of Fourier series for square wave for different order of harmonics\n", "\n", "f = lambda n, x: (1/(2*n+1))*np.sin(n*x)\n", "\n", "x_range = np.linspace(-np.pi, np.pi, 100)\n", "\n", "fsum = []\n", "for n_range in range(3, 9, 2):\n", " for x in x_range:\n", " fsum.append([sum([f(n, x) for n in range(1, n_range, 2)])])\n", " plt.plot(x_range, fsum, label='n = '+str(n_range))\n", " fsum = []\n", "plt.legend()\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "df3bfd2e", "metadata": {}, "source": [ "## Legendre's Polynomial\n", "\n", "Legendre polynomials are a type of orthogonal polynomials which occur often in science and engineering. Hence, their generation is crucial to those fields. There are different ways to evaluate a Legendre polynomial, using generating functions, Rodrigues formula, recurrence relation, Gram-Schmidt orthogonalization etc. One of the easiest and also one of the most accurate, method is using recurrence relation.\n", "\n", "Here we use Bonnet’s recurrence relation of legendre polynomials, i.e, –\n", "\n", "\\begin{align}\n", "nP_n(x) = (2n-1)xP_{n-1}(x) - (n-1)P_{n-2}(x)\n", "\\end{align}\n", "\n", "It can be implemented using Python by proceeding as follows-\n", "\n", "We define Legendre polynomials as a function named P(n, x), where n is called the order of the polynomial and x is the point of evaluation. The base cases are if n is 0, then The value of the polynomial is always 1, and it is x when order is 1. These are the seed values required for the recurrence relation.\n", "\n", "For other values of n, the function is recursively defined, directly from the Bonnet’s recurrence. Thus, P(n, x) returns values of the Legendre polynomial, by recursion method\n", "\n", "Source: [geeksforgeeks](https://www.geeksforgeeks.org/python-legendre-polynomials-using-recursion-relation/)" ] }, { "cell_type": "code", "execution_count": 2, "id": "9fcb3814", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 68, "id": "d3641458", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# Defining Legendre Polynomial - 1\n", "def P(n, x):\n", " if n == 0:\n", " return 1\n", " elif n == 1:\n", " return x\n", " else:\n", " return ((2*n - 1)*x*P(n-1, x) - (n-1)*P(n-2, x))/n\n", "\n", "def LegendrePlot(n, x):\n", " plt.plot(x, P(n, x), lw=2, label='n = '+str(n))\n", " plt.legend(loc='upper right', fontsize=14)\n", " plt.title('Legendre polynomial', fontsize=16)\n", " plt.xlabel('x', fontsize=14)\n", " plt.ylabel('$L_n(x)$', fontsize=14)\n", " plt.grid('True')\n", " plt.legend(loc='best')\n", " \n", "x = np.linspace(-1, 1, 100)\n", "for n in range(1, 6):\n", " LegendrePlot(n, x)\n" ] }, { "cell_type": "markdown", "id": "3d941f68", "metadata": {}, "source": [ "## Bessel's function\n", "\n", "It is defined as\n", "\\begin{equation}\n", "J_m(x)=\\frac{1}{\\pi}\\int_{0}^{\\pi}cos(m\\theta-xsin\\theta)d\\theta\n", "\\end{equation}" ] }, { "cell_type": "code", "execution_count": 69, "id": "c15c849c", "metadata": {}, "outputs": [], "source": [ "def BesselFunc(m, x):\n", " '''\n", " Here, we are using Simpson's 1/3 rd rule to evaluate the integral\n", " '''\n", " theta = np.linspace(0, np.pi, 1000)\n", " N = len(theta)\n", " a = theta[0]\n", " b = theta[N-1]\n", " h = (b - a)/N\n", " def func(m, x, theta):\n", " return (1/np.pi)*np.cos(m*theta - x*np.sin(theta))\n", " s_odd = 0\n", " s_even = 0\n", " \n", " for k in range(1, N, 2):\n", " s_odd += func(m, x, theta[k])\n", "\n", " for k in range(2, N, 2):\n", " s_even += func(m, x, theta[k])\n", " I = (1/3)*h*(theta[0] + theta[N-1] +4*s_even +2*s_odd)\n", " return I" ] }, { "cell_type": "code", "execution_count": 73, "id": "0ead4bdb", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "J = np.zeros((3, 50))\n", "X = np.linspace(1e-15, 10)\n", "\n", "for m in range(3):\n", " i = 0\n", " for x in X:\n", " J[m, i] = BesselFunc(m, x)\n", " i += 1\n", "J0 = J[0, :]\n", "J1 = J[1, :]\n", "J2 = J[2, :]\n", "\n", "plt.plot(X, J0, 'r', label='J0')\n", "plt.plot(X, J1, 'b', label='J1')\n", "plt.plot(X, J2, 'g', label='J2')\n", "plt.legend()\n", "plt.grid()\n", "plt.show()" ] }, { "cell_type": "markdown", "id": "c410e49d", "metadata": {}, "source": [ "## Trigonometric functions\n", "\n", "We can write $\\sin \\theta$, if we expand interms of $\\theta$ according to Maclaurin series,\n", "\\begin{align}\n", "\\sin \\theta &= \\theta - \\frac{\\theta^3}{3!} + \\frac{\\theta^5}{5!} - \\cdots\\\\\n", "&=\\sum_{n=0}^{\\infty}\\frac{(-1)^n x^{2n+1}}{(2n + 1)!}\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 22, "id": "57f8a2f3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "sin 45 = 0.707\n" ] } ], "source": [ "def factorial(n):\n", " if n == 1:\n", " return 1\n", " else:\n", " return n*factorial(n-1)\n", "\n", "theta_deg = 45\n", "theta_rad = np.radians(theta_deg) \n", "val = sum([(-1)**n*theta_rad**(2*n+1)/factorial(2*n + 1) for n in range(7)])\n", "print('sin '+str(theta_deg)+' = '+str(round(val, 3)))" ] }, { "cell_type": "markdown", "id": "53f6ef06", "metadata": {}, "source": [ "## Complex analysis\n", "\n", "Integrate \n", "\\begin{equation}\n", "\\int_{-\\infty}^{\\infty}\\frac{1}{1+x^2}dx\n", "\\end{equation}" ] }, { "cell_type": "markdown", "id": "024c6966", "metadata": {}, "source": [ "#### By Numerical approach using function from SciPy" ] }, { "cell_type": "code", "execution_count": 85, "id": "54732f73", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(3.141592653589793, 5.155583041103855e-10)" ] }, "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from scipy.integrate import quad\n", "\n", "f = lambda x: 1/(1 + x**2)\n", "\n", "quad(f, -np.inf, np.inf)" ] }, { "cell_type": "markdown", "id": "575c545b", "metadata": {}, "source": [ "#### By using analytical approach using SymPy" ] }, { "cell_type": "code", "execution_count": 94, "id": "28844e15", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle \\pi$" ], "text/plain": [ "pi" ] }, "execution_count": 94, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from sympy import *\n", "x = Symbol('x')\n", "\n", "integrate(1/(1+x**2), (x, -oo, oo))" ] }, { "cell_type": "code", "execution_count": 95, "id": "212cac0b", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$\\displaystyle 3.14159265358979$" ], "text/plain": [ "3.14159265358979" ] }, "execution_count": 95, "metadata": {}, "output_type": "execute_result" } ], "source": [ "N(_)" ] }, { "cell_type": "markdown", "id": "e498a21d", "metadata": {}, "source": [ "Both the answers agree with each other." ] }, { "cell_type": "markdown", "id": "720ae694", "metadata": {}, "source": [ "## Roots of a complex number\n", "\n", "Consider a complex number\n", "\\begin{align}\n", "z = re^{i\\theta}\n", "\\end{align}\n", "\n", "It's $n$th root can be written as\n", "\\begin{align}\n", "z^{\\frac{1}{n}}=r^{\\frac{1}{n}}e^{\\frac{i\\theta}{n}}\n", "\\end{align}\n", "\n", "But the result is not unique. Let us write the complex number in a different way.\n", "\\begin{align}\n", "z = r e^{i(\\theta + 2\\pi k)}\\hspace{0.5cm}\\text{where}\\hspace{0.5cm}k=0,~1,~2,\\cdots\n", "\\end{align}\n", "\n", "Now, the $n$th roots of the compex number is written as\n", "\\begin{align}\n", "z^{\\frac{1}{n}} = r^\\frac{1}{n} e^{\\frac{i(\\theta + 2\\pi k)}{n}}\\hspace{0.5cm}\\text{where}\\hspace{0.5cm}k=0,~1,~2,\\cdots,~(n-1)\n", "\\end{align}" ] }, { "cell_type": "code", "execution_count": 3, "id": "3f82d222", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(1+2j)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# How to represent a complex number\n", "\n", "from cmath import *\n", "\n", "z = 1 + 2*1j;z" ] }, { "cell_type": "code", "execution_count": 5, "id": "c0c60d2e", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(2.23606797749979, 1.1071487177940904)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# To convert a complex number from cartesian form to polar form\n", "\n", "r, theta = polar(z);r, theta" ] }, { "cell_type": "code", "execution_count": 10, "id": "216a4c2c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "((1.0000000000000002+2j), 1.0000000000000002, 2.0)" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# and vice versa\n", "\n", "z = rect(r, theta);z, z.real, z.imag" ] }, { "cell_type": "code", "execution_count": 16, "id": "4c531795", "metadata": {}, "outputs": [ { "data": { "image/png": "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yp2wgGmCO2EB1nAnLAAApgoCGAAACwhgAAAsIIABALCAAAYAwAICGAAACwhgAAAsIIABALCAAAYAwAICGAAACwhgAAAsIIABALCAAAYAwAICGAAACwhgAAAsIIABALCAAAbirLe3VyUlJcrNzVVJSYmi0eiIPs3NzXrwwQdVUFAgr9erN954IzZvy5YtWrx4sXw+n3w+n5qbm5NYPYBkIYCBOKuqqtLq1avV0tKi1atXq6qqakSf1NRUvfbaazpz5owaGxv17LPP6sqVK7H5P/7xj9Xc3Kzm5mb5fL7kFQ8gaQhgIM7q6+tVXl4uSSovL1ddXd2IPkuXLlVubq4k6etf/7rS09PV1dWVzDIBWEYAA3HW2dmpzMxMSVJGRoY6Oztv2r+pqUn9/f1asmRJrG3Pnj3yer3auXOn+vr6ElovADtctgsApqI1a9bo8uXLI9orKyuHTTuOI8dxxlxOJBLRE088oZqaGqWkDP0/vHfvXmVkZKi/v1/BYFAvvfSSKioqRh0fCoUUCoUkiT1oYIpxjDHxXF5cFwZMRXl5eTp+/LgyMzMViURUVFSkv/3tbyP6ffrppyoqKtIPfvADlZaWjrqs48eP6+WXX9ZvfvObW76u3+9XOBy+4/oBTNjY/2XfBIeggTgLBAKqqamRJNXU1Gj9+vUj+vT392vDhg168sknR4RvJBKRJBljVFdXp+XLlye+aABJxx4wEGc9PT3auHGjLl68qOzsbB05ckRpaWkKh8M6cOCAqqur9frrr+upp55SQUFBbNzBgwfl8/lUXFysrq4uGWPk8/l04MABzZ0795avyx4wYM1t7QETwMA0QQAD1nAIGgCAqYIABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYAAALCGAAACwggAEAsIAABgDAAgIYiLPe3l6VlJQoNzdXJSUlikajo/abNWuWfD6ffD6fAoFArL21tVUPPPCAPB6PHn/8cfX39yerdABJRAADcVZVVaXVq1erpaVFq1evVlVV1aj97rrrLjU3N6u5uVkNDQ2x9ueff147d+7URx99pPnz5+vVV19NVukAkogABuKsvr5e5eXlkqTy8nLV1dWNe6wxRu+++65KS0tvazyAqYMABuKss7NTmZmZkqSMjAx1dnaO2u/69evy+/1atWpVLGR7enp09913y+VySZKysrLU0dGRlLoBJJfLdgHAVLRmzRpdvnx5RHtlZeWwacdx5DjOqMtoa2uT2+3W+fPnVVxcrBUrVmjevHkTqiMUCikUCkmSurq6JjQWgF0EMHAbjh07Nua8e++9V5FIRJmZmYpEIkpPTx+1n9vtliTl5OSoqKhIp0+f1ne/+11duXJFn3/+uVwul9rb22P9RhMMBhUMBiVJfr//DtYIQLJxCBqIs0AgoJqaGklSTU2N1q9fP6JPNBpVX1+fJKm7u1snTpxQfn6+HMfRww8/rKNHj950PICpzzHGxHN5cV0YMBX19PRo48aNunjxorKzs3XkyBGlpaUpHA7rwIEDqq6u1smTJ7V9+3alpKRocHBQzz77rLZt2yZJOn/+vMrKytTb26tvfvObev311zVnzpxbvq7f71c4HE706gEYafTPmW41iAAGpgcCGLDmtgKYQ9AAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwAAAWEMAAAFhAAAMAYAEBDACABQQwEGe9vb0qKSlRbm6uSkpKFI1GR/R577335PP5Yo+vfvWrqqurkyRt2bJFixcvjs1rbm5O7goASArHGBPP5cV1YcBUtGvXLqWlpWn37t2qqqpSNBrVSy+9NGb/3t5eeTwetbe3KzU1VVu2bNF3vvMdlZaWTuh1/X6/wuHwnZYPYOKc2xnEHjAQZ/X19SovL5cklZeXx/Zsx3L06FGtW7dOqampSagOwGRBAANx1tnZqczMTElSRkaGOjs7b9q/trZWmzZtGta2Z88eeb1e7dy5U319fQmrFYA9HIIGbsOaNWt0+fLlEe2VlZUqLy/XlStXYm3z588f9XNgSYpEIvJ6vfrkk0/0la98JdaWkZGh/v5+BYNBLVmyRBUVFaOOD4VCCoVCkqSuri61tbXd4ZoBuA23dQjaFe8qgJng2LFjY8679957FYlElJmZqUgkovT09DH7HjlyRBs2bIiFr6TY3vOcOXP01FNP6eWXXx5zfDAYVDAYlDT0GTCAqYND0ECcBQIB1dTUSJJqamq0fv36MfsePnx4xOHnSCQiSTLGqK6uTsuXL09csQCs4RA0EGc9PT3auHGjLl68qOzsbB05ckRpaWkKh8M6cOCAqqurJUkXLlzQt771LV26dEkpKV/8L1xcXKyuri4ZY+Tz+XTgwAHNnTv3lq/LWdCANbd1CJoABqYJAhiwhsuQAACYKghgAAAsIIABALCAAAYAwAICGAAACwhgAAAsIIABALCAAAYAwAICGJPToUPSffdJKSlDz4cO2a4IAOKKL2PA5HPokBQMSteuDU23tQ1NS9LmzfbqAoA4Yg8Yk8+ePV+E7w3Xrg21A8A0QQBj8rl4cWLtADAFEcCYfBYtmlg7AExBBDAmn8pKKTV1eFtq6lA7AEwTBDAmn82bpVBIys6WHGfoORTiBCwA0wrfBwxME3wfMGAN3wcMAMBUQQADAGABAQwAgAUEMAAAFhDAAABYQAADAGABAQwAgAUEMAAAFsT7RhwALHEcp9EY86jtOgCMDwEMAIAFHIIGAMACAhgAAAsIYAAALCCAAQCwgAAGAMCC/w/QzeE4aGZ2hQAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def root(z, n):\n", " # Converting 'z' to polar form\n", " r, phi = polar(z)\n", " # Finding roots\n", " roots = [r**(1/n)*exp(1j*(phi + 2*k* pi)/n) for k in range(n)]\n", " return roots\n", "\n", "z, n = 1, 3\n", "\n", "z_root = root(z, n)\n", "\n", "import matplotlib.pyplot as plt\n", "\n", "def plot():\n", " fig, ax = plt.subplots(figsize=(8, 5))\n", " # set the x-spine\n", " ax.spines['left'].set_position('zero')\n", "\n", " # turn off the right spine/ticks\n", " ax.spines['right'].set_color('none')\n", " ax.yaxis.tick_left()\n", "\n", " # set the y-spine\n", " ax.spines['bottom'].set_position('zero')\n", "\n", " # turn off the top spine/ticks\n", " ax.spines['top'].set_color('none')\n", " ax.xaxis.tick_bottom()\n", "\n", "plot()\n", "for i in range(len(z_root)):\n", " plt.plot(z_root[i].real, z_root[i].imag, 'ro')\n", "plt.xlim(-1.5,1.5)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "692fddf8", "metadata": {}, "outputs": [], "source": [] } ], "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.7.6" } }, "nbformat": 4, "nbformat_minor": 5 }