(*********************************************************************** 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[ 41759, 1190]*) (*NotebookOutlinePosition[ 42430, 1214]*) (* CellTagsIndexPosition[ 42386, 1210]*) (*WindowFrame->Normal*) Notebook[{ Cell[BoxData[ RowBox[{" ", RowBox[{ StyleBox["(*", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], "\n", "\t", RowBox[{ StyleBox[\(AME\ \(521--\) JM\ Powers\), FontWeight->"Plain"], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], RowBox[{ RowBox[{ StyleBox["Fall", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["1999", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["Here", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["we", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["consider", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["some", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["stability", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["properties", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["of", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["linear", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(ODE'\), FontWeight->"Plain"], StyleBox["s", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["and", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["their", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["numerical", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(approximation . \ \ If\), FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["we", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["have", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["the", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["system", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], RowBox[{ StyleBox[ RowBox[{ StyleBox["d", FontWeight->"Plain"], StyleBox["y", FontWeight->"Bold"]}]], StyleBox["/", FontWeight->"Plain"], StyleBox["dt", FontWeight->"Plain"]}]}], StyleBox[" ", FontWeight->"Plain"], StyleBox["=", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], RowBox[{ StyleBox["A", FontWeight->"Bold"], " ", ".", StyleBox[" ", FontWeight->"Plain"], "y"}]}], StyleBox[",", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], RowBox[{ StyleBox["we", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["know", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["that", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["the", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["system", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["itself", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["is", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["stable", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["if", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["the", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["real", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["parts", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["of", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["all", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["of", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["the", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["eigenvalues", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["of", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["A", FontWeight->"Bold"], StyleBox[" ", FontWeight->"Plain"], StyleBox["are", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(negative . \ \ So\), FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t", FontWeight->"Plain"], StyleBox["first", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["define", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["an", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["arbitrary", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["matrix", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], "A"}], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(and\ find\ its\ eigenvalues\), FontWeight->"Plain"], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(\[Lambda] : \), FontWeight->"Plain"]}], StyleBox[" ", FontWeight->"Plain"], "\n", StyleBox["*)", FontWeight->"Plain"]}]}]], "Input"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{"\n", RowBox[{ \(A\ = \ {{\(-2\), 1, \(-1\)}, {3, \(-4\), 4}, {\(-1\), 4, \(-5\)}}\), ";", " ", RowBox[{ StyleBox["(*", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[\(Arbitrary\ matrix\), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["*)", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], "\n", \(A // MatrixForm\)}], "\n"}], RowBox[{\(\(Eigenvalues[A] // N\)\ // MatrixForm\), "\n", "\n", StyleBox[ \( (*\ \n\tAs\ an\ aside, \ find\ the\ exact\ solution\ \n*) \), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], "\n"}], \(y = {y1[t], y2[t], y3[t]}; \nf\ = \ A . y; \n eqns\ = \ {\(y1'\)[t] == f[\([1]\)], \n\t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \(y2'\)[t] == f[\([2]\)], \n\t\t\ \ \ \ \ \ \ \ \ \ \ \ \ \ \(y3'\)[t] == f[\([3]\)]}\), \(sol = DSolve[eqns, {y1, y2, y3}, t]; \ny1[t] /. sol\ // N\), \(y2[t] /. sol // N\), \(y3[t] /. sol // N\)}], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {\(-2\), "1", \(-1\)}, {"3", \(-4\), "4"}, {\(-1\), "4", \(-5\)} }], ")"}], (MatrixForm[ #]&)]], "Output"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {\(\(-0.35043373534338551`\) - 8.88178419700125232`*^-16\ I\)}, {\(\(-1.57174666937746376`\) + 1.33226762955018784`*^-15\ I\)}, {\(\(-9.07781959527915027`\) - 2.22044604925031308`*^-16\ I\)} }], ")"}], MatrixForm[ { Complex[ -0.35043373534338551, -8.8817841970012523*^-16], Complex[ -1.5717466693774638, 1.3322676295501878*^-15], Complex[ -9.0778195952791503, -2.2204460492503131*^-16]}]]], "Output"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["y1", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "==", \(\(-2\)\ y1[t] + y2[t] - y3[t]\)}], ",", RowBox[{ RowBox[{ SuperscriptBox["y2", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "==", \(3\ y1[t] - 4\ y2[t] + 4\ y3[t]\)}], ",", RowBox[{ RowBox[{ SuperscriptBox["y3", "\[Prime]", MultilineFunction->None], "[", "t", "]"}], "==", \(\(-y1[t]\) + 4\ y2[t] - 5\ y3[t]\)}]}], "}"}]], "Output"], Cell[BoxData[ \({0.275587420318152531`\ 2.71828182845904509`\^\(\(-9.07781959527915205`\)\ t\)\ C[1] - 0.801873753747936746`\ 2.71828182845904509`\^\(\(-1.57174666937746287`\)\ t\)\ C[2] + 0.11602992317337446`\ 2.71828182845904509`\^\(\(-0.350433735343385688`\)\ t\)\ C[3]}\)], "Output"], Cell[BoxData[ \({\(-0.950558043740249836`\)\ 2.71828182845904509`\^\(\(-9.07781959527915205`\)\ t\)\ C[1] + 0.656594894218650004`\ 2.71828182845904509`\^\(\(-1.57174666937746287`\)\ t\)\ C[2] + 1.19139904695749709`\ 2.71828182845904509`\^\(\(-0.350433735343385688`\)\ t\)\ C[3]}\)], "Output"], Cell[BoxData[ \({2.71828182845904509`\^\(\(-9.07781959527915205`\)\ t\)\ C[1] + 2.71828182845904509`\^\(\(-1.57174666937746287`\)\ t\)\ C[2] + 2.71828182845904509`\^\(\(-0.350433735343385688`\)\ t\)\ C[3]}\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ StyleBox[ \( (*\ Now\ set\ the\ step\ size\ for\ the\ finite\ difference\ method, \ h\ *) \), FontWeight->"Plain"], "\n", "\n", RowBox[{\(h\ = \ .1\), ";", "\n", "\n", RowBox[{ StyleBox["(*", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], "\n", "\t", RowBox[{ RowBox[{ StyleBox["Now", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["construct", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["B", FontWeight->"Bold"]}], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[ \(the\ matrix\ which\ is\ relevant\ to\ the\ explicit\ finite\ difference\ technique\), FontWeight->"Plain"], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], RowBox[{ RowBox[{ StyleBox["where", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["we", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["have", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t\t\t", FontWeight->"Plain"], StyleBox["\n", FontWeight->"Plain"], StyleBox["\t\t\t", FontWeight->"Plain"], StyleBox[ SubscriptBox[ StyleBox["y", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], \(n + 1\)], FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], StyleBox[" ", FontWeight->"Plain"], StyleBox["=", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], RowBox[{ RowBox[{ StyleBox[ SuperscriptBox[ RowBox[{ StyleBox["(", FontWeight->"Plain"], RowBox[{ StyleBox["I", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain"], StyleBox["+", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], RowBox[{ StyleBox["h", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["A", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}]}], StyleBox[")", FontWeight->"Plain"]}], "n"], FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[ SubscriptBox[ StyleBox["y", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], "o"], FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["=", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], RowBox[{ StyleBox[ SuperscriptBox[ StyleBox["B", FontWeight->"Bold"], "n"], FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[ SubscriptBox[ StyleBox["y", FontWeight->"Bold"], "o"], FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], "\n", "\t\t\t\t\t", "\n", StyleBox[" ", FontWeight->"Plain"], StyleBox["For", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["stability", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["of", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["the", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["finite", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["difference", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["technique", FontWeight->"Plain"]}]}]}], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[ \(we\ need\ for\ the\ eigenvalues\ of\ B\ to\ have\ modulus\ less\ than\ one . \ \ Note\ if\ the\ original\ problem\ is\ unstable\), FontWeight->"Plain"], StyleBox[",", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[ \(we\ should\ expect\ the\ numerical\ method\ to\ be\ unstable\ for\ sufficiently\ small\ h\), FontWeight->"Plain"]}], "\n", StyleBox[ RowBox[{"\t", StyleBox[" ", FontWeight->"Plain"]}]], StyleBox["*)", FontWeight->"Plain"]}], "\n", "\n", \(B\ = \ IdentityMatrix[3] + h\ A\), ";", "\n", \(B // MatrixForm\)}]}], RowBox[{\(Eigenvalues[B]\ // MatrixForm\), " ", RowBox[{ StyleBox["(*", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[\(these\ need\ to\ have\ modulus\ < \ 1\ for\ stability\), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["*)", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}]}]}], "Input"], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0.8`", StyleBox["0.1`", StyleBoxAutoDelete->True, PrintPrecision->1], \(-0.1`\)}, {"0.300000000000000044`", "0.6`", "0.4`"}, {\(-0.1`\), "0.4`", "0.5`"} }], ")"}], (MatrixForm[ #]&)]], "Output"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {"0.964956626465661138`"}, {"0.842825333062253534`"}, {"0.0922180404720848123`"} }], ")"}], MatrixForm[ {0.96495662646566116, 0.84282533306225349, 0.092218040472084817}]]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ StyleBox["(*", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["\n", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["\t", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], RowBox[{ StyleBox["Now", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[ \(let' s\ check\ if\ the\ finite\ difference\ method\ actually\ converges . \ \ With\ n\ as\ the\ number\ of\ iterations\), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[\(and\ c[\([1]\)]\ as\ an\ arbitrary\ seed\ value\), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[ \(let' s\ iterate\ by\ letting\ B\ operate\ on\ c[\([1]\)]\ n\ times . \ \ If\ the\ numerical\ method\ is\ stable\), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], RowBox[{ StyleBox["which", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["requires", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["that", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["the", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["real", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["part", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["of", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["the", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["eigenvalues", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["of", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["B", FontWeight->"Bold", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["have", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["modulus", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["less", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["than", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["one", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], StyleBox[",", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox[\(the\ result\ should\ approach\ 0. \), FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], StyleBox[" ", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["\n", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}], StyleBox["*)", FontWeight->"Plain", FontSlant->"Plain", FontTracking->"Plain", FontVariations->{"Underline"->False, "Outline"->False, "Shadow"->False}]}], "\n", "\t\t\t", "\n", RowBox[{ \(n\ = \ 1000\), ";", "\n", \(c\ = \ Table[0, {i, n}]\), ";", "\n", \(c[\([1]\)]\ = \ {1, 5, 3}\), ";", " ", RowBox[{ StyleBox["(*", FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox[\(seed\ with\ arbitrary\ value\), FontWeight->"Plain"], StyleBox[" ", FontWeight->"Plain"], StyleBox["*)", FontWeight->"Plain"]}], "\n", \(Do[c[\([i + 1]\)] = B . c[\([i]\)], {i, n - 1}]\)}]}], \(c[\([1]\)] // MatrixForm\), \(c[\([n/2]\)] // MatrixForm\), \(c[\([n - 1]\)] // MatrixForm\), RowBox[{\(c[\([n]\)] // MatrixForm\), "\n"}]}], "Input"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {"1"}, {"5"}, {"3"} }], ")"}], MatrixForm[ {1, 5, 3}]]], "Output"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {"9.19022076488154837`*^-9"}, {"9.43654874635081419`*^-8"}, {"7.92056093250128334`*^-8"} }], ")"}], MatrixForm[ {9.1902207648815499*^-09, 9.4365487463508133*^-08, 7.9205609325012828*^-08}]]], "Output"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {"1.70889177249685175`*^-16"}, {"1.75469566248360209`*^-15"}, {"1.47280264069759647`*^-15"} }], ")"}], MatrixForm[ {1.7088917724968517*^-16, 1.754695662483602*^-15, 1.4728026406975969*^-15}]]], "Output"], Cell[BoxData[ InterpretationBox[ RowBox[{"(", GridBox[{ {"1.64900643978348675`*^-16"}, {"1.69320520694410525`*^-15"}, {"1.42119066761727053`*^-15"} }], ")"}], MatrixForm[ {1.6490064397834867*^-16, 1.6932052069441055*^-15, 1.4211906676172709*^-15}]]], "Output"] }, Open ]], Cell[BoxData[""], "Input"] }, FrontEndVersion->"X 3.0", ScreenRectangle->{{0, 1152}, {0, 900}}, ScreenStyleEnvironment->"Working", WindowSize->{543, 668}, WindowMargins->{{188, Automatic}, {Automatic, 35}} ] (*********************************************************************** 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, 8649, 262, 203, "Input"], Cell[CellGroupData[{ Cell[10383, 315, 2113, 55, 315, "Input"], Cell[12499, 372, 215, 7, 75, "Output"], Cell[12717, 381, 546, 10, 81, "Output"], Cell[13266, 393, 658, 17, 43, "Output"], Cell[13927, 412, 345, 7, 47, "Output"], Cell[14275, 421, 350, 7, 47, "Output"], Cell[14628, 430, 244, 4, 29, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[14909, 439, 10828, 281, 335, "Input"], Cell[25740, 722, 352, 10, 75, "Output"], Cell[26095, 734, 311, 8, 75, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[26443, 747, 14078, 399, 299, "Input"], Cell[40524, 1148, 186, 7, 75, "Output"], Cell[40713, 1157, 330, 8, 81, "Output"], Cell[41046, 1167, 332, 8, 81, "Output"], Cell[41381, 1177, 333, 8, 81, "Output"] }, Open ]], Cell[41729, 1188, 26, 0, 27, "Input"] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)