(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. The data for the notebook starts with the line containing 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[ 19501, 603]*) (*NotebookOutlinePosition[ 20375, 634]*) (* CellTagsIndexPosition[ 20331, 630]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["Unitary Diagonalization and Quadratic Forms", \ "Title", ImageRegion->{{-0, 1}, {0, 1}}], Cell[BoxData[{ \(Author : \ Thomas\ Shores\), "\[IndentingNewLine]", \(University\ of\ Nebraska\), "\[IndentingNewLine]", \(Send\ comments\ \(to : \ tshores@math . unl . edu\)\)}], "Input", FontFamily->"Helvetica", FontWeight->"Plain", FontVariations->{"CompatibilityType"->0}], Cell[CellGroupData[{ Cell["General Diagonalization", "Subsection", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Let's review the basic idea of diagonalization by way of an example we \ have already worked on. Here is the Leslie model we examined. Recall that \ the species of animal we were looking at lived 3 years, with survival rates \ b", StyleBox["1", FontVariations->{"CompatibilityType"->"Subscript"}], " = 0.5, b", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], " = 0.25, and number of offspring for first year animals as a", StyleBox["1", FontVariations->{"CompatibilityType"->"Subscript"}], " = 0, second year animals at a", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], " = 4, and third year animals at a", StyleBox["3", FontVariations->{"CompatibilityType"->"Subscript"}], " = 3. The population distribution from one year to the next is given by \ \n\t\n\t\t x", StyleBox["n+1", FontVariations->{"CompatibilityType"->"Subscript"}], " = A . x", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ", \n\t\t \nwhere x", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " is the vector of animals sorted into age groups, and A is given below:" }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["A = {{0, 4, 3}, {0.5, 0, 0}, {0, 0, 0.25}}", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "The idea is to simplify the matrix equation above by making a simple \ linear change of variables from variables ", StyleBox["x", FontSlant->"Italic"], " to variables ", StyleBox["x", FontSlant->"Italic"], "' with P as the \[OpenCurlyDoubleQuote]change of basis matrix\ \[CloseCurlyDoubleQuote], which has to be invertible, otherwise we couldn't \ solve for one set of variables in terms of the other:\n\t\t", StyleBox["x = P. x' \n\t\t", FontSize->13], "\nThis means that x", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " = P . x'", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " and x", StyleBox["n+1", FontVariations->{"CompatibilityType"->"Subscript"}], " = P . x'", StyleBox["n+1", FontVariations->{"CompatibilityType"->"Subscript"}], ".\nNow substitute into the first matrix equation and get\n\tP . x'", StyleBox["n+1", FontVariations->{"CompatibilityType"->"Subscript"}], " = A . P . x'", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ", i.e.,\n\t x'", StyleBox["n+1", FontVariations->{"CompatibilityType"->"Subscript"}], " = P ", StyleBox["-1", FontVariations->{"CompatibilityType"->"Superscript"}], " . A . P . x'", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ".\nSo what we are really interested in is the \n\nDIAGONALIZATION THEOREM: \ The n", "\[Cross]", "n matrix A is ", StyleBox["diagonalizable", FontSlant->"Italic"], ", i.e., there is an invertible matrix P such that P ", StyleBox["-1", FontVariations->{"CompatibilityType"->"Superscript"}], " . A . P = D is a diagonal matrix, if and only if A has a set of n \ linearly independent eigenvectors v", StyleBox["1", FontVariations->{"CompatibilityType"->"Subscript"}], ", v", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], ", ... , v", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ", in which case we may choose P = [v", StyleBox["1", FontVariations->{"CompatibilityType"->"Subscript"}], ", v", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], ", ..., v", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], "].\n\nLet's test it out on our matrix A:" }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["P = Transpose[Eigenvectors[A]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Inverse[P].A.P", "Input", ImageRegion->{{-0, 1}, {0, 1}}] }, Closed]], Cell[CellGroupData[{ Cell["Unitary Diagonalization", "Subsection", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Before we see the crowning glory of this aspect of linear algebra, it is \ necessary to introduce a bit of terminology: a square matrix A is called ", StyleBox["normal", FontSlant->"Italic"], " if A . A* = A* . A .\nExamples of such matrices are: any Hermitian \ matrix A. Remember that this is a square matrix A such that A = A*. In \ this case, the definition of normal becomes simply\nA . A = A . A . \ Another example is any unitary matrix U. For in this case, U* = U", StyleBox["-1", FontVariations->{"CompatibilityType"->"Superscript"}], ", which certainly commutes with U under multiplication. (U . U* = I = U* . \ U)\n\tAlso recall that we say that a matrix is ", StyleBox["unitarily diagonalizable", FontSlant->"Italic"], " if there exists a unitary matrix U (orthogonal if A is real) such that \ U* . A . U is a diagonal matrix. Now for the theorem that makes this \ definition worthwhile:" }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ THEOREM: The square matrix A is unitarily diagonalizable if and \ only if A is a normal matrix. \tBy the way, part of this is easy to see and gives you an idea where someone \ might have gotten the idea for the definition of \ \[OpenCurlyDoubleQuote]normality\[CloseCurlyDoubleQuote]: namely, its not \ hard to check that if A is unitarily diagonalizable by unitary U, then A \ is normal. The other direction requires more work.\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Of course, finding this matrix U is another matter altogether. The \ procedure goes something like this: first, find all the eigenvalues of the \ matrix A, counting multiplicities. Next, find an orthonormal basis for \ each eigenspace. In case of multiple eigenvalues, this will involve the \ Gram-Schmidt Algorithm. Now simply stack all these vectors together to form \ the matrix U; the theory guarantees us that we will be able to find a full \ set of ", StyleBox["n", FontSlant->"Italic"], " of these, where A is n", "\[Cross]", "n, and that they will automatically form an orthonormal set. Fortunately, \ in ", StyleBox["Mathematica", FontSlant->"Italic"], " we have some tools at our disposal. The matrix that results from the \ following discussion is really an example matrix, lifted out of your \ textbook, page 321. MatrixForm it to see that is real symmetric." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["a = {{4,2,2},{2,4,2},{2,2,4}}", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["MatrixForm[a]", "Input", ImageRegion->{{-0, 1}, {0, 1}}] }, Closed]], Cell[CellGroupData[{ Cell["Classification of Quadratic Forms", "Subsection", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Now here is how the matrix is going to appear in a rather different \ context: consider the problem of classifying the quadric surface given by \ the equation \n\t\t\n\t\t4 ( x", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + y", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + z", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + x y + x z + y z) = 1.\n\nThis is a 3-D version of the classification \ of conics that you did in Calculus II. Here is how we will handle such \ problems. We treat the left hand side as a \[OpenCurlyDoubleQuote]quadratic \ form\[CloseCurlyDoubleQuote], that is, a function of the form\n\t\tQ(x, y, z) \ = [x, y, z]* . A . [x, y, z].\n\t\t\n(Check it out, this is a scalar \ function of x, y and z.) But we don't want just any 3", "\[Cross]", "3 matrix A. We only want to deal with symmetric matrices (Hermitian if we \ happen to be dealing with complex numbers). Here's how to find a symmetric \ A: find any B whatsoever that works, that is, the above formula gives the \ desired quadratic form. For example, with the form above, we could use the \ following B:" }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["b = {{4,0,0},{4,4,0},{4,4,4}}", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["See what happens in the following cell:", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Simplify[{x,y,z} . b . {x,y,z}]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "But rather than use B, use the average of B and its transpose as A. This \ matrix will give exacly the same quadratic form as B does and it has the \ virtue of being symmetric (It is always true that ", StyleBox["(", FontSize->18], StyleBox["(B + B*)", FontVariations->{"CompatibilityType"->"Superscript"}], "/", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], StyleBox[")", FontSize->19], StyleBox["*", FontVariations->{"CompatibilityType"->"Superscript"}], " = ", StyleBox["(B + B*)", FontVariations->{"CompatibilityType"->"Superscript"}], "/", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], ".) Let's check it out. Notice, by the way, when working with vectors in \ Mathematica, you don't have to transpose the vector to do multiplication on \ the left with the matrix B. Mathematica will do this automatically, and in \ fact, doesn't even know what the Transpose of a vector is." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["a = (b + Transpose[b])/2", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Now make sure this gives the same quadratic form:", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Simplify[{x,y,z} . a . {x,y,z}]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "O.K., now let's get down to business. First find the eigenvalues of A. \ Normally, it would be wise to turn A", StyleBox[" ", FontSlant->"Italic"], "into a numerical matrix first, since Mathematica handles these in any \ size. But this matrix A is sufficiently simple that ", StyleBox["Mathematica", FontSlant->"Italic"], " will be able to handle it in exact arithmetic." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Eigenvalues[a]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Now let's get the eigenspaces for each eigenvalue. ", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["n = NullSpace[a-8 IdentityMatrix[3]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["This gives us one eigenvector. Let's name it.", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["v1 = n[[1]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["n = NullSpace[a-2 IdentityMatrix[3]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Now name these two eigenvectors", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["v2 = n[[1]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["v3 = n[[2]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ O.K., O.K., so we worked too hard. I just wanted to remind you of \ the definition of the eigenspace. Here's the lazy (but fast) way of doing \ the whole thing:\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Eigensystem[a]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Notice that the eigenvectors belonging to 2 are linearly independent, but \ not orthogonal. Let's turn all these v's into an orthonormal set. Start \ with v", StyleBox["1", FontVariations->{"CompatibilityType"->"Subscript"}], "." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["u1 = v1/Sqrt[v1.v1]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["u2 = v2/Sqrt[v2.v2]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["u3p = v3 - (v3 . u2) u2", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["u3 = u3p/Sqrt[u3p . u3p]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ Finally, let's put them all together to get the desired orthogonal \ matrix u.\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["u = Transpose[{u1, u2, u3}]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Now put it to the tests.", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Transpose[u] . u", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["d = Transpose[u] . a . u", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ Great! Now let's see what the significance of this is for the \ quadratic form we were studying, namely, Q = {x,y,z} . a . {x,y,z}. Make an \ orthogonal change of variables given by \t{x,y,z} = u . {x', y', z'} , so that \tQ = {x,y,z} . a . {x,y,z} = {x', y', z'} . Transpose[u] . a . u . {x', y', \ z'} and see what we get:\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Simplify[u . {xp, yp, zp} . a . u . {xp, yp, zp}]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "Now we can see that there is an orthonormal basis of R", StyleBox["3", FontVariations->{"CompatibilityType"->"Superscript"}], " which give the axes of the surface Q(x,y,z) = 1, which is nothing more \ than an ellipsoid with major axis of length 8 and minor axes of length 2 \ each. We could even plot it with some more work with Mathematica." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ For Hermitian matrices, there is a sneaky shortcut in Mathematica. \ This shortcut is based on ideas we don't develop in 314H (maybe we should) \ about singular values of a matrix. I won't go into detail about it, but try \ this command:\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["SingularValues[a]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["\<\ Here Mathematica choked on symbolic matrices. So redo it with \ numbers:\ \>", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["{uu, dd, vv} = SingularValues[N[a]]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["Now check this out:", "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell["uu . Transpose[uu]", "Input", ImageRegion->{{-0, 1}, {0, 1}}], Cell["uu . a . Transpose[uu]", "Input", ImageRegion->{{-0, 1}, {0, 1}}] }, Closed]], Cell[CellGroupData[{ Cell["Exercises", "Subsection", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "(1) For each of the following matrices A", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ", determine whether they are diagonalizable, and if \n so, find an \ invertible matrix S", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " and a diagonal matrix ", "\[CapitalDelta]", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " such that A", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " = S", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], StyleBox["-1", FontVariations->{"CompatibilityType"->"Superscript"}], "\[CapitalDelta]", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], "S", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], ":\n \n ", "\:f2e6", "5 1 0", "\:f2f6", "\n (a) A", StyleBox["1 ", FontVariations->{"CompatibilityType"->"Subscript"}], "= ", "\:f2f7", " 0 5 1", "\:f2e7", "\n ", "\:f2e8", "0 0 5", "\:f2f8", "\n \n ", "\:f2e6", " 1 5 2", "\:f2f6", "\n (b) A", StyleBox["2", FontVariations->{"CompatibilityType"->"Subscript"}], " = ", "\:f2e7", " 0 3 -1", "\:f2f7", " \n ", "\:f2e8", " 0 0 2", "\:f2f8", "\n \n ", "\:f2e6", " 1 0 2 3 -1", "\:f2f6", "\n ", "\:f2f7", " 3 7 5 8 2 ", "\:f2e7", " \n (c) A", StyleBox["3", FontVariations->{"CompatibilityType"->"Subscript"}], " = ", "\:f2e7", "-1 0 5 2 7 ", "\:f2e7", "\n ", "\:f2e7", " 4 3 2 7 -1", "\:f2f7", "\n ", "\:f2e8", " 6 9 -1 3 -8", "\:f2f8", " " }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "(2) Repeat the above exercise with S", StyleBox["n", FontVariations->{"CompatibilityType"->"Subscript"}], " being unitary." }], "Text", ImageRegion->{{-0, 1}, {0, 1}}], Cell[TextData[{ "(3) Classify the following quadratic forms (i.e. determine their general \ shape).\n (a) 3 x", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + 5 x y - 8 y", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " = 7\n (b) x y = -1\n (c) 7 x", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " - x y - 9 y", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + 7 x - 8 y = 2 (Hint : first make a substitution x' = x + h,\n \ y' = y + k)\n (d) 7 x", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + 8 y", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " - z", StyleBox["2", FontVariations->{"CompatibilityType"->"Superscript"}], " + x y - x z + 3 y z = 0 " }], "Text", ImageRegion->{{-0, 1}, {0, 1}}] }, Closed]] }, Closed]] }, FrontEndVersion->"4.0 for X", ScreenRectangle->{{0, 1152}, {0, 864}}, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{520, 600}, WindowMargins->{{Automatic, 308}, {104, Automatic}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, Magnification->1.5 ] (*********************************************************************** 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[CellGroupData[{ Cell[1739, 51, 96, 2, 366, "Title"], Cell[1838, 55, 297, 6, 94, "Input"], Cell[CellGroupData[{ Cell[2160, 65, 79, 1, 72, "Subsection"], Cell[2242, 68, 1255, 31, 70, "Text"], Cell[3500, 101, 93, 1, 70, "Input"], Cell[3596, 104, 2451, 70, 70, "Text"], Cell[6050, 176, 81, 1, 70, "Input"], Cell[6134, 179, 65, 1, 70, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[6236, 185, 79, 1, 46, "Subsection"], Cell[6318, 188, 1007, 19, 70, "Text"], Cell[7328, 209, 496, 10, 70, "Text"], Cell[7827, 221, 974, 20, 70, "Text"], Cell[8804, 243, 80, 1, 70, "Input"], Cell[8887, 246, 64, 1, 70, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[8988, 252, 89, 1, 46, "Subsection"], Cell[9080, 255, 1282, 25, 70, "Text"], Cell[10365, 282, 80, 1, 70, "Input"], Cell[10448, 285, 89, 1, 70, "Text"], Cell[10540, 288, 82, 1, 70, "Input"], Cell[10625, 291, 1041, 26, 70, "Text"], Cell[11669, 319, 75, 1, 70, "Input"], Cell[11747, 322, 99, 1, 70, "Text"], Cell[11849, 325, 82, 1, 70, "Input"], Cell[11934, 328, 457, 11, 70, "Text"], Cell[12394, 341, 65, 1, 70, "Input"], Cell[12462, 344, 102, 1, 70, "Text"], Cell[12567, 347, 87, 1, 70, "Input"], Cell[12657, 350, 96, 1, 70, "Text"], Cell[12756, 353, 62, 1, 70, "Input"], Cell[12821, 356, 87, 1, 70, "Input"], Cell[12911, 359, 81, 1, 70, "Text"], Cell[12995, 362, 62, 1, 70, "Input"], Cell[13060, 365, 62, 1, 70, "Input"], Cell[13125, 368, 220, 5, 70, "Text"], Cell[13348, 375, 65, 1, 70, "Input"], Cell[13416, 378, 304, 8, 70, "Text"], Cell[13723, 388, 70, 1, 70, "Input"], Cell[13796, 391, 70, 1, 70, "Input"], Cell[13869, 394, 74, 1, 70, "Input"], Cell[13946, 397, 75, 1, 70, "Input"], Cell[14024, 400, 136, 4, 70, "Text"], Cell[14163, 406, 78, 1, 70, "Input"], Cell[14244, 409, 74, 1, 70, "Text"], Cell[14321, 412, 67, 1, 70, "Input"], Cell[14391, 415, 75, 1, 70, "Input"], Cell[14469, 418, 392, 14, 70, "Text"], Cell[14864, 434, 100, 1, 70, "Input"], Cell[14967, 437, 416, 8, 70, "Text"], Cell[15386, 447, 296, 6, 70, "Text"], Cell[15685, 455, 68, 1, 70, "Input"], Cell[15756, 458, 131, 4, 70, "Text"], Cell[15890, 464, 86, 1, 70, "Input"], Cell[15979, 467, 69, 1, 70, "Text"], Cell[16051, 470, 69, 1, 70, "Input"], Cell[16123, 473, 73, 1, 70, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[16233, 479, 65, 1, 46, "Subsection"], Cell[16301, 482, 2021, 81, 70, "Text"], Cell[18325, 565, 197, 6, 70, "Text"], Cell[18525, 573, 948, 26, 70, "Text"] }, Closed]] }, Closed]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)