summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sample_notebooks/PriyankaSaini/CHAPTER1.ipynb372
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
+}