(* 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[     65322,       1939]
NotebookOptionsPosition[     61414,       1820]
NotebookOutlinePosition[     62450,       1856]
CellTagsIndexPosition[     62364,       1851]
WindowFrame->Normal*)

(* Beginning of Notebook Content *)
Notebook[{
Cell[TextData[StyleBox["In this example we use the package IntroToSymmetry.m \
to work out nonclassical symmetries of the following form of the \
Fokker-Planck equation, \n\nUxx+xUx-Ut=0.",
 FontSize->14,
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[TextData[StyleBox["First read in the package which is located in a \
folder called SymmetryAnalysis inside the Mathematica folder.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

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

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

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

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

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

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

Cell[TextData[StyleBox["The function u[x,t] is a solution of the equation and \
this constraint must be applied in the form of a rule to the invariance \
condition. Be careful to check signs. We want to look for nonclassical \
symmetries. Let G=u-f[x,t]. The function G[x,t,u] is an invariant solution of \
the Heat equation if and only if it satisfies the invariance condition \n\n\
xse1(\[PartialD]G/\[PartialD]x)+xse2(\[PartialD]G/\[PartialD]t)+eta1(\
\[PartialD]G/\[PartialD]u)=0.\n\nWe will introduce this condition to the \
problem by adding it to rulesarray but with the infinitesimals xse1, xse2 and \
eta1 initially treated as arbitrary functions of (x,t,u) to be identified \
with infinitesimals later.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"rulesarray", "=", "\[IndentingNewLine]", 
   RowBox[{"{", 
    RowBox[{
    "\"\<D[u[x,t],x,x]->D[u[x,t],t]-x*D[u[x,t],x]\>\"", ",", 
     "\"\<D[u[x,t],t]\[Rule](eta1prime[x,t,u[x,t]]/xse2prime[x,t,u[x,t]])-(\
xse1prime[x,t,u[x,t]]/xse2prime[x,t,u[x,t]])*D[u[x,t],x]\>\""}], "}"}]}], 
  ";"}]], "Input"],

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Cell[CellGroupData[{

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

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(55804592\\), the time used = \\!\\(49.111449`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 55804592, 49.111449],
  Editable->False]], "Print",
 CellChangeTimes->{3.469484040073411*^9, 3.471575647448782*^9, 
  3.4838043337546253`*^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.469484040073411*^9, 3.471575647448782*^9, 
  3.483804333816753*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(6\\), the \
byte count of zdeterminingequations = \\!\\(2072\\), the memory in use = \
\\!\\(55823952\\), the time used = \\!\\(49.214435`\\)\"\>",
  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 = ``", 6, 2072, 55823952, 
   49.214435],
  Editable->False]], "Print",
 CellChangeTimes->{3.469484040073411*^9, 3.471575647448782*^9, 
  3.483804333855979*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(55825008\\), the time used = \\!\\(49.214715999999996`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 55825008, 49.214715999999996`],
  Editable->False]], "Print",
 CellChangeTimes->{3.469484040073411*^9, 3.471575647448782*^9, 
  3.4838043338580313`*^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.469484040073411*^9, 3.471575647448782*^9, 
  3.483804333859771*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.1041450000000026`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469484040179634*^9, 3.471575647541514*^9, 
  3.483804333862523*^9}]
}, Open  ]],

Cell[CellGroupData[{

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

Cell[BoxData["\<\"D[y1[x1,x2],x1,x1]+x1*D[y1[x1,x2],x1]-D[y1[x1,x2],x2]\"\>"],\
 "Output",
 CellChangeTimes->{3.46948404021249*^9, 3.471575647569685*^9, 
  3.4838043339099827`*^9}]
}, Open  ]],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{
    SuperscriptBox["y1", 
     TagBox[
      RowBox[{"(", 
       RowBox[{"1", ",", "0"}], ")"}],
      Derivative],
     MultilineFunction->None], "[", 
    RowBox[{"x1", ",", "x2"}], "]"}], ",", "0", ",", "0", ",", "x1", ",", 
   RowBox[{"-", "1"}], ",", "1", ",", "0", ",", "0"}], "}"}]], "Output",
 CellChangeTimes->{3.469484040263982*^9, 3.471575647624419*^9, 
  3.4838043339567327`*^9}]
}, Open  ]],

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{"z1", "\[Rule]", "x"}], ",", 
   RowBox[{"z2", "\[Rule]", "t"}], ",", 
   RowBox[{"z3", "\[Rule]", 
    RowBox[{"u", "[", 
     RowBox[{"x", ",", "t"}], "]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{3.469484040295847*^9, 3.471575647657755*^9, 
  3.483804334010346*^9}],

Cell[CellGroupData[{

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

Cell[BoxData["6"], "Output",
 CellChangeTimes->{3.469484040347286*^9, 3.4715756477037888`*^9, 
  3.483804334056497*^9}]
}, Open  ]],

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

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

