Skip to content

Instantly share code, notes, and snippets.

@rohitner
Created April 10, 2019 18:05
Show Gist options
  • Save rohitner/be9e179355a78eec23204031c37d96a6 to your computer and use it in GitHub Desktop.
Save rohitner/be9e179355a78eec23204031c37d96a6 to your computer and use it in GitHub Desktop.
assgn51
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Name: Sohan Rudra\n",
"### Roll No: 16MA20054"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"#library imports\n",
"import math\n",
"from collections import namedtuple\n",
"from fractions import Fraction \n",
"from copy import copy\n",
"import numpy as np\n",
"from numpy.linalg import inv\n",
"from sympy import symbols\n",
"import matplotlib.pyplot as plt\n",
"import warnings\n",
"warnings.filterwarnings(\"ignore\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"#some boilerplate code\n",
"Conditions = namedtuple('Conditions',('x0','xn','y0','yn','h','e'))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/latex": [
"\\begin{align}\n",
"y'' -(y)^{2} -2 = 0\\\\\n",
"x \\in (0,1) \\\\\n",
"y(0) = 0\\\\\n",
"y(1)= 0\\\\\n",
"\\end{align}"
],
"text/plain": [
"<IPython.core.display.Latex object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%latex\n",
"\\begin{align}\n",
"y'' -(y)^{2} -2 = 0\\\\\n",
"x \\in (0,1) \\\\\n",
"y(0) = 0\\\\\n",
"y(1)= 0\\\\\n",
"\\end{align}"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def initializer(x):\n",
" return x*(1-x)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def Finite_Diff_Solver(cond, y_k, verbose=True):\n",
" n = int(np.ceil((cond.xn - cond.x0)/cond.h))\n",
" a, b, c, d = np.zeros((n-2)), np.zeros((n-1)), np.zeros((n-2)), np.zeros((n-1))\n",
" #A\n",
" b[0] = 2.0 * (-1.0/cond.h**2 + y_k[1])\n",
" c[0] = 1.0/cond.h**2\n",
" \n",
" a[n-3] = 1.0/cond.h**2\n",
" b[n-2] = 2.0 * (-1.0/cond.h**2 + y_k[-2])\n",
" #d\n",
" d[0] = 3 * y_k[1]**2 + 2\n",
" d[n-2] = 3 * y_k[-2]**2 + 2\n",
" for i, xi in enumerate(np.arange(cond.x0 + 2.0*cond.h, cond.xn - cond.h, cond.h),\\\n",
" start=1):\n",
" if (abs((cond.x0 + 2.0*cond.h) - (cond.xn - cond.h)) < 1e-7):\n",
" continue\n",
" a[i-1] = 1.0 / cond.h**2\n",
" b[i] = 2.0 * (-1.0/cond.h**2 + y_k[i+1])\n",
" c[i] = 1.0 / cond.h**2\n",
" d[i] = 3 * y_k[i+1]**2 + 2\n",
" \n",
" def tridiag(a, b, c, k1=-1, k2=0, k3=1):\n",
" return np.diag(a, k1) + np.diag(b, k2) + np.diag(c, k3)\n",
" if verbose:\n",
" print(\"A={}\".format(tridiag(a,b,c)))\n",
" print(\"d={}\".format(d.T))\n",
" \n",
" return(a,b,c,d)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [],
"source": [
"def Thomas_Algorithm(coeff, cond):\n",
" a, b, c, d = coeff\n",
" n = int(np.ceil((cond.xn - cond.x0)/cond.h))\n",
" c1 = np.zeros((n-2))\n",
" d1 = np.zeros((n-1))\n",
" c1[0] = c[0]/b[0]\n",
" d1[0] = d[0]/b[0]\n",
" for i in range(1,n-2):\n",
" c1[i] = c[i]/(b[i]-a[i-1]*c1[i-1])\n",
" d1[i] = (d[i] - a[i-1] * d1[i-1])/(b[i]-a[i-1]*c1[i-1])\n",
" d1[n-2] = (d[n-2] - a[n-3] * d1[n-3])/(b[n-2] - a[n-3]*c1[n-3])\n",
" def backsubstitution(c,d):\n",
" y = np.zeros_like(d)\n",
" y[-1] = d[-1]\n",
" cache = y[-1]\n",
" for i in reversed(range(d.shape[0]-1)):\n",
" y[i] = d[i] - cache * c[i]\n",
" cache = y[i]\n",
" return y\n",
" fin_y = backsubstitution(c1,d1)\n",
" #print(fin_y)\n",
" y = np.append(fin_y, cond.yn)\n",
" y = np.append(cond.y0, y)\n",
" return y"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [],
"source": [
"def Newton_Solver(cond):\n",
" n = int(np.ceil((cond.xn - cond.x0)/cond.h))\n",
" print(n)\n",
" y_k = np.arange(cond.x0, cond.xn + cond.h, cond.h)\n",
" #print(y_k)\n",
" #print(initializer(y_k))\n",
" solutions = []\n",
" y_k = initializer(y_k)\n",
" tuples_coeff = Finite_Diff_Solver(cond, y_k, verbose=False)\n",
" y_k1 = Thomas_Algorithm(tuples_coeff, cond)\n",
" s = np.max(abs(y_k1 - y_k))\n",
" y_k = y_k1\n",
" while(s > cond.e):\n",
" y_k = copy(y_k1)\n",
" solutions.append(y_k)\n",
" tuples_coeff = Finite_Diff_Solver(cond, y_k, verbose=False)\n",
" y_k1 = Thomas_Algorithm(tuples_coeff, cond)\n",
" s = np.max(abs(y_k1 - y_k))\n",
" #print(s)\n",
" \n",
" y_k = y_k1\n",
" solutions.append(y_k)\n",
" return solutions"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"cond = Conditions(0.0,1.0,0.0,0.0,Fraction(1,10),0.001)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2ace43c9b0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"y = Newton_Solver(cond)\n",
"#print(len(y))\n",
"x_range = np.arange(cond.x0, cond.xn+cond.h, cond.h)\n",
"t1 = np.arange(cond.x0, cond.xn, 0.001)\n",
"fig = plt.figure(figsize=(10, 20))\n",
"ax = fig.add_subplot(311)\n",
"g = []\n",
"for i in range(len(y)):\n",
" ax.plot(x_range, y[i])\n",
" ax.scatter(x_range, y[i])\n",
" g.append(\"iter\"+str(i))\n",
"ax.legend(tuple(g))\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2acbc87240>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cond = Conditions(0.0,1.0,0.0,0.0,Fraction(1,5),0.001)\n",
"y = Newton_Solver(cond)\n",
"#print(len(y))\n",
"x_range = np.arange(cond.x0, cond.xn+cond.h, cond.h)\n",
"fig = plt.figure(figsize=(10,20))\n",
"ax = fig.add_subplot(311)\n",
"ax.set(title=\"BVP h=0.2\", xlabel=\"x\", ylabel=\"y\")\n",
"ax.plot(x_range, y[-1])\n",
"ax.scatter(x_range, y[-1])\n",
"\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"10\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2acc038048>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cond = Conditions(0.0,1.0,0.0,0.0,Fraction(1,10),0.001)\n",
"y = Newton_Solver(cond)\n",
"#print(len(y))\n",
"x_range = np.arange(cond.x0, cond.xn+cond.h, cond.h)\n",
"fig = plt.figure(figsize=(10,20))\n",
"ax = fig.add_subplot(311)\n",
"ax.set(title=\"BVP h=0.1\", xlabel=\"x\", ylabel=\"y\")\n",
"ax.plot(x_range, y[-1])\n",
"ax.scatter(x_range, y[-1])\n",
"\n",
"fig.show()"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"100\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f2ace43cdd8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"cond = Conditions(0.0,1.0,0.0,0.0,Fraction(1,100),0.001)\n",
"y = Newton_Solver(cond)\n",
"#print(len(y))\n",
"x_range = np.arange(cond.x0, cond.xn+cond.h, cond.h)\n",
"fig = plt.figure(figsize=(10,20))\n",
"ax = fig.add_subplot(311)\n",
"ax.set(title=\"BVP h=0.01\", xlabel=\"x\", ylabel=\"y\")\n",
"ax.plot(x_range, y[-1])\n",
"ax.scatter(x_range, y[-1])\n",
"\n",
"fig.show()"
]
}
],
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment