{VERSION 6 0 "IBM INTEL NT" "6.0" } {USTYLETAB {CSTYLE "Maple Input" -1 0 "Courier" 0 1 255 0 0 1 0 1 0 0 1 0 0 0 0 1 }{CSTYLE "2D Math" -1 2 "Times" 0 1 0 0 0 0 0 0 2 0 0 0 0 0 0 1 }{CSTYLE "Hyperlink" -1 17 "" 0 1 0 128 128 1 2 0 1 0 0 0 0 0 0 1 }{CSTYLE "2D Comment" 2 18 "" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "2D Output" 2 20 "" 0 1 0 0 255 1 0 0 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 23 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE " Blue Emphasis" -1 256 "Times" 0 0 0 0 255 1 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "Green Emphasis" -1 257 "Times" 1 12 0 128 0 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Maroon Emphasis" -1 258 "Times" 1 12 128 0 128 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 259 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 260 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 261 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 262 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 263 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "" -1 264 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 } {CSTYLE "" -1 265 "Courier" 1 10 0 0 0 0 0 0 0 0 0 0 3 0 0 1 }{CSTYLE "Purple Emphasis" -1 266 "Times" 1 12 102 0 230 1 0 1 0 0 0 0 0 0 0 1 }{CSTYLE "Dark Red Emphasis" -1 267 "Times" 1 12 128 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "Red Emphasis" -1 268 "Times" 1 12 255 0 0 1 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" 267 269 "" 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 } {CSTYLE "" -1 270 "" 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 271 "" 0 1 0 0 0 0 0 1 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 "System" 0 1 0 0 0 0 0 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 "System" 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 279 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 280 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 281 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 282 "" 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 } {CSTYLE "" -1 300 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 301 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 302 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 303 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "" -1 304 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 } {CSTYLE "" -1 305 "" 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 0 }{CSTYLE "Grey Em phasis" -1 306 "Times" 1 12 96 52 84 1 0 1 0 0 0 0 0 0 0 0 }{PSTYLE "N ormal" -1 0 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Heading 1" -1 3 1 {CSTYLE "" -1 -1 "Times" 1 18 0 0 128 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 4 3 0 3 0 2 2 0 1 }{PSTYLE "Heading 2" -1 4 1 {CSTYLE "" -1 -1 "Times" 1 14 128 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 8 2 1 0 1 0 2 2 0 1 }{PSTYLE "Maple Output" -1 11 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 3 0 0 0 0 1 0 1 0 2 2 0 1 }{PSTYLE "Bullet Item" -1 15 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }1 1 0 0 3 3 1 0 1 0 2 2 15 2 }{PSTYLE "Normal" -1 256 1 {CSTYLE "" -1 -1 "Times " 1 12 0 0 0 1 2 2 2 2 2 2 1 1 1 1 }3 1 0 0 0 0 1 0 1 0 2 2 0 1 } {PSTYLE "Normal" -1 257 1 {CSTYLE "" -1 -1 "Times" 1 12 0 0 0 1 2 1 2 2 2 2 1 1 1 1 }1 1 0 0 0 0 1 0 1 0 2 2 0 1 }} {SECT 0 {PARA 3 "" 0 "" {TEXT -1 60 "Solving linear systems with a tri diagonal coefficient matrix" }}{PARA 0 "" 0 "" {TEXT -1 37 "by Peter S tone, Nanaimo, B.C., Canada" }}{PARA 0 "" 0 "" {TEXT -1 19 "Version: \+ 24.3.2007" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 8 "restart;" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 20 "with(LinearAlgebra):" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 40 "load extra procedures for line ar systems" }}{PARA 0 "" 0 "" {TEXT -1 17 "The Maple m-file " }{TEXT 306 8 "linsys.m" }{TEXT -1 32 " is required by this worksheet. " }} {PARA 0 "" 0 "" {TEXT -1 121 "It can be read into a Maple session by a command similar to the one that follows, where the file path gives it s location." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 34 "read \"K:\\\\ Maple/procdrs/linsys.m\";" }}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 20 "Tridiagonal matrices" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 4 "The " }{TEXT 266 8 "leading " }{TEXT -1 2 "or" }{TEXT 258 1 " " }{TEXT 266 13 "main dia gonal" }{TEXT 258 1 " " }{TEXT -1 18 "of a square matrix" }}{PARA 256 "" 0 "" {TEXT -1 4 "A = " }{XPPEDIT 18 0 "matrix([[a[1,1], a[1,2], a[1 ,3], ` . . . `, a[1,n-1], a[1,n]], [a[2,1], a[2,2], a[2,3], ` . . . `, a[2,n-1], a[2,n]], [a[3,1], a[3,2], a[3,3], ` . . . `, a[3,n-1], a[3, n]], [`.`, `.`, `.`, `.`, `.`, `.`], [a[n-1,1], a[n-1,2], a[n-1,3], ` \+ . . . `, a[n-1,n-1], a[n-1,n]], [a[n,1], a[n,2], a[n,3], ` . . . `, a[ n,n-1], a[n,n]]]);" "6#-%'matrixG6#7(7(&%\"aG6$\"\"\"F+&F)6$F+\"\"#&F) 6$F+\"\"$%(~.~.~.~G&F)6$F+,&%\"nGF+F+!\"\"&F)6$F+F67(&F)6$F.F+&F)6$F.F .&F)6$F.F1F2&F)6$F.,&F6F+F+F7&F)6$F.F67(&F)6$F1F+&F)6$F1F.&F)6$F1F1F2& F)6$F1,&F6F+F+F7&F)6$F1F67(%\".GFSFSFSFSFS7(&F)6$,&F6F+F+F7F+&F)6$,&F6 F+F+F7F.&F)6$,&F6F+F+F7F1F2&F)6$,&F6F+F+F7,&F6F+F+F7&F)6$,&F6F+F+F7F67 (&F)6$F6F+&F)6$F6F.&F)6$F6F1F2&F)6$F6,&F6F+F+F7&F)6$F6F6" }{TEXT -1 2 " ," }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 25 "co nsists of the entries " }{XPPEDIT 18 0 "a[1,1],a[2,2],a[3,3];" "6%&% \"aG6$\"\"\"F&&F$6$\"\"#F)&F$6$\"\"$F," }{TEXT -1 8 ", . . . " } {XPPEDIT 18 0 "a[n,n];" "6#&%\"aG6$%\"nGF&" }{TEXT -1 27 ", which have equal indices." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 12 "The (first) " }{TEXT 266 14 "super-diagonal" }{TEXT -1 25 " consists of the entries " }{XPPEDIT 18 0 "a[1,2],a[2,3];" "6$&%\" aG6$\"\"\"\"\"#&F$6$F'\"\"$" }{TEXT -1 8 ", . . . " }{XPPEDIT 18 0 "a[ n-1,n];" "6#&%\"aG6$,&%\"nG\"\"\"F(!\"\"F'" }{TEXT -1 52 ", along a li ne parallel to the leading diagonal but " }{TEXT 266 13 "just above it " }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 12 "The (first) " }{TEXT 266 12 "sub-diagonal" }{TEXT -1 25 " consists of the entries " }{XPPEDIT 18 0 "a[2,1],a[3,2];" "6$&%\"aG6$ \"\"#\"\"\"&F$6$\"\"$F&" }{TEXT -1 8 ", . . . " }{XPPEDIT 18 0 "a[n,n- 1];" "6#&%\"aG6$%\"nG,&F&\"\"\"F(!\"\"" }{TEXT -1 52 ", along a line p arallel to the leading diagonal but " }{TEXT 266 13 "just below it" } {TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 3 "\nA " }{TEXT 266 18 "trid iagonal matrix" }{TEXT 258 1 " " }{TEXT -1 123 "has non-zero entries o nly along the leading diagonal, the super-diagonal and the sub-diagona l . All other entries are zero." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 69 "The following picture is a schematic diag ram of a tridiagonal matrix." }}{PARA 0 "" 0 "" {TEXT -1 195 "The grey triangular regions contain zero entries and the only non-zero entries lie along the main diagonal (shown in red), the sub-diagonal (shown i n blue) or the super-diagonal (shown in green)." }}{PARA 256 "" 0 "" {GLPLOT2D 374 341 341 {PLOTDATA 2 "6+-%'CURVESG6$7&7$$\"35+++++++?!#=$ \"\"!F,7$F+F+7$F+$\"#5F,7$F(F/-%'COLOURG6&%$RGBGF,F,F,-F$6$7&7$$\"3q++ +++++)*!# " 0 "" {MPLTEXT 1 0 202 "n := 7;\n# Set up a ma trix with all entries 0.\nA := Matrix(n):\n\n# Now assign the non-zero entries.\nfor i from 1 to n-1 do\n A[i,i+1] := 1;\n A[i,i] := i; \n A[i+1,i] := 1;\nend do:\nA[n,n] := n:\n'A' = A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#/%\"A G-%'RTABLEG6$\"(c@&y-%'MATRIXG6#7)7)\"\"\"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/7)F/F/F /F/F.\"\"'F.7)F/F/F/F/F/F.\"\"(" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT -1 96 "An alternative way to construct the same \+ matrix without using any loops is to use the procedure " }{TEXT 0 10 " BandMatrix" }{TEXT -1 10 " from the " }{TEXT 0 13 "LinearAlgebra" } {TEXT -1 9 " package." }}{PARA 0 "" 0 "" {TEXT -1 115 "First construct three lists for the main diagonal entries, the sub-diagonal entries a nd the super-diagonal entries." }}{PARA 0 "" 0 "" {TEXT -1 76 "Then in sert these diagonals into the tridiagonal matrix using the procedure \+ " }{TEXT 0 10 "BandMatrix" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 166 "n := 7;\nmain_dia g := [seq(k,k=1..n)];\nsub_diag := [1$(n-1)];\nsuper_diag := sub_diag; \ndiags := [sub_diag,main_diag,super_diag];\nwith(LinearAlgebra):\nBan dMatrix(diags);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"(" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%*main_diagG7)\"\"\"\"\"#\"\"$\"\"%\" \"&\"\"'\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)sub_diagG7(\"\"\"F &F&F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+super_diagG7(\"\"\"F&F &F&F&F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&diagsG7%7(\"\"\"F'F'F'F' F'7)F'\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(F&" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(Gc'y-%'MATRIXG6#7)7)\"\"\"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-7) F-F-F-F-F,\"\"'F,7)F-F-F-F-F-F,\"\"(" }}}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 " " 0 "" {TEXT -1 9 "Example 2" }}{PARA 0 "" 0 "" {TEXT -1 54 "The follo wing commands construct a tridiagonal matrix " }{TEXT 273 1 "A" } {TEXT -1 85 " in which all the non-zero entries are random integers be tween -99 and 100 inclusive." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 282 "n := 7;\n# Set up a matrix \+ with all entries 0.\nA := Matrix(n):\n\n# Now assign the random entrie s.\nrandomize():\nfor i from 1 to n-1 do\n A[i,i+1] := rand() mod 20 0 - 99;\n A[i,i] := rand()mod 200 - 99;\n A[i+1,i] := rand()mod 20 0 - 99;\nend do:\nA[n,n] := rand()mod 200 - 99:\n'A' = A;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"(" }}{PARA 11 "" 1 "" {XPPMATH 20 "6# /%\"AG-%'RTABLEG6$\")'*zpE-%'MATRIXG6#7)7)!#F\"#\")\"\"!F0F0F0F07)!#;! #w\"#jF0F0F0F07)F0\"#q!#7\"#!*F0F0F07)F0F0\"#%*\"#7!#OF0F07)F0F0F0!#g \"#?F6F07)F0F0F0F0F/\"#\"*!#\"*7)F0F0F0F0F0\"#h\"#Z" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 96 "An alternative way to c onstruct the same matrix without using any loops is to use the procedu re " }{TEXT 0 10 "BandMatrix" }{TEXT -1 10 " from the " }{TEXT 0 13 "L inearAlgebra" }{TEXT -1 9 " package." }}{PARA 0 "" 0 "" {TEXT -1 91 "F irst construct three lists for the main diagonal, the sub-diagonal and the super-diagonal." }}{PARA 0 "" 0 "" {TEXT -1 76 "Then insert these diagonals into the tridiagonal matrix using the procedure " }{TEXT 0 10 "BandMatrix" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 250 "n := 7;\nrandomize():\nmain _diag := [seq(rand() mod 200 - 99,k=1..n)];\nsub_diag := [seq(rand() m od 200 - 99,k=1..n-1)];\nsuper_diag := [seq(rand() mod 200 - 99,k=1..n -1)];\ndiags := [sub_diag,main_diag,super_diag];\nwith(LinearAlgebra): \nBandMatrix(diags);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\"(" } }{PARA 11 "" 1 "" {XPPMATH 20 "6#>%*main_diagG7)\"#\")!\")\"#%)\"#&)!# \\\"#$*\"\"$" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%)sub_diagG7(\"#&*!#L !#=!\"*!#*)F)" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%+super_diagG7(!#q\" #UF&\"$+\"\"#F\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%&diagsG7%7(\" #&*!#L!#=!\"*!#*)F*7)\"#\")!\")\"#%)\"#&)!#\\\"#$*\"\"$7(!#q\"#UF5\"$+ \"\"#F\"\"!" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")/7EF-%'M ATRIXG6#7)7)\"#\")!#q\"\"!F.F.F.F.7)\"#&*!\")\"#UF.F.F.F.7)F.!#L\"#%)F -F.F.F.7)F.F.!#=\"#&)\"$+\"F.F.7)F.F.F.!\"*!#\\\"#FF.7)F.F.F.F.!#*)\"# $*F.7)F.F.F.F.F.F;\"\"$" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 40 "Compact st orage for tridiagonal matrices" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 94 "It is a waste of storage space to allocate space for the zero entries in a tridiagonal matrix." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 31 "All the n on-zero entries of an " }{TEXT 276 1 "n" }{TEXT -1 1 " " }{TEXT 274 1 "x" }{TEXT -1 1 " " }{TEXT 275 1 "n" }{TEXT -1 20 " tridiagonal matrix " }{TEXT 277 1 "A" }{TEXT -1 26 " can be inserted into a 3 " }{TEXT 278 1 "x" }{TEXT -1 1 " " }{TEXT 279 1 "n" }{TEXT -1 8 " matrix " } {TEXT 280 1 "B" }{TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 22 "The en tries along the " }{TEXT 266 14 "super-diagonal" }{TEXT -1 4 " of " } {TEXT 284 1 "A" }{TEXT -1 21 " can be put into the " }{TEXT 268 7 "1st row" }{TEXT 256 1 " " }{TEXT -1 3 "of " }{TEXT 281 1 "B" }{TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 22 "The entries along the " }{TEXT 266 12 "main digonal" }{TEXT -1 4 " of " }{TEXT 285 1 "A" }{TEXT -1 21 " can be put into the " }{TEXT 268 8 "2nd row " }{TEXT -1 3 "of " } {TEXT 282 1 "B" }{TEXT -1 1 "." }}{PARA 15 "" 0 "" {TEXT -1 22 "The en tries along the " }{TEXT 266 12 "sub-diagonal" }{TEXT -1 4 " of " } {TEXT 286 1 "A" }{TEXT -1 21 " can be put into the " }{TEXT 268 7 "3rd row" }{TEXT -1 4 " of " }{TEXT 283 1 "B" }{TEXT -1 1 "." }}{PARA 0 " " 0 "" {TEXT -1 39 "Thus for example, the tridigonal matrix" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "A = matrix([[-10, -21, 0, 0 , 0, 0], [9, -17, -23, 0, 0, 0], [0, -23, -11, -21, 0, 0], [0, 0, 25, \+ 13, -8, 0], [0, 0, 0, 4, 21, -18], [0, 0, 0, 0, -9, -19]]);" "6#/%\"AG -%'matrixG6#7(7(,$\"#5!\"\",$\"#@F,\"\"!F/F/F/7(\"\"*,$\"#F," }{TEXT -1 2 " " }}{PARA 0 "" 0 " " {TEXT -1 30 "can be converted to the matrix" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 256 "" 0 "" {TEXT -1 1 " " }{XPPEDIT 18 0 "B = m atrix([[-21, -23, -21, -8, -18, 0], [-10, -17, -11, 13, 21, -19], [0, \+ 9, -23, 25, 4, -9]]);" "6#/%\"BG-%'matrixG6#7%7(,$\"#@!\"\",$\"#BF,,$F +F,,$\"\")F,,$\"#=F,\"\"!7(,$\"#5F,,$\"#F,7(F4 \"\"*,$F.F,\"#D\"\"%,$F@F," }{TEXT -1 2 " ." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 218 "Since the super-diagonal and s ub diagonal each have one less entry than the main diagonal, we still \+ have two zero entries in the new matrix, which we place at the end of \+ the 1st row and at the beginning of the 3rd row." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 297 "If n is large, this comp acting procedure can result in significant savings in storage space. I n addition we can write a specialised procedure to solve a linear syst em in which the coefficient matrix is tridiagonal, and stored in this \+ compact form. Such tridiagonal systems often arise in practice." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 103 "When con structing a tridiagonal matrix we may as well give the entries in the \+ compact form immediately." }}{PARA 0 "" 0 "" {TEXT -1 12 "The routine \+ " }{TEXT 0 7 "tridiag" }{TEXT -1 121 " in the next section will constr uct the actual non-compact tridiagonal matrix from the compact form, i f this is required." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 88 "As a first step in working with the compact form of a t ridiagonal matrix, the procedure " }{TEXT 0 5 "evalt" }{TEXT -1 50 ", \+ also given in the next section, will obtain the " }{TEXT 266 7 "produc t" }{TEXT 256 1 " " }{TEXT -1 191 "of a tridiagonal matrix given in co mpact form with a vector of the \"same\" dimension, that is, with the \+ same number of entries as the compact form of the tridiagonal matrix h as along each row." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 68 "A procedure for expanding the compact form of a tridiagonal matrix: " }{TEXT 0 11 "Tridiagonal" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 11 "Tridiagonal" }{TEXT -1 81 " expands the compact form of a tridiago nal matrix to the full square-matrix form." }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 18 "Tridiagon al: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 261 17 "Calling Sequence:" }}{PARA 0 "" 0 "" {TEXT 262 5 " \n " }{TEXT -1 16 "Tridiagonal( C )" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 257 "" 0 "" {TEXT -1 11 "Parameters:" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }}{PARA 0 "" 0 "" {TEXT 23 10 " C - " }{TEXT -1 73 " a tridigonal matrix given in the compact form of a matrix wi th 3 rows." }}{PARA 0 "" 0 "" {TEXT -1 109 " The \+ first row contains the super-diagonal with a zero or dummy (unused) en try appended." }}{PARA 0 "" 0 "" {TEXT -1 61 " Th e 2nd row contains the main diagonal." }}{PARA 0 "" 0 "" {TEXT -1 106 " The 3rd row contains the sub-diagonal with a ze ro or dummy (unused) entry prepended." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 11 "Tridiagonal" }{TEXT -1 81 " expands the compact form of a tridigon al matrix to the full square-matrix form." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 266 16 "How to activate:" }{TEXT 256 1 "\n" }{TEXT -1 155 "To make the pro cedures active open the subsection, place the cursor anywhere after th e prompt [ > and press [Enter].\nYou can then close up the subsection ." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 27 "Tridiagonal: implementation " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "tridiag" {MPLTEXT 1 0 612 "Tridiagonal := proc(A::Matrix)\n local m,n,T,i,j; \n if not type(A,'Matrix') then\n error \"1st argument must be \+ a Matrix\"\n end if;\n m := LinearAlgebra['RowDimension'](A);\n \+ if m<>3 then\n error \"the matrix must have 3 rows\"\n end if; \n n := LinearAlgebra['ColumnDimension'](A);\n if n<3 then\n \+ error \"the matrix must have at least 3 columns\"\n end if;\n T := Matrix(n);\n T[1,1] := A[2,1];\n T[1,2] := A[1,1];\n\n for j fr om 2 to n-1 do\n T[j,j-1] := A[3,j];\n T[j,j] := A[2,j];\n \+ T[j,j+1] := A[1,j];\n end do;\n \n T[n,n-1] := A[3,n];\n T [n,n] := A[2,n];\n T;\nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 39 "Examples are given in the next section." }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT 0 11 "Tridiagonal" }{TEXT -1 10 ": examp les" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 1 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 111 "C := Matrix([[-21,-23,-21,-8,-18,0],[-10,-17,-11,13, 21,-19],\n [0,9,-23,25,4,-9]]);\nTridiagonal(C);" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'RTABLEG6$\")?\"R>#-%'MATRIXG6 #7%7(!#@!#BF.!\")!#=\"\"!7(!#5!#7(F2\"\"*F/\"#D\"\"%!\" *" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")#zF>#-%'MATRIXG6#7 (7(!#5!#@\"\"!F.F.F.7(\"\"*!#" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 2 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 162 "In this example we first construct a compact form of the tridiagonal matrix given as the first example of a tridiagonal matrix in the first section, and then \+ use " }{TEXT 0 11 "Tridiagonal" }{TEXT -1 26 " to get the expanded for m." }}{PARA 0 "" 0 "" {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT 266 5 "No tes" }{TEXT -1 2 ": " }}{PARA 15 "" 0 "" {TEXT -1 43 "In order to make the loop which constructs " }{TEXT 287 1 "C" }{TEXT -1 99 " as simple as possible, it is convenient to set the two unused or dummy entries \+ to 1 rather than 0." }}{PARA 15 "" 0 "" {TEXT -1 38 "You can change th e size of the matrix " }{TEXT 288 1 "C" }{TEXT -1 38 " by changing the value of the integer " }{TEXT 289 1 "n" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 115 "n := 8 ;\nC := Matrix(3,n);\nfor i from 1 to n do\n C[1,i] := 1; C[2,i] := \+ i; C[3,i] := 1;\nend do:\nC;\nTridiagonal(C);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"\")" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-% 'RTABLEG6$\")On\">#-%'MATRIXG6#7%7*\"\"!F.F.F.F.F.F.F.F-F-" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")On\">#-%'MATRIXG6#7%7*\"\"\"F ,F,F,F,F,F,F,7*F,\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(\"\")F+" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")/z*=#-%'MATRIXG6#7*7*\"\"\"F,\"\"!F -F-F-F-F-7*F,\"\"#F,F-F-F-F-F-7*F-F,\"\"$F,F-F-F-F-7*F-F-F,\"\"%F,F-F- F-7*F-F-F-F,\"\"&F,F-F-7*F-F-F-F-F,\"\"'F,F-7*F-F-F-F-F-F,\"\"(F,7*F-F -F-F-F-F-F,\"\")" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 70 "A procedure for multipl ying a vector by a compact tridiagonal matrix: " }{TEXT 0 10 "MultVect or" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 10 "MultVector" }{TEXT -1 83 " evaluates the pro duct of a tridiagonal matrix given in compact form with a vector." }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 17 "MultVector: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {PARA 0 "" 0 "" {TEXT 263 17 "Calling Sequence:" }}{PARA 0 "" 0 "" {TEXT 264 4 "\n " }{TEXT -1 16 "MultVector(C,v) " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 15 "Parameters: " }} {PARA 0 "" 0 "" {TEXT 23 1 " " }}{PARA 0 "" 0 "" {TEXT 23 10 " C \+ - " }{TEXT -1 73 " a tridigonal matrix given in the compact form of \+ a matrix with 3 rows." }}{PARA 0 "" 0 "" {TEXT -1 109 " \+ The first row contains the super-diagonal with a zero or dummy \+ (unused) entry appended." }}{PARA 0 "" 0 "" {TEXT -1 61 " \+ The 2nd row contains the main diagonal." }}{PARA 0 "" 0 "" {TEXT -1 106 " The 3rd row contains the sub-diago nal with a zero or dummy (unused) entry prepended." }}{PARA 0 "" 0 "" {TEXT -1 4 " " }{TEXT 23 3 " " }}{PARA 0 "" 0 "" {TEXT 265 1 " " }}{PARA 0 "" 0 "" {TEXT -1 4 " " }{TEXT 23 8 " v - " }{TEXT -1 178 " a vector with dimension the same as that of the tridigonal mat rix A, that is, with the same number of entries as the compact form of the tridiagonal matrix has along each row." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " } {TEXT 0 10 "MultVector" }{TEXT -1 83 " evaluates the product of a trid iagonal matrix given in compact form with a vector." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 266 16 "How to activate:" }{TEXT 256 1 "\n" }{TEXT -1 155 "To ma ke the procedures active open the subsection, place the cursor anywher e after the prompt [ > and press [Enter].\nYou can then close up the \+ subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 26 "MultVector: implem entation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 646 "MultVector := proc(A::Matrix,u::Vector)\n local v, m,n,k,j;\n m := LinearAlgebra['RowDimension'](A);\n if m<>3 then\n error \"the matrix must have 3 rows\"\n end if;\n n := Linea rAlgebra['ColumnDimension'](A);\n if n<3 then\n error \"the mat rix must have at least 3 columns\"\n end if;\n k := LinearAlgebra[ 'Dimension'](u);\n if k<>n then\n error \"non matching dimensio ns for vector/tridiagonal matrix product\"\n end if;\n v := Vector (n);\n v[1] := A[2,1]*u[1] + A[1,1]*u[2];\n\011\011 for j from 2 to \+ n-1 do\n\011\011\011 v[j] := A[3,j]*u[j-1] + A[2,j]*u[j] + A[1,j]*u[ j+1];\n\011\011 end do;\n v[n] := A[3,n]*u[n-1] + A[2,n]*u[n];\n v ;\nend proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 " " 0 "" {TEXT -1 39 "Examples are given in the next section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT 0 10 "MultVector" }{TEXT -1 10 ": ex amples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 1 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 36 "In this example, we define a matrix " }{TEXT 290 1 "C" }{TEXT -1 36 ", in the compact for m, and a vector " }{TEXT 291 1 "v" }{TEXT -1 1 "." }}{PARA 0 "" 0 "" {TEXT -1 12 "The product " }{XPPEDIT 18 0 "C*`.`*v;" "6#*(%\"CG\"\"\"% \".GF%%\"vGF%" }{TEXT -1 61 " is then computed using the special multi plication procedure " }{TEXT 0 10 "MultVector" }{TEXT -1 1 "." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 140 "C := Matrix([[-21,-23,-21,-8,-18,0],[-10,-17,-11,13,21,-19],\n \+ [0,9,-23,25,4,-9]]);\nv := Vector([1,2,3,4,5,6]);\nMultVect or(C,v);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'RTABLEG6$\")_')*> #-%'MATRIXG6#7%7(!#@!#BF.!\")!#=\"\"!7(!#5!#7(F2\"\"*F/ \"#D\"\"%!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"vG-%'RTABLEG6$\") Wg+A-%'MATRIXG6#7(7#\"\"\"7#\"\"#7#\"\"$7#\"\"%7#\"\"&7#\"\"'" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\")W&=/#-%'MATRIXG6#7(7#!# _7#!#%*7#!$j\"7#\"#()7#\"#87#!$f\"" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 131 "We obta in the same product by expanding the compact from of the tridiagonal m atrix, and then using ordinary matrix multiplication. " }}{PARA 0 "" 0 "" {TEXT -1 32 "This assumes that the procedure " }{TEXT 0 11 "Tridi agonal" }{TEXT -1 5 " . . " }{HYPERLNK 17 "Tridigonal" 1 "" "" }{TEXT -1 11 " is loaded." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 " > " 0 "" {MPLTEXT 1 0 25 "A := Tridiagonal(C);\nA.v;" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\"(+,Y%-%'MATRIXG6#7(7(!#5!#@\"\"! F0F0F07(\"\"*!#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTAB LEG6$\"(/E`%-%'MATRIXG6#7(7#!#_7#!#%*7#!$j\"7#\"#()7#\"#87#!$f\"" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 2 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 27 "I n this example the matrix " }{TEXT 292 1 "C" }{TEXT -1 91 " is a compa ct form of the tridiagonal matrix given in the 2nd example of the firs t section." }}{PARA 0 "" 0 "" {TEXT -1 21 "The main diagonal is " } {XPPEDIT 18 0 "[1,2,3,`. . . `,n]" "6#7'\"\"\"\"\"#\"\"$%'.~.~.~G%\"nG " }{TEXT -1 62 ", and the sub-diagonal and super diagonal entries are \+ all 1's." }}{PARA 0 "" 0 "" {TEXT -1 20 "We find the product " } {XPPEDIT 18 0 "C*`.`*v" "6#*(%\"CG\"\"\"%\".GF%%\"vGF%" }{TEXT -1 8 ", where " }{TEXT 293 1 "v" }{TEXT -1 15 " is the vector " }{XPPEDIT 18 0 "[1,1/2,1/3, ` . . . `,1/n]" "6#7'\"\"\"*&F$F$\"\"#!\"\"*&F$F$\"\"$F '%(~.~.~.~G*&F$F$%\"nGF'" }{TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT 266 4 "Note" }{TEXT -1 82 ": Matrices with more than 10 rows or column s do not have their entries displayed. " }}{PARA 0 "" 0 "" {TEXT -1 60 "Converting to the old matrix type gets around this problem. " }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 391 "n := 20;\n# Construct the matrix C in compact form.\nC := Matrix( 3,n):\nfor i from 1 to n do\n C[1,i] := 1; C[2,i] := i; C[3,i] := 1; \nend do:\nconvert(C,matrix); # for display only\n\n# Construct the v ector v.\nv := Vector(n):\nfor i from 1 to n do\n v[i] := 1/i;\nend \+ do:\nconvert(v,vector); # for display only\n\n# Calculate the product C.v\nMultVector(C,v):\nconvert(%,vector); # for display only\n" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7%76\"\"\"F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F(F (F(F(76F(\"\"#\"\"$\"\"%\"\"&\"\"'\"\"(\"\")\"\"*\"#5\"#6\"#7\"#8\"#9 \"#:\"#;\"#<\"#=\"#>\"#?F'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vecto rG6#76\"\"\"#F'\"\"##F'\"\"$#F'\"\"%#F'\"\"&#F'\"\"'#F'\"\"(#F'\"\")#F '\"\"*#F'\"#5#F'\"#6#F'\"#7#F'\"#8#F'\"#9#F'\"#:#F'\"#;#F'\"#<#F'\"#=# F'\"#>#F'\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#76#\"\"$ \"\"##\"\"(F(#F+\"\"%#\"#B\"#:#\"#<\"#7#\"#Z\"#N#\"#J\"#C#\"#z\"#j#\"# \\\"#S#\"$>\"\"#**#\"#r\"#g#\"$n\"\"$V\"#\"#(*\"#%)#\"$B#\"$&>#\"$F\" \"$7\"#\"$(G\"$b##\"$h\"\"$W\"#\"$f$\"$B$#\"$*>\"$!=#\"#?\"#>" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 142 "As befor e, we obtain the same product by expanding the compact from of the tri diagonal matrix, and then using ordinary matrix multiplication. " }} {PARA 0 "" 0 "" {TEXT -1 29 "Make sure that the procedure " }{TEXT 0 11 "Tridiagonal" }{TEXT -1 5 " . . " }{HYPERLNK 17 "Tridiagonal" 1 "" "" }{TEXT -1 45 " is loaded before you execute these commands." }} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 63 "A := Tridiagonal(C):\nconvert(A,matrix);\nA.v:\nconvert(%,matrix); " }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'matrixG6#7676\"\"\"F(\"\"!F)F)F )F)F)F)F)F)F)F)F)F)F)F)F)F)F)76F(\"\"#F(F)F)F)F)F)F)F)F)F)F)F)F)F)F)F) F)F)76F)F(\"\"$F(F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)F)76F)F)F(\"\"%F(F)F)F) F)F)F)F)F)F)F)F)F)F)F)F)76F)F)F)F(\"\"&F(F)F)F)F)F)F)F)F)F)F)F)F)F)F)7 6F)F)F)F)F(\"\"'F(F)F)F)F)F)F)F)F)F)F)F)F)F)76F)F)F)F)F)F(\"\"(F(F)F)F )F)F)F)F)F)F)F)F)F)76F)F)F)F)F)F)F(\"\")F(F)F)F)F)F)F)F)F)F)F)F)76F)F) F)F)F)F)F)F(\"\"*F(F)F)F)F)F)F)F)F)F)F)76F)F)F)F)F)F)F)F)F(\"#5F(F)F)F )F)F)F)F)F)F)76F)F)F)F)F)F)F)F)F)F(\"#6F(F)F)F)F)F)F)F)F)76F)F)F)F)F)F )F)F)F)F)F(\"#7F(F)F)F)F)F)F)F)76F)F)F)F)F)F)F)F)F)F)F)F(\"#8F(F)F)F)F )F)F)76F)F)F)F)F)F)F)F)F)F)F)F)F(\"#9F(F)F)F)F)F)76F)F)F)F)F)F)F)F)F)F )F)F)F)F(\"#:F(F)F)F)F)76F)F)F)F)F)F)F)F)F)F)F)F)F)F)F(\"#;F(F)F)F)76F )F)F)F)F)F)F)F)F)F)F)F)F)F)F)F(\"#F(76F)F)F)F)F )F)F)F)F)F)F)F)F)F)F)F)F)F)F(\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#- %'vectorG6#76#\"\"$\"\"##\"\"(F(#F+\"\"%#\"#B\"#:#\"#<\"#7#\"#Z\"#N#\" #J\"#C#\"#z\"#j#\"#\\\"#S#\"$>\"\"#**#\"#r\"#g#\"$n\"\"$V\"#\"#(*\"#%) #\"$B#\"$&>#\"$F\"\"$7\"#\"$(G\"$b##\"$h\"\"$W\"#\"$f$\"$B$#\"$*>\"$!= #\"#?\"#>" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 " " {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" } }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 79 "A procedure for solving a line ar system with a tridiagonal coefficient matrix: " }{TEXT 0 12 "Tridia gSolve" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 14 "The procedure " }{TEXT 0 12 "TridiagSolve" }{TEXT -1 51 " solves a sy stem of linear equations of the form A " }{TEXT 271 1 "." }{TEXT -1 63 " x = b, where A is a tridiagonal matrix given in compact form.\011 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 19 "TridiagSolve: usage" }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{PARA 0 "" 0 "" {TEXT -1 0 "" }{TEXT 259 17 "Calling Sequence:" }} {PARA 0 "" 0 "" {TEXT 260 5 "\n " }{TEXT -1 20 "TridiagSolve( A, b \+ )" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 11 "Pa rameters:" }}{PARA 0 "" 0 "" {TEXT -1 5 " " }}{PARA 0 "" 0 "" {TEXT 23 10 " A - " }{TEXT -1 73 " a tridigonal matrix given in the compact form of a matrix with 3 rows." }}{PARA 0 "" 0 "" {TEXT -1 109 " The first row contains the super-diagona l with a zero or dummy (unused) entry appended." }}{PARA 0 "" 0 "" {TEXT -1 61 " The 2nd row contains the main diago nal." }}{PARA 0 "" 0 "" {TEXT -1 106 " The 3rd ro w contains the sub-diagonal with a zero or dummy (unused) entry prepen ded." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 4 " \+ " }{TEXT 23 8 " b - " }{TEXT -1 178 " a vector with dimension t he same as that of the tridigonal matrix A, that is, with the same num ber of entries as the compact form of the tridiagonal matrix has along each row." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 257 "" 0 "" {TEXT -1 12 "Description:" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 14 "The procedure " }{TEXT 0 12 "TridiagSolve" }{TEXT -1 43 " obtains a solution of the linear system A " }{TEXT 270 1 "." } {TEXT -1 86 " x = b by means of a simplified method of LU decompositio n, and backward substitution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT 266 16 "How to a ctivate:" }{TEXT 256 1 "\n" }{TEXT -1 155 "To make the procedures acti ve open the subsection, place the cursor anywhere after the prompt [ > and press [Enter].\nYou can then close up the subsection." }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 28 "TridiagSolve: implementation" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1039 " TridiagSolve := proc(A::Matrix,b::Vector)\n local m,n,k,beta,v,gam,j ;\n\n m := LinearAlgebra['RowDimension'](A);\n if m<>3 then\n \+ error \"the matrix must have 3 rows\"\n end if;\n n := LinearAlge bra['ColumnDimension'](A);\n if n<3 then\n error \"the matrix m ust have at least 3 columns\"\n end if;\n k := LinearAlgebra['Dime nsion'](b);\n if k<>n then\n error \"non matching dimensions fo r matrix and vector\"\n end if;\n\n v := Vector(n);\n gam := Vec tor(n);\n\011 beta := A[2,1]; \n if beta=0 then\n error \"a \+ zero pivot element has been encountered\"\n end if;\n\011 v[1] := b [1]/beta;\n\011\n # Perform LU decomposition and forward substitutio n.\n\011 for j from 2 to n do\n\011\011 gam[j] := A[1,j-1]/beta;\n \011\011 beta := A[2,j] - A[3,j]*gam[j];\n\011\011 if beta=0 the n\n error \"a zero pivot element has been encountered\"\n \+ end if;\n\011\011 v[j] := (b[j] - A[3,j]*v[j-1])/beta;\n\011 end \+ do;\n \n # Perform the back substitution.\n for j from n-1 by -1 to 1 do\n v[j] := v[j] - gam[j+1]*v[j+1];\n end do;\n v;\nen d proc:" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 " " {TEXT -1 39 "Examples are given in the next section." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT 0 12 "TridiagSolve" }{TEXT -1 10 ": exam ples" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 1 " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 127 "This example is ba sed on the result of the multiplication given in the previous section \+ as the first example for the procedure " }{TEXT 0 10 "MultVector" } {TEXT -1 2 ". " }}{PARA 0 "" 0 "" {TEXT -1 7 "Taking " }{TEXT 295 1 "b " }{TEXT -1 46 " to be the product vector, solving the system " } {XPPEDIT 18 0 "C*`.`*v = b;" "6#/*(%\"CG\"\"\"%\".GF&%\"vGF&%\"bG" } {TEXT -1 27 " gives the original vector " }{TEXT 294 1 "v" }{TEXT -1 17 " as the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 189 "C := Matrix([[-21,-23,-21,-8,-18,0],[-10 ,-17,-11,13,21,-19],\n [0,9,-23,25,4,-9]]);\nb := Vector( [-52, -94, -163, 87, 13, -159]);\nv := TridiagSolve(C,b);\n# Check\nMu ltVector(C,v);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"CG-%'RTABLEG6$\" )gar>-%'MATRIXG6#7%7(!#@!#BF.!\")!#=\"\"!7(!#5!#7(F2\" \"*F/\"#D\"\"%!\"*" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"bG-%'RTABLEG 6$\"(W&)3&-%'MATRIXG6#7(7#!#_7#!#%*7#!$j\"7#\"#()7#\"#87#!$f\"" }} {PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"vG-%'RTABLEG6$\"(K74&-%'MATRIXG6#7 (7#\"\"\"7#\"\"#7#\"\"$7#\"\"%7#\"\"&7#\"\"'" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'RTABLEG6$\"(?v4&-%'MATRIXG6#7(7#!#_7#!#%*7#!$j\"7#\" #()7#\"#87#!$f\"" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 103 "We obtain the same solution by expanding the compact fro m of the tridiagonal matrix and then using the " }{TEXT 0 13 "LinearAl gebra" }{TEXT -1 11 " procedure " }{TEXT 0 11 "LinearSolve" }{TEXT -1 31 ". Make sure that the procedure " }{TEXT 0 11 "Tridiagonal" }{TEXT -1 5 " . . " }{HYPERLNK 17 "Tridiagonal" 1 "" "" }{TEXT -1 45 " is loa ded before you execute these commands." }}{PARA 0 "" 0 "" {TEXT -1 0 " " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 64 "A := Tridiagonal(C);\nwi th(LinearAlgebra):\nv := LinearSolve(A,b);" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"AG-%'RTABLEG6$\")?lK@-%'MATRIXG6#7(7(!#5!#@\"\"!F0F 0F07(\"\"*!#" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"vG-%'R TABLEG6$\")KI$=#-%'MATRIXG6#7(7#\"\"\"7#\"\"#7#\"\"$7#\"\"%7#\"\"&7#\" \"'" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Example 2 \+ " }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 125 "This example is based on the result of the multiplicatio n given in the previous section as the 2nd example for the procedure \+ " }{TEXT 0 10 "MultVector" }{TEXT -1 9 ". Taking " }{TEXT 297 1 "b" } {TEXT -1 46 " to be the product vector, solving the system " } {XPPEDIT 18 0 "C*`.`*v=b" "6#/*(%\"CG\"\"\"%\".GF&%\"vGF&%\"bG" } {TEXT -1 27 " gives the original vector " }{TEXT 296 1 "v" }{TEXT -1 17 " as the solution." }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 358 "n := 20;\nC := Matrix(3,n):\nfor i from \+ 1 to n do\n C[1,i] := 1; C[2,i] := i; C[3,i] := 1;\nend do:\nb := Ve ctor([3/2,7/3,7/4,23/15,17/12,47/35,31/24,79/63,\n 49/40,119/99,7 1/60,167/143,97/84,223/195,127/112,\n 287/255,161/144,359/323,19 9/180,20/19]):\nconvert(b,vector); # for display only\n\nv := TridiagS olve(C,b):\nconvert(%,vector); # for display only" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#>%\"nG\"#?" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vector G6#76#\"\"$\"\"##\"\"(F(#F+\"\"%#\"#B\"#:#\"#<\"#7#\"#Z\"#N#\"#J\"#C# \"#z\"#j#\"#\\\"#S#\"$>\"\"#**#\"#r\"#g#\"$n\"\"$V\"#\"#(*\"#%)#\"$B# \"$&>#\"$F\"\"$7\"#\"$(G\"$b##\"$h\"\"$W\"#\"$f$\"$B$#\"$*>\"$!=#\"#? \"#>" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#76\"\"\"#F'\"\"##F '\"\"$#F'\"\"%#F'\"\"&#F'\"\"'#F'\"\"(#F'\"\")#F'\"\"*#F'\"#5#F'\"#6#F '\"#7#F'\"#8#F'\"#9#F'\"#:#F'\"#;#F'\"#<#F'\"#=#F'\"#>#F'\"#?" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 114 "As befor e, we obtain the same solution by expanding the compact from of the tr idiagonal matrix and then using the " }{TEXT 0 6 "linalg" }{TEXT -1 9 " routine " }{TEXT 0 8 "linsolve" }{TEXT -1 32 ". This assumes that th e routine " }{TEXT 0 7 "tridiag" }{TEXT -1 5 " . . " }{HYPERLNK 17 "tr idiag" 1 "" "tridiag" }{TEXT -1 12 " is active.\n" }}{PARA 0 "" 0 "" {TEXT -1 114 "As before, we obtain the same solution by expanding the \+ compact from of the tridiagonal matrix and then using the " }{TEXT 0 13 "LinearAlgebra" }{TEXT -1 11 " procedure " }{TEXT 0 11 "LinearSolve " }{TEXT -1 31 ". Make sure that the procedure " }{TEXT 0 11 "Tridiago nal" }{TEXT -1 5 " . . " }{HYPERLNK 17 "Tridiagonal" 1 "" "" }{TEXT -1 45 " is loaded before you execute these commands." }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 81 "A := Tridi agonal(C):\nv := LinearSolve(A,b):\nconvert(%,vector); # for display o nly" }}{PARA 11 "" 1 "" {XPPMATH 20 "6#-%'vectorG6#76\"\"\"#F'\"\"##F' \"\"$#F'\"\"%#F'\"\"&#F'\"\"'#F'\"\"(#F'\"\")#F'\"\"*#F'\"#5#F'\"#6#F' \"#7#F'\"#8#F'\"#9#F'\"#:#F'\"#;#F'\"#<#F'\"#=#F'\"#>#F'\"#?" }}} {PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{SECT 1 {PARA 4 "" 0 "" {TEXT -1 5 "Tasks" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 4 "" 0 " " {TEXT -1 10 "Question 1" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 " ;" }}}{PARA 0 "" 0 "" {TEXT -1 53 "Consider the following problem for \+ various values of " }{TEXT 299 1 "n" }{TEXT -1 1 "." }}{PARA 0 "" 0 " " {TEXT -1 7 "Set up " }{TEXT 266 15 "in compact form" }{TEXT -1 22 " \+ a tridiagonal matrix " }{TEXT 298 1 "A" }{TEXT -1 43 " of dimension n \+ with main diagonal entries " }{XPPEDIT 18 0 "1, 1/2, 1/3, ` . . . ` , \+ n" "6'\"\"\"*&F#F#\"\"#!\"\"*&F#F#\"\"$F&%(~.~.~.~G%\"nG" }{TEXT -1 76 ", and with sub-diagonal and super-diagonal entries all 1.\nLet b b e a vector " }{XPPEDIT 18 0 "[1,2,3,`. . . `,n]" "6#7'\"\"\"\"\"#\"\"$ %'.~.~.~G%\"nG" }{TEXT -1 20 ".\nUse the procedure " }{TEXT 0 12 "Trid iagsolve" }{TEXT -1 28 " to solve the linear system " }{XPPEDIT 18 0 " A*`.`*x=b" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" }{TEXT -1 25 " for th e following cases." }}{PARA 0 "" 0 "" {TEXT -1 46 "Check your solution s by matrix multiplication." }}{PARA 0 "" 0 "" {TEXT -1 37 "__________ ___________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "(a) " }{XPPEDIT 18 0 "n = 5" "6#/%\"nG\"\"&" } {TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 37 "________________________ _____________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" } }{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "(b) " }{XPPEDIT 18 0 "n = 10" "6#/%\"nG\"#5" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 37 "_ ____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "(c) " } {XPPEDIT 18 0 "n = 20" "6#/%\"nG\"#?" }{TEXT -1 1 " " }}{PARA 0 "" 0 " " {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 37 "____________________ _________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {SECT 1 {PARA 4 "" 0 "" {TEXT -1 10 "Question 2" }}{EXCHG {PARA 0 "> \+ " 0 "" {MPLTEXT 1 0 1 ";" }}}{PARA 0 "" 0 "" {TEXT -1 53 "Consider the following problem for the two values of " }{TEXT 305 1 "n" }{TEXT -1 13 " given below." }}{PARA 0 "" 0 "" {TEXT -1 7 "Set up " }{TEXT 266 15 "in compact form" }{TEXT -1 22 " a tridiagonal matrix " }{TEXT 300 1 "A" }{TEXT -1 14 " of dimension " }{TEXT 304 1 "n" }{TEXT -1 28 " wi th main diagonal entries " }{XPPEDIT 18 0 "1, 4, 9, 16, 25,` . . . `,n ^2" "6)\"\"\"\"\"%\"\"*\"#;\"#D%(~.~.~.~G*$%\"nG\"\"#" }{TEXT -1 62 ", and with sub-diagonal and super-diagonal entries all 1.\nLet " } {XPPEDIT 18 0 "b = [1, 2, 3,` . . . `, n]" "6#/%\"bG7'\"\"\"\"\"#\"\"$ %(~.~.~.~G%\"nG" }{TEXT -1 23 " be a vector of length " }{TEXT 301 1 " n" }{TEXT -1 8 ", whose " }{TEXT 302 1 "i" }{TEXT -1 17 " th component is " }{TEXT 303 1 "i" }{TEXT -1 20 ".\nUse the procedure " }{TEXT 0 12 "TridiagSolve" }{TEXT -1 28 " to solve the linear system " } {XPPEDIT 18 0 "A*`.`*x=b" "6#/*(%\"AG\"\"\"%\".GF&%\"xGF&%\"bG" } {TEXT -1 25 " for the following cases." }}{PARA 0 "" 0 "" {TEXT -1 46 "Check your solutions by matrix multiplication." }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 4 "(a) " }{XPPEDIT 18 0 " n = 5" "6#/%\"nG\"\"&" }{TEXT -1 1 " " }}{PARA 0 "" 0 "" {TEXT -1 37 "___ __________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{PARA 0 "" 0 "" {TEXT -1 5 "(b) " } {XPPEDIT 18 0 "n = 10" "6#/%\"nG\"#5" }{TEXT -1 1 " " }}{PARA 0 "" 0 " " {TEXT -1 37 "_____________________________________" }}{PARA 0 "" 0 " " {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" } }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 0 "" }}}{PARA 0 "" 0 "" {TEXT -1 37 "____________________ _________________" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}} {EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}{SECT 1 {PARA 0 "" 0 "" {TEXT -1 43 "code for drawing tridiagonal matrix pictu re" }}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 414 "p1:=plot([[[.2,0],[0,0],[0,10],[.2,10]],\n [[9.8,0 ],[10,0],[10,10],[9.8,10]]],color=black):\np2 := plots[polygonplot]([[ [.2,.2],[.2,8],[8,.2]],\n[[9.8,9.8],[9.8,2],[2,9.8]]],color=COLOR(RGB, .8,.8,.8)):\np3 := plot([[.2,9.8],[9.8,.2]],color=red,thickness=2):\np 4 := plot([[.2,8.9],[8.9,.2]],color=blue,thickness=2):\np5 := plot([[1 .1,9.8],[9.8,1.1]],color=green,thickness=2):\nplots[display]([p1,p2,p3 ,p4,p5],axes=none);" }}}{PARA 0 "" 0 "" {TEXT -1 0 "" }}{EXCHG {PARA 0 "> " 0 "" {MPLTEXT 1 0 1 ";" }}}}}{MARK "4 0 0" 0 }{VIEWOPTS 1 1 0 1 1 1803 1 1 1 1 }{PAGENUMBERS 0 1 2 33 1 1 }