{VERSION 4 0 "APPLE_PPC_MAC" "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 "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 35 "" 0 1 104 64 92 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 37 "" 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 256 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 257 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 258 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 259 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 264 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 265 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 266 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 267 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 268 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 269 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 270 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 272 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 273 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 274 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 275 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 276 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 277 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 278 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 283 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 284 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 285 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 286 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 287 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 288 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 289 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 290 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 291 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 292 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 293 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 294 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 295 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 296 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 297 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 298 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 299 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{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 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 0 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 "Heading 3" -1 5 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 1 1 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 "Co urier" 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 "Error" -1 8 1 {CSTYLE "" -1 -1 "Courier" 1 10 255 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 "Maple Outpu t" -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 "List Item" -1 14 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 14 5 }{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 "Fixe d Width" -1 17 1 {CSTYLE "" -1 -1 "Courier" 1 10 0 0 0 1 2 2 2 2 2 2 3 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 17 1 }{PSTYLE "Title" -1 18 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 0 1 2 1 1 2 2 2 1 1 1 1 }3 1 0 0 12 12 1 0 1 0 2 2 19 1 }{PSTYLE "Author" -1 19 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 8 8 1 0 1 0 2 2 0 1 } {PSTYLE "Normal" -1 256 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 "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 3 6 3 6 2 2 0 1 }} {SECT 0 {PARA 18 "" 0 "" {TEXT -1 17 "7. Linear Algebra" }}{PARA 19 " " 0 "" {TEXT -1 28 "Dr. Saccone, Revised 2/12/01" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 20 "Systems of Equations" }}{PARA 0 " " 0 "" {TEXT -1 4 "The " }{TEXT 256 6 "solve " }{TEXT -1 16 "command t akes a " }{TEXT 257 4 "set " }{TEXT -1 90 "of equations (not a list) a nd attempts to find a solution in terms of specified variables." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 27 "solve(\{x+y=2,x-y=3\},\{x,y\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #<$/%\"xG#\"\"&\"\"#/%\"yG#!\"\"F(" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 36 "solve(\{a*x+b*y=E,c*x+d*y=F\},\{x,y\}); " }{TEXT -1 13 "Cramer's Rule" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$/%\"xG,$*&,&*&% \"dG\"\"\"%\"EGF+!\"\"*&%\"bGF+%\"FGF+F+F+,&*&F*F+%\"aGF+F+*&F/F+%\"cG F+F-F-F-/%\"yG*&,&*&F5F+F,F+F-*&F0F+F3F+F+F+F1F-" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 51 "One can also define varia bles that contain systems." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "mySystem := \{a*x+2*y=1,x-y=2\};" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)mySystemG<$/,&*&%\"aG\"\"\"%\"xGF* F**&\"\"#F*%\"yGF*F*F*/,&F+F*F.!\"\"F-" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "solve(mySystem,\{x,y\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<$/%\"yG,$*&,&!\"\"\"\"\"*&\"\"#F*%\"aGF*F*F*,&F-F*F,F* F)F)/%\"xG,$*&F*F*F.F)\"\"&" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 37 "nextSystem := \{x-3*y+4*z=1, y+3*z=-3\};" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+nextSystemG<$/,(%\"x G\"\"\"*&\"\"$F)%\"yGF)!\"\"*&\"\"%F)%\"zGF)F)F)/,&F,F)*&F+F)F0F)F)!\" $" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 26 "solve(nextSystem,\{x,y ,z\});" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#<%/%\"zGF%/%\"xG,&!\")\"\"\" *&\"#8F*F%F*!\"\"/%\"yG,&!\"$F**&\"\"$F*F%F*F-" }}}{PARA 0 "" 0 "" {TEXT -1 23 "Note the free variable " }{XPPEDIT 18 0 "y;" "6#%\"yG" } {TEXT -1 14 " in this case." }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 36 "A Brief Look at Vectors and Matri ces" }}{PARA 0 "" 0 "" {TEXT -1 174 "Vectors and matrices are special \+ cases of arrays. Their indexing always begins at 1. In the definition \+ it is their size that is specified instead of the range of the indices ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 30 "myVector := vector(3,[5,7,9]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)myVectorG-%'vectorG6#7%\"\"&\"\"(\"\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "myVector[1];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"&" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 50 "myM atrix := matrix(3,3,[[a,b,c],[d,e,f],[g,h,i]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)myMatrixG-%'matrixG6#7%7%%\"aG%\"bG%\"cG7%%\"dG%\"eG %\"fG7%%\"gG%\"hG%\"iG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "m yMatrix[1];" }}{PARA 8 "" 1 "" {TEXT -1 57 "Error, array defined with \+ 2 indices, used with 1 indices\n" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } {TEXT -1 52 "Hence a matrix is not a the same as a list of lists." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "myMatrix[1,3];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%\"cG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 279 0 " " }{TEXT 280 31 "The two linear algebra packages" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 92 "There are two Maple packa ges we will be using to do computations with vectors and matrices: " } {TEXT 265 7 "linalg " }{TEXT -1 4 "and " }{TEXT 266 15 "LinearAlgebra. " }{TEXT 281 50 "The way each package handles matrices is different" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 73 "For example, there are two different data types for matri ces, one called " }{TEXT 267 7 "matrix " }{TEXT -1 14 "which used by \+ " }{TEXT 268 7 "linalg " }{TEXT -1 15 "and one called " }{TEXT 269 7 " Matrix " }{TEXT -1 8 "used by " }{TEXT 270 15 "LinearAlgebra. " } {TEXT -1 51 "One can check the data type of an object using the " } {TEXT 271 9 "whattype " }{TEXT -1 48 "command. There is a hierarchy of data types and " }{TEXT 272 9 "whattype " }{TEXT -1 42 "returns the t op level from this hierarchy." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 19 "whattype(myMatrix);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%'symbolG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 37 "To test for a specific data typ e use " }{TEXT 273 0 "" }{TEXT -1 12 "the command " }{TEXT 274 5 "type " }{TEXT -1 39 "along with a type you are checking for." }}{PARA 0 " " 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "type( myMatrix,matrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "type(myMatrix,Matrix);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 0 " " }{TEXT 276 24 "Vectors and Matrices in " }{TEXT -1 0 "" }{TEXT 277 4 "the " }{TEXT -1 14 "LinearAlgebra " }{TEXT 278 8 "package." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 17 "From onli ne help:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 4 "The " }{TEXT 282 13 "LinearAlgebra" }{TEXT -1 100 " package is a group of linear algebra commands that contains nearly all of the func tionality of the " }{TEXT 283 6 "linalg" }{TEXT -1 244 " package, but \+ also has well-defined data structures, additional commands for creatin g special types of Matrices, and improved Matrix algebra. Also, especi ally when calculating with large numeric Matrices, it is much more pow erful and efficient." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 7 "In the " }{TEXT 275 14 " LinearAlgebra " }{TEXT -1 85 "the matrices are built out of column vec tors entered with the characters \"<\" and \">\"." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "newVector := <2,4,6,8>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*newVectorG-%'RTABLEG 6$\"*+bc:\"-%'MATRIXG6#7&7#\"\"#7#\"\"%7#\"\"'7#\"\")" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 104 "The data type of a \+ vector created this way is different than that of an object created wi th the command " }{TEXT 294 8 "vector. " }{TEXT -1 31 "This creates so mething of type " }{TEXT 295 7 "Vector " }{TEXT -1 62 "(capitalized) a nd the former method creates an object of type " }{TEXT 296 6 "vector " }{TEXT -1 1 "." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "whattype (newVector);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#&%'VectorG6#%'columnG " }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "type(newVector,vector); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%&falseG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "type(newVector,Vector);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%%trueG" }}}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 134 "Matrices can also be entered this way. Use the \"|\" character to separate the columns. Notice how this method looks similar to the way " }{TEXT 264 5 "rows " }{TEXT -1 89 "are specificed using the matrix command. B e careful not to get the two methods mixed up. " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 33 "A := <<1,2,3 >|<5,6,7>|<9,10,11>>;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTAB LEG6$\"*3gw9\"-%'MATRIXG6#7%7%\"\"\"\"\"&\"\"*7%\"\"#\"\"'\"#57%\"\"$ \"\"(\"#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 12 "whattype(A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#%'MatrixG" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 15 "type(A,matrix);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6 #%&falseG" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 63 "The section below was copied directly from Maple's online help." }}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 27 "The Linear Algebra Pack ages" }}{PARA 0 "" 0 "" {TEXT -1 195 "In the study of linear algebra, \+ the computations are as important as the concepts. Maple can perform t hese computations, but you have to choose the methods and know how to \+ interpret the results. " }}{PARA 0 "" 0 "" {TEXT -1 171 "Maple offers \+ two choices for performing calculations in linear algebra: the linalg \+ package and the LinearAlgebra package. The following sections outline \+ their differences." }}{PARA 0 "" 0 "" {TEXT 37 5 "Note:" }{TEXT -1 106 " The documentation regarding these packages uses the convention \+ that matrix (lowercase \"m\") refers to an " }{HYPERLNK 17 "array" 2 " array" "" }{TEXT -1 94 "-based matrix used by routines in the linalg p ackage, and Matrix (uppercase \"M\") refers to an " }{HYPERLNK 17 "rta ble" 2 "rtable" "" }{TEXT -1 111 "-based Matrix used by routines in th e LinearAlgebra package. The convention is similar for vectors and Vec tors." }}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 24 "About the linalg Package " }}{PARA 0 "" 0 "" {TEXT -1 209 "The linalg package is a set of proce dures which represent over 100 commands that enable you to perform num erous types of calculations in linear algebra. This package is charact erized by the following features." }}{PARA 5 "" 0 "" {TEXT -1 31 "Arra ys as Basic Data Structures" }}{PARA 0 "" 0 "" {TEXT -1 114 "The funda mental data structure used by the routines in this package is the arra y. Arrays are created by using the " }{TEXT 35 9 "array(..)" }{TEXT -1 111 " command. There are commands to create both vectors and matric es; however, these are just special cases of the " }{TEXT 35 9 "array( ..)" }{TEXT -1 157 " command. There are no predefined commands in this package for special types of matrices (such as identity and zero); th ey must also be defined by using the " }{TEXT 35 9 "array(..)" }{TEXT -1 9 " command." }}{PARA 5 "" 0 "" {TEXT -1 20 "Last Name Evaluation" }}{PARA 0 "" 0 "" {TEXT -1 340 "Expressions containing arrays are eval uated by using \"last name evaluation\" -- if an array is assigned to \+ a variable name and that name is entered on another command line, the \+ result displayed is not the array itself, but the variable name to whi ch it is assigned. To display an array that has been assigned to a var iable, you must use the " }{TEXT 35 8 "eval(..)" }{TEXT -1 8 " or the \+ " }{TEXT 35 9 "print(..)" }{TEXT -1 10 " commmand." }}{PARA 5 "" 0 "" {TEXT -1 45 "Special Evaluation Command for Matrix Algebra" }}{PARA 0 "" 0 "" {TEXT -1 165 "The linalg package includes many commands to per form matrix algebra. However, when using shortcut notation for perform ing matrix algebra, matrix expressions such as " }{TEXT 35 3 "A+B" } {TEXT -1 54 " remain unevaluated unless used as a parameter to the " } {TEXT 35 9 "evalm(..)" }{TEXT -1 76 " commmand. In particular, shortha nd matrix multiplication requires both the " }{TEXT 35 9 "evalm(..)" } {TEXT -1 57 " command and the special matrix multiplication operator, \+ " }{TEXT 35 2 "&*" }{TEXT -1 2 ". " }}{PARA 5 "" 0 "" {TEXT -1 23 "Abs tract Linear Algebra" }}{PARA 0 "" 0 "" {TEXT -1 106 "Performing compu tations in abstract linear algebra is possible through the use of iner t operators and the " }{TEXT 35 9 "evalm(..)" }{TEXT -1 9 " command." }}{PARA 5 "" 0 "" {TEXT -1 69 "Limited Ability to Compute using Large \+ Matrices with Numeric Elements" }}{PARA 0 "" 0 "" {TEXT -1 246 "For co mputational linear algebra, the linalg package permits both numeric an d symbolic entries in a matrix. However, the ability to perform comput ations on very large matrices with numeric entries, by using commands \+ from this package, is limited." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 31 "About the LinearAlgebra Package" }}{PARA 0 "" 0 "" {TEXT -1 367 "T he LinearAlgebra package is a group of linear algebra commands that co ntains nearly all of the functionality of the linalg package, but also has well-defined data structures, additional commands for creating sp ecial types of Matrices, and improved Matrix algebra. Also, especially when calculating with large numeric Matrices, it is much more powerfu l and efficient." }}{PARA 5 "" 0 "" {TEXT -1 45 "Vectors and Matrices \+ as Basic Data Structures" }}{PARA 0 "" 0 "" {TEXT -1 134 "The fundamen tal data structures used by routines in the LinearAlgebra package are \+ Vectors and Matrices. They are created by using the " }{TEXT 35 10 "Ve ctor(..)" }{TEXT -1 5 " and " }{TEXT 35 10 "Matrix(..)" }{TEXT -1 51 " commands, respectively, or by using the available " }{HYPERLNK 17 "sh ortcut notation" 2 "MVshortcut" "" }{TEXT -1 2 " (" }{TEXT 35 7 "" }{TEXT -1 46 "). Their implementation is based upon Maple's " } {HYPERLNK 17 "rtable data structure" 2 "rtables" "" }{TEXT -1 146 ". A s a result, lists, table-based and rtable-based arrays, linalg matrice s, and linalg vectors are not interchangeable with Vectors and Matrice s. " }}{PARA 5 "" 0 "" {TEXT -1 44 "Commands for Special Matrix and Ve ctor Types" }}{PARA 0 "" 0 "" {TEXT -1 133 "Included in the LinearAlge bra package are commands to construct special Matrices and Vectors (su ch as zero, identity, and constant). " }}{PARA 5 "" 0 "" {TEXT -1 35 " Direct Evaluation in Matrix Algebra" }}{PARA 0 "" 0 "" {TEXT -1 60 "Th e LinearAlgebra package includes many commands to perform " } {HYPERLNK 17 "Matrix algebra" 2 "rtable_algebra" "" }{TEXT -1 50 ". In addition, Matrix algebra expressions such as " }{TEXT 35 3 "A+B" } {TEXT -1 2 ", " }{TEXT 35 3 "A.B" }{TEXT -1 6 ", and " }{TEXT 35 3 "A- A" }{TEXT -1 101 " are evaluated directly. This significantly reduces \+ the need to learn additional commands and syntax." }}{PARA 5 "" 0 "" {TEXT -1 44 "Module Implementation for Control over Names" }}{PARA 0 " " 0 "" {TEXT -1 60 "Since the set of LinearAlgebra routines is impleme nted as a " }{HYPERLNK 17 "module" 2 "module" "" }{TEXT -1 115 ", an e nvironment is created where the short form of the names of these comma nds can be made available by using the " }{TEXT 35 8 "with(..)" } {TEXT -1 9 " command." }}{PARA 5 "" 0 "" {TEXT -1 50 "Efficient Comput ations with Large Numeric Matrices" }}{PARA 0 "" 0 "" {TEXT -1 446 "Ma ple's alliance with the Numerical Algorithms Group (NAG) has resulted \+ in the incorporation of additional numerical algorithms in Maple, for \+ use by the LinearAlgebra package. Additionally, the LinearAlgebra comm and calling sequences can be used in a standard format or by including options that specify certain Matrix properties. Including these optio ns in the calling sequence aids Maple's algorithm selection for comput ation. As a result, the " }{HYPERLNK 17 "efficiency of computations on large Matrices with numeric entries" 2 "LinearAlgebra,General,EffNumL A" "" }{TEXT -1 21 " is greatly improved." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 57 "Choosing Between the linalg and the LinearAlgebra Package " }}{PARA 0 "" 0 "" {TEXT -1 110 "To determine which implementation of Maple's linear algebra commands to use, consider the following synops is. " }}{PARA 15 "" 0 "" {TEXT -1 79 "The linalg package is useful for doing computations in abstract linear algebra." }}{PARA 15 "" 0 "" {TEXT -1 58 "Compared to the linalg package, the LinearAlgebra package " }}{PARA 14 "" 0 "" {TEXT -1 60 " * includes several special Mat rix constructor commands," }}{PARA 14 "" 0 "" {TEXT -1 64 " * is m ore user-friendly in Matrix algebra calculations, and" }}{PARA 14 "" 0 "" {TEXT -1 128 " * is more powerful and efficient in doing line ar algebra calculations, especially when working with large numeric Ma trices." }}}{SECT 0 {PARA 4 "" 0 "" {TEXT -1 43 "Converting Between li nalg and LinearAlgebra" }}{PARA 0 "" 0 "" {TEXT -1 278 "The linalg pac kage uses matrix and vector types (table-based array data structures). The LinearAlgebra package uses Matrix and Vector types (rtable-based \+ data structures). To convert between the two implementations of vector and matrix objects, use one of the following methods." }}{PARA 5 "" 0 "" {TEXT -1 32 "Conversion from Matrix to matrix" }}{PARA 0 "" 0 "" {TEXT -1 72 "A LinearAlgebra Matrix can be converted to a linalg matri x by using the " }{HYPERLNK 17 "convert(.., matrix)" 2 "convert,matrix " "" }{TEXT -1 93 " command. Similarly, a LinearAlgebra Vector can be \+ converted to a linalg vector by using the " }{HYPERLNK 17 "convert(.., vector)" 2 "convert,vector" "" }{TEXT -1 9 " command." }}{PARA 5 "" 0 "" {TEXT -1 33 "Conversion from matrix to Matrix " }}{PARA 0 "" 0 " " {TEXT -1 72 "A linalg matrix can be converted to a LinearAlgebra Mat rix by using the " }{HYPERLNK 17 "convert(.., Matrix)" 2 "convert,Matr ix" "" }{TEXT -1 93 " command. Similarly, a linalg vector can be conve rted to a LinearAlgebra Vector by using the " }{HYPERLNK 17 "convert(. ., Vector)" 2 "convert,Vector" "" }{TEXT -1 9 " command." }}{PARA 0 " " 0 "" {TEXT -1 19 "Alternatively, the " }{TEXT 35 10 "Matrix(..)" } {TEXT -1 282 " command is used to construct a Matrix-type object that \+ is used by the routines in the LinearAlgebra package. This command can accept a linalg matrix as a parameter, and it is by this method that \+ an object of type matrix can be converted to an object of type Matrix. Similarly, the " }{TEXT 35 10 "Vector(..)" }{TEXT -1 85 " command can be used to convert an object of type vector to an object of type Vect or." }}}{SECT 0 {PARA 4 "" 0 "seealso" {TEXT -1 10 "See Also: " }} {PARA 14 "" 0 "" {HYPERLNK 17 "Introduction to the LinearAlgebra Packa ge" 2 "LinearAlgebra" "" }{TEXT -1 21 " (?LinearAlgebra)" }}{PARA 14 "" 0 "" {HYPERLNK 17 "Introduction to the linalg Package" 2 "linalg " "" }{TEXT -1 14 " (?linalg)" }}{PARA 5 "" 0 "" {TEXT -1 15 "Refe rence Pages" }}{PARA 14 "" 0 "" {HYPERLNK 17 "Matrix" 2 "Matrix" "" }} {PARA 14 "" 0 "" {HYPERLNK 17 "Vector" 2 "Vector" "" }}{PARA 14 "" 0 " " {HYPERLNK 17 "array" 2 "array" "" }}{PARA 14 "" 0 "" {HYPERLNK 17 "m atrix" 2 "matrix" "" }}{PARA 14 "" 0 "" {HYPERLNK 17 "module" 2 "modul e" "" }}{PARA 14 "" 0 "" {HYPERLNK 17 "rtable" 2 "rtable" "" }}{PARA 14 "" 0 "" {HYPERLNK 17 "table" 2 "table" "" }}{PARA 14 "" 0 "" {HYPERLNK 17 "vector" 2 "vector" "" }}}}{SECT 1 {PARA 3 "" 0 "" {TEXT -1 8 "List of " }{TEXT 259 13 "LinearAlgebra" }{TEXT -1 10 " Functions " }}{PARA 17 "" 0 "" {HYPERLNK 17 "Add" 2 "LinearAlgebra[Add]" "" } {TEXT -1 18 " " }{HYPERLNK 17 "Adjoint" 2 "LinearAlge bra[Adjoint]" "" }{TEXT -1 14 " " }{HYPERLNK 17 "Backward Substitute" 2 "LinearAlgebra[BackwardSubstitute]" "" }{TEXT -1 8 " \+ \n" }{HYPERLNK 17 "BandMatrix" 2 "LinearAlgebra[BandMatrix]" "" } {TEXT -1 11 " " }{HYPERLNK 17 "Basis" 2 "LinearAlgebra[Basis ]" "" }{TEXT -1 16 " " }{HYPERLNK 17 "BezoutMatrix" 2 " LinearAlgebra[BezoutMatrix]" "" }{TEXT -1 14 " \n" } {HYPERLNK 17 "BidiagonalForm" 2 "LinearAlgebra[BidiagonalForm]" "" } {TEXT -1 7 " " }{HYPERLNK 17 "CharacteristicMatrix" 2 "LinearAlg ebra[CharacteristicMatrix]" "" }{TEXT -1 1 " " }{HYPERLNK 17 "Characte risticPolynomial" 2 "LinearAlgebra[CharacteristicPolynomial]" "" } {TEXT -1 2 " \n" }{HYPERLNK 17 "CompanionMatrix" 2 "LinearAlgebra[Comp anionMatrix]" "" }{TEXT -1 6 " " }{HYPERLNK 17 "ConditionNumber" 2 "LinearAlgebra[ConditionNumber]" "" }{TEXT -1 6 " " }{HYPERLNK 17 "ConstantMatrix" 2 "LinearAlgebra[ConstantMatrix]" "" }{TEXT -1 12 " \n" }{HYPERLNK 17 "CreatePermutation" 2 "LinearAlgebra[Cre atePermutation]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "CrossProduct" 2 "LinearAlgebra[CrossProduct]" "" }{TEXT -1 9 " " }{HYPERLNK 17 "DeleteRow" 2 "LinearAlgebra[DeleteRow]" "" }{TEXT -1 17 " \+ \n" }{HYPERLNK 17 "Determinant" 2 "LinearAlgebra[Determinant]" "" }{TEXT -1 10 " " }{HYPERLNK 17 "DiagonalMatrix" 2 "LinearA lgebra[DiagonalMatrix]" "" }{TEXT -1 7 " " }{HYPERLNK 17 "Dimens ion" 2 "LinearAlgebra[Dimension]" "" }{TEXT -1 17 " \n " }{HYPERLNK 17 "DotProduct" 2 "LinearAlgebra[DotProduct]" "" }{TEXT -1 11 " " }{HYPERLNK 17 "Eigenvalues" 2 "LinearAlgebra[Eigen values]" "" }{TEXT -1 10 " " }{HYPERLNK 17 "Eigenvectors" 2 " LinearAlgebra[Eigenvectors]" "" }{TEXT -1 14 " \n" } {HYPERLNK 17 "Equal" 2 "LinearAlgebra[Equal]" "" }{TEXT -1 16 " \+ " }{HYPERLNK 17 "FrobeniusForm" 2 "LinearAlgebra[FrobeniusFor m]" "" }{TEXT -1 8 " " }{HYPERLNK 17 "GenerateEquations" 2 "Lin earAlgebra[GenerateEquations]" "" }{TEXT -1 9 " \n" }{HYPERLNK 17 "GenerateMatrix" 2 "LinearAlgebra[GenerateMatrix]" "" }{TEXT -1 7 " " }{HYPERLNK 17 "GivensRotationMatrix" 2 "LinearAlgebra[GivensR otationMatrix]" "" }{TEXT -1 1 " " }{HYPERLNK 17 "GramSchmidt" 2 "Line arAlgebra[GramSchmidt]" "" }{TEXT -1 15 " \n" }{HYPERLNK 17 "HankelMatrix" 2 "LinearAlgebra[HankelMatrix]" "" }{TEXT -1 9 " \+ " }{HYPERLNK 17 "HermiteForm" 2 "LinearAlgebra[HermiteForm]" "" } {TEXT -1 10 " " }{HYPERLNK 17 "HessenbergForm" 2 "LinearAlgeb ra[HessenbergForm]" "" }{TEXT -1 12 " \n" }{HYPERLNK 17 "Hil bertMatrix" 2 "LinearAlgebra[HilbertMatrix]" "" }{TEXT -1 8 " \+ " }{HYPERLNK 17 "HouseholderMatrix" 2 "LinearAlgebra[HouseholderMatrix ]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "IdentityMatrix" 2 "LinearAlgeb ra[IdentityMatrix]" "" }{TEXT -1 12 " \n" }{HYPERLNK 17 "IsD efinite" 2 "LinearAlgebra[IsDefinite]" "" }{TEXT -1 11 " " } {HYPERLNK 17 "IsOrthogonal" 2 "LinearAlgebra[IsOrthogonal]" "" }{TEXT -1 9 " " }{HYPERLNK 17 "IsSimilar" 2 "LinearAlgebra[IsSimilar] " "" }{TEXT -1 17 " \n" }{HYPERLNK 17 "JordanBlockMatri x" 2 "LinearAlgebra[JordanBlockMatrix]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "JordanForm" 2 "LinearAlgebra[JordanForm]" "" }{TEXT -1 11 " " }{HYPERLNK 17 "LeastSquares" 2 "LinearAlgebra[LeastSq uares]" "" }{TEXT -1 14 " \n" }{HYPERLNK 17 "LinearSolve" 2 "LinearAlgebra[LinearSolve]" "" }{TEXT -1 10 " " } {HYPERLNK 17 "LUDecomposition" 2 "LinearAlgebra[LUDecomposition]" "" } {TEXT -1 6 " " }{HYPERLNK 17 "Map" 2 "LinearAlgebra[Map]" "" } {TEXT -1 23 " \n" }{HYPERLNK 17 "MatrixAdd" 2 "Li nearAlgebra[MatrixAdd]" "" }{TEXT -1 12 " " }{HYPERLNK 17 " MatrixInverse" 2 "LinearAlgebra[MatrixInverse]" "" }{TEXT -1 8 " \+ " }{HYPERLNK 17 "MatrixMatrixMultiply" 2 "LinearAlgebra[MatrixMatrix Multiply]" "" }{TEXT -1 6 " \n" }{HYPERLNK 17 "MatrixVectorMultipl y" 2 "LinearAlgebra[MatrixVectorMultiply]" "" }{TEXT -1 1 " " } {HYPERLNK 17 "MinimalPolynomial" 2 "LinearAlgebra[MinimalPolynomial]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "Minor" 2 "LinearAlgebra[Minor]" " " }{TEXT -1 21 " \n" }{HYPERLNK 17 "Multiply" 2 "Li nearAlgebra[Multiply]" "" }{TEXT -1 13 " " }{HYPERLNK 17 " Norm" 2 "LinearAlgebra[Norm]" "" }{TEXT -1 17 " " } {HYPERLNK 17 "Normalize" 2 "LinearAlgebra[Normalize]" "" }{TEXT -1 17 " \n" }{HYPERLNK 17 "NullSpace" 2 "LinearAlgebra[NullSp ace]" "" }{TEXT -1 12 " " }{HYPERLNK 17 "OuterProductMatrix " 2 "LinearAlgebra[OuterProductMatrix]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "Permanent" 2 "LinearAlgebra[Permanent]" "" }{TEXT -1 17 " \n" }{HYPERLNK 17 "Pivot" 2 "LinearAlgebra[Pivot]" " " }{TEXT -1 16 " " }{HYPERLNK 17 "QRDecomposition" 2 "L inearAlgebra[QRDecomposition]" "" }{TEXT -1 6 " " }{HYPERLNK 17 " RandomMatrix" 2 "LinearAlgebra[RandomMatrix]" "" }{TEXT -1 14 " \+ \n" }{HYPERLNK 17 "Rank" 2 "LinearAlgebra[Rank]" "" }{TEXT -1 17 " " }{HYPERLNK 17 "Row" 2 "LinearAlgebra[Row]" "" } {TEXT -1 18 " " }{HYPERLNK 17 "RowOperation" 2 "Linea rAlgebra[RowOperation]" "" }{TEXT -1 14 " \n" }{HYPERLNK 17 "RowSpace" 2 "LinearAlgebra[RowSpace]" "" }{TEXT -1 13 " \+ " }{HYPERLNK 17 "ScalarMatrix" 2 "LinearAlgebra[ScalarMatrix]" "" } {TEXT -1 9 " " }{HYPERLNK 17 "ScalarMultiply" 2 "LinearAlgebra [ScalarMultiply]" "" }{TEXT -1 12 " \n" }{HYPERLNK 17 "Schur Form" 2 "LinearAlgebra[SchurForm]" "" }{TEXT -1 12 " " } {HYPERLNK 17 "SingularValues" 2 "LinearAlgebra[SingularValues]" "" } {TEXT -1 7 " " }{HYPERLNK 17 "SmithForm" 2 "LinearAlgebra[SmithF orm]" "" }{TEXT -1 17 " \n" }{HYPERLNK 17 "SubMatrix" 2 "LinearAlgebra[SubMatrix]" "" }{TEXT -1 12 " " } {HYPERLNK 17 "SylvesterMatrix" 2 "LinearAlgebra[SylvesterMatrix]" "" } {TEXT -1 6 " " }{HYPERLNK 17 "ToeplitzMatrix" 2 "LinearAlgebra[To eplitzMatrix]" "" }{TEXT -1 12 " \n" }{HYPERLNK 17 "Trace" 2 "LinearAlgebra[Trace]" "" }{TEXT -1 16 " " } {HYPERLNK 17 "Transpose" 2 "LinearAlgebra[Transpose]" "" }{TEXT -1 12 " " }{HYPERLNK 17 "TridiagonalForm" 2 "LinearAlgebra[Tridia gonalForm]" "" }{TEXT -1 11 " \n" }{HYPERLNK 17 "UnitVector" 2 "LinearAlgebra[UnitVector]" "" }{TEXT -1 11 " " } {HYPERLNK 17 "VandermondeMatrix" 2 "LinearAlgebra[VandermondeMatrix]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "VectorAngle" 2 "LinearAlgebra[Vec torAngle]" "" }{TEXT -1 15 " \n" }{HYPERLNK 17 "ZeroMatri x" 2 "LinearAlgebra[ZeroMatrix]" "" }{TEXT -1 11 " " } {HYPERLNK 17 "Zip" 2 "LinearAlgebra[Zip]" "" }{TEXT -1 44 " \+ " }}}{SECT 0 {PARA 3 "" 0 "info" {TEXT -1 8 "List of " }{TEXT 260 6 "linalg" }{TEXT -1 10 " Functions" }}{PARA 17 "" 0 "" {HYPERLNK 17 "addcol" 2 "linalg[addrow]" "" }{TEXT -1 7 " " }{HYPERLNK 17 "addrow" 2 "linalg[addrow]" "" }{TEXT -1 6 " " }{HYPERLNK 17 "adjoint" 2 "linalg[adjoint]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "angle" 2 "linalg[angle]" "" }{TEXT -1 8 " \+ " }{HYPERLNK 17 "augment" 2 "linalg[augment]" "" }{TEXT -1 6 " \n " }{HYPERLNK 17 "backsub" 2 "linalg[backsub]" "" }{TEXT -1 6 " " }{HYPERLNK 17 "band" 2 "linalg[band]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "basis" 2 "linalg[basis]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "bezout" 2 "linalg[bezout]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "blockmatrix" 2 "linalg[blockmatrix]" "" }{TEXT -1 2 " \n " }{HYPERLNK 17 "charmat" 2 "linalg[charmat]" "" }{TEXT -1 6 " " }{HYPERLNK 17 "charpoly" 2 "linalg[charpoly]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "cholesky" 2 "linalg[cholesky]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "col" 2 "linalg[row]" "" }{TEXT -1 10 " " } {HYPERLNK 17 "coldim" 2 "linalg[rowdim]" "" }{TEXT -1 7 " \n" } {HYPERLNK 17 "colspace" 2 "linalg[rowspace]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "colspan" 2 "linalg[rowspan]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "companion" 2 "linalg[companion]" "" }{TEXT -1 2 " " } {HYPERLNK 17 "cond" 2 "linalg[cond]" "" }{TEXT -1 9 " " } {HYPERLNK 17 "copyinto" 2 "linalg[copyinto]" "" }{TEXT -1 5 " \n" } {HYPERLNK 17 "crossprod" 2 "linalg[crossprod]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "curl" 2 "linalg[curl]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "definite" 2 "linalg[definite]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "delcols" 2 "linalg[delrows]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "delrows" 2 "linalg[delrows]" "" }{TEXT -1 6 " \n" } {HYPERLNK 17 "det" 2 "linalg[det]" "" }{TEXT -1 10 " " } {HYPERLNK 17 "diag" 2 "linalg[diag]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "diverge" 2 "linalg[diverge]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "dotprod" 2 "linalg[dotprod]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "eigenvalues" 2 "linalg[eigenvalues]" "" }{TEXT -1 2 " \n " }{HYPERLNK 17 "eigenvectors" 2 "linalg[eigenvectors]" "" }{TEXT -1 1 " " }{HYPERLNK 17 "entermatrix" 2 "linalg[entermatrix]" "" }{TEXT -1 1 " " }{HYPERLNK 17 "equal" 2 "linalg[equal]" "" }{TEXT -1 6 " \+ " }{HYPERLNK 17 "exponential" 2 "linalg[exponential]" "" }{TEXT -1 2 " " }{HYPERLNK 17 "extend" 2 "linalg[extend]" "" }{TEXT -1 7 " \+ \n" }{HYPERLNK 17 "ffgausselim" 2 "linalg[ffgausselim]" "" }{TEXT -1 2 " " }{HYPERLNK 17 "fibonacci" 2 "linalg[fibonacci]" "" }{TEXT -1 3 " " }{HYPERLNK 17 "forwardsub" 2 "linalg[forwardsub]" "" }{TEXT -1 1 " " }{HYPERLNK 17 "frobenius" 2 "linalg[frobenius]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "gausselim" 2 "linalg[gausselim]" "" }{TEXT -1 4 " \n" }{HYPERLNK 17 "gaussjord" 2 "linalg[gaussjord]" "" }{TEXT -1 4 " " }{HYPERLNK 17 "geneqns" 2 "linalg[genmatrix]" "" }{TEXT -1 5 " \+ " }{HYPERLNK 17 "genmatrix" 2 "linalg[genmatrix]" "" }{TEXT -1 2 " " }{HYPERLNK 17 "grad" 2 "linalg[grad]" "" }{TEXT -1 9 " " } {HYPERLNK 17 "GramSchmidt" 2 "linalg[GramSchmidt]" "" }{TEXT -1 2 " \n " }{HYPERLNK 17 "hadamard" 2 "linalg[hadamard]" "" }{TEXT -1 5 " \+ " }{HYPERLNK 17 "hermite" 2 "linalg[hermite]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "hessian" 2 "linalg[hessian]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "hilbert" 2 "linalg[hilbert]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "htranspose" 2 "linalg[htranspose]" "" }{TEXT -1 3 " \n " }{HYPERLNK 17 "ihermite" 2 "linalg[ihermite]" "" }{TEXT -1 5 " \+ " }{HYPERLNK 17 "indexfunc" 2 "linalg[indexfunc]" "" }{TEXT -1 3 " \+ " }{HYPERLNK 17 "innerprod" 2 "linalg[innerprod]" "" }{TEXT -1 2 " " }{HYPERLNK 17 "intbasis" 2 "linalg[intbasis]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "inverse" 2 "linalg[inverse]" "" }{TEXT -1 6 " \n" } {HYPERLNK 17 "ismith" 2 "linalg[ismith]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "issimilar" 2 "linalg[issimilar]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "iszero" 2 "linalg[iszero]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "jacobian" 2 "linalg[jacobian]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "jordan" 2 "linalg[jordan]" "" }{TEXT -1 7 " \n" } {HYPERLNK 17 "JordanBlock" 2 "linalg[JordanBlock]" "" }{TEXT -1 2 " \+ " }{HYPERLNK 17 "kernel" 2 "linalg[kernel]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "laplacian" 2 "linalg[laplacian]" "" }{TEXT -1 2 " " } {HYPERLNK 17 "leastsqrs" 2 "linalg[leastsqrs]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "linsolve" 2 "linalg[linsolve]" "" }{TEXT -1 5 " \n" } {HYPERLNK 17 "LUdecomp" 2 "linalg[LUdecomp]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "matadd" 2 "linalg[matadd]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "matrix" 2 "linalg[matrix]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "minor" 2 "linalg[minor]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "minpoly" 2 "linalg[minpoly]" "" }{TEXT -1 6 " \n" } {HYPERLNK 17 "mulcol" 2 "linalg[mulcol]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "multiply" 2 "linalg[multiply]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "norm" 2 "linalg[norm]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "normalize" 2 "linalg[normalize]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "orthog" 2 "linalg[orthog]" "" }{TEXT -1 7 " \n" } {HYPERLNK 17 "permanent" 2 "linalg[permanent]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "pivot" 2 "linalg[pivot]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "potential" 2 "linalg[potential]" "" }{TEXT -1 2 " " } {HYPERLNK 17 "QRdecomp" 2 "linalg[QRdecomp]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "randmatrix" 2 "linalg[randmatrix]" "" }{TEXT -1 3 " \n " }{HYPERLNK 17 "randvector" 2 "linalg[randvector]" "" }{TEXT -1 3 " \+ " }{HYPERLNK 17 "rank" 2 "linalg[rank]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "references" 2 "linalg[references]" "" }{TEXT -1 1 " " } {HYPERLNK 17 "row" 2 "linalg[row]" "" }{TEXT -1 10 " " } {HYPERLNK 17 "rowdim" 2 "linalg[rowdim]" "" }{TEXT -1 7 " \n" } {HYPERLNK 17 "rowspace" 2 "linalg[rowspace]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "rowspan" 2 "linalg[rowspan]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "scalarmul" 2 "linalg[scalarmul]" "" }{TEXT -1 2 " " } {HYPERLNK 17 "singularvals" 2 "linalg[singval]" "" }{TEXT -1 1 " " } {HYPERLNK 17 "smith" 2 "linalg[smith]" "" }{TEXT -1 8 " \n" } {HYPERLNK 17 "stackmatrix" 2 "linalg[stackmatrix]" "" }{TEXT -1 2 " \+ " }{HYPERLNK 17 "submatrix" 2 "linalg[submatrix]" "" }{TEXT -1 3 " \+ " }{HYPERLNK 17 "subvector" 2 "linalg[subvector]" "" }{TEXT -1 2 " " }{HYPERLNK 17 "sumbasis" 2 "linalg[sumbasis]" "" }{TEXT -1 5 " " } {HYPERLNK 17 "swapcol" 2 "linalg[swaprow]" "" }{TEXT -1 6 " \n" } {HYPERLNK 17 "swaprow" 2 "linalg[swaprow]" "" }{TEXT -1 6 " " } {HYPERLNK 17 "sylvester" 2 "linalg[sylvester]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "toeplitz" 2 "linalg[toeplitz]" "" }{TEXT -1 3 " " } {HYPERLNK 17 "trace" 2 "linalg[trace]" "" }{TEXT -1 8 " " } {HYPERLNK 17 "transpose" 2 "linalg[transpose]" "" }{TEXT -1 4 " \n" }{HYPERLNK 17 "vandermonde" 2 "linalg[vandermonde]" "" }{TEXT -1 2 " \+ " }{HYPERLNK 17 "vecpotent" 2 "linalg[vecpotent]" "" }{TEXT -1 3 " \+ " }{HYPERLNK 17 "vectdim" 2 "linalg[vectdim]" "" }{TEXT -1 4 " " } {HYPERLNK 17 "vector" 2 "linalg[vector]" "" }{TEXT -1 7 " " } {HYPERLNK 17 "wronskian" 2 "linalg[wronskian]" "" }{TEXT -1 4 " " } }{PARA 0 "" 0 "" {TEXT -1 1 " " }}}{SECT 0 {PARA 3 "" 0 "" {TEXT -1 24 "Some Computations Using " }{TEXT 284 6 "linalg" }{TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 4 "The " }{TEXT 258 7 "matrix " }{TEXT -1 28 "command is used to create a " }{TEXT 285 5 "list " }{TEXT -1 26 "base d object of data type " }{TEXT 286 8 "matrix, " }{TEXT -1 18 "as oppos ed to the " }{TEXT 287 7 "rtable " }{TEXT -1 6 "based " }{TEXT 288 7 " Matrix " }{TEXT -1 22 "data type used in the " }{TEXT 289 14 "LinearAl gebra " }{TEXT -1 8 "package." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 60 "A := matrix(4,4,[[2,2,2,3],[ 1,1,1,1],[2,3,4,5],[1,3,5,11]]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>% \"AG-%'matrixG6#7&7&\"\"#F*F*\"\"$7&\"\"\"F-F-F-7&F*F+\"\"%\"\"&7&F-F+ F0\"#6" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "linalg[gausselim] (A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"#F(F(\"\"$ 7&\"\"!\"\"\"F(F(7&F+F+F+#!\"\"F(7&F+F+F+F+" }}}{PARA 0 "" 0 "" {TEXT -1 26 "Here we used the function " }{TEXT 261 10 "gausselim " }{TEXT -1 17 "from the package " }{TEXT 262 8 "linalg. " }{TEXT -1 187 "This \+ method of calling functions allows us to use functions from a package \+ without loading the entire package. This function uses Gaussian elimin ation to put a matrix in row echelon form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "linalg[gaussjord]( A);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7&7&\"\"\"\"\"!!\" \"F)7&F)F(\"\"#F)7&F)F)F)F(7&F)F)F)F)" }}}{PARA 0 "" 0 "" {TEXT -1 13 "This applies " }{TEXT 263 13 "Gauss-Jordan " }{TEXT -1 94 "eliminatio n to put the matrix into reduced row echelon form. Another name for th is command is " }{TEXT 299 5 "rref." }}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 57 "We will now attempt to solve a linear sy stem of the form " }{XPPEDIT 18 0 "Ax = b;" "6#/%#AxG%\"bG" }{TEXT -1 7 " where " }{XPPEDIT 18 0 "A;" "6#%\"AG" }{TEXT -1 14 " is a matrix, \+ " }{XPPEDIT 18 0 "b;" "6#%\"bG" }{TEXT -1 30 " is a known column vecto r and " }{XPPEDIT 18 0 "x;" "6#%\"xG" }{TEXT -1 54 " is a column vecto r of unknowns. We will be using the " }{TEXT 290 7 "linalg " }{TEXT -1 53 "package and therefore must work with objects of type " }{TEXT 291 7 "vector " }{TEXT -1 16 "and not of type " }{TEXT 292 7 "Vector \+ " }{TEXT -1 10 "as in the " }{TEXT 293 14 "LinearAlgebra " }{TEXT -1 8 "package." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 25 "b := vector(4,[4,1,2,9]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'vectorG6#7&\"\"%\"\"\"\"\"#\"\"*" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 22 "linalg[linsolve](A,b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7&,&\"\"&\"\"\"&%#_tG6#F)F),&F*!\"# \"\"'!\"\"F*\"\"#" }}}{PARA 0 "" 0 "" {TEXT -1 60 "This command solves the linear system and return the vector " }{XPPEDIT 18 0 "x;" "6#%\"x G" }{TEXT -1 24 " with one free variable." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 140 "To avoid typing linalg repeatedly we can load the package. Just remember that there are differences bet ween the two linear algebra packages." }}{EXCHG {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 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 38 "B:=matrix([[1,0,0,0,0],[0,1,2,-3,4]]);" }}{PARA 11 " " 1 "" {XPPMATH 20 "6#>%\"BG-%'matrixG6#7$7'\"\"\"\"\"!F+F+F+7'F+F*\" \"#!\"$\"\"%" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 18 "linsolve(B, [0,0]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7'\"\"!,(&%#_tG 6#\"\"\"!\"#*&\"\"$F,&F*6#\"\"#F,F,*&\"\"%F,&F*6#F/F,!\"\"F)F0F5" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 46 "If you wa nt to use your own paramters such as " }{XPPEDIT 18 0 "s;" "6#%\"sG" } {TEXT -1 2 ", " }{XPPEDIT 18 0 "t;" "6#%\"tG" }{TEXT -1 233 ", and so \+ on, you can supply a more options to linsolve. The third argument to l insolve is a variable that is assigned the rank of the matrix. This na me must appear in single quotes. The fourth is a list of names to use \+ as parameters." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 13 "p := [s,t, u];" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"pG7%%\"sG%\"tG%\"uG" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 24 "linsolve(B,[0,0],'r',p);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#7'\"\"!,(%\"sG!\"#*&\"\"$ \"\"\"%\"tGF-F-*&\"\"%F-%\"uGF-!\"\"F)F.F1" }}}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 2 "r;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#\"\"#" }}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT -1 5 "When " }{TEXT 297 9 "linsolve " }{TEXT -1 43 "encounters no solutions it returns not hing." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 23 "b := vector([2,4,5, 6]);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'vectorG6#7&\"\"#\"\"% \"\"&\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 14 "linsolve(A,b) ;" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 64 "We \+ can take a closer look by forming the augmented matrix using " }{TEXT 298 8 "augment " }{TEXT -1 36 "and performing Gaussian elimination." } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 21 "augA := augment(A,b);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%%augAG-%'matrixG6#7&7'\"\"#F*F*\"\"$ F*7'\"\"\"F-F-F-\"\"%7'F*F+F.\"\"&F07'F-F+F0\"#6\"\"'" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 16 "gausselim(augA);" }}{PARA 11 "" 1 " " {XPPMATH 20 "6#-%'matrixG6#7&7'\"\"#F(F(\"\"$F(7'\"\"!\"\"\"F(F(F)7' F+F+F+#!\"\"F(F)7'F+F+F+F+\"#K" }}}{EXCHG {PARA 0 "" 0 "" {TEXT -1 59 "This is another way to see that the system is inconsistent." }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}} {MARK "2 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }{RTABLE_HANDLES 115565500 114766008 }{RTABLE M6R0 I6RTABLE_SAVE/115565500X*%)anythingG6"6"\[[[[[t%"%""#""%""'"")F& } {RTABLE M6R0 I6RTABLE_SAVE/114766008X,%)anythingG6"6"][[[[[p*"$"$"""""#""$""&""'""(""*"#5"#6 F& }