Cell[TextData[StyleBox["Now change eta1prime, xse1prime and xse2prime to the \
infinitesimals eta1, xse1 and xse2.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"eta1prime", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{"eta1", "[", 
   RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"xse1prime", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{"xse1", "[", 
   RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]], "Input"],

Cell[BoxData[
 RowBox[{
  RowBox[{"xse2prime", "[", 
   RowBox[{"z1_", ",", "z2_", ",", "z3_"}], "]"}], ":=", 
  RowBox[{"xse2", "[", 
   RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]], "Input"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{"-", "2"}], " ", 
     RowBox[{"xse2", "[", 
      RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
     RowBox[{
      SuperscriptBox["xse2", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"0", ",", "0", ",", "1"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}], ",", 
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{"-", 
       RowBox[{"xse2", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}], 
   ",", 
   RowBox[{
    RowBox[{
     RowBox[{"-", "2"}], " ", 
     RowBox[{"xse2", "[", 
      RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
     RowBox[{
      SuperscriptBox["xse2", 
       TagBox[
        RowBox[{"(", 
         RowBox[{"1", ",", "0", ",", "0"}], ")"}],
        Derivative],
       MultilineFunction->None], "[", 
      RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}], ",", 
   RowBox[{
    RowBox[{
     RowBox[{"2", " ", 
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"2", " ", "z1", " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "2"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{"2", " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"2", " ", 
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}], 
   ",", 
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{"-", 
       RowBox[{"xse2", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], " ", 
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"z1", " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{"2", " ", 
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{"z1", " ", 
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"2", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"2", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}], 
   ",", 
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{"2", " ", 
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"0", ",", "1", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"2", " ", 
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"z1", " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"z1", " ", 
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{"2", " ", 
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["eta1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{"2", " ", 
      RowBox[{"eta1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"1", ",", "0", ",", "1"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
     RowBox[{
      RowBox[{"xse2", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse1", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"2", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
     RowBox[{
      RowBox[{"xse1", "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
      RowBox[{
       SuperscriptBox["xse2", 
        TagBox[
         RowBox[{"(", 
          RowBox[{"2", ",", "0", ",", "0"}], ")"}],
         Derivative],
        MultilineFunction->None], "[", 
       RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}]}], "\[Equal]", "0"}]}], 
  "}"}]], "Output",
 CellChangeTimes->{3.469484040510213*^9, 3.4715756480362797`*^9, 
  3.483804334240369*^9}]
}, Open  ]],

Cell[TextData[StyleBox["These are the full nonlinear determining equations. \
This is an extremely complex system and the only reasonable way to make \
progress is to look for simplifying assumptions that lead to interesting \
solutions. To begin set xse2=1.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"zdeterminingequationssimplified", "=", 
   RowBox[{"zdeterminingequationsexpressions", "/.", "\[IndentingNewLine]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"xse2", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "\[Rule]", "1"}], ",", 
      "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z1"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z2"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z3"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z2"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z3"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse2", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}],
         "]"}], "\[Rule]", "0"}]}], "}"}]}]}], ";"}]], "Input"],

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

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

Cell[BoxData[
 RowBox[{
  RowBox[{"zdeterminingequationssimplified1", "=", 
   RowBox[{"zdeterminingequationssimplified", "/.", "\[IndentingNewLine]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"D", "[", 
       RowBox[{
        RowBox[{"xse1", "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}], 
       "]"}], "\[Rule]", "0"}], "}"}]}]}], ";"}]], "Input"],

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

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

Cell[TextData[StyleBox["This is still a fairly complex nonlinear system for \
xse1 and eta1. To make further progress let eta1=0 and D[xse1,z3]=0.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 RowBox[{
  RowBox[{"zdeterminingequationssimplified2", "=", 
   RowBox[{"zdeterminingequationssimplified1", "/.", "\[IndentingNewLine]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{
       RowBox[{"eta1", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "\[Rule]", "0"}], ",", 
      "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z1"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z2"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z1", ",", "z3"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z2"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z2", ",", "z3"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"eta1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3"}], "]"}], 
       "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z1"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z2"}],
         "]"}], "\[Rule]", "0"}], ",", "\[IndentingNewLine]", 
      RowBox[{
       RowBox[{"D", "[", 
        RowBox[{
         RowBox[{"xse1", "[", 
          RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], ",", "z3", ",", "z3"}],
         "]"}], "\[Rule]", "0"}]}], "}"}]}]}], ";"}]], "Input"],

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

Cell[BoxData[
 TagBox[GridBox[{
    {"True"},
    {"True"},
    {"True"},
    {"True"},
    {"True"},
    {
     RowBox[{
      RowBox[{
       RowBox[{"xse1", "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"0", ",", "1", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], "+", 
       RowBox[{"z1", " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "+", 
       RowBox[{"2", " ", 
        RowBox[{"xse1", "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}], " ", 
        RowBox[{
         SuperscriptBox["xse1", 
          TagBox[
           RowBox[{"(", 
            RowBox[{"1", ",", "0", ",", "0"}], ")"}],
           Derivative],
          MultilineFunction->None], "[", 
         RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "-", 
       RowBox[{
        SuperscriptBox["xse1", 
         TagBox[
          RowBox[{"(", 
           RowBox[{"2", ",", "0", ",", "0"}], ")"}],
          Derivative],
         MultilineFunction->None], "[", 
        RowBox[{"z1", ",", "z2", ",", "z3"}], "]"}]}], "\[Equal]", "0"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}, "Rows" -> {{Below}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{3.46948404070862*^9, 3.471575648284629*^9, 
  3.483804334388441*^9}],

Cell[TextData[{
 StyleBox["Finally with a series of simplified assumptions we have pared the \
determining equations to a simple result although other solutions to the full \
nonlinear system are certainly possible. The final PDE for xse1 can be \
simplified further.  Let xse1=-x+g[s], where s=x+Exp[-t]. The last equation \
above reduces to\ng''-2gg'+sg'+g=0. ",
  FontWeight->"Plain"],
 StyleBox["Mathematica",
  FontWeight->"Plain",
  FontSlant->"Italic"],
 StyleBox[" can solve this nonlinear ODE",
  FontWeight->"Plain"]
}], "Text",
 CellChangeTimes->{{3.483804287306719*^9, 3.483804290888414*^9}},
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"DSolve", "[", 
  RowBox[{
   RowBox[{
    RowBox[{
     RowBox[{
      RowBox[{"g", "''"}], "[", "s", "]"}], "-", 
     RowBox[{"2", 
      RowBox[{"g", "[", "s", "]"}], "*", 
      RowBox[{
       RowBox[{"g", "'"}], "[", "s", "]"}]}], "+", 
     RowBox[{"s", "*", 
      RowBox[{
       RowBox[{"g", "'"}], "[", "s", "]"}]}], "+", 
     RowBox[{"g", "[", "s", "]"}]}], "==", "0"}], ",", 
   RowBox[{"g", "[", "s", "]"}], ",", "s"}], "]"}]], "Input"],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"{", 
   RowBox[{
    RowBox[{"g", "[", "s", "]"}], "\[Rule]", 
    RowBox[{"-", 
     RowBox[{
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         RowBox[{"C", "[", "2", "]"}], " ", 
         RowBox[{"(", 
          RowBox[{
           RowBox[{
            SqrtBox["2"], " ", 
            SuperscriptBox["\[ExponentialE]", 
             RowBox[{"-", 
              FractionBox[
               SuperscriptBox["s", "2"], "2"]}]], " ", 
            RowBox[{"(", 
             RowBox[{
              RowBox[{"-", "1"}], "-", 
              RowBox[{"C", "[", "1", "]"}]}], ")"}], " ", 
            RowBox[{"HermiteH", "[", 
             RowBox[{
              RowBox[{
               RowBox[{"-", "2"}], "-", 
               RowBox[{"C", "[", "1", "]"}]}], ",", 
              FractionBox["s", 
               SqrtBox["2"]]}], "]"}]}], "-", 
           RowBox[{
            SuperscriptBox["\[ExponentialE]", 
             RowBox[{"-", 
              FractionBox[
               SuperscriptBox["s", "2"], "2"]}]], " ", "s", " ", 
            RowBox[{"HermiteH", "[", 
             RowBox[{
              RowBox[{
               RowBox[{"-", "1"}], "-", 
               RowBox[{"C", "[", "1", "]"}]}], ",", 
              FractionBox["s", 
               SqrtBox["2"]]}], "]"}]}]}], ")"}]}], "-", 
        RowBox[{
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}]], " ", "s", " ", 
         RowBox[{"Hypergeometric1F1", "[", 
          RowBox[{
           RowBox[{
            FractionBox["1", "2"], " ", 
            RowBox[{"(", 
             RowBox[{"1", "+", 
              RowBox[{"C", "[", "1", "]"}]}], ")"}]}], ",", 
           FractionBox["1", "2"], ",", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}], "]"}]}], "+", 
        RowBox[{
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}]], " ", "s", " ", 
         RowBox[{"(", 
          RowBox[{"1", "+", 
           RowBox[{"C", "[", "1", "]"}]}], ")"}], " ", 
         RowBox[{"Hypergeometric1F1", "[", 
          RowBox[{
           RowBox[{"1", "+", 
            RowBox[{
             FractionBox["1", "2"], " ", 
             RowBox[{"(", 
              RowBox[{"1", "+", 
               RowBox[{"C", "[", "1", "]"}]}], ")"}]}]}], ",", 
           FractionBox["3", "2"], ",", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}], "]"}]}]}], ")"}], "/", 
      RowBox[{"(", 
       RowBox[{
        RowBox[{
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}]], " ", 
         RowBox[{"C", "[", "2", "]"}], " ", 
         RowBox[{"HermiteH", "[", 
          RowBox[{
           RowBox[{
            RowBox[{"-", "1"}], "-", 
            RowBox[{"C", "[", "1", "]"}]}], ",", 
           FractionBox["s", 
            SqrtBox["2"]]}], "]"}]}], "+", 
        RowBox[{
         SuperscriptBox["\[ExponentialE]", 
          RowBox[{"-", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}]], " ", 
         RowBox[{"Hypergeometric1F1", "[", 
          RowBox[{
           RowBox[{
            FractionBox["1", "2"], " ", 
            RowBox[{"(", 
             RowBox[{"1", "+", 
              RowBox[{"C", "[", "1", "]"}]}], ")"}]}], ",", 
           FractionBox["1", "2"], ",", 
           FractionBox[
            SuperscriptBox["s", "2"], "2"]}], "]"}]}]}], ")"}]}]}]}], "}"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.469484040890432*^9, 3.471575650646288*^9, 
  3.483804334447483*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"??", "Erfi"}]], "Input"],

Cell[BoxData[
 RowBox[{
  StyleBox["\<\"\!\(\*RowBox[{\\\"Erfi\\\", \\\"[\\\", StyleBox[\\\"z\\\", \\\
\"TI\\\"], \\\"]\\\"}]\) gives the imaginary error function \
\!\(\*RowBox[{RowBox[{\\\"erf\\\", \\\"(\\\", RowBox[{\\\"i\\\", \\\"\
\[InvisibleSpace]\\\", \\\"z\\\"}], \\\")\\\"}], \\\"/\\\", \\\"i\\\"}]\). \"\
\>", "MSG"], "\[NonBreakingSpace]", 
  ButtonBox[
   StyleBox["\[RightSkeleton]", "SR"],
   Active->True,
   BaseStyle->"Link",
   ButtonData->"paclet:ref/Erfi"]}]], "Print", "PrintUsage",
 CellChangeTimes->{3.4838043345954514`*^9},
 CellTags->"Info3483779134-2587353"],

Cell[BoxData[
 InterpretationBox[GridBox[{
    {
     RowBox[{
      RowBox[{"Attributes", "[", "Erfi", "]"}], "=", 
      RowBox[{"{", 
       RowBox[{
       "Listable", ",", "NumericFunction", ",", "Protected", ",", 
        "ReadProtected"}], "}"}]}]}
   },
   BaselinePosition->{Baseline, {1, 1}},
   GridBoxAlignment->{
    "Columns" -> {{Left}}, "ColumnsIndexed" -> {}, "Rows" -> {{Baseline}}, 
     "RowsIndexed" -> {}}],
  Definition[Erfi],
  Editable->False]], "Print",
 CellChangeTimes->{3.483804334626771*^9},
 CellTags->"Info3483779134-2587353"]
}, Open  ]],

Cell[TextData[StyleBox["The Fokker-Planck equation admits the rather complex \
nonclassical symmetry,\n\nxse1=-x+g[x+Exp[-t]]\nxse2=1\neta1=0\n\nwhere g[s] \
is given above.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[CellGroupData[{

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

Cell[BoxData["864633528"], "Output",
 CellChangeTimes->{3.469484041644403*^9, 3.471575652559697*^9, 
  3.4838043347391167`*^9}]
}, Open  ]]
},
WindowToolbars->{},
CellGrouping->Manual,
WindowSize->{1109, 824},
WindowMargins->{{24, Automatic}, {Automatic, 36}},
PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}},
ShowSelection->True,
ShowCellLabel->True,
ShowCellTags->False,
RenderingOptions->{"ObjectDithering"->True,
"RasterDithering"->False},
MacintoshSystemPageSetup -> \
"01@0001804P000000_82@?okonh34`9B;@85:0?l0@00009H0UP00P0068dB`001\n\
2@00I00100000@004Q800BL?0040000000000000000004<001000`00000@0?oH\n\
ofXIX1=F8040400000400000000000l1",
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->{
 "Info3483779134-2587353"->{
  Cell[59778, 1769, 584, 13, 50, "Print",
   CellTags->"Info3483779134-2587353"],
  Cell[60365, 1784, 558, 17, 25, "Print",
   CellTags->"Info3483779134-2587353"]}
 }
*)
(*CellTagsIndex
CellTagsIndex->{
 {"Info3483779134-2587353", 62176, 1843}
 }
*)
(*NotebookFileOutline
Notebook[{
Cell[545, 20, 268, 5, 97, "Text"],
Cell[816, 27, 201, 3, 32, "Text"],
Cell[1020, 32, 124, 1, 32, "Text"],
Cell[1147, 35, 160, 4, 33, "Input"],
Cell[1310, 41, 476, 13, 32, "Text"],
Cell[1789, 56, 101, 2, 33, "Input"],
Cell[1893, 60, 164, 3, 32, "Text"],
Cell[2060, 65, 135, 4, 53, "Input"],
Cell[2198, 71, 778, 11, 164, "Text"],
Cell[2979, 84, 339, 8, 91, "Input"],
Cell[3321, 94, 130, 2, 32, "Text"],
Cell[3454, 98, 151, 4, 33, "Input"],
Cell[3608, 104, 128, 2, 32, "Text"],
Cell[3739, 108, 116, 3, 33, "Input"],
Cell[3858, 113, 228, 4, 32, "Text"],
Cell[4089, 119, 194, 6, 33, "Input"],
Cell[4286, 127, 152, 3, 32, "Text"],
Cell[4441, 132, 67, 2, 33, "Input"],
Cell[4511, 136, 444, 10, 51, "Text"],
Cell[4958, 148, 67, 2, 33, "Input"],
Cell[5028, 152, 625, 15, 70, "Text"],
Cell[5656, 169, 71, 2, 33, "Input"],
Cell[5730, 173, 638, 13, 70, "Text"],
Cell[6371, 188, 79, 2, 33, "Input"],
Cell[6453, 192, 268, 4, 51, "Text"],
Cell[CellGroupData[{
Cell[6746, 200, 298, 6, 53, "Input"],
Cell[7047, 208, 427, 8, 25, "Print"],
Cell[7477, 218, 1006, 14, 178, "Print"],
Cell[8486, 234, 681, 12, 45, "Print"],
Cell[9170, 248, 414, 8, 25, "Print"],
Cell[9587, 258, 1008, 14, 178, "Print"],
Cell[10598, 274, 183, 4, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10818, 283, 50, 0, 33, "Input"],
Cell[10871, 285, 180, 3, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[11088, 293, 45, 0, 33, "Input"],
Cell[11136, 295, 444, 13, 42, "Output"]
}, Open  ]],
Cell[11595, 311, 39, 0, 33, "Input"],
Cell[11637, 313, 321, 9, 33, "Output"],
Cell[CellGroupData[{
Cell[11983, 326, 78, 1, 33, "Input"],
Cell[12064, 329, 119, 2, 33, "Output"]
}, Open  ]],
Cell[12198, 334, 287, 10, 33, "Input"],
Cell[12488, 346, 11429, 329, 385, "Output"],
Cell[23920, 677, 180, 3, 32, "Text"],
Cell[24103, 682, 194, 5, 33, "Input"],
Cell[24300, 689, 194, 5, 33, "Input"],
Cell[24497, 696, 194, 5, 33, "Input"],
Cell[CellGroupData[{
Cell[24716, 705, 139, 2, 33, "Input"],
Cell[24858, 709, 10519, 324, 358, "Output"]
}, Open  ]],
Cell[35392, 1036, 324, 5, 51, "Text"],
Cell[35719, 1043, 2378, 63, 224, "Input"],
Cell[38100, 1108, 255, 9, 33, "Input"],
Cell[38358, 1119, 5322, 161, 217, "Output"],
Cell[43683, 1282, 393, 10, 53, "Input"],
Cell[44079, 1294, 256, 9, 33, "Input"],
Cell[44338, 1305, 5008, 151, 213, "Output"],
Cell[49349, 1458, 212, 3, 32, "Text"],
Cell[49564, 1463, 3291, 87, 300, "Input"],
Cell[52858, 1552, 256, 9, 33, "Input"],
Cell[53117, 1563, 1723, 53, 157, "Output"],
Cell[54843, 1618, 636, 14, 70, "Text"],
Cell[CellGroupData[{
Cell[55504, 1636, 475, 15, 33, "Input"],
Cell[55982, 1653, 3708, 108, 185, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[59727, 1766, 48, 1, 33, "Input"],
Cell[59778, 1769, 584, 13, 50, "Print",
 CellTags->"Info3483779134-2587353"],
Cell[60365, 1784, 558, 17, 25, "Print",
 CellTags->"Info3483779134-2587353"]
}, Open  ]],
Cell[60938, 1804, 239, 4, 145, "Text"],
Cell[CellGroupData[{
Cell[61202, 1812, 66, 1, 33, "Input"],
Cell[61271, 1815, 127, 2, 33, "Output"]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
