(*********************************************************************** 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[ 23373, 695]*) (*NotebookOutlinePosition[ 24514, 731]*) (* CellTagsIndexPosition[ 24470, 727]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Modeling Viral Infections \ \>", "Subsubtitle", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->14], Cell[CellGroupData[{ Cell[TextData[" 1. Introduction"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell["\<\ Many diseases are caused by viruses. A viral disease begins with \ an infection of the body by a small number of viruses. The viruses attempt \ to enter individual cells, and \"hijack\" them into producing new copies of \ the virus. An infected cell will die, releasing the new copies of the virus \ to continue the infection. If the infection is not stopped, so many cells \ will be destroyed that the body will die. The immune system constantly examines the body for \"alien\" objects, such as \ viruses. When it notices an invading virus, it records the pattern of \ \"antigens\" on the surface of the virus, and then produces special cells \ called \"antibodies\", which are programmed to destroy all objects that have \ the same pattern of antigens. Thus, once the immune system has spotted a \ single virus, it will try to kill all copies of the virus. Thus, a typical viral disease usually has just two patterns: either the virus \ replicates so quickly that the host body is killed, or the immune system is \ able to kill all the viruses, and the body returns to health. In either \ case, the resolution is often quick, a matter of days or weeks.\ \>", "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10] }, Open ]], Cell[CellGroupData[{ Cell[TextData[" 2. Modeling a Simple Infection"], "Subsection", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[ "Let's try to describe the changes that occur in an infection over, say, a \ single hour. We can measure the strength of the infection by determining the \ density of viruses, a number which we will call v(t). We will also want to \ measure the density of antibodies produced by the immune system against the \ virus, which we will call a(t). "], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[StyleBox[ " v(t) - number of viruses in the body at time t\n a(t) - number of \ antibodies at time t", FontWeight->"Plain"]], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->RGBColor[1, 1, 0]], Cell[TextData[{ "\nOur first measurement will occur at time t", StyleBox["0", FontVariations->{"CompatibilityType"->"Subscript"}], " and will give us the values of v(t", StyleBox["0", FontVariations->{"CompatibilityType"->"Subscript"}], ") and a(t", StyleBox["0", FontVariations->{"CompatibilityType"->"Subscript"}], "). Conditions in the body will cause these values to change with time. \ a(t) will rise as the body tries to fight the infection, and \nv(t) will rise \ as the virus replicates, or fall if the antibodies are able to kill the \ viruses faster than they reproduce.\n\nWhat we would like to do is write down \ rules that summarize this behavior, and allow us to make simple calculations \ about the course of the infection, without having to take blood samples from \ a patient every hour. What we are trying to do now is to ", StyleBox["model", FontWeight->"Bold"], " the infection; that is, to try to understand the process of an infection \ by comparing it to some set of mathematical equations.\n\nFirst of all, we \ will assume that the immune system responds to a virus by increasing the \ number of antibodies in a linear way; that is, the number of antibodies \ produced is proportional to the number of viruses present. This is a \ reasonable assumption which we have seen in other models. This results in the \ following relationship:\n\n Increase in antibodies in time \ \[CapitalDelta]t is k * v(t) * \[CapitalDelta]t,\n \nwhere k is some number \ we would have to find experimentally, and \[CapitalDelta]t is a small \ interval of time, during which v(t) doesn't change much. For now, we will \ assume that the antibodies are \"immortal\", so their number only grows.\n\n\ Now we need to look at what the virus particles are doing. Each virus \ particle tries to invade a body cell and force it to make new copies of the \ virus. We will suppose that we understand this process completely; that is, \ we can estimate the chances that a virus will be able to invade a cell at\n\ any particular moment, we know how long the invaded cell will be able to \ remain alive making copies, and we know how many copies the cell makes \ before dying. If we really know all of that, we can estimate the relative \ rate r at which new viruses are \"born\" over a given time interval. The \ actual number that are born must be the product of this rate, times the \ number of viruses, times the amount of time that passes:\n\n Increase in \ viruses in time \[CapitalDelta]t is r * v(t) * \[CapitalDelta]t.\n \nThe \ only other thing we have ignored so far is that antibodies are busy killing \ viruses. Now the antibodies and viruses are wandering around the body, \ almost at random. Suppose we know the chances that in time \[CapitalDelta]t, \ one particular antibody will run into one particular virus and kill it, and \ say this chance is p. Then, the chances that our same antibody will run into \ any virus in that time must be p*v(t). And since every antibody has the same \ chance as the one we picked to run into some virus, the total number of \ \"encounters\" is also multiplied by the number of antibodies in the system. \ In other words,\n\n Decrease in viruses in time \[CapitalDelta]t is p * \ v(t) * a(t) * \[CapitalDelta]t.\n\nThus, if we knew the values of k, r and p, \ we could estimate the level of antibodies and viruses in the body \ \[CapitalDelta]t hours after a measurement at time t by writing:" }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[StyleBox[ "\na(t+\[CapitalDelta]t) = a(t) + k * v(t) * \[CapitalDelta]t\n \nv(t+\ \[CapitalDelta]t) = v(t) + r * v(t) * \[CapitalDelta]t - p * v(t) * a(t) * \ \[CapitalDelta]t", FontWeight->"Plain"]], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->RGBColor[1, 1, 0]], Cell[TextData[{ " \nIn particular, if we wanted the level of antibodies and viruses in the \ body ", StyleBox["4 hours ", FontSlant->"Italic"], " after our ", StyleBox["first", FontSlant->"Italic"], " measurement we would simply set t=t", StyleBox["0", FontVariations->{"CompatibilityType"->"Subscript"}], "=0 and \[CapitalDelta]t=4. \n\nThe first equation says that the new number \ of antibodies is the sum of the old value, plus the newly created antibodies. \ The second equation says that the new number of viruses is the sum of the \ previous number plus the increase in viruses minus the number of viruses \ destroyed by the antibodies." }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ "\n", StyleBox["Example 1.", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], " Let's look at a simple example of this model. First, we will assume \ that some helpful lab technician has figured out the values of the constants \ k, r and p for a particular virus:" }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData["Clear[k,r,p,a,v,delt,t]\nk=0.1;\nr=0.5;\np=0.5;"], "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ "Then, we will assume that a patient has just been infected with the virus. \ This means that the immune system is not alerted at all, so a(t) will start \ out as zero; i.e., a(0)=0 where we have set t", StyleBox["0", FontVariations->{"CompatibilityType"->"Subscript"}], "=0. We will give v(t) a small initial value, which is less than 1. This \ is because we will assume that v(t) measures a virus density, rather than an \ actual count of the number of virus particles. We will use the same \ convention for a(t), i.e., a(t) will represent the antibody density. For this \ computation, we will be taking time steps \[CapitalDelta]t of 12 hours." }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData["a[0]=0.;\nv[0]=0.01;\ndelt=12;"], "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[ "\nAnd now, we write down the equations that are supposed to tell us the \ density of antibodies and viruses 12 hours after time t=0, i.e., when t+\ \[CapitalDelta]t=12."], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[CellGroupData[{ Cell[TextData[ "t=0;\na[t+delt] = a[t] + k*v[t]*delt\nv[t+delt] = v[t] + r*v[t]*delt - \ p*v[t]*a[t]*delt "], "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[OutputFormData["\<\ 0.012\ \>", "\<\ 0.012\ \>"], "Output", PageWidth->PaperWidth, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[OutputFormData["\<\ 0.07\ \>", "\<\ 0.07\ \>"], "Output", PageWidth->PaperWidth, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10] }, Open ]], Cell[TextData[ "We can repeat this process to find what's happening 24 hours after the \ initial infection. Notice that we use the exact same equations as before \ except that now we know the solution at t=12 and want the solution at t=24."], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[CellGroupData[{ Cell[TextData[ "t=12;\na[t+delt] = a[t] + k*v[t]*delt\nv[t+delt] = v[t] + r*v[t]*delt - \ p*v[t]*a[t]*delt"], "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[OutputFormData["\<\ 0.096\ \>", "\<\ 0.096\ \>"], "Output", PageWidth->PaperWidth, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[OutputFormData["\<\ 0.48496\ \>", "\<\ 0.48496\ \>"], "Output", PageWidth->PaperWidth, Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10] }, Open ]], Cell[TextData[ "So at the end of 24 hours the density of the antibodies is 0.096\nand the \ density of the virus has increased to 0.48496."], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ StyleBox["Problem 1.", FontColor->RGBColor[1, 0, 0]], StyleBox[ " \n\nContinue the above calculation for t=36, 48, and so on in intervals \ of 12 hours. Stop when either the virus density exceeds 20 (which we will \ assume means that the patient died of the disease) or when the density of the \ virus becomes zero or negative. (After the density of the virus becomes \ negative the results are meaningless.)\n\nPrint a table of the values of t, \ a(t) and v(t) using table headings. \n\nMake a plot of a(t) versus t and v(t) \ versus t on the same graph. (Use PlotJoined->True.) Plot only values of t \ until the stopping criteria is reached. Use a different color for each \ function and label your graph. \n\nDid the patient survive or did the virus \ kill him? After how many hours was the stopping criteria satisfied; i.e., \ when did the virus density exceed 20 or become negative?\n\n", FontWeight->"Plain"], "Note", StyleBox[": At this point ", FontWeight->"Plain"], "do not", StyleBox[ " define a function for a[t] and v[t] but merely proceed as we did in \ Example 1. It ", FontWeight->"Plain"], StyleBox["is ", FontWeight->"Plain", FontSlant->"Italic"], StyleBox[ "possible to define a function for a[t] and v[t] recursively, i.e., in \ terms a[t-\[CapitalDelta]t] and v[t-\[CapitalDelta]t] but the calculations \ become very slow since ", FontWeight->"Plain"], StyleBox["Mathematica", FontWeight->"Plain", FontSlant->"Italic"], StyleBox[ " does not save the values at the previous times but rather continues to \ recalculate them. Below we will see how to automate this process.\n\n", FontWeight->"Plain"] }], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->GrayLevel[0.899992]], Cell[TextData[{ "\nWe now turn to the problem of automating the above procedure. \n\n", StyleBox["Mathematica", FontSlant->"Italic"], " has a ", StyleBox["Do", FontWeight->"Bold"], " command that allows you to make a loop that repeats one or more \ operations. The format of the Do command is\n \n ", StyleBox[ "Do [ { command1,\n command2,\n ...\n last command \ } ,\n \n { counter, start-value, end-value, increment} ]", FontWeight->"Bold"], "\n \nFor instance, the following ", StyleBox["Do", FontWeight->"Bold"], " loop calculates the square of the odd numbers between 1 and 9 and then \ prints out the number and its square." }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[CellGroupData[{ Cell["\<\ Do [ { nsquare = n^2, Print [\"n=\", n, \" n squared= \",nsquare]}, {n, 1, 9, 2} ]\ \>", "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[BoxData[ InterpretationBox[ \("n="\[InvisibleSpace]1 \[InvisibleSpace]" n squared= "\[InvisibleSpace]1\), SequenceForm[ "n=", 1, " n squared= ", 1], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[ \("n="\[InvisibleSpace]3 \[InvisibleSpace]" n squared= "\[InvisibleSpace]9\), SequenceForm[ "n=", 3, " n squared= ", 9], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[ \("n="\[InvisibleSpace]5 \[InvisibleSpace]" n squared= "\[InvisibleSpace]25\), SequenceForm[ "n=", 5, " n squared= ", 25], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[ \("n="\[InvisibleSpace]7 \[InvisibleSpace]" n squared= "\[InvisibleSpace]49\), SequenceForm[ "n=", 7, " n squared= ", 49], Editable->False]], "Print"], Cell[BoxData[ InterpretationBox[ \("n="\[InvisibleSpace]9 \[InvisibleSpace]" n squared= "\[InvisibleSpace]81\), SequenceForm[ "n=", 9, " n squared= ", 81], Editable->False]], "Print"] }, Open ]], Cell[TextData[{ "\nIn this ", StyleBox["Do", FontWeight->"Bold"], " loop, the commands to be repeated are grouped inside the curly brackets. \ (If there is only one command, you don't need the brackets). After the \ commands comes an ", StyleBox["iterator", FontWeight->"Bold"], ", similar to what you've seen for the ", StyleBox["Table", FontWeight->"Bold"], " command. This tells ", StyleBox["Mathematica", FontSlant->"Italic"], " \n\n the variable to be iterated (n in our case)\n\n how to start the \ loop (set n to 1 in our case), \n \n when to stop the loop (n>9 in our \ case)\n \n how to choose the next value of the iterator (add 2 to the\n \ previous value in our case).\n " }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ StyleBox["Example 2.", FontWeight->"Bold", FontColor->RGBColor[0, 0, 1]], " We want to use the ", StyleBox["Do", FontWeight->"Bold"], " command to recompute the values of a(t) and v(t) that we got in Example \ 1. To be safe we will ", StyleBox["Clear", FontWeight->"Bold"], " all data before starting. " }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell["\<\ Clear[k,r,p,a,v,t,delt] k=0.1; r=0.5; p=0.5; delt=12; a[0]=0.; v[0]=0.01; Do [ { a[t+delt] = a[t] + k*v[t]*delt, v[t+delt] = v[t] + r*v[t]*delt - p*v[t]*a[t]*delt }, {t,0,24,12}]\ \>", "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ "Note that there is no output from the ", StyleBox["Do", FontWeight->"Bold"], " command because we did not ask ", StyleBox["Mathematica", FontSlant->"Italic"], " to print out any results; ", StyleBox["Mathematica", FontSlant->"Italic"], " simply performed the calculations. We could include a ", StyleBox["Print", FontWeight->"Bold"], " statement in the ", StyleBox["Do", FontWeight->"Bold"], " loop or we could just print out another table since ", StyleBox["Mathematica", FontSlant->"Italic"], " has saved the values." }], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[CellGroupData[{ Cell["\<\ table2=Table[{t,a[t],v[t]},{t,0,24,12}]; TableForm[table2,TableHeadings->{ None,{\"t in hours\", \"a(t)\",\"v(t)\"}}] \ \>", "Input", PageWidth->PaperWidth, InitializationCell->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[BoxData[ TagBox[GridBox[{ {\("t in hours"\), \("a(t)"\), \("v(t)"\)}, {"0", "0.`", StyleBox["0.01`", StyleBoxAutoDelete->True, PrintPrecision->1]}, {"12", "0.0119999999999999996`", "0.07`"}, {"24", "0.0959999999999999786`", "0.484959999999999968`"} }, RowSpacings->1, ColumnSpacings->3, RowAlignments->Baseline, ColumnAlignments->{Left}], (TableForm[ #, TableHeadings -> {None, {"t in hours", "a(t)", "v(t)"}}]&)]], "Output"] }, Open ]], Cell[TextData[{ StyleBox["\nProblem 2.", FontColor->RGBColor[1, 0, 0]], StyleBox[" \n\nUse the ", FontWeight->"Plain"], "Do", StyleBox[" command to regenerate your table from Problem 1. \n", FontWeight->"Plain"] }], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->GrayLevel[0.899992]], Cell[TextData[{ StyleBox["\nProblem 3.", FontColor->RGBColor[1, 0, 0]], StyleBox[ " \n\nIn the first problems we chose \[CapitalDelta]t=12 hours. This was \ arbitrary and we can choose different intervals to calculate v(t) and a(t). \n\ \nUse the ", FontWeight->"Plain"], "Do", StyleBox[ " command to generate a(t) and v(t) at 6 hour intervals. Make a table of \ your results and plot them as in Problem 1. After how many hours was the \ stopping criteria satisfied; i.e., when did the virus density exceed 20 or \ become negative?\n\nUse the ", FontWeight->"Plain"], "Do", StyleBox[ " command to generate a(t) and v(t) at 3 hour intervals. Make a table of \ your results and plot them as in Problem 1. After how many hours was the \ stopping criteria satisfied; i.e., when did the virus density exceed 20 or \ become negative?\n \nDiscuss any differences in your results from this \ problem and Problem 2.\n", FontWeight->"Plain"] }], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->GrayLevel[0.899992]], Cell[TextData[ "\nWe now turn to the problem of investigating the effect the parameter r \ has on the outcome of the viral infection. Remember that we got these \ parameters from experiment and they may include significant experimental \ errors. What we would like to do now is investigate what happens in the \ infection when those numbers change. The following problem investigates this \ issue."], "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10], Cell[TextData[{ StyleBox["\nProblem 4.", FontColor->RGBColor[1, 0, 0]], StyleBox[ " \n\nWe would like to see whether the virus density can reach the value \ 20 or greater (killing the patient) before the immune system has a chance to \ destroy the virus.\n\nCopy your input from Problem 3 using \[CapitalDelta]t=6 \ hours in all calculations for this problem. \n\nChange your ", FontWeight->"Plain"], "Do ", StyleBox[ "loop so that it always computes values for 48 hours, which should be \ enough time to see whether the infection or immune system \"wins\". Note \ that the results are meaningless once any value becomes negative, or any \ value becomes really large.\n\nThe value r determines how fast the virus \ reproduces. We started with r=0.5, and the resulting infection died out. \ What is the smallest value of r (increment r in steps of \[CapitalDelta]r=.1) \ that will cause the infection to kill the patient? Experiment until you \ find such an r, and then print a table of results for that value and plot \ your data as you did in Problem 1.\n", FontWeight->"Plain"] }], "Input", PageWidth->PaperWidth, CellFrame->True, AspectRatioFixed->True, FontFamily->"Monaco", FontSize->10, Background->GrayLevel[0.899992]] }, Open ]] }, Open ]] }, FrontEndVersion->"Macintosh 3.0", ScreenRectangle->{{0, 1152}, {0, 850}}, AutoGeneratedPackage->Automatic, WindowToolbars->{}, CellGrouping->Automatic, WindowSize->{520, 740}, WindowMargins->{{238, Automatic}, {-7, Automatic}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, 128}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False}, CharacterEncoding->"MacintoshAutomaticEncoding", MacintoshSystemPageSetup->"\<\ 00<0001804P000000]P2:?oQon82n@960dL5:0?l0080001804P000000]P2:001 0000I00000400`<300000BL?00400@0000000000000006P801T1T00000000000 00000000000000000000000000000000\>" ] (*********************************************************************** 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[1731, 51, 164, 8, 87, "Subsubtitle"], Cell[CellGroupData[{ Cell[1920, 63, 136, 4, 43, "Subsection"], Cell[2059, 69, 1276, 23, 320, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[3372, 97, 152, 4, 43, "Subsection"], Cell[3527, 103, 460, 9, 99, "Text"], Cell[3990, 114, 297, 9, 58, "Input"], Cell[4290, 125, 3602, 57, 948, "Text"], Cell[7895, 184, 369, 10, 88, "Input"], Cell[8267, 196, 773, 20, 158, "Text"], Cell[9043, 218, 398, 12, 82, "Text"], Cell[9444, 232, 193, 5, 72, "Input", InitializationCell->True], Cell[9640, 239, 777, 15, 158, "Text"], Cell[10420, 256, 176, 5, 57, "Input", InitializationCell->True], Cell[10599, 263, 283, 7, 82, "Text"], Cell[CellGroupData[{ Cell[10907, 274, 241, 7, 57, "Input", InitializationCell->True], Cell[11151, 283, 177, 9, 26, "Output"], Cell[11331, 294, 175, 9, 26, "Output"] }, Open ]], Cell[11521, 306, 342, 8, 65, "Text"], Cell[CellGroupData[{ Cell[11888, 318, 237, 7, 57, "Input", InitializationCell->True], Cell[12128, 327, 177, 9, 26, "Output"], Cell[12308, 338, 181, 9, 26, "Output"] }, Open ]], Cell[12504, 350, 237, 6, 48, "Text"], Cell[12744, 358, 1865, 45, 478, "Input"], Cell[14612, 405, 807, 22, 269, "Text"], Cell[CellGroupData[{ Cell[15444, 431, 242, 9, 57, "Input", InitializationCell->True], Cell[15689, 442, 215, 5, 22, "Print"], Cell[15907, 449, 215, 5, 22, "Print"], Cell[16125, 456, 217, 5, 22, "Print"], Cell[16345, 463, 217, 5, 22, "Print"], Cell[16565, 470, 217, 5, 22, "Print"] }, Open ]], Cell[16797, 478, 839, 23, 269, "Text"], Cell[17639, 503, 450, 16, 65, "Text"], Cell[18092, 521, 376, 21, 237, "Input", InitializationCell->True], Cell[18471, 544, 689, 24, 82, "Text"], Cell[CellGroupData[{ Cell[19185, 572, 270, 12, 102, "Input", InitializationCell->True], Cell[19458, 586, 573, 16, 69, "Output"] }, Open ]], Cell[20046, 605, 390, 14, 103, "Input"], Cell[20439, 621, 1132, 29, 313, "Input"], Cell[21574, 652, 501, 10, 133, "Text"], Cell[22078, 664, 1267, 27, 358, "Input"] }, Open ]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)