{"metadata": {"name": "", "signature": "sha256:ef423c670af97e2e4421195e937d9a6c3accb1a75e6970e4b8e190ee48e567e9"}, "worksheets": [{"metadata": {}, "cells": [{"metadata": {}, "source": ["# Gaussian elimination"], "cell_type": "markdown"}, {"outputs": [], "prompt_number": 3, "input": ["import numpy as np"], "language": "python", "metadata": {}, "cell_type": "code", "collapsed": false}, {"outputs": [{"prompt_number": 18, "metadata": {}, "output_type": "pyout", "text": ["array([[ 2., -2., 12., -1.],\n", " [ 1., 8., -5., -3.],\n", " [ 1., -2., -6., -1.],\n", " [ -2., 3., -8., -4.]])"]}], "prompt_number": 18, "input": ["\n", "np.random.seed(5)\n", "n = 4\n", "A = np.round(np.random.randn(n, n) * 5)\n", "A"], "language": "python", "metadata": {}, "cell_type": "code", "collapsed": false}, {"metadata": {}, "source": ["Now compute `A1` to eliminate `A[1,0]`:"], "cell_type": "markdown"}, {"outputs": [{"prompt_number": 23, "metadata": {}, "output_type": "pyout", "text": ["array([[ 2. , -2. , 12. , -1. ],\n", " [ 0. , 9. , -11. , -2.5],\n", " [ 1. , -2. , -6. , -1. ],\n", " [ -2. , 3. , -8. , -4. ]])"]}], "prompt_number": 23, "input": ["A1 = A.copy()\n", "A1[1] -= 1/2*A1[0]\n", "A1"], "language": "python", "metadata": {}, "cell_type": "code", "collapsed": false}, {"metadata": {}, "source": ["And `A2` with `A[2,0] == 0`:"], "cell_type": "markdown"}, {"outputs": [{"prompt_number": 25, "metadata": {}, "output_type": "pyout", "text": ["array([[ 2. , -2. , 12. , -1. ],\n", " [ 0. , 9. , -11. , -2.5],\n", " [ 0. , -1. , -12. , -0.5],\n", " [ -2. , 3. , -8. , -4. ]])"]}], "prompt_number": 25, "input": ["A2 = A1.copy()\n", "A2[2] -= 1/2*A[0]\n", "A2"], "language": "python", "metadata": {}, "cell_type": "code", "collapsed": false}, {"outputs": [], "input": [], "language": "python", "metadata": {}, "cell_type": "code", "collapsed": false}]}], "nbformat_minor": 0, "nbformat": 3}