(* Content-type: application/mathematica *)

(*** Wolfram Notebook File ***)
(* http://www.wolfram.com/nb *)

(* CreatedBy='Mathematica 7.0' *)

(*CacheID: 234*)
(* Internal cache information:
NotebookFileLineBreakTest
NotebookFileLineBreakTest
NotebookDataPosition[       145,          7]
NotebookDataLength[     82328,       2339]
NotebookOptionsPosition[     78038,       2207]
NotebookOutlinePosition[     78614,       2230]
CellTagsIndexPosition[     78571,       2227]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[{
 StyleBox["In this example we use the package IntroToSymmetry.m to work out \
the point groups of the following form of the Fokker-Planck equation, \n\n\
Uxx+xUx-Ut=0.\n\nThe SolveDeterminingEquations function finds the \
translational invariance in t and U as well as the dilational invariance in \
U. Additional groups depending on exponentials have to be found by \
simplifying the determining equations and using ",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["Mathematica",
  FontSize->14,
  FontWeight->"Plain",
  FontSlant->"Italic"],
 StyleBox[" built-in functions to solve the simplified set.",
  FontSize->14,
  FontWeight->"Plain"]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["Clear all symbols in the current context.", "Text",
 CellChangeTimes->{{3.4715644485587473`*^9, 3.47156448605101*^9}}],

Cell[BoxData[
 RowBox[{"ClearAll", "[", 
  RowBox[{"Evaluate", "[", 
   RowBox[{
    RowBox[{"Context", "[", "]"}], "<>", "\"\<*\>\""}], "]"}], "]"}]], "Input"],

Cell[TextData[{
 StyleBox["First read in the package which is located in User Home \
Folder/Library/",
  FontWeight->"Plain"],
 StyleBox["Mathematica",
  FontWeight->"Plain",
  FontSlant->"Italic"],
 StyleBox["/Applications/SymmetryAnalysis.",
  FontWeight->"Plain"]
}], "Text",
 CellChangeTimes->{{3.472046215957556*^9, 3.472046255573135*^9}, {
  3.472046289795615*^9, 3.472046308115048*^9}, {3.4720466725423717`*^9, 
  3.472046673357225*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{"Needs", "[", "\"\<SymmetryAnalysis`IntroToSymmetry`\>\"", 
  "]"}]], "Input"],

Cell[TextData[StyleBox["Enter the input equation as a string. Don't include \
the == 0 at the end.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{
  "fpequation", "=", "\n", 
   "\"\<D[u[x,t],x,x]+x*D[u[x,t],x]-D[u[x,t],t]\>\""}], ";"}]], "Input"],

Cell[TextData[StyleBox["The function u[x,t] is a solution of the equation and \
this constraint must be applied in the form of a rule to the invariance \
condition. Be careful to check signs.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"rulesarray", "=", "\[IndentingNewLine]", 
   RowBox[{"{", "\"\<D[u[x,t],t]->D[u[x,t],x,x]+x*D[u[x,t],x]\>\"", "}"}]}], 
  ";"}]], "Input"],

Cell[TextData[StyleBox["Enter the list of independent variables.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"independentvariables", "=", 
   RowBox[{"{", 
    RowBox[{"\"\<x\>\"", ",", "\"\<t\>\""}], "}"}]}], ";"}]], "Input"],

Cell[TextData[StyleBox["Enter the list of dependent variables.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"dependentvariables", "=", 
   RowBox[{"{", "\"\<u\>\"", "}"}]}], ";"}]], "Input"],

Cell[TextData[StyleBox["Enter the list of function and/or constant names that \
must be preserved when the equation is converted to generic y1[x1,x2] \
variables.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"frozennames", "=", 
   RowBox[{"{", "\"\<\>\"", "}"}]}], ";"}]], "Input"],

Cell[TextData[StyleBox["Enter the maximum derivative order of the input \
equation(s).",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"p", "=", "2"}], ";"}]], "Input"],

Cell[TextData[{
 StyleBox["The maximum derivative order that the infinitesimals are assumed \
to depend on is specified by the input parameter r. This parameter is only \
nonzero when the user is looking for Lie contact groups or Lie-",
  FontWeight->"Plain"],
 "B\[ADoubleDot]cklund",
 StyleBox[" groups. For the usual case where one is searching for point \
groups set r=0.",
  FontWeight->"Plain"]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"r", "=", "0"}], ";"}]], "Input"],

Cell[TextData[{
 StyleBox["When searching for Lie-",
  FontWeight->"Plain"],
 "B\[ADoubleDot]cklund",
 StyleBox[" groups (r=1 or greater) one can, without loss of generality, \
leave the independent variables untransformed. The corresponding \
infinitesimals (the xse's) are set to zero by setting xseon=0. If one is \
searching for point groups then set xseon=1. The choice xseon=1 is also an \
option when looking for Lie-",
  FontWeight->"Plain"],
 "B\[ADoubleDot]cklund",
 StyleBox[" groups and this can be useful when looking for contact \
symmetries.",
  FontWeight->"Plain"]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"xseon", "=", "1"}], ";"}]], "Input"],

