{VERSION 4 0 "IBM INTEL NT" "4.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 Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 256 "Helvetica" 1 14 128 0 0 1 0 0 2 0 0 0 0 0 0 1 } {CSTYLE "" -1 257 "" 0 24 0 0 255 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 258 "Helvetica" 0 1 128 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 1 14 0 0 0 0 0 2 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 1 14 255 0 0 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 263 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 264 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 268 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 269 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 273 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 274 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 276 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 278 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 283 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 284 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 286 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 288 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 289 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 293 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 294 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 296 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 298 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 299 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 300 "" 1 14 0 0 255 1 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 301 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 303 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 305 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 306 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 307 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 308 "" 1 14 0 0 0 0 0 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 309 "Courier" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 310 "Cour ier" 0 1 0 0 0 0 0 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 "Warning" -1 7 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 2 2 2 2 2 1 1 1 3 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Map le 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 Output" -1 12 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Title" -1 256 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }1 1 0 0 12 12 1 0 1 0 2 2 19 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 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Normal" -1 258 1 {CSTYLE "" -1 -1 "Times" 1 14 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 "Normal" -1 259 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 260 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 261 1 {CSTYLE "" -1 -1 "Times" 1 16 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 262 1 {CSTYLE "" -1 -1 "Times" 1 16 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 {EXCHG {PARA 256 "" 0 "" {TEXT 257 20 "Maple linalg package" } }{PARA 0 "" 0 "" {TEXT 256 31 "Mth 351 October 27 2002 Maple 6" }} {PARA 0 "" 0 "" {TEXT 258 16 "Bent E. Petersen" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 261 36 "Assignment 3 - Due Nov 5 - see below" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 260 "" 0 "" {TEXT 260 12 "Introduction" }{TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 289 "Maple 6 comes with two p ackages for linear algebra, linalg and LinearAlgebra. In this workshee t we will only explore the linalg package. Many of the functions in th e linalg package take optional parameters, or have several forms. We w ill not investigate every, or even many, possibilities." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 224 "Note that Maple com mands are polymorphic. Their behavior depends on the number and type o f parameters that you feed to them. In some situations you may need to be careful about data types and the number of parameters passed." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 259 14 "The Assi gnment" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 57 "Assignment 3 is included near the end of this worksheet. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rest art;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "with(linalg):" }} {PARA 7 "" 1 "" {TEXT -1 80 "Warning, the protected names norm and tra ce have been redefined and unprotected\n" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 262 8 "matrix()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 196 "Matrices can be enter ed by listing their rows (lists are denoted by [ ] in Maple) or by giv ing the size and then listing the entries in the matrix row-wise. Here I enter the matrix A in both ways." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "A:=matrix([[1,2,3,4],[5,6, 7,8],[9,0,1,2],[4,4,4,4]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG- %'matrixG6#7&7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"'\"\"(\"\")7&\"\"*\"\"! F*F+7&F-F-F-F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 49 "A:=matrix (4,4,[1,2,3,4,5,6,7,8,9,0,1,2,4,4,4,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7&7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"'\"\"(\"\" )7&\"\"*\"\"!F*F+7&F-F-F-F-" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 148 "Personally I prefer the second method f or interactive entry. It is also possible to build a matrix by specify ing its columns (as vectors or lists). " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 265 35 "Multiplication of matrices, evalm()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 224 "Matrix multiplication is denot ed by &*. The ampersand serves to mark the multiplication as being no ncommutative so that Maple will not make incorrect assumptions when si mplifying expressions involving matrix multiplication." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "B:=mat rix(4,2,[3,2,-4,-5,7,6,-3,-5]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"BG-%'matrixG6#7&7$\"\"$\"\"#7$!\"%!\"&7$\"\"(\"\"'7$!\"$F." }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 5 "A&*B;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%#&*G6$%\"AG%\"BG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 100 "Note that Maple often suppresses \+ output of matrices. To force evaluation we use the evalm() function" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "evalm(A&*B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7$ \"\"%!#57$\"#;!#=7$\"#G\"#97$\"#7!\")" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 279 11 "transpose()" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "B:=m atrix(2,3,[1,2,3,4,5,6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%' matrixG6#7$7%\"\"\"\"\"#\"\"$7%\"\"%\"\"&\"\"'" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 13 "transpose(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7$\"\"\"\"\"%7$\"\"#\"\"&7$\"\"$\"\"'" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 270 33 "Matrices with unspecified entries" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 86 "We can construct matrices with unspecified entries and then specify the entries later:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "C:=matrix(3,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%&arrayG6%;\"\"\"\"\"$;F)\"\"%7\"" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "C[1,2]:=-14; C[3,4]:=12;" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"CG6$\"\"\"\"\"#!#9" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>&%\"CG6$\"\"$\"\"%\"#7" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(C);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'m atrixG6#7%7&&%\"CG6$\"\"\"F+!#9&F)6$F+\"\"$&F)6$F+\"\"%7&&F)6$\"\"#F+& F)6$F6F6&F)6$F6F/&F)6$F6F27&&F)6$F/F+&F)6$F/F6&F)6$F/F/\"#7" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 267 23 "d iag(), BlockDiagonal()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "The diag() command produces a diagonal matrix." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "diag(1,2,3,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7& 7&\"\"\"\"\"!F)F)7&F)\"\"#F)F)7&F)F)\"\"$F)7&F)F)F)\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 53 "B1:=matrix(2,2,[1,2,3,4]); B2:=matr ix(2,2,[5,6,7,8]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#B1G-%'matrixG 6#7$7$\"\"\"\"\"#7$\"\"$\"\"%" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#B2 G-%'matrixG6#7$7$\"\"&\"\"'7$\"\"(\"\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "diag(B1,B2,-7);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-% 'matrixG6#7'7'\"\"\"\"\"#\"\"!F*F*7'\"\"$\"\"%F*F*F*7'F*F*\"\"&\"\"'F* 7'F*F*\"\"(\"\")F*7'F*F*F*F*!\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 109 "BlockDiagonal() is a synonym for \+ diag(). It is likley to be used in constructions such as the last one \+ above." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 283 31 "Creating band matrices - band()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 441 "The function call band(b ,n) returns an n-by-n band matrix. If b is a list of odd length, n is \+ a positive integer, and the number of entries in b is no more than 2n -1 then a matrix in which all the elements of the ith subdiagonal are initialized to b[i], for the first half of b. The elements of the mai n diagonal of the matrix result are initialized to the middle element \+ of b. The last half of b is used to initialize the superdiagonals. " } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "band([1,3,1],6);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6# 7(7(\"\"$\"\"\"\"\"!F*F*F*7(F)F(F)F*F*F*7(F*F)F(F)F*F*7(F*F*F)F(F)F*7( F*F*F*F)F(F)7(F*F*F*F*F)F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 288 8 "extend()" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 223 "The extend function enlarges a matri x. The function call extend(B,m,n,x) adds m rows and n columns to the \+ matrix B. The new entries are initialized to x or left undefined if th e value x is not included in the function call." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "B:=matrix(2 ,3,[1,2,3,4,5,6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG 6#7$7%\"\"\"\"\"#\"\"$7%\"\"%\"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "C0:=extend(B,2,1,0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#C0G-%'matrixG6#7&7&\"\"\"\"\"#\"\"$\"\"!7&\"\"%\"\"&\"\"'F-7&F-F -F-F-F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "C:=extend(B,2,1) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'matrixG6#7&7&\"\"\"\"\"# \"\"$&F$6$F*\"\"%7&F/\"\"&\"\"'&F$6$F+F/7&&F$6$F,F*&F$6$F,F+&F$6$F,F,& F$6$F,F/7&&F$6$F/F*&F$6$F/F+&F$6$F/F,&F$6$F/F/" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 266 19 "The identity matrix " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 140 "The \+ expression &*() may be used to designate the identity matrix of unsp ecified size. The size is determined from the context. For example" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "evalm( &*() + matrix(2,2,[1,2,3,4]) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"#F(7$\"\"$\"\"&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 118 "To produce an id entity matrix of an explicit size we can use the diag() command in con junction with the seq() command." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "diag( seq(1,k=1..5) );" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7'7'\"\"\"\"\"!F)F)F)7'F)F (F)F)F)7'F)F)F(F)F)7'F)F)F)F(F)7'F)F)F)F)F(" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 76 "The function band() is \+ even more convenient for creating the identity matrix" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "band([1] ,5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7'7'\"\"\"\"\"!F)F )F)7'F)F(F)F)F)7'F)F)F(F)F)7'F)F)F)F(F)7'F)F)F)F)F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 82 "Note the identi ty matrix is implicitly assumed when scalars are added to matrices:" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "evalm( 3 + matrix(2,2,[1,2,3,4]) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"%\"\"#7$\"\"$\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 277 25 "Hilbert \+ matrix, hilbert()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 53 "The (i,j)th entry in the Hilbert matrix is 1/(i+j-1)." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "hilbert(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7& \"\"\"#F(\"\"##F(\"\"$#F(\"\"%7&F)F+F-#F(\"\"&7&F+F-F0#F(\"\"'7&F-F0F3 #F(\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 271 11 "Zero matrix" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 85 "A zero matrix of any size may be easily created by using the sequence command, seq():" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "matrix(3,5,[seq(0,k=1..3*5 )]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7'\"\"!F(F(F(F(F 'F'" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 269 35 "Multiplication by zero, scalarmul()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 213 "Unfortunately multiplication b y zero returns a scalar 0 rather than a zero matrix. There is no probl em if the result is added to another matrix of the same size, but ther e is a potential problem in other contexts." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "evalm( 0 * matrix (2,2,[1,2,3,4]) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"!" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "evalm( 2 * matrix(2,2,[1,2,3 ,4]) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"#\"\"%7 $\"\"'\"\")" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 87 "A safe, but inconvenient, way to multiply by scalars is to use the scalarmul() command:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "scalarmul( matrix(2,2,[1,2,3 ,4]), 0 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"\"!F(F '" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 263 6 "rank()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 49 "The rank() function returns the rank of a matrix." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rank(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 276 18 "determin ant, det()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 15 "B:=matrix(4,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# >%\"BG-%&arrayG6%;\"\"\"\"\"%F(7\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "det(B);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#,R**&%\"BG6 $\"\"\"F(F(&F&6$\"\"#F+F(&F&6$\"\"$F.F(&F&6$\"\"%F1F(F(**F%F(F)F(&F&6$ F.F1F(&F&6$F1F.F(!\"\"**F%F(&F&6$F.F+F(&F&6$F+F.F(F/F(F7**F%F(F9F(&F&6 $F+F1F(F5F(F(**F%F(&F&6$F1F+F(F;F(F3F(F(**F%F(FAF(F>F(F,F(F7**&F&6$F+F (F(&F&6$F(F+F(F,F(F/F(F7**FEF(FGF(F3F(F5F(F(**FEF(F9F(&F&6$F(F.F(F/F(F (**FEF(F9F(&F&6$F(F1F(F5F(F7**FEF(FAF(FKF(F3F(F7**FEF(FAF(FNF(F,F(F(** &F&6$F.F(F(FGF(F;F(F/F(F(**FSF(FGF(F>F(F5F(F7**FSF(F)F(FKF(F/F(F7**FSF (F)F(FNF(F5F(F(**FSF(FAF(FKF(F>F(F(**FSF(FAF(FNF(F;F(F7**&F&6$F1F(F(FG F(F;F(F3F(F7**FenF(FGF(F>F(F,F(F(**FenF(F)F(FKF(F3F(F(**FenF(F)F(FNF(F ,F(F7**FenF(F9F(FKF(F>F(F7**FenF(F9F(FNF(F;F(F(" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 35 "C:=matrix(3,3,[1,2,2,6,5,2,7,8,9]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'matrixG6#7%7%\"\"\"\"\"#F+7%\"\"'\" \"&F+7%\"\"(\"\")\"\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "de t(C);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!#D" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 268 8 "vector()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 205 "A vector in Maple i s an ordered n-tuple. There is no concept of rows or columns iin conne ction with a vector; We can have row or column vectors if we wish, but they are matrices and so have two subscripts." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "a:=vector([ 1,2,3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"aG-%'vectorG6#7&\"\" \"\"\"#\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "b:=mat rix(1,4,[1,2,3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'matrix G6#7#7&\"\"\"\"\"#\"\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "c:=matrix(4,1,[1,2,3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"cG-%'matrixG6#7&7#\"\"\"7#\"\"#7#\"\"$7#\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 65 "We can convert vecto rs to matrices and 1-by-n matrices to vectors" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "convert(a,m atrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7#\"\"\"7#\" \"#7#\"\"$7#\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "conver t(c,vector);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7&\"\"\"\" \"#\"\"$\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 264 22 "rowspace(), colspace()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 132 "The rowspace() function returns a b asis for the rowspace of a matrix. The basis is returned as a set of v ectors, that is, unordered." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "basis:=rowspace(A);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%&basisG<%-%'vectorG6#7&\"\"\"\"\"!F+ F+-F'6#7&F+F*F+!\"\"-F'6#7&F+F+F*\"\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 115 "The quickest way to obta ined an ordered basis is to convert to a list. However, the order may \+ not be what you want." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "convert(basis,list);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#7%-%'vectorG6#7&\"\"\"\"\"!F)F)-F%6#7&F)F(F)!\" \"-F%6#7&F)F)F(\"\"#" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 41 "The colspace() function behaves similarly" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "colspace(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%-%'vectorG6#7& \"\"\"\"\"!F)!\"\"-F%6#7&F)F(F)F(-F%6#7&F)F)F(F)" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 51 "Note both rowspace () and colspace() return vectors." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 272 52 "A ugmentation - augment(), concat() and stackmatrix()" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 236 "We can augment an m-by -n matix by an m-by-q matrix or by a vector or list. The matrices are \+ simply concatenated horizontally. The vector or list is added as a col umn. The function concat() is a synonym for augment(). Recall our matr ix A" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrix G6#7&7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"'\"\"(\"\")7&\"\"*\"\"!F(F)7&F+ F+F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "augment([1,2,3,4] ,A,[5,6,7,8]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7(\"\" \"F(\"\"#\"\"$\"\"%\"\"&7(F)F,\"\"'\"\"(\"\")F.7(F*\"\"*\"\"!F(F)F/7(F +F+F+F+F+F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "augment(A,A^ 2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7*\"\"\"\"\"#\"\" $\"\"%\"#a\"#I\"#O\"#U7*\"\"&\"\"'\"\"(\"\")\"$I\"\"#y\"#'*\"$9\"7*\" \"*\"\"!F(F)\"#EF " 0 "" {MPLTEXT 1 0 35 "stackmatrix([0,0,1,2],A,[1,2,0,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7(7&\"\"!F(\"\"\"\"\"#7&F)F*\"\"$\"\"%7& \"\"&\"\"'\"\"(\"\")7&\"\"*F(F)F*7&F-F-F-F-7&F)F*F(F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "stackmatrix(A,A^2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7*7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"' \"\"(\"\")7&\"\"*\"\"!F(F)7&F+F+F+F+7&\"#a\"#I\"#O\"#U7&\"$I\"\"#y\"#' *\"$9\"7&\"#EF@F8\"#Y7&\"#w\"#[\"#g\"#s" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 273 12 "Random stuff" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "ran dmatrix(3,5); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7'!#&) !#b!#P!#N\"#(*7'\"#]\"#z\"#c\"#\\\"#j7'\"#d!#f\"#X!\")!#$*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "randvector(8);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7*\"##*\"#V!#i\"#x\"#m\"#a!\"&\"#**" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "randmatrix(4,4,symmetric); \+ " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&!#h!#]!#=!#i7&F)!# 7\"#J\"\"\"7&F*F.!#E!#Z7&F+F/F2!#\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "randmatrix(4,4,symmetric,entries=rand(0..8)); " }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"&\"\"!\"\")\"\"#7& F)F(F)F)7&F*F)\"\"'F*7&F+F)F*\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 274 35 "Row reduction - rref(), gaussj ord()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 124 "The function rref() returns the (completely) row reduced echelon form of a matrix. Note gaussjord() is a synonym for rref()." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 27 "Recall our sample ma trix A" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrix G6#7&7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"'\"\"(\"\")7&\"\"*\"\"!F(F)7&F+ F+F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rref(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"\"\"!F)F)7&F)F(F)!\"\" 7&F)F)F(\"\"#7&F)F)F)F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 287 31 "Gauss elimination - gausselim()" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 184 "The func tion gausselim() does Gauss elimination, or row reduction, but stops w hen a triangular matrix is achieved. It does not go all the way to the fully row reduced row echelon form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "B:=matrix(3,4,[x,x,3,4,x, y,z,8,y+1,y,3,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG 6#7%7&%\"xGF*\"\"$\"\"%7&F*%\"yG%\"zG\"\")7&,&F.\"\"\"F3F3F.F+F," }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "gausselim(B);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7&%\"xGF(\"\"$\"\"%7&\"\"!!\"\",$* &,(F(\"\"\"%\"yGF-F1F-F1F(F-F),$F/F*7&F,F,,$*&,,*&%\"zGF1F(F1F-*(\"\"' F1F2F1F(F1F-*&F)F1)F2\"\"#F1F1*&F)F1F2F1F1*&F)F1)F(F>F1F1F1F(F-F-,$*&, ,F(!\"#*(F>F1F2F1F(F1F-*$F=F1F1F2F1*$FAF1F1F1F(F-!\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 286 43 "Fraction free row reduction - ffgausselim()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 96 "The function ffgausselim does Gauss elim ination, or row reduction, without introducing fractions" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "ffga usselim(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7&%\"xGF( \"\"$\"\"%7&\"\"!,$F(!\"\",(F(F)*&F)\"\"\"%\"yGF1F.F)F.,(F(F**&F*F1F2F 1F.F*F.7&F,F,,,*&%\"zGF1F(F1F.*(\"\"'F1F2F1F(F1F.*&F)F1)F2\"\"#F1F1*&F )F1F2F1F1*&F)F1)F(F=F1F1,,F(!\")*(\"\")F1F2F1F(F1F.*&F*F1F " 0 "" {MPLTEXT 1 0 45 "C1:=matrix(3,4,[13,11,3,0,7, 3,5,0,11,2,1,9]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#C1G-%'matrixG6 #7%7&\"#8\"#6\"\"$\"\"!7&\"\"(F,\"\"&F-7&F+\"\"#\"\"\"\"\"*" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "ihermite(C1);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7&\"\"\"\"#9\"#:!#F7&\"\"!\"#>\"\" )F+7&F-F-\"#?!#=" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 103 "The function call ihermite(B,U) in addition retur ns an integer matrix U such that U &* B = ihermite(B)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "C2:=ma trix(3,3,[1,11,3,5,3,5,1,1,1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%# C2G-%'matrixG6#7%7%\"\"\"\"#6\"\"$7%\"\"&F,F.7%F*F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "ihermite(C2,U);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"\"F(F(7%\"\"!\"\"#F*7%F*F*F+" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(U);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"!F(\"\"\"7%F(!\"\"\"\"&7%F)F,!#E " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "evalm( U &* C2 );" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"\"F(F(7%\"\"!\"\"# F*7%F*F*F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "C3:=matrix(3, 3,[2,2,1,2,2,2,0,0,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#C3G-%'ma trixG6#7%7%\"\"#F*\"\"\"7%F*F*F*7%\"\"!F.F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "ihermite(C3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#- %'matrixG6#7%7%\"\"#F(\"\"!7%F)F)\"\"\"7%F)F)F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 275 29 "LU decomposition - \+ LUdecomp()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 191 "The function LUdecomp() returns only the U in the LU decompo sition. To get the permutation matrix P and the lower triangular matri x L we have to specify names for them in the function call." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "B :=hilbert(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7&7 &\"\"\"#F*\"\"##F*\"\"$#F*\"\"%7&F+F-F/#F*\"\"&7&F-F/F2#F*\"\"'7&F/F2F 5#F*\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "LUdecomp(B, P= 'Ph', L='Lh', U='Uh');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6# 7&7&\"\"\"#F(\"\"##F(\"\"$#F(\"\"%7&\"\"!#F(\"#7F1#F,\"#S7&F0F0#F(\"$! =#F(\"$?\"7&F0F0F0#F(\"%+G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 32 "evalm(Ph); evalm(Lh); evalm(Uh);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#-%'matrixG6#7&7&\"\"\"\"\"!F)F)7&F)F(F)F)7&F)F)F(F)7&F)F)F)F(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"\"\"!F)F)7&#F(\" \"#F(F)F)7&#F(\"\"$F(F(F)7&#F(\"\"%#\"\"*\"#5#F/F,F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"#F(\"\"##F(\"\"$#F(\"\"%7&\"\" !#F(\"#7F1#F,\"#S7&F0F0#F(\"$!=#F(\"$?\"7&F0F0F0#F(\"%+G" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "evalm(Lh&*Uh);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"#F(\"\"##F(\"\"$#F(\"\"%7&F)F+F-# F(\"\"&7&F+F-F0#F(\"\"'7&F-F0F3#F(\"\"(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 47 "We see it checks, B = LU \+ and P is the identity." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 278 47 "Cholesky decomposition - cholesky(), definite()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 48 "Here is an example of a positive def inite matrix" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "B:=hilbert(4);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%\"BG-%'matrixG6#7&7&\"\"\"#F*\"\"##F*\"\"$#F*\"\"%7&F+F-F/#F*\"\"& 7&F-F/F2#F*\"\"'7&F/F2F5#F*\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "definite(B,positive_def);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 100 "In the Cholesky decomposition we have a \+ lower traingualr matrix C such the B = C &* transpose(C)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "C :=cholesky(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'matrixG6#7& 7&\"\"\"\"\"!F+F+7&#F*\"\"#,$*$-%%sqrtG6#\"\"$F*#F*\"\"'F+F+7&#F*F4F/, $*$-F26#\"\"&F*#F*\"#IF+7&#F*\"\"%,$F0#F4\"#?,$F:#F*FE,$*$-F26#\"\"(F* #F*\"$S\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 26 "Let's very that it works -" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "evalm( C &* transpose( C) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"#F(\"\" ##F(\"\"$#F(\"\"%7&F)F+F-#F(\"\"&7&F+F-F0#F(\"\"'7&F-F0F3#F(\"\"(" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 12 "Su re enough!" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 115 "We can produce a positive definite matrix from any nonsingular matrix by multiplying by the transpose (check this):" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 45 "B0:=matr ix(3,3,[1,2,2,3,3,3,2,2,1]); det(B0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#B0G-%'matrixG6#7%7%\"\"\"\"\"#F+7%\"\"$F-F-7%F+F+F*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "B:= evalm(transpose(B0) &* B0);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7%7%\"#9\"#:\"#87%F+\"# " 0 "" {MPLTEXT 1 0 15 "C:=cholesky(B);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%\"CG-%'matrixG6#7%7%*$-%%sqrtG6#\"#9\"\"\"\"\"!F07% ,$F*#\"#:F.,$*$-F,6#\"$#=F/#F/F.F07%,$F*#\"#8F.,$F6#F4F9,$*$-F,6#F>F/# \"\"$F>" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 308 29 "QR decomposition - QRdecomp()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 182 "The function QRdecomp() return s only the upper triangular matrix R in the factorization A = QR. \+ To get the orthogonal matrix Q we have to pass a name for it in the fu nction call." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 27 "Recall our sample matrix A" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(A);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"\"\"#\"\"$\"\"%7&\"\"&\"\"'\"\" (\"\")7&\"\"*\"\"!F(F)7&F+F+F+F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "R:=QRdecomp(A,Q='QA');" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"RG-%'matrixG6#7&7&*$-%%sqrtG6#\"$B\"\"\"\",$F*#\"#;\"#T,$F*# \"#@F3,$F*#\"#EF37&\"\"!,$*$-F,6#\"&ic\"F/#\"\"#F3,$F=#\"$/%\"%Jy,$F=# \"$E%FF7&F;F;,$*$-F,6#\"$#QF/#\"#5\"$\">,$FL#\"#?FR7&F;F;F;F;" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "evalm(QA);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&,$*$-%%sqrtG6#\"$B\"\"\"\"#F.F-,$*$- F+6#\"&ic\"F.#\"#LF4,$*$-F+6#\"$#QF.#\"#:F;,$*$-F+6#\"\"$F.#F.FB7&,$F) #\"\"&F-,$F1#\"#$)F4,$F8#FBF;,$F?#!\"\"FB7&,$F)#FB\"#T,$F1#!#O\"%Jy,$F 8#F.\"$\">\"\"!7&,$F)#\"\"%F-,$F1#\"#DFW,$F8#!\"'FZF>" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 280 29 "Linear e quations - linsolve()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 328 "To solve the linear equation Ax=b we use linsolve( A,b). If b is a vector then the solution x is returned as a vecto r, that is, an array with one index. If we express the inhomogeneous t erm b as a column, that is, an m-by-1 matrix then the solution x \+ is returned as a one column matrix, which is really inconvenient." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "A:=matrix(3,4,[1,1,2,2,3,3,4,4,5,5,6,7]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7%7&\"\"\"F*\"\"#F+7&\"\"$F-\"\"%F.7& \"\"&F0\"\"'\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "b:=vec tor([2,3,1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'vectorG6#7% \"\"#\"\"$\"\"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "soln:=l insolve(A,b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%solnG-%'vectorG6#7 &,&!\"\"\"\"\"&%#_tG6#F+F*F,#\"\"*\"\"#!\"$" }}}{EXCHG {PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 239 "Maple returns a list o f values. The underscore t sub 1 is a parameter. You assign it arbitra ry values to obtain all the solutions. If you find the expression diff icult to read you can always substitute something more agreeable, for \+ example" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "soln:=linsolve(A,b,rnk,s);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%%solnG-%'vectorG6#7&,&!\"\"\"\"\"&%\"sG6#F+F*F,#\"\"* \"\"#!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 182 "Note the parameter name has to appear as the fourth vari able, so we had to insert a third variable, rnk. It turns out that lin solve stuffs the rank of A into the third variable. Thus" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 4 "rnk; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 49 "One can pick out the indi vidual components easily" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "soln[1]; soln[2]; soln[3]; soln[4]; " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&!\"\"\"\"\"&%\"sG6#F%F$" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#&%\"sG6#\"\"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6##\"\"*\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#!\"$" }} }{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 55 "W e can also solve directly by row reduction of course -" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "M:=aug ment(A,b); R:=rref(M);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"MG-%'mat rixG6#7%7'\"\"\"F*\"\"#F+F+7'\"\"$F-\"\"%F.F-7'\"\"&F0\"\"'\"\"(F*" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"RG-%'matrixG6#7%7'\"\"\"F*\"\"!F+! \"\"7'F+F+F*F+#\"\"*\"\"#7'F+F+F+F*!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 220 "Here we can read the sol ution easily. Moreover, we get the canonical form of the solution, wit h the free variable(s) as the parameter. This is not always the form t hat Maple returns (though in the present example it is)." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 59 "x[1] :=R[1,5]-R[1,2]*s; x[2]:=s; x[3]:=R[2,5]; x[4]:=R[3,5];" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>&%\"xG6#\"\"\",&!\"\"F'%\"sGF)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"xG6#\"\"#%\"sG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&%\"xG6#\"\"$#\"\"*\"\"#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>&% \"xG6#\"\"%!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 291 36 "Least squares solution - leastsqrs()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 98 "The function call le astsqrs(A,b) returns the solutions which minimize the Euclidean norm o f Ax-b. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 53 "First here is an example that has an actual solution:" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "A:=m atrix(3,4,[1,1,2,2,3,3,4,4,5,5,6,7]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7%7&\"\"\"F*\"\"#F+7&\"\"$F-\"\"%F.7&\"\"&F0\"\"' \"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "b:=vector([2,3,1]) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'vectorG6#7%\"\"#\"\"$\" \"\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "linsolve(A,b);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7&,&!\"\"\"\"\"&%#_tG6#F)F (F*#\"\"*\"\"#!\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "least sqrs(A,b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7&,&!\"\"\" \"\"&%#_tG6#F)F(F*#\"\"*\"\"#!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 125 "Now here is an example which has \+ no actual solution. Note Maple indicates the lack of a solution by re turning the empty set." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "c:=vector([1,2,3,4]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"cG-%'vectorG6#7&\"\"\"\"\"#\"\"$\"\"%" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "linsolve(transpose(A),c);" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "leastsqrs(transpose(A),c); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%#\"\"&\"\"#!\"#\"\" \"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 281 53 "Row reduction by hand - addrow(), mulrow(), swaprow()" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 171 "It may b e hard to imagine, but possibly you may wish to do elementary row oper ations by hand. There are also analogous column operations: addcol(), \+ mulcol() and swapcol()." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "evalm(M);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7'\"\"\"F(\"\"#F)F)7'\"\"$F+\"\"%F,F+7'\" \"&F.\"\"'\"\"(F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 27 "Add -3 times row 1 to row 2" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "M1:=addrow( M,1,2,-3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M1G-%'matrixG6#7%7'\" \"\"F*\"\"#F+F+7'\"\"!F-!\"#F.!\"$7'\"\"&F1\"\"'\"\"(F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 27 "Add -5 ti mes row 1 to row 3" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "M2:=addrow(M1,1,3,-5);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M2G-%'matrixG6#7%7'\"\"\"F*\"\"#F+F+7'\"\"!F-!\"#F.! \"$7'F-F-!\"%F/!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 22 "Multiply row 2 by -1/2" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "M3:=mulrow( M2,2,-1/2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M3G-%'matrixG6#7%7' \"\"\"F*\"\"#F+F+7'\"\"!F-F*F*#\"\"$F+7'F-F-!\"%!\"$!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 135 "At this \+ point we should add -4 times row 2 to row 3, but let's suppose we \+ didn't notice and instead decided to swap row 2 and row 3" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "M4:= swaprow(M3,2,3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M4G-%'matrixG6# 7%7'\"\"\"F*\"\"#F+F+7'\"\"!F-!\"%!\"$!\"*7'F-F-F*F*#\"\"$F+" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "M5:=mulrow(M4,2,-1/4);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M5G-%'matrixG6#7%7'\"\"\"F*\"\"#F+F +7'\"\"!F-F*#\"\"$\"\"%#\"\"*F07'F-F-F*F*#F/F+" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 22 "M6:=addrow(M5,2,3,-1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M6G-%'matrixG6#7%7'\"\"\"F*\"\"#F+F+7'\"\"!F-F*#\"\" $\"\"%#\"\"*F07'F-F-F-#F*F0#!\"$F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "M7:=mulrow(M6,3,4);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#>%#M7G-%'matrixG6#7%7'\"\"\"F*\"\"#F+F+7'\"\"!F-F*#\"\"$\"\"%#\"\"*F 07'F-F-F-F*!\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "M8:=addr ow(M7,3,1,-2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M8G-%'matrixG6#7% 7'\"\"\"F*\"\"#\"\"!\"\")7'F,F,F*#\"\"$\"\"%#\"\"*F17'F,F,F,F*!\"$" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "M9:=addrow(M8,3,2,-3/4);" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#M9G-%'matrixG6#7%7'\"\"\"F*\"\"#\" \"!\"\")7'F,F,F*F,#\"\"*F+7'F,F,F,F*!\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "M10:=addrow(M9,2,1,-2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%$M10G-%'matrixG6#7%7'\"\"\"F*\"\"!F+!\"\"7'F+F+F*F+#\"\"*\"\"# 7'F+F+F+F*!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 20 "Let's check our work" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rref(M);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7'\"\"\"F(\"\"!F)!\"\"7'F)F)F(F)#\" \"*\"\"#7'F)F)F)F(!\"$" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 295 28 "More row reduction - pivot()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 371 "The function cal l pivot(A, i, j) will add multiples of the ith row to every other row \+ in the matrix, with the result that the jth column of the matrix will \+ be all zeros, except for the (i,j)th element. The function call pivot( A, i, j, r..s) acts like pivot(A, i, j) except that only rows r throug h s are set to zero in the jth column (except row i if it is in the ra nge)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "A:=matrix(3,4,[1,2,2,4,2,3,3,5,6,4,1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7%7&\"\"\"\"\"#F+\"\"%7&F+ \"\"$F.\"\"&7&\"\"'F,F*F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "pivot(A,2,3);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7&# !\"\"\"\"$\"\"!F+#\"\"#F*7&F-F*F*\"\"&7&#\"#;F*F*F+#\"\"\"F*" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "pivot(A,2,3,1..2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7&#!\"\"\"\"$\"\"!F+#\"\"#F*7& F-F*F*\"\"&7&\"\"'\"\"%\"\"\"F-" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 282 13 "GramSchmidt()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 193 "The function GramSchmidt () returns a set of orthogonal vectors with the same span as a given l ist or set of linearly independent vectors. The vectors are normalized if that option is specified." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "v1:=vector([1,2,3]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#v1G-%'vectorG6#7%\"\"\"\"\"#\"\"$" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "v2:=vector([1,2,0]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#v2G-%'vectorG6#7%\"\"\"\"\"#\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "v3:=vector([1,0,0]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#v3G-%'vectorG6#7%\"\"\"\"\"!F*" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "GramSchmidt([v1,v2,v3],norma lized);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7%-%'vectorG6#7%,$*$-%%sqrt G6#\"#9\"\"\"#F.F-,$F)#F.\"\"(,$F)#\"\"$F--F%6#7%,$*&-F+6#\"#XF.F*F.#F .\"#q,$F:#F.\"#N,$F:#!\"\"\"#U-F%6#7%,$*&-F+6#\"\"%F.-F+6#\"\"&F.#F.FQ ,$FK#FE\"#5\"\"!" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "GramSch midt(\{v1,v2,v3\},normalized);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%-% 'vectorG6#7%,$*&-%%sqrtG6#\"\"%\"\"\"-F+6#\"\"&F.#F.F1,$F)#!\"\"\"#5\" \"!-F%6#7%,$*$F/F.F2,$F<#\"\"#F1F7-F%6#7%F7F7F." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 184 "In the case that we pass a list of vectors then kth vector returned is a linear combina tion of v1,...,vk for each k. In the case of a set there is no guaran tee concerning the order." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 284 16 "adj(), a djoint()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 99 "The function adj() returns the classical adjoint. It is characteri zed by A &* adj(A) = det(A) &* I" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "A:=matrix(3,3,[1,2,3,3,2,1,2 ,1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7%7%\"\" \"\"\"#\"\"$7%F,F+F*7%F+F*F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "B:=adj(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6# 7%7%\"\"$!\"\"!\"%7%F,F,\"\")7%F+F*F," }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "evalm(A &* B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%' matrixG6#7%7%!\")\"\"!F)7%F)F(F)7%F)F)F(" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 299 9 "inverse()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 66 "This function comput es the inverse of a nonsingular square matrix." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "A:=matrix(3 ,3,[1,2,3,3,2,1,2,1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'m atrixG6#7%7%\"\"\"\"\"#\"\"$7%F,F+F*7%F+F*F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "inverse(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#- %'matrixG6#7%7%#!\"$\"\")#\"\"\"F*#F,\"\"#7%F-F-!\"\"7%F+F(F-" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "B:=matrix(3,3,[x,y,z,3,2,1,2 ,1,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7%7%%\"xG %\"yG%\"zG7%\"\"$\"\"#\"\"\"7%F/F0F/" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "inverse(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'mat rixG6#7%7%,$*&\"\"\"F*,(%\"xG\"\"$*&\"\"%F*%\"yGF*!\"\"%\"zGF1F1F-,$*& ,&F0\"\"#F2F1F*F+F1F1*&,&F0F**&F6F*F2F*F1F*F+F17%,$F)!\"%,$*&,&F,F*F2F 1F*F+F1F6,$*&,&F,F**&F-F*F2F*F1F*F+F1F17%,$F)F1,$*&,&F,F**&F6F*F0F*F1F *F+F1F1*&,&F,F6*&F-F*F0F*F1F*F+F1" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 285 7 "angle()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 59 "The angle() function returns th e angle between two vectors." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "angle([0,1,0],[0,0,1]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#,$%#PiG#\"\"\"\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 41 "angle([3,4,0,12],[1,0,2,2]); simplify(%); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'arccosG6#,$*&-%%sqrtG6#\"$p\"\" \"\"-F)6#\"\"*F,#\"\"$F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'arccosG 6##\"\"*\"#8" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT 289 13 "exponential()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 252 "The function exponential() computes the \+ exponential of a square matrix. The exponential function can only retu rn a symbolic answer if the eigenvalues of A can be found. To get a fl oating-point approximation, use at least one floating-point entry in A . " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "B:=matrix(2,2,[1,2,3,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7$7$\"\"\"\"\"#7$\"\"$F+" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "exponential(B*t);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$,&-%$expG6#,$%\"tG!\"\"#\"\"$\"\"&*& #\"\"#F1\"\"\"-F*6#,$F-\"\"%F5F5,&F6F3*&#F4F1F5F)F5F.7$,&F6F/*&#F0F1F5 F)F5F.,&F)F3*&F/F5F6F5F5" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "C:=matrix(2,2,[0,0,1,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-% 'matrixG6#7$7$\"\"!F*7$\"\"\"F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "exponential(C*t);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrix G6#7$7$\"\"\"\"\"!7$%\"tGF(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "E:=matrix(2,2,[0,-b,b,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\" EG-%'matrixG6#7$7$\"\"!,$%\"bG!\"\"7$F,F*" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 30 "exponential(E*t); simplify(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$,&-%$expG6#*(^#!\"\"\"\"\"%\"bGF/%\"tGF /#F/\"\"#*&F2F/-F*6#*(^#F/F/F0F/F1F/F/F/,&*&^#F2F/F5F/F/*&^##F.F3F/F)F /F/7$,&*&F=F/F5F/F/*&F;F/F)F/F/F(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#- %'matrixG6#7$7$-%$cosG6#*&%\"tG\"\"\"%\"bGF-,$-%$sinGF*!\"\"7$F0F(" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "F:=matrix(2,2,[a,b,0,2]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"FG-%'matrixG6#7$7$%\"aG%\"bG7$\" \"!\"\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "exponential(F*t );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$-%$expG6#*&%\"tG \"\"\"%\"aGF-,$*&*&%\"bGF-,&-F)6#,$F,\"\"#F-F(!\"\"F-F-,&!\"#F-F.F-F8F 87$\"\"!F4" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 292 42 "The characteristic polynomial - charpoly()" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "A:=m atrix(3,3,[1,2,3,1,2,3,1,2,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"AG-%'matrixG6#7%7%\"\"\"\"\"#\"\"$F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "charpoly(A,lambda);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#,&*$)%'lambdaG\"\"$\"\"\"F(*&\"\"'F()F&\"\"#F(!\"\"" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 293 34 "The mini mal polynomial - minpoly()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "minpoly(A,lambda);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&%'lambdaG!\"'*$)F$\"\"#\"\"\"F)" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 294 14 "Norms - \+ norm()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "A:=matrix(3,3,[1,2,3,2,2,-3,-1,0,4]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7%7%\"\"\"\"\"#\"\"$7%F+F+!\"$7% !\"\"\"\"!\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "norm(A,1 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#5" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 20 "norm(A,2): evalf(%);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+@/%p(f!\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "nor m(A,infinity);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 28 "norm(A,frobenius): evalf(%);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+KK?Gp!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 296 40 "Eigenvalues - eigenva ls(), eigenvalues()" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 336 "The functions eigenvals() and eigenvalues() return the eigenvalues of a matrix. It is not often when we can obtain the eigen values exactly and even if can the expressions may be excessively comp licated. We can force Maple to produce a floating point approximation \+ by making sure we have at least one floating point number in the matri x." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "A:=hilbert(3): A[1,1]:=1.0: evalm(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%$\"#5!\"\"#\"\"\"\"\"##F,\"\"$7%F+ F.#F,\"\"%7%F.F1#F,\"\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "eigenvals(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6%$\"+L.M(o#!#7$\"+f1F B7!#5$\"+F*=$39!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 297 43 "Eigenvectors - eigenvects(), eigenvectors()" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "eigenvects(A);" }}{PARA 12 "" 1 "" {XPPMATH 20 "6%7%$\"+f1FB7!#5 \"\"\"<#-%'vectorG6#7%$\"+2V[uaF&$!+dB!HG&F&$!+#em+\\'F&7%$\")4M(o#F&F '<#-F*6#7%$\"+#H$fw7F&$!+Z)ou8(F&$\"+B`r')oF&7%$\"+H*=$39!\"*F'<#-F*6# 7%$\"+p#\\/F)F&$\"+Y!R')f%F&$\"+]V)HB$F&" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 36 "Note the format of the re sponse is " }{TEXT 309 59 "[ eigenvalue, algebraic multiplicity, set \+ of eigenvectors ]" }{TEXT 310 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "B:=matrix(3,3,[1,2,3,1,2,3, 1,2,3]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7%7%\"\" \"\"\"#\"\"$F)F)" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "eigenve cts(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$7%\"\"!\"\"#<$-%'vectorG6#7 %!\"#\"\"\"F$-F(6#7%!\"$F$F,7%\"\"'F,<#-F(6#7%F,F,F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 62 " Note here that the eigenvalue 0 has algebraic multiplicity 2." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "C:=matrix(3 ,3,[0,0,0,0,0,0,1,0,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'m atrixG6#7%7%\"\"!F*F*F)7%\"\"\"F*F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "eigenvects(C);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7% \"\"!\"\"$<$-%'vectorG6#7%F$F$\"\"\"-F(6#7%F$F+F$" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 127 "Here 0 is an eige nvalue of algebraic multiplicity 3, but geometric multiplicity only 2 \+ (just count the number of eigenvectors)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 301 29 "The condition number - cond()" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "A:=matrix(3,3,[1.0,2,2, 4,2,1,0,1,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'matrixG6#7% 7%$\"#5!\"\"\"\"#F-7%\"\"%F-\"\"\"7%\"\"!F0F2" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "cond(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"++ +++6!\")" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 87 "The default norm is the infinity norm (maximum row sum) b ut we can specify other norms." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "cond(A,1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+s&G92\"!\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "cond(A,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+*fi 2C(!\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "cond(A,infinity) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+++++6!\")" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "cond(A,frobenius);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+d`+!Q)!\"*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 54 "Hilbert matrices tend to have large c ondition numbers." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 38 "H:=hilbert(4): H[1,1]:=1.0: cond(H,2);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+_QP^:!\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "H:=hilbert(6): H[1,1]:=1.0: cond(H,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+**H&\\\\\"!\"#" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "H:=hilbert(8): H[1,1]:=1.0: cond(H,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+vHrT:\"\"\"" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 39 "H:=hilbert(10): H[1,1]:=1.0: cond(H,2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+:KP[J\"\"%" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 115 " Note I forced floating \+ point calculations above to avoid meaningless accuracy in calculating \+ the condition number." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 298 15 "Other fu nctions" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 190 "There are quite a number of other functions that I have not discu ssed above. To learn about any one of them simply remove the comment c haracter (#) and execute the command in the list below." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "# ?Jor danBlock" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?Wronskian" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?backsub" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# ?basis" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 9 "# ?bezout" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "# ?blockmatrix" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?ch armat" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "# ?col" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?coldim" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?colspace" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?colspan" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?co mpanion" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?copyinto" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?crossprod" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "# ?curl" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 10 "# ?delcols" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?delrows" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?dive rge" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?dotprod" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "# ?entermatrix" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# ?equal" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 12 "# ?fibonacci" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "# ?forwardsub" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# \+ ?frobenius" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?geneqns" } }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?genmatrix" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 7 "# ?grad" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 11 "# ?hadamard" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?hermite" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?he ssian" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "# ?htranspose" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?indexfunc" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?innerprod" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 11 "# ?intbasis" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?ismith" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?issimilar" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?iszer o" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?jacobian" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?jordan" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?kernel" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?laplacian" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?matadd" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# ?minor" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?multiply" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?normalize" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 12 "# ?nullspace" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "# ?orthog" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?permanent" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?pote ntial" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?ratform" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 6 "# ?row" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 9 "# ?rowdim" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?rowspan" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "# ?singularvals" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# ?sm ith" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?submatrix" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?subvector" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?sumbasis" }}}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 12 "# ?sylvester" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "# ?toeplitz" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "# ?trace" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "# ?vanderm onde" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?vecpotent" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "# ?vectdim" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "# ?wronskian" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 300 30 "Assignment 3 - Due Nov 5 , 2020" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 99 "Try to do these problems with Maple even if you can do some of them w ith Matlab, or some other way." }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT 302 10 "Problem 1:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 47 "Compute the LU factorization of L1 &* U1 where" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "L1:=matrix(3,3,[2,0,0,1,2,0,3,2,1]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%#L1G-%'matrixG6#7%7%\"\"#\"\"!F+7%\" \"\"F*F+7%\"\"$F*F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "U1:= matrix(3,3,[2,3,1,0,3,2,0,0,1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% #U1G-%'matrixG6#7%7%\"\"#\"\"$\"\"\"7%\"\"!F+F*7%F.F.F," }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 303 9 "Problem 2 " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 21 "The m atrix B given by" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "B:=band([-1,2,-1],8);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7*7*\"\"#!\"\"\"\"!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,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*" }}}{EXCHG {PARA 0 " " 0 "" {TEXT -1 58 "is positive definite, as we see from Maple's built -in test" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "definite(B,positive_def);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 65 "Thus the eigenvalues should all be real a nd positive, yet we have" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "evalf(eigenvals(B));" }}{PARA 12 " " 1 "" {XPPMATH 20 "6*$\"\"\"\"\"!$\"\"$F%^$$\"+')))3KN!\"*$!\"\"!#5^$ $\"*eZh?\"F+$F%F%^$$\"+ajHZBF+F2^$$\"+U_QzQF+F2^$$\"+X66zYF.$\"+330K^$$\"+YOq_;F+$!+330K" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 106 "Some of these numbers are complex! What' s happening here? Find the Cholesky decomposition of B. Verify it." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 304 9 "Problem 3" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 21 "The matrix A given by" }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 39 "A:=m atrix(3,3,[x-y,y,z,0,1,z^2,0,0,z]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #>%\"AG-%'matrixG6#7%7%,&%\"xG\"\"\"%\"yG!\"\"F-%\"zG7%\"\"!F,*$)F/\" \"#F,7%F1F1F/" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 52 "appears to have \+ the identity as its row reduced form" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "rref(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%7%\"\"\"\"\"!F)7%F)F(F)7%F)F)F(" }}} {EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 73 "bu t if we set x equal to y first we get a different result (try it). Why ?" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 305 9 "Problem 4" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 222 "Find the cubic polynomia l p(t) = x* t^3 + x2*t^2 + x3*t + x4 which passes through the points (1,2), (3,4), (5,1) and (7,-1) by setting up, and solving, a system o f linear equations for the coefficients x1, x2, x3 and x4." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 306 8 "Problem5" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 270 "Set Digits equal to 4 and compute the in verse of hilbert(6) exactly and as floating point. Comment on what you observe. Compute the condition number of hilbert(6). What is the conn ection with your observation. (Don't forget to set Digits back to 10 w hen your are done.)." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 307 9 "Problem 6" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 38 "Consider \+ the 4-by-4 Vandermonde matrix" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "V:=vandermonde([w,x,y,z]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"VG-%'matrixG6#7&7&\"\"\"%\"wG*$) F+\"\"#F**$)F+\"\"$F*7&F*%\"xG*$)F3F.F**$)F3F1F*7&F*%\"yG*$)F9F.F**$)F 9F1F*7&F*%\"zG*$)F?F.F**$)F?F1F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 222 "Without computing det(V) explain \+ why the determinant of V is zero if any two of the variable w, x, y, z are equal. Conversely, by computing factor(det(V)) deduce if det (V) = 0 then some two of the variables are equal." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}{MARK "315 1" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }