(* 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[     99719,       3102]
NotebookOptionsPosition[     93559,       2905]
NotebookOutlinePosition[     94337,       2932]
CellTagsIndexPosition[     94294,       2929]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[{
 StyleBox["In this example we use the package IntroToSymmetry.m to work out \
the point group of the boundary layer stream function equation, \n\n",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["y",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["xy-",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["x",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["yy-UeUex-nu*",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 StyleBox["yyy=0.",
  FontSize->14,
  FontWeight->"Plain"]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["\<\
This next command turns off spurious spelling error warnings.\
\>", "Text"],

Cell[BoxData[
 RowBox[{"Off", "[", 
  RowBox[{"General", "::", "spell"}], "]"}]], "Input"],

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["\<\
Enter the input equation as a string. Don't include the ==0 at the end. \
Notice we are treating Ue as an arbitrary function of x.\
\>", "Text"],

Cell[TextData[{
 StyleBox["inputequation=\n\"D[",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}],
 "\[CapitalPsi]",
 StyleBox["[x,y],y,y,y]+(1/nu)*Ue[x]*D[Ue[x],x]+(1/nu)*D[",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}],
 "\[CapitalPsi]",
 StyleBox["[x,y],x]*D[",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}],
 "\[CapitalPsi]",
 StyleBox["[x,y],y,y]-(1/nu)*D[",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}],
 "\[CapitalPsi]",
 StyleBox["[x,y],y]*D[",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}],
 "\[CapitalPsi]",
 StyleBox["[x,y],x,y]\";",
  FontWeight->"Bold",
  FontVariations->{"CompatibilityType"->0}]
}], "Input",
 CellChangeTimes->{{3.48374887827004*^9, 3.483748940229517*^9}, 
   3.4837490019760637`*^9},
 ImageRegion->{{0, 1}, {0, 1}},
 FontWeight->"Plain"],

Cell[TextData[{
 "The function ",
 StyleBox["\[CapitalPsi]",
  FontFamily->"Symbol",
  FontSize->14,
  FontWeight->"Plain"],
 "[x, y] 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. \
Note the additional rule that makes Ue independent of y."
}], "Text"],

Cell["\<\
rulesarray=
{\"D[\[CapitalPsi][x,y],y,y,y]->-(1/nu)*Ue[x]*D[Ue[x],x]-(1/nu)*D[\
\[CapitalPsi][x,y],x]*D[\[CapitalPsi][x,y],y,y]+(1/nu)*D[\[CapitalPsi][x,y],y]\
*D[\[CapitalPsi][x,y],x,y]\"};\
\>", "Input",
 CellChangeTimes->{{3.483748952990472*^9, 3.4837489844405117`*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

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\>\"", ",", "\"\<y\>\""}], "}"}]}], ";"}]], "Input"],

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

Cell[BoxData[
 RowBox[{
  RowBox[{"dependentvariables", "=", 
   RowBox[{"{", "\"\<\[CapitalPsi]\>\"", 
    StyleBox["}",
     FontFamily->"Symbol",
     FontSize->14,
     FontWeight->"Bold",
     FontVariations->{"CompatibilityType"->0}]}]}], ";"}]], "Input",
 CellChangeTimes->{{3.4837488412300997`*^9, 3.4837488622096567`*^9}}],

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

Cell[BoxData[
 RowBox[{
  RowBox[{"frozennames", "=", 
   RowBox[{"{", 
    RowBox[{"\"\<Ue\>\"", ",", "\"\<nu\>\""}], 
    StyleBox["}",
     FontFamily->"Symbol",
     FontSize->14,
     FontWeight->"Bold",
     FontVariations->{"CompatibilityType"->0}]}]}], ";"}]], "Input"],

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

Cell[BoxData[
 RowBox[{
  RowBox[{"p", "=", "3"}], ";"}]], "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-Backlund 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-Backlund 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-Backlund 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-Backlund groups it is \
necessary to differentiate the input equation with respect to each \
independent variable 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. The Mathematica function Timing outputs the \
time required for the ",
  FontWeight->"Plain",
  FontVariations->{"CompatibilityType"->0}],
 "FindDeterminingEquations",
 StyleBox[" function to execute.",
  FontWeight->"Plain",
  FontVariations->{"CompatibilityType"->0}]
}], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

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

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(28043232\\), the time used = \\!\\(4.845529`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 28043232, 4.845529],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473781940024*^9, 3.4694772318302526`*^9, 
  3.471568072182798*^9, 3.483748779408267*^9, 3.483749017484077*^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.469473781940024*^9, 3.4694772318302526`*^9, 
  3.471568072182798*^9, 3.483748779408267*^9, 3.4837490176385202`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(26\\), the \
byte count of zdeterminingequations = \\!\\(3816\\), the memory in use = \
\\!\\(28098392\\), the time used = \\!\\(5.0349960000000005`\\)\"\>",
  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 = ``", 26, 3816, 28098392, 
   5.0349960000000005`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473781940024*^9, 3.4694772318302526`*^9, 
  3.471568072182798*^9, 3.483748779408267*^9, 3.4837490176752357`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(28099448\\), the time used = \\!\\(5.0352820000000005`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 28099448, 5.0352820000000005`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473781940024*^9, 3.4694772318302526`*^9, 
  3.471568072182798*^9, 3.483748779408267*^9, 3.4837490176764402`*^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.469473781940024*^9, 3.4694772318302526`*^9, 
  3.471568072182798*^9, 3.483748779408267*^9, 3.4837490176783524`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.19063299999999916`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.46947378218229*^9, 3.469477232084401*^9, 
  3.471568072427047*^9, 3.4837487796728907`*^9, 3.483749017709332*^9}]
}, Open  ]],

Cell[CellGroupData[{

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

Cell[BoxData["\<\"D[y1[x1,x2],x2,x2,x2]+(1/nu)*Ue[x1]*D[Ue[x1],x1]+(1/nu)*D[\
y1[x1,x2],x1]*D[y1[x1,x2],x2,x2]-(1/nu)*D[y1[x1,x2],x2]*D[y1[x1,x2],x1,x2]\"\>\
"], "Output",
 CellChangeTimes->{3.469473782226569*^9, 3.4694772321627398`*^9, 
  3.4715680724687653`*^9, 3.483748779750074*^9, 3.483749017787003*^9}]
}, Open  ]],