Cell[TextData[{
 StyleBox["When searching for Lie-",
  FontWeight->"Plain"],
 "B\[ADoubleDot]cklund",
 StyleBox[" groups it is necessary to differentiate the input equation with \
respect to each of the independent variables producing derivatives of order \
p+r. These higher order differential consequences are appended to the set of \
rules applied to the invariance condition. This process is carried out \
automatically when internalrules=1. For point groups the equation or equation \
system is the only rule or set of rules needed and one sets internalrules=0.",
  
  FontWeight->"Plain"]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"internalrules", "=", "0"}], ";"}]], "Input"],

Cell[TextData[StyleBox["Now work out the determining equations of the Lie \
point group that leaves the equation  invariant. The output is available as a \
table of strings called zdeterminingequations.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Timing", "[", 
  RowBox[{"FindDeterminingEquations", "[", 
   RowBox[{
   "independentvariables", ",", "dependentvariables", ",", "frozennames", ",",
     "p", ",", "r", ",", "xseon", ",", "fpequation", ",", "rulesarray", ",", 
    "internalrules"}], "]"}], "]"}]], "Input"],

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(32205224\\), the time used = \
\\!\\(2.7385360000000003`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 32205224, 2.7385360000000003`],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694043914449673`*^9, 3.471555183752678*^9, 
  3.47156044131605*^9, 3.471578921119894*^9, 3.4837451558028097`*^9}],

Cell[BoxData["\<\"The function FindDeterminingEquations is nearly complete. \
The invariance condition has been created with all rules applied. The final \
step in the generation of the determining equations is to sum together terms \
in the table of invariance condition terms (called infinitesimaltable) that \
are multiplied by the same combination of products of free y derivatives. The \
result is the table infinitesimaltablesums corresponding to matching \
y-derivative expressions. If the invariance condition is long as it often is \
this process could take a long time since it requires sorting through the \
table infinitesimaltable once for each possible combination of y derivative \
products. This is the rate limiting step in the function \
FindDeterminingEquations.Virtually all other steps are quite fast including \
the generation of the extended derivatives of the infinitesimals.\"\>"], \
"Print",
 CellChangeTimes->{3.4694043914449673`*^9, 3.471555183752678*^9, 
  3.47156044131605*^9, 3.471578921119894*^9, 3.48374515586484*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(9\\), the \
byte count of zdeterminingequations = \\!\\(1464\\), the memory in use = \
\\!\\(31977152\\), the time used = \\!\\(2.813931`\\)\"\>",
  StringForm[
  "The determining equations have been expressed in terms of z-variables, the \
length of zdeterminingequations = ``, the byte count of zdeterminingequations \
= ``, the memory in use = ``, the time used = ``", 9, 1464, 31977152, 
   2.813931],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694043914449673`*^9, 3.471555183752678*^9, 
  3.47156044131605*^9, 3.471578921119894*^9, 3.483745155867536*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(31978208\\), the time used = \\!\\(2.814135`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 31978208, 2.814135],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694043914449673`*^9, 3.471555183752678*^9, 
  3.47156044131605*^9, 3.471578921119894*^9, 3.4837451558694553`*^9}],

Cell[BoxData["\<\"FindDeterminingEquations has finished executing. You can \
look at the output in the table zdeterminingequations. Each entry in this \
table is a determining equation in string format expressed in terms of \
z-variables. Rules for converting between z-variables and conventional \
variables are contained in the table ztableofrules. To view the determining \
equations in terms of conventional variables use the command \
ToExpression[zdeterminingequations]/.ztableofrules. There are two other items \
the user may wish to look at; the equation converted to generic \
(x1,x2,...,y1,y2,...) variables is designated equationgenericvariables and \
the various derivatives of the equation that appear in the invariance \
condition can be viewed in the table invarconditiontable. Rules for \
converting between z-variables and generic variables are contained in the \
table ztableofrulesxy.\"\>"], "Print",
 CellChangeTimes->{3.4694043914449673`*^9, 3.471555183752678*^9, 
  3.47156044131605*^9, 3.471578921119894*^9, 3.483745155871228*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.07630599999999976`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.4694043916331997`*^9, 3.471555183939802*^9, 
  3.471560441387864*^9, 3.471578921387463*^9, 3.4837451558737497`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData["equationgenericvariables"], "Input"],

Cell[BoxData["\<\"D[y1[x1,x2],x1,x1]+x1*D[y1[x1,x2],x1]-D[y1[x1,x2],x2]\"\>"],\
 "Output",
 CellChangeTimes->{3.469404391713297*^9, 3.471555184022065*^9, 
  3.4715604414459057`*^9, 3.471578921534748*^9, 3.483745155932106*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData["invarconditiontable"], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"1", ",", "0"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}], ",", "0", ",", "0", ",", "x1", ",", 
   RowBox[{"-", "1"}], ",", "1", ",", "0", ",", "0"}], "}"}]], "Output",
 CellChangeTimes->{3.469404391786586*^9, 3.47155518408038*^9, 
  3.471560441530019*^9, 3.471578921623796*^9, 3.4837451560176277`*^9}]
}, Open  ]],

Cell[BoxData["ztableofrules"], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"z1", "\[Rule]", "x"}], ",", 
   RowBox[{"z2", "\[Rule]", "t"}], ",", 
   RowBox[{"z3", "\[Rule]", 
    RowBox[{"u", "[", 
     RowBox[{"x", ",", "t"}], "]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{3.469404391856251*^9, 3.471555184147758*^9, 
  3.471560441613216*^9, 3.471578921720213*^9, 3.483745156101523*^9}],

Cell[CellGroupData[{

Cell[TextData[StyleBox["Here are the determining equations expressed in terms \
of z-variables. The equations in the table can be distinguished by the == 0 \
at the end of each item.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData["zdeterminingequations"], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"-2*Derivative[0, 0, 1][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"-Derivative[0, 0, 2][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"-Derivative[0, 0, 2][xse1][z1, z2, z3] - z1*Derivative[0, 0, \
2][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"-2*Derivative[1, 0, 0][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"-2*Derivative[0, 0, 1][xse1][z1, z2, z3] - 2*Derivative[1, 0, \
1][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"Derivative[0, 0, 2][eta1][z1, z2, z3] - 2*Derivative[1, 0, \
1][xse1][z1, z2, z3] - 2*z1*Derivative[1, 0, 1][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"-Derivative[0, 1, 0][eta1][z1, z2, z3] + z1*Derivative[1, 0, \
0][eta1][z1, z2, z3] + Derivative[2, 0, 0][eta1][z1, z2, z3] == 0\"\>", 
   ",", "\<\"Derivative[0, 1, 0][xse2][z1, z2, z3] - 2*Derivative[1, 0, \
0][xse1][z1, z2, z3] - z1*Derivative[1, 0, 0][xse2][z1, z2, z3] - \
Derivative[2, 0, 0][xse2][z1, z2, z3] == 0\"\>", 
   ",", "\<\"xse1[z1, z2, z3] + Derivative[0, 1, 0][xse1][z1, z2, z3] + \
z1*Derivative[0, 1, 0][xse2][z1, z2, z3] - z1*Derivative[1, 0, 0][xse1][z1, \
z2, z3] - z1^2*Derivative[1, 0, 0][xse2][z1, z2, z3] + 2*Derivative[1, 0, \
1][eta1][z1, z2, z3] - Derivative[2, 0, 0][xse1][z1, z2, z3] - \
z1*Derivative[2, 0, 0][xse2][z1, z2, z3] == 0\"\>"}], "}"}]], "Output",
 CellChangeTimes->{3.469404391921998*^9, 3.471555184213809*^9, 
  3.471560441696459*^9, 3.471578921919938*^9, 3.483745156183094*^9}]
}, Open  ]],

Cell["How many determining equations are there?", "Text"],

Cell[CellGroupData[{

Cell["Length[zdeterminingequations]", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData["9"], "Output",
 CellChangeTimes->{3.469404392013242*^9, 3.471555184304411*^9, 
  3.4715604417793093`*^9, 3.471578922041236*^9, 3.483745156266656*^9}]
}, Open  ]],

Cell["\<\
Now solve the determining equations in terms of multivariable polynomials of \
a selected order. The Mathematica function Solve uses Gaussian elimination to \
solve a large number of linear equations for the polynomial coefficients.The \
time roughly follows

time/timeref=((number of equations)/(number of equationsref))^n

where the exponent is between 2.4 and 2.7.The Mathematica function Timing \
outputs the time required for the SolveDeterminingEquations function to \
execute.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Timing", "[", 
  RowBox[{"SolveDeterminingEquations", "[", 
   RowBox[{
   "independentvariables", ",", "dependentvariables", ",", "r", ",", "xseon", 
    ",", "\[IndentingNewLine]", "zdeterminingequations", ",", 
    RowBox[{"order", "=", "5"}]}], "]"}], "]"}]], "Input"],

Cell[BoxData[
 InterpretationBox["\<\"The variable powertablelength is the number of terms \
required for each multivariate polynomial used for the infinitesimals. This \
number is determined by the choice of polynomial order and the number of \
zvariables. The time needed to solve the determining equations increases as \
powertable increases. powertablelength = \\!\\(56\\)\"\>",
  StringForm[
  "The variable powertablelength is the number of terms required for each \
multivariate polynomial used for the infinitesimals. This number is \
determined by the choice of polynomial order and the number of zvariables. \
The time needed to solve the determining equations increases as powertable \
increases. powertablelength = ``", 56],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156333281*^9}],

Cell[BoxData["\<\"The polynomial expansions have been substituted into the \
determining equations. It is now time to collect the coefficients of various \
powers of zvariables into a table called table of coefficientsall. This step \
uses the function CoefficientList and is a fairly time consuming procedure.\"\
\>"], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.4837451564158907`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(32557104\\), The time = \\!\
\\(2.8920920000000003`\\)\"\>",
  StringForm[
  "The memory in use = ``, The time = ``", 32557104, 2.8920920000000003`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156417543*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of unknown polynomial coefficients = \
\\!\\(168\\)\"\>",
  StringForm["The number of unknown polynomial coefficients = ``", 168],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156418871*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of equations for the polynomial \
coefficients = \\!\\(306\\)\"\>",
  StringForm[
  "The number of equations for the polynomial coefficients = ``", 306],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156420182*^9}],

Cell[BoxData["\<\"Now it we are ready to use the function Solve to find the \
nonzero polynomial coefficients corresponding to the symmetries of the input \
equation(s). This can take a while.\"\>"], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156421412*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(32549904\\), The time = \\!\
\\(2.9037089999999997`\\)\"\>",
  StringForm[
  "The memory in use = ``, The time = ``", 32549904, 2.9037089999999997`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.4837451564227867`*^9}],

Cell[BoxData["\<\"Solve has finished.\"\>"], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156424012*^9}],

Cell[BoxData["\<\"The function SolveDeterminingEquations is finished \
executing.\"\>"], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156425164*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(32608880\\), The time = \\!\
\\(2.9200900000000005`\\)\"\>",
  StringForm[
  "The memory in use = ``, The time = ``", 32608880, 2.9200900000000005`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156426342*^9}],

Cell[BoxData["\<\"You can look at the output in the tables xsefunctions and \
etafunctions. Each entry in these tables is an infinitesimal function in \
string format expressed in terms of z-variables and the group parameters. The \
output can also be viewed with the group parameters stripped away by looking \
at the table infinitesimalgroups. In either case you may wish to convert the \
z-variables to conventional variables using the table ztableofrules. \
\\n\\nKeep in mind that this function only finds solutions of the determining \
equations that are of polynomial form. The determining equations may admit \
solutions that involve transcendental functions and/or integrals. Note that \
arbitrary functions may appear in the infinitesimals and that these can be \
detected by running the package function SolveDeterminingEquations for \
several polynomial orders. If terms of ever increasing order appear, then an \
arbitrary function is indicated.\"\>"], "Print",
 CellChangeTimes->{3.469404392144651*^9, 3.4715551843663807`*^9, 
  3.471560441864045*^9, 3.471578922105056*^9, 3.483745156427519*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.10191699999999981`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469404392200713*^9, 3.47155518448428*^9, 
  3.471560442002139*^9, 3.471578922500931*^9, 3.483745156429504*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{"Column", "[", "infinitesimalgroups", "]"}]], "Input"],

Cell[BoxData[
 TagBox[GridBox[{
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "1"}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", "1", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", "z3", "}"}]}], "}"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.4694043923235903`*^9, 3.471555184524547*^9, 
  3.471560442109803*^9, 3.471578922589386*^9, 3.4837451564832487`*^9}],

Cell["\<\
This three-parameter group is correct but very incomplete. We need to try to \
simplify the determining equations.\
\>", "Text"],

Cell[BoxData[
 RowBox[{"Clear", "[", 
  RowBox[{"xse1", ",", "xse2", ",", "eta1"}], "]"}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"zdeterminingequationsexpressions", "=", 
   RowBox[{"ToExpression", "[", "zdeterminingequations", "]"}]}], 
  ";"}]], "Input"],

Cell[BoxData[
 TagBox[
  FormBox[
   RowBox[{"Column", "[", 
    RowBox[{"zdeterminingequationsexpressions", ",", 
     RowBox[{"{", 
      RowBox[{"Left", ",", "Below"}], "}"}]}], "]"}],
   TraditionalForm],
  TraditionalForm,
  Editable->True]], "Input"],

Cell[BoxData[
 TagBox[GridBox[{
    {
     RowBox[{
      RowBox[{
       RowBox[{"-", "2"}], " ", 
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "0", ",", "1"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{"-", 
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "0", ",", "2"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"-", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "0", ",", "2"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "0", ",", "2"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"-", "2"}], " ", 
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"1", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{
        RowBox[{"-", "2"}], " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{
        SuperscriptBox["eta1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "0", ",", "2"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "-", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"2", " ", "z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"-", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{
        SuperscriptBox["eta1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "-", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"xse1", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{
        SuperscriptBox["z1", "2"], " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "-", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"2", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Below}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.469404392442347*^9, 3.471555184666864*^9, 
  3.471560442370735*^9, 3.471578922707224*^9, 3.483745156757698*^9}],

Cell[BoxData[
 RowBox[{
  RowBox[{"zdeterminingequationssimplified1", "=", 
   RowBox[{"zdeterminingequationsexpressions", "/.", "\[IndentingNewLine]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3"}], "]"}], "->",
        "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z3"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z3"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1"}], "]"}], "->",
        "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z1"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z1"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z1"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3"}], "]"}], "->",
        "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z3"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z3"}],
         "]"}], "->", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}],
         "]"}], "->", "0"}]}], "}"}]}]}], ";"}]], "Input"],

Cell[BoxData[
 TagBox[
  FormBox[
   RowBox[{"Column", "[", 
    RowBox[{"zdeterminingequationssimplified1", ",", 
     RowBox[{"{", 
      RowBox[{"Left", ",", "Below"}], "}"}]}], "]"}],
   TraditionalForm],
  TraditionalForm,
  Editable->True]], "Input"],

Cell[BoxData[
 TagBox[GridBox[{
    {"True"},
    {"True"},
    {"True"},
    {"True"},
    {"True"},
    {
     RowBox[{
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"-", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{
        SuperscriptBox["eta1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{
        SuperscriptBox["xse2", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "-", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]},
    {
     RowBox[{
      RowBox[{
       RowBox[{"xse1", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse2", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{"2", " ", 
        RowBox[{
         SuperscriptBox["eta1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Below}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.469404392525358*^9, 3.471555184751549*^9, 
  3.4715604424864283`*^9, 3.471578922888225*^9, 3.483745156856748*^9}],

Cell["\<\
This system has the following solutions.

{xse1,xse2,eta1}={Exp[-t], 0, 0}
{xse1,xse2,eta1}={Exp[t], 0, -xuExp[t]}
{xse1,xse2,eta1}={-(x/2)Exp[2t], -(1/2)Exp[2t], (u/2)Exp[2t]+(ux^2/2)Exp[2t]}
{xse1,xse2,eta1}={(x/2)Exp[-2t], -(1/2)Exp[-2t], 0}

From the third to last equation we can see that the linearity implies that \
any solution of the Fokker-Planck equation can be added to eta1. Set up the \
list of infinitesimal groups.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData["infinitesimalgroups"], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}], ",", 
     RowBox[{"{", "1", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}], ",", 
     RowBox[{"{", "z3", "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.469404392582807*^9, 3.471555184810389*^9, 
  3.471560442547389*^9, 3.471578922946784*^9, 3.483745156910679*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"infinitesimalgroupsfinal", "=", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "1"}], "}"}], ",", 
      RowBox[{"{", "0", "}"}]}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{"0", ",", "0"}], "}"}], ",", 
      RowBox[{"{", "u", "}"}]}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"Exp", "[", 
         RowBox[{"-", "t"}], "]"}], ",", "0"}], "}"}], ",", 
      RowBox[{"{", "0", "}"}]}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{"Exp", "[", "t", "]"}], ",", "0"}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{"-", "x"}], "*", "u", "*", 
        RowBox[{"Exp", "[", "t", "]"}]}], "}"}]}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{
         RowBox[{"-", 
          RowBox[{"(", 
           RowBox[{"x", "/", "2"}], ")"}]}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{"2", "*", "t"}], "]"}]}], ",", 
        RowBox[{
         RowBox[{"-", 
          RowBox[{"(", 
           RowBox[{"1", "/", "2"}], ")"}]}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{"2", "*", "t"}], "]"}]}]}], "}"}], ",", 
      RowBox[{"{", 
       RowBox[{
        RowBox[{
         RowBox[{"(", 
          RowBox[{"u", "/", "2"}], ")"}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{"2", "*", "t"}], "]"}]}], "+", 
        RowBox[{
         RowBox[{"(", 
          RowBox[{"u", "*", 
           RowBox[{
            RowBox[{"x", "^", "2"}], "/", "2"}]}], ")"}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{"2", "*", "t"}], "]"}]}]}], "}"}]}], "}"}], ",", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"{", 
       RowBox[{
        RowBox[{
         RowBox[{"(", 
          RowBox[{"x", "/", "2"}], ")"}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{
           RowBox[{"-", "2"}], "*", "t"}], "]"}]}], ",", 
        RowBox[{
         RowBox[{"-", 
          RowBox[{"(", 
           RowBox[{"1", "/", "2"}], ")"}]}], "*", 
         RowBox[{"Exp", "[", 
          RowBox[{
           RowBox[{"-", "2"}], "*", "t"}], "]"}]}]}], "}"}], ",", 
      RowBox[{"{", "0", "}"}]}], "}"}]}], "}"}]}]], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}], ",", 
     RowBox[{"{", "u", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       SuperscriptBox["\[ExponentialE]", 
        RowBox[{"-", "t"}]], ",", "0"}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       SuperscriptBox["\[ExponentialE]", "t"], ",", "0"}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{"-", 
        SuperscriptBox["\[ExponentialE]", "t"]}], " ", "u", " ", "x"}], 
      "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        RowBox[{"-", 
         FractionBox["1", "2"]}], " ", 
        SuperscriptBox["\[ExponentialE]", 
         RowBox[{"2", " ", "t"}]], " ", "x"}], ",", 
       RowBox[{"-", 
        FractionBox[
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"2", " ", "t"}]], "2"]}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        FractionBox["1", "2"], " ", 
        SuperscriptBox["\[ExponentialE]", 
         RowBox[{"2", " ", "t"}]], " ", "u"}], "+", 
       RowBox[{
        FractionBox["1", "2"], " ", 
        SuperscriptBox["\[ExponentialE]", 
         RowBox[{"2", " ", "t"}]], " ", "u", " ", 
        SuperscriptBox["x", "2"]}]}], "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{
       RowBox[{
        FractionBox["1", "2"], " ", 
        SuperscriptBox["\[ExponentialE]", 
         RowBox[{
          RowBox[{"-", "2"}], " ", "t"}]], " ", "x"}], ",", 
       RowBox[{
        RowBox[{"-", 
         FractionBox["1", "2"]}], " ", 
        SuperscriptBox["\[ExponentialE]", 
         RowBox[{
          RowBox[{"-", "2"}], " ", "t"}]]}]}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.469404392633369*^9, 3.471555184856269*^9, 
  3.4715604425932283`*^9, 3.4715789229968033`*^9, 3.483745156976515*^9}]
}, Open  ]],

