(***********************************************************************

                    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[     73488,       2468]*)
(*NotebookOutlinePosition[     89822,       2948]*)
(*  CellTagsIndexPosition[     88407,       2888]*)
(*WindowFrame->Normal*)



Notebook[{
Cell[TextData[{
  "NumericalMath",
  StyleBox["`", "MB"],
  "Butcher",
  StyleBox["`", "MB"]
}], "Subsection",
  CellTags->{"S5.77.1", "1.1"}],

Cell[TextData[{
  "Runge\[Hyphen]Kutta methods are useful for numerically solving certain \
types of ordinary differential equations. Deriving high\[Hyphen]order Runge\
\[Hyphen]Kutta methods is no easy task, however. There are several reasons \
for this. The first difficulty is in finding the so\[Hyphen]called order \
conditions. These are nonlinear equations in the coefficients for the method \
that must be satisfied to make the error in the method of order ",
  Cell[BoxData[
      \(TraditionalForm\`O \((h\^n)\)\)], "InlineFormula"],
  " for some integer ",
  Cell[BoxData[
      \(TraditionalForm\`n\)], "InlineFormula"],
  " where ",
  Cell[BoxData[
      \(TraditionalForm\`h\)], "InlineFormula"],
  " is the step size. The second difficulty is in solving these equations. \
Besides being nonlinear, there is generally no unique solution, and many \
heuristics and simplifying assumptions are usually made. Finally, there is \
the problem of combinatorial explosion. For a twelfth\[Hyphen]order method \
there are 7813 order conditions! \nThis package performs the first task: \
finding the order conditions that must be satisfied. The result is expressed \
in terms of unknown coefficients ",
  Cell[BoxData[
      \(TraditionalForm\`a\_\(i  j\)\)], "InlineFormula"],
  ", ",
  Cell[BoxData[
      \(TraditionalForm\`b\_j\)], "InlineFormula"],
  ", and ",
  Cell[BoxData[
      \(TraditionalForm\`c\_i\)], "InlineFormula"],
  ". The ",
  Cell[BoxData[
      \(TraditionalForm\`s\)], "InlineFormula"],
  "\[Hyphen]stage Runge\[Hyphen]Kutta method to advance from ",
  Cell[BoxData[
      \(TraditionalForm\`x\)], "InlineFormula"],
  " to ",
  Cell[BoxData[
      \(TraditionalForm\`x + h\)], "InlineFormula"],
  " is then "
}], "Text",
  CellTags->{"S5.77.1", "1.2"}],

Cell[BoxData[
    FormBox[
      RowBox[{"Y", \((x + h)\), "=", "y", \((x)\), "+", "h", 
        UnderoverscriptBox["\[Sum]", \(j = 1\), "s",
          LimitsPositioning->False], \(b\_j\), " ", 
        "f", \((\(Y\_j\) \((x + h)\))\)}], TraditionalForm]], "DisplayFormula",\

  CellTags->{"S5.77.1", "1.3"}],

Cell["where ", "Text",
  CellTags->{"S5.77.1", "1.4"}],

Cell[BoxData[
    FormBox[
      RowBox[{\(Y\_i\), \((x + h)\), "=", "y", \((x)\), "+", "h", 
        UnderoverscriptBox["\[Sum]", \(j = 1\), "s",
          LimitsPositioning->False], \(a\_\(i  j\)\), " ", 
        "f", \((\(Y\_j\) \((x + h)\))\), \(\(,\)\(\ \ \ \ \)\), "i", "=", "1",
         ",", "2", ",", "\[Ellipsis]", ",", "s"}], 
      TraditionalForm]], "DisplayFormula",
  CellTags->{"S5.77.1", "1.5"}],

Cell[TextData[{
  "Sums of the elements in the rows of the matrix ",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(a\_\(i  
            j\)\)\(]\)\)\)\)], "InlineFormula"],
  " occur repeatedly in the conditions imposed on ",
  Cell[BoxData[
      \(TraditionalForm\`a\_\(i  j\)\)], "InlineFormula"],
  " and ",
  Cell[BoxData[
      \(TraditionalForm\`b\_j\)], "InlineFormula"],
  ". In recognition of this and as a notational convenience it is usual to \
introduce the coefficients ",
  Cell[BoxData[
      \(TraditionalForm\`c\_i\)], "InlineFormula"],
  " and the definition "
}], "Text",
  CellTags->{"S5.77.1", "1.6"}],

Cell[BoxData[
    FormBox[
      RowBox[{\(c\_i\), "=", 
        UnderoverscriptBox["\[Sum]", \(j = 1\), "s",
          LimitsPositioning->False], \(a\_\(i  j\)\), \(\(,\)\(\ \ \ \ \)\), 
        "i", "=", "1", ",", "2", ",", "\[Ellipsis]", ",", "s"}], 
      TraditionalForm]], "DisplayFormula",
  CellTags->{"S5.77.1", "1.7"}],

Cell[TextData[{
  "This definition is referred to as the row\[Hyphen]sum condition and is the \
first in a sequence of row\[Hyphen]simplifying conditions. \nIf ",
  Cell[BoxData[
      \(TraditionalForm\`a\_\(i  j\) = 0\)], "InlineFormula"],
  " for all ",
  Cell[BoxData[
      \(TraditionalForm\`i <  = j\)], "InlineFormula"],
  " the method is ",
  StyleBox["explicit", "TI"],
  "; that is, each of the ",
  Cell[BoxData[
      \(TraditionalForm\`\(Y\_i\) \((x + h)\)\)], "InlineFormula"],
  " is defined in terms of previously computed values. If the matrix ",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(a\_\(i  
            j\)\)\(]\)\)\)\)], "InlineFormula"],
  " is not strictly lower triangular, the method is ",
  StyleBox["implicit", "TI"],
  " and requires the solution of a (generally nonlinear) system of equations \
for each timestep. A diagonally implicit method has ",
  Cell[BoxData[
      \(TraditionalForm\`a\_\(i  j\) = 0\)], "InlineFormula"],
  " for all ",
  Cell[BoxData[
      \(TraditionalForm\`i < j\)], "InlineFormula"],
  ". \nThere are several ways to express the order conditions. If the number \
of stages ",
  Cell[BoxData[
      \(TraditionalForm\`s\)], "InlineFormula"],
  " is specified as a positive integer, the order conditions are expressed in \
terms of sums of explicit terms. If the number of stages is specified as a \
symbol, the order conditions will involve symbolic sums. If the number of \
stages is not specified at all, the order conditions will be expressed in \
stage\[Hyphen]independent tensor notation. In addition to the matrix ",
  StyleBox["a", "MR"],
  " and the vectors ",
  StyleBox["b", "MR"],
  " and ",
  StyleBox["c", "MR"],
  ", this notation involves the vector ",
  StyleBox["e", "MR"],
  ", which is composed of all ones. This notation has two distinct \
advantages: it is independent of the number of stages ",
  Cell[BoxData[
      \(TraditionalForm\`s\)], "InlineFormula"],
  " and it is independent of the particular Runge\[Hyphen]Kutta method. \nFor \
further details of the theory see the references. "
}], "Text",
  CellTags->{"S5.77.1", "1.8"}],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {
                  RowBox[{
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"a\\\\\\\
\"\\\", \\\"MR\\\"]\\)\"\>", 
                        
                        RowBox[{"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"i\\\\\\\"\\\
\", \\\"MR\\\"]\\)\"\>", 
                          ",", "\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"j\\\\\\\"\\\
\", \\\"MR\\\"]\\)\"\>"}]],
                      "InlineFormula"], "\<\" \"\>"}], 
                  RowBox[{"\<\"the coefficient of \"\>", 
                    StyleBox[\(f \((\(Y\_j\) \((x)\))\)\),
                      "InlineFormula"], "\<\" in the formula for \"\>", 
                    StyleBox[\(\(Y\_i\) \((x)\)\),
                      "InlineFormula"], "\<\" of the method\"\>"}]},
                {
                  RowBox[{
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"b\\\\\\\
\"\\\", \\\"MR\\\"]\\)\"\>", \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"j\\\\\\\"\\\", \\\"MR\\\"]\\)\"\>"],
                      "InlineFormula"], "\<\" \"\>"}], 
                  RowBox[{"\<\"the coefficient of \"\>", 
                    StyleBox[\(f \((\(Y\_j\) \((x)\))\)\),
                      "InlineFormula"], "\<\" in the formula for \"\>", 
                    StyleBox[\(Y \((x)\)\),
                      "InlineFormula"], "\<\" of the method\"\>"}]},
                {
                  RowBox[{
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"c\\\\\\\
\"\\\", \\\"MR\\\"]\\)\"\>", \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"i\\\\\\\"\\\", \\\"MR\\\"]\\)\"\>"],
                      "InlineFormula"], "\<\" \"\>"}], 
                  RowBox[{"\<\"a notational convenience for \"\>", 
                    StyleBox[
                      RowBox[{
                        UnderoverscriptBox["\[Sum]", \(j = 1\), "s",
                          LimitsPositioning->True], \(a\_\(i  j\)\)}],
                      "InlineFormula"], "\<\" \"\>"}]},
                {
                  
                  RowBox[{"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"e\\\\\\\"\\\", \
\\\"MR\\\"]\\)\"\>", "\<\" \"\>"}], 
                  
                  RowBox[{"\<\"a notational convenience for the vector \"\>", 
                    
                    StyleBox[\((1, 1, 1, \[Ellipsis])\),
                      "InlineFormula"], "\<\" \"\>"}]}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.9"}],

Cell[TextData[{
  "Notation used by functions in ",
  StyleBox["NumericalMath`Butcher`", "MR"],
  ". "
}], "Caption",
  CellTags->"S5.77.1"],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaOrderConditions[\
\\\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \\!\
\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", 
                  
                  RowBox[{"\<\"give a list of the order conditions that any \
\"\>", 
                    StyleBox["s",
                      
                      "InlineFormula"], "\<\"\[Hyphen]stage \
Runge\[Hyphen]Kutta method of order \"\>", 
                    StyleBox["p",
                      "InlineFormula"], "\<\" must satisfy\"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPrincipalError[\\\\\
\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\\\
\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \
\\!\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \\\"TI\\\"]\\)\\!\\(\\*StyleBox[\
\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                  RowBox[{"\<\"give a list of the order \"\>", 
                    StyleBox[\(p + 1\),
                      
                      "InlineFormula"], "\<\" terms appearing in the Taylor \
series expansion of the error for an order\[Hyphen]\"\>", 
                    StyleBox["p",
                      "InlineFormula"], "\<\", \"\>", 
                    StyleBox["s",
                      
                      "InlineFormula"], "\<\"\[Hyphen]stage \
Runge\[Hyphen]Kutta method \"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaOrderConditions[\
\\\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\), \
\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPrincipalError[\\\\\\\"\\\", \\\"MR\\\"]\
\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give the result in stage\[Hyphen]independent tensor notation \
\"\>"}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.10"}],

Cell["\<\
Functions associated with the order conditions of \
Runge\[Hyphen]Kutta methods. \
\>", "Caption",
  CellTags->"S5.77.1"],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherRowSum\\\\\\\"\\\",\
 \\\"MR\\\"]\\) \"\>", 
                  
                  RowBox[{"\<\"specify whether the row\[Hyphen]sum conditions \
for the \"\>", 
                    StyleBox[\(c\_i\),
                      
                      "InlineFormula"], "\<\" should be explicitly included \
in the list of order conditions\"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherSimplify\\\\\\\"\\\
\", \\\"MR\\\"]\\) \"\>", \("specify whether to apply Butcher's row and \
column simplifying assumptions"\)}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.11"}],

Cell[TextData[{
  "Some options for ",
  StyleBox["RungeKuttaOrderConditions", "MR"],
  ". "
}], "Caption",
  CellTags->"S5.77.1"],

Cell["This loads the package. ", "MathCaption",
  CellTags->{"S5.77.1", "1.12"}],

Cell["<< NumericalMath`Butcher`", "Input",
  CellLabel->"In[1]:= ",
  CellTags->"S5.77.1"],

Cell[TextData[{
  "This gives the number of order conditions for each order up through order \
",
  Cell[BoxData[
      \(TraditionalForm\`10\)], "InlineFormula"],
  ". Notice the combinatorial explosion. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.13"}],

Cell[CellGroupData[{

Cell["Length /@ RungeKuttaOrderConditions[10]", "Input",
  CellLabel->"In[2]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({1, 1, 2, 4, 9, 20, 48, 115, 286, 719}\)], "Output",
  CellLabel->"Out[2]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
This gives the order conditions that must be satisfied by any first\
\[Hyphen]order, 3\[Hyphen]stage Runge\[Hyphen]Kutta method, explicitly \
including the row\[Hyphen]sum conditions. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.14"}],

Cell[CellGroupData[{

Cell["\<\
RungeKuttaOrderConditions[1, 3,
    ButcherRowSum -> True]\
\>", "Input",
  CellLabel->"In[3]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {a\_\(1, 1\) + a\_\(1, 2\) + a\_\(1, 3\) == 
          c\_1, a\_\(2, 1\) + a\_\(2, 2\) + a\_\(2, 3\) == c\_2, 
        a\_\(3, 1\) + a\_\(3, 2\) + a\_\(3, 3\) == c\_3}}\)], "Output",
  CellLabel->"Out[3]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
These are the order conditions that must be satisfied by any second\
\[Hyphen]order, 3\[Hyphen]stage Runge\[Hyphen]Kutta method. Here the row\
\[Hyphen]sum conditions are not included. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.15"}],

Cell[CellGroupData[{

Cell["RungeKuttaOrderConditions[2, 3]", "Input",
  CellLabel->"In[4]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {b\_1\ c\_1 + b\_2\ c\_2 + b\_3\ c\_3 == 
          1\/2}}\)], "Output",
  CellLabel->"Out[4]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
It should be noted that the sums involved on the left\[Hyphen]hand \
sides of the order conditions will be left in symbolic form and not expanded \
if the number of stages is left as a symbolic argument. This will greatly \
simplify the results for high\[Hyphen]order, many\[Hyphen]stage methods. An \
even more compact form results if you do not specify the number of stages at \
all and the answer is given in tensor form. \
\>", "Text",
  CellTags->{"S5.77.1", "1.16"}],

Cell[TextData[{
  "These are the order conditions that must be satisfied by any second\
\[Hyphen]order, ",
  Cell[BoxData[
      \(TraditionalForm\`s\)], "InlineFormula"],
  "\[Hyphen]stage method. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.17"}],

Cell[CellGroupData[{

Cell["RungeKuttaOrderConditions[2, s]", "Input",
  CellLabel->"In[5]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{\[Sum]\+\(i = 1\)\%s b\_i == 1}, {\[Sum]\+\(i = 1\)\%s b\_i\ c\_i == 
          1\/2}}\)], "Output",
  CellLabel->"Out[5]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "Replacing ",
  StyleBox["s", "MR"],
  " by 3 gives the same result as\[NonBreakingSpace]",
  StyleBox["RungeKuttaOrderConditions[2,", "MR"],
  " ",
  StyleBox["3]", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.18"}],

Cell[CellGroupData[{

Cell["% /. s -> 3", "Input",
  CellLabel->"In[6]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {b\_1\ c\_1 + b\_2\ c\_2 + b\_3\ c\_3 == 
          1\/2}}\)], "Output",
  CellLabel->"Out[6]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "These are the order conditions that must be satisfied by any second\
\[Hyphen]order method. This uses tensor notation. The vector ",
  StyleBox["e", "MR"],
  " is a vector of ones whose length is the number of stages. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.19"}],

Cell[CellGroupData[{

Cell["RungeKuttaOrderConditions[2]", "Input",
  CellLabel->"In[7]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b . e == 1}, {b . c == 1\/2}}\)], "Output",
  CellLabel->"Out[7]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
The tensor notation can likewise be expanded to give the conditions \
in full. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.20"}],

Cell[CellGroupData[{

Cell["\<\
% /. {a -> Array[a,{3,3}], b -> Array[b,3],
        c -> Array[c,3], e -> {1,1,1}}\
\>", "Input",
  CellLabel->"In[8]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {b\_1\ c\_1 + b\_2\ c\_2 + b\_3\ c\_3 == 
          1\/2}}\)], "Output",
  CellLabel->"Out[8]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
These are the principal error coefficients for any \
third\[Hyphen]order method. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.21"}],

Cell[CellGroupData[{

Cell["ButcherPrincipalError[3]", "Input",
  CellLabel->"In[9]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({\(-\(1\/24\)\) + b . a . a . c, 
      1\/2\ \((\(-\(1\/12\)\) + b . a . c\^2)\), \(-\(1\/8\)\) + 
        b . \((c\ a . c)\), 1\/6\ \((\(-\(1\/4\)\) + b . c\^3)\)}\)], "Output",\

  CellLabel->"Out[9]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "This is a bound on the local error of any third\[Hyphen]order method in \
the limit as ",
  StyleBox["h", "MR"],
  " approaches 0, normalized to eliminate the effects of the ODE. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.22"}],

Cell[CellGroupData[{

Cell["(Plus @@ Abs[%]) h^4", "Input",
  CellLabel->"In[10]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \(h\^4\ \((1\/6\ Abs[\(-\(1\/4\)\) + b . c\^3] + 
          Abs[\(-\(1\/8\)\) + b . \((c\ a . c)\)] + 
          1\/2\ Abs[\(-\(1\/12\)\) + b . a . c\^2] + 
          Abs[\(-\(1\/24\)\) + b . a . a . c])\)\)], "Output",
  CellLabel->"Out[10]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
Here are the order conditions that must be satisfied by any fourth\
\[Hyphen]order, 1\[Hyphen]stage Runge\[Hyphen]Kutta method. Note that there \
is no possible way for these order conditions to be satisfied; there need to \
be more stages (the second argument must be larger) for there to be \
sufficiently many unknowns to satisfy all of the conditions. \
\>", \
"MathCaption",
  CellTags->{"S5.77.1", "1.23"}],

Cell[CellGroupData[{

Cell["RungeKuttaOrderConditions[4, 1]", "Input",
  CellLabel->"In[11]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 == 1}, {b\_1\ c\_1 == 1\/2}, {a\_\(1, 1\)\ b\_1\ c\_1 == 1\/6, 
        b\_1\ c\_1\%2 == 1\/3}, {a\_\(1, 1\)\%2\ b\_1\ c\_1 == 1\/24, 
        a\_\(1, 1\)\ b\_1\ c\_1\%2 == 1\/12, 
        a\_\(1, 1\)\ b\_1\ c\_1\%2 == 1\/8, 
        b\_1\ c\_1\%3 == 1\/4}}\)], "Output",
  CellLabel->"Out[11]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaMethod\\\\\\\"\\\
\", \\\"MR\\\"]\\) \"\>", \("specify the type of Runge\[Hyphen]Kutta method \
for which order conditions are being sought"\)},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Explicit\\\\\\\"\\\", \
\\\"MR\\\"]\\) \"\>", "\<\"a setting for the option \
\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaMethod\\\\\\\"\\\", \\\"MR\\\"]\\) \
specifying that the order conditions are to be for an explicit \
Runge\[Hyphen]Kutta method \"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"DiagonallyImplicit\\\\\\\"\
\\\", \\\"MR\\\"]\\) \"\>", "\<\"a setting for the option \
\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaMethod\\\\\\\"\\\", \\\"MR\\\"]\\) \
specifying that the order conditions are to be for a diagonally implicit \
Runge\[Hyphen]Kutta method \"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"Implicit\\\\\\\"\\\", \
\\\"MR\\\"]\\) \"\>", "\<\"a setting for the option \
\\!\\(\\*StyleBox[\\\"\\\\\\\"RungeKuttaMethod\\\\\\\"\\\", \\\"MR\\\"]\\) \
specifying that the order conditions are to be for an implicit \
Runge\[Hyphen]Kutta method \"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"$RungeKuttaMethod\\\\\\\"\
\\\", \\\"MR\\\"]\\) \"\>", "\<\"a global variable whose value can be set to \
\\!\\(\\*StyleBox[\\\"\\\\\\\"Explicit\\\\\\\"\\\", \\\"MR\\\"]\\), \
\\!\\(\\*StyleBox[\\\"\\\\\\\"DiagonallyImplicit\\\\\\\"\\\", \\\"MR\\\"]\\), \
or \\!\\(\\*StyleBox[\\\"\\\\\\\"Implicit\\\\\\\"\\\", \\\"MR\\\"]\\)\"\>"}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.24"}],

Cell[TextData[{
  "Controlling the type of Runge\[Hyphen]Kutta method in ",
  StyleBox["RungeKuttaOrderConditions", "MR"],
  " and related functions. "
}], "Caption",
  CellTags->"S5.77.1"],

Cell[TextData[{
  StyleBox["RungeKuttaOrderConditions", "MR"],
  " and certain related functions have the option ",
  StyleBox["RungeKuttaMethod", "MR"],
  " with default setting ",
  StyleBox["$RungeKuttaMethod", "MR"],
  ". Normally you will want to determine the Runge\[Hyphen]Kutta method being \
considered by setting ",
  StyleBox["$RungeKuttaMethod", "MR"],
  " to one of ",
  StyleBox["Implicit", "MR"],
  ", ",
  StyleBox["DiagonallyImplicit", "MR"],
  ", and ",
  StyleBox["Explicit", "MR"],
  ", but you can specify an option setting or even change the default for an \
individual function. "
}], "Text",
  CellTags->{"S5.77.1", "1.25"}],

Cell["\<\
These are the order conditions that must be satisfied by any second\
\[Hyphen]order, 3\[Hyphen]stage diagonally implicit Runge\[Hyphen]Kutta \
method. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.26"}],

Cell[CellGroupData[{

Cell["\<\
RungeKuttaOrderConditions[2, 3,
    RungeKuttaMethod -> DiagonallyImplicit]\
\>", "Input",
  CellLabel->"In[12]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {b\_1\ c\_1 + b\_2\ c\_2 + b\_3\ c\_3 == 
          1\/2}}\)], "Output",
  CellLabel->"Out[12]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "An alternative (but less efficient) way to get a diagonally implicit \
method is to force ",
  StyleBox["a", "MR"],
  " to be lower triangular by replacing upper\[Hyphen]triangular elements \
with 0. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.27"}],

Cell[CellGroupData[{

Cell["\<\
RungeKuttaOrderConditions[2, 3] /.
    a[i_,j_]:>0 /; i<j\
\>", "Input",
  CellLabel->"In[13]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 + b\_3 == 1}, {b\_1\ c\_1 + b\_2\ c\_2 + b\_3\ c\_3 == 
          1\/2}}\)], "Output",
  CellLabel->"Out[13]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
These are the order conditions that must be satisfied by any third\
\[Hyphen]order, 2\[Hyphen]stage explicit Runge\[Hyphen]Kutta method. The \
contradiction in the order conditions indicates that no such method is \
possible, a result which holds for any explicit Runge\[Hyphen]Kutta method \
when the number of stages is less than the order. \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.28"}],

Cell[CellGroupData[{

Cell["\<\
RungeKuttaOrderConditions[3, 2,
    RungeKuttaMethod -> Explicit]\
\>", "Input",
  CellLabel->"In[14]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b\_1 + b\_2 == 1}, {b\_2\ c\_2 == 1\/2}, {False, 
        b\_2\ c\_2\%2 == 1\/3}}\)], "Output",
  CellLabel->"Out[14]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherColumnConditions[\\\
\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\
\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \
\\!\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \\\"TI\\\"]\\)\\!\\(\\*StyleBox[\
\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                  
                  RowBox[{"\<\"give the column simplifying conditions up to \
and including order \"\>", 
                    StyleBox["p",
                      "InlineFormula"], "\<\" for \"\>", 
                    StyleBox["s",
                      "InlineFormula"], "\<\" stages \"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherRowConditions[\\\\\
\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\\\
\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \
\\!\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \\\"TI\\\"]\\)\\!\\(\\*StyleBox[\
\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                  
                  RowBox[{"\<\"give the row simplifying conditions up to and \
including order \"\>", 
                    StyleBox["p",
                      "InlineFormula"], "\<\" for \"\>", 
                    StyleBox["s",
                      "InlineFormula"], "\<\" stages \"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"\
ButcherQuadratureConditions[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \\!\
\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", 
                  
                  RowBox[{"\<\"give the quadrature conditions up to and \
including order \"\>", 
                    StyleBox["p",
                      "InlineFormula"], "\<\" for \"\>", 
                    StyleBox["s",
                      "InlineFormula"], "\<\" stages \"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherColumnConditions[\\\
\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\
\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\), \
\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherRowConditions[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\), \
etc. \"\>", "\<\"give the result in stage\[Hyphen]independent tensor notation \
\"\>"}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.29"}],

Cell["\<\
More functions associated with the order conditions of Runge\
\[Hyphen]Kutta methods. \
\>", "Caption",
  CellTags->"S5.77.1"],

Cell[TextData[{
  "Butcher showed that the number and complexity of the order conditions can \
be reduced considerably at high orders by the adoption of so\[Hyphen]called \
simplifying assumptions. For example, this reduction can be accomplished by \
adopting sufficient row and column simplifying assumptions and quadrature\
\[Hyphen]type order conditions. The option ",
  StyleBox["ButcherSimplify", "MR"],
  " in ",
  StyleBox["RungeKuttaOrderConditions", "MR"],
  " can be used to determine these automatically. "
}], "Text",
  CellTags->{"S5.77.1", "1.30"}],

Cell["These are the column simplifying conditions up to order 4. ", \
"MathCaption",
  CellTags->{"S5.77.1", "1.31"}],

Cell[CellGroupData[{

Cell["ButcherColumnConditions[4]", "Input",
  CellLabel->"In[15]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({b . a == b\ \((\(-c\) + e)\), \((b\ c)\) . a == 
        1\/2\ b\ \((\(-c\^2\) + e)\), \((b\ c\^2)\) . a == 
        1\/3\ b\ \((\(-c\^3\) + e)\), \((b\ c\^3)\) . a == 
        1\/4\ b\ \((\(-c\^4\) + e)\)}\)], "Output",
  CellLabel->"Out[15]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["These are the row simplifying conditions up to order 4. ", "MathCaption",
  CellTags->{"S5.77.1", "1.32"}],

Cell[CellGroupData[{

Cell["ButcherRowConditions[4]", "Input",
  CellLabel->"In[16]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({a . e == c, a . c == c\^2\/2, a . c\^2 == c\^3\/3, 
      a . c\^3 == c\^4\/4}\)], "Output",
  CellLabel->"Out[16]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["These are the quadrature conditions up to order 4. ", "MathCaption",
  CellTags->{"S5.77.1", "1.33"}],

Cell[CellGroupData[{

Cell["ButcherQuadratureConditions[4]", "Input",
  CellLabel->"In[17]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{b . e == 1}, {b . c == 1\/2}, {b . c\^2 == 1\/3}, {b . c\^3 == 
          1\/4}}\)], "Output",
  CellLabel->"Out[17]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "Trees are fundamental objects in Butcher's formalism. They yield both the \
derivative in a power series expansion of a Runge\[Hyphen]Kutta method ",
  StyleBox["and", "TI"],
  " the related order constraint on the coefficients. This package provides a \
number of functions related to Butcher trees. "
}], "Text",
  CellTags->{"S5.77.1", "1.34"}],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"f\\\\\\\"\\\", \
\\\"MR\\\"]\\) \"\>", \("the elementary symbol used in the representation of \
Butcher trees"\)},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherTrees[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\\\"]\\)\\!\
\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                  
                  RowBox[{"\<\"give a list, partitioned by order, of the \
trees for any Runge\[Hyphen]Kutta method of order \"\>", 
                    StyleBox["p",
                      "InlineFormula"]}]},
                {
                  
                  RowBox[{"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"\
ButcherTreeSimplify[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", 
                    StyleBox["\[Eta]",
                      "InlineFormula"], "\<\", \"\>", 
                    StyleBox["\[Xi]",
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>"}], 
                  RowBox[{"\<\"give the set of trees through order \"\>", 
                    StyleBox["p",
                      
                      "InlineFormula"], "\<\" that are not reduced by \
Butcher's simplifying assumptions, assuming that the quadrature conditions \
through order \"\>", 
                    StyleBox["p",
                      
                      "InlineFormula"], "\<\", the row simplifying conditions \
through order \"\>", 
                    StyleBox["\[Eta]",
                      
                      "InlineFormula"], "\<\", and the column simplifying \
conditions through order \"\>", 
                    StyleBox["\[Xi]",
                      
                      "InlineFormula"], "\<\" all hold. The result is grouped \
by order, starting with the first nonvanishing trees\"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherTreeCount[\\\\\\\"\
\\\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give a list of the number of trees through order \
\\!\\(\\*StyleBox[\\\"\\\\\\\"p\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherTreeQ[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give \
\\!\\(\\*StyleBox[\\\"\\\\\\\"True\\\\\\\"\\\", \\\"MR\\\"]\\) if the tree or \
list of trees \\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\) \
is valid functional syntax, and \\!\\(\\*StyleBox[\\\"\\\\\\\"False\\\\\\\"\\\
\", \\\"MR\\\"]\\) otherwise\"\>"}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.35"}],

Cell["Constructing and enumerating Butcher trees. ", "Caption",
  CellTags->"S5.77.1"],

Cell[TextData[{
  "This gives the trees that are needed for any third\[Hyphen]order method. \
The trees are represented in a functional form in terms of the elementary \
symbol ",
  StyleBox["f", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.36"}],

Cell[CellGroupData[{

Cell["ButcherTrees[3]", "Input",
  CellLabel->"In[18]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{f}, {f[f]}, {f[f[f]], f[f\^2]}}\)], "Output",
  CellLabel->"Out[18]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "This tests the validity of the syntax of two trees. Butcher trees must be \
constructed using multiplication, exponentiation or application of the \
function ",
  StyleBox["f", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.37"}],

Cell[CellGroupData[{

Cell["ButcherTreeQ /@ {f[f[f[f] f^2]], f[f f[f+f]]}", "Input",
  CellLabel->"In[19]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({True, False}\)], "Output",
  CellLabel->"Out[19]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "This evaluates the number of trees at each order through order 10. The \
result is equivalent to ",
  StyleBox["Out[2]", "MR"],
  " but the calculation is much more efficient since it does not actually \
involve constructing order conditions or trees. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.38"}],

Cell[CellGroupData[{

Cell["ButcherTreeCount[10]", "Input",
  CellLabel->"In[20]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({1, 1, 2, 4, 9, 20, 48, 115, 286, 719}\)], "Output",
  CellLabel->"Out[20]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "The previous result can be used to calculate the ",
  StyleBox["total", "TI"],
  " number of trees required at each order through \
order\[NonBreakingSpace]10. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.39"}],

Cell[CellGroupData[{

Cell["FoldList[ Plus, First[%], Rest[%] ]", "Input",
  CellLabel->"In[21]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({1, 2, 4, 8, 17, 37, 85, 200, 486, 1205}\)], "Output",
  CellLabel->"Out[21]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "The number of constraints for a method using row and column simplifying \
assumptions depends upon the number of stages. ",
  StyleBox["ButcherTreeSimplify", "MR"],
  " gives the Butcher trees that are not reduced assuming that these \
assumptions hold. "
}], "Text",
  CellTags->{"S5.77.1", "1.40"}],

Cell["\<\
This gives the additional trees that are necessary for a fourth\
\[Hyphen]order method assuming that the quadrature conditions through order 4 \
and the row and column simplifying assumptions of order 1 hold. The result is \
a single tree of order 4 (which corresponds to a single fourth\[Hyphen]order \
condition). \
\>", "MathCaption",
  CellTags->{"S5.77.1", "1.41"}],

Cell[CellGroupData[{

Cell["ButcherTreeSimplify[4, 1, 1]", "Input",
  CellLabel->"In[22]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \({{f[f\ f[f]]}}\)], "Output",
  CellLabel->"Out[22]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
It is often useful to be able to visualize a tree or forest of \
trees graphically. For example, depicting trees yields insight, which can in \
turn be used to aid in the construction of Runge\[Hyphen]Kutta methods. \
\
\>", "Text",
  CellTags->{"S5.77.1", "1.42"}],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlot[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give a plot of the tree \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"},
                {
                  
                  RowBox[{"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlot[\\\\\
\\\"\\\", \\\"MR\\\"]\\)\"\>", 
                    StyleBox["{",
                      "InlineFormula"], 
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\
\\\"\\\", \\\"TI\\\"]\\)\"\>", "1"],
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\
\\\"\\\", \\\"TI\\\"]\\)\"\>", "2"],
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \[Ellipsis] \
\"\>", 
                    StyleBox["}",
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>"}], 
                  
                  RowBox[{"\<\"give an array of plots of the trees in the \
forest \"\>", 
                    StyleBox["{",
                      "InlineFormula"], 
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\
\\\"\\\", \\\"TI\\\"]\\)\"\>", "1"],
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                    StyleBox[
                      
                      SubscriptBox["\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\
\\\"\\\", \\\"TI\\\"]\\)\"\>", "2"],
                      
                      "InlineFormula"], \
"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \[Ellipsis] \
\"\>", 
                    StyleBox["}",
                      "InlineFormula"]}]}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.43"}],

Cell["Drawing Butcher trees. ", "Caption",
  CellTags->"S5.77.1"],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlotColumns\\\\\\\"\
\\\", \\\"MR\\\"]\\) \"\>", "\<\"specify the number of columns in the \
\\!\\(\\*StyleBox[\\\"\\\\\\\"GraphicsArray\\\\\\\"\\\", \\\"MR\\\"]\\) plot \
of a list of trees\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlotLabel\\\\\\\"\\\
\", \\\"MR\\\"]\\) \"\>", \("specify a list of plot labels to be used to \
label the nodes of the plot"\)},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlotNodeSize\\\\\\\
\"\\\", \\\"MR\\\"]\\) \"\>", \("specify a scaling factor for the nodes of \
the trees in the plot"\)},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPlotRootSize\\\\\\\
\"\\\", \\\"MR\\\"]\\) \"\>", \("specify a scaling factor for the \
highlighting of the root of each tree in the plot; a zero value does not \
highlight roots "\)}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.44"}],

Cell[TextData[{
  "Options to ",
  StyleBox["ButcherPlot", "MR"],
  ". "
}], "Caption",
  CellTags->"S5.77.1"],

Cell["This plots and labels the trees through order 4. ", "MathCaption",
  CellTags->{"S5.77.1", "1.45"}],

Cell[CellGroupData[{

Cell["\<\
ButcherPlot[ #,
    ButcherPlotLabel -> (InputForm /@ #)]& @
        Flatten[ ButcherTrees[4] ]\
\>", "Input",
  CellLabel->"In[23]:= ",
  CellTags->"S5.77.1"],

Cell[GraphicsData["PostScript", "\<\
%!
%%Creator: Mathematica
%%AspectRatio: 1 
MathPictureStart
/Mabs {
Mgmatrix idtransform
Mtmatrix dtransform
} bind def
/Mabsadd { Mabs
3 -1 roll add
3 1 roll add
exch } bind def
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.0238095 0.238095 0.0238095 0.281475 [
[ 0 0 0 0 ]
[ 1 1 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 0 m
1 0 L
1 1 L
0 1 L
closepath
clip
newpath
% Start of sub-graphic
p
0.0238095 0.0238095 0.245293 0.477324 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -32 0 ]
[.5 1.74455 32 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -93 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
81.000 11.250 moveto
(@) show
87.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
93.000 11.250 moveto
(@) show
99.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
105.000 11.250 moveto
(D) show
111.000 11.250 moveto
(D) show
117.000 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.5 .60804 L
s
.05771 w
.5 .60804 Mdot
.5 Mabswid
.5 .60804 m
.5 1.12401 L
s
.05771 w
.5 1.12401 Mdot
.5 Mabswid
.5 1.12401 m
.5 1.63998 L
s
.05771 w
.5 1.63998 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.267442 0.0238095 0.488926 0.477324 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -30.1875 0 ]
[.5 1.74455 30.1875 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -91.1875 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
81.000 11.250 moveto
(@) show
87.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
94.188 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(^) show
101.375 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(2) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
107.375 11.250 moveto
(D) show
113.375 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.5 .60804 L
s
.05771 w
.5 .60804 Mdot
.5 Mabswid
.5 .60804 m
.28775 1.12401 L
s
.05771 w
.28775 1.12401 Mdot
.5 Mabswid
.5 .60804 m
.71225 1.12401 L
s
.05771 w
.71225 1.12401 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.511074 0.0238095 0.732558 0.477324 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -30.8125 0 ]
[.5 1.74455 30.8125 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -91.8125 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
82.812 11.250 moveto
%%IncludeResource: font Math1Mono
%%IncludeFont: Math1Mono
/Math1Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(*) show
90.625 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
96.625 11.250 moveto
(@) show
102.625 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
108.625 11.250 moveto
(D) show
114.625 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.28775 .60804 L
s
.05771 w
.28775 .60804 Mdot
.5 Mabswid
.5 .09207 m
.71225 .60804 L
s
.05771 w
.71225 .60804 Mdot
.5 Mabswid
.71225 .60804 m
.71225 1.12401 L
s
.05771 w
.71225 1.12401 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.754707 0.0238095 0.97619 0.477324 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -21.1875 0 ]
[.5 1.74455 21.1875 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -82.1875 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
82.188 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(^) show
89.375 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(3) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
95.375 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.217 .60804 L
s
.05771 w
.217 .60804 Mdot
.5 Mabswid
.5 .09207 m
.5 .60804 L
s
.05771 w
.5 .60804 Mdot
.5 Mabswid
.5 .09207 m
.783 .60804 L
s
.05771 w
.783 .60804 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.0238095 0.522676 0.245293 0.97619 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -5 0 ]
[.5 1.74455 5 9.8125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -66 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 17.8125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.267442 0.522676 0.488926 0.97619 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -14 0 ]
[.5 1.74455 14 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -75 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
81.000 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.5 .60804 L
s
.05771 w
.5 .60804 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.511074 0.522676 0.732558 0.97619 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -23 0 ]
[.5 1.74455 23 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -84 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
81.000 11.250 moveto
(@) show
87.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
93.000 11.250 moveto
(D) show
99.000 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.5 .60804 L
s
.05771 w
.5 .60804 Mdot
.5 Mabswid
.5 .60804 m
.5 1.12401 L
s
.05771 w
.5 1.12401 Mdot
MathSubEnd
P
% End of sub-graphic
% Start of sub-graphic
p
0.754707 0.522676 0.97619 0.97619 MathSubStart
%% Graphics
%%IncludeResource: font Courier
%%IncludeFont: Courier
/Courier findfont 10  scalefont  setfont
% Scaling calculations
0.5 0.893683 0.0920728 1.54791 [
[.5 1.74455 -21.1875 0 ]
[.5 1.74455 21.1875 10.125 ]
[ 0 0 0 0 ]
[ 1 1.73205 0 0 ]
] MathScale
% Start of Graphics
1 setlinecap
1 setlinejoin
newpath
0 g
gsave
.5 1.74455 -82.1875 -4 Mabsadd m
1 1 Mabs scale
currentpoint translate
/MISOfy
{
    /newfontname exch def
    /oldfontname exch def

    oldfontname findfont
    dup length dict begin
        {1 index /FID ne {def} {pop pop} ifelse} forall
        /Encoding ISOLatin1Encoding def
        currentdict
    end

    newfontname exch definefont pop
} def

0 18.125 translate 1 -1 scale
63.000 11.250 moveto
%%IncludeResource: font Courier
%%IncludeFont: Courier
%%BeginResource: font Courier-MISO
%%BeginFont: Courier-MISO
/Courier /Courier-MISO MISOfy
%%EndFont
%%EndResource
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
69.000 11.250 moveto
(@) show
75.000 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(f) show
82.188 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(^) show
89.375 11.250 moveto
%%IncludeResource: font Courier-MISO
%%IncludeFont: Courier-MISO
/Courier-MISO findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
(2) show
%%IncludeResource: font Math2Mono
%%IncludeFont: Math2Mono
/Math2Mono findfont 10.000 scalefont
[1 0 0 -1 0 0 ] makefont setfont
0.000 0.000 0.000 setrgbcolor
95.375 11.250 moveto
(D) show
1.000 setlinewidth
grestore
0 0 m
1 0 L
1 1.73205 L
0 1.73205 L
closepath
clip
newpath
.05771 w
.5 .09207 Mdot
.5 Mabswid
[ ] 0 setdash
newpath
.5 .09207 .06111 0 365.73 arc
s
.05771 w
.5 .09207 Mdot
.5 Mabswid
.5 .09207 m
.28775 .60804 L
s
.05771 w
.28775 .60804 Mdot
.5 Mabswid
.5 .09207 m
.71225 .60804 L
s
.05771 w
.71225 .60804 Mdot
MathSubEnd
P
% End of sub-graphic
% End of Graphics
MathPictureEnd
\
\>"], "Graphics",
  ImageSize->{300, 180},
  ImageCacheValid->False,
  CellTags->"S5.77.1"],

Cell[BoxData[
    TagBox[\(\[SkeletonIndicator]  GraphicsArray  \[SkeletonIndicator]\),
      False,
      Editable->False]], "Output",
  CellLabel->"Out[23]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell["\<\
In addition to generating and drawing Butcher trees, many functions \
are provided for measuring and manipulating them. For a complete description \
of the importance of these functions, see Butcher\[NonBreakingSpace][1]. \
\
\>", "Text",
  CellTags->{"S5.77.1", "1.46"}],

Cell[BoxData[
    FormBox[
      StyleBox[
        FrameBox[
          StyleBox[GridBox[{
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherHeight[\\\\\\\"\\\"\
, \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give the height of the tree \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherWidth[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give \
the width of the tree \\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherOrder[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give \
the order, or number of vertices, of the tree \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherAlpha[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", 
                  
                  RowBox[{"\<\"give the number of ways of labeling the \
vertices of the tree \\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\
\"]\\) with a totally ordered set of labels such that if \"\>", 
                    StyleBox[\((m, n)\),
                      "InlineFormula"], "\<\" is an edge, then \"\>", 
                    StyleBox[\(m < n\),
                      "InlineFormula"]}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherBeta[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give the number of ways of labeling the tree \\!\\(\\*StyleBox[\\\
\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\) with \
\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherOrder[\\\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\
\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]-1\\\\\\\"\\\", \\\"MR\\\"]\\) \
distinct labels such that the root is not labeled, but every other vertex is \
labeled\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherBeta[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \\!\
\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\\!\\(\\*StyleBox[\
\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give the number of ways \
of labeling \\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \\\"TI\\\"]\\) of \
the vertices of the tree with \\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \\\
\"TI\\\"]\\) distinct labels such that every leaf is labeled and the root is \
not labeled\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherBetaBar[\\\\\\\"\\\
\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\
\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", \
"\<\"give the number of ways of labeling the tree \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\) with \
\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherOrder[\\\\\\\"\\\", \\\"MR\\\"]\\)\\!\\(\
\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
distinct labels such that every node, including the root, is labeled\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherBetaBar[\\\\\\\"\\\
\", \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", "\<\"give the number of ways of labeling \
\\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \\\"TI\\\"]\\) of the vertices \
of the tree with \\!\\(\\*StyleBox[\\\"\\\\\\\"n\\\\\\\"\\\", \\\"TI\\\"]\\) \
distinct labels such that every leaf is labeled\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherGamma[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give \
the density of the tree \\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\); the reciprocal of the density is the right\[Hyphen]hand side \
of the order condition imposed by \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPhi[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\",\\\\\\\"\\\", \\\"MR\\\"]\\) \\!\
\\(\\*StyleBox[\\\"\\\\\\\"s\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", 
                  
                  RowBox[{"\<\"give the weight of the tree \\!\\(\\*StyleBox[\
\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\); the weight \"\>", 
                    StyleBox[\(\[CapitalPhi] \((t  r  e  e)\)\),
                      
                      "InlineFormula"], "\<\" is the left\[Hyphen]hand side \
of the order condition imposed by \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherPhi[\\\\\\\"\\\", \
\\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \
\\\"TI\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \
\"\>", 
                  RowBox[{"\<\"give \"\>", 
                    StyleBox[\(\[CapitalPhi] \((t  r  e  e)\)\),
                      "InlineFormula"], "\<\" using tensor notation \"\>"}]},
                {"\<\"\\!\\(\\*StyleBox[\\\"\\\\\\\"ButcherSigma[\\\\\\\"\\\",\
 \\\"MR\\\"]\\)\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\)\
\\!\\(\\*StyleBox[\\\"\\\\\\\"]\\\\\\\"\\\", \\\"MR\\\"]\\) \"\>", "\<\"give \
the order of the symmetry group of isomorphisms of the tree \
\\!\\(\\*StyleBox[\\\"\\\\\\\"tree\\\\\\\"\\\", \\\"TI\\\"]\\) with \
itself\"\>"}
                },
              ColumnAlignments->{Right, Left}],
            GridBoxOptions->{RowLines->False}]],
        "2ColumnBox"], TraditionalForm]], "Text",
  CellTags->{"S5.77.1", "1.47"}],

Cell["Other functions associated with Butcher trees. ", "Caption",
  CellTags->"S5.77.1"],

Cell[TextData[{
  "This gives the order of the tree ",
  StyleBox["f[f[f[f]", "MR"],
  " ",
  StyleBox["f^2]]", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.48"}],

Cell[CellGroupData[{

Cell["ButcherOrder[f[f[f[f] f^2]]]", "Input",
  CellLabel->"In[24]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \(6\)], "Output",
  CellLabel->"Out[24]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "This gives the density of the tree ",
  StyleBox["f[f[f[f]", "MR"],
  " ",
  StyleBox["f^2]]", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.49"}],

Cell[CellGroupData[{

Cell["ButcherGamma[f[f[f[f] f^2]]]", "Input",
  CellLabel->"In[25]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \(60\)], "Output",
  CellLabel->"Out[25]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "This gives the elementary weight function imposed by ",
  StyleBox["f[f[f[f]", "MR"],
  " ",
  StyleBox["f^2]]", "MR"],
  " for an ",
  Cell[BoxData[
      \(TraditionalForm\`s\)], "InlineFormula"],
  "\[Hyphen]stage method. "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.50"}],

Cell[CellGroupData[{

Cell["ButcherPhi[f[f[f[f] f^2]], s]", "Input",
  CellLabel->"In[26]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    \(\[Sum]\+\(i = 1\)\%s b\_i\ \(\[Sum]\+\(j = 1\)\%s a\_\(i, j\)\ c\_j\%2\ \
\(\[Sum]\+\(k = 1\)\%s a\_\(j, k\)\ c\_k\)\)\)], "Output",
  CellLabel->"Out[26]= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "The subscript notation is a formatting device and the subscripts are \
really just the indexed variable ",
  StyleBox["NumericalMath`Butcher`Private`$i", "MR"],
  ". "
}], "MathCaption",
  CellTags->{"S5.77.1", "1.51"}],

Cell[CellGroupData[{

Cell["FullForm[%[[1,1]]]", "Input",
  CellLabel->"In[27]:= ",
  CellTags->"S5.77.1"],

Cell[BoxData[
    TagBox[
      StyleBox[\(b[NumericalMath`Butcher`Private`$i1]\),
        ShowSpecialCharacters->False,
        ShowStringCharacters->True,
        NumberMarks->True],
      FullForm]], "Output",
  CellLabel->"Out[27]//FullForm= ",
  CellTags->"S5.77.1"]
}, Open  ]],

Cell[TextData[{
  "It is also possible to obtain solutions to the order conditions using ",
  StyleBox["Solve", "MR"],
  " and related functions. Many issues related to the construction Runge\
\[Hyphen]Kutta methods using this package can be found in Sofroniou\
\[NonBreakingSpace][6]. The article also contains details concerning \
algorithms used in ",
  StyleBox["Butcher.m", "MR"],
  " and discusses applications. "
}], "Text",
  CellTags->{"S5.77.1", "1.52"}],

Cell["References", "Subsubsection",
  CellTags->{"S5.77.1", "1.53"}],

Cell[TextData[{
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(1\)\(]\)\)\)\)], 
    "InlineFormula"],
  " ",
  StyleBox["The Numerical Analysis of Ordinary Differential Equations: Runge\
\[Hyphen]Kutta and General Linear Methods", "TI"],
  ", J. C. Butcher, John Wiley and Sons, New York, 1987. \n",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(2\)\(]\)\)\)\)], 
    "InlineFormula"],
  " ",
  StyleBox["A First Course in the Numerical Analysis of Differential \
Equations ", "TI"],
  ", A.\[NonBreakingSpace]Iserles, Cambridge University Press, Cambridge, \
England, 1996. \n",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(3\)\(]\)\)\)\)], 
    "InlineFormula"],
  " ",
  StyleBox["Numerical Methods for Ordinary Differential Systems, The Initial \
Value Problem", "TI"],
  ", J. D. Lambert, John Wiley and Sons, New York, 1991. \n",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(4\)\(]\)\)\)\)], 
    "InlineFormula"],
  " ",
  StyleBox["Solving Ordinary Differential Equations I: Nonstiff Problems", 
    "TI"],
  ", E. Hairer, S. P. Norsett and G. Wanner, Second edition, Springer Verlag, \
New York, 1993. \n",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(5\)\(]\)\)\)\)], 
    "InlineFormula"],
  " ",
  StyleBox["Solving Ordinary Differential Equations II: Stiff and \
Differential Algebraic Problems", "TI"],
  ", E. Hairer and G. Wanner, Springer\[Hyphen]Verlag, New York, 1991. \n",
  Cell[BoxData[
      \(TraditionalForm\`\(\(\[InvisibleSpace]\)\(\([\)\(6\)\(]\)\)\)\)], 
    "InlineFormula"],
  " \[OpenCurlyDoubleQuote]Symbolic Derivation of Runge\[Hyphen]Kutta Methods\
\[CloseCurlyDoubleQuote], M. Sofroniou, ",
  StyleBox["Journal of Symbolic Computation", "TI"],
  ", 18(3), pp.\[NonBreakingSpace]265\[Dash]296, 1994. "
}], "Text",
  CellTags->{"S5.77.1", "1.54"}]
},
FrontEndVersion->"4.0 for X",
ScreenRectangle->{{0, 800}, {0, 600}},
WindowSize->{520, 455},
WindowMargins->{{140, Automatic}, {Automatic, 72}},
StyleDefinitions -> "HelpBrowser.nb"
]


(***********************************************************************
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->{
  "S5.77.1"->{
    Cell[1717, 49, 142, 6, 70, "Subsection",
      CellTags->{"S5.77.1", "1.1"}],
    Cell[1862, 57, 1779, 41, 70, "Text",
      CellTags->{"S5.77.1", "1.2"}],
    Cell[3644, 100, 308, 7, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.3"}],
    Cell[3955, 109, 54, 1, 70, "Text",
      CellTags->{"S5.77.1", "1.4"}],
    Cell[4012, 112, 412, 8, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.5"}],
    Cell[4427, 122, 650, 17, 70, "Text",
      CellTags->{"S5.77.1", "1.6"}],
    Cell[5080, 141, 328, 7, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.7"}],
    Cell[5411, 150, 2150, 49, 70, "Text",
      CellTags->{"S5.77.1", "1.8"}],
    Cell[7564, 201, 2781, 62, 70, "Text",
      CellTags->{"S5.77.1", "1.9"}],
    Cell[10348, 265, 140, 5, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[10491, 272, 2404, 48, 70, "Text",
      CellTags->{"S5.77.1", "1.10"}],
    Cell[12898, 322, 131, 4, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[13032, 328, 876, 21, 70, "Text",
      CellTags->{"S5.77.1", "1.11"}],
    Cell[13911, 351, 130, 5, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[14044, 358, 80, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.12"}],
    Cell[14127, 361, 90, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[14220, 365, 258, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.13"}],
    Cell[14503, 376, 104, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[14610, 380, 120, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[14745, 386, 248, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.14"}],
    Cell[15018, 395, 131, 5, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[15152, 402, 278, 5, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[15445, 410, 249, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.15"}],
    Cell[15719, 419, 96, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[15818, 423, 168, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[16001, 430, 482, 8, 70, "Text",
      CellTags->{"S5.77.1", "1.16"}],
    Cell[16486, 440, 251, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.17"}],
    Cell[16762, 451, 96, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[16861, 455, 170, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[17046, 462, 249, 9, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.18"}],
    Cell[17320, 475, 76, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[17399, 479, 168, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[17582, 486, 290, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.19"}],
    Cell[17897, 496, 93, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[17993, 500, 113, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[18121, 506, 143, 4, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.20"}],
    Cell[18289, 514, 155, 5, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[18447, 521, 168, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[18630, 528, 145, 4, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.21"}],
    Cell[18800, 536, 89, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[18892, 540, 249, 6, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[19156, 549, 251, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.22"}],
    Cell[19432, 559, 86, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[19521, 563, 286, 6, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[19822, 572, 422, 8, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.23"}],
    Cell[20269, 584, 97, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[20369, 588, 347, 7, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[20731, 598, 1820, 32, 70, "Text",
      CellTags->{"S5.77.1", "1.24"}],
    Cell[22554, 632, 189, 5, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[22746, 639, 648, 18, 70, "Text",
      CellTags->{"S5.77.1", "1.25"}],
    Cell[23397, 659, 215, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.26"}],
    Cell[23637, 668, 149, 5, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[23789, 675, 169, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[23973, 682, 272, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.27"}],
    Cell[24270, 693, 131, 5, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[24404, 700, 169, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[24588, 707, 407, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.28"}],
    Cell[25020, 718, 139, 5, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[25162, 725, 166, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[25343, 732, 2820, 55, 70, "Text",
      CellTags->{"S5.77.1", "1.29"}],
    Cell[28166, 789, 136, 4, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[28305, 795, 562, 11, 70, "Text",
      CellTags->{"S5.77.1", "1.30"}],
    Cell[28870, 808, 117, 2, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.31"}],
    Cell[29012, 814, 92, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[29107, 818, 290, 6, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[29412, 827, 112, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.32"}],
    Cell[29549, 832, 89, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[29641, 836, 162, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[29818, 843, 107, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.33"}],
    Cell[29950, 848, 96, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[30049, 852, 165, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[30229, 859, 366, 7, 70, "Text",
      CellTags->{"S5.77.1", "1.34"}],
    Cell[30598, 868, 3160, 63, 70, "Text",
      CellTags->{"S5.77.1", "1.35"}],
    Cell[33761, 933, 86, 1, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[33850, 936, 261, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.36"}],
    Cell[34136, 947, 81, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[34220, 951, 116, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[34351, 957, 261, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.37"}],
    Cell[34637, 968, 111, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[34751, 972, 96, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[34862, 978, 324, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.38"}],
    Cell[35211, 989, 86, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[35300, 993, 121, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[35436, 999, 232, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.39"}],
    Cell[35693, 1009, 101, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[35797, 1013, 123, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[35935, 1019, 319, 7, 70, "Text",
      CellTags->{"S5.77.1", "1.40"}],
    Cell[36257, 1028, 380, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.41"}],
    Cell[36662, 1039, 94, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[36759, 1043, 97, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[36871, 1049, 275, 6, 70, "Text",
      CellTags->{"S5.77.1", "1.42"}],
    Cell[37149, 1057, 2534, 61, 70, "Text",
      CellTags->{"S5.77.1", "1.43"}],
    Cell[39686, 1120, 65, 1, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[39754, 1123, 1159, 23, 70, "Text",
      CellTags->{"S5.77.1", "1.44"}],
    Cell[40916, 1148, 110, 5, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[41029, 1155, 105, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.45"}],
    Cell[41159, 1160, 169, 6, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[41331, 1168, 20482, 1016, 70, 20408, 1013, "GraphicsData", 
    "PostScript", "Graphics",
      ImageCacheValid->False,
      CellTags->"S5.77.1"],
    Cell[61816, 2186, 184, 5, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[62015, 2194, 281, 6, 70, "Text",
      CellTags->{"S5.77.1", "1.46"}],
    Cell[62299, 2202, 6561, 106, 70, "Text",
      CellTags->{"S5.77.1", "1.47"}],
    Cell[68863, 2310, 89, 1, 70, "Caption",
      CellTags->"S5.77.1"],
    Cell[68955, 2313, 177, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.48"}],
    Cell[69157, 2324, 94, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[69254, 2328, 84, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[69353, 2334, 179, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.49"}],
    Cell[69557, 2345, 94, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[69654, 2349, 85, 3, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[69754, 2355, 297, 10, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.50"}],
    Cell[70076, 2369, 95, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[70174, 2373, 201, 4, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[70390, 2380, 238, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.51"}],
    Cell[70653, 2390, 84, 2, 70, "Input",
      CellTags->"S5.77.1"],
    Cell[70740, 2394, 271, 8, 70, "Output",
      CellTags->"S5.77.1"],
    Cell[71026, 2405, 464, 10, 70, "Text",
      CellTags->{"S5.77.1", "1.52"}],
    Cell[71493, 2417, 68, 1, 70, "Subsubsection",
      CellTags->{"S5.77.1", "1.53"}],
    Cell[71564, 2420, 1920, 46, 70, "Text",
      CellTags->{"S5.77.1", "1.54"}]},
  "1.1"->{
    Cell[1717, 49, 142, 6, 70, "Subsection",
      CellTags->{"S5.77.1", "1.1"}]},
  "1.2"->{
    Cell[1862, 57, 1779, 41, 70, "Text",
      CellTags->{"S5.77.1", "1.2"}]},
  "1.3"->{
    Cell[3644, 100, 308, 7, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.3"}]},
  "1.4"->{
    Cell[3955, 109, 54, 1, 70, "Text",
      CellTags->{"S5.77.1", "1.4"}]},
  "1.5"->{
    Cell[4012, 112, 412, 8, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.5"}]},
  "1.6"->{
    Cell[4427, 122, 650, 17, 70, "Text",
      CellTags->{"S5.77.1", "1.6"}]},
  "1.7"->{
    Cell[5080, 141, 328, 7, 70, "DisplayFormula",
      CellTags->{"S5.77.1", "1.7"}]},
  "1.8"->{
    Cell[5411, 150, 2150, 49, 70, "Text",
      CellTags->{"S5.77.1", "1.8"}]},
  "1.9"->{
    Cell[7564, 201, 2781, 62, 70, "Text",
      CellTags->{"S5.77.1", "1.9"}]},
  "1.10"->{
    Cell[10491, 272, 2404, 48, 70, "Text",
      CellTags->{"S5.77.1", "1.10"}]},
  "1.11"->{
    Cell[13032, 328, 876, 21, 70, "Text",
      CellTags->{"S5.77.1", "1.11"}]},
  "1.12"->{
    Cell[14044, 358, 80, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.12"}]},
  "1.13"->{
    Cell[14220, 365, 258, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.13"}]},
  "1.14"->{
    Cell[14745, 386, 248, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.14"}]},
  "1.15"->{
    Cell[15445, 410, 249, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.15"}]},
  "1.16"->{
    Cell[16001, 430, 482, 8, 70, "Text",
      CellTags->{"S5.77.1", "1.16"}]},
  "1.17"->{
    Cell[16486, 440, 251, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.17"}]},
  "1.18"->{
    Cell[17046, 462, 249, 9, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.18"}]},
  "1.19"->{
    Cell[17582, 486, 290, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.19"}]},
  "1.20"->{
    Cell[18121, 506, 143, 4, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.20"}]},
  "1.21"->{
    Cell[18630, 528, 145, 4, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.21"}]},
  "1.22"->{
    Cell[19156, 549, 251, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.22"}]},
  "1.23"->{
    Cell[19822, 572, 422, 8, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.23"}]},
  "1.24"->{
    Cell[20731, 598, 1820, 32, 70, "Text",
      CellTags->{"S5.77.1", "1.24"}]},
  "1.25"->{
    Cell[22746, 639, 648, 18, 70, "Text",
      CellTags->{"S5.77.1", "1.25"}]},
  "1.26"->{
    Cell[23397, 659, 215, 5, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.26"}]},
  "1.27"->{
    Cell[23973, 682, 272, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.27"}]},
  "1.28"->{
    Cell[24588, 707, 407, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.28"}]},
  "1.29"->{
    Cell[25343, 732, 2820, 55, 70, "Text",
      CellTags->{"S5.77.1", "1.29"}]},
  "1.30"->{
    Cell[28305, 795, 562, 11, 70, "Text",
      CellTags->{"S5.77.1", "1.30"}]},
  "1.31"->{
    Cell[28870, 808, 117, 2, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.31"}]},
  "1.32"->{
    Cell[29412, 827, 112, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.32"}]},
  "1.33"->{
    Cell[29818, 843, 107, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.33"}]},
  "1.34"->{
    Cell[30229, 859, 366, 7, 70, "Text",
      CellTags->{"S5.77.1", "1.34"}]},
  "1.35"->{
    Cell[30598, 868, 3160, 63, 70, "Text",
      CellTags->{"S5.77.1", "1.35"}]},
  "1.36"->{
    Cell[33850, 936, 261, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.36"}]},
  "1.37"->{
    Cell[34351, 957, 261, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.37"}]},
  "1.38"->{
    Cell[34862, 978, 324, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.38"}]},
  "1.39"->{
    Cell[35436, 999, 232, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.39"}]},
  "1.40"->{
    Cell[35935, 1019, 319, 7, 70, "Text",
      CellTags->{"S5.77.1", "1.40"}]},
  "1.41"->{
    Cell[36257, 1028, 380, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.41"}]},
  "1.42"->{
    Cell[36871, 1049, 275, 6, 70, "Text",
      CellTags->{"S5.77.1", "1.42"}]},
  "1.43"->{
    Cell[37149, 1057, 2534, 61, 70, "Text",
      CellTags->{"S5.77.1", "1.43"}]},
  "1.44"->{
    Cell[39754, 1123, 1159, 23, 70, "Text",
      CellTags->{"S5.77.1", "1.44"}]},
  "1.45"->{
    Cell[41029, 1155, 105, 1, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.45"}]},
  "1.46"->{
    Cell[62015, 2194, 281, 6, 70, "Text",
      CellTags->{"S5.77.1", "1.46"}]},
  "1.47"->{
    Cell[62299, 2202, 6561, 106, 70, "Text",
      CellTags->{"S5.77.1", "1.47"}]},
  "1.48"->{
    Cell[68955, 2313, 177, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.48"}]},
  "1.49"->{
    Cell[69353, 2334, 179, 7, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.49"}]},
  "1.50"->{
    Cell[69754, 2355, 297, 10, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.50"}]},
  "1.51"->{
    Cell[70390, 2380, 238, 6, 70, "MathCaption",
      CellTags->{"S5.77.1", "1.51"}]},
  "1.52"->{
    Cell[71026, 2405, 464, 10, 70, "Text",
      CellTags->{"S5.77.1", "1.52"}]},
  "1.53"->{
    Cell[71493, 2417, 68, 1, 70, "Subsubsection",
      CellTags->{"S5.77.1", "1.53"}]},
  "1.54"->{
    Cell[71564, 2420, 1920, 46, 70, "Text",
      CellTags->{"S5.77.1", "1.54"}]}
  }
*)

(*CellTagsIndex
CellTagsIndex->{
  {"S5.77.1", 74113, 2485},
  {"1.1", 83179, 2722},
  {"1.2", 83273, 2725},
  {"1.3", 83363, 2728},
  {"1.4", 83462, 2731},
  {"1.5", 83550, 2734},
  {"1.6", 83649, 2737},
  {"1.7", 83739, 2740},
  {"1.8", 83838, 2743},
  {"1.9", 83929, 2746},
  {"1.10", 84021, 2749},
  {"1.11", 84115, 2752},
  {"1.12", 84208, 2755},
  {"1.13", 84306, 2758},
  {"1.14", 84405, 2761},
  {"1.15", 84504, 2764},
  {"1.16", 84603, 2767},
  {"1.17", 84695, 2770},
  {"1.18", 84794, 2773},
  {"1.19", 84893, 2776},
  {"1.20", 84992, 2779},
  {"1.21", 85091, 2782},
  {"1.22", 85190, 2785},
  {"1.23", 85289, 2788},
  {"1.24", 85388, 2791},
  {"1.25", 85482, 2794},
  {"1.26", 85575, 2797},
  {"1.27", 85674, 2800},
  {"1.28", 85773, 2803},
  {"1.29", 85872, 2806},
  {"1.30", 85966, 2809},
  {"1.31", 86059, 2812},
  {"1.32", 86158, 2815},
  {"1.33", 86257, 2818},
  {"1.34", 86356, 2821},
  {"1.35", 86448, 2824},
  {"1.36", 86542, 2827},
  {"1.37", 86641, 2830},
  {"1.38", 86740, 2833},
  {"1.39", 86839, 2836},
  {"1.40", 86938, 2839},
  {"1.41", 87031, 2842},
  {"1.42", 87131, 2845},
  {"1.43", 87224, 2848},
  {"1.44", 87319, 2851},
  {"1.45", 87414, 2854},
  {"1.46", 87514, 2857},
  {"1.47", 87607, 2860},
  {"1.48", 87703, 2863},
  {"1.49", 87803, 2866},
  {"1.50", 87903, 2869},
  {"1.51", 88004, 2872},
  {"1.52", 88104, 2875},
  {"1.53", 88198, 2878},
  {"1.54", 88299, 2881}
  }
*)

(*NotebookFileOutline
Notebook[{
Cell[1717, 49, 142, 6, 70, "Subsection",
  CellTags->{"S5.77.1", "1.1"}],
Cell[1862, 57, 1779, 41, 70, "Text",
  CellTags->{"S5.77.1", "1.2"}],
Cell[3644, 100, 308, 7, 70, "DisplayFormula",
  CellTags->{"S5.77.1", "1.3"}],
Cell[3955, 109, 54, 1, 70, "Text",
  CellTags->{"S5.77.1", "1.4"}],
Cell[4012, 112, 412, 8, 70, "DisplayFormula",
  CellTags->{"S5.77.1", "1.5"}],
Cell[4427, 122, 650, 17, 70, "Text",
  CellTags->{"S5.77.1", "1.6"}],
Cell[5080, 141, 328, 7, 70, "DisplayFormula",
  CellTags->{"S5.77.1", "1.7"}],
Cell[5411, 150, 2150, 49, 70, "Text",
  CellTags->{"S5.77.1", "1.8"}],
Cell[7564, 201, 2781, 62, 70, "Text",
  CellTags->{"S5.77.1", "1.9"}],
Cell[10348, 265, 140, 5, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[10491, 272, 2404, 48, 70, "Text",
  CellTags->{"S5.77.1", "1.10"}],
Cell[12898, 322, 131, 4, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[13032, 328, 876, 21, 70, "Text",
  CellTags->{"S5.77.1", "1.11"}],
Cell[13911, 351, 130, 5, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[14044, 358, 80, 1, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.12"}],
Cell[14127, 361, 90, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[14220, 365, 258, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.13"}],

Cell[CellGroupData[{
Cell[14503, 376, 104, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[14610, 380, 120, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[14745, 386, 248, 5, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.14"}],

Cell[CellGroupData[{
Cell[15018, 395, 131, 5, 70, "Input",
  CellTags->"S5.77.1"],
Cell[15152, 402, 278, 5, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[15445, 410, 249, 5, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.15"}],

Cell[CellGroupData[{
Cell[15719, 419, 96, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[15818, 423, 168, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[16001, 430, 482, 8, 70, "Text",
  CellTags->{"S5.77.1", "1.16"}],
Cell[16486, 440, 251, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.17"}],

Cell[CellGroupData[{
Cell[16762, 451, 96, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[16861, 455, 170, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[17046, 462, 249, 9, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.18"}],

Cell[CellGroupData[{
Cell[17320, 475, 76, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[17399, 479, 168, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[17582, 486, 290, 6, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.19"}],

Cell[CellGroupData[{
Cell[17897, 496, 93, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[17993, 500, 113, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[18121, 506, 143, 4, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.20"}],

Cell[CellGroupData[{
Cell[18289, 514, 155, 5, 70, "Input",
  CellTags->"S5.77.1"],
Cell[18447, 521, 168, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[18630, 528, 145, 4, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.21"}],

Cell[CellGroupData[{
Cell[18800, 536, 89, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[18892, 540, 249, 6, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[19156, 549, 251, 6, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.22"}],

Cell[CellGroupData[{
Cell[19432, 559, 86, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[19521, 563, 286, 6, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[19822, 572, 422, 8, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.23"}],

Cell[CellGroupData[{
Cell[20269, 584, 97, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[20369, 588, 347, 7, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[20731, 598, 1820, 32, 70, "Text",
  CellTags->{"S5.77.1", "1.24"}],
Cell[22554, 632, 189, 5, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[22746, 639, 648, 18, 70, "Text",
  CellTags->{"S5.77.1", "1.25"}],
Cell[23397, 659, 215, 5, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.26"}],

Cell[CellGroupData[{
Cell[23637, 668, 149, 5, 70, "Input",
  CellTags->"S5.77.1"],
Cell[23789, 675, 169, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[23973, 682, 272, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.27"}],

Cell[CellGroupData[{
Cell[24270, 693, 131, 5, 70, "Input",
  CellTags->"S5.77.1"],
Cell[24404, 700, 169, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[24588, 707, 407, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.28"}],

Cell[CellGroupData[{
Cell[25020, 718, 139, 5, 70, "Input",
  CellTags->"S5.77.1"],
Cell[25162, 725, 166, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[25343, 732, 2820, 55, 70, "Text",
  CellTags->{"S5.77.1", "1.29"}],
Cell[28166, 789, 136, 4, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[28305, 795, 562, 11, 70, "Text",
  CellTags->{"S5.77.1", "1.30"}],
Cell[28870, 808, 117, 2, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.31"}],

Cell[CellGroupData[{
Cell[29012, 814, 92, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[29107, 818, 290, 6, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[29412, 827, 112, 1, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.32"}],

Cell[CellGroupData[{
Cell[29549, 832, 89, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[29641, 836, 162, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[29818, 843, 107, 1, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.33"}],

Cell[CellGroupData[{
Cell[29950, 848, 96, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[30049, 852, 165, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[30229, 859, 366, 7, 70, "Text",
  CellTags->{"S5.77.1", "1.34"}],
Cell[30598, 868, 3160, 63, 70, "Text",
  CellTags->{"S5.77.1", "1.35"}],
Cell[33761, 933, 86, 1, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[33850, 936, 261, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.36"}],

Cell[CellGroupData[{
Cell[34136, 947, 81, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[34220, 951, 116, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[34351, 957, 261, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.37"}],

Cell[CellGroupData[{
Cell[34637, 968, 111, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[34751, 972, 96, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[34862, 978, 324, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.38"}],

Cell[CellGroupData[{
Cell[35211, 989, 86, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[35300, 993, 121, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[35436, 999, 232, 6, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.39"}],

Cell[CellGroupData[{
Cell[35693, 1009, 101, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[35797, 1013, 123, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[35935, 1019, 319, 7, 70, "Text",
  CellTags->{"S5.77.1", "1.40"}],
Cell[36257, 1028, 380, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.41"}],

Cell[CellGroupData[{
Cell[36662, 1039, 94, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[36759, 1043, 97, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[36871, 1049, 275, 6, 70, "Text",
  CellTags->{"S5.77.1", "1.42"}],
Cell[37149, 1057, 2534, 61, 70, "Text",
  CellTags->{"S5.77.1", "1.43"}],
Cell[39686, 1120, 65, 1, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[39754, 1123, 1159, 23, 70, "Text",
  CellTags->{"S5.77.1", "1.44"}],
Cell[40916, 1148, 110, 5, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[41029, 1155, 105, 1, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.45"}],

Cell[CellGroupData[{
Cell[41159, 1160, 169, 6, 70, "Input",
  CellTags->"S5.77.1"],
Cell[41331, 1168, 20482, 1016, 70, 20408, 1013, "GraphicsData", "PostScript", \
"Graphics",
  ImageCacheValid->False,
  CellTags->"S5.77.1"],
Cell[61816, 2186, 184, 5, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[62015, 2194, 281, 6, 70, "Text",
  CellTags->{"S5.77.1", "1.46"}],
Cell[62299, 2202, 6561, 106, 70, "Text",
  CellTags->{"S5.77.1", "1.47"}],
Cell[68863, 2310, 89, 1, 70, "Caption",
  CellTags->"S5.77.1"],
Cell[68955, 2313, 177, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.48"}],

Cell[CellGroupData[{
Cell[69157, 2324, 94, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[69254, 2328, 84, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[69353, 2334, 179, 7, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.49"}],

Cell[CellGroupData[{
Cell[69557, 2345, 94, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[69654, 2349, 85, 3, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[69754, 2355, 297, 10, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.50"}],

Cell[CellGroupData[{
Cell[70076, 2369, 95, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[70174, 2373, 201, 4, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[70390, 2380, 238, 6, 70, "MathCaption",
  CellTags->{"S5.77.1", "1.51"}],

Cell[CellGroupData[{
Cell[70653, 2390, 84, 2, 70, "Input",
  CellTags->"S5.77.1"],
Cell[70740, 2394, 271, 8, 70, "Output",
  CellTags->"S5.77.1"]
}, Open  ]],
Cell[71026, 2405, 464, 10, 70, "Text",
  CellTags->{"S5.77.1", "1.52"}],
Cell[71493, 2417, 68, 1, 70, "Subsubsection",
  CellTags->{"S5.77.1", "1.53"}],
Cell[71564, 2420, 1920, 46, 70, "Text",
  CellTags->{"S5.77.1", "1.54"}]
}
]
*)




(***********************************************************************
End of Mathematica Notebook file.
***********************************************************************)