Cell["\<\
Let's look at the partial derivatives that appear in the invariance condition.\
\>", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{
    FractionBox[
     SuperscriptBox[
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], "2"], "nu"], "+", 
    FractionBox[
     RowBox[{
      RowBox[{"Ue", "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}], "nu"]}], ",", "0", ",", 
   "0", ",", 
   FractionBox[
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], "nu"], ",", 
   RowBox[{"-", 
    FractionBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"1", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "nu"]}], ",", "0", ",", 
   RowBox[{"-", 
    FractionBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "nu"]}], ",", 
   FractionBox[
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "0"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], "nu"], ",", "0", ",", "0", ",", "0", 
   ",", "1"}], "}"}]], "Output",
 CellChangeTimes->{3.469473782282251*^9, 3.4694772322305937`*^9, 
  3.47156807250797*^9, 3.483748779802421*^9, 3.4837490178554897`*^9}]
}, Open  ]],

Cell["Here are the determining equations in terms of z-variables.", "Text"],

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

Cell[CellGroupData[{

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

Cell[BoxData["26"], "Output",
 CellChangeTimes->{3.4694737823568687`*^9, 3.469477232363865*^9, 
  3.471568072583435*^9, 3.483748779905446*^9, 3.483749017950674*^9}]
}, Open  ]],

Cell["\<\
Here is the correspondence between z-variables and conventional variables.\
\>", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"z1", "\[Rule]", "x"}], ",", 
   RowBox[{"z2", "\[Rule]", "y"}], ",", 
   RowBox[{"z3", "\[Rule]", 
    RowBox[{"\[CapitalPsi]", "[", 
     RowBox[{"x", ",", "y"}], "]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{3.469473782416533*^9, 3.4694772324225817`*^9, 
  3.4715680726237507`*^9, 3.483748779984087*^9, 3.4837490180163603`*^9}]
}, Open  ]],

Cell[TextData[{
 "Now solve the determining equations in terms of multivariable polynomials. \
The Mathematica function Solve uses Gaussian elimination to solve a large \
number of linear equations for the polynomial coefficients. The time roughly \
follows\n\ntime/timeref=((number of equations)/(number of equationsref))^n\n\n\
where the exponent is between 2.4 and 2.7. The ",
 StyleBox["Mathematica",
  FontSlant->"Italic"],
 " function Timing outputs the time required for the \
SolveDeterminingEquations function to execute."
}], "Text"],

Cell[CellGroupData[{

Cell["\<\
Timing[SolveDeterminingEquations[
independentvariables,dependentvariables,r,xseon,zdeterminingequations,order=4]\
]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

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 = \\!\\(35\\)\"\>",
  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 = ``", 35],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018083529*^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.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018142035*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(28346840\\), The time = \\!\
\\(5.10944`\\)\"\>",
  StringForm["The memory in use = ``, The time = ``", 28346840, 5.10944],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.48374901817694*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of unknown polynomial coefficients = \
\\!\\(105\\)\"\>",
  StringForm["The number of unknown polynomial coefficients = ``", 105],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018214233*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of equations for the polynomial \
coefficients = \\!\\(393\\)\"\>",
  StringForm[
  "The number of equations for the polynomial coefficients = ``", 393],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018249557*^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.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018283106*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(28449152\\), The time = \\!\
\\(5.129393`\\)\"\>",
  StringForm["The memory in use = ``, The time = ``", 28449152, 5.129393],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018316608*^9}],

Cell[BoxData["\<\"Solve has finished.\"\>"], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.4837490183497753`*^9}],

Cell[BoxData["\<\"The function SolveDeterminingEquations is finished \
executing.\"\>"], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018382556*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(28526384\\), The time = \\!\
\\(5.17493`\\)\"\>",
  StringForm["The memory in use = ``, The time = ``", 28526384, 5.17493],
  Editable->False]], "Print",
 CellChangeTimes->{3.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.483749018416147*^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.469473782526206*^9, 3.4694772326112957`*^9, 
  3.4715680726737127`*^9, 3.483748780038063*^9, 3.48374901845043*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.1349360000000006`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469473782585505*^9, 3.4694772326696577`*^9, 
  3.471568072827771*^9, 3.483748780190213*^9, 3.4837490184826117`*^9}]
}, Open  ]],

Cell["\<\
Here are the infinitesimal transformation functions for the independent \
variables.\
\>", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"xse1[z1_, z2_, z3_]=a10\"\>", 
   ",", "\<\"xse2[z1_, z2_, z3_]=a20 + a21*z1 + a22*z1^2 + a23*z1^3 + \
a24*z1^4 - (a10*z2*(Derivative[1][Ue][z1]^2 + \
Ue[z1]*Derivative[2][Ue][z1]))/(4*Ue[z1]*Derivative[1][Ue][z1])\"\>"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.4694737827083883`*^9, 3.469477232798634*^9, 
  3.4715680728697443`*^9, 3.483748780356937*^9, 3.483749018635343*^9}]
}, Open  ]],

Cell["and for the dependent variables.", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", "\<\"eta1[z1_, z2_, z3_]=b10 - \
(a10*z3*(-Derivative[1][Ue][z1]^2 - \
Ue[z1]*Derivative[2][Ue][z1]))/(4*Ue[z1]*Derivative[1][Ue][z1])\"\>", 
  "}"}]], "Output",
 CellChangeTimes->{3.46947378276717*^9, 3.469477232857589*^9, 
  3.471568072984542*^9, 3.483748780419676*^9, 3.483749018707336*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"infinitesimalgroupsxy", "=", 
  RowBox[{"infinitesimalgroups", "/.", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"z1", "\[Rule]", "x"}], ",", 
     RowBox[{"z2", "\[Rule]", "y"}], ",", 
     RowBox[{"z3", "\[Rule]", 
      StyleBox["\[CapitalPsi]",
       FontFamily->"Symbol",
       FontSize->14,
       FontWeight->"Bold",
       FontVariations->{"CompatibilityType"->0}]}]}], "}"}]}]}]], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"1", ",", 
       RowBox[{"-", 
        FractionBox[
         RowBox[{"y", " ", 
          RowBox[{"(", 
           RowBox[{
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]",
               MultilineFunction->None], "[", "x", "]"}], "2"], "+", 
            RowBox[{
             RowBox[{"Ue", "[", "x", "]"}], " ", 
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]\[Prime]",
               MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
         RowBox[{"4", " ", 
          RowBox[{"Ue", "[", "x", "]"}], " ", 
          RowBox[{
           SuperscriptBox["Ue", "\[Prime]",
            MultilineFunction->None], "[", "x", "]"}]}]]}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"-", 
       FractionBox[
        RowBox[{"\[CapitalPsi]", " ", 
         RowBox[{"(", 
          RowBox[{
           RowBox[{"-", 
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]",
               MultilineFunction->None], "[", "x", "]"}], "2"]}], "-", 
           RowBox[{
            RowBox[{"Ue", "[", "x", "]"}], " ", 
            RowBox[{
             SuperscriptBox["Ue", "\[Prime]\[Prime]",
              MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
        RowBox[{"4", " ", 
         RowBox[{"Ue", "[", "x", "]"}], " ", 
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x", "]"}]}]]}], "}"}]}], "}"}], 
   ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "1"}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "x"}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", 
       SuperscriptBox["x", "2"]}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", 
       SuperscriptBox["x", "3"]}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", 
       SuperscriptBox["x", "4"]}], "}"}], ",", 
     RowBox[{"{", "0", "}"}]}], "}"}], ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}], ",", 
     RowBox[{"{", "1", "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.469473782818487*^9, 3.469477232909318*^9, 
  3.471568073024866*^9, 3.483748780466454*^9, 3.483749018774362*^9}]
}, Open  ]],

