{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Chapter 7 Computations with Matrices" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:7.4.1 Pg: 238" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "intial v & w:\n", "[[ 0.]\n", " [ 0.]] \n", "\n", "k= 0\n", "v(k+1) & w(k+1)= [[ 1.]\n", " [ 1.]] \n", "\n", "k= 1\n", "v(k+1) & w(k+1)= [[ 1.5]\n", " [ 1.5]] \n", "\n", "k= 2\n", "v(k+1) & w(k+1)= [[ 1.75]\n", " [ 1.75]] \n", "\n", "k= 3\n", "v(k+1) & w(k+1)= [[ 1.875]\n", " [ 1.875]] \n", "\n", "k= 4\n", "v(k+1) & w(k+1)= [[ 1.9375]\n", " [ 1.9375]] \n", "\n", "k= 5\n", "v(k+1) & w(k+1)= [[ 1.96875]\n", " [ 1.96875]] \n", "\n", "k= 6\n", "v(k+1) & w(k+1)= [[ 1.984375]\n", " [ 1.984375]] \n", "\n", "k= 7\n", "v(k+1) & w(k+1)= [[ 1.9921875]\n", " [ 1.9921875]] \n", "\n", "k= 8\n", "v(k+1) & w(k+1)= [[ 1.99609375]\n", " [ 1.99609375]] \n", "\n", "k= 9\n", "v(k+1) & w(k+1)= [[ 1.99804688]\n", " [ 1.99804688]] \n", "\n", "k= 10\n", "v(k+1) & w(k+1)= [[ 1.99902344]\n", " [ 1.99902344]] \n", "\n", "k= 11\n", "v(k+1) & w(k+1)= [[ 1.99951172]\n", " [ 1.99951172]] \n", "\n", "k= 12\n", "v(k+1) & w(k+1)= [[ 1.99975586]\n", " [ 1.99975586]] \n", "\n", "k= 13\n", "v(k+1) & w(k+1)= [[ 1.99987793]\n", " [ 1.99987793]] \n", "\n", "k= 14\n", "v(k+1) & w(k+1)= [[ 1.99993896]\n", " [ 1.99993896]] \n", "\n", "k= 15\n", "v(k+1) & w(k+1)= [[ 1.99996948]\n", " [ 1.99996948]] \n", "\n", "k= 16\n", "v(k+1) & w(k+1)= [[ 1.99998474]\n", " [ 1.99998474]] \n", "\n", "k= 17\n", "v(k+1) & w(k+1)= [[ 1.99999237]\n", " [ 1.99999237]] \n", "\n", "k= 18\n", "v(k+1) & w(k+1)= [[ 1.99999619]\n", " [ 1.99999619]] \n", "\n", "k= 19\n", "v(k+1) & w(k+1)= [[ 1.99999809]\n", " [ 1.99999809]] \n", "\n", "k= 20\n", "v(k+1) & w(k+1)= [[ 1.99999905]\n", " [ 1.99999905]] \n", "\n", "k= 21\n", "v(k+1) & w(k+1)= [[ 1.99999952]\n", " [ 1.99999952]] \n", "\n", "k= 22\n", "v(k+1) & w(k+1)= [[ 1.99999976]\n", " [ 1.99999976]] \n", "\n", "k= 23\n", "v(k+1) & w(k+1)= [[ 1.99999988]\n", " [ 1.99999988]] \n", "\n", "k= 24\n", "v(k+1) & w(k+1)= [[ 1.99999994]\n", " [ 1.99999994]] \n", "\n", "k= 25\n", "v(k+1) & w(k+1)= [[ 1.99999997]\n", " [ 1.99999997]] \n", "\n" ] } ], "source": [ "from __future__ import division\n", "from numpy import mat,transpose,zeros\n", "A=mat([[2 ,-1],[-1, 2]])\n", "S=mat([[2, 0],[0, 2]])\n", "T=mat([[0, 1],[1, 0]])\n", "p=S**-1*T\n", "b=transpose(mat([2 ,2]))\n", "x=zeros([2,1])\n", "print 'intial v & w:\\n',x,'\\n'\n", "x_1=zeros([1,2])\n", "for k in range(0,26):\n", " x_1=p*x+(S**-1)*b\n", " x=x_1\n", " print 'k=',k\n", " print 'v(k+1) & w(k+1)=',x_1,'\\n'\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Ex:7.4.2 Pg: 238" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "collapsed": false }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "intial v & w: [[ 0.]\n", " [ 0.]]\n", "k=\n", "0\n", "v(k+1) & w(k+1)=\n", "[[ 0.10887353]\n", " [ 0.53877511]]\n", "k=\n", "1\n", "v(k+1) & w(k+1)=\n", "[[ 0.37826108]\n", " [ 0.67346888]]\n", "k=\n", "2\n", "v(k+1) & w(k+1)=\n", "[[ 0.44560797]\n", " [ 0.70714233]]\n", "k=\n", "3\n", "v(k+1) & w(k+1)=\n", "[[ 0.46244469]\n", " [ 0.71556069]]\n", "k=\n", "4\n", "v(k+1) & w(k+1)=\n", "[[ 0.46665387]\n", " [ 0.71766528]]\n", "k=\n", "5\n", "v(k+1) & w(k+1)=\n", "[[ 0.46770617]\n", " [ 0.71819143]]\n", "k=\n", "6\n", "v(k+1) & w(k+1)=\n", "[[ 0.46796924]\n", " [ 0.71832296]]\n", "k=\n", "7\n", "v(k+1) & w(k+1)=\n", "[[ 0.46803501]\n", " [ 0.71835585]]\n", "k=\n", "8\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805145]\n", " [ 0.71836407]]\n", "k=\n", "9\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805556]\n", " [ 0.71836612]]\n", "k=\n", "10\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805659]\n", " [ 0.71836664]]\n", "k=\n", "11\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805685]\n", " [ 0.71836676]]\n", "k=\n", "12\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805691]\n", " [ 0.7183668 ]]\n", "k=\n", "13\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "14\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "15\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "16\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "17\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "18\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "19\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "20\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "21\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "22\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "23\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "24\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n", "k=\n", "25\n", "v(k+1) & w(k+1)=\n", "[[ 0.46805693]\n", " [ 0.71836681]]\n" ] } ], "source": [ "from __future__ import division\n", "from numpy import mat,transpose,zeros\n", "from numpy.random import rand\n", "from numpy.linalg import inv\n", "A=mat([[2, -1],[-1, 2]])\n", "S=mat([[2, 0],[-1, 2]])\n", "T=mat([[0, 1],[0, 0]])\n", "b=rand(2,1)\n", "p=inv(S)*T\n", "x=zeros([2,1])\n", "print 'intial v & w:',x\n", "x_1=zeros([1,2])\n", "for k in range(0,26):\n", " x_1=p*x+inv(S)*b\n", " x=x_1\n", " print 'k=\\n',k\n", " print 'v(k+1) & w(k+1)=\\n',x_1" ] } ], "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 }