(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 41526, 1210]*) (*NotebookOutlinePosition[ 65639, 2083]*) (* CellTagsIndexPosition[ 65595, 2079]*) (*WindowFrame->Normal*) Notebook[{ Cell[TextData[{ StyleBox[ "Numerical Methods: Mathematica 3.0 Notebooks\n(c) John H. Mathews, 1998", FontSize->18, FontColor->RGBColor[1, 0, 1]], StyleBox["\n", FontSize->18], StyleBox["To accompany the text:", FontColor->RGBColor[1, 0, 0]], "\n", StyleBox[ "Numerical Methods: for Mathematics, \nScience, and Engineering, 2", FontSize->18, FontColor->RGBColor[0, 0, 1]], StyleBox["nd", FontSize->14, FontColor->RGBColor[0, 0, 1], FontVariations->{"CompatibilityType"->"Superscript"}], StyleBox[" Ed, 1992", FontSize->18, FontColor->RGBColor[0, 0, 1]], StyleBox["\n", FontSize->18], StyleBox[ "Prentice Hall, Inc.\nSimon & Schuster, One Lake Street\nUpper Saddle \ River, New Jersey 07458 U.S.A.", FontSize->18, FontColor->RGBColor[0, 1, 1]], StyleBox["\n", FontSize->18], StyleBox[ "Prentice Hall, Inc.; USA, Canada, Mexico ISBN 0-13-624990-6\nPrentice \ Hall, International Editions: ISBN 0-13-625047-5\nwww.Prenhall.com", FontSize->14, FontColor->RGBColor[0, 1, 0]], StyleBox["\n", FontSize->14], StyleBox[ "This free software is compliments of the author.\nE-mail address: in%\ \"mathews@fullerton.edu\"", FontSize->14, FontColor->RGBColor[1, 0, 1]] }], "Text", Evaluatable->False, TextAlignment->Center, AspectRatioFixed->True], Cell[TextData[StyleBox["CONTENTS", FontSize->18, FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]]], "Text", Evaluatable->False, TextAlignment->Center, AspectRatioFixed->True], Cell[TextData[{ StyleBox["Chapter 3. The Solution of Linear Systems AX = B", FontWeight->"Bold"], "\n\t", StyleBox["Algorithm 3.1 ", FontWeight->"Bold"], StyleBox["Back Substitution", FontColor->RGBColor[1, 0, 1]], ".\n\t", StyleBox["Algorithm 3.2 ", FontWeight->"Bold"], StyleBox["Upper-Triangularization Followed by Back Substitution", FontColor->RGBColor[1, 0, 1]], ".\n\t", StyleBox["Algorithm 3.3 ", FontWeight->"Bold"], StyleBox["PA = LU Factorization with Pivoting", FontColor->RGBColor[1, 0, 1]], ".\n\t", StyleBox["Algorithm 3.4 ", FontWeight->"Bold"], StyleBox["Jacobi Iteration", FontColor->RGBColor[1, 0, 1]], ".\n\t", StyleBox["Algorithm 3.5 ", FontWeight->"Bold"], StyleBox["Gauss-Seidel Iteration", FontColor->RGBColor[1, 0, 1]], "." }], "Text", Evaluatable->False, AspectRatioFixed->True, FontColor->RGBColor[0, 0, 1]], Cell[BoxData[ RowBox[{ StyleBox[\(Clear["\"]\), "MR"], StyleBox[";", "MR"], "\n", \(Off[General::"\"]\), ";", "\n", \(Clear[a, a0, A, b, b0, B, BackSub, c, GaussJordan, GaussSeidel, i, j, Jacobi, k, lu0, LUfactor, m, ma, max, mna, n, n1, na, nb, Nonsingular, p, P0, x, row, rowk, rowp, sum, Singular, SolveLU, Tol, V, x]\), ";", "\n", \(On[General::"\"]\), ";"}]], "Input", InitializationCell->True], Cell[TextData[{ StyleBox["Algorithm 3.1 ", FontWeight->"Bold"], StyleBox["Back Substitution", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".", FontWeight->"Bold"], " To solve the upper-triangular system:\n ", Cell[BoxData[{ \(\(a\_\(1, 1\)\) x\_1 + \(a\_\(1, 2\)\) x\_2 + \(a\_\(1, 3\)\) x\_3 + \[CenterEllipsis] + \(a\_\(1, n - 1\)\) x\_\(n - 1\) + \(a\_\(1, n\)\) x\_n\ = \ b\_1\), \(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(a\_\(2, 2\)\) x\_2 + \(a\_\(2, 3\)\) x\_3 + \[CenterEllipsis] + \(a\_\(2, n - 1\)\) x\_\(n - 1\) + \(a\_\(2, n\)\) x\_n\ = \ b\_2\), \(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(a\_\(3, 3\)\) x\_3 + \[CenterEllipsis] + \(a\_\(3, n - 1\)\) x\_\(n - 1\) + \(a\_\(3, n\)\) x\_n\ = \ b\_3\), \(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \[VerticalEllipsis]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \[VerticalEllipsis]\ \ \ \ \ \ \ \ \ \[VerticalEllipsis]\), \(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(a\_\(n - 1, n - 1\)\) x\_\(n - 1\) + \(a\_\(n - 1, n\)\) x\_n\ = \ b\_\(n - 1\)\), \(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \(a\_\(n, n\)\) x\_n\ = \ b\_n\)}]], StyleBox["\n", FontSize->9, FontVariations->{"CompatibilityType"->"Subscript"}], "Proceed with the method only if all the diagonal elements are non-zero. \ First compute ", Cell[BoxData[ RowBox[{\(x\_n\), " ", "=", " ", FractionBox[ StyleBox[\(b\_n\), FontSize->12], StyleBox[\(a\_\(n, n\)\), FontSize->12]]}]]], " and then use the rule\n", Cell[BoxData[ RowBox[{\(x\_k\), " ", "=", " ", FractionBox[ StyleBox[ \(b\_k - \(a\_\(k, k + 1\)\) x\_\(k + 1\) - \[CenterEllipsis] - \(a\_\(k, n - 1\)\) x\_\(n - 1\) - \(a\_\(k, n\)\) x\_n\), FontSize->12], StyleBox[\(a\_\(k, k\)\), FontSize->12]]}]]], " for k = n-1, n-2, \[CenterEllipsis] , 1.\nRemark. Additional steps \ have been placed in the algorithm which perform the side calculation of ", Cell[BoxData[ RowBox[{"det", RowBox[{"(", StyleBox["A", FontWeight->"Bold"], ")"}]}]]], ", the determinant of ", StyleBox["A", FontWeight->"Bold"], ". \n", StyleBox["Section 3.3 Upper-Triangular Linear Systems Page 145", FontWeight->"Bold"] }], "Text", CellFrame->True, Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Execute this cell to activate", FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], " ", StyleBox["Back Substitution", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], StyleBox[ "BackSub[a0_,b0_]\na0_ is the matrix A,\nb0_ is the column vector B.", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[BoxData[{ \(\(Off[General::"\"]; \)\), \(\(Clear[BackSub, a0, b0]; \)\), \(BackSub[a0_, b0_] := Module[{a, b, x, k, sum, mna, nb, ma, na}, \n\ \ \ a = a0; \n\ \ \ b = b0; \n\ \ \ mna = Dimensions[a]; \n\ \ \ nb = Length[b]; \n\ \ \ ma = mna\[LeftDoubleBracket]1\[RightDoubleBracket]; \n\ \ \ na = mna\[LeftDoubleBracket]2\[RightDoubleBracket]; \n\ \ \ det = 1; \n\ \ \ For[k = 1, k \[LessEqual] ma, \(k++\), \(det = det\ a\[LeftDoubleBracket]k, k\[RightDoubleBracket]; \)]; \n \ \ \ \ \ \ If[ma == na && det \[NotEqual] 0, \n\ \ \ \ \ \ Module[{i, j}, \n\ \ \ \ \ \ \ \ \ x = Table[0, {i, ma}]; \n \ \ \ \ \ \ \ \ \ x\[LeftDoubleBracket]ma\[RightDoubleBracket] = b\[LeftDoubleBracket]ma\[RightDoubleBracket]\/a \[LeftDoubleBracket]ma, ma\[RightDoubleBracket]; \n \ \ \ \ \ \ \ \ \ Clear[i, j, k]; \n\ \ \ \ \ \ \ \ \ For[i = ma - 1, 1 \[LessEqual] i, \(i--\), \n\ \ \ \ \ \ \ \ \ sum = 0; \n\ \ \ \ \ \ \ \ \ For[j = i + 1, j \[LessEqual] ma, \(j++\), sum = sum + a\[LeftDoubleBracket]i, j\[RightDoubleBracket]\ x\[LeftDoubleBracket]j\[RightDoubleBracket]]; \n \ \ \ \ \ \ \ \ \ x\[LeftDoubleBracket]i\[RightDoubleBracket] = \(b\[LeftDoubleBracket]i\[RightDoubleBracket] - sum\)\/a \[LeftDoubleBracket]i, i\[RightDoubleBracket]; ]; ], \n \ \ \ \ \ \ \ \ \ x = MatrixIsSingular]; \n\ \ \ Return[x]; ]; \n \(On[General::"\"]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->False] }, Closed]], Cell[TextData[{ "\n", StyleBox["Chapter 3, Example 3.12, Page 144.", FontWeight->"Bold"], "\nUse back substitution to solve the upper-triangular linear system ", StyleBox["AX", FontWeight->"Bold"], " = ", StyleBox["B", FontWeight->"Bold"], ":" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ RowBox[{ RowBox[{"A", " ", "=", " ", RowBox[{"(", GridBox[{ {"3", \(-1\), "2", "3"}, {"0", \(-2\), "7", \(-4\)}, {"0", "0", "6", "5"}, {"0", "0", "0", "3"} }], ")"}]}], ";", "\n", RowBox[{"B", " ", "=", " ", RowBox[{"(", GridBox[{ {"20"}, {\(-7\)}, {"4"}, {"6"} }], ")"}]}], ";", "\n", RowBox[{"Xs", " ", "=", " ", RowBox[{"(", GridBox[{ {\(x\_1\)}, {\(x\_2\)}, {\(x\_3\)}, {\(x\_4\)} }], ")"}]}], ";", "\n", \(X = BackSub[A, B]\), ";", "\n", \(Print["\", MatrixForm[A], MatrixForm[Xs], "\< = \>", MatrixForm[B]]\), ";", "\n", \(Print["\", MatrixForm[X]]\), ";"}]], "Input"], Cell[TextData[{ "Verify by matrix multiplication to see if ", StyleBox["AX = B", FontWeight->"Bold"], "." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(Print[MatrixForm[A], MatrixForm[X], "\< = \>", MatrixForm[A.X], "\<, B = \>", MatrixForm[B]]; \)\)], "Input"], Cell[TextData[{ "Compare with ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built in routine." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Z = LinearSolve[A, B]; \nPrint["\", MatrixForm[Z]]; \n Print[MatrixForm[A], MatrixForm[Z], "\< = \>", MatrixForm[A.Z], "\<, B = \>", MatrixForm[B]]; \)], "Input", AspectRatioFixed->False], Cell[TextData[{ StyleBox["Algorithm 3.2 ", FontWeight->"Bold"], StyleBox["Upper-Triangularization Followed by Back Substitution", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".", FontWeight->"Bold"], "\nTo construct the solution to ", Cell[BoxData[ RowBox[{ StyleBox["AX", FontWeight->"Bold"], "=", StyleBox["B", FontWeight->"Bold"]}]]], ", by first reducing the augmentedmatrix ", Cell[BoxData[ RowBox[{"[", RowBox[{ StyleBox["A", FontWeight->"Bold"], ",", StyleBox["B", FontWeight->"Bold"]}], "]"}]]], " to upper triangular form and then performing back substitution.\n", StyleBox["Section 3.4 Gaussian Elimination and Pivoting Page 156", FontWeight->"Bold"] }], "Text", CellFrame->True, Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ " Let the coefficients of ", StyleBox["A", FontWeight->"Bold"], " and the constants of ", StyleBox["B", FontWeight->"Bold"], " be stored in the augmented \nmatrix [", StyleBox["A", FontWeight->"Bold"], ", ", StyleBox["B", FontWeight->"Bold"], "] = (", Cell[BoxData[ \(a\_\(i, j\)\)]], ") which has n rows and n+1 columns; that is, the column \nvector ", StyleBox["B", FontWeight->"Bold"], " = (", Cell[BoxData[ \(a\_\(i, n + 1\)\)]], ") is stored in column n+1 of the augmented matrix [", StyleBox["A", FontWeight->"Bold"], ", ", StyleBox["B", FontWeight->"Bold"], "]. \nThe system can be written\n ", Cell[BoxData[{ \(\ \ \ \(a\_\(1, 1\)\) x\_1\ \ + \ \ \ \ \(a\_\(1, 2\)\) x\_2\ \ + \[CenterEllipsis] + \ \ \ \ \ \(a\_\(1, n - 1\)\) x\_\(n - 1\)\ + \ \ \ \(a\_\(1, n\)\) x\_n\ \ \ = \ a\_\(1, n + 1\)\), \(\ \ \ \(a\_\(2, 1\)\) x\_1\ \ + \ \ \ \ \(a\_\(2, 2\)\) x\_\(2\ \)\ + \[CenterEllipsis] + \ \ \ \ \ \(a\_\(2, n - 1\)\) x\_\(n - 1\)\ + \ \ \ \(a\_\(2, n\)\) x\_n\ \ \ = \ a\_\(2, n + 1\)\), \(\(a\_\(n - 1, 1\)\) x\_1\ \ + \ \(a\_\(n - 1, 2\)\) x\_2\ + \[CenterEllipsis] + \ \(a\_\(n - 1, n - 1\)\) x\_\(n - 1\)\ \ + \ \(a\_\(n - 1, n\)\) x\_n\ = \ a\_\(n - 1, n + 1\)\), \(\ \ \ \(a\_\(n, 1\)\) x\_1\ \ + \ \ \ \(a\_\(n, 2\)\) x\_2\ \ \ + \[CenterEllipsis] + \ \ \ \ \(a\_\(n, n - 1\)\) x\_\(n - 1\)\ \ + \ \ \ a\_\(n, n\)\ x\_n\ \ = \ a\_\(n, n + 1\)\)}]], "\nRow operations will be used to eliminate ", Cell[BoxData[ \(x\_p\)]], " in column p.\nREMARKS. Rather than actually interchange rows, row \ interchanges are recorded in the pointer vector Row(p). If either the matrix \ ", StyleBox["A", FontWeight->"Bold"], " or vector ", StyleBox["B", FontWeight->"Bold"], " is to be used later, then a copy must be stored someplace else besides \ the augmented matrix." }], "Text", Evaluatable->False, AspectRatioFixed->False], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Execute this cell to activate", FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], " ", StyleBox["Upper-Triangularization Followed by Back Substitution", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], StyleBox["GaussJordan[a0_]\na0_ is the augmented matrix [A,B].", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[BoxData[{ \(\(Off[General::"\"]; \)\), \(\(Clear[GaussJordan, a0]; \)\), \(GaussJordan[a0_] := Module[{a, i, j, mna, n, n1, p, row, x, cond, Nonsingular, Singular}, \n \t\ta = a0; \n\t\tmna = Dimensions[a]; \n\t\t n = mna\[LeftDoubleBracket]1\[RightDoubleBracket]; \n\t\t n1 = mna\[LeftDoubleBracket]2\[RightDoubleBracket]; \n\t\t x = Table[0, {i, n}]; \n\t\tcond = Nonsingular; \n\t\tClear[row]; \n \t\tFor[j = 1, j \[LessEqual] n, \(j++\), row[j] = j]; \n\t\t For[p = 1, p \[LessEqual] n - 1, \(p++\), \n\t\t\t \(Block[{k}, \n\t\t\t\t For[k = p + 1, k \[LessEqual] n, \(k++\), \n\t\t\t\t\t \(If[Abs[a\[LeftDoubleBracket]row[k], p\[RightDoubleBracket]] > Abs[a\[LeftDoubleBracket]row[p], p\[RightDoubleBracket]], t = row[p]; row[p] = row[k]; row[k] = t]; \)]; \n\t\t\t\t If[a\[LeftDoubleBracket]row[p], p\[RightDoubleBracket] == 0, \n \t\t\t\t\t Print["\", row[p], "\<,\>", p, "\<) = \>", a\[LeftDoubleBracket]row[p], p\[RightDoubleBracket]]; \n \t\t\t\t\tcond = Singular; \n\t\t\t\t\t Print["\"]; \n\t\t\t\t\t Goto[getout]; ]; \n\t\t\t\tClear[k]; \n\t\t\t\t For[k = p + 1, k \[LessEqual] n, \(k++\), \n\t\t\t\t\t \(Module[{c}, m = a\[LeftDoubleBracket]row[k], p\[RightDoubleBracket]\/a \[LeftDoubleBracket]row[p], p\[RightDoubleBracket]; \n \t\t\t\t\t\t For[c = p + 1, c \[LessEqual] n + 1, \(c++\), \n\t\t\t\t\t\t\t a\[LeftDoubleBracket]row[k], c\[RightDoubleBracket] = a\[LeftDoubleBracket]row[k], c\[RightDoubleBracket] - m\ a\[LeftDoubleBracket]row[p], c \[RightDoubleBracket]]; ]; \)]; ]; \)]; \n\t\t If[a\[LeftDoubleBracket]row[n], n\[RightDoubleBracket] == 0, \n\t\t\t Print["\", row[n], "\<,\>", n, "\<) = \>", a\[LeftDoubleBracket]row[n], n\[RightDoubleBracket]]; \n\t\t\t cond = Singular; \n\t\t\tPrint["\"]; \n \t\t\tGoto[getout]; ]; \n\t\t x\[LeftDoubleBracket]n\[RightDoubleBracket] = a\[LeftDoubleBracket]row[n], n + 1\[RightDoubleBracket]\/a \[LeftDoubleBracket]row[n], n\[RightDoubleBracket]; \n\t\t Clear[k]; \n\t\t For[k = n - 1, 1 \[LessEqual] k, \(k--\), \n\t\t\tsum := 0; \n\t\t\t For[c = k + 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t sum = sum + a\[LeftDoubleBracket]row[k], c\[RightDoubleBracket]\ x\[LeftDoubleBracket]c\[RightDoubleBracket]; \n\t\t\t\t x\[LeftDoubleBracket]k\[RightDoubleBracket] = \(a\[LeftDoubleBracket]row[k], n + 1\[RightDoubleBracket] - sum \)\/a\[LeftDoubleBracket]row[k], k \[RightDoubleBracket]; ]; ]; \n\t\tLabel[getout]; \n\t\t Return[x]; ]; \n\(On[General::"\"]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->False] }, Closed]], Cell[TextData[{ "\n", StyleBox["Chapter 3, Exercise 8, Page 158.", FontWeight->"Bold"], " Use upper-triangularization followed by \nback-substitution to solve the \ linear system ", StyleBox["AX = B", FontWeight->"Bold"], ":" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ RowBox[{ RowBox[{"A", " ", "=", " ", RowBox[{"(", GridBox[{ {"4", "8", "4", "0"}, {"1", "5", "4", \(-3\)}, {"1", "4", "7", "2"}, {"1", "3", "0", \(-2\)} }], ")"}]}], ";", "\n", RowBox[{"B", " ", "=", " ", RowBox[{"(", GridBox[{ {"8"}, {\(-4\)}, {"10"}, {\(-4\)} }], ")"}]}], ";", "\n", RowBox[{"Xs", " ", "=", " ", RowBox[{"(", GridBox[{ {\(x\_1\)}, {\(x\_2\)}, {\(x\_3\)}, {\(x\_4\)} }], ")"}]}], ";", "\n", RowBox[{"AB", " ", "=", " ", RowBox[{"(", GridBox[{ {"4", "8", "4", "0", "8"}, {"1", "5", "4", \(-3\), \(-4\)}, {"1", "4", "7", "2", "10"}, {"1", "3", "0", \(-2\), \(-4\)} }], ")"}]}], ";", "\n", \(X = GaussJordan[AB]\), ";", "\n", \(Print["\", MatrixForm[A], MatrixForm[Xs], "\< = \>", MatrixForm[B]]\), ";", "\n", \(Print["\", MatrixForm[X]]\), ";"}]], "Input"], Cell[TextData[{ "Verify by matrix multiplication to see if ", StyleBox["AX = B", FontWeight->"Bold"], "." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(Print[MatrixForm[A], MatrixForm[X], "\< = \>", MatrixForm[A.X], "\<, B = \>", MatrixForm[B]]; \)\)], "Input"], Cell[TextData[{ "Compare with ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built in routine." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Z = LinearSolve[A, B]; \nPrint["\", MatrixForm[Z]]; \n Print[MatrixForm[A], MatrixForm[Z], "\< = \>", MatrixForm[A.Z], "\<, B = \>", MatrixForm[B]]; \)], "Input", AspectRatioFixed->False], Cell[TextData[{ StyleBox["Algorithm 3.3 ", FontWeight->"Bold"], StyleBox["PA = LU Factorization with Pivoting", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], "To construct the solution to the linear system ", Cell[BoxData[ RowBox[{ StyleBox["AX", FontWeight->"Bold"], "=", StyleBox["B", FontWeight->"Bold"]}]]], " by performing the steps:\n", StyleBox["1.", FontWeight->"Bold"], " Find a permutation matrix ", StyleBox["P", FontWeight->"Bold"], " , lower-triangular matrix ", StyleBox["L", FontWeight->"Bold"], " and \n upper-triangular matrix ", StyleBox["U", FontWeight->"Bold"], " which satisfy ", Cell[BoxData[ RowBox[{ StyleBox["PA", FontWeight->"Bold"], "=", StyleBox["LU", FontWeight->"Bold"]}]]], ".\n", StyleBox["2.", FontWeight->"Bold"], " Compute ", StyleBox["PB", FontWeight->"Bold"], " and form the equivalent linear system ", Cell[BoxData[ RowBox[{ StyleBox["LUX", FontWeight->"Bold"], " ", "=", " ", StyleBox["PB", FontWeight->"Bold"]}]]], ".\n", StyleBox["3.", FontWeight->"Bold"], " Solve the lower-triangular system ", Cell[BoxData[ RowBox[{ StyleBox["LY", FontWeight->"Bold"], " ", "=", " ", StyleBox["PB", FontWeight->"Bold"]}]]], " for ", StyleBox["Y", FontWeight->"Bold"], ".\n", StyleBox["4.", FontWeight->"Bold"], " Solve the upper-triangular system ", Cell[BoxData[ RowBox[{ StyleBox["UX", FontWeight->"Bold"], " ", "=", " ", StyleBox["Y", FontWeight->"Bold"]}]]], " for ", StyleBox["X", FontWeight->"Bold"], ".\nRemarks: Since the diagonal elements of ", StyleBox["L", FontWeight->"Bold"], " are all 1's these values do not need to be stored. The coefficients of \ ", StyleBox["L", FontWeight->"Bold"], " below the main diagonal and the nonzero coefficients of ", StyleBox["U", FontWeight->"Bold"], " overwrite the matrix ", StyleBox["A", FontWeight->"Bold"], ". The permutation matrix ", StyleBox["P", FontWeight->"Bold"], " is not actually needed. The pointer vector ", StyleBox["row", FontWeight->"Bold"], " serves in its place to keep track of row interchanges. If matrix ", StyleBox["A", FontWeight->"Bold"], " is to be used later, then a copy must be stored someplace else. The \ value det is the determinant of ", StyleBox["A", FontWeight->"Bold"], ".\n", StyleBox["Section 3.6 Triangular Factorizaton Page 175", FontWeight->"Bold"] }], "Text", CellFrame->True, Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Execute this cell to activate", FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], " ", StyleBox["PA = LU Factorization with Pivoting", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], StyleBox[ "LUfactor[a0_]\nSolveLU[lu0_,b0_]\na0_ is the matrix A,\nb0_ is the column \ vector B,\nlu0_ is the factored matrix.", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(Off[General::"\"]; \)\), \(\(Clear[LUfactor, a0, row]; \)\), \(\(LUfactor[a0_] := Module[{a, i, j, p, mna, n, m, rowk, rowp}, \n\t\ta = a0; \n\t\t mna = Dimensions[a]; \n\t\t n = mna\[LeftDoubleBracket]1\[RightDoubleBracket]; \n\t\t m = mna\[LeftDoubleBracket]2\[RightDoubleBracket]; \n\t\tdet = 1; \n \t\tFor[j = 1, j \[LessEqual] n, \(j++\), row[j] = j]; \n\t\t For[p = 1, p \[LessEqual] n - 1, \(p++\), \n\t\t\t \(Block[{c, k}, \n\t\t\t\t For[k = p + 1, k \[LessEqual] n, \(k++\), \n\t\t\t\t\t \(If[Abs[a\[LeftDoubleBracket]row[k], p\[RightDoubleBracket]] > Abs[a\[LeftDoubleBracket]row[p], p\[RightDoubleBracket]], t = row[p]; \n\t\t\t\t\t\trow[p] = row[k]; \n\t\t\t\t\t\t row[k] = t; \n\t\t\t\t\t\tdet = \(-det\)]; \)]; \n\t\t\t\t det = det\ a\[LeftDoubleBracket]row[p], p\[RightDoubleBracket]; \n \t\t\t\tIf[det == 0, Print["\"]; \n \t\t\t\t\tGoto[getout]; ]; \n\t\t\t\tClear[k]; \n\t\t\t\t For[k = p + 1, k \[LessEqual] n, \(k++\), \n\t\t\t\t\t rowk = row[k]; \n\t\t\t\t\trowp = row[p]; \n\t\t\t\t\t a\[LeftDoubleBracket]rowk, p\[RightDoubleBracket] = a\[LeftDoubleBracket]rowk, p\[RightDoubleBracket]\/a \[LeftDoubleBracket]rowp, p\[RightDoubleBracket]; \n \t\t\t\t\t For[c = p + 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t\t\t \(a\[LeftDoubleBracket]rowk, c\[RightDoubleBracket] = a\[LeftDoubleBracket]rowk, c\[RightDoubleBracket] - a\[LeftDoubleBracket]rowk, p\[RightDoubleBracket]\ a\[LeftDoubleBracket]rowp, c\[RightDoubleBracket]; \)]; ]; ]; \)]; \n\t\tLabel[getout]; \n\t\t det = det\ a\[LeftDoubleBracket]row[n], n\[RightDoubleBracket]; \n\t\t Return[a]; ]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->False], Cell[BoxData[{ \(\(Clear[SolveLU, lu0, b0]; \)\), \(SolveLU[lu0_, b0_] := \n\t Module[{a, c, i, j, k, n, p, x, rowk, sum}, \n\t\ta = lu0; \n\t\t b = b0; \n\t\tn = Length[a]; \n\t\tx = Table[0, {i, n}]; \n\t\t For[k = 1, k \[LessEqual] n, \(k++\), \n\t\t\t \(If[a\[LeftDoubleBracket]row[k], k\[RightDoubleBracket] == 0, Goto[getout]]; \)]; \n\t\t x\[LeftDoubleBracket]1\[RightDoubleBracket] = b\[LeftDoubleBracket]row[1]\[RightDoubleBracket]; \n\t\tClear[k]; \n \t\tFor[k = 2, k \[LessEqual] n, \(k++\), \n\t\t\tsum = 0; \n\t\t\t rowk = row[k]; \n\t\t\t For[c = 1, c \[LessEqual] k - 1, \(c++\), \n\t\t\t\t sum = sum + a\[LeftDoubleBracket]rowk, c\[RightDoubleBracket]\ x\[LeftDoubleBracket]c\[RightDoubleBracket]]; \n\t\t\t x\[LeftDoubleBracket]k\[RightDoubleBracket] = b\[LeftDoubleBracket]rowk\[RightDoubleBracket] - sum; ]; \n\t\t x\[LeftDoubleBracket]n\[RightDoubleBracket] = x\[LeftDoubleBracket]n\[RightDoubleBracket]\/a \[LeftDoubleBracket]row[n], n\[RightDoubleBracket]; \n\t\t Clear[k]; \n\t\t For[k = n - 1, 1 \[LessEqual] k, \(k--\), \n\t\t\tsum = 0; \n\t\t\t rowk = row[k]; \n\t\t\t For[c = k + 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t sum = sum + a\[LeftDoubleBracket]rowk, c\[RightDoubleBracket]\ x\[LeftDoubleBracket]c\[RightDoubleBracket]]; \n\t\t\t x\[LeftDoubleBracket]k\[RightDoubleBracket] = \(x\[LeftDoubleBracket]k\[RightDoubleBracket] - sum\)\/a \[LeftDoubleBracket]rowk, k\[RightDoubleBracket]; ]; \n\t\t Label[getout]; \n\t\tReturn[x]; ]; \n\(On[General::"\"]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->False] }, Open ]] }, Closed]], Cell[TextData[{ "\n", StyleBox["Chapter 3, Exercise 7, Page 178.", FontWeight->"Bold"], "\nUse LU factorization with pivoting to solve the linear system ", StyleBox["AX = B", FontWeight->"Bold"], ":" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ RowBox[{ RowBox[{"A", " ", "=", " ", RowBox[{"(", GridBox[{ {"2", "4", \(-4\), "0"}, {"1", "5", \(-5\), \(-3\)}, {"2", "3", "1", "3"}, {"1", "4", \(-2\), "2"} }], ")"}]}], ";", "\n", \(LU = LUfactor[A]\), ";", "\n", \(Print["\", MatrixForm[LU]]\), ";"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"B", " ", "=", " ", RowBox[{"(", GridBox[{ {"12"}, {"18"}, {"8"}, {"8"} }], ")"}]}], ";", "\n", \(X = SolveLU[LU, B]\), ";", "\n", \(Print["\", MatrixForm[A], MatrixForm[Xs], "\< = \>", MatrixForm[B]]\), ";", "\n", \(Print["\", MatrixForm[X]]\), ";"}]], "Input"], Cell[TextData[{ "Verify by matrix multiplication to see if ", StyleBox["AX = B", FontWeight->"Bold"], "." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(Print[MatrixForm[A], MatrixForm[X], "\< = \>", MatrixForm[A.X], "\<, B = \>", MatrixForm[B]]; \)\)], "Input"], Cell[TextData[{ "Compare with ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built in routine." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Z = LinearSolve[A, B]; \nPrint["\", MatrixForm[Z]]; \n Print[MatrixForm[A], MatrixForm[Z], "\< = \>", MatrixForm[A.Z], "\<, B = \>", MatrixForm[B]]; \)], "Input", AspectRatioFixed->False], Cell[TextData[{ StyleBox["Algorithm 3.4 ", FontWeight->"Bold"], StyleBox["Jacobi Iteration", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".", FontWeight->"Bold"], " To solve the linear system ", Cell[BoxData[ RowBox[{ StyleBox["AX", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], "=", StyleBox[" ", FontWeight->"Bold"], StyleBox["B", FontWeight->"Bold"]}]]], " by starting with ", Cell[BoxData[ RowBox[{ StyleBox[\(P\_0\), FontWeight->"Bold"], "=", StyleBox["0", FontWeight->"Bold"]}]]], ", and generating a sequence ", Cell[BoxData[ RowBox[{"{", StyleBox[\(P\_k\), FontWeight->"Bold"], "}"}]]], " which converges to the solution ", StyleBox["P", FontWeight->"Bold"], ", i.e. ", Cell[BoxData[ RowBox[{ StyleBox["AP", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], "=", StyleBox[" ", FontWeight->"Bold"], StyleBox["B", FontWeight->"Bold"]}]]], ". A sufficient condition for the method to be applicable is that ", StyleBox["A", FontWeight->"Bold"], " is diagonally dominant. \n", StyleBox["Section 3.7 Iterative Methods for Linear Systems Page 186", FontWeight->"Bold"] }], "Text", CellFrame->True, Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Execute this cell to activate", FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], " ", StyleBox["Jacobi Iteration", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], StyleBox[ "Jacobi[A_,B_,P0_,Tol_,max_]\nA_ is the matrix A,\nB_ is the column vector \ B,\nP0_ is the starting vector,\nTol_ is the tolerance,\nmax_ is the maximum \ number of iterations.", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[BoxData[{ \(\(Off[General::"\"]; \)\), \(\(Clear[Jacobi, A, B, V, P0, Tol, max]; \)\), \(Jacobi[A_, B_, P0_, Tol_, max_] := \n\t Block[{r, c, k, n, cond, stat, Xold, row, DiagonallyDominant, NotDominant}, \n\t\t norm[V_] := N[\@ReplaceAll[V\^2, List \[Rule] Plus]]; \n\t\tsep = 1; \n\t\tk = 0; \n\t\tcond = 1; \n\t\tstat = DiagonallyDominant; \n\t\t X = N[P0]; \n\t\tXold = P0; \n\t\tn = Length[X]; \n\t\t For[r = 1, r \[LessEqual] n, \(r++\), \n\t\t\trow = 0; \n\t\t\t For[c = 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t row = N[row + Abs[A\[LeftDoubleBracket]r, c\[RightDoubleBracket]]]]; \n \t\t\tIf[ row \[GreaterEqual] 2\ Abs[A\[LeftDoubleBracket]r, r\[RightDoubleBracket]], cond = 0]]; \n\t\t If[cond == 0, stat = NotDominant; Goto[getout]]; \n\t\t While[k < max && sep > Tol, \n\t\t\t For[r = 1, r \[LessEqual] n, \(r++\), sum = N[B\[LeftDoubleBracket]r\[RightDoubleBracket]]; \n\t\t\t\t For[c = 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t\t \(If[c \[NotEqual] r, sum = N[ sum - A\[LeftDoubleBracket]r, c\[RightDoubleBracket]\ Xold\[LeftDoubleBracket]c\[RightDoubleBracket]]]; \)]; \n\t\t\t\t X\[LeftDoubleBracket]r\[RightDoubleBracket] = N[sum\/A\[LeftDoubleBracket]r, r\[RightDoubleBracket]]]; \n \t\t\tsep = norm[X - Xold]; \n\t\t\t Print[MatrixForm[Transpose[N[X, 10]]]]; \n\t\t\tXold = X; k = k + 1]; \n\t\tLabel[getout]; ]; \nOn[General::"\"]; \)}], "Input", InitializationCell->True, AspectRatioFixed->False] }, Closed]], Cell[TextData[{ "\n", StyleBox["Chapter 3, Example 3.25, Page 180.", FontWeight->"Bold"], "\nUse Jacobi iteration to solve the linear system ", StyleBox["AX = B", FontWeight->"Bold"], ":" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ RowBox[{\(Clear[A, B, P0, X]\), ";", "\n", RowBox[{"A", " ", "=", RowBox[{"(", GridBox[{ {"4", \(-1\), "1"}, {"4", \(-8\), "1"}, {\(-2\), "1", "5"} }], ")"}]}], ";", "\n", RowBox[{"B", " ", "=", " ", RowBox[{"(", GridBox[{ {"7"}, {\(-21\)}, {"15"} }], ")"}]}], ";", "\n", RowBox[{"P0", " ", "=", " ", RowBox[{"(", GridBox[{ {"1"}, {"2"}, {"2"} }], ")"}]}], ";", "\n", RowBox[{"Xs", " ", "=", " ", RowBox[{"(", GridBox[{ {\(x\_1\)}, {\(x\_2\)}, {\(x\_3\)} }], ")"}]}], ";", "\n", \(Jacobi[A, B, P0, 0.00000001, 100]\), ";", "\n", \(Print["\", MatrixForm[A], MatrixForm[Xs], "\< = \>", MatrixForm[B]]\), ";", "\n", \(Print["\", MatrixForm[X]]\), ";"}]], "Input"], Cell[TextData[{ "Verify by matrix multiplication to see if ", StyleBox["AX = B", FontWeight->"Bold"], "." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(Print[MatrixForm[A], MatrixForm[X], "\< = \>", MatrixForm[A.X], "\<, B = \>", MatrixForm[B]]; \)\)], "Input"], Cell[TextData[{ "Compare with ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built in routine." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Z = LinearSolve[A, B]; \nPrint["\", MatrixForm[Z]]; \n Print[MatrixForm[A], MatrixForm[Z], "\< = \>", MatrixForm[A.Z], "\<, B = \>", MatrixForm[B]]; \)], "Input", AspectRatioFixed->False], Cell[TextData[{ StyleBox["Algorithm 3.5 ", FontWeight->"Bold"], StyleBox["Gauss-Seidel Iteration", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".", FontWeight->"Bold"], " To solve the linear system ", Cell[BoxData[ RowBox[{ StyleBox["AX", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], "=", StyleBox[" ", FontWeight->"Bold"], StyleBox["B", FontWeight->"Bold"]}]]], " by starting with ", Cell[BoxData[ RowBox[{ StyleBox[\(P\_0\), FontWeight->"Bold"], "=", StyleBox["0", FontWeight->"Bold"]}]]], ", and generating a sequence ", Cell[BoxData[ RowBox[{"{", StyleBox[\(P\_k\), FontWeight->"Bold"], "}"}]]], " which converges to the solution ", StyleBox["P", FontWeight->"Bold"], ", i.e. ", Cell[BoxData[ RowBox[{ StyleBox["AP", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Bold"], "=", StyleBox[" ", FontWeight->"Bold"], StyleBox["B", FontWeight->"Bold"]}]]], ". A sufficient condition for the method to be applicable is that ", StyleBox["A", FontWeight->"Bold"], " is diagonally dominant. \n", StyleBox["Section 3.7 Iterative Methods for Linear Systems Page 187", FontWeight->"Bold"] }], "Text", CellFrame->True, Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[{ StyleBox["Execute this cell to activate", FontWeight->"Bold", FontColor->RGBColor[0, 1, 0]], " ", StyleBox["Gauss-Seidel Iteration", FontWeight->"Bold", FontColor->RGBColor[1, 0, 1]], StyleBox[".\n", FontWeight->"Bold"], StyleBox[ "GaussSeidel[A_,B_,P0_,Tol_,max_]\nA_ is the matrix A,\nB_ is the column \ vector B,\nP0_ is the starting vector,\nTol_ is the tolerance,\nmax_ is the \ maximum number of iterations.", FontColor->RGBColor[1, 0, 0]] }], "Text"], Cell[BoxData[{ \(\(Off[General::"\"]; \)\), \(\(Clear[GaussSeidel, A, B, V, P0, Tol, max]; \)\), \(GaussSeidel[A_, B_, P0_, Tol_, max_] := \n\t Block[{r, c, k, n, Xold, cond, row, stat, DiagonallyDominant, NotDominant}, \n\t\t norm[V_] := N[\@ReplaceAll[V\^2, List \[Rule] Plus]]; \n\t\tsep = 1; \n\t\tk = 0; \n\t\tcond = 1; \n\t\tstat = DiagonallyDominant; \n\t\t X = N[P0]; \n\t\tXold = P0; \n\t\tn = Length[X]; \n\t\t For[r = 1, r \[LessEqual] n, \(r++\), \n\t\t\trow = 0; \n\t\t\t For[c = 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t row = N[row + Abs[A\[LeftDoubleBracket]r, c\[RightDoubleBracket]]]]; \n \t\t\tIf[ row \[GreaterEqual] 2\ Abs[A\[LeftDoubleBracket]r, r\[RightDoubleBracket]], cond = 0]]; \n\t\t If[cond == 0, stat = NotDominant; Goto[getout]]; \n\t\t While[k < max && sep > Tol, \n\t\t\t For[r = 1, r \[LessEqual] n, \(r++\), sum = N[B\[LeftDoubleBracket]r\[RightDoubleBracket]]; \n\t\t\t\t For[c = 1, c \[LessEqual] n, \(c++\), \n\t\t\t\t\t \(If[c \[NotEqual] r, sum = N[ sum - A\[LeftDoubleBracket]r, c\[RightDoubleBracket]\ X\[LeftDoubleBracket]c\[RightDoubleBracket]]]; \)]; \n \t\t\t\tX\[LeftDoubleBracket]r\[RightDoubleBracket] = N[sum\/A\[LeftDoubleBracket]r, r\[RightDoubleBracket]]]; \n \t\t\tsep = norm[X - Xold]; \n\t\t\t Print[MatrixForm[Transpose[N[X, 10]]]]; \n\t\t\tXold = X; k = k + 1]; \n\t\tLabel[getout]; ]; \nOn[General::"\"]; \)}], "Input", InitializationCell->True, AspectRatioFixed->False] }, Closed]], Cell[TextData[{ "\n", StyleBox["Chapter 3, Example 3.25, Page 180.", FontWeight->"Bold"], "\nUse Gauss-Seidel iteration to solve the linear system:" }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ RowBox[{\(Clear[A, B, P0, X]\), ";", "\n", RowBox[{"A", " ", "=", RowBox[{"(", GridBox[{ {"4", \(-1\), "1"}, {"4", \(-8\), "1"}, {\(-2\), "1", "5"} }], ")"}]}], ";", "\n", RowBox[{"B", " ", "=", " ", RowBox[{"(", GridBox[{ {"7"}, {\(-21\)}, {"15"} }], ")"}]}], ";", "\n", RowBox[{"P0", " ", "=", " ", RowBox[{"(", GridBox[{ {"1"}, {"2"}, {"2"} }], ")"}]}], ";", "\n", RowBox[{"Xs", " ", "=", " ", RowBox[{"(", GridBox[{ {\(x\_1\)}, {\(x\_2\)}, {\(x\_3\)} }], ")"}]}], ";", "\n", \(GaussSeidel[A, B, P0, 0.00000001, 100]\)}], \(Print["\", MatrixForm[A], MatrixForm[Xs], "\< = \>", MatrixForm[B]]; \nPrint["\", MatrixForm[X]]; \)}], "Input"], Cell[TextData[{ "Verify by matrix multiplication to see if ", StyleBox["AX = B", FontWeight->"Bold"], "." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(Print[MatrixForm[A], MatrixForm[X], "\< = \>", MatrixForm[A.X], "\<, B = \>", MatrixForm[B]]; \)\)], "Input"], Cell[TextData[{ "Compare with ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built in routine." }], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Z = LinearSolve[A, B]; \nPrint["\", MatrixForm[Z]]; \n Print[MatrixForm[A], MatrixForm[Z], "\< = \>", MatrixForm[A.Z], "\<, B = \>", MatrixForm[B]]; \)], "Input", AspectRatioFixed->False] }, FrontEndVersion->"Microsoft Windows 3.0", ScreenRectangle->{{0, 640}, {0, 452}}, AutoGeneratedPackage->None, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{583, 341}, WindowMargins->{{6, Automatic}, {Automatic, 5}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, 128}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, CharacterEncoding->"MacintoshAutomaticEncoding", StyleDefinitions -> Notebook[{ Cell[CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell["\<\ Modify the definitions below to change the default appearance of all cells in \ a given style. Make modifications to any definition using commands in the \ Format menu.\ \>", "Text"], Cell[CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[StyleData[All, "Working"], PageWidth->WindowWidth, ScriptMinSize->9], Cell[StyleData[All, "Presentation"], PageWidth->WindowWidth, ScriptMinSize->12, FontSize->16], Cell[StyleData[All, "Condensed"], PageWidth->WindowWidth, CellBracketOptions->{"Margins"->{1, 1}, "Widths"->{0, 5}}, ScriptMinSize->8, FontSize->11], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ScriptMinSize->5, FontSize->10, PrivateFontOptions->{"FontType"->"Outline"}] }, Closed]], Cell[CellGroupData[{ Cell["Notebook Options", "Section"], Cell["\<\ The options defined for the style below will be used at the Notebook level.\ \>", "Text"], Cell[StyleData["Notebook"], PageHeaders->{{Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"], None, Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"]}, {Cell[ TextData[ { ValueBox[ "FileName"]}], "Header"], None, Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, CellFrameLabelMargins->6, StyleMenuListing->None] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], CellMargins->{{12, Inherited}, {20, 40}}, CellGroupingRules->{"TitleGrouping", 0}, PageBreakBelow->False, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Subsubtitle", 0}}, FontFamily->"Helvetica", FontSize->36, FontWeight->"Bold"], Cell[StyleData["Title", "Presentation"], CellMargins->{{24, 10}, {20, 40}}, LineSpacing->{1, 0}, FontSize->44], Cell[StyleData["Title", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, FontSize->20], Cell[StyleData["Title", "Printout"], CellMargins->{{2, 10}, {15, 30}}, FontSize->24] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], CellMargins->{{12, Inherited}, {10, 15}}, CellGroupingRules->{"TitleGrouping", 10}, PageBreakBelow->False, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subsubtitle", 0}}, FontFamily->"Helvetica", FontSize->24], Cell[StyleData["Subtitle", "Presentation"], CellMargins->{{24, 10}, {15, 20}}, LineSpacing->{1, 0}, FontSize->36], Cell[StyleData["Subtitle", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, FontSize->14], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{2, 10}, {10, 15}}, FontSize->18] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubtitle"], CellMargins->{{12, Inherited}, {10, 20}}, CellGroupingRules->{"TitleGrouping", 20}, PageBreakBelow->False, CounterIncrements->"Subsubtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}}, FontFamily->"Helvetica", FontSize->14, FontSlant->"Italic"], Cell[StyleData["Subsubtitle", "Presentation"], CellMargins->{{24, 10}, {10, 20}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Subsubtitle", "Condensed"], CellMargins->{{8, 10}, {8, 12}}, FontSize->12], Cell[StyleData["Subsubtitle", "Printout"], CellMargins->{{2, 10}, {8, 10}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellDingbat->"\[FilledSquare]", CellMargins->{{25, Inherited}, {8, 24}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->16, FontWeight->"Bold"], Cell[StyleData["Section", "Presentation"], CellMargins->{{40, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->24], Cell[StyleData["Section", "Condensed"], CellMargins->{{18, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Section", "Printout"], CellMargins->{{13, 0}, {7, 22}}, FontSize->14] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellDingbat->"\[FilledSmallSquare]", CellMargins->{{22, Inherited}, {8, 20}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontSize->14, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellMargins->{{36, 10}, {11, 32}}, LineSpacing->{1, 0}, FontSize->22], Cell[StyleData["Subsection", "Condensed"], CellMargins->{{16, Inherited}, {6, 12}}, FontSize->12], Cell[StyleData["Subsection", "Printout"], CellMargins->{{9, 0}, {7, 22}}, FontSize->12] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->"\[FilledSmallSquare]", CellMargins->{{22, Inherited}, {8, 18}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, CounterIncrements->"Subsubsection", FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Presentation"], CellMargins->{{34, 10}, {11, 26}}, LineSpacing->{1, 0}, FontSize->18], Cell[StyleData["Subsubsection", "Condensed"], CellMargins->{{17, Inherited}, {6, 12}}, FontSize->10], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{9, 0}, {7, 14}}, FontSize->11] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{12, 10}, {7, 7}}, LineSpacing->{1, 3}, CounterIncrements->"Text"], Cell[StyleData["Text", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}], Cell[StyleData["Text", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}], Cell[StyleData["Text", "Printout"], CellMargins->{{2, 2}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellMargins->{{12, 10}, {6, 6}}, LineSpacing->{1, 3}, CounterIncrements->"SmallText", FontFamily->"Helvetica", FontSize->9], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{24, 10}, {8, 8}}, LineSpacing->{1, 5}, FontSize->12], Cell[StyleData["SmallText", "Condensed"], CellMargins->{{8, 10}, {5, 5}}, LineSpacing->{1, 2}, FontSize->9], Cell[StyleData["SmallText", "Printout"], CellMargins->{{2, 2}, {5, 5}}, FontSize->7] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], Cell["\<\ The cells in this section define styles used for input and output to the \ kernel. Be careful when modifying, renaming, or removing these styles, \ because the front end associates special meanings with these style names.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{45, 10}, {5, 7}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", FontWeight->"Bold", FontColor->RGBColor[1, 0, 0]], Cell[StyleData["Input", "Presentation"], CellMargins->{{72, Inherited}, {8, 10}}, LineSpacing->{1, 0}], Cell[StyleData["Input", "Condensed"], CellMargins->{{40, 10}, {2, 3}}], Cell[StyleData["Input", "Printout"], CellMargins->{{39, 0}, {4, 6}}, FontSize->9] }, Closed]], Cell[StyleData["InputOnly"], Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", StyleMenuListing->None, FontWeight->"Bold"], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{47, 10}, {7, 5}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Output", FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Output", "Presentation"], CellMargins->{{72, Inherited}, {10, 8}}, LineSpacing->{1, 0}], Cell[StyleData["Output", "Condensed"], CellMargins->{{41, Inherited}, {3, 2}}], Cell[StyleData["Output", "Printout"], CellMargins->{{39, 0}, {6, 4}}, FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Message"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Message", StyleMenuListing->None, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Message", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Message", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Message", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->8, FontColor->GrayLevel[0]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Print"], CellMargins->{{45, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, CellLabelMargins->{{11, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, AutoItalicWords->{}, FormatType->InputForm, CounterIncrements->"Print", StyleMenuListing->None, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["Print", "Presentation"], CellMargins->{{72, Inherited}, {Inherited, Inherited}}, LineSpacing->{1, 0}], Cell[StyleData["Print", "Condensed"], CellMargins->{{41, Inherited}, {Inherited, Inherited}}], Cell[StyleData["Print", "Printout"], CellMargins->{{39, Inherited}, {Inherited, Inherited}}, FontSize->8] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Graphics"], CellMargins->{{4, Inherited}, {Inherited, Inherited}}, CellGroupingRules->"GraphicsGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, ShowCellLabel->False, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Graphics", ImageMargins->{{43, Inherited}, {Inherited, 0}}, StyleMenuListing->None], Cell[StyleData["Graphics", "Presentation"], ImageMargins->{{62, Inherited}, {Inherited, 0}}], Cell[StyleData["Graphics", "Condensed"], ImageSize->{175, 175}, ImageMargins->{{38, Inherited}, {Inherited, 0}}], Cell[StyleData["Graphics", "Printout"], ImageSize->{250, 250}, ImageMargins->{{30, Inherited}, {Inherited, 0}}, FontSize->9] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["CellLabel"], StyleMenuListing->None, FontFamily->"Helvetica", FontSize->9, FontColor->RGBColor[0, 0, 1]], Cell[StyleData["CellLabel", "Presentation"], FontSize->12], Cell[StyleData["CellLabel", "Condensed"], FontSize->9], Cell[StyleData["CellLabel", "Printout"], FontFamily->"Courier", FontSize->8, FontSlant->"Italic", FontColor->GrayLevel[0]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Formulas and Programming", "Section"], Cell[CellGroupData[{ Cell[StyleData["InlineFormula"], CellMargins->{{10, 4}, {0, 8}}, CellHorizontalScrolling->True, ScriptLevel->1, SingleLetterItalics->True], Cell[StyleData["InlineFormula", "Presentation"], CellMargins->{{24, 10}, {10, 10}}, LineSpacing->{1, 5}], Cell[StyleData["InlineFormula", "Condensed"], CellMargins->{{8, 10}, {6, 6}}, LineSpacing->{1, 1}], Cell[StyleData["InlineFormula", "Printout"], CellMargins->{{2, 0}, {6, 6}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["DisplayFormula"], CellMargins->{{42, Inherited}, {Inherited, Inherited}}, CellHorizontalScrolling->True, ScriptLevel->0, SingleLetterItalics->True, StyleMenuListing->None, UnderoverscriptBoxOptions->{LimitsPositioning->True}], Cell[StyleData["DisplayFormula", "Presentation"], LineSpacing->{1, 5}], Cell[StyleData["DisplayFormula", "Condensed"], LineSpacing->{1, 1}], Cell[StyleData["DisplayFormula", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[StyleData["Header"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontSize->10, FontSlant->"Italic"], Cell[StyleData["Footer"], CellMargins->{{0, 0}, {0, 4}}, StyleMenuListing->None, FontSize->9, FontSlant->"Italic"], Cell[StyleData["PageNumber"], CellMargins->{{0, 0}, {4, 1}}, StyleMenuListing->None, FontFamily->"Times", FontSize->10] }, Closed]], Cell[CellGroupData[{ Cell["Palette Styles", "Section"], Cell["\<\ The cells below define styles that define standard ButtonFunctions, for use \ in palette buttons.\ \>", "Text"], Cell[StyleData["Paste"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, After]}]&)}], Cell[StyleData["Evaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["EvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionMove[ FrontEnd`InputNotebook[ ], All, Cell, 1], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluate"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluate[ FrontEnd`InputNotebook[ ], All]}]&)}], Cell[StyleData["CopyEvaluateCell"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`SelectionCreateCell[ FrontEnd`InputNotebook[ ], All], FrontEnd`NotebookApply[ FrontEnd`InputNotebook[ ], #, All], FrontEnd`SelectionEvaluateCreateCell[ FrontEnd`InputNotebook[ ], All]}]&)}] }, Closed]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext ButtonBoxes. The \ \"Hyperlink\" style is for links within the same Notebook, or between \ Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"]], Cell[StyleData["Hyperlink", "Condensed"]], Cell[StyleData["Hyperlink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line help \ system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"]], Cell[StyleData["MainBookLink", "Condensed"]], Cell[StyleData["MainBookLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"]], Cell[StyleData["AddOnsLink", "Condensed"]], Cell[StyleData["AddOnLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuideLink", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"]], Cell[StyleData["RefGuideLink", "Condensed"]], Cell[StyleData["RefGuideLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"]], Cell[StyleData["GettingStartedLink", "Condensed"]], Cell[StyleData["GettingStartedLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->RGBColor[0, 0, 1], FontVariations->{"Underline"->True}, ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"]], Cell[StyleData["OtherInformationLink", "Condensed"]], Cell[StyleData["OtherInformationLink", "Printout"], FontColor->GrayLevel[0], FontVariations->{"Underline"->False}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Placeholder Styles", "Section"], Cell["\<\ The cells below define styles useful for making placeholder objects in \ palette templates.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Placeholder"], Editable->False, Selectable->False, StyleBoxAutoDelete->True, Placeholder->True, StyleMenuListing->None], Cell[StyleData["Placeholder", "Presentation"]], Cell[StyleData["Placeholder", "Condensed"]], Cell[StyleData["Placeholder", "Printout"]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["SelectionPlaceholder"], Editable->False, Selectable->False, StyleBoxAutoDelete->True, Placeholder->Primary, StyleMenuListing->None, DrawHighlighted->True], Cell[StyleData["SelectionPlaceholder", "Presentation"]], Cell[StyleData["SelectionPlaceholder", "Condensed"]], Cell[StyleData["SelectionPlaceholder", "Printout"]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["FormatType Styles", "Section"], Cell["\<\ The cells below define styles that are mixed in with the styles of most \ cells. If a cell's FormatType matches the name of one of the styles defined \ below, then that style is applied between the cell's style and its own \ options.\ \>", "Text"], Cell[StyleData["CellExpression"], PageWidth->Infinity, CellMargins->{{6, Inherited}, {Inherited, Inherited}}, ShowCellLabel->False, ShowSpecialCharacters->False, AllowInlineCells->False, AutoItalicWords->{}, StyleMenuListing->None, FontFamily->"Courier", Background->GrayLevel[1]], Cell[StyleData["InputForm"], AllowInlineCells->False, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["OutputForm"], PageWidth->Infinity, TextAlignment->Left, LineSpacing->{1, -5}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["StandardForm"], LineSpacing->{1.25, 0}, StyleMenuListing->None, FontFamily->"Courier"], Cell[StyleData["TraditionalForm"], LineSpacing->{1.25, 0}, SingleLetterItalics->True, TraditionalFunctionNotation->True, DelimiterMatching->None, StyleMenuListing->None], Cell["\<\ The style defined below is mixed in to any cell that is in an inline cell \ within another.\ \>", "Text"], Cell[StyleData["InlineCell"], TextAlignment->Left, ScriptLevel->1, StyleMenuListing->None], Cell[StyleData["InlineCellEditing"], StyleMenuListing->None, Background->RGBColor[1, 0.749996, 0.8]] }, Closed]] }, Open ]] }] ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[1709, 49, 1367, 45, 307, "Text"], Cell[3079, 96, 187, 6, 38, "Text"], Cell[3269, 104, 926, 32, 128, "Text"], Cell[4198, 138, 497, 10, 130, "Input", InitializationCell->True], Cell[4698, 150, 2915, 71, 290, "Text"], Cell[CellGroupData[{ Cell[7638, 225, 390, 13, 90, "Text"], Cell[8031, 240, 1768, 31, 508, "Input", InitializationCell->True] }, Closed]], Cell[9814, 274, 330, 13, 68, "Text"], Cell[10147, 289, 888, 25, 284, "Input"], Cell[11038, 316, 178, 7, 33, "Text"], Cell[11219, 325, 139, 2, 50, "Input"], Cell[11361, 329, 171, 7, 33, "Text"], Cell[11535, 338, 228, 4, 90, "Input"], Cell[11766, 344, 906, 29, 106, "Text"], Cell[12675, 375, 2136, 60, 240, "Text"], Cell[CellGroupData[{ Cell[14836, 439, 408, 12, 71, "Text"], Cell[15247, 453, 3226, 53, 906, "Input", InitializationCell->True] }, Closed]], Cell[18488, 509, 305, 11, 68, "Text"], Cell[18796, 522, 1172, 32, 357, "Input"], Cell[19971, 556, 178, 7, 33, "Text"], Cell[20152, 565, 139, 2, 50, "Input"], Cell[20294, 569, 171, 7, 33, "Text"], Cell[20468, 578, 228, 4, 90, "Input"], Cell[20699, 584, 2843, 105, 277, "Text"], Cell[CellGroupData[{ Cell[23567, 693, 456, 14, 128, "Text"], Cell[CellGroupData[{ Cell[24048, 711, 2099, 34, 612, "Input", InitializationCell->True], Cell[26150, 747, 1907, 34, 605, "Input", InitializationCell->True] }, Open ]] }, Closed]], Cell[28084, 785, 278, 10, 68, "Text"], Cell[28365, 797, 382, 9, 118, "Input"], Cell[28750, 808, 421, 11, 138, "Input"], Cell[29174, 821, 178, 7, 33, "Text"], Cell[29355, 830, 139, 2, 50, "Input"], Cell[29497, 834, 171, 7, 33, "Text"], Cell[29671, 843, 228, 4, 90, "Input"], Cell[29902, 849, 1492, 54, 106, "Text"], Cell[CellGroupData[{ Cell[31419, 907, 498, 15, 147, "Text"], Cell[31920, 924, 1803, 34, 613, "Input", InitializationCell->True] }, Closed]], Cell[33738, 961, 266, 10, 68, "Text"], Cell[34007, 973, 1012, 29, 302, "Input"], Cell[35022, 1004, 178, 7, 33, "Text"], Cell[35203, 1013, 139, 2, 50, "Input"], Cell[35345, 1017, 171, 7, 33, "Text"], Cell[35519, 1026, 228, 4, 90, "Input"], Cell[35750, 1032, 1497, 54, 106, "Text"], Cell[CellGroupData[{ Cell[37272, 1090, 509, 15, 147, "Text"], Cell[37784, 1107, 1795, 33, 613, "Input", InitializationCell->True] }, Closed]], Cell[39594, 1143, 218, 7, 68, "Text"], Cell[39815, 1152, 979, 28, 302, "Input"], Cell[40797, 1182, 178, 7, 33, "Text"], Cell[40978, 1191, 139, 2, 50, "Input"], Cell[41120, 1195, 171, 7, 33, "Text"], Cell[41294, 1204, 228, 4, 90, "Input"] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)