{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 " Blue 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 "Red Emphasis" -1 260 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Purple Emphasis" -1 261 "Times " 1 12 115 0 230 1 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 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 265 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 269 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 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 "System" 0 1 0 0 0 0 0 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 "System" 0 1 0 0 0 0 0 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 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 0 1 0 0 0 0 1 0 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 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "System" 0 1 0 0 0 0 0 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 "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 295 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 296 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Grey Emphasis" -1 303 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE " Purple Emphasis" -1 307 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 308 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 311 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 312 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 313 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 314 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 315 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 316 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 317 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 318 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE " " -1 319 "" 0 1 0 0 0 0 1 0 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 "Times" 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 "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 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 257 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 }} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 24 "Gauss-Jordan 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 52 "with(LinearAlgebra):\ninterf ace(rtablesize=infinity):" }}}{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 303 8 "linsys.m" }{TEXT -1 32 " is required by this worksheet. \+ " }}{PARA 0 "" 0 "" {TEXT -1 121 "It can be read into a Maple session \+ by a command similar to the one that follows, where the file path give s 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 51 "Elementary row operations and reduced ech elon form " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "The following oper ations on a matrix are called " }{TEXT 261 14 "row operations" }{TEXT -1 1 ":" }}{PARA 15 "" 0 "" {TEXT -1 23 "Interchanging two rows." }} {PARA 15 "" 0 "" {TEXT -1 63 "Multiplication of a row by a non-zero re al (or complex) number." }}{PARA 15 "" 0 "" {TEXT -1 35 "Addition of o ne row to another row." }}{PARA 15 "" 0 "" {TEXT -1 49 "Addition of a \+ multiple of one row to another row." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 111 "Note that the last of these row operati ons can be achieved by a combination of the previous two row operation s:" }}{PARA 0 "" 0 "" {TEXT -1 7 "To add " }{TEXT 293 1 "r" }{TEXT -1 11 " times row " }{TEXT 294 1 "i" }{TEXT -1 8 " to row " }{TEXT 295 1 "k" }{TEXT -1 15 ", multiply row " }{TEXT 296 1 "i" }{TEXT -1 4 " by \+ " }{TEXT 297 1 "r" }{TEXT -1 10 ", add row " }{TEXT 298 1 "i" }{TEXT -1 8 " to row " }{TEXT 299 1 "k" }{TEXT -1 23 " and then multiply row \+ " }{TEXT 300 1 "i" }{TEXT -1 4 " by " }{XPPEDIT 18 0 "1/r" "6#*&\"\"\" F$%\"rG!\"\"" }{TEXT -1 92 " to return it to its original state. The f irst three of the above row operations are called " }{TEXT 261 25 "ele mentary row operations" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 26 "A mat rix is said to be in " }{TEXT 261 20 "reduced echelon form" }{TEXT -1 48 " if it satisfies the following three properties:" }}{PARA 15 "" 0 "" {TEXT -1 15 "All rows which " }{TEXT 261 26 "consists entirely of z eros" }{TEXT -1 96 " must follow rows which contain non-zero entries, \+ that is, they are at the bottom of the matrix." }}{PARA 15 "" 0 "" {TEXT -1 120 " The first non-zero entry in any row is 1, and it appear s to the right of the first non-zero entry in any preceding row." }} {PARA 15 "" 0 "" {TEXT -1 78 "The first non-zero entry in any row is t he only non-zero entry in its column. " }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 15 "The process of " }{TEXT 261 24 "Gauss -Jordan elimination" }{TEXT -1 96 " involves the applying row operatio ns to a matrix so as to transform it to reduced echelon form." }} {PARA 0 "" 0 "" {TEXT 260 64 "Such a transformation to reduced echelon form is always possible" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 106 "The following are examples of mat rices in reduced echelon form where the * 's represent non-zero entrie s. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 1 " \+ " }{XPPEDIT 18 0 "matrix([[1, 0], [0, 1]]);" "6#-%'matrixG6#7$7$\"\"\" \"\"!7$F)F(" }{TEXT -1 5 " " }{XPPEDIT 18 0 "matrix([[0,1, 0], [0, 0, 1]])" "6#-%'matrixG6#7$7%\"\"!\"\"\"F(7%F(F(F)" }{TEXT -1 5 " \+ " }{XPPEDIT 18 0 "matrix([[0, 1, 0,`*`], [0, 0, 1,`*`]])" "6#-%'matrix G6#7$7&\"\"!\"\"\"F(%\"*G7&F(F(F)F*" }{TEXT -1 4 " " }{XPPEDIT 18 0 "matrix([[0, 1, 0, `*`], [0, 0, 1, `*`],[0,0,0,0]])" "6#-%'matrixG6# 7%7&\"\"!\"\"\"F(%\"*G7&F(F(F)F*7&F(F(F(F(" }{TEXT -1 4 " " } {XPPEDIT 18 0 "matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1]]);" "6#-%'matri xG6#7%7%\"\"\"\"\"!F)7%F)F(F)7%F)F)F(" }{TEXT -1 6 " " }{XPPEDIT 18 0 "matrix([[1, 0, 0], [0, 1, 0], [0, 0, 1],[0,0,0]])" "6#-%'matrixG 6#7&7%\"\"\"\"\"!F)7%F)F(F)7%F)F)F(7%F)F)F)" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 " " } {XPPEDIT 18 0 "matrix([[0,1, 0, 0], [0, 0,1, 0], [0, 0, 0,1],[0,0,0,0] ])" "6#-%'matrixG6#7&7&\"\"!\"\"\"F(F(7&F(F(F)F(7&F(F(F(F)7&F(F(F(F(" }{TEXT -1 7 " " }{XPPEDIT 18 0 "matrix([[0, 1, 0, `*`,0], [0, 0, 1, `*`,0], [0, 0, 0, 0,1], [0, 0, 0, 0,0]])" "6#-%'matrixG6#7&7'\"\"! \"\"\"F(%\"*GF(7'F(F(F)F*F(7'F(F(F(F(F)7'F(F(F(F(F(" }{TEXT -1 7 " \+ " }{XPPEDIT 18 0 "matrix([[0,1, 0, `*`,0,`*`,`*`,0], [0,0, 1, `*`,0 ,`*`,`*`,0], [0, 0, 0,0,1,`*`,`*`,0],[0,0,0,0,0,0,0,1],[0,0,0,0,0,0,0, 0]])" "6#-%'matrixG6#7'7*\"\"!\"\"\"F(%\"*GF(F*F*F(7*F(F(F)F*F(F*F*F(7 *F(F(F(F(F)F*F*F(7*F(F(F(F(F(F(F(F)7*F(F(F(F(F(F(F(F(" }{TEXT -1 1 " \+ " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 137 "Gaus s-Jordan elimination can be used to solve linear systems of equations, and find inverse matrices, as indicated by the examples below." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 53 " A procedure for performing Gauss-Jordan elimination: " }{TEXT 0 11 "Ga ussJordan" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 18 "GaussJordan: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 262 17 "Calling S equence:" }}{PARA 0 "" 0 "" {TEXT 264 1 "\n" }{TEXT -1 19 " GaussJ ordan(A)" }}{PARA 0 "" 0 "" {TEXT -1 27 " GaussJordan(A, 'rank')" }}{PARA 0 "" 0 "" {TEXT -1 34 " GaussJordan(A, 'rank', 'det')" }} {PARA 0 "" 0 "" {TEXT -1 40 " GaussJordan(A, 'rank', 'det','rng') " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 11 "Par ameters:" }}{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 257 "" 0 "" {TEXT -1 12 "Descri ption:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 15 "" 0 "" {TEXT -1 112 "Elementary row operations are performed on A, an n by m matrix, t o reduce it to row echelon (Gauss-Jordan) form." }}{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 220 ", 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 263 8 "Options:" }{TEXT -1 1 "\n" }}{PARA 0 "" 0 "" {TEXT -1 38 "pivot=none/partial/implicit/true/false" }}{PARA 0 " " 0 "" {TEXT -1 249 "With the option \"pivot=none\", which is equivale nt to \"pivot=false\", rearrangement of rows is only performed in orde r to avoid using a zero pivot element.\nWith the option \"pivot=partia l\", partial pivoting will be performed if possible or appropriate." } }{PARA 0 "" 0 "" {TEXT -1 97 "With the option \"pivot=implicit\", impl icit pivoting will be performed if possible or appropriate." }}{PARA 0 "" 0 "" {TEXT -1 258 "When at least one entry is a floating point nu mber, the default is \"pivot=implicit\", so that implicit pivoting (pa rtial pivoting with implicit scaling) is used. In this case \"pivot=tr ue\" is equivalent to \"pivot=implicit\", and this is the default beha viour. " }}{PARA 0 "" 0 "" {TEXT -1 182 "When all the entries of A ar e exact rational numbers pivoting is only performed in order to avoid \+ using a zero pivot element. This is independent of the setting of the \+ pivot option. " }}{PARA 0 "" 0 "" {TEXT -1 250 "When the matrix A cont ains symbolic (non-numeric) expressions, the default is \"pivot=partia l\", and partial pivoting based on the length of expressions is used. \+ In this case \"pivot=true\" and \"pivot=implicit\" produce the same re sult 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 regarding the choi ce of pivot element and the associated row operations is shown as the \+ computation procedes." }}{PARA 0 "" 0 "" {TEXT -1 25 "The default \"in fo=false\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 261 15 "How to activate" }{TEXT -1 1 " :" }}{PARA 0 "" 0 "" {TEXT -1 155 "To make the procedures active open \+ the subsection, place the cursor anywhere after the prompt [ > and pr ess [Enter].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 27 "GaussJordan: implementation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7730 "GaussJorda n := proc(AA,rank,det,rng)\n local A,Options,outpt,pvt,flt,prntflg,s cale,temp,\n d,m,n,i,j,l,r,cl,k,t,p,startopts,nmrc,rtnl,big;\n\n p vt := true;\n prntflg := false;\n startopts := 2;\n if nargs>1 t hen \n if type(args[2],name) then\n startopts := startopt s + 1\n elif not type(args[2],`=`) then \n error \"2nd ar gument must be a variable to which rank of the matrix is assigned\"\n \+ end if;\n if nargs>2 then\n if type(args[3],name) th en\n startopts := startopts + 1\n elif not type(arg s[3],`=`) then \n error \"3rd argument must be a variable t o 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 elif not type(args[3], `=`) then \n error \"4th argument must be a variable to \+ which the list of indices of column vectors which form 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 startopts<=nargs then\n \+ Options:=[args[startopts..nargs]];\n if not type(Options,list( equation)) then\n error \"each optional argument after the %-1 argument must be an equation\",startopts-1;\n end if;\n if \+ hasoption(Options,'pivot','pvt','Options') then\n if not membe r(pvt,\{true,false,'none','partial','implicit'\}) then\n er ror \"\\\"pivot\\\" must be be 'none' <-> 'false', 'true', 'partial' o r 'implicit'\"\n end if;\n if pvt=false then pvt := 'n one' end if; \n end if;\n if hasoption(Options,'info','prntf lg','Options') then\n if prntflg<>true then prntflg := false e nd if; \n end if;\n if nops(Options)>0 then\n error \+ \"%1 is not a valid option for %2\",op(1,Options),procname;\n end if;\n end if;\n\n if not type(AA,'Matrix') then\n error \"1s t argument must be a Matrix\"\n end if;\n m := LinearAlgebra['RowD imension'](AA);\n n := LinearAlgebra['ColumnDimension'](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 := hastyp e(eval(A),float);\n if flt then \n A := map(evalf,A);\n \+ if not type(A,'Matrix(complex(numeric))') then\n error \"mat rix entries must all evaluate to complex floats\"\n end if;\n \+ if pvt=true then pvt := 'implicit' end if;\n else\n if pvt='i mplicit' or pvt=true then pvt := 'partial' end if;\n end if;\n\n r tnl := false;\n if not flt then\n rtnl := true;\n for i fr om 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 d o;\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' t hen # 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 implicit pivoting` );\n end if;\n break;\n end if;\n e nd do;\n end if;\n\n d := 1;\n\n if prntflg then\n if pvt=' partial' then\n print(`performing Gauss-Jordan elimination wit h partial pivoting to`);\n print(eval(A));\n elif pvt='im plicit' then\n print(`performing Gauss-Jordan elimination with implicit pivoting to`);\n print(eval(A));\n else\n \+ print(`performing Gauss-Jordan 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 end if;\n \+ if prntflg then\n print(`searching for pivot in column `| |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='none' then\n \+ p := l;\n break\n elif 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='imp licit' then\n temp := abs(A[l,i])*scale[l];\n \+ if temp > k then\n k := temp;\n p := l ;\n end if;\n elif flt then\n tem p := abs(A[l,i]);\n if temp>k then\n k := \+ temp;\n p := l;\n end if;\n elif \+ not flt then\n temp := length(A[l,i]);\n i f tempj the n\n A[[p,j],1..-1] := A[[j,p],1..-1];\n if prntflg the n\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 sc ale[j] := scale[p];\n scale[p] := temp;\n end if;\n d := -d;\n end if;\n if prntflg then\n prin t(`pivot element is `,A[j,i]);\n end if;\n if A[j,i]<>1 then \n t := A[j,i];\n for r from i+1 to n do\n \+ A[j,r] := A[j,r]/t;\n if not nmrc then A[j,r] := normal(A[j ,r]) end if;\n end do;\n if pvt='implicit' then # adju st the scaling information\n scale[j] := scale[j]/abs(t);\n end if;\n d := d*t;\n A[j,i] := 1;\n \+ if prntflg then\n if type(t,rational) and not type(t,intege r) then\n t := 1/t;\n print(`multiply row \+ `||j||` by `,t);\n else\n print(`divide row ` ||j||` by `,t);\n end if;\n print(eval(A));\n \+ end if;\n end if;\n\n # row operations #\n for k to m do\n if k=j or A[k,i]=0 then next end if;\n for r f rom i+1 to n do\n A[k,r] := A[k,r] - A[k,i]*A[j,r];\n \+ if not nmrc then A[k,r] := normal(A[k,r]) end if;\n end \+ do;\n t := A[k,i];\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) o r type(t,float)) and t>0)\n or (type(t,realcons) an d 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 pr int(eval(A));\n end if;\n end do;\n # next row #\n \+ j := j + 1;\n end do;\n\n j := j - 1;\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 := FA IL end if;\n cl := cl union \{seq(r,r=i+1..n)\};\n cl := \{se q(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 proc:" }}}{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 11 "GaussJ ordan" }{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 "W e 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 " a nd " }{XPPEDIT 18 0 "b = matrix([[13], [2], [26]]);" "6#/%\"bG-%'matri xG6#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 ma trix " }{TEXT 279 1 "A" }{TEXT -1 11 ", and then " }{TEXT 261 7 "augme nt" }{TEXT -1 20 " it with the vector " }{TEXT 280 1 "b" }{TEXT -1 20 " as the last column." }}{PARA 0 "" 0 "" {TEXT -1 18 "Here, I have use d " }{TEXT 261 27 "Matrix and Vector shortcuts" }{TEXT -1 8 ". See: \+ " }{HYPERLNK 17 "LinearAlgebra,General,MVshortcut" 2 "LinearAlgebra,Ge neral,MVshortcut" "" }}{PARA 0 "" 0 "" {TEXT -1 29 "which are availabl e with 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%\"))onr\"-%'MATR IXG6#7%7%\"\"\"\"\"#\"\"$7%!\"\"F2F/7%F2F0\"\"%%'MatrixG" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6%\")3Hy?-%'MATRIXG6#7%7#\"#87# \"\"#7#\"#E&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% #AbG-%'RTABLEG6%\")cK\"3#-%'MATRIXG6#7%7&\"\"\"\"\"#\"\"$\"#87&!\"\"F3 F/F/7&F3F0\"\"%\"#E%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 11 "G aussJordan" }{TEXT -1 63 " to solve the system using row operations to reduce the matrix " }{TEXT 278 1 "A" }{TEXT -1 19 " to the identity 3 " }{TEXT 269 1 "x" }{TEXT -1 61 " 3 matrix, whereby the last column g ives the solution vector " }{TEXT 270 1 "x" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 20 "Using the procedure " }{TEXT 0 11 "GaussJordan" } {TEXT -1 39 ", we can view the steps of the process." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "J := Gauss Jordan(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Xperforming~ Gauss-Jordan~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k8[;-%'MATRIXG6#7%7&\"\"\"\"\"#\"\"$\"#8 7&!\"\"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%\")k8[ ;-%'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%\")k8[;-%'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\"\"#%7~times~row~2~from~row~G\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k8[;-%'MATRIXG6 #7%7&\"\"\"\"\"!!\"(!#<7&F-F,\"\"&\"#:7&F-F1\"\"(\"#R%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"&%7~times~row~2~from~r ow~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k8[;-%'MAT RIXG6#7%7&\"\"\"\"\"!!\"(!#<7&F-F,\"\"&\"#:7&F-F-!#=!#O%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~3G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G!#=" }}{PARA 11 " " 1 "" {XPPMATH 20 "6$%1divide~row~3~by~G!#=" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k8[;-%'MATRIXG6#7%7&\"\"\"\"\"!!\"(!#<7& F-F,\"\"&\"#:7&F-F-F,\"\"#%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 %%%add~G\"\"(%6~times~row~3~to~row~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k8[;-%'MATRIXG6#7%7&\"\"\"\"\"!F-!\"$7&F-F,\"\"&\"#: 7&F-F-F,\"\"#%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G \"\"&%7~times~row~3~from~row~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #-%'RTABLEG6%\")k8[;-%'MATRIXG6#7%7&\"\"\"\"\"!F-!\"$7&F-F,F-\"\"&7&F- F-F,\"\"#%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG 6%\")k8[;-%'MATRIXG6#7%7&\"\"\"\"\"!F/!\"$7&F/F.F/\"\"&7&F/F/F.\"\"#%' MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 "We extract the last column to give the solution vector " }{TEXT 271 1 "x" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "with(LinearAlgebra):\nx := Column(J ,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG-%'RTABLEG6%\")k9$)>-%'M ATRIXG6#7%7#!\"$7#\"\"&7#\"\"#&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 35 "Finally, we can check t he solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "A.x;\nx := 'x':\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")3Q$4#-%'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 275 1 "A " }{TEXT -1 38 ", and then augment it with the vector " }{TEXT 277 1 " b" }{TEXT -1 20 " as the last column." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "A := Matrix([[5,7,6,5],[ 7,10,8,7],[6,8,10,9],[5,7,9,10]]);\nb := Vector([1,2,3,4]);\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")!)G'4#-%'M ATRIXG6#7&7&\"\"&\"\"(\"\"'F.7&F/\"#5\"\")F/7&F0F3F2\"\"*7&F.F/F5F2%'M atrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6%\")Ws<=-%' MATRIXG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\"%&%'VectorG6#%'columnG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG-%'RTABLEG6%\")7q=>-%'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 11 "GaussJordan" } {TEXT -1 63 " to solve the system using row operations to reduce the m atrix " }{TEXT 274 1 "A" }{TEXT -1 19 " to the identity 4 " }{TEXT 272 1 "x" }{TEXT -1 61 " 4 matrix, whereby the last column gives the s olution vector " }{TEXT 273 1 "x" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "J := GaussJo rdan(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Xperforming~Ga uss-Jordan~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")G3.@-%'MATRIXG6#7&7'\"\"&\"\"(\"\"'F,\" \"\"7'F-\"#5\"\")F-\"\"#7'F.F2F1\"\"*\"\"$7'F,F-F5F1\"\"%%'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$%1divide~row~1~by~G\"\"&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")G3.@-%'MATRIXG6#7&7'\"\"\"#\"\"(\"\"&#\" \"'F/F,#F,F/7'F.\"#5\"\")F.\"\"#7'F1F5F4\"\"*\"\"$7'F/F.F8F4\"\"%%'Mat rixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"(%7~times~row~ 1~from~row~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")G3 .@-%'MATRIXG6#7&7'\"\"\"#\"\"(\"\"&#\"\"'F/F,#F,F/7'\"\"!F2#!\"#F/F4# \"\"$F/7'F1\"\")\"#5\"\"*F87'F/F.F%\"JG-%'RTABLEG6%\")G3.@-%'MAT RIXG6#7&7'\"\"\"\"\"!F/F/!#D7'F/F.F/F/\"#:7'F/F/F.F/\"\"'7'F/F/F/F.!\" $%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 "We extract the last column to give the solution vector " } {TEXT 276 1 "x" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "with(LinearAlgebra):\nx := C olumn(J,5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG-%'RTABLEG6%\")?m a=-%'MATRIXG6#7&7#!#D7#\"#:7#\"\"'7#!\"$&%'VectorG6#%'columnG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 33 "Finally, \+ we can check the result." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "A.x;\nx := 'x':\n" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")'fq6#-%'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 58 "Suppose that we have a collection of systems of equations " }{XPPEDIT 18 0 "A*`.`*x = b[1];" "6#/*(%\"AG\" \"\"%\".GF&%\"xGF&&%\"bG6#F&" }{TEXT -1 2 ", " }{XPPEDIT 18 0 "A*`.`*x = b[2];" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&&%\"bG6#\"\"#" }{TEXT -1 44 " , . . . , with the same coefficient matrix " }{TEXT 301 1 "A" }{TEXT -1 38 ", but with different constant vectors " }{XPPEDIT 18 0 "b[1],b[ 2], `. . .`" "6%&%\"bG6#\"\"\"&F$6#\"\"#%&.~.~.G" }{TEXT -1 1 " " }} {PARA 0 "" 0 "" {TEXT -1 73 "Then these systems can be solved simultan eously by augmenting the matrix " }{TEXT 302 1 "A" }{TEXT -1 43 " with columns for all the constant vectors " }{XPPEDIT 18 0 "b[1],b[2], `. \+ . .`" "6%&%\"bG6#\"\"\"&F$6#\"\"#%&.~.~.G" }{TEXT -1 1 " " }}{PARA 0 " " 0 "" {TEXT -1 42 "For example, we can solve the two systems " } {XPPEDIT 18 0 "A*`.`*x = b[1];" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&&%\"bG6 #F&" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "A*`.`*x = b[2];" "6#/*(%\"AG \"\"\"%\".GF&%\"xGF&&%\"bG6#\"\"#" }{TEXT -1 8 ", where " }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "A = matrix([[1, -1, 1], [3,-2,1 ], [4,1,-3]]), b[1]=matrix([[3], [10], [20]])" "6$/%\"AG-%'matrixG6#7% 7%\"\"\",$F*!\"\"F*7%\"\"$,$\"\"#F,F*7%\"\"%F*,$F.F,/&%\"bG6#F*-F&6#7% 7#F.7#\"#57#\"#?" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b[2]=matrix([[7] , [-4], [1]])" "6#/&%\"bG6#\"\"#-%'matrixG6#7%7#\"\"(7#,$\"\"%!\"\"7# \"\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 36 "First set up the coefficient matrix " }{TEXT 281 1 " A" }{TEXT -1 56 ", and augment it with two extra columns for the vecto rs " }{XPPEDIT 18 0 "b[1]" "6#&%\"bG6#\"\"\"" }{TEXT -1 5 " and " } {XPPEDIT 18 0 "b[2]" "6#&%\"bG6#\"\"#" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 84 "A := <<1, 3,4>|<-1,-2,1>|<1,1,-3>>;\nb1 := <3,10,20>;\nb2 := <7,-4,1>;\nAb := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")WYY;- %'MATRIXG6#7%7%\"\"\"!\"\"F.7%\"\"$!\"#F.7%\"\"%F.!\"$%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#b1G-%'RTABLEG6%\")WUC@-%'MATRIXG6#7 %7#\"\"$7#\"#57#\"#?&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#b2G-%'RTABLEG6%\")_'e7#-%'MATRIXG6#7%7#\"\"(7#!\"%7# \"\"\"&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AbG- %'RTABLEG6%\")/#pp\"-%'MATRIXG6#7%7'\"\"\"!\"\"F.\"\"$\"\"(7'F0!\"#F. \"#5!\"%7'\"\"%F.!\"$\"#?F.%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 25 "Now we use the procedure " }{TEXT 0 11 "GaussJordan" }{TEXT -1 63 " to solve the system using row operatio ns to reduce the matrix " }{TEXT 283 1 "A" }{TEXT -1 19 " to the ident ity 3 " }{TEXT 282 1 "x" }{TEXT -1 66 " 3 matrix, whereby the last two columns give the solution vectors " }{XPPEDIT 18 0 "x[1]" "6#&%\"xG6# \"\"\"" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "x[2]" "6#&%\"xG6#\"\"#" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "J := GaussJordan(Ab,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Xperforming~Gauss-Jordan~elimination~without~pivo ting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-%'MATR IXG6#7%7'\"\"\"!\"\"F,\"\"$\"\"(7'F.!\"#F,\"#5!\"%7'\"\"%F,!\"$\"#?F,% 'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~c olumn~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G\"\"\" " }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"$%7~times~row~1~fr om~row~G\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-% 'MATRIXG6#7%7'\"\"\"!\"\"F,\"\"$\"\"(7'\"\"!F,!\"#F,!#D7'\"\"%F,!\"$\" #?F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"%%7~t imes~row~1~from~row~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABL EG6%\")oLh;-%'MATRIXG6#7%7'\"\"\"!\"\"F,\"\"$\"\"(7'\"\"!F,!\"#F,!#D7' F1\"\"&!\"(\"\")!#F%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@sear ching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivo t~element~is~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%3add~row~2~to ~row~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-%'MATRI XG6#7%7'\"\"\"\"\"!!\"\"\"\"%!#=7'F-F,!\"#F,!#D7'F-\"\"&!\"(\"\")!#F%' MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"&%7~times~r ow~2~from~row~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\" )oLh;-%'MATRIXG6#7%7'\"\"\"\"\"!!\"\"\"\"%!#=7'F-F,!\"#F,!#D7'F-F-\"\" $F5\"#)*%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~p ivot~in~column~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~i s~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%1divide~row~3~by~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-%'MATRIXG6#7%7' \"\"\"\"\"!!\"\"\"\"%!#=7'F-F,!\"#F,!#D7'F-F-F,F,#\"#)*\"\"$%'MatrixG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%3add~row~3~to~row~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-%'MATRIXG6#7%7'\"\"\"\"\"!F -\"\"&#\"#W\"\"$7'F-F,!\"#F,!#D7'F-F-F,F,#\"#)*F1%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G\"\"#%6~times~row~3~to~row~2G" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")oLh;-%'MATRIXG6#7%7'\" \"\"\"\"!F-\"\"&#\"#W\"\"$7'F-F,F-F1#\"$@\"F17'F-F-F,F,#\"#)*F1%'Matri xG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"JG-%'RTABLEG6%\")oLh;-%'MATR IXG6#7%7'\"\"\"\"\"!F/\"\"&#\"#W\"\"$7'F/F.F/F3#\"$@\"F37'F/F/F.F.#\"# )*F3%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 61 "We extract the last two columns to give the solution vect ors " }{XPPEDIT 18 0 "x[1]" "6#&%\"xG6#\"\"\"" }{TEXT -1 5 " and " } {XPPEDIT 18 0 "x[2]" "6#&%\"xG6#\"\"#" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 58 "with(Line arAlgebra):\nx1 := Column(J,4);\nx2 := Column(J,5);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%#x1G-%'RTABLEG6%\")WwB@-%'MATRIXG6#7%7#\"\"&7#\"\"$ 7#\"\"\"&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#x2 G-%'RTABLEG6%\")/tA@-%'MATRIXG6#7%7##\"#W\"\"$7##\"$@\"F07##\"#)*F0&%' VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 40 "Finally, we can check the two solutions." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "A.x1;\n A.x2;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")slV@-%'MATRIXG 6#7%7#\"\"$7#\"#57#\"#?&%'VectorG6#%'columnG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")k:Z@-%'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" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 " " 0 "" {TEXT -1 25 "We can use the procedure " }{TEXT 0 11 "GaussJorda n" }{TEXT -1 21 " to find the inverse " }{XPPEDIT 18 0 "A^(-1)" "6#)% \"AG,$\"\"\"!\"\"" }{TEXT -1 33 " of a non-singular square matrix " } {TEXT 265 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 17 "For exa mple, let " }{XPPEDIT 18 0 "A = matrix([[1, 3, -2], [4, -5, 1], [-4, - 7, -2]]);" "6#/%\"AG-%'matrixG6#7%7%\"\"\"\"\"$,$\"\"#!\"\"7%\"\"%,$\" \"&F.F*7%,$F0F.,$\"\"(F.,$F-F." }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 24 "First set up the matrix \+ " }{TEXT 285 1 "A" }{TEXT -1 27 " and augment it with the 3 " }{TEXT 284 1 "x" }{TEXT -1 19 " 3 identity matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 96 "A := <<1,4,-4>|<3, -5,-7>|<-2,1,-2>>;\nwith(LinearAlgebra):\nId := IdentityMatrix(3):\nAI := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")gj ^@-%'MATRIXG6#7%7%\"\"\"\"\"$!\"#7%\"\"%!\"&F.7%!\"%!\"(F0%'MatrixG" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AIG-%'RTABLEG6%\")wzB;-%'MATRIXG6# 7%7(\"\"\"\"\"$!\"#F.\"\"!F17(\"\"%!\"&F.F1F.F17(!\"%!\"(F0F1F1F.%'Mat rixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 154 "Use Gaussian elimination to reduce the left-hand square matrix to the identity, while the right-hand matrix is transformed into the inverse of the matrix " }{TEXT 286 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "IAinv := Gau ssJordan(AI,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%Xperformin g~Gauss-Jordan~elimination~without~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#-%'MATRIXG6#7%7(\"\"\"\"\"$!\"#F,\" \"!F/7(\"\"%!\"&F,F/F,F/7(!\"%!\"(F.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\"\"%%7~times~row~1~from~row~G\"\"#" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#-%'MATRIXG6#7%7(\" \"\"\"\"$!\"#F,\"\"!F/7(F/!#<\"\"*!\"%F,F/7(F3!\"(F.F/F/F,%'MatrixG" } }{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G\"\"%%6~times~row~1~to~row~3G " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#-%'MATRIXG6#7% 7(\"\"\"\"\"$!\"#F,\"\"!F/7(F/!#<\"\"*!\"%F,F/7(F/\"\"&!#5\"\"%F/F,%'M atrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~col umn~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G!#<" }} {PARA 11 "" 1 "" {XPPMATH 20 "6$%1divide~row~2~by~G!#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#-%'MATRIXG6#7%7(\"\"\"\"\"$!\" #F,\"\"!F/7(F/F,#!\"*\"#<#\"\"%F3#!\"\"F3F/7(F/\"\"&!#5F5F/F,%'MatrixG " }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"$%7~times~row~2~fr om~row~G\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;# -%'MATRIXG6#7%7(\"\"\"\"\"!#!\"(\"#<#\"\"&F0#\"\"$F0F-7(F-F,#!\"*F0#\" \"%F0#!\"\"F0F-7(F-F2!#5F9F-F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6&%*subtract~G\"\"&%7~times~row~2~from~row~G\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#-%'MATRIXG6#7%7(\"\"\"\"\"!#! \"(\"#<#\"\"&F0#\"\"$F0F-7(F-F,#!\"*F0#\"\"%F0#!\"\"F0F-7(F-F-#!$D\"F0 #\"#[F0F1F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~fo r~pivot~in~column~3G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~elemen t~is~G#!$D\"\"#<" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%3multiply~row~3~b y~G#!#<\"$D\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%eY;#- %'MATRIXG6#7%7(\"\"\"\"\"!#!\"(\"#<#\"\"&F0#\"\"$F0F-7(F-F,#!\"*F0#\" \"%F0#!\"\"F0F-7(F-F-F,#!#[\"$D\"#F;\"#D#!#%&IAinvG-%'RTABLEG6%\")%e Y;#-%'MATRIXG6#7%7(\"\"\"\"\"!F/#\"#<\"$D\"#\"\"%\"#D#!\"(F27(F/F.F/#F 4F2#!\"#F5#!\"*F27(F/F/F.#!#[F2#!\"\"F5#!# " 0 "" {MPLTEXT 1 0 41 "Ainv := DeleteColumn(IAinv,1..3);\nA.Ainv;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%AinvG-%'RTABLEG6%\")O=*o\"-%'MATR IXG6#7%7%#\"#<\"$D\"#\"\"%\"#D#!\"(F07%#F2F0#!\"#F3#!\"*F07%#!#[F0#!\" \"F3#!#=$-%'MATRIXG6#7%7%\"\"\"\"\"!F-7%F-F,F-7%F-F-F,%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 5" }}{PARA 0 "" 0 "" {TEXT -1 25 "We can use the procedure " }{TEXT 0 11 "GaussJordan" } {TEXT -1 21 " to find the inverse " }{XPPEDIT 18 0 "A^(-1)" "6#)%\"AG, $\"\"\"!\"\"" }{TEXT -1 16 " of a general 2 " }{TEXT 287 1 "x" }{TEXT -1 11 " 2 matrix " }{XPPEDIT 18 0 "A = matrix([[a, b], [c, d]]);" "6# /%\"AG-%'matrixG6#7$7$%\"aG%\"bG7$%\"cG%\"dG" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 24 "First set up th e matrix " }{TEXT 288 1 "A" }{TEXT -1 27 " and augment it with the 2 \+ " }{TEXT 289 1 "x" }{TEXT -1 19 " 2 identity matrix." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 114 "with(Line arAlgebra):\nunassign('a','b','c','d');\nA := Matrix([[a,b],[c,d]]);\n Id := IdentityMatrix(2):\nAI := ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\"(/k\\#-%'MATRIXG6#7$7$%\"aG%\"bG7$%\"cG%\"dG %'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#AIG-%'RTABLEG6%\"(Cd-$ -%'MATRIXG6#7$7&%\"aG%\"bG\"\"\"\"\"!7&%\"cG%\"dGF1F0%'MatrixG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 158 "Use Gaus s-Jordan elimination to reduce the left-hand square matrix to the iden tity, while the right-hand matrix is transformed into the inverse of t he matrix " }{TEXT 290 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "IAinv := GaussJord an(AI,info=true);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%gnperforming~Gau ss-Jordan~elimination~with~partial~pivoting~toG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")kQh;-%'MATRIXG6#7$7&%\"aG%\"bG\"\"\"\"\" !7&%\"cG%\"dGF/F.%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@search ing~for~pivot~in~column~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~ element~is~G%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%1divide~row~1~by ~G%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")kQh;-%'MATRI XG6#7$7&\"\"\"*&%\"bGF,%\"aG!\"\"*&F,F,F/F0\"\"!7&%\"cG%\"dGF2F,%'Matr ixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%add~G,$%\"cG!\"\"%6~times~row ~1~to~row~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")kQh;-%' MATRIXG6#7$7&\"\"\"*&%\"bGF,%\"aG!\"\"*&F,F,F/F0\"\"!7&F2*&,&*&%\"dGF, F/F,F,*&%\"cGF,F.F,F0F,F/F0,$*&F9F,F/F0F0F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%@searching~for~pivot~in~column~2G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%2pivot~element~is~G*&,&*&%\"dG\"\"\"%\"aGF(F(*&%\"c GF(%\"bGF(!\"\"F(F)F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$%1divide~row~ 2~by~G*&,&*&%\"dG\"\"\"%\"aGF(F(*&%\"cGF(%\"bGF(!\"\"F(F)F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")kQh;-%'MATRIXG6#7$7&\"\"\"*&% \"bGF,%\"aG!\"\"*&F,F,F/F0\"\"!7&F2F,,$*&%\"cGF,,&*&%\"dGF,F/F,F,*&F6F ,F.F,F0F0F0*&F7F0F/F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%%%ad d~G,$*&%\"bG\"\"\"%\"aG!\"\"F)%6~times~row~2~to~row~1G" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")kQh;-%'MATRIXG6#7$7&\"\"\"\"\"!*&% \"dGF,,&*&F/F,%\"aGF,F,*&%\"cGF,%\"bGF,!\"\"F6,$*&F5F,F0F6F67&F-F,,$*& F4F,F0F6F6*&F0F6F2F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&IA invG-%'RTABLEG6%\")kQh;-%'MATRIXG6#7$7&\"\"\"\"\"!*&%\"dGF.,&*&F1F.%\" aGF.F.*&%\"cGF.%\"bGF.!\"\"F8,$*&F7F.F2F8F87&F/F.,$*&F6F.F2F8F8*&F2F8F 4F.%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "Extract the last 2 columns to construct the inverse matri x " }{XPPEDIT 18 0 "A^(-1)" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 15 " of \+ the matrix " }{TEXT 267 1 "A" }{TEXT -1 48 ", and check the result by \+ matrix multiplication." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "Ainv := DeleteColumn(IAinv,1..2);\n A.Ainv;\nmap(normal,%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%AinvG-%' RTABLEG6%\")Wv**=-%'MATRIXG6#7$7$*&%\"dG\"\"\",&*&F/F0%\"aGF0F0*&%\"cG F0%\"bGF0!\"\"F7,$*&F6F0F1F7F77$,$*&F5F0F1F7F7*&F1F7F3F0%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")w`^>-%'MATRIXG6#7$7$,&* (%\"aG\"\"\"%\"dGF/,&*&F0F/F.F/F/*&%\"cGF/%\"bGF/!\"\"F6F/*(F5F/F4F/F1 F6F6\"\"!7$F8F,%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG 6%\")C<`>-%'MATRIXG6#7$7$\"\"\"\"\"!7$F-F,%'MatrixG" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 6" }}{PARA 0 "" 0 "" {TEXT -1 25 "We can use the procedure " }{TEXT 0 11 "GaussJordan" } {TEXT -1 44 " to find the determinant of a square matrix " }{TEXT 268 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 17 "For example, 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 "unassign('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$\"))G<.#-%' 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 we giv e the procedure " }{TEXT 0 11 "GaussJordan" }{TEXT -1 94 " two extra a rguments, the 2nd argument is assigned the value of the determinant of the matrix " }{TEXT 291 1 "A" }{TEXT -1 7 ", when " }{TEXT 292 1 "A" }{TEXT -1 20 " is a square matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "GaussJordan(A,'rnk','dt'):\n 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,* (F1F&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 "gaussjord" }{TEXT -1 23 " can also be use d . . ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "linalg[gaussjord](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 11 "Determinant" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "Determinant(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 ";" }}}}{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 60 "Use Gauss-Jordan elimination to the solve the linear syst em " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"b G" }{TEXT -1 8 ", where " }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 256 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "A = matrix([[1, -2, 1], [3 , 2, -1], [-1, 3, 5]]);" "6#/%\"AG-%'matrixG6#7%7%\"\"\",$\"\"#!\"\"F* 7%\"\"$F,,$F*F-7%,$F*F-F/\"\"&" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b \+ = matrix([[-4], [8], [0]]);" "6#/%\"bG-%'matrixG6#7%7#,$\"\"%!\"\"7#\" \")7#\"\"!" }{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 62 " Use Ga uss-Jordan elimination to the solve the linear systems " }{XPPEDIT 18 0 "A*`.`*x = b[1];" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&&%\"bG6#F&" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "A*`.`*x = b[2]" "6#/*(%\"AG\"\"\"%\".GF&% \"xGF&&%\"bG6#\"\"#" }{TEXT -1 6 " where" }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "A = matrix([[ 9, 4, -3, 2, 7], [-7, 0, 1, -7, -4], [-7, 1, -9, 2, 9], [-1, 1, -9, -5 , -2], [0, -9, 6, 1, -9]]);" "6#/%\"AG-%'matrixG6#7'7'\"\"*\"\"%,$\"\" $!\"\"\"\"#\"\"(7',$F0F.\"\"!\"\"\",$F0F.,$F+F.7',$F0F.F4,$F*F.F/F*7', $F4F.F4,$F*F.,$\"\"&F.,$F/F.7'F3,$F*F.\"\"'F4,$F*F." }{TEXT -1 2 ", " }{XPPEDIT 18 0 "b[1] = matrix([[3], [1], [-4], [7], [2]]);" "6#/&%\"bG 6#\"\"\"-%'matrixG6#7'7#\"\"$7#F'7#,$\"\"%!\"\"7#\"\"(7#\"\"#" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "b[2] = matrix([[-6], [8], [0], [1], [4]]) ;" "6#/&%\"bG6#\"\"#-%'matrixG6#7'7#,$\"\"'!\"\"7#\"\")7#\"\"!7#\"\"\" 7#\"\"%" }{TEXT -1 2 ". " }}{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 63 "Use Gau ss-Jordan elimination to find the inverse of the matrix " }}{PARA 256 "" 0 "" {XPPEDIT 18 0 "A = matrix([[-1, 0, 8, 1], [-2, -9, -4, -5], [- 7, 6, -7, 9], [-9, -2, 3, -5]]);" "6#/%\"AG-%'matrixG6#7&7&,$\"\"\"!\" \"\"\"!\"\")F+7&,$\"\"#F,,$\"\"*F,,$\"\"%F,,$\"\"&F,7&,$\"\"(F,\"\"',$ F:F,F37&,$F3F,,$F1F,\"\"$,$F7F," }{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 3 "Q4 " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 24 "Load the \+ two procedures " }{TEXT 0 33 "getmatrixentries,getvectorentries" } {TEXT -1 66 " contained in the following subsection and use them to ob tain a 6 " }{TEXT 304 1 "x" }{TEXT -1 17 " 6 square matrix " }{TEXT 305 1 "A" }{TEXT -1 15 ", and a vector " }{TEXT 306 1 "b" }{TEXT -1 31 " by executing the code below. " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 49 "Procedure f or constructing vectors and matrices: " }{TEXT 0 33 "getmatrixentries, getvectorentries" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 690 "getmatrixentries := proc(n: :posint)\n ## construct a non-singular square matrix with integer en tries from -7 to 9\n local i,A;\n randomize();\n for i to 100 do \n A := linalg[randmatrix](n,n,entries=rand(-7..9));\n if li nalg[det](A)<>0 then break end if;\n end do;\n convert(A,listlist) ;\nend proc:\ngetvectorentries := proc(n::posint)\n ## sum of entrie s is positive, product non-zero with no repetitions\n local i,v,s;\n randomize();\n v := array(1..n);\n for i to 100 do\n s := \+ 0;\n for i to n do v[i] := rand(-9..9)(); s := s+v[i] end do;\n \+ if s>0 and mul(v[i],i=1..n)<>0 and nops(convert(v,set))=n then bre ak end if;\n end do;\n convert(v,list);\nend proc:" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 139 "getmatrixentries(6):\nA := Matrix(%): 'A'=convert(A,matrix);\ngetvectorentries(6):\nb := Vect or(%): 'b'=matrix(map(_u->[_u],convert(b,list)));" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 8 "(a) Use " }{TEXT 307 20 "Gaussian elimination" } {TEXT -1 60 " together with back substitution to solve the linear syst em " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"b G" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 24 " Check your solu tion." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 8 "( b) Use " }{TEXT 307 12 "Gauss-Jordan" }{TEXT -1 47 " elimination to fi nd the inverse of the matrix " }{TEXT 308 1 "A" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 "(c) Solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"% \".GF&%\"xGF&%\"bG" }{TEXT -1 45 " by using the inverse matrix obtaine d in (b)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 8 "(d) The " }{TEXT 307 9 "transpose" }{TEXT -1 7 " of an " }{TEXT 309 1 "m" }{TEXT -1 1 " " }{TEXT 311 1 "x" }{TEXT -1 1 " " }{TEXT 310 1 "n" }{TEXT -1 8 " matrix " }{TEXT 312 1 "P" }{TEXT -1 8 " is the " } {TEXT 316 1 "n" }{TEXT -1 1 " " }{TEXT 318 1 "x" }{TEXT -1 1 " " } {TEXT 317 1 "m" }{TEXT -1 8 " matrix " }{TEXT 319 1 "Q" }{TEXT -1 51 " obtained by interchanging the rows and columns of " }{TEXT 313 1 "P" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 46 " For example, the \+ transpose of the matrix " }{XPPEDIT 18 0 "P = matrix([[8, 3, 6], [9, - 5, 0], [-6, 1, 9]]);" "6#/%\"PG-%'matrixG6#7%7%\"\")\"\"$\"\"'7%\"\"*, $\"\"&!\"\"\"\"!7%,$F,F1\"\"\"F." }{TEXT -1 5 " is " }{XPPEDIT 18 0 " Q = matrix([[8, 9, -6], [3, -5, 1], [6, 0, 9]]);" "6#/%\"QG-%'matrixG6 #7%7%\"\")\"\"*,$\"\"'!\"\"7%\"\"$,$\"\"&F.\"\"\"7%F-\"\"!F+" }{TEXT -1 3 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 43 " The tranpose of a matrix in Maple ( in " }{TEXT 303 6 "rtable " }{TEXT -1 41 " form ) can be found using the procedure " }{TEXT 0 9 "Transpose" }{TEXT -1 8 " in the " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 10 " package. " }}{PARA 0 "" 0 "" {TEXT -1 32 " Show (using Mapl e) that the " }{TEXT 307 24 "inverse of the transpose" }{TEXT -1 15 " \+ of the matrix " }{TEXT 314 1 "A" }{TEXT -1 32 " in part (a) is the sam e as the " }{TEXT 307 24 "transpose of the inverse" }{TEXT -1 4 " of \+ " }{TEXT 315 1 "A" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 261 4 "Note" }{TEXT -1 136 ": In order for Maple to display all the entries of a matrix with more than 10 entries in a row or column, it is necessary to execute an " }{TEXT 260 9 "interfac e" }{TEXT -1 10 " command. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "interface(rtablesize=infinity);" }} }{PARA 0 "" 0 "" {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 }