{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " Help Bold" -1 39 "Times" 1 12 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Bl ue Emphasis" -1 256 "Times" 0 0 0 0 255 1 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "Green Emphasis" -1 257 "Times" 1 12 0 128 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Maroon Emphasis" -1 258 "Times" 1 12 128 0 128 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Dark Red Emphasis" -1 259 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "Purple Emphasis" -1 264 "Times" 1 12 115 0 230 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Red Emphasi s" -1 265 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 270 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 276 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "Grey Emphasis" -1 285 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "System " 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Purp le Emphasis" -1 292 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 0 } {PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 128 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 3 0 3 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Time s" 1 14 128 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 } {PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Outpu t" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 } 1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 15 2 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 258 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 20 "Gaussian Elimination" }}{PARA 0 " " 0 "" {TEXT -1 37 "by Peter Stone, Nanaimo, B.C., Canada" }}{PARA 0 " " 0 "" {TEXT -1 19 "Version: 24.3.2007" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 40 "load extra procedures for linear systems" }}{PARA 0 "" 0 "" {TEXT -1 17 "The Maple m-file " }{TEXT 285 8 "linsys.m" }{TEXT -1 32 " is required by this worksheet. " }}{PARA 0 "" 0 "" {TEXT -1 121 "It c an be read into a Maple session by a command similar to the one that f ollows, where the file path gives its location." }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 34 "read \"K:\\\\Maple/procdrs/linsys.m\";" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 12 "Introduc tion" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 " " {TEXT -1 40 "Consider the system of linear equations:" }}{PARA 257 " " 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([x+y+z=15 ,`` ],[x+2*y +3*z=28 , ``],[x+4*y+5*z=46 ,`` ])" "6#-%*PIECEWISEG6%7$/,(%\"xG\"\"\" %\"yGF*%\"zGF*\"#:%!G7$/,(F)F**&\"\"#F*F+F*F**&\"\"$F*F,F*F*\"#GF.7$/, (F)F**&\"\"%F*F+F*F**&\"\"&F*F,F*F*\"#YF." }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "We can write thes e equations in the matrix form:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "matrix([[1,1,1],[1,2,3],[1,4,5]])*matrix([[x],[y],[z]]) = matrix([[15],[28],[46]])" "6#/*&-%'matrixG6#7%7%\"\"\"F*F*7%F*\"\"# \"\"$7%F*\"\"%\"\"&F*-F&6#7%7#%\"xG7#%\"yG7#%\"zGF*-F&6#7%7#\"#:7#\"#G 7#\"#Y" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 137 "The left-hand matrix is the coefficient matrix of t he linear system, and the right-hand matrix is the vector of constants for the system." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 177 "The following row operations correspond to legitimate ma nipulations of the system of equations so as to obtain at each stage a system which is equivalent to the original system." }}{PARA 0 "" 0 " " {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT 257 25 "Subtract row 1 from r ow 2" }{TEXT -1 1 "." }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "matrix([[1, 1, 1], [0, 1, 2], [1, 4, 5]])*matrix([[x], [y], [z]]) = matrix([[15], [13], [46]]);" "6#/*&-%'matrixG6#7%7%\"\"\"F*F*7%\"\"!F *\"\"#7%F*\"\"%\"\"&F*-F&6#7%7#%\"xG7#%\"yG7#%\"zGF*-F&6#7%7#\"#:7#\"# 87#\"#Y" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT 258 25 "Subtract row \+ 1 from row 3" }{TEXT -1 1 "." }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "matrix([[1, 1, 1], [0, 1, 2], [0, 3, 4]])*matrix([[x], \+ [y], [z]]) = matrix([[15], [13], [31]]);" "6#/*&-%'matrixG6#7%7%\"\"\" F*F*7%\"\"!F*\"\"#7%F,\"\"$\"\"%F*-F&6#7%7#%\"xG7#%\"yG7#%\"zGF*-F&6#7 %7#\"#:7#\"#87#\"#J" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT 265 33 "S ubtract 3 times row 2 from row 3" }{TEXT -1 1 "." }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "matrix([[1, 1, 1], [0, 1, 2], [0, 0, -2 ]])*matrix([[x], [y], [z]]) = matrix([[15], [13], [-8]]);" "6#/*&-%'ma trixG6#7%7%\"\"\"F*F*7%\"\"!F*\"\"#7%F,F,,$F-!\"\"F*-F&6#7%7#%\"xG7#% \"yG7#%\"zGF*-F&6#7%7#\"#:7#\"#87#,$\"\")F0" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT 256 18 "Divide row 3 by -2" }{TEXT -1 2 ". " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "matrix([[1, 1, 1], [0, 1, 2 ], [0, 0, 1]])*matrix([[x], [y], [z]]) = matrix([[15], [13], [4]]);" " 6#/*&-%'matrixG6#7%7%\"\"\"F*F*7%\"\"!F*\"\"#7%F,F,F*F*-F&6#7%7#%\"xG7 #%\"yG7#%\"zGF*-F&6#7%7#\"#:7#\"#87#\"\"%" }{TEXT -1 1 " " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 66 "At this stage we c an easily obtain the solution for the equations." }}{PARA 0 "" 0 "" {TEXT -1 46 "The 3rd row corresponds to the equation z = 4." }}{PARA 0 "" 0 "" {TEXT -1 45 "Then the 2nd row corresponds to the equation " }{XPPEDIT 18 0 "y+2*z=13" "6#/,&%\"yG\"\"\"*&\"\"#F&%\"zGF&F&\"#8" } {TEXT -1 42 ", so we can substitute for z to get y = 5." }}{PARA 0 "" 0 "" {TEXT -1 53 "The 1st row corresponds to the original 1st equation " }{XPPEDIT 18 0 "x+y+z=15" "6#/,(%\"xG\"\"\"%\"yGF&%\"zGF&\"#:" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 58 "Substituting y = 5 and \+ z = 4 in this equation gives x = 6." }}{PARA 0 "" 0 "" {TEXT -1 25 "Th us we have the solution" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([x=6, ``],[y=5, ``],[z=4, ``])" "6#-%*PIECEWISEG6%7$/% \"xG\"\"'%!G7$/%\"yG\"\"&F*7$/%\"zG\"\"%F*" }{TEXT -1 3 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 278 "The last steps for obtaining the solution by substitution, starting with the last va riable, is applicable when the coefficient matrix is in an upper trian gular matrix, that is, all its non-zero entries are on or above the ma in diagonal. This process is called back substitution." }}{PARA 0 "" 0 "" {TEXT -1 128 "The process of applying row operations to obtain th e coefficient matrix in upper triangular form is called Gaussian elimi nation." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 5 "Notes" }{TEXT -1 2 ": " }}{PARA 15 "" 0 "" {TEXT -1 323 "Adding a m ultiple of one row of a matrix to another row does not change the dete rminant of the matrix.\nIf we omit any row operations which involve mu ltiplying or dividing a row by a number, we can obtain the determinant of the original matrix as the product of the diagonal entries of the \+ resulting upper triangular matrix." }}{PARA 15 "" 0 "" {TEXT -1 298 "I nterchanging any pair of rows just changes the sign of the determinant , so we can count how many interchanges are made, and adjust the sign \+ of the determinant. A row interchange may be needed if the number 0 is encountered on the diagonal, and can be advantageous or desirable in \+ other situations." }}{PARA 15 "" 0 "" {TEXT -1 14 "The procedure " } {TEXT 0 16 "GaussElimination" }{TEXT -1 179 " given in the next sectio n performs only these last two two kinds of row operations, so the res ulting upper triangular matrix may have diagonal entries which are dif ferent from 1." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 49 "A p rocedure for performing Gaussian elimination: " }{TEXT 0 16 "GaussElim ination" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 23 "GaussElimination: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 260 17 "Calling Sequence:" }} {PARA 0 "" 0 "" {TEXT 262 1 "\n" }{TEXT -1 24 " GaussElimination(A )" }}{PARA 0 "" 0 "" {TEXT -1 32 " GaussElimination(A, 'rank')" }} {PARA 0 "" 0 "" {TEXT -1 39 " GaussElimination(A, 'rank', 'det')" }}{PARA 0 "" 0 "" {TEXT -1 45 " GaussElimination(A, 'rank', 'det', 'rng')" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }}{PARA 0 "" 0 " " {TEXT 23 10 " A - " }{TEXT -1 27 " a rectangular matrix. " }}{PARA 0 "" 0 "" {TEXT -1 5 " " }{TEXT 23 10 "'rank' - " }{TEXT -1 38 "(optional) for returning the rank of A" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }{TEXT 23 10 "'det' - " }{TEXT -1 45 "(optional) \+ for returning the determinant of A" }}{PARA 0 "" 0 "" {TEXT -1 5 " \+ " }{TEXT 23 10 "'rng' - " }{TEXT -1 94 "(optional) for returning in dices of column vectors of A which form a basis for the range space" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 12 "Descri ption:" }}{PARA 15 "" 0 "" {TEXT -1 75 "Gaussian elimination with row \+ pivoting is performed on an n by m matrix A. " }}{PARA 15 "" 0 "" {TEXT -1 770 "If the matrix contains floating-point or decimal numbers , then Gaussian elimination with (implicitly scaled) partial pivoting \+ is used where all arithmetic is done in floating-point at \"Digits\" p recision. In this case, the matrix entries on input must all be number s of type numeric or complex(numeric). With partial pivoting, two rows are interchanged so that diagonal element will be replaced as pivot e lement by an element of larger magnitude below it in the same column. \+ \nImplicit pivoting is a variation of partial pivoting in which effect ive scaling is performed by changing the way in which the pivot elemen t is chosen so that suitably scaled comparisons are maded instead of t he direct comparisons of ordinary partial pivoting. When solving a sys tem of equations " }{XPPEDIT 18 0 "C*`.`*x = b;" "6#/*(%\"CG\"\"\"%\". GF&%\"xGF&%\"bG" }{TEXT -1 221 ", with coefficient matrix C by applyin g Gaussian elimination to the augmented matrix, the use of implicit pi voting is equivalent to scaling all the equations so that the entry of maximum magnitude in each row of C is 1. " }}{PARA 15 "" 0 "" {TEXT -1 319 " If the matrix contains symbolic (non-numeric) expressions, th en Gaussian elimination with partial pivoting is used where two rows a re interchanged so that diagonal element will be replaced as pivot ele ment by an element with smaller length (that is, a less complicated al gebraic expression) below it in the same column" }}{PARA 15 "" 0 "" {TEXT -1 42 "The result is an upper triangular matrix. " }}{PARA 15 " " 0 "" {TEXT -1 161 "If an optional 2nd parameter is specified, and it is a name, it is assigned the rank of A. The rank of A is the number \+ of non-zero rows in the resulting matrix. " }}{PARA 15 "" 0 "" {TEXT -1 116 "If an optional 3rd parameter is also specified, and A is a squ are matrix, then it is assigned the determinant of A. " }}{PARA 15 "" 0 "" {TEXT -1 153 "If an optional 4th parameter is specified, then it \+ is assigned the set of indices which specify column vectors forming a \+ basis for the range space of A. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 261 8 "Options:" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 38 "pivot=none/partial/implicit/true/fals e" }}{PARA 0 "" 0 "" {TEXT -1 249 "With the option \"pivot=none\", whi ch is equivalent to \"pivot=false\", rearrangement of rows is only per formed in order to avoid using a zero pivot element.\nWith the option \+ \"pivot=partial\", partial pivoting will be performed if possible or a ppropriate." }}{PARA 0 "" 0 "" {TEXT -1 97 "With the option \"pivot=im plicit\", implicit pivoting will be performed if possible or appropria te." }}{PARA 0 "" 0 "" {TEXT -1 258 "When at least one entry is a floa ting point number, the default is \"pivot=implicit\", so that implicit pivoting (partial pivoting with implicit scaling) is used. In this ca se \"pivot=true\" is equivalent to \"pivot=implicit\", and this is the default behaviour. " }}{PARA 0 "" 0 "" {TEXT -1 182 "When all the en tries of A are exact rational numbers pivoting is only performed in or der to avoid using a zero pivot element. This is independent of the se tting of the pivot option. " }}{PARA 0 "" 0 "" {TEXT -1 250 "When the \+ matrix A contains symbolic (non-numeric) expressions, the default is \+ \"pivot=partial\", and partial pivoting based on the length of express ions is used. In this case \"pivot=true\" and \"pivot=implicit\" produ ce the same result as \"pivot=partial\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "info = true/false" }}{PARA 0 "" 0 "" {TEXT -1 154 "With the option \"info=true\", the information regard ing the choice of pivot element and the associated row operations is s hown as the computation procedes." }}{PARA 0 "" 0 "" {TEXT -1 25 "The \+ default \"info=false\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 15 "How to activate" }{TEXT -1 1 ":" }{TEXT 256 1 "\n" }{TEXT -1 155 "To make the procedure s active open the subsection, place the cursor anywhere after the prom pt [ > and press [Enter].\nYou can then close up the subsection." }} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 32 "GaussElimination: implementation " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7136 "GaussElimination := proc(AA,rank,det,rng)\n local A,Option s,pvt,flt,prntflg,scale,temp,\n d,m,n,i,j,l,r,cl,k,p,t,startopts,nmr c,rtnl,big;\n\n pvt := true;\n prntflg := false;\n startopts := \+ 2;\n if nargs>1 then \n if type(args[2],name) then\n st artopts := startopts + 1\n elif not type(args[2],`=`) then \n \+ error \"2nd argument must be a variable to which rank of the matr ix is assigned\"\n end if;\n if nargs>2 then\n if ty pe(args[3],name) then\n startopts := startopts + 1\n \+ elif not type(args[3],`=`) then \n error \"3rd argument m ust be a variable to which determinant of the matrix is assigned\"\n \+ end if;\n if nargs>3 then\n if type(args[4], name) then\n startopts := startopts + 1\n eli f not type(args[3],`=`) then \n error \"4th argument mus t be a variable to which the list of indices of column vectors which f orm a basis for the range space of the matrix is assigned\"\n \+ end if;\n end if;\n end if;\n end if;\n if startop ts<=nargs then\n Options:=[args[startopts..nargs]];\n if not type(Options,list(equation)) then\n error \"each optional arg ument after the %-1 argument must be an equation\",startopts-1;\n \+ end if;\n if hasoption(Options,'pivot','pvt','Options') then\n \+ if not member(pvt,\{true,false,'none','partial','implicit'\}) t hen\n error \"\\\"pivot\\\" must be 'none' <-> 'false', 'tr ue', 'partial' or 'implicit'\"\n end if;\n if pvt=fals e then pvt := 'none' end if; \n end if;\n if hasoption(Optio ns,'info','prntflg','Options') then\n if prntflg<>true then pr ntflg := false end if; \n end if;\n if nops(Options)>0 then \n error \"%1 is not a valid option for %2\",op(1,Options),pro cname;\n end if;\n end if;\n\n if not type(AA,'Matrix') then \n error \"1st argument must be a Matrix\"\n end if;\n m := L inearAlgebra['RowDimension'](AA);\n n := LinearAlgebra['ColumnDimens ion'](AA);\n\n A := Matrix(m,n);\n for i to m do\n for j to n do\n A[i,j] := eval(AA[i,j]);\n end do;\n end do;\n\n \+ flt := hastype(eval(A),float);\n if flt then \n A := map( evalf,A);\n if not type(A,'Matrix(complex(numeric))') then\n \+ error \"matrix entries must all evaluate to complex floats\"\n \+ end if;\n if pvt=true then pvt := 'implicit' end if;\n else\n if pvt='implicit' or pvt=true then pvt := 'partial' end if;\n \+ end if;\n\n rtnl := false;\n if not flt then\n rtnl := true; \n for i from 1 to m do\n for j from 1 to n do\n \+ if not type(A[i,j],rational) then\n rtnl := false; # \+ numeric and not rational\n break;\n end if; \+ \n end do;\n if not rtnl then break end if;\n end do;\n end if;\n if rtnl then pvt := 'none' end if;\n\n nmrc := \+ rtnl or flt;\n if not nmrc then A := map(normal,A) end if;\n\n if \+ pvt='implicit' then # save scaling information\n scale := Array(1 ..m);\n for i to m do\n big := 0.0;\n for j to m \+ do\n temp := abs(A[i,j]);\n if temp>big then big := temp end if \n end do;\n if big<>0.0 then\n \+ scale[i] := 1.0/big\n else\n pvt := 'partial'; \n if prntflg then\n print(`cannot perform im plicit pivoting`);\n end if;\n break;\n \+ end if;\n end do;\n end if;\n\n d := 1;\n\n if prntflg then \n if pvt='partial' then\n print(`performing Gaussian eli mination with partial pivoting to`);\n print(eval(A));\n \+ elif pvt='implicit' then\n print(`performing Gaussian eliminat ion with implicit pivoting to`);\n print(eval(A));\n else \n print(`performing Gaussian elimination without pivoting to` );\n print(eval(A));\n end if;\n end if;\n\n cl := \{ \};\n j := 1;\n for i from 1 to n do\n if j = m then break en d if;\n if prntflg then\n print(`searching for pivot in c olumn `||i);\n end if;\n p := 0;\n k := -1;\n for \+ l from j to m do\n if A[l,i]<>0 then \n if pvt='non e' then\n p := l;\n break\n eli f k = -1 then\n if pvt='implicit' then\n \+ k := abs(A[l,i])*scale[l];\n elif flt then\n \+ k := abs(A[l,i]);\n else\n k := length(A[l,i]);\n end if;\n p := l;\n \+ elif pvt='implicit' then\n temp := abs(A[l,i])*s cale[l];\n if temp>k then\n k := temp;\n \+ p := l;\n end if;\n elif flt the n\n temp := abs(A[l,i]);\n if temp>k then \n k := temp;\n p := l;\n en d if;\n elif not flt then\n temp := length(A[ l,i]);\n if tempj then\n A[[p,j],1..-1] := A[[j,p],1..-1]; \n if prntflg then\n print(`swap rows `||p||` and ` ||j);\n print(eval(A));\n end if;\n if pvt= 'implicit' then # adjust the scaling information\n temp := \+ scale[j];\n scale[j] := scale[p];\n scale[p] := \+ temp;\n end if;\n d := -d;\n end if;\n if pr ntflg then\n print(`pivot element is `,A[j,i]);\n end if; \n d := d*A[j,i]; \n\n # row operations #\n for k from j +1 to m do\n if A[k,i]=0 then next end if;\n t := A[k, i]/A[j,i];\n if not nmrc then t := normal(t) end if;\n \+ for r from i+1 to n do\n A[k,r] := A[k,r] - t*A[j,r];\n \+ if not nmrc then A[k,r] := normal(A[k,r]) end if;\n e nd do; \n A[k,i] := 0;\n if prntflg then\n \+ if t=1 then\n print(`subtract row `||j||` from row `|| k);\n elif t=-1 then\n print(`add row `||j||` to row `||k);\n elif ((type(t,rational) or type(t,float)) \+ and t>0)\n or (type(t,realcons) and evalf(t>0)) then\n print(`subtract `,t,` times row `||j||` from row `||k); \n else\n print(`add `,-t,` times row `||j||` to row `||k);\n end if;\n print(eval(A));\n \+ end if;\n end do;\n # next row #\n j := j + 1;\n \+ end do;\n\n while i < n+1 and A[j,i]=0 do \n cl := cl union \{ i\};\n i := i + 1;\n end do; \n\n if startopts>2 then\n \+ if m = n then\n d := d*A[n,n];\n if not nmrc then d := normal(d) end if;\n else d := FAIL end if;\n cl := cl union \{seq(r,r=i+1..n)\};\n cl := \{seq(r,r=1..n)\} minus cl; \n \+ rank := nops(cl);\n if startopts>3 then det := d end if; \n \+ if startopts>4 then rng := cl end if;\n end if;\n eval(A);\nend p roc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 39 "Examples are given in the next section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT 0 16 "GaussElimination" }{TEXT -1 10 ": \+ examples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 27 "We solve the linear system " }{XPPEDIT 18 0 "A*`.`*X = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"XGF &%\"bG" }{TEXT -1 9 ", where " }{XPPEDIT 18 0 "A = matrix([[1, 2, 3], [-1, -1, 2], [-1, 3, 4]]);" "6#/%\"AG-%'matrixG6#7%7%\"\"\"\"\"#\"\"$ 7%,$F*!\"\",$F*F/F+7%,$F*F/F,\"\"%" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b = matrix([[13], [2], [26]]);" "6#/%\"bG-%'matrixG6#7%7#\"#87#\"\" #7#\"#E" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "First we set up the coefficient matrix " }{TEXT 271 1 "A" }{TEXT -1 38 ", and then augment it with the vector " }{TEXT 272 1 "b" }{TEXT -1 20 " as the last column." }}{PARA 0 "" 0 "" {TEXT -1 53 "Here, I have used Matrix and Vector shortcuts. See: " } {HYPERLNK 17 "LinearAlgebra,General,MVshortcut" 2 "LinearAlgebra,Gener al,MVshortcut" "" }}{PARA 0 "" 0 "" {TEXT -1 29 "which are available w ith the " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 8 " package" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "A \+ := <<1,-1,-1>|<2,-1,3>|<3,2,4>>;\nb := <13,2,26>;\nAb := ;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")3Jj;-%'MATRIXG6#7 %7%\"\"\"\"\"#\"\"$7%!\"\"F2F/7%F2F0\"\"%%'MatrixG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"bG-%'RTABLEG6%\")kJ.>-%'MATRIXG6#7%7#\"#87#\"\"#7 #\"#E&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-% 'RTABLEG6%\")C[#o\"-%'MATRIXG6#7%7&\"\"\"\"\"#\"\"$\"#87&!\"\"F3F/F/7& F3F0\"\"%\"#E%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimina tion" }{TEXT -1 64 " to solve the system, using row operations to redu ce the matrix " }{TEXT 273 1 "A" }{TEXT -1 26 " to upper triangular fo rm." }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 9 "gausse lim" }{TEXT -1 15 " in the (old) " }{TEXT 0 6 "linalg" }{TEXT -1 95 " package will also perform Gaussian elimination, but it does not show \+ the steps of the process." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,info=true) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination ~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6% \"))e[\">-%'MATRIXG6#7%7&\"\"\"\"\"#\"\"$\"#87&!\"\"F1F-F-7&F1F.\"\"% \"#E%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot ~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G \"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%3add~row~1~to~row~2G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"))e[\">-%'MATRIXG6#7%7& \"\"\"\"\"#\"\"$\"#87&\"\"!F,\"\"&\"#:7&!\"\"F.\"\"%\"#E%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%3add~row~1~to~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"))e[\">-%'MATRIXG6#7%7&\"\"\"\"\"#\" \"$\"#87&\"\"!F,\"\"&\"#:7&F1F2\"\"(\"#R%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G\"\"&%8~times~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"))e[\">-%'MATRIXG6#7%7&\"\"\" \"\"#\"\"$\"#87&\"\"!F,\"\"&\"#:7&F1F1!#=!#O%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6%\"))e[\">-%'MATRIXG6#7%7&\"\"\" \"\"#\"\"$\"#87&\"\"!F.\"\"&\"#:7&F3F3!#=!#O%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 122 "Note that the last \+ row shows that value of the 3rd component in the solution vector (the \+ value of the 3rd \"unknown\") is 2." }}{PARA 0 "" 0 "" {TEXT -1 100 "T he complete solution can be obtained by back substitution, which can b e performed by the procedure " }{TEXT 0 18 "BackwardSubstitute" } {TEXT -1 14 " from Maple's " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 9 " package." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "X := BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")CG]>-%'MATRIXG6#7%7#!\"$7#\"\"&7# \"\"#&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "Finally, we can check the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "A.X; \n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k%3(>-%'MATRIXG6# 7%7#\"#87#\"\"#7#\"#E&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 27 "We solve the linear system " }{XPPEDIT 18 0 "A*`.`*X = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"XGF &%\"bG" }{TEXT -1 9 ", where " }{XPPEDIT 18 0 "A = matrix([[5,7,6,5], [7,10,8,7],[6,8,10,9],[5,7,9,10]])" "6#/%\"AG-%'matrixG6#7&7&\"\"&\"\" (\"\"'F*7&F+\"#5\"\")F+7&F,F/F.\"\"*7&F*F+F1F." }{TEXT -1 5 " and " } {XPPEDIT 18 0 "b=matrix([[1],[2],[3],[4]])" "6#/%\"bG-%'matrixG6#7&7# \"\"\"7#\"\"#7#\"\"$7#\"\"%" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "First we set up the coefficient matrix " }{TEXT 274 1 "A" }{TEXT -1 38 ", and then augment it with th e vector " }{TEXT 275 1 "b" }{TEXT -1 20 " as the last column." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 87 "A := Matrix([[5,7,6,5],[7,10,8,7],[6,8,10,9],[5,7,9,10]]);\nb := < 1,2,3,4>;\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RT ABLEG6%\")cIt>-%'MATRIXG6#7&7&\"\"&\"\"(\"\"'F.7&F/\"#5\"\")F/7&F0F3F2 \"\"*7&F.F/F5F2%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'R TABLEG6%\")_!G(>-%'MATRIXG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\"%&%'VectorG6 #%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6%\")3BF ;-%'MATRIXG6#7&7'\"\"&\"\"(\"\"'F.\"\"\"7'F/\"#5\"\")F/\"\"#7'F0F4F3\" \"*\"\"$7'F.F/F7F3\"\"%%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "G aussElimination" }{TEXT -1 63 " to solve the system using row operatio ns to reduce the matrix " }{TEXT 276 1 "A" }{TEXT -1 26 " to upper tri angular form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination~without~pi voting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"(wa(G-%'MA TRIXG6#7&7'\"\"&\"\"(\"\"'F,\"\"\"7'F-\"#5\"\")F-\"\"#7'F.F2F1\"\"*\" \"$7'F,F-F5F1\"\"%%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searc hing~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot ~element~is~G\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\" \"(\"\"&%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# -%'RTABLEG6%\"(wa(G-%'MATRIXG6#7&7'\"\"&\"\"(\"\"'F,\"\"\"7'\"\"!#F/F, #!\"#F,F1#\"\"$F,7'F.\"\")\"#5\"\"*F67'F,F-F:F9\"\"%%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"\"'\"\"&%8~times~row~1~ from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"(wa(G-%'M ATRIXG6#7&7'\"\"&\"\"(\"\"'F,\"\"\"7'\"\"!#F/F,#!\"#F,F1#\"\"$F,7'F1F3 #\"#9F,F6#\"\"*F,7'F,F-F;\"#5\"\"%%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%:subtract~row~1~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"(wa(G-%'MATRIXG6#7&7'\"\"&\"\"(\"\"'F,\" \"\"7'\"\"!#F/F,#!\"#F,F1#\"\"$F,7'F1F3#\"#9F,F6#\"\"*F,7'F1F1F6F,F6%' MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~co lumn~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\"\" \"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G\"\"#%6~times~row~2~to ~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"(wa(G-%'MATRI XG6#7&7'\"\"&\"\"(\"\"'F,\"\"\"7'\"\"!#F/F,#!\"#F,F1#\"\"$F,7'F1F1\"\" #F6F67'F1F1F6F,F6%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@search ing~for~pivot~in~column~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~ element~is~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"\" $\"\"#%8~times~row~3~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-% 'RTABLEG6%\"(wa(G-%'MATRIXG6#7&7'\"\"&\"\"(\"\"'F,\"\"\"7'\"\"!#F/F,#! \"#F,F1#\"\"$F,7'F1F1\"\"#F6F67'F1F1F1#F/F8#!\"$F8%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6%\"(wa(G-%'MATRIXG6#7&7'\" \"&\"\"(\"\"'F.\"\"\"7'\"\"!#F1F.#!\"#F.F3#\"\"$F.7'F3F3\"\"#F8F87'F3F 3F3#F1F:#!\"$F:%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 120 "Note that the las t row shows that value of the 4th component in the solution vector (th e value of the 4th \"unknown\") is " }{XPPEDIT 18 0 "-3" "6#,$\"\"$!\" \"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 59 "The complete soluti on can be obtained by back substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra): " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "X := BackwardSubstitute (J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")C'H)>-%'M ATRIXG6#7&7#!#D7#\"#:7#\"\"'7#!\"$&%'VectorG6#%'columnG" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "Finally, we can ch eck the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "A.X;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'R TABLEG6%\")30'*>-%'MATRIXG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\"%&%'VectorG6 #%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 3 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 40 "Consider the system of linear equations:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([2*x+y+5*z = 4, ``],[3*x -2*y+2*z = 2, ``],[5*x-8*y-4*z = -2, ``]);" "6#-%*PIECEWISEG6%7$/,(*& \"\"#\"\"\"%\"xGF+F+%\"yGF+*&\"\"&F+%\"zGF+F+\"\"%%!G7$/,(*&\"\"$F+F,F +F+*&F*F+F-F+!\"\"*&F*F+F0F+F+F*F27$/,(*&F/F+F,F+F+*&\"\")F+F-F+F9*&F1 F+F0F+F9,$F*F9F2" }{TEXT -1 2 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 78 "The 3rd equation is 3 times the 2nd equat ion minus 2 times the first equation." }}{PARA 0 "" 0 "" {TEXT -1 157 "Consequently they represent 3 planes in 3 space which intersect in a \+ line, that is, the line of intersection of any two of the planes conta ins the 3rd plane." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "We can write these equations in the matrix form:" }} {PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "matrix([[2, 1, 5], [3 , -2, 2], [5, -8, -4]])*matrix([[x], [y], [z]]) = matrix([[4], [2], [- 2]]);" "6#/*&-%'matrixG6#7%7%\"\"#\"\"\"\"\"&7%\"\"$,$F*!\"\"F*7%F,,$ \"\")F0,$\"\"%F0F+-F&6#7%7#%\"xG7#%\"yG7#%\"zGF+-F&6#7%7#F57#F*7#,$F*F 0" }{TEXT -1 1 "," }}{PARA 0 "" 0 "" {TEXT -1 30 "which gives the line ar system " }{XPPEDIT 18 0 "A*`.`*X = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"X GF&%\"bG" }{TEXT -1 9 ", where " }{XPPEDIT 18 0 "A = matrix([[2, 1, 5 ], [3, -2, 2], [5, -8, -4]]);" "6#/%\"AG-%'matrixG6#7%7%\"\"#\"\"\"\" \"&7%\"\"$,$F*!\"\"F*7%F,,$\"\")F0,$\"\"%F0" }{TEXT -1 5 " and " } {XPPEDIT 18 0 "b = matrix([[4], [2], [-2]]);" "6#/%\"bG-%'matrixG6#7%7 #\"\"%7#\"\"#7#,$F,!\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "First we set up the coefficient ma trix " }{TEXT 277 1 "A" }{TEXT -1 38 ", and then augment it with the v ector " }{TEXT 278 1 "b" }{TEXT -1 20 " as the last column." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 78 "A \+ := Matrix([[2,1,5],[3,-2,2],[5,-8,-4]]);\nb := Vector([4,2,-2]);\nAb : = ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")wi0?- %'MATRIXG6#7%7%\"\"#\"\"\"\"\"&7%\"\"$!\"#F.7%F0!\")!\"%%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6%\")?\"Qi\"-%'MATRIXG 6#7%7#\"\"%7#\"\"#7#!\"#&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6%\")%yz+#-%'MATRIXG6#7%7&\"\"#\"\"\"\" \"&\"\"%7&\"\"$!\"#F.F.7&F0!\")!\"%F4%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure \+ " }{TEXT 0 16 "GaussElimination" }{TEXT -1 63 " to solve the system us ing row operations to reduce the matrix " }{TEXT 279 1 "A" }{TEXT -1 25 " to upper trianguar form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,inf o=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elim ination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTA BLEG6%\");aJ<-%'MATRIXG6#7%7&\"\"#\"\"\"\"\"&\"\"%7&\"\"$!\"#F,F,7&F.! \")!\"%F2%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~ pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~ is~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"\"$\"\"#%8 ~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG 6%\");aJ<-%'MATRIXG6#7%7&\"\"#\"\"\"\"\"&\"\"%7&\"\"!#!\"(F,#!#6F,!\"% 7&F.!\")F6!\"#%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~ G#\"\"&\"\"#%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\");aJ<-%'MATRIXG6#7%7&\"\"#\"\"\"\"\"&\"\"%7&\"\"!# !\"(F,#!#6F,!\"%7&F1#!#@F,#!#LF,!#7%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#!\"(\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G\"\"$%8~times~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\");aJ<-%'MATRIXG6#7%7&\"\"#\"\" \"\"\"&\"\"%7&\"\"!#!\"(F,#!#6F,!\"%7&F1F1F1F1%'MatrixG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6%\");aJ<-%'MATRIXG6#7%7&\"\"#\" \"\"\"\"&\"\"%7&\"\"!#!\"(F.#!#6F.!\"%7&F3F3F3F3%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 113 "Note that the la st row consists entirely of zeros, which means that the 3rd variable c an be any real number, say " }{TEXT 280 1 "t" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 100 "The complete solution can be obtained by back \+ substitution, which can be performed by the procedure " }{TEXT 0 18 "B ackwardSubstitute" }{TEXT -1 14 " from Maple's " }{TEXT 0 13 "LinearAl gebra" }{TEXT -1 10 " package. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "X := BackwardSubstitute(J); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")_#Hp\"-%'MATR IXG6#7%7#,&#\"#5\"\"(\"\"\"*&#\"#7F1F2&%#_tG6#F2F2!\"\"7#,&#\"\")F1F2* &#\"#6F1F2F6F2F97#F6&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 89 "There are infinitely many solut ions corresponding to the line with parametric equations: " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([x=10/7-12/7*t, ` `],[y=8/7-11/7*t, ``],[z=t, ``])" "6#-%*PIECEWISEG6%7$/%\"xG,&*&\"#5\" \"\"\"\"(!\"\"F,*(\"#7F,F-F.%\"tGF,F.%!G7$/%\"yG,&*&\"\")F,F-F.F,*(\"# 6F,F-F.F1F,F.F27$/%\"zGF1F2" }{TEXT -1 1 "," }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "where the parameter " } {XPPEDIT 18 0 "_t[1]" "6#&%#_tG6#\"\"\"" }{TEXT -1 25 ", given by the \+ procedure " }{TEXT 0 18 "BackwardSubstitute" }{TEXT -1 23 ", has been \+ replaced by " }{TEXT 281 1 "t" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "Finally, we can check the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 4 "A.X;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6% \")%o4-#-%'MATRIXG6#7%7#\"\"%7#\"\"#7#!\"#&%'VectorG6#%'columnG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 4" }}{PARA 0 "" 0 "" {TEXT -1 25 "We can use the procedure " }{TEXT 0 16 "GaussElimina tion" }{TEXT -1 44 " to find the determinant of a square matrix " } {TEXT 263 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 17 "For exa mple, let " }{XPPEDIT 18 0 "A = matrix([[a, b, c], [d, e, f], [g, h, i ]]);" "6#/%\"AG-%'matrixG6#7%7%%\"aG%\"bG%\"cG7%%\"dG%\"eG%\"fG7%%\"gG %\"hG%\"iG" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 86 "unas sign('a','b','c','d','e','f','g','h','i');\nA := Matrix([[a,b,c],[d,e, f],[g,h,i]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\") !e]=#-%'MATRIXG6#7%7%%\"aG%\"bG%\"cG7%%\"dG%\"eG%\"fG7%%\"gG%\"hG%\"iG " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "If w e give the procedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 95 " t wo extra argumnents, the 2nd argument is assigned the value of the det erminant of the matrix " }{TEXT 282 1 "A" }{TEXT -1 6 " when " }{TEXT 283 1 "A" }{TEXT -1 20 " is a square matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "GaussElimination(A ,'rnk','dt',info=true):" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Yperformin g~Gaussian~elimination~with~partial~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(_5&[-%'MATRIXG6#7%7%%\"aG%\"bG%\"cG7%%\" dG%\"eG%\"fG7%%\"gG%\"hG%\"iG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@sea rching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2piv ot~element~is~G%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G,$*&%\" dG\"\"\"%\"aG!\"\"F)%6~times~row~1~to~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(_5&[-%'MATRIXG6#7%7%%\"aG%\"bG%\"cG7%\" \"!*&,&*&%\"eG\"\"\"F,F5F5*&%\"dGF5F-F5!\"\"F5F,F8*&,&*&%\"fGF5F,F5F5* &F7F5F.F5F8F5F,F87%%\"gG%\"hG%\"iG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6% %%add~G,$*&%\"gG\"\"\"%\"aG!\"\"F)%6~times~row~1~to~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(_5&[-%'MATRIXG6#7%7%%\"aG%\"b G%\"cG7%\"\"!*&,&*&%\"eG\"\"\"F,F5F5*&%\"dGF5F-F5!\"\"F5F,F8*&,&*&%\"f GF5F,F5F5*&F7F5F.F5F8F5F,F87%F0,$*&,&*&%\"hGF5F,F5F8*&%\"gGF5F-F5F5F5F ,F8F8,$*&,&*&%\"iGF5F,F5F8*&FEF5F.F5F5F5F,F8F8" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G*&,&*&%\"eG\"\"\"%\"aGF(F(*&%\"dGF( %\"bGF(!\"\"F(F)F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G*&,&*&%\" hG\"\"\"%\"aGF(!\"\"*&%\"gGF(%\"bGF(F(F(,&*&%\"eGF(F)F(F(*&%\"dGF(F-F( F*F*%6~times~row~2~to~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTA BLEG6$\"(_5&[-%'MATRIXG6#7%7%%\"aG%\"bG%\"cG7%\"\"!*&,&*&%\"eG\"\"\"F, F5F5*&%\"dGF5F-F5!\"\"F5F,F8*&,&*&%\"fGF5F,F5F5*&F7F5F.F5F8F5F,F87%F0F 0*&,.*(%\"iGF5F,F5F4F5F5*(FBF5F7F5F-F5F8*(%\"gGF5F.F5F4F5F8*(%\"hGF5F, F5F " 0 "" {MPLTEXT 1 0 3 "dt; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,.*(%\"iG\"\"\"%\"aGF&%\"eGF&F&*(F %F&%\"dGF&%\"bGF&!\"\"*(%\"gGF&%\"cGF&F(F&F,*(%\"hGF&F'F&%\"fGF&F,*(F1 F&F*F&F/F&F&*(F.F&F+F&F2F&F&" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 8 "Maple's " }{TEXT 0 6 "linalg" }{TEXT -1 11 " procedure " }{TEXT 0 9 "gausselim" }{TEXT -1 23 " can also be use d . . ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "linalg[gausselim](A,'rnk','dt'):\ndt;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,.*(%\"iG\"\"\"%\"aGF&%\"eGF&F&*(F%F&%\"dGF&%\"bGF &!\"\"*(%\"gGF&%\"cGF&F(F&F,*(%\"hGF&F'F&%\"fGF&F,*(F1F&F*F&F/F&F&*(F. F&F+F&F2F&F&" }}}{PARA 0 "" 0 "" {TEXT -1 19 " . . . or just use " } {TEXT 0 3 "det" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "linalg[det](A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,.*(%\"iG\"\"\"%\"aGF&%\"eGF&F&*(F%F&%\"dGF&%\" bGF&!\"\"*(%\"gGF&%\"cGF&F(F&F,*(%\"hGF&F'F&%\"fGF&F,*(F1F&F*F&F/F&F&* (F.F&F+F&F2F&F&" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 76 "Note on hardware and soft ware floating point computation involving matrices " }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 146 "When working with matr ices which have floating point entries the type of floating point arit hmetic performed is controlled by the global variable " }{TEXT 0 17 "U seHardwareFloats" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 21 "The \+ default value of " }{TEXT 285 17 "UseHardwareFloats" }{TEXT -1 4 " is \+ " }{TEXT 285 7 "deduced" }{TEXT -1 114 " which tells Maple to deduce t he computational environment (\"hardware\" or \"software\") from the c urrent setting of " }{TEXT 285 6 "Digits" }{TEXT -1 5 ". If " }{TEXT 285 24 "Digits <= evalhf(Digits)" }{TEXT -1 3 " ( " }{TEXT 285 14 "eva lhf(Digits)" }{TEXT -1 138 " is usually about 14) then hardware floati ng point computation is performed; otherwise, software floating point \+ computation is performed. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 13 "The value of " }{TEXT 285 17 "UseHardwareFloats" }{TEXT -1 19 " can be changed to " }{TEXT 39 4 "true" }{TEXT -1 4 " or " }{TEXT 285 5 "false" }{TEXT -1 13 " if desired. " }}{PARA 0 "" 0 " " {TEXT -1 5 "When " }{TEXT 285 17 "UseHardwareFloats" }{TEXT -1 11 " \+ is set to " }{TEXT 285 4 "true" }{TEXT -1 68 ", floating point computa tion will be in hardware mode, whereas when " }{TEXT 285 17 "UseHardwa reFloats" }{TEXT -1 11 " is set to " }{TEXT 285 5 "false" }{TEXT -1 55 ", floating point computation will be in software mode. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "Us eHardwareFloats;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%(deducedG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "evalhf(Digits);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"#9\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 282 "When working in the hardware f loating point environment, (rtable) matrices may be displayed with ent ries given to18 digits. However, these values should only be regarded \+ as being accurate to just 14 or 15 digits, and should probably be roun ded to 14 digits before being quoted. Use " }{TEXT 265 15 "map(evalf, \+ ...)" }{TEXT -1 11 " for this. " }}{PARA 0 "" 0 "" {TEXT -1 34 "The fo llowing code constructs a 4 " }{TEXT 288 1 "x" }{TEXT -1 10 " 4 matrix " }{TEXT 289 1 "A" }{TEXT -1 100 " in rtable form, with (restricted) \+ random 14 digit floating point entries, and computes the inverse " } {XPPEDIT 18 0 "B=A^(-1)" "6#/%\"BG)%\"AG,$\"\"\"!\"\"" }{TEXT -1 42 " \+ using hardware floating point arithmetic." }}{PARA 0 "" 0 "" {TEXT -1 78 "The resulting matrix is displayed with its entries given as 14 dig it numbers. " }}{PARA 0 "" 0 "" {TEXT -1 15 "The inverse of " }{TEXT 290 1 "B" }{TEXT -1 100 " (again computed using hardware floating poin t arithmetic) can be compared with the original matrix " }{TEXT 291 1 "A" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "UseHardwar eFloats := deduced;\nDigits := 14:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%2UseHardwareFloatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 112 "RandomMatrix(4,generator=-1 0.0..10.0):\nA := map(evalf,%);\nB := A^(-1);\nmap(evalf,%);\nB^(-1); \nmap(evalf,%);\n%-A;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RT ABLEG6%\")+%>k\"-%'MATRIXG6#7&7&$\"/WMl#3X?#!#8$\"/$)*p'**y>]F0$\"/*4! y2*HK&F0$\"/M^>wa]MF07&$\"/$)z#\\mK&zF0$!/+'G7[S1$F0$\"/&)*3F&f2p!#9$ \"/)z%*>UxQ(F07&$!/dsYB$pK'F0$!/4=z\\sG!*F0$!/RMiB4*z'F0$!/'[u'3%yJ(F0 7&$\"/)e\"ort\"Q\"F0$!/f3f;p-9F0$\"/0<^z6jqF0$!/txTH8\"y#F0%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'RTABLEG6%\")o(>x\"-%'MATRIX G6#7&7&$!3Ot!#>$!3[_Y3pbglQF0$\"3%[bh*zI_W8F07 &$!3ig*eX)fwaCF0$!3?EvIU\\V9$F0$\"3-0#QP._'\\GF3$\"3%\\'*=!fnJp:F0$\"3K'H^\\D)3*G&F37&$\"3 %pjV(\\gw'*eF0$\"3%GZu'H]KE6F0$\"3%*oil/%Q\\8$F0$!3Vlj\\F;RO:F0%'Matri xG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")?1')=-%'MATRIXG6# 7&7&$!/=a'yzip'!#9$!/h=Lh!H&>!#:$!/Z3pbglQF.$\"/;'*zI_W8F.7&$!/!fX)fwa CF.$!/vIU\\V9$F.$\"/#QP._' \\GF1$\"/!>!fnJp:F.$\"/8&\\D)3*G&F17&$\"/Ou\\gw'*eF.$\"/XnH]KE6F.$\"/j l/%Q\\8$F.$!/k\\F;RO:F.%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-% 'RTABLEG6%\")O3\\>-%'MATRIXG6#7&7&$\"3q(RW`E3X?#!#<$\"3/.$)*p'**y>]F.$ \"3%3!*4!y2*HK&F.$\"3;)R8&>wa]MF.7&$\"3A*H)z#\\mK&zF.$!3G%**fG7[S1$F.$ \"3KB&)*3F&f2p!#=$\"3#4!)z%*>UxQ(F.7&$!3/*pDnMKpK'F.$!3m04=z\\sG!*F.$! 3M-RMiB4*z'F.$!3_*f[u'3%yJ(F.7&$\"3m)ze\"ort\"Q\"F.$!3K,f3f;p-9F.$\"3- )\\q6&z6jqF.$!3'=Ix<%H8\"y#F.%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")_ZT?-%'MATRIXG6#7&7&$\"/WMl#3X?#!#8$\"/$)*p'**y>] F.$\"/*4!y2*HK&F.$\"/M^>wa]MF.7&$\"/$)z#\\mK&zF.$!/+'G7[S1$F.$\"/&)*3F &f2p!#9$\"/)z%*>UxQ(F.7&$!/dsYB$pK'F.$!/4=z\\sG!*F.$!/RMiB4*z'F.$!/'[u '3%yJ(F.7&$\"/)e\"ort\"Q\"F.$!/f3f;p-9F.$\"/0<^z6jqF.$!/txTH8\"y#F.%'M atrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")[?E;-%'MATRIX G6#7&7&$\"\"!F-F,F,F,F+F+F+%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "Digits := 10:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 59 "Use of (implicit) partial piv oting in Gaussian elimination " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 11 "Example 1 " }}{PARA 0 "" 0 "" {TEXT -1 33 "Consider the system of equations:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([6*x+2*y+2*z=-2, ``], [2*x+2/3*y+z/3=1 ,`` ],[x+2*y-z=0 ,`` ])" "6#-%*PIECEWISEG6%7$/,(*&\" \"'\"\"\"%\"xGF+F+*&\"\"#F+%\"yGF+F+*&F.F+%\"zGF+F+,$F.!\"\"%!G7$/,(*& F.F+F,F+F+*(F.F+\"\"$F3F/F+F+*&F1F+F:F3F+F+F47$/,(F,F+*&F.F+F/F+F+F1F3 \"\"!F4" }{TEXT -1 3 " . " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 31 "Solution using exact arithmeti c" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 69 "We can obtain an exact solution of this system of equatio ns by using " }{TEXT 0 5 "solve" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 88 "sys := \{6*x +2*y+2*z=-2,\n 2*x+2/3*y+z/3=1,\n x+2*y-z=0\};\nsolve(sy s,\{x,y,z\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG<%/,(%\"xG\"\" '*&\"\"#\"\"\"%\"yGF,F,*&F+F,%\"zGF,F,!\"#/,(F(F+*&#F+\"\"$F,F-F,F,*&# F,F5F,F/F,F,F,/,(F(F,*&F+F,F-F,F,F/!\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%/%\"zG!\"&/%\"xG#\"#8\"\"&/%\"yG#!#>F+" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 119 "Alternatively, we can perform Gaussian elimination to reduce the augmented coefficient \+ matrix to upper triangular form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 140 "sys := [6*x+2*y+2*z=-2,\n \+ 2*x+2/3*y+z/3=1,\n x+2*y-z=0];\nvars := [x,y,z];\n(A,b) : = GenerateMatrix(sys,vars);\nAb := ; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(%\"xG\"\"'*&\"\"#\"\"\"%\"yGF,F,*&F+F,%\"zG F,F,!\"#/,(F(F+*&#F+\"\"$F,F-F,F,*&#F,F5F,F/F,F,F,/,(F(F,*&F+F,F-F,F,F /!\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%%\"xG%\"yG%\" zG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\"(GA R(-%'MATRIXG6#7%7%\"\"'\"\"#F27%F2#F2\"\"$#\"\"\"F57%F7F2!\"\"-F)6$\") g6JG-F-6#7%7#!\"#7#F77#\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG -%'RTABLEG6$\"()3Tu-%'MATRIXG6#7%7&\"\"'\"\"#F/!\"#7&F/#F/\"\"$#\"\"\" F3F57&F5F/!\"\"\"\"!" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := Gaus sElimination(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperfo rming~Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F-!\"#7&F- #F-\"\"$#\"\"\"F1F37&F3F-!\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 $%2pivot~element~is~G\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtra ct~G#\"\"\"\"\"$%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F-!\"#7&\" \"!F0#!\"\"\"\"$#\"\"&F37&\"\"\"F-F2F0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"\"\"\"\"'%8~times~row~1~from~row~3G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F-! \"#7&\"\"!F0#!\"\"\"\"$#\"\"&F37&F0F4#!\"%F3#\"\"\"F3" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~3~and~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F-!\"#7&\"\"!#\"\"& \"\"$#!\"%F3#\"\"\"F37&F0F0#!\"\"F3F1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\"&\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6% %%add~G\"\"!%6~times~row~2~to~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F-!\"#7&\"\"!#\"\"&\"\" $#!\"%F3#\"\"\"F37&F0F0#!\"\"F3F1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %\"JG-%'RTABLEG6$\"(/EV(-%'MATRIXG6#7%7&\"\"'\"\"#F/!\"#7&\"\"!#\"\"& \"\"$#!\"%F5#\"\"\"F57&F2F2#!\"\"F5F3" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'R TABLEG6$\")OXWF-%'MATRIXG6#7%7##\"#8\"\"&7##!#>F.7#!\"&" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 18 "The solution is \+ " }{XPPEDIT 18 0 "PIECEWISE([x = 13/5, `` = 2.6],[y = -19/5, `` = -3.8 ],[z = -5, ``]);" "6#-%*PIECEWISEG6%7$/%\"xG*&\"#8\"\"\"\"\"&!\"\"/%!G -%&FloatG6$\"#EF-7$/%\"yG,$*&\"#>F+F,F-F-/F/,$-F16$\"#QF-F-7$/%\"zG,$F ,F-F/" }{TEXT -1 3 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 75 "Solution using (low precision) floating point arithmetic \+ .. 1 (no pivoting)" }}{PARA 0 "" 0 "" {TEXT -1 162 "Now we solve the s ystem using 4 digit floating point arithmetic by Gaussian elimination \+ without any re-arrangement of the rows, that is, without partial pivot ing." }}{PARA 0 "" 0 "" {TEXT -1 59 "We first set up the augmented coe fficient matrix as before." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 133 "sys := [6*x+2*y+2*z=-2,\n 2 *x+2/3*y+z/3=1,\n x+2*y-z=0];\nvars := [x,y,z];\n(A,b) := Gener ateMatrix(sys,vars);\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%$sysG7%/,(*&\"\"'\"\"\"%\"xGF*F**&\"\"#F*%\"yGF*F**&F-F*%\"zGF*F*!\" #/,(*&F-F*F+F*F**(F-F*\"\"$!\"\"F.F*F**&F6F7F0F*F*F*/,(F+F**&F-F*F.F*F *F0F7\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%%\"xG%\"yG%\"z G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6%\")O%#AbG-%'RTABLEG6%\")?#[(=-%'MATRIXG6#7%7&\"\"' \"\"#F/!\"#7&F/#F/\"\"$#\"\"\"F3F57&F5F/!\"\"\"\"!%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we set up \+ Maple to perform 4 digit floating point arithmetic with matrices. Sinc e the default mode for performing floating point computations with (rt able) matrices is to use hardware floating point arithmetic (as long a s " }{TEXT 285 6 "Digits" }{TEXT -1 95 " is set to a value less than a bout 15), we need to make assignments to two global variables. " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "UseHardwareFloats := false;\nDigits := 4;\nA_b := evalf(Ab);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6%\")/&yt\"-%'MATRIXG6#7%7&$\"\"'\"\"! $\"\"#F0F1$!\"#F07&F1$\"%nm!\"%$\"%LLF8$\"\"\"F07&F;F1$!\"\"F0$F0F0%'M atrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 63 " to solve the system using row operations to reduce the matrix \+ " }{TEXT 284 1 "A" }{TEXT -1 112 " to upper triangular form. To avoid \+ re-arrangement of rows (except where a pivot entry is 0) we use the op tion \"" }{TEXT 285 11 "pivot=false" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "J := Gaus sElimination(A_b,info=true,pivot=false);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")CHv=-%'MATRIXG6#7%7&$\"\"'\" \"!$\"\"#F.F/$!\"#F.7&F/$\"%nm!\"%$\"%LLF6$\"\"\"F.7&F9F/$!\"\"F.$F.F. %'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~ column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"\" '\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"%LL!\"%%8~tim es~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\" )CHv=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F/$!\"#F.7&F.$\"\"\"!\"%$!%LLF 6$\"%n;!\"$7&$F5F.F/$!\"\"F.$F.F.%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"%n;!\"%%8~times~row~1~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")CHv=-%'MATRIXG6#7%7&$\" \"'\"\"!$\"\"#F.F/$!\"#F.7&F.$\"\"\"!\"%$!%LLF6$\"%n;!\"$7&F.F9$!%L8F; $\"%MLF6%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~p ivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~i s~G$\"\"\"!\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"%n;\" \"\"%8~times~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'R TABLEG6%\")CHv=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F/$!\"#F.7&F.$\"\"\" !\"%$!%LLF6$\"%n;!\"$7&F.F.$\"%bbF.$!%zFF5%'MatrixG" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"JG-%'RTABLEG6%\")CHv=-%'MATRIXG6#7%7&$\"\"'\"\"!$ \"\"#F0F1$!\"#F07&F0$\"\"\"!\"%$!%LLF8$\"%n;!\"$7&F0F0$\"%bbF0$!%zFF7% 'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 120 "Note that the last row shows that value of the 4th component in the solution vector (the value of the 4 th \"unknown\") is " }{XPPEDIT 18 0 "-3" "6#,$\"\"$!\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 59 "The complete solution can be obtain ed by back substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "X := BackwardSubstitute(J);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")s/n=-%'MATRIXG6#7 %7#$\"%N8!\"$7#$\"\"!F37#$!%.]F0&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 34 "This solution is com pletely wrong!" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "A.X;\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTAB LEG6%\")_0n=-%'MATRIXG6#7%7#$!%+?!\"$7#$\"%.5F.7#$\"%QjF.&%'VectorG6#% 'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 283 "The second pivot element 0.0001 causes this error. By comparison \+ with the exact solution in the previous subsection, we see that the co rresponding entry is 0, which forced a swapping of rows to get a diffe rent pivot element. That is, 0.0001 is an approximation for the exact \+ value 0." }}{PARA 0 "" 0 "" {TEXT -1 28 "The problem can be avoided, \+ " }{TEXT 265 30 "by swapping rows if necessary," }{TEXT 264 101 " to e nsure that the pivot entry is no smaller in magnitude than any entry b elow it in the same column" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats \+ := deduced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%( deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 86 "Solution u sing (low precision) floating point arithmetic .. 2 (with partial pivo ting) " }}{PARA 0 "" 0 "" {TEXT -1 108 "Now we solve the same system b y Gaussian elimination using 4 digit floating point arithmetic, but th is time " }{TEXT 264 21 "with partial pivoting" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 192 "sys := [6*x+2*y+2*z=-2,\n 2*x+2/3*y+z/3=1,\n x+2*y- z=0];\nvars := [x,y,z];\n(A,b) := GenerateMatrix(sys,vars);\nAb := ;\nUseHardwareFloats := false;\nDigits := 4;\nA_b := evalf(Ab);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(*&\"\"'\"\"\"%\"xGF*F**&\" \"#F*%\"yGF*F**&F-F*%\"zGF*F*!\"#/,(*&F-F*F+F*F**(F-F*\"\"$!\"\"F.F*F* *&F6F7F0F*F*F*/,(F+F**&F-F*F.F*F*F0F7\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%%\"xG%\"yG%\"zG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6%\")'Hg(=-%'MATRIXG6#7%7%\"\"'\"\"#F27 %F2#F2\"\"$#\"\"\"F57%F7F2!\"\"%'MatrixG-F)6%\")K1n=-F-6#7%7#!\"#7#F77 #\"\"!&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG- %'RTABLEG6%\")'pm(=-%'MATRIXG6#7%7&\"\"'\"\"#F/!\"#7&F/#F/\"\"$#\"\"\" F3F57&F5F/!\"\"\"\"!%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2Us eHardwareFloatsG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG \"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6%\")3t>=-%' MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F0F1$!\"#F07&F1$\"%nm!\"%$\"%LLF8$\"\"\" F07&F;F1$!\"\"F0$F0F0%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "G aussElimination" }{TEXT -1 18 " with the option \"" }{TEXT 285 13 "piv ot=partial" }{TEXT -1 38 "\" to ensure that each pivot element is" } {TEXT 264 67 " no smaller in magnitude than any entry below it in the \+ same column" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "J := GaussElimination(A_b,info=true ,pivot=partial);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Yperforming~Gauss ian~elimination~with~partial~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")KSx=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F /$!\"#F.7&F/$\"%nm!\"%$\"%LLF6$\"\"\"F.7&F9F/$!\"\"F.$F.F.%'MatrixG" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" } }{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"\"'\"\"!" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"%LL!\"%%8~times~row~1~f rom~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")KSx=-%'MA TRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F/$!\"#F.7&F.$\"\"\"!\"%$!%LLF6$\"%n;!\" $7&$F5F.F/$!\"\"F.$F.F.%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%* subtract~G$\"%n;!\"%%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")KSx=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F /$!\"#F.7&F.$\"\"\"!\"%$!%LLF6$\"%n;!\"$7&F.F9$!%L8F;$\"%MLF6%'MatrixG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~3~and~2G" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")KSx=-%'MATRIXG6#7%7&$\"\"'\"\"!$ \"\"#F.F/$!\"#F.7&F.$\"%n;!\"$$!%L8F6$\"%ML!\"%7&F.$\"\"\"F;$!%LLF;F4% 'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"%n; !\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"%**f!\")%8~time s~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\") KSx=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F.F/$!\"#F.7&F.$\"%n;!\"$$!%L8F6$ \"%ML!\"%7&F.F.$!%KLF;F4%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %\"JG-%'RTABLEG6%\")KSx=-%'MATRIXG6#7%7&$\"\"'\"\"!$\"\"#F0F1$!\"#F07& F0$\"%n;!\"$$!%L8F8$\"%ML!\"%7&F0F0$!%KLF=F6%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "X := Ba ckwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABL EG6%\")#zq'=-%'MATRIXG6#7%7#$\"%-E!\"$7#$!%,QF07#$!%.]F0&%'VectorG6#%' columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 21 "This solution is now " }{TEXT 264 21 "approximately correct" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 36 "The values given for the 3 unknowns " }{XPPEDIT 18 0 "PIE CEWISE([x = 2.602, ``],[y = -3.801, ``],[z = -5.003, ``])" "6#-%*PIECE WISEG6%7$/%\"xG-%&FloatG6$\"%-E!\"$%!G7$/%\"yG,$-F*6$\"%,QF-!\"\"F.7$/ %\"zG,$-F*6$\"%.]F-F6F." }{TEXT -1 45 "compare favourably with the exa ct solution " }{XPPEDIT 18 0 "PIECEWISE([x = 2.6, ``],[y = -3.8, ``] ,[z = -5, ``]);" "6#-%*PIECEWISEG6%7$/%\"xG-%&FloatG6$\"#E!\"\"%!G7$/% \"yG,$-F*6$\"#QF-F-F.7$/%\"zG,$\"\"&F-F." }{TEXT -1 65 ", and are only in error in the last digit for 4 digit arithmetic." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "UseHardwar eFloats := deduced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareF loatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 2 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 95 "W e have seen that the use of partial pivoting in Gaussian elimination c an prevent gross errors." }}{PARA 0 "" 0 "" {TEXT -1 51 "More generall y, when solving a system of equations " }{XPPEDIT 18 0 "A*`.`*x=b" "6# /*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 55 " by Gaussian eliminat ion, partial pivoting can help to " }{TEXT 264 27 "reduce errors signi ficantly" }{TEXT -1 53 " provided that the entries of the coefficient \+ matrix " }{TEXT 286 1 "A" }{TEXT -1 256 " do not vary too much in magn itude. Some allowance can be made for possible variations in magnitud e by scaling the equations (that is, the rows of the augmented matrix) so that the the entry of largest magnitude in each row of the coeffic ient matrix is 1." }}{PARA 0 "" 0 "" {TEXT -1 14 "The method of " } {TEXT 264 17 "implicit pivoting" }{TEXT -1 272 " is a variation of par tial pivoting in which such scaling is performed indirectly by changin g the way in which the pivot element is chosen. When choosing a pivot \+ element, suitably scaled comparisons are maded instead of the direct c omparisons of ordinary partial pivoting." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 34 "Consider the system of equations: \+ " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "9/10" "6#*&\"\"* \"\"\"\"#5!\"\"" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[1] + 81/100" "6#,&& %\"cG6#\"\"\"F'*&\"#\")F'\"$+\"!\"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 729/1000" "6#,&&%\"cG6#\"\"#\"\"\"*&\"$H(F(\"%+5!\"\"F(" } {TEXT -1 1 " " }{XPPEDIT 18 0 "c[3] =46/67" "6#/&%\"cG6#\"\"$*&\"#Y\" \"\"\"#n!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "c[1] + c[2] + c[3] = 5/6" "6#/,(&%\"cG6#\"\"\"F(&F&6#\" \"#F(&F&6#\"\"$F(*&\"\"&F(\"\"'!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "11/10" "6#*&\"#6\"\"\"\"#5!\"\"" } {TEXT -1 1 " " }{XPPEDIT 18 0 "c[1] + 121/100" "6#,&&%\"cG6#\"\"\"F'*& \"$@\"F'\"$+\"!\"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 1331/100 0" "6#,&&%\"cG6#\"\"#\"\"\"*&\"%J8F(\"%+5!\"\"F(" }{TEXT -1 1 " " } {XPPEDIT 18 0 "c[3]=1" "6#/&%\"cG6#\"\"$\"\"\"" }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" } {TEXT -1 69 ": The solution of this system of equations provides the c oefficients " }{XPPEDIT 18 0 "c[1],c[2],c[3];" "6%&%\"cG6#\"\"\"&F$6# \"\"#&F$6#\"\"$" }{TEXT -1 24 " of a cubic polynomial " }{XPPEDIT 18 0 "p(x) = c[1]*x+c[2]*x^2+c[3]*x^3;" "6#/-%\"pG6#%\"xG,(*&&%\"cG6#\"\" \"F-F'F-F-*&&F+6#\"\"#F-*$F'F1F-F-*&&F+6#\"\"$F-*$F'F6F-F-" }{TEXT -1 32 " which passes through the points" }{XPPEDIT 18 0 " ``(0,0),``(9/10 ,46/67),``(1,5/6),``(11/10,1)" "6&-%!G6$\"\"!F&-F$6$*&\"\"*\"\"\"\"#5! \"\"*&\"#YF+\"#nF--F$6$F+*&\"\"&F+\"\"'F--F$6$*&\"#6F+F,F-F+" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 31 "Solution us ing exact arithmetic" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }} }{PARA 0 "" 0 "" {TEXT -1 159 "We can obtain an exact solution of this system of equations by using Gaussian elimination to reduce the augme nted coefficient matrix to upper triangular form.\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 216 "sys := [9/10*c[1]+81/100*c[2]+729/1000*c[3 ] = 46/67,\n c[1]+c[2]+c[3] = 5/6,\n 11/10*c[1]+121/100* c[2]+1331/1000*c[3] = 1];\nvars := [c[1],c[2],c[3]];\n(A,b) := Generat eMatrix(sys,vars);\nAb := ; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(&%\"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F +F+*&#\"$H(\"%+5F+&F)6#\"\"$F+F+#\"#Y\"#n/,(F(F+F3F+F:F+#\"\"&\"\"'/,( F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F+F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\")_6*=#-%'MATRIX G6#7%7%#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+57%\"\"\"F;F;7%#\"#6F3#\"$@\"F 6#\"%J8F9-F)6$\")s3n=-F-6#7%7##\"#Y\"#n7##\"\"&\"\"'7#F;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\")of*=#-%'MATRIXG6#7%7&#\"\"* \"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"\"F;F;#\"\"&\"\"'7&#\"#6F0# \"$@\"F3#\"%J8F6F;" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,info=true);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination~with out~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")#H+ >#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"\"F 9F9#\"\"&\"\"'7&#\"#6F.#\"$@\"F1#\"%J8F4F9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\"*\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#5\"\"*%8~times~row~1~from~row~2G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")#H+>#-%'MATRIXG6#7%7&# \"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"!#\"\"\"F.#\"#>F1#\"#& )\"%177&#\"#6F.#\"$@\"F1#\"%J8F4F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6% %*subtract~G#\"#6\"\"*%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")#H+>#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\" $+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"!#\"\"\"F.#\"#>F1#\"#&)\"%177&F9#\"#6\"# ]#FC\"#D#\"#(*\"$.'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for ~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element ~is~G#\"\"\"\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#6 \"\"&%8~times~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%' RTABLEG6$\")#H+>#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\" #Y\"#n7&\"\"!#\"\"\"F.#\"#>F1#\"#&)\"%177&F9F9#\"#6\"$+&#\"\"(F@" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")#H+>#-%'MATRIXG6# 7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"!#\"\"\"F0#\"#>F3 #\"#&)\"%177&F;F;#\"#6\"$+&#\"\"(FB" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "BackwardSubstitute(J);\nev alf(evalf(%,15),10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\" )[=x@-%'MATRIXG6#7%7##\"%b[\"&mK\"7##\"$]\"\"$P(7##\"%]<\"%Lm" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")G>x@-%'MATRIXG6#7%7#$\" +X;tfO!#57#$\"+b\"y_.#F.7#$\"+MNKQEF." }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 16 "The solution is " }{XPPEDIT 18 0 "PIE CEWISE([c[1] = 4855/13266, ``],[c[2] = 150/737, ``],[c[3] =1750/6633, \+ ``])" "6#-%*PIECEWISEG6%7$/&%\"cG6#\"\"\"*&\"%b[F+\"&mK\"!\"\"%!G7$/&F )6#\"\"#*&\"$]\"F+\"$P(F/F07$/&F)6#\"\"$*&\"%] " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 72 "Most accur ate possible solution using 10 digit floating point arithmetic" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 142 "We wish to compare the results obtained by performing Gaussian elimination using 10 digit floating point arithmetic with and without pivoting." }}{PARA 0 "" 0 "" {TEXT -1 143 "The entries of the coeffic ient matrix and the last augmenting column will need to be converted t o 10 digit floating point numbers. The numbers " }{XPPEDIT 18 0 "46/67 " "6#*&\"#Y\"\"\"\"#n!\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "5/6" " 6#*&\"\"&\"\"\"\"\"'!\"\"" }{TEXT -1 1 " " }{TEXT 264 29 "cannot be re presented exactly" }{TEXT -1 36 " as 10 digit floating point numbers. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "evalf(46/67,10);\nevalf(5/6);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+U;nlo!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+LLLL$)!#5" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Using the approximations:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "4 6/67" "6#*&\"#Y\"\"\"\"#n!\"\"" }{TEXT -1 1 " " }{TEXT 266 1 "~" } {TEXT -1 13 " 0.6865671642" }}{PARA 257 "" 0 "" {TEXT -1 4 "and " } {XPPEDIT 18 0 "5/6" "6#*&\"\"&\"\"\"\"\"'!\"\"" }{TEXT -1 1 " " } {TEXT 267 1 "~" }{TEXT -1 14 " 0.8333333333 " }}{PARA 0 "" 0 "" {TEXT -1 262 "introduces rounding errors even before we perform any computat ion. In order to assess the subsequent errors we shall perform Gausssi an elimination using exact arithmetic to the augmented matrix after th e entries are converted to 10 digit floating point numbers.\n" }} {PARA 0 "" 0 "" {TEXT -1 38 "The appropriate system to consider is:" } }{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "9/10" "6#*&\"\"*\"\" \"\"#5!\"\"" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[1] + 81/100" "6#,&&%\"c G6#\"\"\"F'*&\"#\")F'\"$+\"!\"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[ 2] + 729/1000" "6#,&&%\"cG6#\"\"#\"\"\"*&\"$H(F(\"%+5!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[3] = 6865671642/10000000000;" "6#/&%\"cG6# \"\"$*&\"+U;nlo\"\"\"\",+++++\"!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "c[1]+c[2]+c[3] = 8333333333/100000 00000;" "6#/,(&%\"cG6#\"\"\"F(&F&6#\"\"#F(&F&6#\"\"$F(*&\"+LLLL$)F(\", +++++\"!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "11/10" "6#*&\"#6\"\"\"\"#5!\"\"" }{TEXT -1 1 " " } {XPPEDIT 18 0 "c[1] + 121/100" "6#,&&%\"cG6#\"\"\"F'*&\"$@\"F'\"$+\"! \"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 1331/1000" "6#,&&%\"cG6 #\"\"#\"\"\"*&\"%J8F(\"%+5!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[3 ]=1" "6#/&%\"cG6#\"\"$\"\"\"" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 246 "sys := [9/1 0*c[1]+81/100*c[2]+729/1000*c[3]=6865671642/10000000000,\n c[1] +c[2]+c[3]=8333333333/10000000000,\n 11/10*c[1]+121/100*c[2]+13 31/1000*c[3]=1];\nvars := [c[1],c[2],c[3]];\n(A,b) := GenerateMatrix(s ys,vars);\nAb := ; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$s ysG7%/,(&%\"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H (\"%+5F+&F)6#\"\"$F+F+#\"+@e$GV$\"+++++]/,(F(F+F3F+F:F+#\"+LLLL$)\",++ +++\"/,(F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F+F+" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%%varsG7%&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\")o*3>#-%' MATRIXG6#7%7%#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+57%\"\"\"F;F;7%#\"#6F3# \"$@\"F6#\"%J8F9-F)6$\")3?x@-F-6#7%7##\"+@e$GV$\"+++++]7##\"+LLLL$)\", +++++\"7#F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\")[8 6?-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++] 7&\"\"\"F;F;#\"+LLLL$)\",+++++\"7&#\"#6F0#\"$@\"F3#\"%J8F6F;" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7S\">#-%'MATRIXG6#7%7&#\"\"* \"#5#\"#\")\"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++]7&\"\"\"F9F9#\"+LLLL$)\" ,+++++\"7&#\"#6F.#\"$@\"F1#\"%J8F4F9" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6$%2pivot~element~is~G#\"\"*\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%* subtract~G#\"#5\"\"*%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7S\">#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\") \"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++]7&\"\"!#\"\"\"F.#\"#>F1#\"+fyU9@\", +++++$7&#\"#6F.#\"$@\"F1#\"%J8F4F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6% %*subtract~G#\"#6\"\"*%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7S\">#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\") \"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++]7&\"\"!#\"\"\"F.#\"#>F1#\"+fyU9@\", +++++$7&F9#\"#6\"#]#FC\"#D#\"+B`$HT#\",++++]\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\"\"\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#6\"\"&%8~times~row~2~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")7S\">#-%'MATRIXG6#7%7&# \"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++]7&\"\"!#\"\"\"F.#\" #>F1#\"+fyU9@\",+++++$7&F9F9#\"#6\"$+&#\"*\"yY1()\"-+++++:" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")7S\">#-%'MATRIXG6#7%7&# \"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"+@e$GV$\"+++++]7&\"\"!#\"\"\"F0#\" #>F3#\"+fyU9@\",+++++$7&F;F;#\"#6\"$+&#\"*\"yY1()\"-+++++:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "Ba ckwardSubstitute(J);\nevalf(evalf(%,15),10);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")o@x@-%'MATRIXG6#7%7##\"-*yX6x?\"\"-+++++ L7##\"*(e!)QA\"+++++67##\"*\"yY1()\"+++++L" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[Ax@-%'MATRIXG6#7%7#$\"+\"pJ(fO!#57#$\"+ k!y_.#F.7#$\"+zNKQEF." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 16 "The solution is " }{XPPEDIT 18 0 "PIECEWISE([c[1] = \+ 120771145789/330000000000, ``],[c[2] = 223880587/1100000000, ``],[c[3] = 870646781/3300000000, ``])" "6#-%*PIECEWISEG6%7$/&%\"cG6#\"\"\"*&\" -*yX6x?\"F+\"-+++++L!\"\"%!G7$/&F)6#\"\"#*&\"*(e!)QAF+\"+++++6F/F07$/& F)6#\"\"$*&\"*\"yY1()F+\"+++++LF/F0" }{TEXT -1 19 ", or approximately \+ " }{XPPEDIT 18 0 "PIECEWISE([c[1] =.3659731691, ``],[c[2] = .203527806 4, ``],[c[3] = .2638323579, ``])" "6#-%*PIECEWISEG6%7$/&%\"cG6#\"\"\"- %&FloatG6$\"+\"pJ(fO!#5%!G7$/&F)6#\"\"#-F-6$\"+k!y_.#F0F17$/&F)6#\"\"$ -F-6$\"+zNKQEF0F1" }{TEXT -1 23 ", correct to 10 digits." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 30 "Comparing with the solutions " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3659731645, ``],[c[2] = .2035278155, ``],[c[3] = .2638323534, ``])" "6#-%*PIECEWISEG6%7$/&% \"cG6#\"\"\"-%&FloatG6$\"+X;tfO!#5%!G7$/&F)6#\"\"#-F-6$\"+b\"y_.#F0F17 $/&F)6#\"\"$-F-6$\"+MNKQEF0F1" }{TEXT -1 186 " obtained using exact ar ithmetic with the original rational coefficients, we see that the abso lute errors involved simply by using 10 digit floating point approxima tions for the numbers " }{XPPEDIT 18 0 "46/67" "6#*&\"#Y\"\"\"\"#n!\" \"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "5/6" "6#*&\"\"&\"\"\"\"\"'!\" \"" }{TEXT -1 5 " are " }{XPPEDIT 18 0 "PIECEWISE([delta*c[1] = .46*`. `*10^(-8), ``],[delta*c[2] = .91*`.`*10^(-8), ``],[delta*c[3] = .45*`. `*10^(-8), ``])" "6#-%*PIECEWISEG6%7$/*&%&deltaG\"\"\"&%\"cG6#F*F**(-% &FloatG6$\"#Y!\"#F*%\".GF*)\"#5,$\"\")!\"\"F*%!G7$/*&F)F*&F,6#\"\"#F** (-F06$\"#\"*F3F*F4F*)F6,$F8F9F*F:7$/*&F)F*&F,6#\"\"$F**(-F06$\"#XF3F*F 4F*)F6,$F8F9F*F:" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 66 "Solution using 10 digit floating point arithmetic with \+ no pivoting" }}{PARA 0 "" 0 "" {TEXT -1 94 "Now we solve the system us ing 10 digit floating point arithmetic by Gaussian elimination with " }{TEXT 264 11 "no pivoting" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 49 "We first set up the augmented coefficient matrix." }}{PARA 0 " " 0 "" {TEXT 264 4 "Note" }{TEXT -1 50 ": It would not make any differ ence if we replaced " }{XPPEDIT 18 0 "46/67" "6#*&\"#Y\"\"\"\"#n!\"\" " }{TEXT -1 4 " by " }{XPPEDIT 18 0 "6865671642/10000000000" "6#*&\"+U ;nlo\"\"\"\",+++++\"!\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "5/6" "6 #*&\"\"&\"\"\"\"\"'!\"\"" }{TEXT -1 4 " by " }{XPPEDIT 18 0 "833333333 3/10000000000" "6#*&\"+LLLL$)\"\"\"\",+++++\"!\"\"" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 203 "sys := [9/10*c[1]+81/100*c[2]+729/1000*c[3]=46/67,\n c[1]+ c[2]+c[3]=5/6,\n 11/10*c[1]+121/100*c[2]+1331/1000*c[3]=1];\nva rs := [c[1],c[2],c[3]];\n(A,b) := GenerateMatrix(sys,vars);\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(&%\"cG6#\"\"\"#\"\" *\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6#\"\"$F+F+#\"#Y \"#n/,(F(F+F3F+F:F+#\"\"&\"\"'/,(F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F 9F+F:F+F+F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%&%\"cG6#\"\" \"&F'6#\"\"#&F'6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"b G6$-%'RTABLEG6$\")[e#>#-%'MATRIXG6#7%7%#\"\"*\"#5#\"#\")\"$+\"#\"$H(\" %+57%\"\"\"F;F;7%#\"#6F3#\"$@\"F6#\"%J8F9-F)6$\")GBx@-F-6#7%7##\"#Y\"# n7##\"\"&\"\"'7#F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG 6$\")[A$>#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7 &\"\"\"F;F;#\"\"&\"\"'7&#\"#6F0#\"$@\"F3#\"%J8F6F;" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we set up Maple to perform 4 digit floating point arithmetic with matrices. Since the de fault mode for performing floating point computations with (rtable) ma trices is to use hardware floating point arithmetic (as long as " } {TEXT 285 6 "Digits" }{TEXT -1 94 " is set to a value less than about \+ 15), we need to make assignments to two global variables. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "Us eHardwareFloats := false;\nDigits := 10;\nA_b := evalf(Ab);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%'DigitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%$A_bG-%'RTABLEG6$\")OG$>#-%'MATRIXG6#7%7&$\"+++++!*!#5$\"+++++\")F 0$\"++++!H(F0$\"+U;nloF07&$\"\"\"\"\"!F8F8$\"+LLLL$)F07&$\"+++++6!\"*$ \"++++57F@$\"++++J8F@F8" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimi nation" }{TEXT -1 176 " to solve the system using row operations to re duce the matrix A to upper triangular form. To avoid re-arrangement of rows (except where a pivot entry is 0) we use the option \"" }{TEXT 285 11 "pivot=false" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "J := GaussElimination(A_ b,info=true,pivot=false);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperform ing~Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")k5S?-%'MATRIXG6#7%7&$\"+++++!*!#5$\"++++ +\")F.$\"++++!H(F.$\"+U;nloF.7&$\"\"\"\"\"!F6F6$\"+LLLL$)F.7&$\"+++++6 !\"*$\"++++57F>$\"++++J8F>F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@sear ching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivo t~element~is~G$\"+++++!*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtr act~G$\"+66666!\"*%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")k5S?-%'MATRIXG6#7%7&$\"+++++!*!#5$\"++++ +\")F.$\"++++!H(F.$\"+U;nloF.7&\"\"!$\"+,+++5F.$\"+,+++>F.$\"*(G4[qF.7 &$\"+++++6!\"*$\"++++57F@$\"++++J8F@$\"\"\"F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+AAAA7!\"*%8~times~row~1~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")k5S?-%'MATRIXG6#7%7&$\" +++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"+U;nloF.7&\"\"!$\"+,+++5F.$\"+,+ ++>F.$\"*(G4[qF.7&F6$\"+-+++AF.$\"+-+++WF.$\"+]Ni3;F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"+,+++5!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+++++A!\"*%8~times~row~2~from~row~3G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")k5S?-%'MATRIXG6#7%7 &$\"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"+U;nloF.7&\"\"!$\"+,+++5F.$ \"+,+++>F.$\"*(G4[qF.7&F6F6$\"*+++?#F.$\")>J/eF." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")k5S?-%'MATRIXG6#7%7&$\"+++++!*!#5$ \"+++++\")F0$\"++++!H(F0$\"+U;nloF07&\"\"!$\"+,+++5F0$\"+,+++>F0$\"*(G 4[qF07&F8F8$\"*+++?#F0$\")>J/eF0" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 59 "The complete solution can be obtained by \+ back substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"))[s<#-%'MATRIXG6#7%7#$\"++ " 0 "" {MPLTEXT 1 0 1 "; " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 49 " The solution obtained Gaussian elimination with " }{TEXT 264 11 "no pivot ing" }{TEXT -1 5 " is: " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3659731700 , ``],[c[2] = .2035278042, ``],[c[3] =.2638323591, ``])" "6#-%*PIECEWI SEG6%7$/&%\"cG6#\"\"\"-%&FloatG6$\"++ " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := deduced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 71 "Solution using 10 digit floating point \+ arithmetic with partial pivoting" }}{PARA 0 "" 0 "" {TEXT -1 94 "Now w e solve the system using 10 digit floating point arithmetic by Gaussia n elimination with " }{TEXT 264 16 "partial pivoting" }{TEXT -1 31 ", \+ so that each pivot element is" }{TEXT 264 67 " no smaller in magnitude than any entry below it in the same column" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 49 "We first set up the augmented coefficient matri x." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 203 "sys := [9/10*c[1]+81/100*c[2]+729/1000*c[3]=46/67,\n c[1]+c[2]+c[3]=5/6,\n 11/10*c[1]+121/100*c[2]+1331/1000 *c[3]=1];\nvars := [c[1],c[2],c[3]];\n(A,b) := GenerateMatrix(sys,vars );\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(&%\"cG 6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6# \"\"$F+F+#\"#Y\"#n/,(F(F+F3F+F:F+#\"\"&\"\"'/,(F(#\"#6F.*&#\"$@\"F2F+F 3F+F+*&#\"%J8F9F+F:F+F+F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7 %&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>6$%\"AG%\"bG6$-%'RTABLEG6$\"(+rK%-%'MATRIXG6#7%7%#\"\"*\"#5#\"#\")\" $+\"#\"$H(\"%+57%\"\"\"F;F;7%#\"#6F3#\"$@\"F6#\"%J8F9-F)6$\")oDx@-F-6# 7%7##\"#Y\"#n7##\"\"&\"\"'7#F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A bG-%'RTABLEG6$\")O%[>#-%'MATRIXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"% +5#\"#Y\"#n7&\"\"\"F;F;#\"\"&\"\"'7&#\"#6F0#\"$@\"F3#\"%J8F6F;" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we s et up Maple to perform 4 digit floating point arithmetic with matrices . Since the default mode for performing floating point computations wi th (rtable) matrices is to use hardware floating point arithmetic (as \+ long as " }{TEXT 285 6 "Digits" }{TEXT -1 94 " is set to a value less \+ than about 15), we need to make assignments to two global variables. \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "UseHardwareFloats := false;\nDigits := 10;\nA_b := evalf(Ab); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6$\"(C%)3&-%'MATRIXG6#7%7&$\"+++++!*!# 5$\"+++++\")F0$\"++++!H(F0$\"+U;nloF07&$\"\"\"\"\"!F8F8$\"+LLLL$)F07&$ \"+++++6!\"*$\"++++57F@$\"++++J8F@F8" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 80 " to solve the system. This time we use partial pivoting by means of the option \"" }{TEXT 285 13 "pivot= partial" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "J := GaussElimination(A_b,info=true ,pivot=partial);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Yperforming~Gauss ian~elimination~with~partial~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(#*zQ%-%'MATRIXG6#7%7&$\"+++++!*!#5$\"+++ ++\")F.$\"++++!H(F.$\"+U;nloF.7&$\"\"\"\"\"!F6F6$\"+LLLL$)F.7&$\"+++++ 6!\"*$\"++++57F>$\"++++J8F>F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@sea rching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swa p~rows~3~and~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(#*zQ %-%'MATRIXG6#7%7&$\"+++++6!\"*$\"++++57F.$\"++++J8F.$\"\"\"\"\"!7&F3F3 F3$\"+LLLL$)!#57&$\"+++++!*F9$\"+++++\")F9$\"++++!H(F9$\"+U;nloF9" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"+++++6!\"*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+\"4444*!#5%8~times~row ~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(#*zQ% -%'MATRIXG6#7%7&$\"+++++6!\"*$\"++++57F.$\"++++J8F.$\"\"\"\"\"!7&F5$!* ++++\"F.$!*+++5#F.$!*eddd(!#57&$\"+++++!*F=$\"+++++\")F=$\"++++!H(F=$ \"+U;nloF=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+#====)!# 5%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTAB LEG6$\"(#*zQ%-%'MATRIXG6#7%7&$\"+++++6!\"*$\"++++57F.$\"++++J8F.$\"\" \"\"\"!7&F5$!*++++\"F.$!*+++5#F.$!*eddd(!#57&F5$!+++++=F=$!+++++OF=$!+ Sl9;8F=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~co lumn~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~3~and~2G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(#*zQ%-%'MATRIXG6#7%7&$ \"+++++6!\"*$\"++++57F.$\"++++J8F.$\"\"\"\"\"!7&F5$!+++++=!#5$!+++++OF 9$!+Sl9;8F97&F5$!*++++\"F.$!*+++5#F.$!*eddd(F9" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$!+++++=!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+cbbbb!#5%8~times~row~2~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(#*zQ%-%'MATRIXG6#7%7&$ \"+++++6!\"*$\"++++57F.$\"++++J8F.$\"\"\"\"\"!7&F5$!+++++=!#5$!+++++OF 9$!+Sl9;8F97&F5F5$!*++++\"F9$!*dB$QE!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\"(#*zQ%-%'MATRIXG6#7%7&$\"+++++6!\"*$\"++++57 F0$\"++++J8F0$\"\"\"\"\"!7&F7$!+++++=!#5$!+++++OF;$!+Sl9;8F;7&F7F7$!*+ +++\"F;$!*dB$QE!#6" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 59 "The complete solution can be obtained by back substitut ion." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[Ex@-%'MATRIXG6#7%7#$\"+\"oJ(fO!#57#$\"+#3y_.#F.7 #$\"+qNKQEF." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 51 "The solution ob tained by Gaussian elimination with " }{TEXT 264 16 "partial pivoting " }{TEXT -1 4 " is " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3659731681, `` ],[c[2] = .2035278082, ``],[c[3] =.2638323570, ``])" "6#-%*PIECEWISEG6 %7$/&%\"cG6#\"\"\"-%&FloatG6$\"+\"oJ(fO!#5%!G7$/&F)6#\"\"#-F-6$\"+#3y_ .#F0F17$/&F)6#\"\"$-F-6$\"+qNKQEF0F1" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 65 "Compared with the most accurate possible floating poin t solution " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3659731691, ``],[c[2] \+ = .2035278064, ``],[c[3] = .2638323579, ``])" "6#-%*PIECEWISEG6%7$/&% \"cG6#\"\"\"-%&FloatG6$\"+\"pJ(fO!#5%!G7$/&F)6#\"\"#-F-6$\"+k!y_.#F0F1 7$/&F)6#\"\"$-F-6$\"+zNKQEF0F1" }{TEXT -1 51 ", the solution above dis plays the absolute errors: " }{XPPEDIT 18 0 "PIECEWISE([delta*c[1] = 1 0*`.`*10^(-10), ``],[delta*c[2] = 18*`.`*10^(-10), ``],[delta*c[3] = 9 *`.`*10^(-10), ``]);" "6#-%*PIECEWISEG6%7$/*&%&deltaG\"\"\"&%\"cG6#F*F **(\"#5F*%\".GF*)F/,$F/!\"\"F*%!G7$/*&F)F*&F,6#\"\"#F**(\"#=F*F0F*)F/, $F/F3F*F47$/*&F)F*&F,6#\"\"$F**(\"\"*F*F0F*)F/,$F/F3F*F4" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := deduced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 72 "Solution using 10 digit floating point \+ arithmetic with implicit pivoting" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 94 "Now we solve the sy stem using 10 digit floating point arithmetic by Gaussian elimination \+ with " }{TEXT 264 17 "implicit pivoting" }{TEXT -1 96 ". Implicit pivo ting amounts to partial pivoting combined with suitable scaling of the equations." }}{PARA 0 "" 0 "" {TEXT -1 253 "Initially the entry of la rgest magnitude in each row of the coefficient matrix is found, and su bsequently (when searching for the pivot entry in a particular column) the comparison is made in a way which is equivalent to having scaled \+ all the equations " }{TEXT 264 55 "to make the coefficient of maximum \+ magnitude equal to 1" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 49 "W e first set up the augmented coefficient matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 203 "sys := [9/1 0*c[1]+81/100*c[2]+729/1000*c[3]=46/67,\n c[1]+c[2]+c[3]=5/6,\n 11/10*c[1]+121/100*c[2]+1331/1000*c[3]=1];\nvars := [c[1],c[2] ,c[3]];\n(A,b) := GenerateMatrix(sys,vars);\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$sysG7%/,(&%\"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\" $+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6#\"\"$F+F+#\"#Y\"#n/,(F(F+F3F+F :F+#\"\"&\"\"'/,(F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F+F+" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7%&%\"cG6#\"\"\"&F'6#\"\"#&F'6 #\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$ \")7Iy=-%'MATRIXG6#7%7%#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+57%\"\"\"F;F;7 %#\"#6F3#\"$@\"F6#\"%J8F9-F)6$\")74n=-F-6#7%7##\"#Y\"#n7##\"\"&\"\"'7# F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\")gyy=-%'MATR IXG6#7%7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"#Y\"#n7&\"\"\"F;F;#\"\"& \"\"'7&#\"#6F0#\"$@\"F3#\"%J8F6F;" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 226 "Now we set up Maple to perform 4 digit f loating point arithmetic with matrices. Since the default mode for per forming floating point computations with (rtable) matrices is to use h ardware floating point arithmetic (as long as " }{TEXT 285 6 "Digits" }{TEXT -1 94 " is set to a value less than about 15), we need to make \+ assignments to two global variables. " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "UseHardwareFloats := fal se;\nDigits := 10;\nA_b := evalf(Ab);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% 'DigitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6$\"( 7=g#-%'MATRIXG6#7%7&$\"+++++!*!#5$\"+++++\")F0$\"++++!H(F0$\"+U;nloF07 &$\"\"\"\"\"!F8F8$\"+LLLL$)F07&$\"+++++6!\"*$\"++++57F@$\"++++J8F@F8" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 81 " to \+ solve the system. This time we use implicit pivoting by means of the o ption \"" }{TEXT 285 14 "pivot=implicit" }{TEXT -1 2 "\"." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "J := \+ GaussElimination(A_b,info=true,pivot=implicit);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Zperforming~Gaussian~elimination~with~implicit~pivotin g~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")3D_;-%'MATRIXG 6#7%7&$\"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"+U;nloF.7&$\"\"\"\"\"!F 6F6$\"+LLLL$)F.7&$\"+++++6!\"*$\"++++57F>$\"++++J8F>F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~2~and~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")3D_;-%'MATRIXG6#7%7&$\"\"\"\"\"!F,F,$\"+LLLL$)!#5 7&$\"+++++!*F1$\"+++++\")F1$\"++++!H(F1$\"+U;nloF17&$\"+++++6!\"*$\"++ ++57F>$\"++++J8F>F," }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element ~is~G$\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"++ +++!*!#5%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# -%'RTABLEG6$\")3D_;-%'MATRIXG6#7%7&$\"\"\"\"\"!F,F,$\"+LLLL$)!#57&F.$! *++++*F1$!++++5%\"JG-%'RTABLEG6$\") 3D_;-%'MATRIXG6#7%7&$\"\"\"\"\"!F.F.$\"+LLLL$)!#57&F0$!*++++*F3$!++++5 " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K5n=-%'MATRIXG6#7%7#$\" +!pJ(fO!#57#$\"+h!y_.#F.7#$\"+#eB$QEF." }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 51 "The solution obtained by Gaussian elimination with " } {TEXT 264 17 "implicit pivoting" }{TEXT -1 4 " is " }{XPPEDIT 18 0 "PI ECEWISE([c[1] = .3659731690, ``],[c[2] = .2035278061, ``],[c[3] = .263 8323582, ``]);" "6#-%*PIECEWISEG6%7$/&%\"cG6#\"\"\"-%&FloatG6$\"+!pJ(f O!#5%!G7$/&F)6#\"\"#-F-6$\"+h!y_.#F0F17$/&F)6#\"\"$-F-6$\"+#eB$QEF0F1 " }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 65 "Compared with the mo st accurate possible floating point solution " }{XPPEDIT 18 0 "PIECEWI SE([c[1] = .3659731691, ``],[c[2] = .2035278064, ``],[c[3] = .26383235 79, ``])" "6#-%*PIECEWISEG6%7$/&%\"cG6#\"\"\"-%&FloatG6$\"+\"pJ(fO!#5% !G7$/&F)6#\"\"#-F-6$\"+k!y_.#F0F17$/&F)6#\"\"$-F-6$\"+zNKQEF0F1" } {TEXT -1 51 ", the solution above displays the absolute errors: " } {XPPEDIT 18 0 "PIECEWISE([delta*c[1] = 1*`.`*10^(-10), ``],[delta*c[2] = 3*`.`*10^(-10), ``],[delta*c[3] = 3*`.`*10^(-10), ``]);" "6#-%*PIEC EWISEG6%7$/*&%&deltaG\"\"\"&%\"cG6#F*F**(F*F*%\".GF*)\"#5,$F1!\"\"F*%! G7$/*&F)F*&F,6#\"\"#F**(\"\"$F*F/F*)F1,$F1F3F*F47$/*&F)F*&F,6#F " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := deduc ed;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deducedG " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}} }{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 3 " }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 34 "Consider the system of equations: " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "9/10" "6#*&\"\"*\"\"\"\"#5!\"\"" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[1]+81/100" "6#,&&%\"cG6#\"\"\"F'*&\"#\")F'\"$+\"!\"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 729/1000" "6#,&&%\"cG6#\"\"#\"\"\"*&\"$H( F(\"%+5!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[3] + 6561/10000" "6# ,&&%\"cG6#\"\"$\"\"\"*&\"%hlF(\"&++\"!\"\"F(" }{TEXT -1 1 " " } {XPPEDIT 18 0 "c[4] = 25/38" "6#/&%\"cG6#\"\"%*&\"#D\"\"\"\"#Q!\"\"" } {TEXT -1 2 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "c[1 ]+c[2]+c[3]+c[4] = 22/27" "6#/,*&%\"cG6#\"\"\"F(&F&6#\"\"#F(&F&6#\"\"$ F(&F&6#\"\"%F(*&\"#AF(\"#F!\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "11/10" "6#*&\"#6\"\"\"\"#5!\"\"" } {TEXT -1 1 " " }{XPPEDIT 18 0 "c[1] + 121/100" "6#,&&%\"cG6#\"\"\"F'*& \"$@\"F'\"$+\"!\"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 1331/100 0" "6#,&&%\"cG6#\"\"#\"\"\"*&\"%J8F(\"%+5!\"\"F(" }{TEXT -1 1 " " } {XPPEDIT 18 0 "c[3] + 14641/10000" "6#,&&%\"cG6#\"\"$\"\"\"*&\"&TY\"F( \"&++\"!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[4]=1" "6#/&%\"cG6#\" \"%\"\"\"" }{TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 1 " " } {XPPEDIT 18 0 "13/10" "6#*&\"#8\"\"\"\"#5!\"\"" }{TEXT -1 1 " " } {XPPEDIT 18 0 "c[1] + 169/100" "6#,&&%\"cG6#\"\"\"F'*&\"$p\"F'\"$+\"! \"\"F'" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[2] + 2197/1000" "6#,&&%\"cG6 #\"\"#\"\"\"*&\"%(>#F(\"%+5!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[ 3] + 28561/10000" "6#,&&%\"cG6#\"\"$\"\"\"*&\"&h&GF(\"&++\"!\"\"F(" } {TEXT -1 1 " " }{XPPEDIT 18 0 "c[4] = 97/66;" "6#/&%\"cG6#\"\"%*&\"#(* \"\"\"\"#m!\"\"" }{TEXT -1 4 " . " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 69 ": The solution of thi s system of equations provides the coefficients " }{XPPEDIT 18 0 "c[1] ,c[2],c[3],c[4]" "6&&%\"cG6#\"\"\"&F$6#\"\"#&F$6#\"\"$&F$6#\"\"%" } {TEXT -1 26 " of a quartic polynomial " }{XPPEDIT 18 0 "p(x) = c[1]*x +c[2]*x^2+c[3]*x^3+c[4]*x^4;" "6#/-%\"pG6#%\"xG,**&&%\"cG6#\"\"\"F-F'F -F-*&&F+6#\"\"#F-*$F'F1F-F-*&&F+6#\"\"$F-*$F'F6F-F-*&&F+6#\"\"%F-*$F'F ;F-F-" }{TEXT -1 34 " which passes through the points: " }}{PARA 257 " " 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "``(0,0),``(9/10,25/38),``(1,22/2 7),``(11/10,1),``(13/10,25/17);" "6'-%!G6$\"\"!F&-F$6$*&\"\"*\"\"\"\"# 5!\"\"*&\"#DF+\"#QF--F$6$F+*&\"#AF+\"#FF--F$6$*&\"#6F+F,F-F+-F$6$*&\"# 8F+F,F-*&F/F+\"# " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 31 "Solution using exact arithmetic" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 158 "We can obtain an exact solution of this system of equations by using Gaussian elimi nation to reduce the augmented coefficient matrix to upper triangular \+ form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 310 "sys := \n[9/10*c[1]+81/100*c[2]+729/1000*c[3]+6561/1 0000*c[4]=25/38,\n c[1]+c[2]+c[3]+c[4]=22/27,\n 11/10*c[1]+121/10 0*c[2]+1331/1000*c[3]+14641/10000*c[4]=1,\n13/10*c[1]+169/100*c[2]+219 7/1000*c[3]+28561/10000*c[4]=25/17];\nvars := [c[1],c[2],c[3],c[4]];\n (A,b) := GenerateMatrix(sys,vars);\nAb := ; " }}{PARA 12 " " 1 "" {XPPMATH 20 "6#>%$sysG7&/,*&%\"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$ +\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6#\"\"$F+F+*&#\"%hl\"&++\"F+&F)6# \"\"%F+F+#\"#D\"#Q/,*F(F+F3F+F:F+FAF+#\"#A\"#F/,*F(#\"#6F.*&#\"$@\"F2F +F3F+F+*&#\"%J8F9F+F:F+F+*&#\"&TY\"F@F+FAF+F+F+/,*F(#\"#8F.*&#\"$p\"F2 F+F3F+F+*&#\"%(>#F9F+F:F+F+*&#\"&h&GF@F+FAF+F+#FE\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7&&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6# \"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\" )w#R+#-%'MATRIXG6#7&7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"7 &\"\"\"F>F>F>7&#\"#6F3#\"$@\"F6#\"%J8F9#\"&TY\"F<7&#\"#8F3#\"$p\"F6#\" %(>#F9#\"&h&GF<-F)6$\")[ws?-F-6#7&7##\"#D\"#Q7##\"#A\"#F7#F>7##FY\"#< " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\")Gk6?-%'MATRIX G6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"#D\"#Q7'\"\" \"F>F>F>#\"#A\"#F7'#\"#6F0#\"$@\"F3#\"%J8F6#\"&TY\"F9F>7'#\"#8F0#\"$p \"F3#\"%(>#F6#\"&h&GF9#F;\"#<" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "J := GaussElimination(Ab,inf o=0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")3D_;-%'M ATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"#D\"#Q7' \"\"!#\"\"\"F0#\"#>F3#\"$r#F6#\"#V\"$8&7'F>F>#\"#6\"$+&#\"#LFK#\"#f\"% I^7'F>F>F>#\"#R\"%]7#\"%fF\"'5$f*" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 61 "BackwardSubstitute(J);\nconv ert(%,matrix);\nevalf(evalf(%,15));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #-%'RTABLEG6$\")Gjs?-%'MATRIXG6#7&7##\"'Ls>\"'oUb7##\"'&yQ\"\"(s6:\"7# #\"'vqI\"(.rC\"7##\"'v[M\"(48u$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%' vectorG6#7&#\"'Ls>\"'oUb#\"'&yQ\"\"(s6:\"#\"'vqI\"(.rC\"#\"'v[M\"(48u$ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7&$\"+V5WeN!#5$\"+Euf0 7F)$\"+UmIiCF)$\"+u..=#*!#6" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 16 "The solution is " }{XPPEDIT 18 0 "PIECEWISE([c[ 1] = 197233/554268, ``],[c[2] = 138785/1151172, ``],[c[3] = 307075/124 7103, ``],[c[4] = 344875/3741309, ``])" "6#-%*PIECEWISEG6&7$/&%\"cG6# \"\"\"*&\"'Ls>F+\"'oUb!\"\"%!G7$/&F)6#\"\"#*&\"'&yQ\"F+\"(s6:\"F/F07$/ &F)6#\"\"$*&\"'vqIF+\"(.rC\"F/F07$/&F)6#\"\"%*&\"'v[MF+\"(48u$F/F0" } {TEXT -1 19 ", or approximately " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3 558441043, ``],[c[2] = .1205597426, ``],[c[3] = .2462306642, ``],[c[4] = .9218030374*`. `*10^(-1), ``]);" "6#-%*PIECEWISEG6&7$/&%\"cG6#\"\" \"-%&FloatG6$\"+V5WeN!#5%!G7$/&F)6#\"\"#-F-6$\"+Euf07F0F17$/&F)6#\"\"$ -F-6$\"+UmIiCF0F17$/&F)6#\"\"%*(-F-6$\"+u..=#*F0F+%#.~GF+)\"#5,$F+!\" \"F+F1" }{TEXT -1 23 ", correct to 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 72 "Most accurate possible solution using 1 0 digit floating point arithmetic" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 287 "In order to compar e the results obtained by performing Gaussian elimination using 10 dig it floating point arithmetic with and without pivoting, the entries of the coefficient matrix and the last augmenting column will need to be converted to 10 digit floating point numbers. The numbers " } {XPPEDIT 18 0 "25/38,22/27;" "6$*&\"#D\"\"\"\"#Q!\"\"*&\"#AF%\"#FF'" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "25/17;" "6#*&\"#D\"\"\"\"# " 0 "" {MPLTEXT 1 0 41 "evalf(25/38);\neva lf(22/27);\nevalf(25/17);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+ot%*y l!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+[\"[\"[\")!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+N#)eq9!\"*" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 25 "Using the approximations:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "25/38;" "6#*&\"#D\"\"\"\"#Q !\"\"" }{TEXT -1 1 " " }{TEXT 268 1 "~" }{TEXT -1 14 " 0.6578947368," }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "22/27;" "6#*&\"#A\" \"\"\"#F!\"\"" }{TEXT -1 1 " " }{TEXT 270 1 "~" }{TEXT -1 14 " 0.81481 48148 " }}{PARA 257 "" 0 "" {TEXT -1 4 "and " }{XPPEDIT 18 0 "25/17;" "6#*&\"#D\"\"\"\"##F(\"%+5!\"\"F(" }{TEXT -1 1 " " }{XPPEDIT 18 0 "c[ 3] + 28561/10000" "6#,&&%\"cG6#\"\"$\"\"\"*&\"&h&GF(\"&++\"!\"\"F(" } {TEXT -1 1 " " }{XPPEDIT 18 0 "c[4] = 1470588235/1000000000;" "6#/&%\" cG6#\"\"%*&\"+N#)eq9\"\"\"\"+++++5!\"\"" }{TEXT -1 3 " . " }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 360 "sys \+ := \n[9/10*c[1]+81/100*c[2]+729/1000*c[3]+6561/10000*c[4]=6578947368/1 0000000000,\n c[1]+c[2]+c[3]+c[4]=8148148148/10000000000,\n 11/10 *c[1]+121/100*c[2]+1331/1000*c[3]+14641/10000*c[4]=1,\n13/10*c[1]+169/ 100*c[2]+2197/1000*c[3]+28561/10000*c[4]=1470588235/1000000000];\nvars := [c[1],c[2],c[3],c[4]];\n(A,b) := GenerateMatrix(sys,vars);\nAb := \+ ; " }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$sysG7&/,*&%\"cG6# \"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6#\" \"$F+F+*&#\"%hl\"&++\"F+&F)6#\"\"%F+F+#\"*@%oB#)\"++++]7/,*F(F+F3F+F:F +FAF+#\"+Pq.P?\"+++++D/,*F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F +*&#\"&TY\"F@F+FAF+F+F+/,*F(#\"#8F.*&#\"$p\"F2F+F3F+F+*&#\"%(>#F9F+F:F +F+*&#\"&h&GF@F+FAF+F+#\"*Zw6%H\"*++++#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7&&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\"(skt%-%'MATRIXG 6#7&7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"7&\"\"\"F>F>F>7&# \"#6F3#\"$@\"F6#\"%J8F9#\"&TY\"F<7&#\"#8F3#\"$p\"F6#\"%(>#F9#\"&h&GF<- F)6$\")3B+?-F-6#7&7##\"*@%oB#)\"++++]77##\"+Pq.P?\"+++++D7#F>7##\"*Zw6 %H\"*++++#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\"(s6$ \\-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"*@ %oB#)\"++++]77'\"\"\"F>F>F>#\"+Pq.P?\"+++++D7'#\"#6F0#\"$@\"F3#\"%J8F6 #\"&TY\"F9F>7'#\"#8F0#\"$p\"F3#\"%(>#F6#\"&h&GF9#\"*Zw6%H\"*++++#" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "J := GaussElimination(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(3U0&-%'MATRIXG6#7&7'#\"\"*\"# 5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"*@%oB#)\"++++]77'\"\"\"F#F4#\"&h&GF7#\"*Zw6%H\"*++++#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\"*\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6%%*subtract~G#\"#5\"\"*%8~times~row~1~from~row~2G" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'RTABLEG6$\"(3U0&-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\") \"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"*@%oB#)\"++++]77'\"\"!#\"\"\"F.#\"#>F 1#\"$r#F4#\"*d;b4#\"+++++D7'#\"#6F.#\"$@\"F1#\"%J8F4#\"&TY\"F7F>7'#\"# 8F.#\"$p\"F1#\"%(>#F4#\"&h&GF7#\"*Zw6%H\"*++++#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#6\"\"*%8~times~row~1~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(3U0&-%'MATRIXG6#7&7'#\" \"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"*@%oB#)\"++++]77'\"\"!# \"\"\"F.#\"#>F1#\"$r#F4#\"*d;b4#\"+++++D7'F<#\"#6\"#]#FH\"#D#\"%6L\"%+ ]#\"*TI)[CF:7'#\"#8F.#\"$p\"F1#\"%(>#F4#\"&h&GF7#\"*Zw6%H\"*++++#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#8\"\"*%8~times~row~1~f rom~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(3U0&-%'MA TRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"*@%oB#)\" ++++]77'\"\"!#\"\"\"F.#\"#>F1#\"$r#F4#\"*d;b4#\"+++++D7'F<#\"#6\"#]#FH \"#D#\"%6L\"%+]#\"*TI)[CF:7'F<#\"#8FK#\"$V\"\"$D\"#\"%rZ\"%+D#\"+(=z9g #\"+++++]" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~ column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G#\"\" \"\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G#\"#6\"\"&%8~tim es~row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\" (3U0&-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"# \"*@%oB#)\"++++]77'\"\"!#\"\"\"F.#\"#>F1#\"$r#F4#\"*d;b4#\"+++++D7'FF1#\"$r#F4#\"*d; b4#\"+++++D7'FF1#\"$r#F4#\" *d;b4#\"+++++D7'F%\"JG-%'RT ABLEG6$\"(3U0&-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl \"&++\"#\"*@%oB#)\"++++]77'\"\"!#\"\"\"F0#\"#>F3#\"$r#F6#\"*d;b4#\"+++ ++D7'F>F>#\"#6\"$+&#\"#LFK#\"*$=iP9\",++++D\"7'F>F>F>#\"#R\"%]7#\"*Lp! 4z\"-++++]F" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "BackwardSubstitute(J);\nevalf(evalf(%,15),10);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"))[M/#-%'MATRIXG6#7&7## \"->'zq&)3&\".+++++V\"7##\"+f9%p&z\",++++g'7##\"+^))4@N\",++++V\"7##\" *Lp!4z\"++++!e)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")w]`? -%'MATRIXG6#7&7#$\"+;6WeN!#57#$\"+\">(f07F.7#$\"+*)oIiCF.7#$\"+A&H!=#* !#6" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 16 "T he solution is " }{XPPEDIT 18 0 "PIECEWISE([c[1] = 508857079619/143000 0000000, ``],[c[2] = 7956941459/66000000000, ``],[c[3] = 3521098851/14 300000000, ``],[c[4]=790906933/8580000000 ,``])" "6#-%*PIECEWISEG6&7$/ &%\"cG6#\"\"\"*&\"->'zq&)3&F+\".+++++V\"!\"\"%!G7$/&F)6#\"\"#*&\"+f9%p &zF+\",++++g'F/F07$/&F)6#\"\"$*&\"+^))4@NF+\",++++V\"F/F07$/&F)6#\"\"% *&\"*Lp!4zF+\"++++!e)F/F0" }{TEXT -1 19 ", or approximately " } {XPPEDIT 18 0 "PIECEWISE([c[1] = .3558441116, ``],[c[2] = .1205597191, ``],[c[3] =.2462306889, ``],[c[4] =.9218029522*`.`*10^(-1), ``])" "6# -%*PIECEWISEG6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+;6WeN!#5%!G7$/&F)6#\"\"# -F-6$\"+\">(f07F0F17$/&F)6#\"\"$-F-6$\"+*)oIiCF0F17$/&F)6#\"\"%*(-F-6$ \"+A&H!=#*F0F+%\".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 23 ", correct to 10 digits." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 "Comparing with the solution " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3 558441043, ``],[c[2] = .1205597426, ``],[c[3] = .2462306642, ``],[c[4] = .9218030374*`. `*10^(-1), ``])" "6#-%*PIECEWISEG6&7$/&%\"cG6#\"\"\" -%&FloatG6$\"+V5WeN!#5%!G7$/&F)6#\"\"#-F-6$\"+Euf07F0F17$/&F)6#\"\"$-F -6$\"+UmIiCF0F17$/&F)6#\"\"%*(-F-6$\"+u..=#*F0F+%#.~GF+)\"#5,$F+!\"\"F +F1" }{TEXT -1 179 " obtained using exact arithmetic with the original rational coefficients, we see that the absolute errors involved by us ing 10 digit floating point approximations for the numbers " } {XPPEDIT 18 0 "25/38,22/27" "6$*&\"#D\"\"\"\"#Q!\"\"*&\"#AF%\"#FF'" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "25/17;" "6#*&\"#D\"\"\"\"# " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 67 "Solution using 10 digit floating \+ point arithmetic with no pivoting " }}{PARA 0 "" 0 "" {TEXT -1 94 "Now we solve the system using 10 digit floating point arithmetic by Gauss ian elimination with " }{TEXT 264 11 "no pivoting" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 49 "We first set up the augmented coefficient matrix." }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 50 ": It woul d not make any difference if we replaced " }{XPPEDIT 18 0 "25/38;" "6# *&\"#D\"\"\"\"#Q!\"\"" }{TEXT -1 4 " by " }{XPPEDIT 18 0 "6578947368/1 0000000000" "6#*&\"+ot%*yl\"\"\"\",+++++\"!\"\"" }{TEXT -1 2 ", " } {XPPEDIT 18 0 "22/27" "6#*&\"#A\"\"\"\"#F!\"\"" }{TEXT -1 4 " by " } {XPPEDIT 18 0 "8148148148/10000000000" "6#*&\"+[\"[\"[\")\"\"\"\",++++ +\"!\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "25/17;" "6#*&\"#D\"\"\" \"# " 0 "" {MPLTEXT 1 0 303 "sys := \n[9 /10*c[1]+81/100*c[2]+729/1000*c[3]+6561/10000*c[4]=25/38,\n c[1]+c [2]+c[3]+c[4]=22/27,\n 11/10*c[1]+121/100*c[2]+1331/1000*c[3]+14641/1 0000*c[4]=1,\n13/10*c[1]+169/100*c[2]+2197/1000*c[3]+28561/10000*c[4]= 25/17];\nvars := [c[1],c[2],c[3],c[4]];\n(A,b) := GenerateMatrix(sys,v ars);\nAb := ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$sysG7&/,*&% \"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F )6#\"\"$F+F+*&#\"%hl\"&++\"F+&F)6#\"\"%F+F+#\"#D\"#Q/,*F(F+F3F+F:F+FAF +#\"#A\"#F/,*F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F+*&#\"&TY\"F @F+FAF+F+F+/,*F(#\"#8F.*&#\"$p\"F2F+F3F+F+*&#\"%(>#F9F+F:F+F+*&#\"&h&G F@F+FAF+F+#FE\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7&&%\"cG6 #\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\")ste?-%'MATRIXG6#7&7&#\"\"*\"#5#\"#\") \"$+\"#\"$H(\"%+5#\"%hl\"&++\"7&\"\"\"F>F>F>7&#\"#6F3#\"$@\"F6#\"%J8F9 #\"&TY\"F<7&#\"#8F3#\"$p\"F6#\"%(>#F9#\"&h&GF<-F)6$\")/ve?-F-6#7&7##\" #D\"#Q7##\"#A\"#F7#F>7##FY\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A bG-%'RTABLEG6$\")c')*4#-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\" %+5#\"%hl\"&++\"#\"#D\"#Q7'\"\"\"F>F>F>#\"#A\"#F7'#\"#6F0#\"$@\"F3#\"% J8F6#\"&TY\"F9F>7'#\"#8F0#\"$p\"F3#\"%(>#F6#\"&h&GF9#F;\"#<" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we set up \+ Maple to perform 4 digit floating point arithmetic with matrices. Sinc e the default mode for performing floating point computations with (rt able) matrices is to use hardware floating point arithmetic (as long a s " }{TEXT 285 6 "Digits" }{TEXT -1 92 " is set to a value less than a bout 15), we need to make assignments to two global variables." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "UseHardwareFloats := false;\nDigits := 10;\nA_b := evalf(Ab);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6$\")KQ#>#-%'MATRIXG6#7&7'$\"+++++!*!# 5$\"+++++\")F0$\"++++!H(F0$\"++++hlF0$\"+ot%*ylF07'$\"\"\"\"\"!F:F:F:$ \"+[\"[\"[\")F07'$\"+++++6!\"*$\"++++57FB$\"++++J8FB$\"+++5k9FBF:7'$\" +++++8FB$\"++++!p\"FB$\"++++(>#FB$\"+++5cGFB$\"+N#)eq9FB" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the pro cedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 188 " to solve the s ystem using row operations to reduce the matrix A to upper triangular \+ form. To avoid re-arrangement of rows (except where a pivot entry is 0 ) we use the option \"pivot=none\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 48 "J := GaussElimination(A_b,i nfo=true,pivot=none);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Tperforming~ Gaussian~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++ ++\")F.$\"++++!H(F.$\"++++hlF.$\"+ot%*ylF.7'$\"\"\"\"\"!F8F8F8$\"+[\"[ \"[\")F.7'$\"+++++6!\"*$\"++++57F@$\"++++J8F@$\"+++5k9F@F87'$\"+++++8F @$\"++++!p\"F@$\"++++(>#F@$\"+++5cGF@$\"+N#)eq9F@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"+++++!*!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+66666!\"*%8~times~row~1~from~row~2G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$ \"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"++++hlF.$\"+ot%*ylF.7'\"\"!$\" +,+++5F.$\"+,+++>F.$\"+,++5FF.$\"*Hm?Q)F.7'$\"+++++6!\"*$\"++++57FD$\" ++++J8FD$\"+++5k9FD$\"\"\"F87'$\"+++++8FD$\"++++!p\"FD$\"++++(>#FD$\"+ ++5cGFD$\"+N#)eq9FD" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\" +AAAA7!\"*%8~times~row~1~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++++\")F.$\"+++ +!H(F.$\"++++hlF.$\"+ot%*ylF.7'\"\"!$\"+,+++5F.$\"+,+++>F.$\"+,++5FF.$ \"*Hm?Q)F.7'F8$\"+-+++AF.$\"+-+++WF.$\"+,++AmF.$\"+HV1f>F.7'$\"+++++8! \"*$\"++++!p\"FM$\"++++(>#FM$\"+++5cGFM$\"+N#)eq9FM" }}{PARA 11 "" 1 " " {XPPMATH 20 "6%%*subtract~G$\"+WWWW9!\"*%8~times~row~1~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7' $\"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"++++hlF.$\"+ot%*ylF.7'\"\"!$ \"+,+++5F.$\"+,+++>F.$\"+,++5FF.$\"*Hm?Q)F.7'F8$\"+-+++AF.$\"+-+++WF.$ \"+,++AmF.$\"+HV1f>F.7'F8$\"*+++?&!\"*$\"++++W6FM$\"+++S3>FM$\"+x$eH?& F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~ 2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"+,+++5!#5 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+++++A!\"*%8~times~ row~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[% *z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"++++hlF.$ \"+ot%*ylF.7'\"\"!$\"+,+++5F.$\"+,+++>F.$\"+,++5FF.$\"*Hm?Q)F.7'F8F8$ \"*+++?#F.$\"*******f'F.$\"*X(4]6F.7'F8$\"*+++?&!\"*$\"++++W6FK$\"+++S 3>FK$\"+x$eH?&F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+&* *****>&!\"*%8~times~row~2~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++++\")F.$\"++ ++!H(F.$\"++++hlF.$\"+ot%*ylF.7'\"\"!$\"+,+++5F.$\"+,+++>F.$\"+,++5FF. $\"*Hm?Q)F.7'F8F8$\"*+++?#F.$\"*******f'F.$\"*X(4]6F.7'F8F8$\"+/++g:F. $\"*,+?*\\!\"*$\"*5RGW)F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searchi ng~for~pivot~in~column~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~e lement~is~G$\"*+++?#!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~ G$\"+4\"444(!\"*%8~times~row~3~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++ ++\")F.$\"++++!H(F.$\"++++hlF.$\"+ot%*ylF.7'\"\"!$\"+,+++5F.$\"+,+++>F .$\"+,++5FF.$\"*Hm?Q)F.7'F8F8$\"*+++?#F.$\"*******f'F.$\"*X(4]6F.7'F8F 8F8$\"*0++7$F.$\"*;Eg(G!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-% 'RTABLEG6$\")[%*z=-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++++\")F0$\"++++!H( F0$\"++++hlF0$\"+ot%*ylF07'\"\"!$\"+,+++5F0$\"+,+++>F0$\"+,++5FF0$\"*H m?Q)F07'F:F:$\"*+++?#F0$\"*******f'F0$\"*X(4]6F07'F:F:F:$\"*0++7$F0$\" *;Eg(G!#6" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "The complete solution can be obtained by back substitution." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABL EG6$\")s3n=-%'MATRIXG6#7&7#$\"+q2WeN!#57#$\"+v\")f07F.7#$\"+hfIiCF.7#$ \"+;C.=#*!#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 52 " The solution obtained by Gaussian elimination \+ with " }{TEXT 264 11 "no pivoting" }{TEXT -1 5 " is: " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3558440770, ``],[c[2] =.1205598175, ``],[c[3] = .2 462305961, ``],[c[4] = .9218032416*`.`*10^(-1), ``])" "6#-%*PIECEWISEG 6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+q2WeN!#5%!G7$/&F)6#\"\"#-F-6$\"+v\")f 07F0F17$/&F)6#\"\"$-F-6$\"+hfIiCF0F17$/&F)6#\"\"%*(-F-6$\"+;C.=#*F0F+% \".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "Compared with the most accurate po ssible floating point solution " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .35 58441116, ``],[c[2] = .1205597191, ``],[c[3] = .2462306889, ``],[c[4] \+ = .9218029522*`.`*10^(-1), ``])" "6#-%*PIECEWISEG6&7$/&%\"cG6#\"\"\"-% &FloatG6$\"+;6WeN!#5%!G7$/&F)6#\"\"#-F-6$\"+\">(f07F0F17$/&F)6#\"\"$-F -6$\"+*)oIiCF0F17$/&F)6#\"\"%*(-F-6$\"+A&H!=#*F0F+%\".GF+)\"#5,$F+!\" \"F+F1" }{TEXT -1 51 ", the solution above displays the absolute error s: " }{XPPEDIT 18 0 "PIECEWISE([delta*c[1] = 346*`.`*10^(-10), ``],[de lta*c[2] = 984*`.`*10^(-10), ``],[delta*c[3] = 928*`.`*10^(-10), ``],[ delta*c[4] = 2894*`.`*10^(-11), ``]);" "6#-%*PIECEWISEG6&7$/*&%&deltaG \"\"\"&%\"cG6#F*F**(\"$Y$F*%\".GF*)\"#5,$F2!\"\"F*%!G7$/*&F)F*&F,6#\" \"#F**(\"$%)*F*F0F*)F2,$F2F4F*F57$/*&F)F*&F,6#\"\"$F**(\"$G*F*F0F*)F2, $F2F4F*F57$/*&F)F*&F,6#\"\"%F**(\"%%*GF*F0F*)F2,$\"#6F4F*F5" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := deduced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 72 "Solution using 10 digit floating point \+ arithmetic with partial pivoting " }}{PARA 0 "" 0 "" {TEXT -1 94 "Now \+ we solve the system using 10 digit floating point arithmetic by Gaussi an elimination with " }{TEXT 264 16 "partial pivoting" }{TEXT -1 1 ". " }}{PARA 0 "" 0 "" {TEXT -1 49 "We first set up the augmented coeffic ient matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 303 "sys := \n[9/10*c[1]+81/100*c[2]+729/1000*c[3]+656 1/10000*c[4]=25/38,\n c[1]+c[2]+c[3]+c[4]=22/27,\n 11/10*c[1]+121 /100*c[2]+1331/1000*c[3]+14641/10000*c[4]=1,\n13/10*c[1]+169/100*c[2]+ 2197/1000*c[3]+28561/10000*c[4]=25/17];\nvars := [c[1],c[2],c[3],c[4]] ;\n(A,b) := GenerateMatrix(sys,vars);\nAb := ;" }}{PARA 12 "" 1 " " {XPPMATH 20 "6#>%$sysG7&/,*&%\"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+ &F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F)6#\"\"$F+F+*&#\"%hl\"&++\"F+&F)6#\"\"% F+F+#\"#D\"#Q/,*F(F+F3F+F:F+FAF+#\"#A\"#F/,*F(#\"#6F.*&#\"$@\"F2F+F3F+ F+*&#\"%J8F9F+F:F+F+*&#\"&TY\"F@F+FAF+F+F+/,*F(#\"#8F.*&#\"$p\"F2F+F3F +F+*&#\"%(>#F9F+F:F+F+*&#\"&h&GF@F+FAF+F+#FE\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7&&%\"cG6#\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6#\"\"% " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\")#R#) )>-%'MATRIXG6#7&7&#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"7&\" \"\"F>F>F>7&#\"#6F3#\"$@\"F6#\"%J8F9#\"&TY\"F<7&#\"#8F3#\"$p\"F6#\"%(> #F9#\"&h&GF<-F)6$\")[&z7#-F-6#7&7##\"#D\"#Q7##\"#A\"#F7#F>7##FY\"#<" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6$\")S`'*>-%'MATRIXG6 #7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+5#\"%hl\"&++\"#\"#D\"#Q7'\"\"\"F >F>F>#\"#A\"#F7'#\"#6F0#\"$@\"F3#\"%J8F6#\"&TY\"F9F>7'#\"#8F0#\"$p\"F3 #\"%(>#F6#\"&h&GF9#F;\"#<" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we set up Maple to perform 4 digit floating \+ point arithmetic with matrices. Since the default mode for performing \+ floating point computations with (rtable) matrices is to use hardware \+ floating point arithmetic (as long as " }{TEXT 285 6 "Digits" }{TEXT -1 94 " is set to a value less than about 15), we need to make assignm ents to two global variables. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "UseHardwareFloats := false; \nDigits := 10;\nA_b := evalf(Ab);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%2UseHardwareFloatsG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'Di gitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6$\")'42 +#-%'MATRIXG6#7&7'$\"+++++!*!#5$\"+++++\")F0$\"++++!H(F0$\"++++hlF0$\" +ot%*ylF07'$\"\"\"\"\"!F:F:F:$\"+[\"[\"[\")F07'$\"+++++6!\"*$\"++++57F B$\"++++J8FB$\"+++5k9FBF:7'$\"+++++8FB$\"++++!p\"FB$\"++++(>#FB$\"+++5 cGFB$\"+N#)eq9FB" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 16 "GaussElimination " }{TEXT -1 80 " to solve the system. This time we use partial pivotin g by means of the option \"" }{TEXT 285 13 "pivot=partial" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 51 "J := GaussElimination(A_b,info=true,pivot=partial);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Yperforming~Gaussian~elimination~wi th~partial~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6 $\")K#F@ $\"+++5cGF@$\"+N#)eq9F@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching ~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows ~4~and~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K#F.$\"+++5cGF.$\"+N#)eq9 F.7'$\"\"\"\"\"!F8F8F8$\"+[\"[\"[\")!#57'$\"+++++6F.$\"++++57F.$\"++++ J8F.$\"+++5k9F.F87'$\"+++++!*F=$\"+++++\")F=$\"++++!H(F=$\"++++hlF=$\" +ot%*ylF=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"++ +++8!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+#p2Bp(!#5% 8~times~row~1~from~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLE G6$\")K#F.$\"++ +5cGF.$\"+N#)eq9F.7'\"\"!$!*++++$F.$!*+++!pF.$!++++(>\"F.$!+U!pS;$!#57 '$\"+++++6F.$\"++++57F.$\"++++J8F.$\"+++5k9F.$\"\"\"F87'$\"+++++!*FA$ \"+++++\")FA$\"++++!H(FA$\"++++hlFA$\"+ot%*ylFA" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+i%Q:Y)!#5%8~times~row~1~from~row~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K#F.$\"+++5cGF.$\"+N#)eq9F.7'\"\"!$!* ++++$F.$!*+++!pF.$!++++(>\"F.$!+U!pS;$!#57'F8$!*+++?#F.$!*+++G&F.$!*++ g_*F.$!*\"*QMW#F.7'$\"+++++!*FA$\"+++++\")FA$\"++++!H(FA$\"++++hlFA$\" +ot%*ylFA" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+Bp2Bp!#5% 8~times~row~1~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLE G6$\")K#F.$\"++ +5cGF.$\"+N#)eq9F.7'\"\"!$!*++++$F.$!*+++!pF.$!++++(>\"F.$!+U!pS;$!#57 'F8$!*+++?#F.$!*+++G&F.$!*++g_*F.$!*\"*QMW#F.7'F8$!+++++OFA$!++++?zFA$ !+++?@8F.$!+-\"[?g$FA" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~f or~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~4 ~and~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K#F.$\"+++5cGF.$\"+N#)eq9F. 7'\"\"!$!+++++O!#5$!++++?zF;$!+++?@8F.$!+-\"[?g$F;7'F8$!*+++?#F.$!*+++ G&F.$!*++g_*F.$!*\"*QMW#F.7'F8$!*++++$F.$!*+++!pF.$!++++(>\"F.$!+U!pS; $F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$!+++++O!#5 " }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+6666h!#5%8~times~r ow~2~from~row~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K#F.$\"+++5cGF.$\" +N#)eq9F.7'\"\"!$!+++++O!#5$!++++?zF;$!+++?@8F.$!+-\"[?g$F;7'F8F8$!*++ +S%F;$!++++_9F;$!*#H(=U#F;7'F8$!*++++$F.$!*+++!pF.$!++++(>\"F.$!+U!pS; $F;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+LLLL$)!#5%8~tim es~row~2~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\" )K#F.$\"+++5cGF .$\"+N#)eq9F.7'\"\"!$!+++++O!#5$!++++?zF;$!+++?@8F.$!+-\"[?g$F;7'F8F8$ !*+++S%F;$!++++_9F;$!*#H(=U#F;7'F8F8$!*++++$F;$!)+++'*F.$!*!HiB;F;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$!*+++S%!#5" }} {PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+====o!#5%8~times~row~3 ~from~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")K#F.$\"+++5cGF.$\"+N#) eq9F.7'\"\"!$!+++++O!#5$!++++?zF;$!+++?@8F.$!+-\"[?g$F;7'F8F8$!*+++S%F ;$!++++_9F;$!*#H(=U#F;7'F8F8F8$\"*++++$!#6$\")\"4aw#FL" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")K#F0$\"+++5cGF0$\"+N#)eq9F07'\"\"!$!+++++O!# 5$!++++?zF=$!+++?@8F0$!+-\"[?g$F=7'F:F:$!*+++S%F=$!++++_9F=$!*#H(=U#F= 7'F:F:F:$\"*++++$!#6$\")\"4aw#FN" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 59 "The complete solution can be obtained by \+ back substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")s5n=-%'MATRIXG6#7&7#$\"+N5WeN!#57#$\"+eu f07F.7#$\"+FmIiCF.7#$\"+L..=#*!#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 52 " The solution obtai ned by Gaussian elimination with " }{TEXT 264 16 "partial pivoting" } {TEXT -1 5 " is: " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3558441035, ``], [c[2] = .1205597458, ``],[c[3] = .2462306627, ``],[c[4] = .9218030333* `.`*10^(-1), ``])" "6#-%*PIECEWISEG6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+N5 WeN!#5%!G7$/&F)6#\"\"#-F-6$\"+euf07F0F17$/&F)6#\"\"$-F-6$\"+FmIiCF0F17 $/&F)6#\"\"%*(-F-6$\"+L..=#*F0F+%\".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "C ompared with the most accurate possible floating point solution " } {XPPEDIT 18 0 "PIECEWISE([c[1] = .3558441116, ``],[c[2] = .1205597191, ``],[c[3] = .2462306889, ``],[c[4] = .9218029522*`.`*10^(-1), ``])" " 6#-%*PIECEWISEG6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+;6WeN!#5%!G7$/&F)6#\" \"#-F-6$\"+\">(f07F0F17$/&F)6#\"\"$-F-6$\"+*)oIiCF0F17$/&F)6#\"\"%*(-F -6$\"+A&H!=#*F0F+%\".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 51 ", the soluti on above displays the absolute errors: " }{XPPEDIT 18 0 "PIECEWISE([de lta*c[1] = 81*`.`*10^(-10), ``],[delta*c[2] = 267*`.`*10^(-10), ``],[d elta*c[3] = 262*`.`*10^(-10), ``],[delta*c[4] = 811*`.`*10^(-11), ``]) ;" "6#-%*PIECEWISEG6&7$/*&%&deltaG\"\"\"&%\"cG6#F*F**(\"#\")F*%\".GF*) \"#5,$F2!\"\"F*%!G7$/*&F)F*&F,6#\"\"#F**(\"$n#F*F0F*)F2,$F2F4F*F57$/*& F)F*&F,6#\"\"$F**(\"$i#F*F0F*)F2,$F2F4F*F57$/*&F)F*&F,6#\"\"%F**(\"$6) F*F0F*)F2,$\"#6F4F*F5" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := ded uced;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deduce dG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 73 "Solution u sing 10 digit floating point arithmetic with implicit pivoting " }} {PARA 0 "" 0 "" {TEXT -1 94 "Now we solve the system using 10 digit fl oating point arithmetic by Gaussian elimination with " }{TEXT 264 17 " implicit pivoting" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 49 "We f irst set up the augmented coefficient matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 303 "sys := \n[9 /10*c[1]+81/100*c[2]+729/1000*c[3]+6561/10000*c[4]=25/38,\n c[1]+c [2]+c[3]+c[4]=22/27,\n 11/10*c[1]+121/100*c[2]+1331/1000*c[3]+14641/1 0000*c[4]=1,\n13/10*c[1]+169/100*c[2]+2197/1000*c[3]+28561/10000*c[4]= 25/17];\nvars := [c[1],c[2],c[3],c[4]];\n(A,b) := GenerateMatrix(sys,v ars);\nAb := ;" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#>%$sysG7&/,*&% \"cG6#\"\"\"#\"\"*\"#5*&#\"#\")\"$+\"F+&F)6#\"\"#F+F+*&#\"$H(\"%+5F+&F )6#\"\"$F+F+*&#\"%hl\"&++\"F+&F)6#\"\"%F+F+#\"#D\"#Q/,*F(F+F3F+F:F+FAF +#\"#A\"#F/,*F(#\"#6F.*&#\"$@\"F2F+F3F+F+*&#\"%J8F9F+F:F+F+*&#\"&TY\"F @F+FAF+F+F+/,*F(#\"#8F.*&#\"$p\"F2F+F3F+F+*&#\"%(>#F9F+F:F+F+*&#\"&h&G F@F+FAF+F+#FE\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%varsG7&&%\"cG6 #\"\"\"&F'6#\"\"#&F'6#\"\"$&F'6#\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"bG6$-%'RTABLEG6$\")/90=-%'MATRIXG6#7&7&#\"\"*\"#5#\"#\") \"$+\"#\"$H(\"%+5#\"%hl\"&++\"7&\"\"\"F>F>F>7&#\"#6F3#\"$@\"F6#\"%J8F9 #\"&TY\"F<7&#\"#8F3#\"$p\"F6#\"%(>#F9#\"&h&GF<-F)6$\")_6n=-F-6#7&7##\" #D\"#Q7##\"#A\"#F7#F>7##FY\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A bG-%'RTABLEG6$\")gyf;-%'MATRIXG6#7&7'#\"\"*\"#5#\"#\")\"$+\"#\"$H(\"%+ 5#\"%hl\"&++\"#\"#D\"#Q7'\"\"\"F>F>F>#\"#A\"#F7'#\"#6F0#\"$@\"F3#\"%J8 F6#\"&TY\"F9F>7'#\"#8F0#\"$p\"F3#\"%(>#F6#\"&h&GF9#F;\"#<" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 226 "Now we set up Ma ple to perform 4 digit floating point arithmetic with matrices. Since \+ the default mode for performing floating point computations with (rtab le) matrices is to use hardware floating point arithmetic (as long as \+ " }{TEXT 285 6 "Digits" }{TEXT -1 95 " is set to a value less than abo ut 15), we need to make assignments to two global variables. " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "UseHardwareFloats := false;\nDigits := 10;\nA_b := evalf(Ab);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%&falseG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%'DigitsG\"#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$A_bG-%'RTABLEG6$\"(s@H$-%'MATRIXG6#7&7'$\"+++++!*!#5 $\"+++++\")F0$\"++++!H(F0$\"++++hlF0$\"+ot%*ylF07'$\"\"\"\"\"!F:F:F:$ \"+[\"[\"[\")F07'$\"+++++6!\"*$\"++++57FB$\"++++J8FB$\"+++5k9FBF:7'$\" +++++8FB$\"++++!p\"FB$\"++++(>#FB$\"+++5cGFB$\"+N#)eq9FB" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the pro cedure " }{TEXT 0 16 "GaussElimination" }{TEXT -1 81 " to solve the sy stem. This time we use implicit pivoting by means of the option \"" } {TEXT 285 14 "pivot=implicit" }{TEXT -1 2 "\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 52 "J := GaussEl imination(A_b,info=true,pivot=implicit);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Zperforming~Gaussian~elimination~with~implicit~pivoting~toG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7&7'$ \"+++++!*!#5$\"+++++\")F.$\"++++!H(F.$\"++++hlF.$\"+ot%*ylF.7'$\"\"\" \"\"!F8F8F8$\"+[\"[\"[\")F.7'$\"+++++6!\"*$\"++++57F@$\"++++J8F@$\"+++ 5k9F@F87'$\"+++++8F@$\"++++!p\"F@$\"++++(>#F@$\"+++5cGF@$\"+N#)eq9F@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~2~and~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7&7'$\"\"\"\"\"!F, F,F,$\"+[\"[\"[\")!#57'$\"+++++!*F1$\"+++++\")F1$\"++++!H(F1$\"++++hlF 1$\"+ot%*ylF17'$\"+++++6!\"*$\"++++57F@$\"++++J8F@$\"+++5k9F@F,7'$\"++ +++8F@$\"++++!p\"F@$\"++++(>#F@$\"+++5cGF@$\"+N#)eq9F@" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G$\"\"\"\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+++++!*!#5%8~times~row~1~from~row~2G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7& 7'$\"\"\"\"\"!F,F,F,$\"+[\"[\"[\")!#57'F.$!*++++*F1$!++++5$\"++++J8F>$\"+++5k9F>F,7'$\"++++ +8F>$\"++++!p\"F>$\"++++(>#F>$\"+++5cGF>$\"+N#)eq9F>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+++++6!\"*%8~times~row~1~from~row~3G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7& 7'$\"\"\"\"\"!F,F,F,$\"+[\"[\"[\")!#57'F.$!*++++*F1$!++++5$\"*++5k$F>$\"+Pq.P5F17'$\"+++ ++8F>$\"++++!p\"F>$\"++++(>#F>$\"+++5cGF>$\"+N#)eq9F>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%*subtract~G$\"+++++8!\"*%8~times~row~1~from~row~4 G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7 &7'$\"\"\"\"\"!F,F,F,$\"+[\"[\"[\")!#57'F.$!*++++*F1$!++++5$\"*++5k$F>$\"+Pq.P5F17'F.$\" *+++!RF>$\"*+++(*)F>$\"+++5c:F>$\"*w*G8TF>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~4~and~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7&7'$\"\"\"\"\"!F,F,F,$\"+[\"[\"[\")! #57'F.$\"*+++!R!\"*$\"*+++(*)F5$\"+++5c:F5$\"*w*G8TF57'F.$\"*+++5\"F5$ \"*+++J#F5$\"*++5k$F5$\"+Pq.P5F17'F.$!*++++*F1$!++++5!#6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for ~pivot~in~column~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%2swap~rows~4~a nd~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIX G6#7&7'$\"\"\"\"\"!F,F,F,$\"+[\"[\"[\")!#57'F.$\"*+++!R!\"*$\"*+++(*)F 5$\"+++5c:F5$\"*w*G8TF57'F.F.$\"*+++g$F1$\"++++_6F1$\"+!\\Z$[>!#67'F.F .$!*+++?#F1$!*,++[(F1$!*8;7B\"F1" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2 pivot~element~is~G$\"*+++g$!#5" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%ad d~G$\"+6666h!#5%6~times~row~3~to~row~4G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7&7'$\"\"\"\"\"!F,F,F,$\"+[\"[\" [\")!#57'F.$\"*+++!R!\"*$\"*+++(*)F5$\"+++5c:F5$\"*w*G8TF57'F.F.$\"*++ +g$F1$\"++++_6F1$\"+!\\Z$[>!#67'F.F.F.$!*5++S%FC$!)J$f0%FC" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6$\")?/#)=-%'MATRIXG6#7&7'$ \"\"\"\"\"!F.F.F.$\"+[\"[\"[\")!#57'F0$\"*+++!R!\"*$\"*+++(*)F7$\"+++5 c:F7$\"*w*G8TF77'F0F0$\"*+++g$F3$\"++++_6F3$\"+!\\Z$[>!#67'F0F0F0$!*5+ +S%FE$!)J$f0%FE" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "The complete solution can be obtained by back substitutio n." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "BackwardSubstitute(J);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")s7n=-%'MATRIXG6#7&7#$\"+O6WeN!#57#$\"+crf07F.7#$ \"++pIiCF.7#$\"+j&H!=#*!#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 52 " The solution obtained by Gaussi an elimination with " }{TEXT 264 17 "implicit pivoting" }{TEXT -1 5 " \+ is: " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3558441136, ``],[c[2] = .1205 597156, ``],[c[3] = .2462306900, ``],[c[4] = .9218029563*`.`*10^(-1), \+ ``]);" "6#-%*PIECEWISEG6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+O6WeN!#5%!G7$/ &F)6#\"\"#-F-6$\"+crf07F0F17$/&F)6#\"\"$-F-6$\"++pIiCF0F17$/&F)6#\"\"% *(-F-6$\"+j&H!=#*F0F+%\".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "Compared \+ with the most accurate possible floating point solution " }{XPPEDIT 18 0 "PIECEWISE([c[1] = .3558441116, ``],[c[2] = .1205597191, ``],[c[3 ] = .2462306889, ``],[c[4] = .9218029522*`.`*10^(-1), ``])" "6#-%*PIEC EWISEG6&7$/&%\"cG6#\"\"\"-%&FloatG6$\"+;6WeN!#5%!G7$/&F)6#\"\"#-F-6$\" +\">(f07F0F17$/&F)6#\"\"$-F-6$\"+*)oIiCF0F17$/&F)6#\"\"%*(-F-6$\"+A&H! =#*F0F+%\".GF+)\"#5,$F+!\"\"F+F1" }{TEXT -1 51 ", the solution above d isplays the absolute errors: " }{XPPEDIT 18 0 "PIECEWISE([delta*c[1] = 20*`.`*10^(-10), ``],[delta*c[2] = 35*`.`*10^(-10), ``],[delta*c[3] = 11*`.`*10^(-10), ``],[delta*c[4] = 41*`.`*10^(-11), ``]);" "6#-%*PIEC EWISEG6&7$/*&%&deltaG\"\"\"&%\"cG6#F*F**(\"#?F*%\".GF*)\"#5,$F2!\"\"F* %!G7$/*&F)F*&F,6#\"\"#F**(\"#NF*F0F*)F2,$F2F4F*F57$/*&F)F*&F,6#\"\"$F* *(\"#6F*F0F*)F2,$F2F4F*F57$/*&F)F*&F,6#\"\"%F**(\"#TF*F0F*)F2,$FGF4F*F 5" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 29 "UseHardwareFloats := deduced;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%2UseHardwareFloatsG%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 5 "Tasks" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q1" }}{PARA 0 "" 0 "" {TEXT -1 92 "Use Gaussian elimination together with backward substitution to the solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 7 ", where" }} {PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 2 " " } {XPPEDIT 18 0 "A = matrix([[1, 1, 1], [1, 3, 7], [1, 4, 12]]);" "6#/% \"AG-%'matrixG6#7%7%\"\"\"F*F*7%F*\"\"$\"\"(7%F*\"\"%\"#7" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b = matrix([[8], [14], [18]]);" "6#/%\"bG-%' matrixG6#7%7#\"\")7#\"#97#\"#=" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 37 "__ ___________________________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q2" }} {PARA 0 "" 0 "" {TEXT -1 95 "Use Gaussian elimination together with ba ckward substitution to try to solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 7 ", \+ where" }}{PARA 257 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "A = matrix( [[2, 1, 5], [3, -2, 2], [5, -8, -4]]);" "6#/%\"AG-%'matrixG6#7%7%\"\"# \"\"\"\"\"&7%\"\"$,$F*!\"\"F*7%F,,$\"\")F0,$\"\"%F0" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b = matrix([[4], [2], [1]]);" "6#/%\"bG-%'matrixG6# 7%7#\"\"%7#\"\"#7#\"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 "Explain what happens with referenc e to example 3 above." }}{PARA 0 "" 0 "" {TEXT -1 37 "________________ _____________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 37 "_______________________________ ______" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q3" }}{PARA 0 "" 0 "" {TEXT -1 92 "Use Gau ssian elimination together with backward substitution to the solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\".GF &%\"xGF&%\"bG" }{TEXT -1 7 ", where" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 257 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "A = matrix([[6, -8 , 1, -4, -3], [-7, 7, -1, -1, 1], [1, 8, 3, -7, 1], [-9, 3, -8, -3, 3] , [3, 1, 5, -6, -5]]);" "6#/%\"AG-%'matrixG6#7'7'\"\"',$\"\")!\"\"\"\" \",$\"\"%F-,$\"\"$F-7',$\"\"(F-F5,$F.F-,$F.F-F.7'F.F,F2,$F5F-F.7',$\" \"*F-F2,$F,F-,$F2F-F27'F2F.\"\"&,$F*F-,$F@F-" }{TEXT -1 5 " and " } {XPPEDIT 18 0 "b = matrix([[1], [4], [-2], [3], [2]]);" "6#/%\"bG-%'ma trixG6#7'7#\"\"\"7#\"\"%7#,$\"\"#!\"\"7#\"\"$7#F/" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 37 "_____________________________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q4" }}{PARA 0 "" 0 "" {TEXT -1 105 "Use Gaussian elimination together with backward substitution to the solve the linear system of equation s:" }}{PARA 257 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "PIECEWISE([6*x+ 2*y+2*z=-2, ``],[2*x+2/3*y+z/3=1 ,`` ],[x+2*y-z=0 ,`` ])" "6#-%*PIECEW ISEG6%7$/,(*&\"\"'\"\"\"%\"xGF+F+*&\"\"#F+%\"yGF+F+*&F.F+%\"zGF+F+,$F. !\"\"%!G7$/,(*&F.F+F,F+F+*(F.F+\"\"$F3F/F+F+*&F1F+F:F3F+F+F47$/,(F,F+* &F.F+F/F+F+F1F3\"\"!F4" }{TEXT -1 3 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 125 "Perform the calculation using 10 \+ digit floating point arithmetic (a) without partial pivoting, and (b) \+ with partial pivoting." }}{PARA 0 "" 0 "" {TEXT -1 53 "Compare the res ults obtained by these two approaches." }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 37 "____________ _________________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " ;" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 2 "Q5" }}{PARA 0 "" 0 "" {TEXT -1 92 "Use Gaussian elimination together with backward substitut ion to the solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b;" "6# /*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 7 ", where" }}{PARA 0 "" 0 "" {TEXT -1 4 " " }{XPPEDIT 18 0 "A = matrix([[6.486398716, .8710 817891, 7.48237504, 3.605644624], [5.827139758, -10.59691933, -5.62072 0836, -4.433308939], [18.93844047, 11.13555788, 5.311180595, 2.8270331 0], [-.6494045231, -10.12143096, -3.651777213, 13.37050495]]);" "6#/% \"AG-%'matrixG6#7&7&-%&FloatG6$\"+;()R'['!\"*-F+6$\"+\"*y\"3r)!#5-F+6$ \"*/vB[(!\")-F+6$\"+CYk0OF.7&-F+6$\"+e(Rr#eF.,$-F+6$\"+L>pf5F6!\"\",$- F+6$\"+O3s?cF.FB,$-F+6$\"+R*3LV%F.FB7&-F+6$\"+ZS%Q*=F6-F+6$\"+)ybN6\"F 6-F+6$\"+&f!=6`F.-F+6$\"*5Lq#GF67&,$-F+6$\"+J_/%\\'F2FB,$-F+6$\"+'4V@, \"F6FB,$-F+6$\"+8sx^OF.FB-F+6$\"+&\\]qL\"F6" }{TEXT -1 7 " and " } {XPPEDIT 18 0 "b = matrix([[2.554613443], [1.444186327], [.8048748432] , [9.738485205]]);" "6#/%\"bG-%'matrixG6#7&7#-%&FloatG6$\"+VMhaD!\"*7# -F+6$\"+Fj=W9F.7#-F+6$\"+K%[([!)!#57#-F+6$\"+0_[Q(*F." }{TEXT -1 2 ", \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "(a) u sing 10 digit software floating-point arithmetic with " }{TEXT 265 17 "UseHardwareFloats" }{TEXT -1 8 " set to " }{TEXT 285 5 "false" } {TEXT -1 5 " and " }{TEXT 265 6 "Digits" }{TEXT -1 8 " set to " } {TEXT 285 2 "10" }{TEXT -1 2 ", " }}{PARA 0 "" 0 "" {TEXT -1 59 "(b) u sing 10 digit hardware floating-point arithmetic with " }{TEXT 265 17 "UseHardwareFloats" }{TEXT -1 8 " set to " }{TEXT 285 4 "true" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 37 "______________________________ _______" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{MARK "4 0 0" 0 } {VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }