diff options
-rw-r--r-- | sample_notebooks/PriyankaSaini/CHAPTER1.ipynb | 372 |
1 files changed, 372 insertions, 0 deletions
diff --git a/sample_notebooks/PriyankaSaini/CHAPTER1.ipynb b/sample_notebooks/PriyankaSaini/CHAPTER1.ipynb new file mode 100644 index 00000000..38783823 --- /dev/null +++ b/sample_notebooks/PriyankaSaini/CHAPTER1.ipynb @@ -0,0 +1,372 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Chapter 1 - Matrix notation & matrix multiplication" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:1 Pg:20" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "x=\n", + "[[u]\n", + " [v]\n", + " [w]]\n", + "R2=R2-R1,R3=R3-4*R1\n", + "[[1 1 1]\n", + " [0 0 3]\n", + " [0 2 4]]\n", + "R2<->R3\n", + "[[1 1 1]\n", + " [0 2 4]\n", + " [0 0 3]]\n", + "The system is now triangular and the equations can be solved by Back substitution\n" + ] + } + ], + "source": [ + "from sympy.abc import u,v,w\n", + "import numpy as np\n", + "a =np.array([[1 ,1 ,1],[2, 2, 5],[4, 6, 8]])\n", + "x=[[u],[v],[w]]\n", + "x=np.array(x)\n", + "print 'x=\\n',x\n", + "print 'R2=R2-R1,R3=R3-4*R1'\n", + "a[1,:]=a[1,:]-2*a[0,:]\n", + "a[2,:]=a[2,:]-4*a[0,:]\n", + "print a\n", + "print 'R2<->R3'\n", + "import numpy as np\n", + "def swap_rows(arr, frm, to):\n", + " arr[[frm, to],:] = arr[[to, frm],:]\n", + "swap_rows(a,1,2)\n", + "print a\n", + "print 'The system is now triangular and the equations can be solved by Back substitution'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:2 Pg:21" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "a=\n", + "[[1 1 1]\n", + " [2 2 5]\n", + " [4 4 8]]\n", + "x=\n", + "[[u]\n", + " [v]\n", + " [w]]\n", + "R2=R2-2*R1,R3=R3-4*R1\n", + "[[1 1 1]\n", + " [0 0 3]\n", + " [0 0 4]]\n", + "No exchange of equations can avoid zero in the second pivot positon ,therefore the equations are unsolvable\n" + ] + } + ], + "source": [ + "from sympy.abc import u,v,w\n", + "import numpy as np\n", + "a =np.array([[1, 1, 1],[2, 2, 5],[4, 4, 8]])\n", + "print 'a=\\n',a\n", + "x=[[u],[v],[w]]\n", + "x=np.array(x)\n", + "print 'x=\\n',x\n", + "print 'R2=R2-2*R1,R3=R3-4*R1'\n", + "a[1,:]=a[1,:]-2*a[0,:]\n", + "a[2,:]=a[2,:]-4*a[0,:]\n", + "print a\n", + "print 'No exchange of equations can avoid zero in the second pivot positon ,therefore the equations are unsolvable'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Ex:3 Pg:21" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A = \n", + "[[2 3]\n", + " [4 0]]\n", + "B = \n", + "[[ 1 2 0]\n", + " [ 5 -1 0]]\n", + "AB=\n", + "[[17 1 0]\n", + " [ 4 8 0]]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "A=np.array([[2, 3],[4, 0]])\n", + "print 'A = \\n',A\n", + "B=np.array([[1, 2, 0],[5, -1, 0]])\n", + "print 'B = \\n',B\n", + "print 'AB=\\n',A.dot(B)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:4 Pg:22" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A=\n", + "[[2 3]\n", + " [7 8]]\n", + "P(Row exchange matrix)=\n", + "[[0 1]\n", + " [1 0]]\n", + "PA=\n", + "[[7 8]\n", + " [2 3]]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "A=np.array([[2, 3],[7, 8]])\n", + "print 'A=\\n',A\n", + "P=np.array([[0, 1],[1, 0]])\n", + "print 'P(Row exchange matrix)=\\n',P\n", + "print 'PA=\\n',P.dot(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:5 Pg:24" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "A=\n", + "[[1 2]\n", + " [3 4]]\n", + "I=\n", + "[[ 1. 0.]\n", + " [ 0. 1.]]\n", + "IA=\n", + "[[ 1. 2.]\n", + " [ 3. 4.]]\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "A=np.array([[1, 2],[3, 4]])\n", + "print 'A=\\n',A\n", + "I=np.identity(2)\n", + "print 'I=\\n',I\n", + "print 'IA=\\n',I.dot(A)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:6 Pg:25" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "E=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 0. 0. 1.]]\n", + "F=\n", + "[[ 1. 0. 0.]\n", + " [ 0. 1. 0.]\n", + " [ 1. 0. 1.]]\n", + "EF=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 1. 0. 1.]]\n", + "FE=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 1. 0. 1.]]\n", + "Here,EF=FE,so this shows that these two matrices commute\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "E=np.identity(3)\n", + "E[1,:]=E[1,:]-2*E[0,:]\n", + "print 'E=\\n',E\n", + "F=np.identity(3)\n", + "F[2,:]=F[2,:]+F[0,:]\n", + "print 'F=\\n',F\n", + "print 'EF=\\n',E.dot(F)\n", + "print 'FE=\\n',F.dot(E)\n", + "print 'Here,EF=FE,so this shows that these two matrices commute'" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Ex:7 Pg:25" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "E=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 0. 0. 1.]]\n", + "F=\n", + "[[ 1. 0. 0.]\n", + " [ 0. 1. 0.]\n", + " [ 1. 0. 1.]]\n", + "G=\n", + "[[ 1. 0. 0.]\n", + " [ 0. 1. 0.]\n", + " [ 0. 1. 1.]]\n", + "GE= [[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [-2. 1. 1.]]\n", + "EG=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 0. 1. 1.]]\n", + "Here EG is not equal to GE,Therefore these two matrices do not commute and shows that most matrices do not commute.\n", + "GFE=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [-1. 1. 1.]]\n", + "EFG=\n", + "[[ 1. 0. 0.]\n", + " [-2. 1. 0.]\n", + " [ 1. 1. 1.]]\n", + "The product GFE is the true order of elimation.It is the matrix that takes the original A to the upper triangular U.\n" + ] + } + ], + "source": [ + "import numpy as np\n", + "E=np.identity(3)\n", + "E[1,:]=E[1,:]-2*E[0,:]\n", + "print 'E=\\n',E\n", + "F=np.identity(3)\n", + "F[2,:]=F[2,:]+F[0,:]\n", + "print 'F=\\n',F\n", + "G=np.identity(3)\n", + "G[2,:]=G[2,:]+G[1,:]\n", + "print 'G=\\n',G\n", + "print 'GE=',G.dot(E)\n", + "print 'EG=\\n',E.dot(G)\n", + "print 'Here EG is not equal to GE,Therefore these two matrices do not commute and shows that most matrices do not commute.'\n", + "print 'GFE=\\n',G.dot(F.dot(E))\n", + "print 'EFG=\\n',E.dot(F.dot(G))\n", + "print 'The product GFE is the true order of elimation.It is the matrix that takes the original A to the upper triangular U.'" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 2", + "language": "python", + "name": "python2" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 2 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython2", + "version": "2.7.9" + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} |