Cell["\<\
The equation is invariant under the following six parameter group. In \
additional the equation admits an infinite dimensional group corresponding to \
a translation of the dependent variable by any solution of the equation.\
\>", "Text"],

Cell[BoxData[
 RowBox[{"Column", "[", "infinitesimalgroupsfinal", "]"}]], "Input"],

Cell[BoxData[
 TagBox[GridBox[{
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "1"}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", "u", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"-", "t"}]], ",", "0"}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         SuperscriptBox["\[ExponentialE]", "t"], ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"-", 
          SuperscriptBox["\[ExponentialE]", "t"]}], " ", "u", " ", "x"}], 
        "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          RowBox[{"-", 
           FractionBox["1", "2"]}], " ", 
          SuperscriptBox["\[ExponentialE]", 
           RowBox[{"2", " ", "t"}]], " ", "x"}], ",", 
         RowBox[{"-", 
          FractionBox[
           SuperscriptBox["\[ExponentialE]", 
            RowBox[{"2", " ", "t"}]], "2"]}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          FractionBox["1", "2"], " ", 
          SuperscriptBox["\[ExponentialE]", 
           RowBox[{"2", " ", "t"}]], " ", "u"}], "+", 
         RowBox[{
          FractionBox["1", "2"], " ", 
          SuperscriptBox["\[ExponentialE]", 
           RowBox[{"2", " ", "t"}]], " ", "u", " ", 
          SuperscriptBox["x", "2"]}]}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          FractionBox["1", "2"], " ", 
          SuperscriptBox["\[ExponentialE]", 
           RowBox[{
            RowBox[{"-", "2"}], " ", "t"}]], " ", "x"}], ",", 
         RowBox[{
          RowBox[{"-", 
           FractionBox["1", "2"]}], " ", 
          SuperscriptBox["\[ExponentialE]", 
           RowBox[{
            RowBox[{"-", "2"}], " ", "t"}]]}]}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.4694043926782637`*^9, 3.47155518490655*^9, 
  3.471560442665649*^9, 3.471578923048688*^9, 3.483745157042553*^9}],

Cell["Check the solution in the determining equations.", "Text",
 CellChangeTimes->{{3.471560550231638*^9, 3.471560574588541*^9}}],

Cell[BoxData[
 RowBox[{"Clear", "[", 
  RowBox[{"xse1", ",", "xse2", ",", "eta1"}], "]"}]], "Input",
 CellChangeTimes->{{3.471556827364999*^9, 3.471556842454194*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"xse1", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{
   RowBox[{"a12", "*", 
    RowBox[{"Exp", "[", 
     RowBox[{"-", "z2"}], "]"}]}], "+", 
   RowBox[{"a13", "*", 
    RowBox[{"Exp", "[", "z2", "]"}]}], "-", 
   RowBox[{"a14", "*", 
    RowBox[{"(", 
     RowBox[{"1", "/", "2"}], ")"}], "*", "z1", "*", 
    RowBox[{"Exp", "[", 
     RowBox[{"2", "*", "z2"}], "]"}]}], "+", 
   RowBox[{"a15", "*", 
    RowBox[{"(", 
     RowBox[{"1", "/", "2"}], ")"}], "*", "z1", "*", 
    RowBox[{"Exp", "[", 
     RowBox[{
      RowBox[{"-", "2"}], "*", "z2"}], "]"}]}]}]}]], "Input",
 CellChangeTimes->{{3.4715552796476927`*^9, 3.471555294063483*^9}, {
  3.471556675087166*^9, 3.4715568148817368`*^9}, {3.471556862062512*^9, 
  3.4715569971274157`*^9}, {3.471559220681448*^9, 3.47155923249504*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"xse2", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{"a20", "-", 
   RowBox[{"a14", "*", 
    RowBox[{"(", 
     RowBox[{"1", "/", "2"}], ")"}], "*", 
    RowBox[{"Exp", "[", 
     RowBox[{"2", "*", "z2"}], "]"}]}], "-", 
   RowBox[{"a15", "*", 
    RowBox[{"(", 
     RowBox[{"1", "/", "2"}], ")"}], "*", 
    RowBox[{"Exp", "[", 
     RowBox[{
      RowBox[{"-", "2"}], "*", "z2"}], "]"}]}]}]}]], "Input",
 CellChangeTimes->{
  3.471560092830256*^9, {3.4715601415297937`*^9, 3.4715601937918367`*^9}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"eta1", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{
   RowBox[{"b21", "*", "z3"}], "-", 
   RowBox[{"a13", "*", "z1", "*", "z3", "*", 
    RowBox[{"Exp", "[", "z2", "]"}]}], "+", 
   RowBox[{"a14", "*", 
    RowBox[{"(", 
     RowBox[{
      RowBox[{
       RowBox[{"(", 
        RowBox[{"1", "/", "2"}], ")"}], "*", "z3", "*", 
       RowBox[{"Exp", "[", 
        RowBox[{"2", "*", "z2"}], "]"}]}], "+", 
      RowBox[{
       RowBox[{"(", 
        RowBox[{"1", "/", "2"}], ")"}], "*", 
       RowBox[{"z1", "^", "2"}], "*", "z3", "*", 
       RowBox[{"Exp", "[", 
        RowBox[{"2", "*", "z2"}], "]"}]}]}], ")"}]}]}]}]], "Input"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Simplify", "[", 
  RowBox[{"ToExpression", "[", "zdeterminingequations", "]"}], "]"}]], "Input",\

 CellChangeTimes->{{3.47155970476836*^9, 3.4715597595992193`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", "True", ",", "True"}], "}"}]], "Output",
 CellChangeTimes->{3.4715604429193583`*^9, 3.471578923205049*^9, 
  3.483745157203953*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MakeCommutatorTable", "[", 
  RowBox[{
  "independentvariables", ",", " ", "dependentvariables", ",", 
   "infinitesimalgroupsfinal"}], "]"}]], "Input"],