Cell["\<\
Check the groups; xse's are on the left, eta's are on the right.\
\>", "Text"],

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

Cell[BoxData[
 TagBox[GridBox[{
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"1", ",", 
         RowBox[{"-", 
          FractionBox[
           RowBox[{"y", " ", 
            RowBox[{"(", 
             RowBox[{
              SuperscriptBox[
               RowBox[{
                SuperscriptBox["Ue", "\[Prime]",
                 MultilineFunction->None], "[", "x", "]"}], "2"], "+", 
              RowBox[{
               RowBox[{"Ue", "[", "x", "]"}], " ", 
               RowBox[{
                SuperscriptBox["Ue", "\[Prime]\[Prime]",
                 MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
           RowBox[{"4", " ", 
            RowBox[{"Ue", "[", "x", "]"}], " ", 
            RowBox[{
             SuperscriptBox["Ue", "\[Prime]",
              MultilineFunction->None], "[", "x", "]"}]}]]}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"-", 
         FractionBox[
          RowBox[{"\[CapitalPsi]", " ", 
           RowBox[{"(", 
            RowBox[{
             RowBox[{"-", 
              SuperscriptBox[
               RowBox[{
                SuperscriptBox["Ue", "\[Prime]",
                 MultilineFunction->None], "[", "x", "]"}], "2"]}], "-", 
             RowBox[{
              RowBox[{"Ue", "[", "x", "]"}], " ", 
              RowBox[{
               SuperscriptBox["Ue", "\[Prime]\[Prime]",
                MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
          RowBox[{"4", " ", 
           RowBox[{"Ue", "[", "x", "]"}], " ", 
           RowBox[{
            SuperscriptBox["Ue", "\[Prime]",
             MultilineFunction->None], "[", "x", "]"}]}]]}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "1"}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "x"}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", 
         SuperscriptBox["x", "2"]}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", 
         SuperscriptBox["x", "3"]}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", 
         SuperscriptBox["x", "4"]}], "}"}], ",", 
       RowBox[{"{", "0", "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "0"}], "}"}], ",", 
       RowBox[{"{", "1", "}"}]}], "}"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.46947378286804*^9, 3.46947723295968*^9, 
  3.471568073054208*^9, 3.4837487805383873`*^9, 3.483749018852556*^9}],

Cell["Check the infinitesimals in the determining equations.", "Text",
 CellChangeTimes->{{3.471145395559845*^9, 3.471145429404257*^9}}],

Cell[CellGroupData[{

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

 CellChangeTimes->{{3.471145481019026*^9, 3.4711455173104143`*^9}, 
   3.471146122753789*^9, {3.47154140257237*^9, 3.471541418863482*^9}, {
   3.4715667761993*^9, 3.4715667786858253`*^9}, 3.471567789726531*^9, 
   3.471568099275279*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", 
   "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", 
   RowBox[{
    RowBox[{"a10", " ", "z3", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{"-", 
        FractionBox[
         SuperscriptBox[
          RowBox[{
           SuperscriptBox["Ue", "\[Prime]",
            MultilineFunction->None], "[", "z1", "]"}], "3"], 
         RowBox[{"Ue", "[", "z1", "]"}]]}], "+", 
       RowBox[{
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]",
          MultilineFunction->None], "[", "z1", "]"}], " ", 
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]\[Prime]",
          MultilineFunction->None], "[", "z1", "]"}]}], "+", 
       RowBox[{
        RowBox[{"Ue", "[", "z1", "]"}], " ", 
        RowBox[{"(", 
         RowBox[{
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]\[Prime]",
               MultilineFunction->None], "[", "z1", "]"}], "2"], 
            RowBox[{
             SuperscriptBox["Ue", "\[Prime]",
              MultilineFunction->None], "[", "z1", "]"}]]}], "+", 
          RowBox[{
           SuperscriptBox["Ue", 
            TagBox[
             RowBox[{"(", "3", ")"}],
             Derivative],
            MultilineFunction->None], "[", "z1", "]"}]}], ")"}]}]}], ")"}]}], 
    "\[Equal]", "0"}], ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", "True", ",", 
   RowBox[{
    RowBox[{"a10", " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{"-", 
        FractionBox[
         SuperscriptBox[
          RowBox[{
           SuperscriptBox["Ue", "\[Prime]",
            MultilineFunction->None], "[", "z1", "]"}], "3"], 
         RowBox[{"Ue", "[", "z1", "]"}]]}], "+", 
       RowBox[{
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]",
          MultilineFunction->None], "[", "z1", "]"}], " ", 
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]\[Prime]",
          MultilineFunction->None], "[", "z1", "]"}]}], "+", 
       RowBox[{
        RowBox[{"Ue", "[", "z1", "]"}], " ", 
        RowBox[{"(", 
         RowBox[{
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]\[Prime]",
               MultilineFunction->None], "[", "z1", "]"}], "2"], 
            RowBox[{
             SuperscriptBox["Ue", "\[Prime]",
              MultilineFunction->None], "[", "z1", "]"}]]}], "+", 
          RowBox[{
           SuperscriptBox["Ue", 
            TagBox[
             RowBox[{"(", "3", ")"}],
             Derivative],
            MultilineFunction->None], "[", "z1", "]"}]}], ")"}]}]}], ")"}]}], 
    "\[Equal]", "0"}]}], "}"}]], "Output",
 CellChangeTimes->{{3.4715680730897217`*^9, 3.4715681001856403`*^9}, 
   3.483748780621913*^9, 3.483749018931368*^9}]
}, Open  ]],

Cell["\<\
Note the higher powers of x that appear in the transformation of the wall \
normal coordinate. This suggests the existence of an arbitrary function of x \
in the transformation of y. Drop these terms for the moment.\
\>", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"infinitesimalgroupsxy1", "=", 
  RowBox[{"Drop", "[", 
   RowBox[{"infinitesimalgroupsxy", ",", 
    RowBox[{"{", 
     RowBox[{"2", ",", "6"}], "}"}]}], "]"}]}]], "Input",
 CellChangeTimes->{{3.469473874304843*^9, 3.4694738746249847`*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"1", ",", 
       RowBox[{"-", 
        FractionBox[
         RowBox[{"y", " ", 
          RowBox[{"(", 
           RowBox[{
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]",
               MultilineFunction->None], "[", "x", "]"}], "2"], "+", 
            RowBox[{
             RowBox[{"Ue", "[", "x", "]"}], " ", 
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]\[Prime]",
               MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
         RowBox[{"4", " ", 
          RowBox[{"Ue", "[", "x", "]"}], " ", 
          RowBox[{
           SuperscriptBox["Ue", "\[Prime]",
            MultilineFunction->None], "[", "x", "]"}]}]]}]}], "}"}], ",", 
     RowBox[{"{", 
      RowBox[{"-", 
       FractionBox[
        RowBox[{"\[CapitalPsi]", " ", 
         RowBox[{"(", 
          RowBox[{
           RowBox[{"-", 
            SuperscriptBox[
             RowBox[{
              SuperscriptBox["Ue", "\[Prime]",
               MultilineFunction->None], "[", "x", "]"}], "2"]}], "-", 
           RowBox[{
            RowBox[{"Ue", "[", "x", "]"}], " ", 
            RowBox[{
             SuperscriptBox["Ue", "\[Prime]\[Prime]",
              MultilineFunction->None], "[", "x", "]"}]}]}], ")"}]}], 
        RowBox[{"4", " ", 
         RowBox[{"Ue", "[", "x", "]"}], " ", 
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x", "]"}]}]]}], "}"}]}], "}"}], 
   ",", 
   RowBox[{"{", 
    RowBox[{
     RowBox[{"{", 
      RowBox[{"0", ",", "0"}], "}"}], ",", 
     RowBox[{"{", "1", "}"}]}], "}"}]}], "}"}]], "Output",
 CellChangeTimes->{3.469473782918075*^9, 3.46947387723726*^9, 
  3.469477233025859*^9, 3.4715680731209583`*^9, 3.483748780702898*^9, 
  3.483749018991523*^9}]
}, Open  ]],

Cell["Construct the commutator table.", "Text"],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MakeCommutatorTable", "[", 
  RowBox[{
  "independentvariables", ",", "dependentvariables", ",", 
   "infinitesimalgroupsxy1"}], "]"}]], "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.469473782968185*^9, 3.469477233070485*^9, 
  3.471568073157679*^9, 3.483748780751958*^9, 3.483749019058628*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"MatrixForm", "[", "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[{"{", 
            FractionBox[
             RowBox[{
              RowBox[{"-", 
               SuperscriptBox[
                RowBox[{
                 SuperscriptBox["Ue", "\[Prime]",
                  MultilineFunction->None], "[", "x", "]"}], "2"]}], "-", 
              RowBox[{
               RowBox[{"Ue", "[", "x", "]"}], " ", 
               RowBox[{
                SuperscriptBox["Ue", "\[Prime]\[Prime]",
                 MultilineFunction->None], "[", "x", "]"}]}]}], 
             RowBox[{"4", " ", 
              RowBox[{"Ue", "[", "x", "]"}], " ", 
              RowBox[{
               SuperscriptBox["Ue", "\[Prime]",
                MultilineFunction->None], "[", "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[{"{", 
            RowBox[{"-", 
             FractionBox[
              RowBox[{
               RowBox[{"-", 
                SuperscriptBox[
                 RowBox[{
                  SuperscriptBox["Ue", "\[Prime]",
                   MultilineFunction->None], "[", "x", "]"}], "2"]}], "-", 
               RowBox[{
                RowBox[{"Ue", "[", "x", "]"}], " ", 
                RowBox[{
                 SuperscriptBox["Ue", "\[Prime]\[Prime]",
                  MultilineFunction->None], "[", "x", "]"}]}]}], 
              RowBox[{"4", " ", 
               RowBox[{"Ue", "[", "x", "]"}], " ", 
               RowBox[{
                SuperscriptBox["Ue", "\[Prime]",
                 MultilineFunction->None], "[", "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]", ")"}]}
    },
    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.469473783020797*^9, 3.469477233131769*^9, 
  3.471568073188052*^9, 3.483748780821961*^9, 3.4837490191244717`*^9}]
}, Open  ]],

Cell["*********************************************************", "Text",
 Evaluatable->False,
 ImageRegion->{{0, 1}, {0, 1}},
 FontWeight->"Plain"],

Cell[CellGroupData[{

Cell[TextData[{
 StyleBox["First let's check to see if these infinitesimals satisfy the \
invariance condition by forming all the terms that appear in the invariance \
condition. Here we will make use of the function ",
  FontWeight->"Plain"],
 "PthInfinitesimal",
 StyleBox[" that generates the infinitesimal transformation of the pth \
derivative.",
  FontWeight->"Plain"]
}], "Text",
 CellChangeTimes->{{3.469473944314207*^9, 3.469473945192801*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"ToExpression", "[", "xsefunctions", "]"}], "/.", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"z1", "\[Rule]", "x1"}], ",", 
    RowBox[{"z2", "\[Rule]", "x2"}], ",", 
    RowBox[{"z3", "\[Rule]", 
     RowBox[{"y1", "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}]}], "}"}]}]], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"a10", ",", 
   RowBox[{"a20", "+", 
    RowBox[{"a21", " ", "x1"}], "+", 
    RowBox[{"a22", " ", 
     SuperscriptBox["x1", "2"]}], "+", 
    RowBox[{"a23", " ", 
     SuperscriptBox["x1", "3"]}], "+", 
    RowBox[{"a24", " ", 
     SuperscriptBox["x1", "4"]}], "-", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      RowBox[{"(", 
       RowBox[{
        SuperscriptBox[
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x1", "]"}], "2"], "+", 
        RowBox[{
         RowBox[{"Ue", "[", "x1", "]"}], " ", 
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]\[Prime]",
           MultilineFunction->None], "[", "x1", "]"}]}]}], ")"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]]}]}], "}"}]], "Output",
 CellChangeTimes->{3.4694737830856657`*^9, 3.4694772331935253`*^9, 
  3.471568073224381*^9, 3.483748780917727*^9, 3.483749019191328*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["ToExpression[etafunctions]/.{z1->x1,z2->x2,z3->y1[x1,x2]}", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"b10", "-", 
   FractionBox[
    RowBox[{"a10", " ", 
     RowBox[{"y1", "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], " ", 
     RowBox[{"(", 
      RowBox[{
       RowBox[{"-", 
        SuperscriptBox[
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x1", "]"}], "2"]}], "-", 
       RowBox[{
        RowBox[{"Ue", "[", "x1", "]"}], " ", 
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]\[Prime]",
          MultilineFunction->None], "[", "x1", "]"}]}]}], ")"}]}], 
    RowBox[{"4", " ", 
     RowBox[{"Ue", "[", "x1", "]"}], " ", 
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}]}]]}], "}"}]], "Output",
 CellChangeTimes->{3.4694737831353207`*^9, 3.469477233237311*^9, 
  3.471568073254443*^9, 3.4837487809655313`*^9, 3.483749019258163*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"n", "=", 
  RowBox[{"Length", "[", "independentvariables", "]"}]}]], "Input"],

