{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "import numpy.linalg as la" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "eps = 1e-2 # set to 1e-5, 1e-10\n", "\n", "A = np.array([\n", " [1, 1],\n", " [eps, 0],\n", " [0, eps],\n", " ])\n", "\n", "np.set_printoptions(precision=20)\n", "print A\n", "print np.dot(A.T, A)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "[[ 1. 1. ]\n", " [ 0.01000000000000000021 0. ]\n", " [ 0. 0.01000000000000000021]]\n", "[[ 1.00009999999999998899 1. ]\n", " [ 1. 1.00009999999999998899]]\n" ] } ], "prompt_number": 2 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Problem 1 is ...?" ] }, { "cell_type": "code", "collapsed": false, "input": [ "n = 5\n", "\n", "A = np.random.randn(5, 5) * 10**-np.linspace(0, -5, n)\n", "la.cond(A)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "60358.505352514032" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "la.cond(np.dot(A.T, A))" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 4, "text": [ "3643149168.4817424" ] } ], "prompt_number": 4 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Problem 2 is ...?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "General bound: $\\operatorname{cond}(AB)\\le \\dots$?" ] } ], "metadata": {} } ] }