Cell[BoxData["\<\"MakeCommutatorTable has finished executing. You can look at \
the output in the table commutatortable. To present the output in the most \
readable form you may want view it as a matrix using \
MatrixForm[commutatortable]. Occasionally the entries in the commutatortable \
will have terms that cancel. To get rid of these terms use the function \
Simplify before viewing the table.\"\>"], "Print",
 CellChangeTimes->{3.469404392733911*^9, 3.471555184960071*^9, 
  3.4715604429764423`*^9, 3.471578923247752*^9, 3.483745157262294*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MatrixForm", "[", 
  RowBox[{"Simplify", "[", "commutatortable", "]"}], "]"}]], "Input"],

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{"-", "t"}]]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", "t"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", "t"]}], " ", "u", " ", "x"}], 
            "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"-", 
               SuperscriptBox["\[ExponentialE]", 
                RowBox[{"2", " ", "t"}]]}], " ", "x"}], ",", 
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{"2", " ", "t"}]]}]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", 
              RowBox[{"2", " ", "t"}]], " ", "u", " ", 
             RowBox[{"(", 
              RowBox[{"1", "+", 
               SuperscriptBox["x", "2"]}], ")"}]}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"-", 
               SuperscriptBox["\[ExponentialE]", 
                RowBox[{
                 RowBox[{"-", "2"}], " ", "t"}]]}], " ", "x"}], ",", 
             SuperscriptBox["\[ExponentialE]", 
              RowBox[{
               RowBox[{"-", "2"}], " ", "t"}]]}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", 
              RowBox[{"-", "t"}]], ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"-", "u"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", "t"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", "t"], " ", "u", " ", "x"}], 
            "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", "t"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", "t"], " ", "u", " ", "x"}], 
            "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "u", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", 
              RowBox[{"-", "t"}]], ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{"2", " ", "t"}]], " ", "x"}], ",", 
             SuperscriptBox["\[ExponentialE]", 
              RowBox[{"2", " ", "t"}]]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{"2", " ", "t"}]]}], " ", "u", " ", 
             RowBox[{"(", 
              RowBox[{"1", "+", 
               SuperscriptBox["x", "2"]}], ")"}]}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             SuperscriptBox["\[ExponentialE]", "t"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", "t"]}], " ", "u", " ", "x"}], 
            "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", 
             RowBox[{"-", "1"}]}], "}"}]},
          {
           RowBox[{"{", 
            FractionBox["u", "2"], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{
                RowBox[{"-", "2"}], " ", "t"}]], " ", "x"}], ",", 
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{
                RowBox[{"-", "2"}], " ", "t"}]]}]}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox["\[ExponentialE]", 
               RowBox[{"-", "t"}]]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "1"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"-", 
             FractionBox["u", "2"]}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", "0", "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]}
    },
    GridBoxAlignment->{
     "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
      "RowsIndexed" -> {}},
    GridBoxSpacings->{"Columns" -> {
        Offset[0.27999999999999997`], {
         Offset[0.7]}, 
        Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
        Offset[0.2], {
         Offset[0.4]}, 
        Offset[0.2]}, "RowsIndexed" -> {}}], "\[NoBreak]", ")"}],
  Function[BoxForm`e$, 
   MatrixForm[BoxForm`e$]]]], "Output",
 CellChangeTimes->{3.4694043928078537`*^9, 3.471555185026973*^9, 
  3.471560443032242*^9, 3.471578923321113*^9, 3.483745157320099*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MaxMemoryUsed", "[", " ", "]"}]], "Input"],

Cell[BoxData["34365264"], "Output",
 CellChangeTimes->{3.469404392879496*^9, 3.471555185071804*^9, 
  3.471560443075612*^9, 3.4715789233638363`*^9, 3.483745157380081*^9}]
}, Open  ]]
},
WindowToolbars->{},
CellGrouping->Manual,
WindowSize->{1526, 1053},
WindowMargins->{{26, Automatic}, {Automatic, 26}},
PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
ShowCellLabel->True,
ShowCellTags->False,
RenderingOptions->{"ObjectDithering"->True,
"RasterDithering"->False},
Magnification->1.25,
FrontEndVersion->"7.0 for Mac OS X x86 (32-bit) (February 18, 2009)",
StyleDefinitions->"Default.nb"
]
(* End of Notebook Content *)

(* Internal cache information *)
(*CellTagsOutline
CellTagsIndex->{}
*)
(*CellTagsIndex
CellTagsIndex->{}
*)
(*NotebookFileOutline
Notebook[{
Cell[545, 20, 708, 17, 138, "Text"],
Cell[1256, 39, 124, 1, 32, "Text"],
Cell[1383, 42, 160, 4, 33, "Input"],
Cell[1546, 48, 476, 13, 32, "Text"],
Cell[2025, 63, 101, 2, 33, "Input"],
Cell[2129, 67, 164, 3, 32, "Text"],
Cell[2296, 72, 135, 4, 53, "Input"],
Cell[2434, 78, 257, 4, 32, "Text"],
Cell[2694, 84, 173, 4, 53, "Input"],
Cell[2870, 90, 130, 2, 32, "Text"],
Cell[3003, 94, 151, 4, 33, "Input"],
Cell[3157, 100, 128, 2, 32, "Text"],
Cell[3288, 104, 116, 3, 33, "Input"],
Cell[3407, 109, 228, 4, 32, "Text"],
Cell[3638, 115, 108, 3, 33, "Input"],
Cell[3749, 120, 152, 3, 32, "Text"],
Cell[3904, 125, 67, 2, 33, "Input"],
Cell[3974, 129, 444, 10, 51, "Text"],
Cell[4421, 141, 67, 2, 33, "Input"],
Cell[4491, 145, 625, 15, 51, "Text"],
Cell[5119, 162, 71, 2, 33, "Input"],
Cell[5193, 166, 638, 13, 51, "Text"],
Cell[5834, 181, 79, 2, 33, "Input"],
Cell[5916, 185, 268, 4, 32, "Text"],
Cell[CellGroupData[{
Cell[6209, 193, 298, 6, 33, "Input"],
Cell[6510, 201, 493, 9, 25, "Print"],
Cell[7006, 212, 1050, 14, 121, "Print"],
Cell[8059, 228, 724, 12, 45, "Print"],
Cell[8786, 242, 438, 8, 25, "Print"],
Cell[9227, 252, 1053, 14, 140, "Print"],
Cell[10283, 268, 232, 4, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10552, 277, 50, 0, 33, "Input"],
Cell[10605, 279, 225, 3, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10867, 287, 45, 0, 33, "Input"],
Cell[10915, 289, 487, 13, 42, "Output"]
}, Open  ]],
Cell[11417, 305, 39, 0, 33, "Input"],
Cell[11459, 307, 365, 9, 33, "Output"],
Cell[CellGroupData[{
Cell[11849, 320, 248, 4, 32, "Text"],
Cell[12100, 326, 47, 0, 33, "Input"],
Cell[12150, 328, 1436, 22, 186, "Output"]
}, Open  ]],
Cell[13601, 353, 57, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[13683, 357, 78, 1, 33, "Input"],
Cell[13764, 360, 163, 2, 33, "Output"]
}, Open  ]],
Cell[13942, 365, 507, 11, 126, "Text"],
Cell[CellGroupData[{
Cell[14474, 380, 296, 6, 53, "Input"],
Cell[14773, 388, 901, 14, 64, "Print"],
Cell[15677, 404, 465, 6, 45, "Print"],
Cell[16145, 412, 378, 7, 25, "Print"],
Cell[16526, 421, 344, 6, 25, "Print"],
Cell[16873, 429, 367, 7, 25, "Print"],
Cell[17243, 438, 343, 4, 45, "Print"],
Cell[17589, 444, 380, 7, 25, "Print"],
Cell[17972, 453, 188, 2, 25, "Print"],
Cell[18163, 457, 232, 3, 25, "Print"],
Cell[18398, 462, 378, 7, 25, "Print"],
Cell[18779, 471, 1109, 14, 159, "Print"],
Cell[19891, 487, 227, 4, 33, "Output"]
}, Open  ]],
Cell[20133, 494, 77, 1, 33, "Input"],
Cell[20213, 497, 767, 25, 71, "Output"],
Cell[20983, 524, 138, 3, 32, "Text"],
Cell[21124, 529, 100, 2, 33, "Input"],
Cell[21227, 533, 161, 4, 33, "Input"],
Cell[21391, 539, 256, 9, 33, "Input"],
Cell[21650, 550, 7916, 247, 245, "Output"],
Cell[29569, 799, 2861, 77, 262, "Input"],
Cell[32433, 878, 256, 9, 33, "Input"],
Cell[32692, 889, 3804, 119, 201, "Output"],
Cell[36499, 1010, 454, 11, 164, "Text"],
Cell[CellGroupData[{
Cell[36978, 1025, 45, 0, 33, "Input"],
Cell[37026, 1027, 601, 19, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[37664, 1051, 2328, 77, 53, "Input"],
Cell[39995, 1130, 2219, 71, 57, "Output"]
}, Open  ]],
Cell[42229, 1204, 248, 4, 32, "Text"],
Cell[42480, 1210, 82, 1, 33, "Input"],
Cell[42565, 1213, 2485, 80, 173, "Output"],
Cell[45053, 1295, 130, 1, 32, "Text"],
Cell[45186, 1298, 166, 3, 33, "Input"],
Cell[45355, 1303, 854, 23, 33, "Input"],
Cell[46212, 1328, 565, 17, 33, "Input"],
Cell[46780, 1347, 698, 21, 33, "Input"],
Cell[CellGroupData[{
Cell[47503, 1372, 189, 4, 33, "Input"],
Cell[47695, 1378, 268, 6, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[48000, 1389, 176, 4, 33, "Input"],
Cell[48179, 1395, 550, 7, 64, "Print"]
}, Open  ]],
Cell[CellGroupData[{
Cell[48766, 1407, 112, 2, 33, "Input"],
Cell[48881, 1411, 28865, 783, 335, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[77783, 2199, 66, 1, 33, "Input"],
Cell[77852, 2202, 170, 2, 33, "Output"]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