Cell[BoxData["2"], "Output",
 CellChangeTimes->{3.469473783180234*^9, 3.4694772332925653`*^9, 
  3.4715680732902822`*^9, 3.483748781008491*^9, 3.483749019319665*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"m", "=", 
  RowBox[{"Length", "[", "dependentvariables", "]"}]}]], "Input"],

Cell[BoxData["1"], "Output",
 CellChangeTimes->{3.469473783236011*^9, 3.469477233337648*^9, 
  3.471568073320354*^9, 3.483748781062546*^9, 3.483749019387034*^9}]
}, Open  ]],

Cell[TextData[StyleBox["plocal is order of the desired derivative.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"xse1noderiv", "=", "a10"}]], "Input",
 CellChangeTimes->{{3.469474197491835*^9, 3.469474197676103*^9}, {
  3.4694769884780827`*^9, 3.469476989652492*^9}}],

Cell[BoxData["a10"], "Output",
 CellChangeTimes->{3.469473783285927*^9, 3.469474199511437*^9, 
  3.469476990916238*^9, 3.469477233393241*^9, 3.471568073358478*^9, 
  3.483748781112956*^9, 3.483749019452916*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
eta1x=PthInfinitesimal[
n,m,yindex=1,plocal=1,r,xseon,j1=1]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox[
    RowBox[{"a10", " ", 
     RowBox[{"y1", "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], " ", 
     SuperscriptBox[
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], "2"]}], 
    RowBox[{"4", " ", 
     SuperscriptBox[
      RowBox[{"Ue", "[", "x1", "]"}], "2"]}]]}], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}], 
   RowBox[{"4", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
  RowBox[{"a21", " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "1"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"2", " ", "a22", " ", "x1", " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "1"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"3", " ", "a23", " ", 
   SuperscriptBox["x1", "2"], " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "1"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"4", " ", "a24", " ", 
   SuperscriptBox["x1", "3"], " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "1"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    SuperscriptBox[
     RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "0"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "0"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]]}]], "Output",
 CellChangeTimes->{3.46947378333812*^9, 3.469474202408435*^9, 
  3.469476994114946*^9, 3.4694772334418497`*^9, 3.471568073387813*^9, 
  3.483748781166505*^9, 3.483749019521587*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
eta1y=PthInfinitesimal[
n,m,yindex=1,plocal=1,r,xseon,j1=2]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]]}]], "Output",
 CellChangeTimes->{3.4694737833818207`*^9, 3.4694742059700003`*^9, 
  3.469476997860387*^9, 3.4694772334891787`*^9, 3.471568073442182*^9, 
  3.4837487812134647`*^9, 3.483749019672991*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
eta1xy=PthInfinitesimal[
n,m,yindex=1,plocal=2,r,xseon,j1=1,j2=2]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"-", 
   FractionBox[
    RowBox[{"a10", " ", 
     SuperscriptBox[
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], 
    RowBox[{"2", " ", 
     SuperscriptBox[
      RowBox[{"Ue", "[", "x1", "]"}], "2"]}]]}], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
  RowBox[{"a21", " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "2"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"2", " ", "a22", " ", "x1", " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "2"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"3", " ", "a23", " ", 
   SuperscriptBox["x1", "2"], " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "2"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  RowBox[{"4", " ", "a24", " ", 
   SuperscriptBox["x1", "3"], " ", 
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"0", ",", "2"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    SuperscriptBox[
     RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", "x2", " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"2", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]]}]], "Output",
 CellChangeTimes->{3.469473783437682*^9, 3.469474210338715*^9, 
  3.469477000709291*^9, 3.469477233547933*^9, 3.471568073493094*^9, 
  3.483748781346293*^9, 3.4837490197460537`*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
eta1yy=PthInfinitesimal[
n,m,yindex=1,plocal=2,r,xseon,j1=2,j2=2]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  FractionBox[
   RowBox[{"3", " ", "a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"3", " ", "a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]]}]], "Output",
 CellChangeTimes->{3.469473783486639*^9, 3.46947421480093*^9, 
  3.46947700455061*^9, 3.469477233594675*^9, 3.47156807353824*^9, 
  3.4837487813999577`*^9, 3.483749019810281*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
eta1yyy=PthInfinitesimal[
n,m,yindex=1,plocal=3,r,xseon,j1=2,j2=2,j3=2]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "3"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"Ue", "[", "x1", "]"}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "3"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{
    SuperscriptBox["Ue", "\[Prime]",
     MultilineFunction->None], "[", "x1", "]"}]]}]], "Output",
 CellChangeTimes->{3.469473783537774*^9, 3.469474219500739*^9, 
  3.469477007469715*^9, 3.4694772336399593`*^9, 3.4715680735743523`*^9, 
  3.483748781444949*^9, 3.483749019872666*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
invariancecondcoefficients={
xse1noderiv,0,0,eta1x,eta1y,0,eta1xy,eta1yy,0,0,0,eta1yyy}\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"a10", ",", "0", ",", "0", ",", 
   RowBox[{
    RowBox[{"-", 
     FractionBox[
      RowBox[{"a10", " ", 
       RowBox[{"y1", "[", 
        RowBox[{"x1", ",", "x2"}], "]"}], " ", 
       SuperscriptBox[
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]",
          MultilineFunction->None], "[", "x1", "]"}], "2"]}], 
      RowBox[{"4", " ", 
       SuperscriptBox[
        RowBox[{"Ue", "[", "x1", "]"}], "2"]}]]}], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{"y1", "[", 
       RowBox[{"x1", ",", "x2"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{"y1", "[", 
       RowBox[{"x1", ",", "x2"}], "]"}], " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}], 
     RowBox[{"4", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{"y1", "[", 
       RowBox[{"x1", ",", "x2"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["Ue", 
        TagBox[
         RowBox[{"(", "3", ")"}],
         Derivative],
        MultilineFunction->None], "[", "x1", "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
    RowBox[{"a21", " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"2", " ", "a22", " ", "x1", " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"3", " ", "a23", " ", 
     SuperscriptBox["x1", "2"], " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"4", " ", "a24", " ", 
     SuperscriptBox["x1", "3"], " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      SuperscriptBox[
       RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      RowBox[{
       SuperscriptBox["Ue", 
        TagBox[
         RowBox[{"(", "3", ")"}],
         Derivative],
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]]}], ",", 
   RowBox[{
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]]}], ",", "0", ",", 
   RowBox[{
    RowBox[{"-", 
     FractionBox[
      RowBox[{"a10", " ", 
       SuperscriptBox[
        RowBox[{
         SuperscriptBox["Ue", "\[Prime]",
          MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
       RowBox[{
        SuperscriptBox["y1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"x1", ",", "x2"}], "]"}]}], 
      RowBox[{"2", " ", 
       SuperscriptBox[
        RowBox[{"Ue", "[", "x1", "]"}], "2"]}]]}], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
    FractionBox[
     RowBox[{"a10", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", 
        TagBox[
         RowBox[{"(", "3", ")"}],
         Derivative],
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
    RowBox[{"a21", " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "2"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"2", " ", "a22", " ", "x1", " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "2"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"3", " ", "a23", " ", 
     SuperscriptBox["x1", "2"], " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "2"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    RowBox[{"4", " ", "a24", " ", 
     SuperscriptBox["x1", "3"], " ", 
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "2"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}]}], "-", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      SuperscriptBox[
       RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", "x2", " ", 
      RowBox[{
       SuperscriptBox["Ue", 
        TagBox[
         RowBox[{"(", "3", ")"}],
         Derivative],
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"2", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]]}], ",", 
   RowBox[{
    FractionBox[
     RowBox[{"3", " ", "a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
    FractionBox[
     RowBox[{"3", " ", "a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"4", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}]]}], ",", "0", ",", "0", 
   ",", "0", ",", 
   RowBox[{
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "3"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{"Ue", "[", "x1", "]"}]], "+", 
    FractionBox[
     RowBox[{"a10", " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "3"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}], 
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}]]}]}], "}"}]], "Output",
 CellChangeTimes->{3.469473783591187*^9, 3.469474237335474*^9, 
  3.469477011160674*^9, 3.469477233704733*^9, 3.471568073629504*^9, 
  3.483748781506648*^9, 3.483749019999075*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["\<\
invarianceconditionsum=
Expand[
invarconditiontable.invariancecondcoefficients]/.
{D[y1[x1,x2],x2,x2,x2]->
-(1/nu)*Ue[x1]*D[Ue[x1],x1]-
(1/nu)*D[y1[x1,x2],x1]*D[y1[x1,x2],x2,x2]+
(1/nu)*D[y1[x1,x2],x2]*D[y1[x1,x2],x1,x2]}\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  FractionBox[
   RowBox[{"a10", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}], "nu"], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"Ue", "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}], "nu"], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "2"]}], 
   RowBox[{"2", " ", "nu", " ", 
    SuperscriptBox[
     RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "2"]}], 
   RowBox[{"2", " ", "nu", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "2"]}], 
   RowBox[{"2", " ", "nu", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["y1", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"x1", ",", "x2"}], "]"}], "2"]}], 
   RowBox[{"2", " ", "nu", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", "nu", " ", 
    SuperscriptBox[
     RowBox[{"Ue", "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", "nu", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", "nu", " ", 
    SuperscriptBox[
     RowBox[{
      SuperscriptBox["Ue", "\[Prime]",
       MultilineFunction->None], "[", "x1", "]"}], "2"]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{"y1", "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["Ue", 
      TagBox[
       RowBox[{"(", "3", ")"}],
       Derivative],
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"4", " ", "nu", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "0"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"nu", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "2"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "0"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"nu", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"nu", " ", 
    RowBox[{"Ue", "[", "x1", "]"}]}]], "-", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"0", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}], " ", 
    RowBox[{
     SuperscriptBox["y1", 
      TagBox[
       RowBox[{"(", 
        RowBox[{"1", ",", "1"}], ")"}],
       Derivative],
      MultilineFunction->None], "[", 
     RowBox[{"x1", ",", "x2"}], "]"}]}], 
   RowBox[{"nu", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}]}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{"(", 
     RowBox[{
      RowBox[{"-", 
       FractionBox[
        RowBox[{
         RowBox[{"Ue", "[", "x1", "]"}], " ", 
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x1", "]"}]}], "nu"]}], "-", 
      FractionBox[
       RowBox[{
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "2"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}]}], "nu"], "+", 
      FractionBox[
       RowBox[{
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}]}], "nu"]}], ")"}]}], 
   RowBox[{"Ue", "[", "x1", "]"}]], "+", 
  FractionBox[
   RowBox[{"a10", " ", 
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], " ", 
    RowBox[{"(", 
     RowBox[{
      RowBox[{"-", 
       FractionBox[
        RowBox[{
         RowBox[{"Ue", "[", "x1", "]"}], " ", 
         RowBox[{
          SuperscriptBox["Ue", "\[Prime]",
           MultilineFunction->None], "[", "x1", "]"}]}], "nu"]}], "-", 
      FractionBox[
       RowBox[{
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "2"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}]}], "nu"], "+", 
      FractionBox[
       RowBox[{
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"0", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox["y1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "1"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"x1", ",", "x2"}], "]"}]}], "nu"]}], ")"}]}], 
   RowBox[{
    SuperscriptBox["Ue", "\[Prime]",
     MultilineFunction->None], "[", "x1", "]"}]]}]], "Output",
 CellChangeTimes->{3.469473783732068*^9, 3.4694742459343987`*^9, 
  3.469474736157694*^9, 3.469477015593605*^9, 3.4694771043537283`*^9, 
  3.46947714827901*^9, 3.469477233842889*^9, 3.471568073673709*^9, 
  3.4837487815721483`*^9, 3.483749020083458*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell["Simplify[%]", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 FractionBox[
  RowBox[{"a10", " ", 
   RowBox[{"(", 
    RowBox[{
     SuperscriptBox[
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], "4"], "-", 
     RowBox[{
      RowBox[{"Ue", "[", "x1", "]"}], " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}]}], "+", 
     RowBox[{
      SuperscriptBox[
       RowBox[{"Ue", "[", "x1", "]"}], "2"], " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["Ue", "\[Prime]\[Prime]",
         MultilineFunction->None], "[", "x1", "]"}], "2"]}], "-", 
     RowBox[{
      SuperscriptBox[
       RowBox[{"Ue", "[", "x1", "]"}], "2"], " ", 
      RowBox[{
       SuperscriptBox["Ue", "\[Prime]",
        MultilineFunction->None], "[", "x1", "]"}], " ", 
      RowBox[{
       SuperscriptBox["Ue", 
        TagBox[
         RowBox[{"(", "3", ")"}],
         Derivative],
        MultilineFunction->None], "[", "x1", "]"}]}]}], ")"}], " ", 
   RowBox[{"(", 
    RowBox[{
     RowBox[{"2", " ", 
      SuperscriptBox[
       RowBox[{
        SuperscriptBox["y1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"x1", ",", "x2"}], "]"}], "2"]}], "-", 
     RowBox[{
      RowBox[{"y1", "[", 
       RowBox[{"x1", ",", "x2"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["y1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"x1", ",", "x2"}], "]"}]}]}], ")"}]}], 
  RowBox[{"4", " ", "nu", " ", 
   SuperscriptBox[
    RowBox[{"Ue", "[", "x1", "]"}], "2"], " ", 
   SuperscriptBox[
    RowBox[{
     SuperscriptBox["Ue", "\[Prime]",
      MultilineFunction->None], "[", "x1", "]"}], "2"]}]]], "Output",
 CellChangeTimes->{3.469473783789711*^9, 3.469474257551325*^9, 
  3.469474739699984*^9, 3.469477018451558*^9, 3.4694771071405888`*^9, 
  3.4694771514712677`*^9, 3.4694772338922358`*^9, 3.4715680737228003`*^9, 
  3.483748781632291*^9, 3.483749020143208*^9}]
}, Open  ]],

Cell[TextData[StyleBox["This final expression is equal to zero if and only if \
Ue[x] satisfies Ue[x]Ue''=(Ue')^2. Thus invariance of the equation holds if \
Ue=a*Exp[b*x].  Let's show this.",
 FontWeight->"Plain"]], "Text",
 CellChangeTimes->{{3.469477173999138*^9, 3.469477214244882*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"%", "/.", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{
     RowBox[{"Ue", "[", "x1", "]"}], "\[Rule]", 
     RowBox[{"aa", "*", 
      RowBox[{"Exp", "[", 
       RowBox[{"bb", "*", "x1"}], "]"}]}]}], ",", 
    RowBox[{
     RowBox[{
      RowBox[{"Ue", "'"}], "[", "x1", "]"}], "\[Rule]", 
     RowBox[{"aa", "*", "bb", "*", 
      RowBox[{"Exp", "[", 
       RowBox[{"bb", "*", "x1"}], "]"}]}]}], ",", 
    RowBox[{
     RowBox[{
      RowBox[{"Ue", "''"}], "[", "x1", "]"}], "\[Rule]", 
     RowBox[{"aa", "*", "bb", "*", "bb", "*", 
      RowBox[{"Exp", "[", 
       RowBox[{"bb", "*", "x1"}], "]"}]}]}], ",", 
    RowBox[{
     RowBox[{
      RowBox[{"Ue", "'''"}], "[", "x1", "]"}], "\[Rule]", 
     RowBox[{"aa", "*", "bb", "*", "bb", "*", "bb", "*", 
      RowBox[{"Exp", "[", 
       RowBox[{"bb", "*", "x1"}], "]"}]}]}]}], "}"}]}]], "Input",
 CellChangeTimes->{{3.46947468259092*^9, 3.469474726968979*^9}, {
  3.4694770522086773`*^9, 3.4694771454149427`*^9}}],

Cell[BoxData["0"], "Output",
 CellChangeTimes->{
  3.469474742160651*^9, 3.469477024306299*^9, {3.469477110519821*^9, 
   3.469477154712907*^9}, 3.469477233945484*^9, 3.471568073759142*^9, 
   3.483748781676387*^9, 3.483749020206023*^9}]
}, Open  ]],

Cell[TextData[StyleBox["The implication of this result is that self-similar \
behavior occurs for an exponential distribution of the free stream velocity \
over a flat plate.",
 FontWeight->"Plain"]], "Text",
 CellChangeTimes->{{3.469477173999138*^9, 3.469477206302293*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

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

Cell[BoxData["30381344"], "Output",
 CellChangeTimes->{3.469473783838052*^9, 3.469477233989273*^9, 
  3.471568073809865*^9, 3.483748781730732*^9, 3.483749020272678*^9}]
}, Open  ]]
},
WindowToolbars->{},
CellGrouping->Manual,
WindowSize->{1520, 1066},
WindowMargins->{{16, Automatic}, {Automatic, 24}},
PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
ShowCellLabel->True,
ShowCellTags->False,
RenderingOptions->{"ObjectDithering"->True,
"RasterDithering"->False},
MacintoshSystemPageSetup -> \
"0080001804P000000_82@?okonh34`9B;@<5:0?l00;m009H0UP0000068dB`0B`\n\
02d5X5k/02H80@4101P00BL?00400@00000000000000P0010000020D00000000\n\
0000000000000000000004T400002004",
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, 995, 41, 81, "Text"],
Cell[1543, 63, 85, 2, 32, "Text"],
Cell[1631, 67, 90, 2, 33, "Input"],
Cell[1724, 71, 124, 1, 32, "Text"],
Cell[1851, 74, 160, 4, 33, "Input"],
Cell[2014, 80, 476, 13, 32, "Text"],
Cell[2493, 95, 101, 2, 33, "Input"],
Cell[2597, 99, 154, 3, 32, "Text"],
Cell[2754, 104, 871, 28, 50, "Input"],
Cell[3628, 134, 351, 9, 39, "Text"],
Cell[3982, 145, 315, 7, 50, "Input"],
Cell[4300, 154, 130, 2, 32, "Text"],
Cell[4433, 158, 151, 4, 33, "Input"],
Cell[4587, 164, 128, 2, 32, "Text"],
Cell[4718, 168, 331, 9, 36, "Input"],
Cell[5052, 179, 238, 4, 32, "Text"],
Cell[5293, 185, 277, 9, 36, "Input"],
Cell[5573, 196, 147, 3, 32, "Text"],
Cell[5723, 201, 67, 2, 33, "Input"],
Cell[5793, 205, 385, 6, 51, "Text"],
Cell[6181, 213, 67, 2, 33, "Input"],
Cell[6251, 217, 509, 7, 51, "Text"],
Cell[6763, 226, 71, 2, 33, "Input"],
Cell[6837, 230, 568, 8, 51, "Text"],
Cell[7408, 240, 79, 2, 33, "Input"],
Cell[7490, 244, 518, 12, 51, "Text"],
Cell[CellGroupData[{
Cell[8033, 260, 324, 6, 53, "Input"],
Cell[8360, 268, 469, 8, 25, "Print"],
Cell[8832, 278, 1054, 14, 121, "Print"],
Cell[9889, 294, 750, 12, 45, "Print"],
Cell[10642, 308, 460, 8, 25, "Print"],
Cell[11105, 318, 1056, 14, 140, "Print"],
Cell[12164, 334, 229, 4, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[12430, 343, 50, 0, 33, "Input"],
Cell[12483, 345, 308, 4, 33, "Output"]
}, Open  ]],
Cell[12806, 352, 102, 2, 32, "Text"],
Cell[CellGroupData[{
Cell[12933, 358, 68, 1, 33, "Input"],
Cell[13004, 361, 1670, 56, 58, "Output"]
}, Open  ]],
Cell[14689, 420, 75, 0, 32, "Text"],
Cell[14767, 422, 71, 1, 33, "Input"],
Cell[CellGroupData[{
Cell[14863, 427, 78, 1, 33, "Input"],
Cell[14944, 430, 164, 2, 33, "Output"]
}, Open  ]],
Cell[15123, 435, 98, 2, 32, "Text"],
Cell[CellGroupData[{
Cell[15246, 441, 62, 1, 33, "Input"],
Cell[15311, 444, 383, 9, 33, "Output"]
}, Open  ]],
Cell[15709, 456, 543, 10, 126, "Text"],
Cell[CellGroupData[{
Cell[16277, 470, 172, 5, 50, "Input"],
Cell[16452, 477, 903, 14, 64, "Print"],
Cell[17358, 493, 465, 6, 45, "Print"],
Cell[17826, 501, 353, 6, 25, "Print"],
Cell[18182, 509, 346, 6, 25, "Print"],
Cell[18531, 517, 369, 7, 25, "Print"],
Cell[18903, 526, 345, 4, 45, "Print"],
Cell[19251, 532, 356, 6, 25, "Print"],
Cell[19610, 540, 192, 2, 25, "Print"],
Cell[19805, 544, 234, 3, 25, "Print"],
Cell[20042, 549, 354, 6, 25, "Print"],
Cell[20399, 557, 1110, 14, 159, "Print"],
Cell[21512, 573, 231, 4, 33, "Output"]
}, Open  ]],
Cell[21758, 580, 108, 3, 32, "Text"],
Cell[CellGroupData[{
Cell[21891, 587, 61, 1, 33, "Input"],
Cell[21955, 590, 424, 8, 53, "Output"]
}, Open  ]],
Cell[22394, 601, 48, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[22467, 605, 61, 1, 33, "Input"],
Cell[22531, 608, 321, 6, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[22889, 619, 424, 12, 40, "Input"],
Cell[23316, 633, 2657, 82, 62, "Output"]
}, Open  ]],
Cell[25988, 718, 88, 2, 32, "Text"],
Cell[26079, 722, 79, 1, 33, "Input"],
Cell[26161, 725, 2943, 91, 195, "Output"],
Cell[29107, 818, 136, 1, 32, "Text"],
Cell[CellGroupData[{
Cell[29268, 823, 359, 7, 33, "Input"],
Cell[29630, 832, 3067, 85, 150, "Output"]
}, Open  ]],
Cell[32712, 920, 239, 4, 32, "Text"],
Cell[CellGroupData[{
Cell[32976, 928, 264, 6, 33, "Input"],
Cell[33243, 936, 1906, 55, 62, "Output"]
}, Open  ]],
Cell[35164, 994, 47, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[35236, 998, 169, 4, 33, "Input"],
Cell[35408, 1004, 548, 7, 64, "Print"]
}, Open  ]],
Cell[CellGroupData[{
Cell[35993, 1016, 77, 1, 33, "Input"],
Cell[36073, 1019, 4935, 130, 147, "Output"]
}, Open  ]],
Cell[41023, 1152, 148, 3, 32, "Text",
 Evaluatable->False],
Cell[CellGroupData[{
Cell[41196, 1159, 484, 11, 51, "Text"],
Cell[41683, 1172, 316, 9, 33, "Input"],
Cell[42002, 1183, 1089, 30, 62, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[43128, 1218, 106, 1, 33, "Input"],
Cell[43237, 1221, 899, 25, 62, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[44173, 1251, 101, 2, 33, "Input"],
Cell[44277, 1255, 165, 2, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[44479, 1262, 99, 2, 33, "Input"],
Cell[44581, 1266, 161, 2, 33, "Output"]
}, Open  ]],
Cell[44757, 1271, 132, 2, 32, "Text"],
Cell[CellGroupData[{
Cell[44914, 1277, 178, 3, 33, "Input"],
Cell[45095, 1282, 210, 3, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[45342, 1290, 116, 4, 50, "Input"],
Cell[45461, 1296, 5724, 193, 168, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[51222, 1494, 116, 4, 50, "Input"],
Cell[51341, 1500, 1147, 36, 61, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[52525, 1541, 122, 4, 50, "Input"],
Cell[52650, 1547, 6327, 217, 168, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[59014, 1769, 122, 4, 50, "Input"],
Cell[59139, 1775, 1158, 36, 61, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[60334, 1816, 128, 4, 50, "Input"],
Cell[60465, 1822, 1091, 34, 61, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[61593, 1861, 144, 4, 50, "Input"],
Cell[61740, 1867, 15754, 507, 376, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[77531, 2379, 278, 9, 131, "Input"],
Cell[77812, 2390, 11134, 371, 291, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[88983, 2766, 60, 1, 33, "Input"],
Cell[89046, 2769, 2322, 70, 71, "Output"]
}, Open  ]],
Cell[91383, 2842, 322, 5, 32, "Text"],
Cell[CellGroupData[{
Cell[91730, 2851, 990, 28, 33, "Input"],
Cell[92723, 2881, 237, 4, 33, "Output"]
}, Open  ]],
Cell[92975, 2888, 306, 5, 32, "Text"],
Cell[CellGroupData[{
Cell[93306, 2897, 66, 1, 33, "Input"],
Cell[93375, 2900, 168, 2, 33, "Output"]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
