{VERSION 5 0 "IBM INTEL NT" "5.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 1 12 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 "Geneva" 1 18 0 0 0 1 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 257 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 258 "Geneva" 1 12 0 0 0 1 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 265 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 266 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 267 "Geneva" 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 268 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 269 "Geneva" 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 270 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 271 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 272 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 273 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 274 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 275 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 276 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 277 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 278 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 279 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 280 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 281 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 282 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 283 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 284 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 285 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 286 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 287 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 288 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 289 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 290 "Geneva" 1 12 0 0 0 1 1 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 291 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 292 "Geneva" 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 293 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 294 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 295 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 296 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 297 "Geneva" 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 298 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 299 "Geneva" 1 10 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 300 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 301 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 302 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 303 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 304 "" 1 12 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 305 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE " " -1 306 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 307 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 308 "Geneva" 1 12 0 0 0 1 0 0 0 0 0 0 0 0 0 1 }{PSTYLE "Normal" -1 0 1 {CSTYLE "" -1 -1 "Geneva" 1 10 0 0 0 1 2 2 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Text Output" -1 2 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 255 1 0 0 0 0 0 1 3 0 3 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "Heading 1" 0 3 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }1 0 0 0 6 6 0 0 0 0 0 0 -1 0 }{PSTYLE "Warning" 2 7 1 {CSTYLE "" -1 -1 "" 0 1 0 0 255 1 0 0 0 0 0 0 1 0 0 0 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Maple Output" 0 11 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }3 3 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 11 12 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }1 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "Title" 0 18 1 {CSTYLE "" -1 -1 "" 1 18 0 0 0 0 0 1 1 0 0 0 0 0 0 1 }3 0 0 -1 12 12 0 0 0 0 0 0 19 0 }{PSTYLE "Author" 0 19 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 }3 0 0 -1 8 8 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 0" -1 256 1 {CSTYLE "" -1 -1 "Monaco" 1 9 0 0 255 1 2 2 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 2" -1 257 1 {CSTYLE " " -1 -1 "Geneva" 1 18 0 0 0 1 2 1 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }{PSTYLE "R3 Font 3" -1 258 1 {CSTYLE "" -1 -1 "Geneva" 1 10 0 0 0 1 1 2 2 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 } {PSTYLE "" 256 259 1 {CSTYLE "" -1 -1 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }0 0 0 -1 -1 -1 0 0 0 0 0 0 -1 0 }} {SECT 0 {EXCHG {PARA 18 "" 0 "" {TEXT 256 30 "\011\011\011\011\011Some Basic Linear Algebra" }}}{EXCHG {PARA 19 "" 0 "" {TEXT 304 26 "Versio n .8 for Maple V R7." }}}{EXCHG {PARA 256 "" 0 "" {TEXT 257 107 "Load \+ the linear algebra package. Below is the list of routines. You can get \nhelp on any of them by typing ?" }{TEXT 258 14 "command_name " } {TEXT 259 33 "and then hitting the key." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "with(linalg);" }}{PARA 7 "" 1 "" {TEXT -1 80 "Warning , the protected names norm and trace have been redefined and unprotect ed\n" }}{PARA 12 "" 1 "" {XPPMATH 20 "6#7^r%.BlockDiagonalG%,GramSchmi dtG%,JordanBlockG%)LUdecompG%)QRdecompG%*WronskianG%'addcolG%'addrowG% $adjG%(adjointG%&angleG%(augmentG%(backsubG%%bandG%&basisG%'bezoutG%,b lockmatrixG%(charmatG%)charpolyG%)choleskyG%$colG%'coldimG%)colspaceG% (colspanG%*companionG%'concatG%%condG%)copyintoG%*crossprodG%%curlG%)d efiniteG%(delcolsG%(delrowsG%$detG%%diagG%(divergeG%(dotprodG%*eigenva lsG%,eigenvaluesG%-eigenvectorsG%+eigenvectsG%,entermatrixG%&equalG%,e xponentialG%'extendG%,ffgausselimG%*fibonacciG%+forwardsubG%*frobenius G%*gausselimG%*gaussjordG%(geneqnsG%*genmatrixG%%gradG%)hadamardG%(her miteG%(hessianG%(hilbertG%+htransposeG%)ihermiteG%*indexfuncG%*innerpr odG%)intbasisG%(inverseG%'ismithG%*issimilarG%'iszeroG%)jacobianG%'jor danG%'kernelG%*laplacianG%*leastsqrsG%)linsolveG%'mataddG%'matrixG%&mi norG%(minpolyG%'mulcolG%'mulrowG%)multiplyG%%normG%*normalizeG%*nullsp aceG%'orthogG%*permanentG%&pivotG%*potentialG%+randmatrixG%+randvector G%%rankG%(ratformG%$rowG%'rowdimG%)rowspaceG%(rowspanG%%rrefG%*scalarm ulG%-singularvalsG%&smithG%,stackmatrixG%*submatrixG%*subvectorG%)sumb asisG%(swapcolG%(swaprowG%*sylvesterG%)toeplitzG%&traceG%*transposeG%, vandermondeG%*vecpotentG%(vectdimG%'vectorG%*wronskianG" }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 29 "Entering Matrices and Vectors" }}{EXCHG {PARA 256 "" 0 "" {TEXT 260 22 "Enter a 2 by 3 matrix:" }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 32 "A1 := matrix(2,3,[1,2,3,4,5,6]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%#A1G-%'matrixG6#7$7%\"\"\"\"\"#\"\"$7%\"\"%\" \"&\"\"'" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 261 78 " These are viewed \+ as column vectors even though they are written horizontally." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 43 "v1 := vector([5,3,1]); v2 := vector([3,4] );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#v1G-%'vectorG6#7%\"\"&\"\"$\" \"\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#v2G-%'vectorG6#7$\"\"$\"\"% " }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 62 "Matrix Multiplication, Eval m, Transpose, Determinant, Inverses" }}{EXCHG {PARA 256 "" 0 "" {TEXT 262 101 "Enclose matrix computations within the function call evalm.\n &* is the matrix multiplication operator." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "evalm(A1 &*v1 + v2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$\"#<\"#X" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "A2 := evalm(A1 &* transpose(A1) );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%#A2G-%'matrixG6#7$7$\"#9\"#K7$F+\"#x" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 263 53 "Ordinary scalar multiplication is indicated with a \+ *." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "evalm(2*A2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$\"#G\"#k7$F)\"$a\"" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "det(A2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#a" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 264 65 "Calcula te the inverse of a matrix. \nA2^(-1) would also work here." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "A2_inv := inverse(A2);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#>%'A2_invG-%'matrixG6#7$7$#\"#x\"#a#!#;\"#F7$F-#\"\"( F/" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 66 "The Map Function - Applyi ng a function to every entry of a matrix." }}{EXCHG {PARA 256 "" 0 "" {TEXT 265 26 "Convert to floating point." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "map(evalf, A2_inv);" }}{PARA 11 "" 1 "" {XPPMATH 20 " 6#-%'matrixG6#7$7$$\"+Ef#fU\"!\"*$!+Ef#f#f!#57$F+$\"+$f#f#f#F-" }}}} {EXCHG {PARA 259 "" 0 "" {TEXT 266 84 "See the worksheet \"Entering Ma trices\" for more information on constructing matrices." }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 48 "Bases, Rank and Subspaces Associated to a Matrix" }}{EXCHG {PARA 256 "" 0 "" {TEXT 305 37 "\nCompute a basis fo r the range of A1." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "colspace(tran spose(A1));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$-%'vectorG6#7%\"\"\" \"\"!!\"\"-F%6#7%F)F(\"\"#" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 267 1 " \+ " }}{PARA 256 "" 0 "" {TEXT 268 21 "Basis for the kernel." }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 49 "nullspace(matrix(3,3,[[1,2,3],[2,4,6],[3,6,9 ]]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$-%'vectorG6#7%!\"#\"\"\"\" \"!-F%6#7%!\"$F*F)" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 269 1 " " }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "rank(A2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 270 58 "Find a basis for the subspace spanned by a set of vectors." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "basis(\{vector([1,0,1]),vector([1,0,5]),vector([ 3,0,1])\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$-%'vectorG6#7%\"\"$\" \"!\"\"\"-F%6#7%F*F)F*" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 308 25 "Redu ced row echelon form." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "rref(A1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7%\"\"\"\"\"!!\"\"7%F) F(\"\"#" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 27 "Solution of a Linear System" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "linsolve(matrix(2 ,2,[a,b,c,d]),vector([e,f]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'ve ctorG6#7$*&,&*&%\"bG\"\"\"%\"fGF+F+*&%\"eGF+%\"dGF+!\"\"F+,&*&%\"aGF+F /F+F0*&%\"cGF+F*F+F+F0*&,&*&F3F+F,F+F0*&F5F+F.F+F+F+F1F0" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 29 "Dot Product and Cross Product" }}{EXCHG {PARA 256 "" 0 "" {TEXT 306 12 "Dot product." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 29 "dotprod(v1, vector([1,4,8]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"#D" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 271 21 "Cross p roduct in R^3." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "crossprod(v1,vect or([1,0,0]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%\"\"!\" \"\"!\"$" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 30 "Rows, Columns, and \+ Submatrices" }}{EXCHG {PARA 256 "" 0 "" {TEXT 272 109 "Copy the all th e entries of A1 into the matrix B. The upper left corner of A1\ngoes i nto the (2,1) entry of B." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 35 "B:= ma trix(3,3);copyinto(A1,B,2,1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"B G-%&arrayG6%;\"\"\"\"\"$F(7\"" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'ma trixG6#7%7%&%\"?G6$\"\"\"F+&F)6$F+\"\"#&F)6$F+\"\"$7%F+F.F17%\"\"%\"\" &\"\"'" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 273 12 "Row 1 of A1." }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "row(A1,1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%\"\"\"\"\"#\"\"$" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 274 15 "Column 1 of A1." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 10 "col(A1,1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$\"\"\" \"\"%" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 275 56 "Construct a submatrix of A using rows 1..2 and column 1." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "submatrix(A1,1..2,1..1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'mat rixG6#7$7#\"\"\"7#\"\"%" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 5 "Norms " }}{EXCHG {PARA 256 "" 0 "" {TEXT 276 105 "The norm function uses abs olute value signs which is somewhat inconvenient for algebraic \nsimpl ification." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "norm(vector([x,y]),2) ;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$-%%sqrtG6#,&*$)-%$absG6#%\"xG\" \"#\"\"\"F/*$)-F+6#%\"yGF.F/F/F/" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 277 61 "So it may be better top define your own vector norm function: " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 46 "vnorm := u -> sqrt(dotprod(u,u, 'orthogonal'));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&vnormGf*6#%\"uG6 \"6$%)operatorG%&arrowGF(-%%sqrtG6#-%(dotprodG6%9$F2.%+orthogonalGF(F( F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "vnorm(vector([x,y]),2 );" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#*$-%%sqrtG6#,&*$)%\"xG\"\"#\"\" \"F,*$)%\"yGF+F,F,F," }}}{EXCHG {PARA 256 "" 0 "" {TEXT 278 37 "The de fault norm is the infinity one." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 20 " norm(vector([x,y]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%$maxG6$-%$ab sG6#%\"yG-F'6#%\"xG" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 87 "Using Ma ple's Solve Command to find the set of matrices which\ncommute with a \+ given one." }}{EXCHG {PARA 256 "" 0 "" {TEXT 279 198 "Matrix equations can be converted into sets of equations and then solved. \nFor exampl e consider the problem of finding all matrices B which commute with th e matrix A2 above (i.e. A2 B - B A2 = 0) :\n" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "B := matrix(2,2,[a,b,c,d]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7$7$%\"aG%\"bG7$%\"cG%\"dG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 47 "mat_with_unknowns := evalm( \+ A2 &* B - B &* A2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%2mat_with_unk nownsG-%'matrixG6#7$7$,&%\"cG\"#K*&F,\"\"\"%\"bGF.!\"\",(F/!#j*&F,F.% \"dGF.F.*&F,F.%\"aGF.F07$,(F6F,*&\"#jF.F+F.F.*&F,F.F4F.F0,&F/F,*&F,F.F +F.F0" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 280 316 " Now we solve for th e unknown entries a,b,c, and d.\n(This relies on the fact that Maple's solve command ordinarily wants a set of equations in its\nfirst argum ent. But if given a first argument which is a set of algebraic equatio ns,\nit interprets these as a set of equations by viewing each express ion as equal to 0.)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 57 "soln1 := sol ve(convert(mat_with_unknowns,set),\{a,b,c,d\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&soln1G<&/%\"dGF'/%\"aGF)/%\"bG,&F'#\"#K\"#j*&#F.F/\" \"\"F)F2!\"\"/%\"cGF," }}}{EXCHG {PARA 256 "" 0 "" {TEXT 281 68 "This \+ globally assigns b and a to have the values mentioned in soln1." }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "assign(soln1);" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 282 167 " Even though print(B) does not show the sub stitutes expressions, the entries of B\n (e.g. the upper left corner a ) really does have the value specified in the solution." }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 17 "B[1,1]; print(B);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"aG" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$ 7$%\"aG%\"bG7$%\"cG%\"dG" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 283 37 " F ully evaluate all the entries of B." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "print(map(eval,B));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6 #7$7$%\"aG,&%\"dG#\"#K\"#j*&#F,F-\"\"\"F(F0!\"\"7$F)F*" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 32 "Gram Schmidt, Matrix Exponential" }} {EXCHG {PARA 256 "" 0 "" {TEXT 284 129 "Convert a list of vectors into a list of orthogonal vectors. The first k vectors in\neach list (for \+ any k) span the same subspace." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "G ramSchmidt([vector([1,1,1]),vector([1,2,3]),vector([1,4,5])]);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#7%7%\"\"\"F%F%7%!\"\"\"\"!F%7%#F'\"\"$ #\"\"#F+F*" }}}{EXCHG {PARA 0 "" 0 "" {TEXT 307 18 "matrix exponential " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 44 "exponential(matrix(2,2,[0,theta ,-theta,0]));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$-%$co sG6#%&thetaG-%$sinGF*7$,$F,!\"\"F(" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 43 "Calculus of R^n and Vector Valued Functions" }}{EXCHG {PARA 256 "" 0 "" {TEXT 285 50 "The derivative of a function of several vari ables." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 55 "deriv := jacobian([exp(x) *cos(y),exp(x)*sin(y)],[x,y]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&d erivG-%'matrixG6#7$7$*&-%$expG6#%\"xG\"\"\"-%$cosG6#%\"yGF/,$*&F+F/-%$ sinGF2F/!\"\"7$F5F*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "eval _at_1_2 := a -> subs(x=1,y=2,a);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% ,eval_at_1_2Gf*6#%\"aG6\"6$%)operatorG%&arrowGF(-%%subsG6%/%\"xG\"\"\" /%\"yG\"\"#9$F(F(F(" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 286 48 " A func tion to evaluate anything at (x,y)=(1,2)." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "map(eval_at_1_2,deriv);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$*&-%$expG6#\"\"\"F,-%$cosG6#\"\"#F,,$*&F)F,-%$si nGF/F,!\"\"7$F2F(" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 287 51 " Substitu te (x,y) = (1,2) for each entry of deriv." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 25 "r := (x^2+y^2+z^2)^(1/2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"rG*$-%%sqrtG6#,(*$)%\"xG\"\"#\"\"\"F.*$)%\"yGF-F.F. *$)%\"zGF-F.F.F." }}}{EXCHG {PARA 256 "" 0 "" {TEXT 288 23 "Curl of a \+ vector field." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "curl([x/r^3,y/r^3, z/r^3],[x,y,z]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7%\"\" !F'F'" }}}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 38 "Eigenvalues, Eigenvect ors, and the SVD" }}{EXCHG {PARA 256 "" 0 "" {TEXT 289 10 "A list of \+ " }{TEXT 290 8 "symbolic" }{TEXT 291 14 " eigenvalues." }}{PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 29 "evals_of_A2 := eigenvals(A2);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%,evals_of_A2G6$,&#\"#\"*\"\"#\"\"\"*&#F*F)F*-%%s qrtG6#\"%l!)F*F*,&F'F**&#F*F)F**$F-F*F*!\"\"" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 292 1 " " }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "evals_of_A2[ 1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,&#\"#\"*\"\"#\"\"\"*&#F'F&F'-% %sqrtG6#\"%l!)F'F'" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 293 43 "Extract \+ the first eigenvalue from the list." }}{PARA 256 "" 0 "" {TEXT 294 56 "Convert the first eigenvalue to a floating point number." }}{PARA 0 " > " 0 "" {MPLTEXT 1 0 22 "evalf(evals_of_A2[1]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#$\"+_sES!*!\")" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 295 71 "Convert evals_of_A2 to a list, and change each entry to floating p oint." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "map(evalf, [evals_of_A2]); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$$\"+_sES!*!\")$\")[FtfF&" }}} {EXCHG {PARA 256 "" 0 "" {TEXT 296 107 "Just doing \n\011\011 map(eval f, evals_of_A2);\nwould result in an error.\nDirectly calculate numeri cal eigenvalues." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "evalf(Eigenvals (A2));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$$\"+:ZFtf!#5$ \"+`sES!*!\")" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 297 1 " " }}{PARA 256 "" 0 "" {TEXT 298 177 "Get the eigenvectors as well as the eigenva lues. Assign the eigenvectors of A2 to the \ncolumns of w.\n(NOTE: Use a fresh variable instead of w if you run into difficulties here.)" }} {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "evalf(Eigenvals(A2,w));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$$\")[Ftf!\")$\"+asES!*F)" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 9 "print(w);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7$7$$\"+,ylB#*!#5$\"+Iq " 0 "" {MPLTEXT 1 0 30 "evalm(inverse(w) &* A2 &* w); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7$$\"+'puK(f!#5$\"#lF*7$$\"\"!F/$\"+`sES! *!\")" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 300 39 "Check the eigenvector s and eigenvalues." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 42 "charpoly(eval m(transpose(A1)&*A1),lambda);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#,(*$) %'lambdaG\"\"$\"\"\"F(*&\"#\"*F()F&\"\"#F(!\"\"*&\"#aF(F&F(F(" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 17 "singularvals(A1);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#7$,$*$-%%sqrtG6#,&\"$#=\"\"\"*&\"\"#F+-F'6# \"%l!)F+F+F+#F+F-,$*$-F'6#,&F*F+*&F-F+F.F+!\"\"F+F1" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 301 131 "Compute the singular value decomposition of A1. (So transpose(U) A V will have nearly 0 \nentries except for thes e on the diagonal.)" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "evalf(Svd(A1 ,U,V));" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7$$\"+,?.3&*!\" *$\"+djpGx!#5" }}}{EXCHG {PARA 256 "" 0 "" {TEXT 302 39 "The orthogona l matrices computed above." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 11 "print (U,V);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6$-%'matrixG6#7$7$$!+Jq\"eF*F8" }}} {EXCHG {PARA 256 "" 0 "" {TEXT 303 21 " Check the SVD above." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 31 "evalm(transpose(U) &* A1 &* V);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7$7%$\"++?.3&*!\"*$\"\"\"F*$\"\" !F.7%$!\"&!#5$\"+]jpGxF2F0" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}}}{MARK "15 14 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }