{ "nbformat": 4, "nbformat_minor": 0, "metadata": { "colab": { "name": "assignment_SOR.ipynb", "provenance": [] }, "kernelspec": { "name": "python3", "display_name": "Python 3" } }, "cells": [ { "cell_type": "code", "metadata": { "id": "GB9CsGzb_HxE" }, "source": [ "import matplotlib.pyplot as plt\r\n", "import numpy as np" ], "execution_count": 11, "outputs": [] }, { "cell_type": "markdown", "metadata": { "id": "0bb6H2Kwm4bJ" }, "source": [ "# Q1c" ] }, { "cell_type": "code", "metadata": { "id": "73dk-XeB_D6w" }, "source": [ "A = np.array([[1,2,3,-5],\r\n", " [2,5,4,-1],\r\n", " [1,-1,10,2],\r\n", " [3,-2,5,-3]])\r\n", "\r\n", "b = np.array([-44,8,44,-16])" ], "execution_count": 113, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "8Zqvt3yWIl8-", "outputId": "903f8f82-5eb8-4e89-a4e9-2e092f5fb7ed" }, "source": [ "w = 0.95\r\n", "x = np.zeros(b.shape)\r\n", "n = len(x)\r\n", "X1,X2,X3,X4 = [],[],[],[]\r\n", "for k in range(20):\r\n", " for i in range(n):\r\n", " sig = 0\r\n", " for j in range(n):\r\n", " if j!=i:\r\n", " sig += A[i,j]*x0[j]\r\n", " x[i] = (1-w)*x[i]+(w/A[i,i])*(b[i]-sig)\r\n", " X1.append(x[0])\r\n", " X2.append(x[1])\r\n", " X3.append(x[2])\r\n", " X4.append(x[3])\r\n", "x" ], "execution_count": 114, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([-107.211101 , 11.36396724, 10.1710646 , -27.27843494])" ] }, "metadata": { "tags": [] }, "execution_count": 114 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/", "height": 1000 }, "id": "CbsxYFUOQq-1", "outputId": "797680b9-8dfa-4ec9-e3a2-7be176021c04" }, "source": [ "plt.plot(X1)\r\n", "plt.show()\r\n", "plt.plot(X2)\r\n", "plt.show()\r\n", "plt.plot(X3)\r\n", "plt.show()\r\n", "plt.plot(X4)\r\n", "plt.show()" ], "execution_count": 115, "outputs": [ { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "tags": [], "needs_background": "light" } }, { "output_type": "display_data", "data": { "image/png": "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\n", "text/plain": [ "<Figure size 432x288 with 1 Axes>" ] }, "metadata": { "tags": [], "needs_background": "light" } } ] }, { "cell_type": "markdown", "metadata": { "id": "B8X7uODLm1_l" }, "source": [ "# Q2" ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "9hqKfU7CUSfh", "outputId": "da365874-047e-4619-ff59-4fc68d02acb6" }, "source": [ "def jacobian(X):\r\n", " x,y,z = X[0],X[1],X[2]\r\n", " return np.array([[3*y,1,-1],[1,-x*x,1],[1,-1,-1]])\r\n", "\r\n", "def function(X):\r\n", " x,y,z = X[0],X[1],X[2]\r\n", " return np.array([3*x*y+y-z-12, x-(x**2)*y+z-12,x-y-z+2])\r\n", "\r\n", "def iter_newton(X,function,jacobian,imax = 1e5,tol = 1e-3):\r\n", " for i in range(int(imax)):\r\n", " J = jacobian(X) \r\n", " Y = function(X)\r\n", " dX = np.linalg.solve(J,Y)\r\n", " X -= dX \r\n", " if np.linalg.norm(dX)<tol: \r\n", " print('converged.')\r\n", " break\r\n", " return X\r\n", "\r\n", "X_0 = np.array([1,2,3],dtype=float)\r\n", "X = iter_newton(X_0,function,jacobian)\r\n", "\r\n", "X" ], "execution_count": 106, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([ 0.32933242, -0.05412677, 2.38345919])" ] }, "metadata": { "tags": [] }, "execution_count": 106 } ] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "re9usTKeZK0N", "outputId": "4d3ac242-1a81-4606-838c-ec6e4ed1d143" }, "source": [ "def successive(X,imax = 1e5):\r\n", " for i in range(int(imax)):\r\n", " X[1] = (X[0]+X[2]-12)/(X[0]**2)\r\n", " X[2] = 3*X[0]*X[1]+X[1]-12\r\n", " X[0] = X[1]+X[2]-2\r\n", " return X\r\n", "\r\n", "X_0 = np.array([2,1,2],dtype=float)\r\n", "X = successive(X_0)\r\n", "X" ], "execution_count": 112, "outputs": [ { "output_type": "execute_result", "data": { "text/plain": [ "array([-2.65359517, -1.90350833, 1.24991316])" ] }, "metadata": { "tags": [] }, "execution_count": 112 } ] }, { "cell_type": "markdown", "metadata": { "id": "P7O6abqjfd56" }, "source": [ "Both the solution satisfies the equation!" ] }, { "cell_type": "markdown", "metadata": { "id": "6FGyyflfgyMJ" }, "source": [ "# Q3.i\r\n", "\r\n", "Let y be the vertical height of the ladder and x be the horizontal length.\r\n", "\r\n", "Therefore length of ladder $L = \\sqrt{x^2+y^2}$ <br>\r\n", "Now using similar triangle property\r\n", "$$\r\n", "\\frac{y}{x} = \\frac{h}{x-d}\r\n", "$$\r\n", "\r\n", "Therefore,\r\n", "$$\r\n", "L = \\sqrt{x^2+(\\frac{hx}{x-d})^2}\r\n", "$$\r\n", "\r\n", "Substitute $h=d=6$\r\n", "\r\n", "Therefore,\r\n", "$$\r\n", "L = \\sqrt{x^2+(\\frac{6x}{x-6})^2}\r\n", "$$" ] }, { "cell_type": "code", "metadata": { "id": "0JeTU_72gxgz" }, "source": [ "gr = (np.sqrt(5) + 1) / 2\r\n", "\r\n", "def golden_section_search(f, x1, x2, tol=1e-5):\r\n", " y1 = x2 - (x2 - x1)/gr\r\n", " y2 = x1 + (x2 - x1) / gr\r\n", " while abs(x2 - x1) > tol:\r\n", " if f(y1) < f(y2):\r\n", " x2 = y2\r\n", " else:\r\n", " x1 = y1\r\n", " y1 = x2 - (x2 - x1) / gr\r\n", " y2 = x1 + (x2 - x1) / gr\r\n", " return (x2 + x1) / 2" ], "execution_count": 121, "outputs": [] }, { "cell_type": "code", "metadata": { "colab": { "base_uri": "https://localhost:8080/" }, "id": "Wg-C02p1fjZA", "outputId": "b362e3e8-1541-46cf-a5cb-17d507182567" }, "source": [ "def f(x):\r\n", " a = (6*x/(x-6))\r\n", " return np.sqrt(x**2+a**2)\r\n", "\r\n", "x = golden_section_search(f, 1, 20)\r\n", "print(\"%.15f\" % x)" ], "execution_count": 133, "outputs": [ { "output_type": "stream", "text": [ "12.000001905449494\n" ], "name": "stdout" } ] }, { "cell_type": "markdown", "metadata": { "id": "Z2UuqOiAksXN" }, "source": [ "This gives $x=12$ and therefore $y=12$. i.e, $L=12\\sqrt{2}$" ] } ] }