summaryrefslogtreecommitdiff
path: root/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb
diff options
context:
space:
mode:
Diffstat (limited to 'Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb')
-rw-r--r--[-rwxr-xr-x]Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb128
1 files changed, 61 insertions, 67 deletions
diff --git a/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb b/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb
index 2e2e4be2..4007526a 100755..100644
--- a/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb
+++ b/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb
@@ -41,7 +41,7 @@
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array\n",
"a1 = [1, 2]#\n",
"a2 = [3 ,4]#\n",
"print 'a1 = ',a1\n",
@@ -55,7 +55,7 @@
"print 'Now, we find scalars c1 and c2 for that we know T(c1a1 + c2a2) = c1(Ta1) + c2(Ta2))'\n",
"print 'if(1,0) = c1(1,2) + c2(3,4), then '\n",
"#c = inv([a1#a2]') * [1#0]#\n",
- "c=np.array([a1,a2]).dot(np.array([[1],[0]]))\n",
+ "c=array([a1,a2]).dot(array([[1],[0]]))\n",
"c1 = c[0,0]\n",
"c2 = c[1,0]\n",
"print 'c1 = ',c1\n",
@@ -84,27 +84,27 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "x1 = 5\n",
- "x2 = 2\n",
- "T(5,2) = [7, 5]\n",
+ "x1 = 3\n",
+ "x2 = 8\n",
+ "T(3,8) = [11, 3]\n",
"If, T(x1,x2) = 0, then\n",
"x1 = x2 = 0\n",
"So, T is non-singular\n",
"z1,z2 are two scalars in F\n",
"z1 = 0\n",
- "z2 = 8\n",
- "So, x1 = 8\n",
- "x2 = -8\n",
+ "z2 = 4\n",
+ "So, x1 = 4\n",
+ "x2 = -4\n",
"Hence, T is onto.\n",
- "inverse(T) = [8, -8]\n"
+ "inverse(T) = [4, -4]\n"
]
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array,random\n",
"#x = round(rand(1,2) * 10)#\n",
- "x1 = np.random.randint(1,9)\n",
- "x2 = np.random.randint(1,9)\n",
+ "x1 = random.randint(1,9)\n",
+ "x2 = random.randint(1,9)\n",
"T = [x1+x2 ,x1]\n",
"print 'x1 = ',x1\n",
"print 'x2 = ',x2\n",
@@ -115,8 +115,8 @@
"print 'So, T is non-singular'\n",
"print 'z1,z2 are two scalars in F'\n",
"\n",
- "z1 = np.random.randint(0,9)\n",
- "z2 = np.random.randint(0,9)\n",
+ "z1 = random.randint(0,9)\n",
+ "z2 = random.randint(0,9)\n",
"print 'z1 = ',z1\n",
"print 'z2 = ',z2\n",
"x1 = z2#\n",
@@ -183,7 +183,7 @@
},
{
"cell_type": "code",
- "execution_count": 5,
+ "execution_count": 4,
"metadata": {
"collapsed": false
},
@@ -207,14 +207,14 @@
}
],
"source": [
- "import numpy as np\n",
- "import sympy as sp\n",
+ "from numpy import array,zeros\n",
+ "from sympy import Symbol,diff\n",
"print 'Differentiation operator D is defined as:'\n",
- "D = np.zeros([4,4])\n",
- "x=sp.Symbol('x')\n",
+ "D = zeros([4,4])\n",
+ "x=Symbol('x')\n",
"for i in range(1,5):\n",
" t= i-1#\n",
- " f = sp.diff(x**t,'x')\n",
+ " f = diff(x**t,'x')\n",
" print '(Df%d)(x) = '%(i),\n",
" print f\n",
" if not(i == 1):\n",
@@ -234,7 +234,7 @@
},
{
"cell_type": "code",
- "execution_count": 6,
+ "execution_count": 5,
"metadata": {
"collapsed": false
},
@@ -263,19 +263,19 @@
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array,transpose,linalg\n",
"print 'T is a linear operator on R**2 defined as T(x1,x2) = (x1,0)'\n",
"print 'So, the matrix T in standard ordered basis B = {e1,e2} is '\n",
- "T = np.array([[1, 0],[0, 0]])\n",
+ "T = array([[1, 0],[0, 0]])\n",
"print '[T]B = ',T\n",
"print 'Let B'' is the ordered basis for R**2 consisting of vectors:'\n",
- "E1 = np.array([1, 1])\n",
- "E2 = np.array([2 ,1])\n",
+ "E1 = array([1, 1])\n",
+ "E2 = array([2 ,1])\n",
"print 'E1 = ',E1\n",
"print 'E2 = ',E2\n",
- "P = np.transpose(([E1,E2]))\n",
+ "P = transpose(([E1,E2]))\n",
"print 'So, matrix P = \\n',P\n",
- "Pinv=np.linalg.inv(P)\n",
+ "Pinv=linalg.inv(P)\n",
"print 'P inverse = \\n',Pinv\n",
"T1 = Pinv*T*P#\n",
"print 'So, matrix T in ordered basis B'' is [T]B'' = \\n',T1"
@@ -290,7 +290,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 6,
"metadata": {
"collapsed": false
},
@@ -316,24 +316,24 @@
}
],
"source": [
- "import sympy as sp\n",
- "t = sp.Symbol(\"t\")\n",
+ "from sympy import Symbol, Matrix\n",
+ "t = Symbol(\"t\")\n",
"print 'g1 = f1'\n",
"print 'g2 = t*f1 + f2'\n",
"print 'g3 = t**2*f1 + 2*t*f2 + f3'\n",
"print 'g4 = t**3*f1 + 3*t**2*f2 + 3*t*f3 + f4'\n",
- "P = sp.Matrix(([1, t, t**2, t**3],[0 ,1 ,2*t, 3*t**2],[0, 0, 1, 3*t],[0, 0, 0, 1]))\n",
+ "P = Matrix(([1, t, t**2, t**3],[0 ,1 ,2*t, 3*t**2],[0, 0, 1, 3*t],[0, 0, 0, 1]))\n",
"print 'P = \\n',P\n",
"\n",
- "print 'inverse P = \\n',sp.Matrix.inv(P)\n",
+ "print 'inverse P = \\n',Matrix.inv(P)\n",
"\n",
"\n",
"\n",
"print 'Matrix of differentiation operator D in ordered basis B is:'# #As found in example 15\n",
- "D = sp.Matrix(([0, 1, 0, 0],[0, 0, 2, 0],[0, 0, 0, 3],[0, 0, 0, 0]))\n",
+ "D = Matrix(([0, 1, 0, 0],[0, 0, 2, 0],[0, 0, 0, 3],[0, 0, 0, 0]))\n",
"print 'D = \\n',D\n",
"print 'Matrix of D in ordered basis B'' is:'\n",
- "print 'inverse(P) * D * P = ',sp.Matrix.inv(P)*D*P\n"
+ "print 'inverse(P) * D * P = ',Matrix.inv(P)*D*P\n"
]
},
{
@@ -345,7 +345,7 @@
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": 7,
"metadata": {
"collapsed": false
},
@@ -354,47 +354,41 @@
"name": "stdout",
"output_type": "stream",
"text": [
- "n = 8\n",
+ "n = 5\n",
"A = \n",
- "[[ 7. 3. 0. 4. 6. 8. 4. 4.]\n",
- " [ 6. 4. 2. 8. 7. 8. 1. 7.]\n",
- " [ 7. 0. 9. 3. 10. 9. 3. 8.]\n",
- " [ 7. 5. 10. 1. 8. 6. 6. 5.]\n",
- " [ 8. 8. 9. 9. 1. 9. 10. 4.]\n",
- " [ 6. 3. 5. 2. 2. 4. 8. 4.]\n",
- " [ 5. 1. 1. 2. 6. 9. 9. 5.]\n",
- " [ 8. 6. 9. 9. 8. 9. 1. 2.]]\n",
+ "[[ 5. 9. 7. 8. 6.]\n",
+ " [ 3. 3. 2. 7. 6.]\n",
+ " [ 5. 1. 3. 2. 6.]\n",
+ " [ 1. 2. 10. 4. 1.]\n",
+ " [ 9. 0. 7. 5. 7.]]\n",
"Trace of A:\n",
- "tr(A) = 37.0\n",
+ "tr(A) = 22.0\n",
"--------------------------------\n",
- "c = 3\n",
+ "c = 2\n",
"B = \n",
- "[[ 4. 6. 10. 5. 8. 4. 1. 9.]\n",
- " [ 9. 9. 3. 6. 3. 8. 2. 6.]\n",
- " [ 1. 6. 0. 7. 7. 2. 8. 4.]\n",
- " [ 5. 5. 9. 7. 9. 3. 9. 9.]\n",
- " [ 7. 7. 10. 6. 1. 1. 7. 4.]\n",
- " [ 0. 3. 10. 9. 5. 2. 8. 4.]\n",
- " [ 1. 8. 2. 4. 5. 4. 4. 8.]\n",
- " [ 7. 0. 1. 8. 2. 7. 4. 7.]]\n",
+ "[[ 6. 8. 8. 2. 4.]\n",
+ " [ 7. 6. 4. 3. 7.]\n",
+ " [ 6. 9. 8. 4. 8.]\n",
+ " [ 1. 4. 8. 4. 6.]\n",
+ " [ 10. 8. 2. 1. 6.]]\n",
"Trace of B:\n",
- "tr(B) = 34.0\n",
- "tr(cA + B) = 145.0\n"
+ "tr(B) = 30.0\n",
+ "tr(cA + B) = 74.0\n"
]
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array,random\n",
"def trace_matrix(M,n):\n",
" tr=0\n",
" for i in range(0,n):\n",
" tr = tr + M[i,i]#\n",
" return tr\n",
"#n = round(rand() * 10 + 2)#\n",
- "n=np.random.randint(1,9)\n",
+ "n=random.randint(1,9)\n",
"print 'n = ',n\n",
"#A = round(rand(n,n) * 10)#\n",
- "A=np.random.rand(n,n)\n",
+ "A=random.rand(n,n)\n",
"for x in range(0,n):\n",
" for y in range(0,n):\n",
" A[x,y]=round(A[x,y]*10)\n",
@@ -407,10 +401,10 @@
"print 'tr(A) = ',tr1\n",
"print '--------------------------------'\n",
"#c = round(rand() * 10 + 2)#\n",
- "c=np.random.randint(2,9)\n",
+ "c=random.randint(2,9)\n",
"print 'c = ',c\n",
"\n",
- "B=np.random.rand(n,n)\n",
+ "B=random.rand(n,n)\n",
"for x in range(0,n):\n",
" for y in range(0,n):\n",
" B[x,y]=round(B[x,y]*10)\n",
@@ -431,7 +425,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 8,
"metadata": {
"collapsed": false
},
@@ -488,9 +482,9 @@
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array\n",
"print 'Matrix represented by given linear functionals on R**4:'\n",
- "A = np.array([[1, 2 ,2 ,1],[0, 2, 0, 1],[-2 ,0 ,-4, 3]])\n",
+ "A = array([[1, 2 ,2 ,1],[0, 2, 0, 1],[-2 ,0 ,-4, 3]])\n",
"print 'A = \\n',A\n",
"T = A #Temporary matrix to store A\n",
"print 'To find Row reduced echelon matrix of A given by R:'\n",
@@ -532,7 +526,7 @@
},
{
"cell_type": "code",
- "execution_count": 11,
+ "execution_count": 9,
"metadata": {
"collapsed": false
},
@@ -567,7 +561,7 @@
}
],
"source": [
- "import numpy as np\n",
+ "from numpy import array\n",
"print 'W be the subspace of R**5 spanned by vectors:'\n",
"a1 = [2, -2, 3 ,4 ,-1]#\n",
"a2 = [-1, 1, 2, 5, 2]#\n",
@@ -578,7 +572,7 @@
"print 'a3 = ',a3\n",
"print 'a4 = ',a4\n",
"print 'Matrix A by the row vectors a1,a2,a3,a4 will be:'\n",
- "A = np.array([a1,a2,a3,a4])\n",
+ "A = array([a1,a2,a3,a4])\n",
"print 'A = \\n',A\n",
"print 'After Applying row transformations, we get the row reduced echelon matrix R of A'\n",
"\n",