summaryrefslogtreecommitdiff
path: root/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb
diff options
context:
space:
mode:
authorTrupti Kini2016-06-22 23:30:24 +0600
committerTrupti Kini2016-06-22 23:30:24 +0600
commitc04cc76e83e0c8b993bbbb78cf4f2f2bf7cca942 (patch)
treef340a2fdaea4e2ef1b3d6bcb4ef38b7414b6ab2e /Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb
parentcb31e70cbb51dc799740b24a3d1adac53452d072 (diff)
downloadPython-Textbook-Companions-c04cc76e83e0c8b993bbbb78cf4f2f2bf7cca942.tar.gz
Python-Textbook-Companions-c04cc76e83e0c8b993bbbb78cf4f2f2bf7cca942.tar.bz2
Python-Textbook-Companions-c04cc76e83e0c8b993bbbb78cf4f2f2bf7cca942.zip
Added(A)/Deleted(D) following books
A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter10_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter13_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter1_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter21_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter22_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter23_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter24_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter26_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter27_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter28_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter2_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter34_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter35_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter4_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter5_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter6_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/chapter9_2.ipynb A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen1_2.png A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen2_2.png A Higher_Engineering_Mathematics_by_B._S._Grewal/screenshots/screen3_2.png A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter1.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter10.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter2.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter3.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter4.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter5.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter7.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter8.ipynb A Linear_Algebra_by_K._Hoffman_and_R._Kunze/screenshots/InverseMatrix.png A Linear_Algebra_by_K._Hoffman_and_R._Kunze/screenshots/determinant.png A Linear_Algebra_by_K._Hoffman_and_R._Kunze/screenshots/scalorpolynomial.png
Diffstat (limited to 'Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb')
-rw-r--r--Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb503
1 files changed, 503 insertions, 0 deletions
diff --git a/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb b/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb
new file mode 100644
index 00000000..9ad1cbe2
--- /dev/null
+++ b/Linear_Algebra_by_K._Hoffman_and_R._Kunze/Chapter6.ipynb
@@ -0,0 +1,503 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "# Chapter 6 - Elementary canonical forms"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 184 Example 6.1"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Standard ordered matrix for Linear operator T on R**2 is:\n",
+ "A = \n",
+ "Matrix([[0, -1], [1, 0]])\n",
+ "The characteristic polynomial for T or A is: Matrix([[x, 1], [-1, x]])\n",
+ "Since this polynomial has no real roots,T has no characteristic values.\n"
+ ]
+ }
+ ],
+ "source": [
+ "import sympy as sp\n",
+ "print 'Standard ordered matrix for Linear operator T on R**2 is:'\n",
+ "A = sp.Matrix(([0, -1],[1 ,0]))\n",
+ "print 'A = \\n',A\n",
+ "print 'The characteristic polynomial for T or A is:',\n",
+ "x = sp.Symbol(\"x\")\n",
+ "p = (x*sp.eye(2)-A)\n",
+ "print p\n",
+ "print 'Since this polynomial has no real roots,T has no characteristic values.'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 184 Example 6.2"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A = \n",
+ "Matrix([[3, 1, -1], [2, 2, -1], [2, 2, 0]])\n",
+ "Characteristic polynomial for A is: x**3 - 5*x**2 + 8*x - 4\n",
+ "or\n",
+ "(x-1)(x-2)**2\n",
+ "The characteristic values of A are:\n",
+ "[1, 2]\n",
+ "Now, A-I = \n",
+ "Matrix([[2, 1, -1], [2, 1, -1], [2, 2, -1]])\n",
+ "rank of A - I= 2\n",
+ "So, nullity of T-I = 1\n",
+ "The vector that spans the null space of T-I = [1, 0, 2]\n",
+ "Now,A-2I = \n",
+ "Matrix([[1, 1, -1], [2, 0, -1], [2, 2, -2]])\n",
+ "rank of A - 2I= 2\n",
+ "T*alpha = 2*alpha if alpha is a scalar multiple of a2\n",
+ "a2 = [1, 1, 2]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import sympy as sp\n",
+ "A = sp.Matrix(([3, 1, -1],[ 2, 2, -1],[2, 2, 0]))\n",
+ "print 'A = \\n',A\n",
+ "print 'Characteristic polynomial for A is:',\n",
+ "x=sp.Symbol('x')\n",
+ "p = A.charpoly(x)#\n",
+ "print p.as_expr()\n",
+ "print 'or'\n",
+ "print '(x-1)(x-2)**2'\n",
+ "\n",
+ "r = sp.solve(p.as_expr())#\n",
+ "[m,n] = A.shape\n",
+ "print 'The characteristic values of A are:'\n",
+ "print r #print round(r)\n",
+ "B = A-sp.eye(m)\n",
+ "print 'Now, A-I = \\n',B\n",
+ "\n",
+ "print 'rank of A - I= ',B.rank()\n",
+ "print 'So, nullity of T-I = 1'\n",
+ "a1 = [1 ,0 ,2]#\n",
+ "print 'The vector that spans the null space of T-I = ',a1\n",
+ "B = A-2*sp.eye(m)\n",
+ "print 'Now,A-2I = \\n',B\n",
+ "print 'rank of A - 2I= ',B.rank()\n",
+ "print 'T*alpha = 2*alpha if alpha is a scalar multiple of a2'\n",
+ "a2 = [1 ,1 ,2]\n",
+ "print 'a2 = ',a2"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 187 Example 6.3"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Standard ordered matrix for Linear operator T on R**3 is:\n",
+ "A = \n",
+ "Matrix([[5, -6, -6], [-1, 4, 2], [3, -6, -4]])\n",
+ "xI - A = \n",
+ "Matrix([[x - 5, 6, 6], [1, x - 4, -2], [-3, 6, x + 4]])\n",
+ "Applying row and column transformations:\n",
+ "C2 = C2 - C3\n",
+ "=>\n",
+ "Matrix([[x - 5, 0, 6], [1, x - 2, -2], [-3, -x + 2, x + 4]])\n",
+ "Taking (x-2) common from C2\n",
+ "=>\n",
+ " * x - 2\n",
+ "Matrix([[x - 5, 0, 6], [1, 1, -2], [-3, (-x + 2)/(x - 2), x + 4]])\n",
+ "R3 = R3 + R2\n",
+ "=>\n",
+ " * x - 2\n",
+ "Matrix([[x - 5, 0, 6], [1, 1, -2], [-2, (-x + 2)/(x - 2) + 1, x + 2]])\n",
+ "=>\n",
+ " * x - 2\n",
+ "Matrix([[x - 5, 6], [-2, x + 2]])\n",
+ "=>\n",
+ " * x - 2\n",
+ "x**2 - 3*x + 2\n",
+ "This is the characteristic polynomial\n",
+ "Now, A - I = Matrix([[4, -6, -6], [-1, 3, 2], [3, -6, -5]])\n",
+ "And, A- 2I = Matrix([[3, -6, -6], [-1, 2, 2], [3, -6, -6]])\n",
+ "rank(A-I) = 2\n",
+ "rank(A-2I) = 2\n",
+ "W1,W2 be the spaces of characteristic vectors associated with values 1,2\n",
+ "So by theorem 2, T is diagonalizable\n",
+ "Null space of (T- I) i.e basis of W1 is spanned by a1 = [[ 3 -1 3]]\n",
+ "Null space of (T- 2I) i.e. basis of W2 is spanned by vectors x1,x2,x3 such that x1 = 2x1 + 2x3\n",
+ "One example :\n",
+ "a2 = [[2 1 0]]\n",
+ "a3 = [[2 0 1]]\n",
+ "The diagonal matrix is:\n",
+ "D = [[1 0 0]\n",
+ " [0 2 0]\n",
+ " [0 0 2]]\n",
+ "The standard basis matrix is denoted as:\n",
+ "P = [[ 3 2 2]\n",
+ " [-1 1 0]\n",
+ " [ 3 0 1]]\n",
+ "AP = Matrix([[3, 4, 4], [-1, 2, 0], [3, 0, 2]])\n",
+ "PD = [[3 0 0]\n",
+ " [0 2 0]\n",
+ " [0 0 2]]\n",
+ "That is, AP = PD\n",
+ "=> inverse(P)*A*P = D\n"
+ ]
+ }
+ ],
+ "source": [
+ "import sympy as sp\n",
+ "import numpy as np\n",
+ "print 'Standard ordered matrix for Linear operator T on R**3 is:'\n",
+ "A = sp.Matrix(([5, -6, -6],[ -1, 4, 2],[ 3, -6, -4]))\n",
+ "print 'A = \\n',A\n",
+ "print 'xI - A = '\n",
+ "B = sp.eye(3)\n",
+ "x = sp.Symbol('x')\n",
+ "P = x*B - A#\n",
+ "print P\n",
+ "\n",
+ "print 'Applying row and column transformations:'\n",
+ "print 'C2 = C2 - C3'\n",
+ "P[:,1] = P[:,1] - P[:,2]\n",
+ "print '=>'\n",
+ "print P\n",
+ "print 'Taking (x-2) common from C2'\n",
+ "c = x-2#\n",
+ "P[:,1] = P[:,1] / (x-2)\n",
+ "print '=>'\n",
+ "print ' * ', c\n",
+ "print P\n",
+ "print 'R3 = R3 + R2'\n",
+ "P[2,:] = P[2,:] + P[1,:]\n",
+ "print '=>'\n",
+ "print ' * ', c\n",
+ "print P\n",
+ "P = sp.Matrix(([P[0,0], P[0,2]],[P[2,0], P[2,2]]))\n",
+ "print '=>'\n",
+ "print ' * ', c\n",
+ "print P\n",
+ "print '=>'\n",
+ "print ' * ',c\n",
+ "print P.det()\n",
+ "print 'This is the characteristic polynomial'\n",
+ "\n",
+ "print 'Now, A - I = ',A-B\n",
+ "print 'And, A- 2I = ',A-2*B\n",
+ "print 'rank(A-I) = ',np.rank(A-B)\n",
+ "\n",
+ "print 'rank(A-2I) = ',np.rank(A-2*B)\n",
+ "print 'W1,W2 be the spaces of characteristic vectors associated with values 1,2'\n",
+ "print 'So by theorem 2, T is diagonalizable'\n",
+ "a1 = np.array([[3, -1 ,3]])\n",
+ "a2 = np.array([[2, 1, 0]])\n",
+ "a3 = np.array([[2, 0, 1]])\n",
+ "print 'Null space of (T- I) i.e basis of W1 is spanned by a1 = ',a1\n",
+ "print 'Null space of (T- 2I) i.e. basis of W2 is spanned by vectors x1,x2,x3 such that x1 = 2x1 + 2x3'\n",
+ "print 'One example :'\n",
+ "print 'a2 = ',a2\n",
+ "print 'a3 = ',a3\n",
+ "print 'The diagonal matrix is:'\n",
+ "D = np.array([[1 ,0 ,0 ],[0, 2, 0],[0, 0, 2]])\n",
+ "print 'D = ',D\n",
+ "print 'The standard basis matrix is denoted as:'\n",
+ "P = np.transpose(np.vstack([a1,a2,a3]))\n",
+ "print 'P = ',P\n",
+ "print 'AP = ',A*P\n",
+ "print 'PD = ',P*D\n",
+ "print 'That is, AP = PD'\n",
+ "print '=> inverse(P)*A*P = D'"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 193 Example 6.4"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A = \n",
+ "[[ 5 -6 -6]\n",
+ " [-1 4 2]\n",
+ " [ 3 -6 -4]]\n",
+ "Characteristic polynomial of A is:\n",
+ "f = (x-1)(x-2)**2\n",
+ "i.e., f = (x - 2)**2*(x - 1)\n",
+ "(A-I)(A-2I) = Matrix([[0, 0, 0], [0, 0, 0], [0, 0, 0]])\n",
+ "Since, (A-I)(A-2I) = 0. So, Minimal polynomial for above is:\n",
+ "p = (x - 2)*(x - 1)\n",
+ "---------------------------------------\n",
+ "A = \n",
+ "[[ 3 1 -1]\n",
+ " [ 2 2 -1]\n",
+ " [ 2 2 0]]\n",
+ "Characteristic polynomial of A is:\n",
+ "f = (x-1)(x-2)**2\n",
+ "i.e., f = (x - 2)**2*(x - 1)\n",
+ "(A-I)(A-2I) = Matrix([[2, 0, -1], [2, 0, -1], [4, 0, -2]])\n",
+ "Since, (A-I)(A-2I) is not equal to 0. T is not diagonalizable. So, Minimal polynomial cannot be p.\n",
+ "---------------------------------------\n",
+ "A = \n",
+ "[[ 0 -1]\n",
+ " [ 1 0]]\n",
+ "Characteristic polynomial of A is:\n",
+ "f = x**2 + 1\n",
+ "A**2 + I = Matrix([[1, 1], [1, 1]])\n",
+ "Since, A**2 + I = 0, so minimal polynomial is\n",
+ "p = x**2 + 1\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import sympy as sp\n",
+ "\n",
+ "x = sp.Symbol(\"x\")\n",
+ "A = np.array([[5, -6, -6],[ -1, 4 ,2],[ 3, -6, -4]]) #Matrix given in Example 3\n",
+ "print 'A = \\n',A\n",
+ "f = (x-1)*(x-2)**2# \n",
+ "print 'Characteristic polynomial of A is:'\n",
+ "print 'f = (x-1)(x-2)**2'\n",
+ "print 'i.e., f = ',f\n",
+ "p = (x-1)*(x-2)#\n",
+ "print '(A-I)(A-2I) = ',(A-sp.eye(3))*(A-2 * sp.eye(3))\n",
+ "print 'Since, (A-I)(A-2I) = 0. So, Minimal polynomial for above is:'\n",
+ "print 'p = ',p\n",
+ "print '---------------------------------------'\n",
+ "\n",
+ "A = np.array([[3, 1 ,-1],[ 2, 2 ,-1],[2, 2, 0]]) #Matrix given in Example 2\n",
+ "print 'A = \\n',A\n",
+ "f = (x-1)*(x-2)**2# \n",
+ "print 'Characteristic polynomial of A is:'\n",
+ "print 'f = (x-1)(x-2)**2'\n",
+ "print 'i.e., f = ',f\n",
+ "print '(A-I)(A-2I) = ',(A-sp.eye(3))*(A-2 * sp.eye(3))\n",
+ "print 'Since, (A-I)(A-2I) is not equal to 0. T is not diagonalizable. So, Minimal polynomial cannot be p.'\n",
+ "print '---------------------------------------'\n",
+ "A = np.array([[0, -1],[1, 0]])\n",
+ "print 'A = \\n',A\n",
+ "f = x**2 + 1#\n",
+ "print 'Characteristic polynomial of A is:'\n",
+ "print 'f = ',f\n",
+ "print 'A**2 + I = ',A**2 + sp.eye(2)\n",
+ "print 'Since, A**2 + I = 0, so minimal polynomial is'\n",
+ "p = x**2 + 1\n",
+ "print 'p = ',p"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 197 Example 6.5"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A = \n",
+ "[[0 1 0 1]\n",
+ " [1 0 1 0]\n",
+ " [0 1 0 1]\n",
+ " [1 0 1 0]]\n",
+ "Computing powers on A:\n",
+ "A**2 = \n",
+ "[[0 1 0 1]\n",
+ " [1 0 1 0]\n",
+ " [0 1 0 1]\n",
+ " [1 0 1 0]]\n",
+ "A**3 = \n",
+ "[[0 1 0 1]\n",
+ " [1 0 1 0]\n",
+ " [0 1 0 1]\n",
+ " [1 0 1 0]]\n",
+ "if p = x**3 - 4x, then\n",
+ "p(A) = [[ 0 -3 0 -3]\n",
+ " [-3 0 -3 0]\n",
+ " [ 0 -3 0 -3]\n",
+ " [-3 0 -3 0]]\n",
+ "Minimal polynomial for A is: x**3 - 4*x\n",
+ "Characteristic values for A are: [-2, 0, 2]\n",
+ "Rank(A) = 2\n",
+ "So, from theorem 2, characteristic polynomial for A is: x**4 - 4*x**2\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "import sympy as sp\n",
+ "A = np.array([[0, 1, 0, 1],[1, 0 ,1 ,0],[0, 1, 0, 1],[1, 0, 1, 0]])\n",
+ "print 'A = \\n',A\n",
+ "print 'Computing powers on A:'\n",
+ "print 'A**2 = \\n',A*A\n",
+ "print 'A**3 = \\n',A*A*A\n",
+ "def p(x):\n",
+ " pp = x**3 - 4*x\n",
+ " return pp\n",
+ "print 'if p = x**3 - 4x, then'\n",
+ "print 'p(A) = ',p(A)\n",
+ "x = sp.Symbol(\"x\")\n",
+ "f = x**3 - 4*x\n",
+ "print 'Minimal polynomial for A is: ',f\n",
+ "print 'Characteristic values for A are:',sp.solve(f,x)\n",
+ "print 'Rank(A) = ',np.rank(A)\n",
+ "print 'So, from theorem 2, characteristic polynomial for A is:',sp.Matrix(A).charpoly(x).as_expr()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Page 210 Example 6.12"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {
+ "collapsed": false
+ },
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "A = \n",
+ "[[ 9. 1. 3.]\n",
+ " [ 10. 1. 3.]\n",
+ " [ 10. 5. 1.]]\n",
+ "A transpose is:\n",
+ "A' = \n",
+ "[[ 9. 10. 10.]\n",
+ " [ 1. 1. 5.]\n",
+ " [ 3. 3. 1.]]\n",
+ "Since, A' is not equal to A, A is not a symmetric matrix.\n",
+ "Since, A' is not equal to -A, A is not a skew-symmetric matrix.\n",
+ "A can be expressed as sum of A1 and A2\n",
+ "i.e., A = A1 + A2\n",
+ "A1 = \n",
+ "[[ 9. 5.5 6.5]\n",
+ " [ 5.5 1. 4. ]\n",
+ " [ 6.5 4. 1. ]]\n",
+ "A2 = \n",
+ "[[ 0. -4.5 -3.5]\n",
+ " [ 4.5 0. -1. ]\n",
+ " [ 3.5 1. 0. ]]\n",
+ "A1 + A2 = \n",
+ "[[ 9. 1. 3.]\n",
+ " [ 10. 1. 3.]\n",
+ " [ 10. 5. 1.]]\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "\n",
+ "A = np.random.rand(3,3)\n",
+ "for i in range(0,3):\n",
+ " for j in range(0,3):\n",
+ " A[i,j]=round(A[i,j]*10)\n",
+ " \n",
+ "print 'A = \\n',A\n",
+ "print 'A transpose is:\\n',\n",
+ "Adash=np.transpose(A)\n",
+ "print \"A' = \\n\",Adash\n",
+ "if np.equal(Adash,A).all():\n",
+ " print \"Since, A' = A, A is a symmetric matrix.\"\n",
+ "else:\n",
+ " print \"Since, A' is not equal to A, A is not a symmetric matrix.\"\n",
+ "\n",
+ "if np.equal(Adash,-A).all():\n",
+ " print \"Since, A' = -A, A is a skew-symmetric matrix.\"\n",
+ "else:\n",
+ " print \"Since, A' is not equal to -A, A is not a skew-symmetric matrix.\"\n",
+ "\n",
+ "A1 = 1./2*(A + Adash)\n",
+ "A2 = 1./2*(A - Adash)\n",
+ "print 'A can be expressed as sum of A1 and A2'\n",
+ "print 'i.e., A = A1 + A2'\n",
+ "print 'A1 = \\n',A1\n",
+ "print 'A2 = \\n',A2\n",
+ "print 'A1 + A2 = \\n',A1 + A2"
+ ]
+ }
+ ],
+ "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
+}