{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 "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 Normal" -1 30 "Times" 1 12 0 0 0 0 0 0 0 0 0 0 0 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 "" -1 259 "" 0 1 0 0 0 0 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 1 0 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" 0 0 102 0 230 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Red Emphasis" -1 265 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Dark Red Emphasis" -1 266 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 269 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" 258 271 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 272 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 273 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" 258 274 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 275 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 276 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 277 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 278 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" 258 279 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 280 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 281 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 282 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 283 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" 258 284 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 285 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 286 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 289 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 0 } {CSTYLE "" 258 294 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 295 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 296 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 297 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" 258 298 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" 265 299 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 301 "" 0 1 0 0 0 0 0 1 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 "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 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 "" -1 307 "" 0 1 0 0 0 0 1 0 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 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 311 "Syste m" 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 "" 0 1 0 0 0 0 1 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 }{CSTYLE "" -1 320 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 321 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 322 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 323 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 324 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 325 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" 30 326 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" 30 327 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 328 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 329 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 330 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 331 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 332 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 333 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 334 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 335 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 336 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 337 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Grey Emphasis" -1 338 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 339 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 340 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 341 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 342 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 343 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 344 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 345 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 346 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 347 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 348 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 349 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 350 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 351 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 352 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 353 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 354 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 355 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 356 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 357 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 358 "" 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 "Maple Plot" -1 13 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 "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 1 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Author" -1 259 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 8 8 1 0 1 0 2 2 0 1 } {PSTYLE "Normal" -1 260 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 46 "Solution of linear systems by LU \+ decomposition" }}{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(LinearA lgebra):" }}}{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 338 8 "lins ys.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 simil ar to the one that follows, 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 28 "Computational Linear Algebra" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 26 "We consider the f ollowing " }{TEXT 264 19 "computational tasks" }{TEXT -1 1 ":" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 15 "" 0 "" {TEXT -1 26 "Solve th e matrix equation " }{XPPEDIT 18 0 "A*`.`*x = b;" "6#/*(%\"AG\"\"\"%\" .GF&%\"xGF&%\"bG" }{TEXT -1 24 ", for an unknown vector " }{TEXT 314 1 "x" }{TEXT -1 8 ", where " }{TEXT 315 1 "A" }{TEXT -1 24 " is a squa re matrix and " }{TEXT 316 1 "b" }{TEXT -1 19 " is a given vector." }} {PARA 15 "" 0 "" {TEXT -1 30 "Solve a sequence of equations " } {XPPEDIT 18 0 "A*`.`*x[i] = b[i],i = 1,2,` . . . `,n;" "6'/*(%\"AG\"\" \"%\".GF&&%\"xG6#%\"iGF&&%\"bG6#F+/F+F&\"\"#%(~.~.~.~G%\"nG" }{TEXT -1 26 ", for the unknown vectors " }{XPPEDIT 18 0 "x[i];" "6#&%\"xG6#% \"iG" }{TEXT -1 8 ", where " }{TEXT 263 1 "A" }{TEXT -1 30 " is a fixe d square matrix and " }{XPPEDIT 18 0 "b[i];" "6#&%\"bG6#%\"iG" }{TEXT -1 20 " are given vectors. " }}{PARA 15 "" 0 "" {TEXT -1 14 "Calculate the " }{TEXT 264 7 "inverse" }{TEXT -1 8 " matrix " }{XPPEDIT 18 0 "A ^(-1);" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 18 "of a non-singular " } {TEXT 313 1 "n" }{TEXT -1 1 " " }{TEXT 311 1 "x" }{TEXT -1 1 " " } {TEXT 312 1 "n" }{TEXT -1 15 " square matrix " }{TEXT 262 1 "A" } {TEXT -1 33 ". \nThe inverse matrix satisfies, " }{XPPEDIT 18 0 "A*`.` *A^(-1) = I[n];" "6#/*(%\"AG\"\"\"%\".GF&)F%,$F&!\"\"F&&%\"IG6#%\"nG" }{TEXT -1 22 " ,where, for example, " }{XPPEDIT 18 0 "I[4] = matrix([[ 1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]);" "6#/&%\"IG6# \"\"%-%'matrixG6#7&7&\"\"\"\"\"!F.F.7&F.F-F.F.7&F.F.F-F.7&F.F.F.F-" } {TEXT -1 123 ".\n\nThis task can be accomplished following the complet ion of the previous task, since, if the column vectors of the matrix \+ " }{XPPEDIT 18 0 "A^(-1);" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 4 "are " }{XPPEDIT 18 0 "x[i],i = 1,2,` . . . `,n;" "6'&%\"xG6#%\"iG/F&\"\"\"\" \"#%(~.~.~.~G%\"nG" }{TEXT -1 7 ", then " }{XPPEDIT 18 0 "A*`.`*x[i] = b[i],i = 1,2,` . . . `,n;" "6'/*(%\"AG\"\"\"%\".GF&&%\"xG6#%\"iGF&&% \"bG6#F+/F+F&\"\"#%(~.~.~.~G%\"nG" }{TEXT -1 20 ", where the vectors \+ " }{XPPEDIT 18 0 "b[i];" "6#&%\"bG6#%\"iG" }{TEXT -1 27 " are the colu mn vectors of " }{XPPEDIT 18 0 "I[n];" "6#&%\"IG6#%\"nG" }{TEXT -1 1 " ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 16 "LU decomposition" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 "; " }}}{PARA 0 "" 0 "" {TEXT -1 3 "An " }{TEXT 264 16 "LU decomposition " }{TEXT -1 20 " of a square matrix " }{TEXT 317 1 "A" }{TEXT -1 26 " \+ consists of two matrices " }{TEXT 318 1 "L" }{TEXT -1 5 " and " } {TEXT 319 1 "U" }{TEXT -1 8 ", where " }{TEXT 320 1 "L" }{TEXT -1 4 " \+ is " }{TEXT 264 16 "lower triangular" }{TEXT -1 5 " and " }{TEXT 321 1 "U" }{TEXT -1 4 " is " }{TEXT 264 16 "upper triangular" }{TEXT -1 12 ", such that " }{XPPEDIT 18 0 "L*`.`*U = A;" "6#/*(%\"LG\"\"\"%\".G F&%\"UGF&%\"AG" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 2 "A " }{TEXT 264 16 "lower triangular" } {TEXT -1 29 " matrix has non-zero entries " }{TEXT 264 24 "on or below the diagonal" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 3 "An " }{TEXT 264 16 "upper triangular" } {TEXT -1 29 " matrix has non-zero entries " }{TEXT 264 24 "on or above the diagonal" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 3 "If " }{TEXT 323 1 "A" }{TEXT -1 8 " is a 4 " }{TEXT 322 1 "x" }{TEXT -1 24 " 4 matrix, the equation " }{XPPEDIT 18 0 "L*`.`*U = A" "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&%\"AG" }{TEXT -1 18 " looks as follows:" }}{PARA 257 "" 0 "" {TEXT -1 4 "\n " }{XPPEDIT 18 0 "matrix([[alpha[1,1], 0, 0, 0], [alpha[2,1], alpha[2,2], 0, 0], [ alpha[3,1], alpha[3,2], alpha[3,3], 0], [alpha[4,1], alpha[4,2], alpha [4,3], alpha[4,4]]])*`*`*matrix([[beta[1,1], beta[1,2], beta[1,3], bet a[1,4]], [0, beta[2,2], beta[2,3], beta[2,4]], [0, 0, beta[3,3], beta[ 3,4]], [0, 0, 0, beta[4,4]]]) = matrix([[a[1,1], a[1,2], a[1,3], a[1,4 ]], [a[2,1], a[2,2], a[2,3], a[2,4]], [a[3,1], a[3,2], a[3,3], a[3,4]] , [a[4,1], a[4,2], a[4,3], a[4,4]]]);" "6#/*(-%'matrixG6#7&7&&%&alphaG 6$\"\"\"F-\"\"!F.F.7&&F+6$\"\"#F-&F+6$F2F2F.F.7&&F+6$\"\"$F-&F+6$F8F2& F+6$F8F8F.7&&F+6$\"\"%F-&F+6$F@F2&F+6$F@F8&F+6$F@F@F-%\"*GF--F&6#7&7&& %%betaG6$F-F-&FM6$F-F2&FM6$F-F8&FM6$F-F@7&F.&FM6$F2F2&FM6$F2F8&FM6$F2F @7&F.F.&FM6$F8F8&FM6$F8F@7&F.F.F.&FM6$F@F@F--F&6#7&7&&%\"aG6$F-F-&Fco6 $F-F2&Fco6$F-F8&Fco6$F-F@7&&Fco6$F2F-&Fco6$F2F2&Fco6$F2F8&Fco6$F2F@7&& Fco6$F8F-&Fco6$F8F2&Fco6$F8F8&Fco6$F8F@7&&Fco6$F@F-&Fco6$F@F2&Fco6$F@F 8&Fco6$F@F@" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 45 ": Such a decomposition can \+ be chosen so that " }{XPPEDIT 18 0 "alpha[i,i] = 1;" "6#/&%&alphaG6$% \"iGF'\"\"\"" }{TEXT -1 5 " for " }{XPPEDIT 18 0 "i=1,2,` . . . `,n" " 6&/%\"iG\"\"\"\"\"#%(~.~.~.~G%\"nG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 57 "An LU decomposition can be used to solve a linear system " }{XPPEDIT 18 0 "A*`.`*x=b" "6#/*(% \"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 3 ": " }}{PARA 15 "" 0 "" {TEXT -1 17 "Solve the system " }{XPPEDIT 18 0 "L*`.`*y = b;" "6#/*(% \"LG\"\"\"%\".GF&%\"yGF&%\"bG" }{TEXT -1 16 " for the vector " }{TEXT 324 1 "y" }{TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 17 "Solve the sy stem " }{XPPEDIT 18 0 "U*`.`*x = y" "6#/*(%\"UG\"\"\"%\".GF&%\"xGF&%\" yG" }{TEXT -1 16 " for the vector " }{TEXT 325 1 "x" }{TEXT -1 1 "." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "Then " } {XPPEDIT 18 0 "A*`.`*x=``(L*`.`*U)*`.`*x" "6#/*(%\"AG\"\"\"%\".GF&%\"x GF&*(-%!G6#*(%\"LGF&F'F&%\"UGF&F&F'F&F(F&" }{XPPEDIT 18 0 "``=L*`.`*`` (U*`.`*x)" "6#/%!G*(%\"LG\"\"\"%\".GF'-F$6#*(%\"UGF'F(F'%\"xGF'F'" } {XPPEDIT 18 0 "``=L*`.`*y" "6#/%!G*(%\"LG\"\"\"%\".GF'%\"yGF'" } {XPPEDIT 18 0 "``=b" "6#/%!G%\"bG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 36 "The solution of each of t he systems " }{XPPEDIT 18 0 "L*`.`*y = b" "6#/*(%\"LG\"\"\"%\".GF&%\"y GF&%\"bG" }{TEXT -1 5 " and " }{XPPEDIT 18 0 "U*`.`*x = y" "6#/*(%\"UG \"\"\"%\".GF&%\"xGF&%\"yG" }{TEXT -1 25 " is very straightforward." }} {PARA 15 "" 0 "" {TEXT -1 11 "The system " }{XPPEDIT 18 0 "L*`.`*y = b " "6#/*(%\"LG\"\"\"%\".GF&%\"yGF&%\"bG" }{TEXT -1 14 " is solved by " }{TEXT 264 20 "forward substitution" }{TEXT -1 31 ":\n \+ " }{XPPEDIT 18 0 "y[1] = b[1]/alpha[1,1];" "6#/&%\"yG6#\" \"\"*&&%\"bG6#F'F'&%&alphaG6$F'F'!\"\"" }{TEXT -1 31 " ,\n \+ " }{XPPEDIT 18 0 "y[i] = (b[i]-Sum(alpha[i,j]*y[j],j = 1 .. i-1))/alpha[i,i];" "6#/&%\"yG6#%\"iG*&,&&%\"bG6#F'\"\"\"-%$SumG6 $*&&%&alphaG6$F'%\"jGF-&F%6#F5F-/F5;F-,&F'F-F-!\"\"F;F-&F36$F'F'F;" } {TEXT -1 5 " for " }{XPPEDIT 18 0 "i = 2,` . . . `,n;" "6%/%\"iG\"\"#% (~.~.~.~G%\"nG" }{TEXT -1 2 ". " }}{PARA 15 "" 0 "" {TEXT -1 11 "The s ystem " }{XPPEDIT 18 0 "U*`.`*x = y" "6#/*(%\"UG\"\"\"%\".GF&%\"xGF&% \"yG" }{TEXT -1 14 " is solved by " }{TEXT 264 21 "backward substituti on" }{TEXT -1 31 ":\n " }{XPPEDIT 18 0 "x[ n] = y[n]/beta[n,n];" "6#/&%\"xG6#%\"nG*&&%\"yG6#F'\"\"\"&%%betaG6$F'F '!\"\"" }{TEXT -1 31 " ,\n " }{XPPEDIT 18 0 "x[i] = (y[i]-Sum(beta[i,j]*x[j],j = i+1 .. n))/beta[i,i];" "6#/&%\" xG6#%\"iG*&,&&%\"yG6#F'\"\"\"-%$SumG6$*&&%%betaG6$F'%\"jGF-&F%6#F5F-/F 5;,&F'F-F-F-%\"nG!\"\"F-&F36$F'F'F<" }{TEXT -1 6 ". for " }{XPPEDIT 18 0 "i = n-1,` . . . `,1;" "6%/%\"iG,&%\"nG\"\"\"F'!\"\"%(~.~.~.~GF' " }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 1 ": " }}{PARA 0 "" 0 "" {TEXT 30 37 "Once we have an LU decomposition for \+ " }{TEXT 326 1 "A" }{TEXT 30 56 ", we can use forward and backward sub stitution to solve " }{TEXT 264 10 "any number" }{TEXT 30 26 " of equa tions of the form " }{XPPEDIT 18 0 "A*`.`*x = b" "6#/*(%\"AG\"\"\"%\". GF&%\"xGF&%\"bG" }{TEXT 30 40 ", with different choices for the vector " }{TEXT 327 1 "b" }{TEXT 30 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 44 "A procedure for performing LU d ecomposition:" }{TEXT 0 17 " LU_decomposition" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 45 "Given a non-singular matr ix A, the procedure " }{TEXT 0 16 "LU_decomposition" }{TEXT -1 15 " co nstructs an " }{TEXT 264 47 "LU decomposition of a row-wise permutatio n of A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 98 "This procedure is based on a program from \"Numerica l Recipes in C \", Cambridge University Press. \n" }}{SECT 1 {PARA 4 " " 0 "" {TEXT -1 23 "LU_decomposition: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 259 17 "Calling Sequenc e:" }}{PARA 0 "" 0 "" {TEXT 261 8 "\n " }{TEXT -1 21 "LUdecompos ition( A ) " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }} {PARA 0 "" 0 "" {TEXT 23 9 " A - " }{TEXT -1 38 " a non-singula r square matrix. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 37 "For a square matrix A, the procedure " } {TEXT 0 16 "LU_decomposition" }{TEXT -1 33 " uses Crout's method to f ind an " }{TEXT 264 16 "LU decomposition" }{TEXT -1 123 " of a row per mutation of A, that is, a lower triangular matrix L and an upper trian gular U, such that the matrix product L " }{TEXT 301 1 "." }{TEXT -1 31 " U is (a row permutation of) A." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 47 "The permutation arises because the metho d uses " }{TEXT 264 16 "partial pivoting" }{TEXT -1 290 ", which, in g eneral, involves a re-arrangement of the rows of A. Partial pivoting i s used to obtain better accuracy when A has entries which are floating point numbers. When the entries of the matrix A differ widely, it is \+ preferable to use implicit scaling in the choice of pivot elements." } }{PARA 0 "" 0 "" {TEXT -1 149 "When A has symbolic entries, partial pi voting is performed on the basis of the length of the algebraic expres sions which constitute the entries of A." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 49 "When any re-arrangement of the row s is involved, " }{TEXT 0 16 "LU_decomposition" }{TEXT -1 139 " return s a sequence of 4 matrices L,U,P,Q, otherwise, just two matrices L,U a re returned. In the latter case P and Q are identity matrices." }} {PARA 15 "" 0 "" {TEXT -1 35 "When no pivoting occurs, we have L " } {TEXT 300 1 "." }{TEXT -1 8 " U = A. " }}{PARA 15 "" 0 "" {TEXT -1 101 "In general, the matrices L and U form an LU decomposition of a ro w permutation of the input matrix A." }}{PARA 15 "" 0 "" {TEXT -1 60 " The matrices P and Q are permutation matrices such that P " }{TEXT 267 1 "." }{TEXT -1 3 " L " }{TEXT 268 1 "." }{TEXT -1 13 " U = A and \+ L " }{TEXT 269 1 "." }{TEXT -1 7 " U = Q " }{TEXT 270 1 "." }{TEXT -1 62 " A.\nNote that P and Q are inverses (transposes) of each other." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 260 8 "Options: " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "pivot =none/partial/implicit/true/false" }}{PARA 0 "" 0 "" {TEXT -1 249 "Wit h the option \"pivot=none\", which is equivalent to \"pivot=false\", r earrangement of rows is only performed in order to avoid using a zero \+ pivot element.\nWith the option \"pivot=partial\", partial pivoting wi ll be performed if possible or appropriate." }}{PARA 0 "" 0 "" {TEXT -1 97 "With the option \"pivot=implicit\", implicit pivoting will be p erformed if possible or appropriate." }}{PARA 0 "" 0 "" {TEXT -1 258 " When at least one entry is a floating point number, the default is \"p ivot=implicit\", so that implicit pivoting (partial pivoting with impl icit scaling) is used. In this case \"pivot=true\" is equivalent to \" pivot=implicit\", and this is the default behaviour. " }}{PARA 0 "" 0 "" {TEXT -1 182 "When all the entries of A are exact rational number s pivoting is only performed in order to avoid using a zero pivot elem ent. This is independent of the setting 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 p ivoting based on the length of expressions is used. In this case \"piv ot=true\" and \"pivot=implicit\" produce the same result as \"pivot=pa rtial\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 24 "output=short/medium/long" }}{PARA 0 "" 0 "" {TEXT -1 166 "With the option \"output=short\", which is the default, just two matrices L,U \+ are returned when no pivoting has occurred, otherwise the 4 matrices L ,U,P,Q are returned." }}{PARA 0 "" 0 "" {TEXT -1 122 "With the option \+ \"output=medium\", 3 matrices L,U,P are returned, with P the identity \+ matrix, when no pivoting has occurred." }}{PARA 0 "" 0 "" {TEXT -1 128 "With the option \"output=long\", 4 matrices L,U,P,Q are returned, with P and Q identity matrices, when no pivoting has occurred. " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 299 7 "Warning" }{TEXT -1 56 ": In the sequence of matrices returned by the procedure \+ " }{TEXT 0 16 "LU_decomposition" }{TEXT -1 17 ", L and U appear " } {TEXT 264 5 "first" }{TEXT -1 14 ", whereas the " }{TEXT 0 13 "LinearA lgebra" }{TEXT -1 11 " procedure " }{TEXT 0 15 "LUDecomposition" } {TEXT -1 28 " returns the sequence P,L,U." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 16 " How to activate:" }{TEXT 256 1 "\n" }{TEXT -1 155 "To make the procedu res active open the subsection, place the cursor anywhere after the pr ompt [ > and press [Enter].\nYou can then close up the subsection." } }{SECT 1 {PARA 4 "" 0 "" {TEXT -1 32 "LU_decomposition: implementation " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6748 "LU_decomposition := proc(AA::Matrix)\n\n local A,C,i,j,k,n ,m,amax,imax,scale,temp,dum,sum,\n Options,outpt,pvt,L,U,P,Q,n mrc,flt,rtnl,p,\n localzero,globalzero,pivoting;\n\n pvt := \+ true;\n outpt := 'short';\n if nargs>1 then\n Options:=[args[ 2..nargs]];\n if not type(Options,list(equation)) then\n \+ error \"each optional argument after the 1st argument must be an equat ion\";\n end if;\n if hasoption(Options,'pivot','pvt','Optio ns') then\n if not member(pvt,\{true,false,'none','partial','i mplicit'\}) then\n error \"\\\"pivot\\\" must be 'none' <-> 'false', 'true', 'partial' or 'implicit'\"\n end if;\n \+ if pvt=false then pvt := 'none' end if; \n end if;\n if ha soption(Options,'output','outpt','Options') then\n if not memb er(outpt,\{'short','medium','long'\}) then\n error \"\\\"ou tput\\\" must be 'short','medium' or 'long'\"\n end 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 i f;\n\n m := LinearAlgebra['RowDimension'](AA);\n n := LinearAlgebr a['ColumnDimension'](AA);\n\n if m<>n then\n error \"1st argume nt must be a square Matrix\"\n end if;\n\n A := Matrix(n);\n for i to n 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 fl t then \n A := map(evalf,A);\n if not type(A,'Matrix(com plex(numeric))') then\n error \"matrix entries must all evalua te 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 p vt := 'partial' end if;\n end if;\n\n rtnl := false;\n if not fl t 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 br eak;\n end if; \n end do;\n if not rtnl th en break end if;\n end do;\n end if;\n if rtnl then pvt := 'n one' end if;\n\n nmrc := rtnl or flt;\n if not nmrc then A := map( normal,A) end if;\n\n p := Array(1..n);\n for i from 1 to n do p[i ] := i end do;\n\n if pvt='implicit' then # save scaling information .\n scale := Array(1..n);\n for i from 1 to n do\n a max := 0;\n for j from 1 to n do\n temp := abs(A[i, j]);\n if temp>amax then amax := temp end if;\n end do;\n if amax=0 then\n error \"singular matrix\"\n end if;\n scale[i] := 1/amax;\n end do;\n end \+ if; \n\n # Crout's method looping over columns.\n globalzero := f alse;\n pivoting := false;\n for j from 1 to n do\n for i fro m 1 to j-1 do\n sum := A[i,j];\n for k from 1 to i-1 d o\n sum := sum - A[i,k]*A[k,j];\n if not nmrc th en sum := normal(sum) end if;\n end do;\n A[i,j] := su m;\n end do;\n \n amax := -1;\n for i from j to n \+ do\n sum := A[i,j];\n for k from 1 to j-1 do\n \+ sum := sum - A[i,k]*A[k,j];\n if not nmrc then sum := n ormal(sum) end if;\n end do;\n A[i,j] := sum;\n\n \+ # look for the pivot element\n if i=j then\n if pvt='none' then # non-zero pivot needed\n if A[j,i]=0 th en\n localzero := true;\n globalzero := true;\n else\n localzero := false; \n end if;\n elif flt then\n if pvt='implicit' then # scaled pivot\n amax := scale[i ]*abs(sum);\n else # pvt='partial'\n am ax := abs(sum);\n end if;\n else # symbolic c ase\n amax := length(A[j,i]);\n end if;\n\011 \011\011 imax := i;\n else\n if pvt='none' \+ then\n if localzero and A[j,i]<>0 then\n \+ imax := i;\n localzero := false;\n en d if;\n elif flt then\n if pvt='implicit' the n\n dum := scale[i]*abs(sum);\n if d um>amax then\n amax := dum;\n \+ imax := i;\n end if;\n else # pvt='part ial'\n dum := abs(sum);\n if dum>ama x then\n amax := dum;\n imax : = i;\n end if\n end if;\n el se # symbolic case\n dum := length(A[j,i]);\n \+ if dum'none' or globalze ro then\n if j<>imax then\n A[[imax,j],1..-1] := A[ [j,imax],1..-1]; # swap rows\n k := p[imax]; # Update the p ermutation.\n p[imax] := p[j];\n p[j] := k;\n \+ if pvt='implicit' then # adjust scale factor\n \+ scale[imax] := scale[j]; \n end if;\n pivo ting := true;\n end if;\n if A[j,j]=0 then\n \+ error \"singular matrix\"\n end if;\n end if;\n\n \+ # Now, finally, divide by the pivot element.\n if j<>n then\n \+ dum := 1/A[j,j];\n if not nmrc then dum := normal(dum) en d if;\n for i from j+1 to n do\n temp := A[i,j]*dum ;\n if not nmrc then temp := normal(temp) end if;\n \+ A[i,j] := temp;\n end do;\n end if;\n end do;\n\n \+ L := Matrix(n);\n U := Matrix(n);\n\011 for i to n do\n\011\011 \+ for j to n do\n\011\011\011 if i < j then\n\011\011\011\011 \+ U[i,j] := A[i,j];\n\011\011\011\011 L[i,j] := 0;\n e lif i=j then\n\011\011\011 U[i,j] := A[i,j];\n\011\011\011 \+ L[i,j] := 1;\n\011\011\011 else\n\011\011\011 U[i,j] := 0;\n\011\011\011 L[i,j] := A[i,j];\n end if;\n \+ end do;\n end do;\n\n if outpt='short' and not pivoting then\n \+ return L,U;\n elif outpt='long' or (outpt='short' and pivoting) \+ then\n # Set up the permutation matrices.\n P := Matrix(n); \n Q := Matrix(n);\n for i from 1 to n do\n for j fr om 1 to n do\n if i=p[j] then P[i,j] := 1 else P[i,j] := 0 \+ end if;\n if j=p[i] then Q[i,j] := 1 else Q[i,j] := 0 end i f;\n end do;\n end do;\n return L,U,P,Q;\n else # \+ outpt='medium'\n P := Matrix(n);\n for i from 1 to n do\n \+ for j from 1 to n do\n if i=p[j] then P[i,j] := 1 els e P[i,j] := 0 end if;\n end do;\n end do;\n return L ,U,P;\n end if;\nend proc: # of LU_decomposition" }}}{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 "LU_decomposition" }{TEXT -1 10 ": examples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{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 9 "Example 1" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 7 " Given " }{XPPEDIT 18 0 "A = matrix([[9, 5, -5, 10], [-2, 4, 10, -3], [9, 4, -3 , 5], [3, -5, 5, 9]]);" "6#/%\"AG-%'matrixG6#7&7&\"\"*\"\"&,$F+!\"\"\" #57&,$\"\"#F-\"\"%F.,$\"\"$F-7&F*F2,$F4F-F+7&F4,$F+F-F+F*" }{TEXT -1 33 ", we find an LU decomposition of " }{TEXT 302 1 "A" }{TEXT -1 1 ": " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 73 "Since all the entries are \"exact\" numbers, partial pivoting is not used. \n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 95 "A := Matrix([[9,5,-5,1 0],[-2,4,10,-3],[9,4,-3,5],[3,-5,5,9]]);\nludecomp := LU_decomposition (A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")w;#z\"-%' MATRIXG6#7&7&\"\"*\"\"&!\"&\"#57&!\"#\"\"%F1!\"$7&F.F4F5F/7&\"\"$F0F/F .%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6$-%'RTABLEG 6%\")[/9=-%'MATRIXG6#7&7&\"\"\"\"\"!F0F07&#!\"#\"\"*F/F0F07&F/#!\"*\"# YF/F07&#F/\"\"$#!#I\"#B#\"$5#\"#VF/%'MatrixG-F'6%\")[^7=-F+6#7&7&F4\" \"&!\"&\"#57&F0#F8F4#\"#!)F4#!\"(F47&F0F0#\"#')F>#!$P#F87&F0F0F0#\"%#G \"FAFB" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "When the individual matrices " }{TEXT 304 1 "L" }{TEXT -1 5 " and \+ " }{TEXT 303 1 "U" }{TEXT -1 36 " in this list are accessed, we have \+ " }{XPPEDIT 18 0 "L*`.`*U = A" "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&%\"AG" } {TEXT -1 3 ". \n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "(L,U) := ludecomp:\nL.U;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")7` \")=-%'MATRIXG6#7&7&\"\"*\"\"&!\"&\"#57&!\"#\"\"%F/!\"$7&F,F2F3F-7&\" \"$F.F-F,%'MatrixG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 "Given a v ector " }{TEXT 305 1 "b" }{TEXT -1 35 ", we can now solve a linear sys tem " }{XPPEDIT 18 0 "A*`.`*x = b" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"b G" }{TEXT -1 10 ", that is," }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 2 " " }{XPPEDIT 18 0 "matrix([[9, 5, -5, 10], [- 2, 4, 10, -3], [9, 4, -3, 5], [3, -5, 5, 9]])*matrix([[x[1]], [x[2]], \+ [x[3]], [x[4]]]) = matrix([[b[1]], [b[2]], [b[3]], [b[4]]]);" "6#/*&-% 'matrixG6#7&7&\"\"*\"\"&,$F+!\"\"\"#57&,$\"\"#F-\"\"%F.,$\"\"$F-7&F*F2 ,$F4F-F+7&F4,$F+F-F+F*\"\"\"-F&6#7&7#&%\"xG6#F97#&F?6#F17#&F?6#F47#&F? 6#F2F9-F&6#7&7#&%\"bG6#F97#&FO6#F17#&FO6#F47#&FO6#F2" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "This sy stem is equivalent to " }{XPPEDIT 18 0 "L*`.`*U*`.`*x=b" "6#/*,%\"LG\" \"\"%\".GF&%\"UGF&F'F&%\"xGF&%\"bG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 18 "For example, let " } {XPPEDIT 18 0 "b = [1, 2, 3, 4]" "6#/%\"bG7&\"\"\"\"\"#\"\"$\"\"%" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "b := <1,2,3,4>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6%\"(GqC$-%'MATRIXG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\" %&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 274 6 "Step 1" }{TEXT -1 10 ". Solve " }{XPPEDIT 18 0 "L* `.`*y=b" "6#/*(%\"LG\"\"\"%\".GF&%\"yGF&%\"bG" }{TEXT -1 25 " by forwa rd substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearA lgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "y := ForwardSub stitute(L,b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"yG-%'RTABLEG6$\"( WGl#-%'MATRIXG6#7&7#\"\"\"7##\"#?\"\"*7##\"#c\"#B7##!$H#\"#V" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 275 6 "Step 2" } {TEXT -1 8 ". Solve " }{XPPEDIT 18 0 "U*`.`*x=y" "6#/*(%\"UG\"\"\"%\". GF&%\"xGF&%\"yG" }{TEXT -1 26 " by backward substitution." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "x := \+ BackwardSubstitute(U,y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG-%'R TABLEG6$\"(w^`#-%'MATRIXG6#7&7##\"%(e$\"%G^7##!$h(\"%kD7##\"%x?F07##!$ H#\"%#G\"" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 276 6 "Step 4" }{TEXT -1 32 ". Check the solution. (optional)" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "A.x;\nx := 'x':" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"( #z,D-%'MATRIXG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\"%" }}}{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 0 "" }}{PARA 0 "" 0 "" {TEXT -1 6 " Let " }{XPPEDIT 18 0 "A = matrix([[10, 2, 4, 6], [7, 1, \+ 7, 2], [-5, 9, 2, 6], [9, 0, 4, 9]]);" "6#/%\"AG-%'matrixG6#7&7&\"#5\" \"#\"\"%\"\"'7&\"\"(\"\"\"F/F+7&,$\"\"&!\"\"\"\"*F+F-7&F5\"\"!F,F5" } {TEXT -1 5 " and " }{XPPEDIT 18 0 "B = matrix([[-3, 4], [8, 2], [1, 6] , [2, 5]]);" "6#/%\"BG-%'matrixG6#7&7$,$\"\"$!\"\"\"\"%7$\"\")\"\"#7$ \"\"\"\"\"'7$F0\"\"&" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 31 "W e find an LU decomposition of " }{TEXT 306 1 "A" }{TEXT -1 43 ", and u se it to solve the matrix equation " }{XPPEDIT 18 0 "A*`.`*X=B" "6#/* (%\"AG\"\"\"%\".GF&%\"XGF&%\"BG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 73 "Since all the entries are \"exact\" numbers, partial pivoting is not used.\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 90 "A := Matrix([[10,2,4,6],[7,1,7,2],[-5,9,2,6 ],[9,0,4,9]]);\nludecomp := LU_decomposition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")we=>-%'MATRIXG6#7&7&\"#5\"\"#\"\"% \"\"'7&\"\"(\"\"\"F3F/7&!\"&\"\"*F/F17&F7\"\"!F0F7%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6$-%'RTABLEG6%\"))[R#>-%'MATRIXG 6#7&7&\"\"\"\"\"!F0F07&#\"\"(\"#5F/F0F07&#!\"\"\"\"#!#DF/F07&#\"\"*F4# F-F+6#7&7&F4F8\"\"%\"\"'7&F0#!\"#\" \"&#\"#@FN#!#6FN7&F0F0\"$4\"!#Y7&F0F0F0#\"%T7F@FA" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 72 "When the individual matri ces L and U in this list are accessed, we have " }{XPPEDIT 18 0 "L*`.` *U=A" "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&%\"AG" }{TEXT -1 3 ". \n" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "(L,U) := ludecomp:\nL.U;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")gV^>-%'MATRIXG6#7&7&\"# 5\"\"#\"\"%\"\"'7&\"\"(\"\"\"F1F-7&!\"&\"\"*F-F/7&F5\"\"!F.F5%'MatrixG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 23 "Now set up the matrix " }{XPPEDIT 18 0 "B = matrix([[-3, 4], [8, 2], [1, 6], [2, 5]]);" "6#/% \"BG-%'matrixG6#7&7$,$\"\"$!\"\"\"\"%7$\"\")\"\"#7$\"\"\"\"\"'7$F0\"\" &" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 40 "B := Matrix([[-3,4],[8,2],[1,6],[2,5]]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'RTABLEG6%\")#\\%[>-%'MATRIXG6 #7&7$!\"$\"\"%7$\"\")\"\"#7$\"\"\"\"\"'7$F2\"\"&%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 271 6 "Step 1" }{TEXT -1 10 ". Solve " }{XPPEDIT 18 0 "L*`.`*Y=B" "6#/*(%\"LG\"\"\"%\".GF& %\"YGF&%\"BG" }{TEXT -1 25 " by forward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "with(Line arAlgebra):\nY := ForwardSubstitute(L,B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG-%'RTABLEG6%\");Gg@-%'MATRIXG6#7&7$!\"$\"\"%7$#\" $,\"\"#5#!\"%\"\"&7$\"$_#!#77$#\"$\"))\"$O%#\"$B$\"$4\"%'MatrixG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 272 6 "Step 2" } {TEXT -1 8 ". Solve " }{XPPEDIT 18 0 "U*`.`*X=Y" "6#/*(%\"UG\"\"\"%\". GF&%\"XGF&%\"YG" }{TEXT -1 26 " by backward substitution." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "X := \+ BackwardSubstitute(U,Y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'R TABLEG6%\"(!yoF-%'MATRIXG6#7&7$#!%XI\"%#[##!\"\"\"#t7$#!%hLF0#\"#@F37$ #\"%bI\"%T7#\"\")F37$#\"$\"))F0#\"#QF3%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 273 6 "Step 4" }{TEXT -1 32 ". C heck the solution. (optional)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "A.X;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(!=*G$-%'MATRIXG6#7&7$!\"$\"\"%7$\"\")\" \"#7$\"\"\"\"\"'7$F0\"\"&" }}}{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 34 "We find the inverse of the matrix " } {XPPEDIT 18 0 "A = matrix([[2, -5, 2, 4], [-3, 1, 6, 8], [7, 8, 3, -3] , [-6, -5, 1, 1]]);" "6#/%\"AG-%'matrixG6#7&7&\"\"#,$\"\"&!\"\"F*\"\"% 7&,$\"\"$F-\"\"\"\"\"'\"\")7&\"\"(F4F1,$F1F-7&,$F3F-,$F,F-F2F2" } {TEXT -1 32 ", using the LU decomposition of " }{TEXT 307 1 "A" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 48 "This is achieved by solv ing the matrix equation " }{XPPEDIT 18 0 "A*`.`*X = I" "6#/*(%\"AG\"\" \"%\".GF&%\"XGF&%\"IG" }{TEXT -1 8 ", where " }{XPPEDIT 18 0 "I = matr ix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]);" "6#/%\" IG-%'matrixG6#7&7&\"\"\"\"\"!F+F+7&F+F*F+F+7&F+F+F*F+7&F+F+F+F*" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 93 "A := Matrix([[2,-5,2,4],[-3,1,6,8],[7,8,3,-3],[- 6,-5,1,1]]);\nludecomp := LU_decomposition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")_=y;-%'MATRIXG6#7&7&\"\"#!\"&F.\" \"%7&!\"$\"\"\"\"\"'\"\")7&\"\"(F5\"\"$F27&!\"'F/F3F3%'MatrixG" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6$-%'RTABLEG6%\"(_Ss#-%'MA TRIXG6#7&7&\"\"\"\"\"!F0F07&#!\"$\"\"#F/F0F07&#\"\"(F4#!#^\"#8F/F07&F3 #\"#SF:#!$p#\"$2%F/%'MatrixG-F'6%\")c#*y<-F+6#7&7&F4!\"&F4\"\"%7&F0#!# 8F4\"\"*\"#97&F0F0#F@F:#\"$$\\F:7&F0F0F0#!%S?F@FA" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "When the individual matri ces " }{TEXT 308 1 "L" }{TEXT -1 5 " and " }{TEXT 309 1 "U" }{TEXT -1 36 " in this list are accessed, we have " }{XPPEDIT 18 0 "L*`.`*U = A; " "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&%\"AG" }{TEXT -1 2 ".\n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "(L,U) := ludecomp:\nL.U;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")3Aw;-%'MATRIXG6#7&7&\"\"#!\"& F,\"\"%7&!\"$\"\"\"\"\"'\"\")7&\"\"(F3\"\"$F07&!\"'F-F1F1%'MatrixG" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "Now set up the 4 " }{TEXT 310 1 "x" }{TEXT -1 20 " 4 identity matrix " }{XPPEDIT 18 0 "matrix([[1, \+ 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]);" "6#-%'matrixG6# 7&7&\"\"\"\"\"!F)F)7&F)F(F)F)7&F)F)F(F)7&F)F)F)F(" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Id := IdentityMatrix(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#IdG-%' RTABLEG6%\")cQs;-%'MATRIXG6#7&7&\"\"\"\"\"!F/F/7&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 277 6 "Step 1" }{TEXT -1 10 ". Solve " }{XPPEDIT 18 0 "L*`.`*Y = I;" "6#/*(%\"LG\"\"\"%\".GF&%\"YGF&%\"IG" }{TEXT -1 11 ", that is, \+ " }{TEXT 338 10 "L . Y = Id" }{TEXT -1 26 ", by forward substitution. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "with(LinearAlgebra):\nY := ForwardSubstitute(L,Id);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG-%'RTABLEG6%\"(G_?$-%'MATRIXG6#7&7&\" \"\"\"\"!F/F/7&#\"\"$\"\"#F.F/F/7&#\"#J\"#8#\"#^F7F.F/7&#!#;\"$2%#!$(> F=#\"$p#F=F.%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 278 6 "Step 2" }{TEXT -1 8 ". Solve " }{XPPEDIT 18 0 "U*`.` *X=Y" "6#/*(%\"UG\"\"\"%\".GF&%\"XGF&%\"YG" }{TEXT -1 26 " by backward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "X := BackwardSubstitute(U,Y);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\"(wSD$-%'MATRIXG6#7&7&#\"#H\"$b##! #>\"$5&#\"#8F3#!#TF37&#!#JF0#\"#n\"%?5#F2F=#!#(*F=7&#\"\"\"\"#:#FC\"$? \"#\"#BFF#F/FF7&#\"\"#F0#\"$(>\"%S?#!$p#FO#!$2%FO%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 279 6 "Step 3" }{TEXT -1 13 ". Check that " }{TEXT 329 1 "X" }{TEXT -1 16 " is the inverse \+ " }{XPPEDIT 18 0 "A^(-1)" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 4 " of " } {TEXT 328 1 "A" }{TEXT -1 12 ". (optional)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "A.X;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")cvg;-%'MATRIXG6#7&7&\"\"\"\"\"!F- F-7&F-F,F-F-7&F-F-F,F-7&F-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 4" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 5 "Let " }{XPPEDIT 18 0 "A = matrix([[9.408754603, -5.272378103, -14.91647546], [-11.2058345 50, 12.53735484, -6.332354061], [6.789450618, -2.075898853, 5.53321983 2]]);" "6#/%\"AG-%'matrixG6#7%7%-%&FloatG6$\"+.Yv3%*!\"*,$-F+6$\"+.\"y BF&F.!\"\",$-F+6$\"+Yvk\"\\\"!\")F37%,$-F+6$\",]X$e?6F.F3-F+6$\"+%[NPD \"F8,$-F+6$\"+hSNKjF.F37%-F+6$\"+=1X*y'F.,$-F+6$\"+`))*e2#F.F3-F+6$\"+ K)>K`&F." }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 33 "We find an LU decomposition of a " }{TEXT 264 15 " row permutation" }{TEXT -1 4 " of " }{TEXT 330 1 "A" }{TEXT -1 1 "." } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 19 "Because \+ the matrix " }{TEXT 331 1 "A" }{TEXT -1 89 " has floating point entrie s, (implicit) partial pivoting is performed automatically, and " } {TEXT 0 16 "LU_decomposition" }{TEXT -1 19 " returns a list of " } {TEXT 264 10 "4 matrices" }{TEXT -1 105 " instead of just two. The ext ra two matrices are permutation matrices whose relationship with the m atrix " }{TEXT 332 1 "A" }{TEXT -1 44 " and the LU decompostion is ind icated below." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 20 ": By default ( with " }{TEXT 338 6 "D igits" }{TEXT -1 79 " set to a value less than about 15 ), matrix arit hmetic is performed using the " }{TEXT 264 31 "hardware floating point numbers" }{TEXT -1 129 ", which will generally give matrix entries wi th between 15 and 18 decimal digits regardless of the number digits gi ven initially." }}{PARA 0 "" 0 "" {TEXT -1 52 "This behaviour is contr olled by the global variable " }{TEXT 0 17 "UseHardwareFloats" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 21 "The default value of " } {TEXT 338 17 "UseHardwareFloats" }{TEXT -1 4 " is " }{TEXT 338 7 "dedu ced" }{TEXT -1 12 ". The value " }{TEXT 338 7 "deduced" }{TEXT -1 110 " tells Maple to deduce the computation environment (\"hardware\" or \+ \"software\") from the current setting of the " }{TEXT 338 6 "Digits" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 18 "UseHardwareFloats;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%(deducedG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 22 "To work with 10 digit " }{TEXT 264 31 "software f loating point numbers" }{TEXT -1 9 ", we set " }{TEXT 0 17 "UseHardwar eFloats" }{TEXT -1 4 " to " }{TEXT 338 5 "false" }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "UseHardwareFloats := false;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %2UseHardwareFloatsG%&falseG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 171 "A := Matrix([[9.408754603,- 5.272378103,-14.91647546],\n[-11.205834550,12.53735484,-6.332354061], \n[6.789450618,-2.075898853,5.533219832]]);\n\nludecomp := LU_decompos ition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\"(%oSE -%'MATRIXG6#7%7%$\"+.Yv3%*!\"*$!+.\"yBF&F0$!+Yvk\"\\\"!\")7%$!,]X$e?6F 0$\"+%[NPD\"F5$!+hSNKjF07%$\"+=1X*y'F0$!+`))*e2#F0$\"+K)>K`&F0" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6&-%'RTABLEG6$\")%3-i\"-%' MATRIXG6#7%7%\"\"\"\"\"!F07%$!+jtZ];!\"*F/F07%$\"+q-z&Q\"F4$!+%zI$HE!# 5F/-F'6$\")sb>;-F+6#7%7%$\"+=1X*y'F4$!+`))*e2#F4$\"+K)>K`&F47%F0$\"+v2 86\"*F4$\"+;+5+GF47%F0F0$!+u=\"[=#!\")-F'6$\"); " 0 "" {MPLTEXT 1 0 29 "(L,U,P,Q) := ludecomp:\n P.L.U;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")S7P;-%'MATRIX G6#7%7%$\"+0Yv3%*!\"*$!+.\"yBF&F.$!+Yvk\"\\\"!\")7%$!+bMe?6F3$\"+%[NPD \"F3$!+hSNKjF.7%$\"+=1X*y'F.$!+`))*e2#F.$\"+K)>K`&F." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 9 ". . and " }{XPPEDIT 18 0 "L*`.`*U=Q*`.`*A" "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&*(%\"QGF&F'F&%\" AGF&" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "L.U;\nQ.A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")w`M;-%'MATRIXG6#7%7%$\"+=1X*y'!\"*$!+`))*e2#F.$\" +K)>K`&F.7%$!+bMe?6!\")$\"+%[NPD\"F6$!+hSNKjF.7%$\"+0Yv3%*F.$!+.\"yBF& F.$!+Yvk\"\\\"F6" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")3dV ;-%'MATRIXG6#7%7%$\"+=1X*y'!\"*$!+`))*e2#F.$\"+K)>K`&F.7%$!+bMe?6!\")$ \"+%[NPD\"F6$!+hSNKjF.7%$\"+.Yv3%*F.$!+.\"yBF&F.$!+Yvk\"\\\"F6" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 "Given a vector " }{TEXT 337 1 " b" }{TEXT -1 35 ", we can now solve a linear system " }{XPPEDIT 18 0 " A*`.`*x=b" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 10 ", that \+ is," }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 2 " \+ " }{XPPEDIT 18 0 "matrix([[9.408754603, -5.272378103, -14.91647546], \+ [-11.205834550, 12.53735484, -6.332354061], [6.789450618, -2.075898853 , 5.533219832]])*matrix([[x[1]], [x[2]], [x[3]]]) = matrix([[b[1]], [b [2]], [b[3]]]);" "6#/*&-%'matrixG6#7%7%-%&FloatG6$\"+.Yv3%*!\"*,$-F+6$ \"+.\"yBF&F.!\"\",$-F+6$\"+Yvk\"\\\"!\")F37%,$-F+6$\",]X$e?6F.F3-F+6$ \"+%[NPD\"F8,$-F+6$\"+hSNKjF.F37%-F+6$\"+=1X*y'F.,$-F+6$\"+`))*e2#F.F3 -F+6$\"+K)>K`&F.\"\"\"-F&6#7%7#&%\"xG6#FP7#&FV6#\"\"#7#&FV6#\"\"$FP-F& 6#7%7#&%\"bG6#FP7#&F_o6#Fen7#&F_o6#Fin" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "This system is equiv alent to " }{XPPEDIT 18 0 "P*`.`*L*`.`*U*`.`*x=b" "6#/*0%\"PG\"\"\"%\" .GF&%\"LGF&F'F&%\"UGF&F'F&%\"xGF&%\"bG" }{TEXT -1 6 " or " } {XPPEDIT 18 0 "L*`.`*U*`.`*x=Q*`.`*b" "6#/*,%\"LG\"\"\"%\".GF&%\"UGF&F 'F&%\"xGF&*(%\"QGF&F'F&%\"bGF&" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "For example, let " } {XPPEDIT 18 0 "b = [-4.626091085, -7.282018001, 1.585378171]" "6#/%\"b G7%,$-%&FloatG6$\"+&3\"4EY!\"*!\"\",$-F(6$\"+,!=?G(F+F,-F(6$\"+r\"y`e \"F+" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT 283 6 "Step 1" }{TEXT -1 13 ". Compute " }{XPPEDIT 18 0 "Qb = Q*`.`*b;" "6#/%#QbG*(%\"QG\"\"\"%\".GF'%\"bGF'" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 56 "b := <-4.626091085,-7.282018001,1.585378171>;\nQb := Q.b;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG6$\"(?S!H-%'MATRIXG6#7 %7#$!+&3\"4EY!\"*7#$!+,!=?G(F07#$\"+r\"y`e\"F0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#QbG-%'RTABLEG6$\"(G*fI-%'MATRIXG6#7%7#$\"3!******4 " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "y := ForwardSubstitute(L,Qb );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"yG-%'RTABLEG6$\"()[fI-%'MATR IXG6#7%7#$\"+r\"y`e\"!\"*7#$!+=sQlYF07#$!+dtx\\!)F0" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 285 6 "Step 4" }{TEXT -1 8 ". \+ Solve " }{XPPEDIT 18 0 "U*`.`*x=y" "6#/*(%\"UG\"\"\"%\".GF&%\"xGF&%\"y G" }{TEXT -1 26 " by backward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "x := BackwardSubst itute(U,y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"xG-%'RTABLEG6$\"(o( eI-%'MATRIXG6#7%7#$!+Q;[zD!#57#$!+n3'GD'F07#$\"+beU%o$F0" }}}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 286 6 "Step 5" }{TEXT -1 32 ". Check the solution. (optional)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "A.x;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(3!eI-%'MATRIXG6#7%7#$!+'3\"4EY!\"*7#$!+- !=?G(F.7#$\"+r\"y`e\"F." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "x := 'x':\nUseHardwareFloats := 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 9 "Example 5" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 5 "Let " }{XPPEDIT 18 0 "A = matrix([[6.549593610, -12.72095 234, -4.407959164], [-7.619128892, .5169298725, 11.30696648], [-.18193 19991e-1, -7.814113718, 2.154009470]]);" "6#/%\"AG-%'matrixG6#7%7%-%&F loatG6$\"+5Of\\l!\"*,$-F+6$\"+M_4s7!\")!\"\",$-F+6$\"+k\"fzS%F.F47%,$- F+6$\"+#*)G\">wF.F4-F+6$\"+D()Hp^!#5-F+6$\"+[mpI6F37%,$-F+6$\"+\"**>$> =!#6F4,$-F+6$\"+=P69yF.F4-F+6$\"+q%4S:#F." }{TEXT -1 1 "." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 33 "We use the LU deco mposition of a " }{TEXT 264 15 "row permutation" }{TEXT -1 4 " of " } {TEXT 339 1 "A" }{TEXT -1 28 " to find the inverse matrix " }{XPPEDIT 18 0 "A^(-1)" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 1 "." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "To do this we need to s olve the matrix equation " }{XPPEDIT 18 0 "A*`.`*X = matrix([[1, 0, 0] , [0, 1, 0], [0, 0, 1]]);" "6#/*(%\"AG\"\"\"%\".GF&%\"XGF&-%'matrixG6# 7%7%F&\"\"!F.7%F.F&F.7%F.F.F&" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 26 "Let's work with 10 digit \+ \"" }{TEXT 264 8 "software" }{TEXT -1 25 "\" floating point numbers." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "UseHardwareFloats := false;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#> %2UseHardwareFloatsG%&falseG" }}}{PARA 0 "" 0 "" {TEXT -1 1 " " }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 199 "A := Matrix([[6.549593610,- 12.72095234,-4.407959164],\n [-7.619128892,.5169298725,11. 30696648],\n [-.1819319991e-1,-7.814113718,2.154009470]]); \n\nludecomp := LU_decomposition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%\"AG-%'RTABLEG6$\")S\")[;-%'MATRIXG6#7%7%$\"+5Of\\l!\"*$!+M_4s7!\" )$!+k\"fzS%F07%$!+#*)G\">wF0$\"+D()Hp^!#5$\"+[mpI6F37%$!+\"**>$>=!#6$! +=P69yF0$\"+q%4S:#F0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6& -%'RTABLEG6$\")!yxk\"-%'MATRIXG6#7%7%\"\"\"\"\"!F07%$\"+=?$yQ#!#7F/F07 %$!+>*\\if)!#5$\"+B/$3d\"!\"*F/-F'6$\")W/Z;-F+6#7%7%$!+#*)G\">wF;$\"+D ()Hp^F8$\"+[mpI6!\")7%F0$!+g![`\"yF;$\"+L.,F@F;7%F0F0$\"+k#>1(>F;-F'6$ \")#pkk\"-F+6#7%7%F0F0F/F.7%F0F/F0-F'6$\")_OX;-F+6#7%FYFXF." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 29 "When the indivi dual matrices " }{TEXT 344 1 "L" }{TEXT -1 2 ", " }{TEXT 345 1 "U" } {TEXT -1 2 ", " }{TEXT 346 1 "P" }{TEXT -1 2 ", " }{TEXT 347 1 "Q" } {TEXT -1 15 " in this list \"" }{TEXT 338 8 "ludecomp" }{TEXT -1 40 " \" are accessed, we have (approximately) " }{XPPEDIT 18 0 "P*`.`*L*`.` *U=A" "6#/*,%\"PG\"\"\"%\".GF&%\"LGF&F'F&%\"UGF&%\"AG" }{TEXT -1 3 ". \+ \n" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "(L,U,P,Q) := ludecomp: \nP.L.U;\n% - A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")gSd ;-%'MATRIXG6#7%7%$\"+7Of\\l!\"*$!+M_4s7!\")$!+k\"fzS%F.7%$!+#*)G\">wF. $\"+D()Hp^!#5$\"+[mpI6F17%$!+#**>$>=!#6$!+=P69yF.$\"+q%4S:#F." }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")Spc;-%'MATRIXG6#7%7%$\" \"#!\"*$\"\"!F0F/7%F/F/F/7%$!\"\"!#6F/F/" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 8 ". . and." }{XPPEDIT 18 0 "L*`.`*U=Q *`.`*A" "6#/*(%\"LG\"\"\"%\".GF&%\"UGF&*(%\"QGF&F'F&%\"AGF&" }{TEXT -1 3 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "L.U;\nQ := ludecomp[4]:\nQ.A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")C\"=u\"-%'MATRIXG6#7%7%$!+#*)G\">w!\"*$ \"+D()Hp^!#5$\"+[mpI6!\")7%$!+#**>$>=!#6$!+=P69yF.$\"+q%4S:#F.7%$\"+7O f\\lF.$!+M_4s7F4$!+k\"fzS%F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTA BLEG6$\")7_b;-%'MATRIXG6#7%7%$!+#*)G\">w!\"*$\"+D()Hp^!#5$\"+[mpI6!\") 7%$!+\"**>$>=!#6$!+=P69yF.$\"+q%4S:#F.7%$\"+5Of\\lF.$!+M_4s7F4$!+k\"fz S%F." }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 15 " The inverse of " }{TEXT 343 1 "A" }{TEXT -1 45 " can be found by solvi ng the matrix equation " }{XPPEDIT 18 0 "A*`.`*X = I;" "6#/*(%\"AG\"\" \"%\".GF&%\"XGF&%\"IG" }{TEXT -1 8 ", where " }{XPPEDIT 18 0 "I = matr ix([[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, 1, 0], [0, 0, 0, 1]]);" "6#/%\" IG-%'matrixG6#7&7&\"\"\"\"\"!F+F+7&F+F*F+F+7&F+F+F*F+7&F+F+F+F*" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "The matrix equation " }{XPPEDIT 18 0 "A*`.`*X = I;" "6#/* (%\"AG\"\"\"%\".GF&%\"XGF&%\"IG" }{TEXT -1 18 " is equivalent to " } {XPPEDIT 18 0 "P*`.`*L*`.`*U*`.`*X = I;" "6#/*0%\"PG\"\"\"%\".GF&%\"LG F&F'F&%\"UGF&F'F&%\"XGF&%\"IG" }{TEXT -1 6 " or " }{XPPEDIT 18 0 "L* `.`*U*`.`*X=Q" "6#/*,%\"LG\"\"\"%\".GF&%\"UGF&F'F&%\"XGF&%\"QG" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 1 "\n" }{TEXT 280 6 "Step 1 " }{TEXT -1 10 ". Solve " }{XPPEDIT 18 0 "L*`.`*Y=Q" "6#/*(%\"LG\"\" \"%\".GF&%\"YGF&%\"QG" }{TEXT -1 25 " by forward substitution." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "with(LinearAlgebra):\nY := ForwardSubstitute(L,Q);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG-%'RTABLEG6$\")/_a;-%'MATRIXG6#7%7%$\"\"!F/$ \"+++++5!\"*F.7%F.$!+=?$yQ#!#7F07%F0$\"+6(ePj)!#5$!+B/$3d\"F2" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 281 6 "Step 2" } {TEXT -1 8 ". Solve " }{XPPEDIT 18 0 "U*`.`*X=Y" "6#/*(%\"UG\"\"\"%\". GF&%\"XGF&%\"YG" }{TEXT -1 26 " by backward substitution." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "X := \+ BackwardSubstitute(U,Y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'R TABLEG6$\")K\"F0$!+.Y(*[MF07%$\"+ipau]F0$\"+/9C\"Q%F0$!+^ FDrzF0" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 11 "The matrix " }{TEXT 342 1 "X" }{TEXT -1 37 " is an approximation f or the inverse " }{XPPEDIT 18 0 "A^(-1)" "6#)%\"AG,$\"\"\"!\"\"" } {TEXT -1 15 " of the matrix " }{TEXT 340 1 "A" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 282 6 "Step 3" } {TEXT -1 13 ". Check that " }{XPPEDIT 18 0 "A*`.`*X" "6#*(%\"AG\"\"\"% \".GF%%\"XGF%" }{TEXT -1 33 " is approximately equal to the 3 " } {TEXT 341 1 "x" }{TEXT -1 30 " 3 identity matrix. (optional)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "A.X ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"))QLl\"-%'MATRIXG6# 7%7%$\"**********!\"*$!\"#F.$\"\"&F.7%$\"\"!F5$\"+++++5F.F47%$\"\"\"F. F4F6" }}}{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 9 "Example 6" }}{PARA 0 "" 0 "" {TEXT -1 11 "The matrix " }{XPPEDIT 18 0 "A = matrix([[0,1],[1,2]])" "6#/%\"AG- %'matrixG6#7$7$\"\"!\"\"\"7$F+\"\"#" }{TEXT -1 122 " has exact entrie s, but the LU decomposition cannot be found without pivoting because a zero pivot entry is encountered. " }{TEXT 0 16 "LU_decomposition" } {TEXT -1 126 " thus performs an interchange of rows to avoid this, and so gives the associated permutation matrices in the LU decomposition. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "A := Matrix([[0,1],[1,2]]);\nludecomp := LU_decomposition(A); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\")cTx=-%'MATRIX G6#7$7$\"\"!\"\"\"7$F/\"\"#%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%)ludecompG6&-%'RTABLEG6%\")/@&)=-%'MATRIXG6#7$7$\"\"\"\"\"!7$F0F/% 'MatrixG-F'6%\")kc$)=-F+6#7$7$F/\"\"#F1F2-F'6%\")SJ\")=-F+6#7$F1F.F2-F '6%\")KG#*=F>F2" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 30 "(L,U,P,Q) := ludecomp:\nP.L.U;\n" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")K![$>-%'MATRIXG6#7$7$\"\"!\"\"\"7 $F-\"\"#%'MatrixG" }}}{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 "The Maple " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 12 " procedure: " }{TEXT 0 15 "LUDecompos ition" }{TEXT -1 1 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" } }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 15 "LUDecompos ition" }{TEXT -1 37 " in the Maple linear algebra package " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 39 " can be used in place of the procedur e " }{TEXT 0 16 "LU_decomposition" }{TEXT -1 30 " in all of the exampl es above." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 45 "Given a non-singular matrix A, the procedure " }{TEXT 0 15 "LUDeco mposition" }{TEXT -1 46 " constructs matrices P, L and U, where P is a " }{TEXT 264 18 "permutation matrix" }{TEXT -1 9 ", L is a " }{TEXT 264 23 "lower triangular matrix" }{TEXT -1 13 " and U is an " }{TEXT 264 23 "upper triangular matrix" }{TEXT -1 26 ", such that P . L . U = A." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 60 "If the matrix A has at least one floating point entry, then " }{TEXT 264 16 "partial pivoting" }{TEXT -1 46 " will be peformed, so you have to assume that " }{TEXT 264 21 "P is not the identity" }{TEXT -1 1 ". " }}{PARA 0 "" 0 "" {TEXT -1 222 "If A has exact entries, then, provid ed that no zero pivot entries are encountered, the permutation matrix \+ is the identity. However, unless you want to check whether P is the id entity, you had better suppose that it is not." }}{PARA 0 "" 0 "" {TEXT -1 35 "You can get more information about " }{TEXT 0 15 "LUDecom position" }{TEXT -1 20 " from the help page." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "?LUDecomposition" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" }{TEXT -1 85 ": The permutation P is not necessarily the same as that \+ constructed by the procedure " }{TEXT 0 16 "LU_decomposition" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 57 "For example, we can use to find the LU decomposition of " } {XPPEDIT 18 0 "A = matrix([[9, 5, -5, 10], [-2, 4, 10, -3], [9, 4, -3, 5], [3, -5, 5, 9]]);" "6#/%\"AG-%'matrixG6#7&7&\"\"*\"\"&,$F+!\"\"\"# 57&,$\"\"#F-\"\"%F.,$\"\"$F-7&F*F2,$F4F-F+7&F4,$F+F-F+F*" }{TEXT -1 12 " as follows." }}{PARA 0 "" 0 "" {TEXT -1 93 "To access the matrice s P, L and U which constitute the LU decompostion of A, the output fro m " }{TEXT 0 15 "LUDecomposition" }{TEXT -1 55 ", we need to make use \+ of Maple's facility for making a " }{TEXT 264 19 "multiple assignment " }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 114 "with(LinearAlgebra):\nA := Matrix([[9,5,-5,10 ],[-2,4,10,-3],[9,4,-3,5],[3,-5,5,9]]);\n(P,L,U) := LUDecomposition(A) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\")k)om\"-%'MAT RIXG6#7&7&\"\"*\"\"&!\"&\"#57&!\"#\"\"%F1!\"$7&F.F4F5F/7&\"\"$F0F/F." }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6%%\"PG%\"LG%\"UG6%-%'RTABLEG6$\")/ 3l;-%'MATRIXG6#7&7&\"\"\"\"\"!F3F37&F3F2F3F37&F3F3F2F37&F3F3F3F2-F*6$ \")?Ht;-F.6#7&F17&#!\"#\"\"*F2F3F37&F2#!\"*\"#YF2F37&#F2\"\"$#!#I\"#B# \"$5#\"#VF2-F*6$\")k'Ro\"-F.6#7&7&F@\"\"&!\"&\"#57&F3#FDF@#\"#!)F@#!\" (F@7&F3F3#\"#')FJ#!$P#FD7&F3F3F3#\"%#G\"FM" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 34 "Since P is the identity matrix, L " }{TEXT 287 1 "." }{TEXT -1 8 " U = A. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "L.U;" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")3jz;-%'MATRIXG6#7&7&\"\"*\"\"&!\" &\"#57&!\"#\"\"%F/!\"$7&F,F2F3F-7&\"\"$F.F-F," }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 6 "Given " }{XPPEDIT 18 0 "A \+ = matrix([[9.408754603, -5.272378103, -14.91647546], [-11.205834550, 1 2.53735484, -6.332354061], [6.789450618, -2.075898853, 5.533219832]]); " "6#/%\"AG-%'matrixG6#7%7%-%&FloatG6$\"+.Yv3%*!\"*,$-F+6$\"+.\"yBF&F. !\"\",$-F+6$\"+Yvk\"\\\"!\")F37%,$-F+6$\",]X$e?6F.F3-F+6$\"+%[NPD\"F8, $-F+6$\"+hSNKjF.F37%-F+6$\"+=1X*y'F.,$-F+6$\"+`))*e2#F.F3-F+6$\"+K)>K` &F." }{TEXT -1 56 ", we find an LU decomposition of a row permutation \+ of A." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 222 "UseHardwareFloats := false;\nA := Matrix([[9.4087546 03,-5.272378103,-14.91647546],\n [-11.205834550,12.5373548 4,-6.332354061],\n [6.789450618,-2.075898853,5.533219832]] );\n(P,L,U) := LUDecomposition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%2UseHardwareFloatsG%&falseG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"A G-%'RTABLEG6$\")c^*o\"-%'MATRIXG6#7%7%$\"+.Yv3%*!\"*$!+.\"yBF&F0$!+Yvk \"\\\"!\")7%$!,]X$e?6F0$\"+%[NPD\"F5$!+hSNKjF07%$\"+=1X*y'F0$!+`))*e2# F0$\"+K)>K`&F0" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6%%\"PG%\"LG%\"UG6% -%'RTABLEG6$\")WT'o\"-%'MATRIXG6#7%7%\"\"!F2\"\"\"7%F3F2F27%F2F3F2-F*6 $\")[[<>-F.6#7%7%$\"#5!\"\"$F2F2F@7%$!+qJ&)eg!#5F=F@7%$!+o(*H'R)FD$\"+ M " 0 "" {MPLTEXT 1 0 6 "P.L.U;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$ \")/G&p\"-%'MATRIXG6#7%7%$\"+.Yv3%*!\"*$!+/\"yBF&F.$!+Yvk\"\\\"!\")7%$ !+bMe?6F3$\"+%[NPD\"F3$!+hSNKjF.7%$\"+>1X*y'F.$!+`))*e2#F.$\"+K)>K`&F. " }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 0 16 "LU_decompos ition" }{TEXT -1 19 ": symbolic examples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " } {TEXT 0 16 "LU_decomposition" }{TEXT -1 224 " can handle symbolic matr ices. For such matrices partial pivoting is performed on the basis of \+ the \"length\" of an algebraic expression. Pivot elements are chosen t o have minimum length, that is, to be \"as simple as possible\"" }} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "Example 1" }}{PARA 0 "" 0 "" {TEXT -1 6 "Given " }{XPPEDIT 18 0 "A=matrix([[p,1/p,p^2-1],[1,2*p,-1] ,[p,p/(p^2-1),(p-1)/(p+1)]])" "6#/%\"AG-%'matrixG6#7%7%%\"pG*&\"\"\"F, F*!\"\",&*$F*\"\"#F,F,F-7%F,*&F0F,F*F,,$F,F-7%F**&F*F,,&*$F*F0F,F,F-F- *&,&F*F,F,F-F,,&F*F,F,F,F-" }{TEXT -1 36 ", we find an LU decompositi on of A:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 106 "Since the matrix has symbolic entries, partial pivoting on the ba sis of the length of expressions is used." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 117 "p := 'p':\nA := Matr ix([[p, 1/p, p^2-1], [1, 2*p, -1], [p, p/(p^2-1), (p-1)/(p+1)]]);\nlud ecomp := LU_decomposition(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"A G-%'RTABLEG6%\")kOX>-%'MATRIXG6#7%7%%\"pG*&\"\"\"F0F.!\"\",&*$)F.\"\"# F0F0F0F17%F0,$*&F5F0F.F0F0F17%F.*&F.F0F2F1*&,&F.F0F0F1F0,&F.F0F0F0F1%' MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6&-%'RTABLEG6% \")Oqb>-%'MATRIXG6#7%7%\"\"\"\"\"!F07%F/F/F07%*&F/F/%\"pG!\"\"*(,&*&\" \"#F/)F4\"\"$F/F/F/F5F/F4F5,&*$)F4F9F/F/F/F5F/F/%'MatrixG-F'6%\")S6e>- F+6#7%7%F4F3F<7%F0*&F/F/*&FF/F/*&F;F/F4F/F5F/F/F/F4F5F?-F'6%\")3Kd>-F+6#7%F.7%F0F0F/7%F0 F/F0F?-F'6%\")3(o&>FjnF?" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 29 "When the individual matrices " }{TEXT 348 1 "L" } {TEXT -1 2 ", " }{TEXT 349 1 "U" }{TEXT -1 2 ", " }{TEXT 350 1 "P" } {TEXT -1 2 ", " }{TEXT 351 1 "Q" }{TEXT -1 15 " in this list \"" } {TEXT 338 8 "ludecomp" }{TEXT -1 24 "\" are accessed, we have " } {XPPEDIT 18 0 "P*`.`*L*`.`*U=A" "6#/*,%\"PG\"\"\"%\".GF&%\"LGF&F'F&%\" UGF&%\"AG" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "(L,U,P,Q) := ludecomp:\nP.L.U;\nmap (normal,%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")G^&*>-%' MATRIXG6#7%7%%\"pG*&\"\"\"F.F,!\"\",&*$)F,\"\"#F.F.F.F/7%F.,&*&F.F.*$F 2F.F/F.*&,&*&F3F.)F,\"\"$F.F.F.F/F.F,!\"#F.,(*&F0F.F,F/F.**F9F.F0F.,(F 3F/F1F.F,F.F.,&F,F.F.F.F/F/*&,.*&F3F.)F,\"\"(F.F.*&\"\"'F.)F,\"\"&F.F/ *&F " 0 "" {MPLTEXT 1 0 51 "map( normal,L.U);\nQ := ludecomp[4]:\nmap(normal,Q.A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\")%GW;#-%'MATRIXG6#7%7%%\"pG*&\"\"\"F.F,! \"\",&*$)F,\"\"#F.F.F.F/7%F,*&F,F.F0F/*&,&F,F.F.F/F.,&F,F.F.F.F/7%F.,$ *&F3F.F,F.F.F/%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6 %\"()ouE-%'MATRIXG6#7%7%%\"pG*&\"\"\"F.F,!\"\",&*$)F,\"\"#F.F.F.F/7%F, *&F,F.F0F/*&,&F,F.F.F/F.,&F,F.F.F.F/7%F.,$*&F3F.F,F.F.F/%'MatrixG" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 4 "Note" } {TEXT -1 11 ": Setting \"" }{TEXT 338 10 "pivot=none" }{TEXT -1 6 "\" \+ or \"" }{TEXT 338 11 "pivot=false" }{TEXT -1 54 "\"gives the same LU d ecomposition as that given by the " }{TEXT 0 13 "LinearAlgebra" } {TEXT -1 11 " procedure " }{TEXT 0 15 "LUDecomposition" }{TEXT -1 1 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 80 "ludecomp := LU_decomposition(A,pivot='none');\nLinearAlgebra[L UDecomposition](A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludecompG6$- %'RTABLEG6%\"(w.z#-%'MATRIXG6#7%7%\"\"\"\"\"!F07%*&F/F/%\"pG!\"\"F/F07 %F/*(F3F/,&*$)F3\"\"#F/F/F/F4F4,&*&F:F/)F3\"\"$F/F/F/F4F4F/%'MatrixG-F '6%\"(Oty#-F+6#7%7%F3F2F77%F0*&F;F/F3!\"#,$*&,(F3F/F8F/F/F4F/F3F4F47%F 0F0,$*(,.*&F:F/)F3\"\"(F/F/*&\"\"'F/)F3\"\"&F/F4*&F>F/)F3\"\"%F/F/*&F: F/F9F/F/*&F>F/F3F/F4F/F/F/F;F4F7F4F4F?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%-%'RTABLEG6%\"(w%*3$-%'MATRIXG6#7%7%\"\"\"\"\"!F-7%F-F,F-7%F-F-F ,%'MatrixG-F$6%\"(%))**H-F(6#7%F+7%*&F,F,%\"pG!\"\"F,F-7%F,*(F9F,,&*$) F9\"\"#F,F,F,F:F:,&*&F@F,)F9\"\"$F,F,F,F:F:F,F0-F$6%\"(S**)H-F(6#7%7%F 9F8F=7%F-*&FAF,F9!\"#,$*&,(F9F,F>F,F,F:F,F9F:F:7%F-F-,$*(,.*&F@F,)F9\" \"(F,F,*&\"\"'F,)F9\"\"&F,F:*&FDF,)F9\"\"%F,F,*&F@F,F?F,F,*&FDF,F9F,F: F,F,F,FAF:F=F:F:F0" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 9 "E xample 2" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 34 "We find the inverse of the matrix " }{XPPEDIT 18 0 " A = matrix([[a, b], [c, d]]);" "6#/%\"AG-%'matrixG6#7$7$%\"aG%\"bG7$% \"cG%\"dG" }{TEXT -1 32 ", using the LU decomposition of " }{TEXT 352 1 "A" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 48 "This is achieved \+ by solving the matrix equation " }{XPPEDIT 18 0 "A*`.`*X= I" "6#/*(%\" AG\"\"\"%\".GF&%\"XGF&%\"IG" }{TEXT -1 8 ", where " }{XPPEDIT 18 0 "I \+ = matrix([[1, 0], [0, 1]]);" "6#/%\"IG-%'matrixG6#7$7$\"\"\"\"\"!7$F+F *" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 99 "unassign('a','b','c','d'):\nA := Matrix([[a,b ],[c,d]]);\nludecomp := LU_decomposition(A,output=long);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6%\"(CD/$-%'MATRIXG6#7$7$%\"aG% \"bG7$%\"cG%\"dG%'MatrixG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)ludeco mpG6&-%'RTABLEG6%\"(!oXJ-%'MATRIXG6#7$7$\"\"\"\"\"!7$*&%\"cGF/%\"aG!\" \"F/%'MatrixG-F'6%\")k&ei\"-F+6#7$7$F4%\"bG7$F0*&,&*&%\"dGF/F4F/F/*&F3 F/F>F/F5F/F4F5F6-F'6%\"(+Y8$-F+6#7$F.7$F0F/F6-F'6%\")sBf " 0 "" {MPLTEXT 1 0 52 "L := lud ecomp[1]: U := ludecomp[2]:\nmap(normal,L.U);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6%\"(OJ@$-%'MATRIXG6#7$7$%\"aG%\"bG7$%\"cG%\" dG%'MatrixG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "Now set up the \+ 2 " }{TEXT 353 1 "x" }{TEXT -1 19 " 2 identity matrix " }{XPPEDIT 18 0 "I = matrix([[1, 0], [0, 1]]);" "6#/%\"IG-%'matrixG6#7$7$\"\"\"\"\"! 7$F+F*" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "Id := IdentityMatrix(2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#IdG-%'RTABLEG6%\")[bF;-%'MATRIXG6#7$7$\" \"\"\"\"!7$F/F.%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT 294 6 "Step 1" }{TEXT -1 10 ". Solve " }{XPPEDIT 18 0 " L*`.`*Y=I" "6#/*(%\"LG\"\"\"%\".GF&%\"YGF&%\"IG" }{TEXT -1 11 ", that \+ is, " }{TEXT 338 10 "L . Y = Id" }{TEXT -1 25 " by forward substitutio n." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "Y := ForwardSubstitute(L,Id);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG-%'RTABLEG6%\")W$\\j\"-%'MATRIXG6#7$7$\"\"\"\"\"! 7$,$*&%\"cGF.%\"aG!\"\"F5F.%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT 295 6 "Step 2" }{TEXT -1 8 ". Solve " } {XPPEDIT 18 0 "U*`.`*X=Y" "6#/*(%\"UG\"\"\"%\".GF&%\"XGF&%\"YG" } {TEXT -1 26 " by backward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "X := BackwardSubstitute (U,Y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")S4K;-%' MATRIXG6#7$7$*&%\"dG\"\"\",&*&F/F0%\"aGF0F0*&%\"cGF0%\"bGF0!\"\"F7,$*& F6F0F1F7F77$,$*&F5F0F1F7F7*&F1F7F3F0%'MatrixG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 296 6 "Step 3" }{TEXT -1 13 ". C heck that " }{TEXT 354 1 "X" }{TEXT -1 16 " is the inverse " } {XPPEDIT 18 0 "A^(-1)" "6#)%\"AG,$\"\"\"!\"\"" }{TEXT -1 17 " of A. (o ptional)" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "map(normal,A.X);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#- %'RTABLEG6%\")WdS;-%'MATRIXG6#7$7$\"\"\"\"\"!7$F-F,%'MatrixG" }}} {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 58 "Using LU decomposition to find an interpo lating polynomial" }}{PARA 258 "" 0 "" {TEXT 258 8 "Question" }{TEXT 290 2 ": " }}{PARA 0 "" 0 "" {TEXT -1 55 "Find a cubic polynomial whic h passes through the points" }{XPPEDIT 18 0 " ``(1,2), ``(2,3), ``(3,3 )" "6%-%!G6$\"\"\"\"\"#-F$6$F'\"\"$-F$6$F*F*" }{TEXT -1 4 " and" } {XPPEDIT 18 0 " ``(4,1)" "6#-%!G6$\"\"%\"\"\"" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 258 "" 0 "" {TEXT 266 8 "Solutio n" }{TEXT 291 2 ": " }}{PARA 0 "" 0 "" {TEXT -1 82 "Set up the system \+ of equations to solve for the coefficients of the desired cubic." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 123 "x := 'x':\nunassign('a','b','c','d');\nf := x->a*x^3+b*x^2+c*x+d; \neq1 := f(1)=2;\neq2 := f(2)=3;\neq3 := f(3)=3;\neq4 := f(4)=1;" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"fGf*6#%\"xG6\"6$%)operatorG%&arrow GF(,**&%\"aG\"\"\")9$\"\"$F/F/*&%\"bGF/)F1\"\"#F/F/*&%\"cGF/F1F/F/%\"d GF/F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$eq1G/,*%\"aG\"\"\"%\"b GF(%\"cGF(%\"dGF(\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$eq2G/,**& \"\")\"\"\"%\"aGF)F)*&\"\"%F)%\"bGF)F)*&\"\"#F)%\"cGF)F)%\"dGF)\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$eq3G/,**&\"#F\"\"\"%\"aGF)F)*&\" \"*F)%\"bGF)F)*&\"\"$F)%\"cGF)F)%\"dGF)F/" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$eq4G/,**&\"#k\"\"\"%\"aGF)F)*&\"#;F)%\"bGF)F)*&\"\"% F)%\"cGF)F)%\"dGF)F)" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 13 "The package " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 22 " contains a procedure " }{TEXT 0 14 "GenerateMatrix" }{TEXT -1 55 " which converts the system of equations to matrix form." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with( LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 77 "eqns:=[e q1,eq2,eq3,eq4]:\nvar := [a,b,c,d]:\n(A,B) := GenerateMatrix(eqns,var) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6$%\"AG%\"BG6$-%'RTABLEG6%\");]h ;-%'MATRIXG6#7&7&\"\"\"F1F1F17&\"\")\"\"%\"\"#F17&\"#F\"\"*\"\"$F17&\" #k\"#;F4F1%'MatrixG-F)6%\"(G_C$-F-6#7&7#F57#F9FE7#F1&%'VectorG6#%'colu mnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 24 "U se the Maple procedure " }{TEXT 0 15 "LUDecomposition" }{TEXT -1 58 " \+ to obtain the LU decomposition of the coefficient matrix." }}{PARA 0 " " 0 "" {TEXT -1 94 "Since the coefficient matrix has exact entries, we do not have any re-arrangement of the rows." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "(P,L,U) := LUDecom position(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>6%%\"PG%\"LG%\"UG6%-% 'RTABLEG6%\")WXv;-%'MATRIXG6#7&7&\"\"\"\"\"!F3F37&F3F2F3F37&F3F3F2F37& F3F3F3F2%'MatrixG-F*6%\")%[Zm\"-F.6#7&F17&\"\")F2F3F37&\"#F#\"\"*\"\"# F2F37&\"#k\"#7\"\"%F2F7-F*6%\")W:l;-F.6#7&7&F2F2F2F27&F3!\"%!\"'!\"(7& F3F3\"\"$#\"#6FD7&F3F3F3!\"\"F7" }}}{PARA 0 "" 0 "" {TEXT -1 1 "\n" } {TEXT 297 6 "Step 1" }{TEXT -1 11 ". Solve " }{XPPEDIT 18 0 "L*`.`* Y=B" "6#/*(%\"LG\"\"\"%\".GF&%\"YGF&%\"BG" }{TEXT -1 25 " by forward s ubstitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "Y := ForwardSubstitute(L,B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"YG-%'RTABLEG6%\")Gm>;-%'MATRIXG6#7&7#\"\"#7#!#87## \"#:F.7#!\"\"&%'VectorG6#%'columnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT 298 6 "Step 2" }{TEXT -1 9 ". Solve " } {XPPEDIT 18 0 "U*`.`*X=Y" "6#/*(%\"UG\"\"\"%\".GF&%\"XGF&%\"YG" } {TEXT -1 26 " by backward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "X := BackwardSubstitute (U,Y);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"XG-%'RTABLEG6%\")+pI;-%' MATRIXG6#7&7##!\"\"\"\"'7##\"\"\"\"\"#7##F4\"\"$7#F3&%'VectorG6#%'colu mnG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 130 " The required cubic polynomial can be obtained by assigning the numeric al values for the coefficients to the appropriate variables." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 98 "a \+ := X[1];\nb := X[2];\nc := X[3];\nd := X[4];\nx := 'x':\npx := a*x^3+b *x^2+c*x+d;\np := unapply(px,x);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"aG#!\"\"\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG#\"\"\"\"\"# " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"cG#\"\"#\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"dG\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% #pxG,**&#\"\"\"\"\"'F(*$)%\"xG\"\"$F(F(!\"\"*&#F(\"\"#F(*$)F,F1F(F(F(* &#F1F-F(F,F(F(F(F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"pGf*6#%\"xG6 \"6$%)operatorG%&arrowGF(,**&#\"\"\"\"\"'F/*$)9$\"\"$F/F/!\"\"*&#F/\" \"#F/*$)F3F8F/F/F/*&#F8F4F/F3F/F/F/F/F(F(F(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 43 "We can check the result by draw ing a graph." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 140 "points := [[1,2],[2,3],[3,3],[4,1]];\nplot([point s,f(x)],x=0..4.5,color=[blue,red],\n symbol=circle,style=[point, line],tickmarks=[5,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%'pointsG7 &7$\"\"\"\"\"#7$F(\"\"$7$F*F*7$\"\"%F'" }}{PARA 13 "" 1 "" {GLPLOT2D 267 204 204 {PLOTDATA 2 "6(-%'CURVESG6%7&7$$\"\"\"\"\"!$\"\"#F*7$F+$\" \"$F*7$F.F.7$$\"\"%F*F(-%'COLOURG6&%$RGBG$F*F*F8$\"*++++\"!\")-%&STYLE G6#%&POINTG-F$6%7U7$F8F(7$$\"3e*****\\P>(3)*!#>$\"3%*3&yosW+2\"!#<7$$ \"3?+]ilLKM=!#=$\"3UOwakK3Q6FJ7$$\"3E++Dc(=Tz#FN$\"3mQ#)G@Wn@7FJ7$$\"3 1++v$Hw-w$FN$\"3%\\C,%f>_78FJ7$$\"3\\**\\7`=%=s%FN$\"3Pe/')4As39FJ7$$ \"3'***\\i:iL8cFN$\"3]s09)=\"H-:FJ7$$\"3V**\\i!*pUOlFN$\"3FM#>V^TGg\"F J7$$\"35+]i!z)3\"\\(FN$\"3w^b\"e!e#*4**\\7y*)oU%)FN$\"3(3j-Q =V*==FJ7$$\"39,+]Pn_@%*FN$\"3SGJD:PaK>FJ7$$\"3'***\\(ovo$G5FJ$\"3Wr$*) y2$4L?FJ7$$\"39++DYwUD6FJ$\"3'\\b&p!Q.g9#FJ7$$\"3#****\\(o])GA\"FJ$\"3 GgrFvr=eAFJ7$$\"38++v`L!oJ\"FJ$\"3c?'R\"=YIkBFJ7$$\"3$**\\iS:!4-9FJ$\" 3ICsZD/FeCFJ7$$\"3-++v3W].:FJ$\"372#)Q[t9mDFJ7$$\"3-+++&e:%*e\"FJ$\"3' RX4#*HBNl#FJ7$$\"3'**\\ilq]$*o\"FJ$\"3'HA#*)4ak\\FFJ7$$\"3))****\\A-\" yx\"FJ$\"3eJ*\\:_FJ$\"3y6S')e\"fw(HFJ7$$\"3O+]il8$FJ7$$\"3' **\\i!zA*pM#FJ$\"39y'ohPZUN4GFJ7$$\"3E++D;#RAG$FJ$\"3+H\"[,`%R\"o#FJ7$$\"3q*\\ilI5GP$FJ$\"3 D)o/HA,$[nMFJ$\"3'=#o?*zi[P#FJ7$$\"3/++vVK/gNFJ$\"3 yC!Gvus.>#FJ7$$\"3!)*\\i!R]%pl$FJ$\"3y-q&=J:P(>FJ7$$\"3]+++&)HF]PFJ$\" 3rW#*\\bOZTz9FJ7$$\"3E+Dc\"Hl.%RFJ$ \"3='*GDgK[$>\"FJ7$$\"3x****\\K(Rt-%FJ$\"3g+Sw4'Hu2*FN7$$\"3p**\\(oDAq 7%FJ$\"3'[9Ay>*[?bFN7$$\"3W+++&\\zh@%FJ$\"3kAt0b^ \+ " 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 114 "Use the method of LUdecomposition together wit h forward and backward substitution to the solve the linear systems " }{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-,$F 2F-F27'F2F.\"\"&,$F*F-,$F@F-" }{TEXT -1 10 ", and (i) " }{XPPEDIT 18 0 "b = matrix([[1], [4], [-2], [3], [2]]);" "6#/%\"bG-%'matrixG6#7'7# \"\"\"7#\"\"%7#,$\"\"#!\"\"7#\"\"$7#F/" }{TEXT -1 9 " , (ii) " } {XPPEDIT 18 0 "b = matrix([[3], [-9], [5], [6], [0]]);" "6#/%\"bG-%'ma trixG6#7'7#\"\"$7#,$\"\"*!\"\"7#\"\"&7#\"\"'7#\"\"!" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 38 "_____________________________________\n " }}{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 45 "(a) Find the LU decomposition of the matrix " }}{PARA 257 "" 0 "" {XPPEDIT 18 0 "A = matrix([[6, -6, -5, 1], [5, -9, -2, 4], [3, -8, -2, 2], [-4, -6, -10, 2]]);" "6#/%\"AG-%'matrixG6#7&7&\"\"',$ F*!\"\",$\"\"&F,\"\"\"7&F.,$\"\"*F,,$\"\"#F,\"\"%7&\"\"$,$\"\")F,,$F4F ,F47&,$F5F,,$F*F,,$\"#5F,F4" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 75 "(b) Use the LU decompostion fou nd in (a) to find the inverse of the matrix " }{TEXT 355 1 "A" }{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 "Q3" }}{PARA 0 "" 0 "" {TEXT -1 45 "(a) Find the LU decom position of the matrix " }}{PARA 257 "" 0 "" {XPPEDIT 18 0 "A = matri x([[6.486398716, .8710817891, 7.48237504, 3.605644624], [5.827139758, \+ -10.59691933, -5.620720836, -4.433308939], [18.93844047, 11.13555788, \+ 5.311180595, 2.82703310], [-.6494045231, -10.12143096, -3.651777213, 1 3.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\"F6-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 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 28 "(b) Solve the linear system " }{XPPEDIT 18 0 "A*`.`*x = b ;" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 8 ", where " } {XPPEDIT 18 0 "b = matrix([[2.55461344], [1.44418632], [.80487484], [9 .73848520]]);" "6#/%\"bG-%'matrixG6#7&7#-%&FloatG6$\"*W8Yb#!\")7#-F+6$ \"*K'=W9F.7#-F+6$\")%[([!)F.7#-F+6$\"*?&[Q(*F." }{TEXT -1 2 ". " }} {PARA 0 "" 0 "" {TEXT -1 75 "(b) Use the LU decompostion found in (a) \+ to find the inverse of the matrix " }{TEXT 356 1 "A" }{TEXT -1 1 "." } }{PARA 0 "" 0 "" {TEXT -1 49 "________________________________________ _________" }}{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 49 "_________________________________________________" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 2 "Q4" }}{PARA 0 "" 0 "" {TEXT -1 37 "Solve an appropriate \+ linear system A " }{TEXT 292 1 "." }{TEXT -1 106 " x = b in order to f ind the interpolating polynomial of degree 5 which matches the values \+ of the function " }{XPPEDIT 18 0 "f(x) = ln(1+x);" "6#/-%\"fG6#%\"xG-% #lnG6#,&\"\"\"F,F'F," }{TEXT -1 5 " for " }{XPPEDIT 18 0 "x[0] = 0,x[1 ] = .2,x[2] = .4,x[3] = .6,x[4] = .8,x[5] = 1.0;" "6(/&%\"xG6#\"\"!F'/ &F%6#\"\"\"-%&FloatG6$\"\"#!\"\"/&F%6#F/-F-6$\"\"%F0/&F%6#\"\"$-F-6$\" \"'F0/&F%6#F6-F-6$\"\")F0/&F%6#\"\"&-F-6$\"#5F0" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 52 "Your answer at this stage should include \+ the matrix " }{TEXT 357 1 "A" }{TEXT -1 13 ", the vector " }{TEXT 358 1 "b" }{TEXT -1 55 ", and the coefficients of the interpolating polyno mial." }}{PARA 0 "" 0 "" {TEXT -1 81 "Make a plot which shows the inte rpolation points and the graph of the polynomial." }}{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 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}} }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 260 "" 0 "" {TEXT -1 10 "Generating" }{TEXT 293 0 "" }{TEXT -1 39 " random matrices to construct questions" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "A := RandomMatrix(4,generator=-5..10):\nconvert(%,matrix);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"%\"\"*\"\"(!\"$7&! \"#\"\")F.F.7&F(!\"\"F-\"\"\"7&!\"%\"\"&F(\"\"'" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}} {MARK "4 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }