(* 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[     85007,       2237]
NotebookOptionsPosition[     79472,       2070]
NotebookOutlinePosition[     80248,       2097]
CellTagsIndexPosition[     80205,       2094]
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 1-D Compressible Euler equations for \
isentropic flow\n\nUt+U*Ux+(1/rho)*Px=0,\n\nPt+U*Px+3*P*(Ux)=0,\n\n\
(rho)t+U*(rho)x+rho(Ux)=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["Needs[\"SymmetryAnalysis`IntroToSymmetry`\"]", "Input",
 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\>\"", ",", "\"\<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[{"{", 
    RowBox[{"\"\<U\>\"", ",", "\"\<P\>\"", ",", "\"\<rho\>\""}], "}"}]}], 
  ";"}]], "Input"],

Cell[TextData[StyleBox["Enter the list of function and/or constant names that \
have to be preserved when the equations are expressed in terms of generic \
variables.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

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

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

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

Cell[TextData[StyleBox["The maximum derivative order that the infinitesimals \
are assumed to depend on is specified by the input parameter rorder. 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 rorder=0.",
 FontWeight->"Plain"]], "Text",
 ImageRegion->{{0, 1}, {0, 1}}],

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

Cell[TextData[StyleBox["When searching for Lie-Backlund groups (rorder=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 equations with respect to all \
independent variables producing derivatives of order porder+rorder. 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["\<\
Construct the array of rules to be applied to the invariance condition.\
\>", "Text"],

Cell["\<\
rulesarray=
{\"D[U[x,t],t]->-U[x,t]*D[U[x,t],x]-(1/rho[x,t])*D[P[x,t],x]\",
\"D[P[x,t],t]->-U[x,t]*D[P[x,t],x]-3*P[x,t]*D[U[x,t],x]\",
\"D[rho[x,t],t]->-U[x,t]*D[rho[x,t],x]-rho[x,t]*D[U[x,t],x]\"};\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["Enter the momentum equation as a string.", "Text"],

Cell["\<\
inputequation1=
\"D[U[x,t],t]+U[x,t]*D[U[x,t],x]+
(1/rho[x,t])*D[P[x,t],x]\";\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["Enter the pressure equation as a string.", "Text"],

Cell["\<\
inputequation2=
\"D[P[x,t],t]+U[x,t]*D[P[x,t],x]+
3*P[x,t]*D[U[x,t],x]\";\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["Enter the continuity equation as a string.", "Text"],

Cell["\<\
inputequation3=
\"D[rho[x,t],t]+U[x,t]*D[rho[x,t],x]+
rho[x,t]*D[U[x,t],x]\";\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell["\<\
Now work out the determining equations of the Lie point group which leaves \
equation1 invariant. The Mathematica function Timing outputs the time \
required for the FindDeterminingEquations function to execute.\
\>", "Text"],

Cell[CellGroupData[{

Cell["\<\
Timing[FindDeterminingEquations[
independentvariables,dependentvariables,frozennames,porder,rorder,xseon,
inputequation1,rulesarray,internalrules]]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(40098656\\), the time used = \\!\\(67.515372`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 40098656, 67.515372],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694792909008408`*^9, 3.4694794812432203`*^9, 
  3.471571594189769*^9, 3.483788338673077*^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.4694792909008408`*^9, 3.4694794812432203`*^9, 
  3.471571594189769*^9, 3.483788338766205*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(9\\), the \
byte count of zdeterminingequations = \\!\\(2272\\), the memory in use = \
\\!\\(40145392\\), the time used = \\!\\(67.63018600000001`\\)\"\>",
  StringForm[
  "The determining equations have been expressed in terms of z-variables, the \
length of zdeterminingequations = ``, the byte count of zdeterminingequations \
= ``, the memory in use = ``, the time used = ``", 9, 2272, 40145392, 
   67.63018600000001],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694792909008408`*^9, 3.4694794812432203`*^9, 
  3.471571594189769*^9, 3.4837883388162327`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(40147232\\), the time used = \\!\\(67.630561`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 40147232, 67.630561],
  Editable->False]], "Print",
 CellChangeTimes->{3.4694792909008408`*^9, 3.4694794812432203`*^9, 
  3.471571594189769*^9, 3.4837883388185453`*^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.4694792909008408`*^9, 3.4694794812432203`*^9, 
  3.471571594189769*^9, 3.483788338820629*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.11620600000000536`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469479291062973*^9, 3.4694794813815517`*^9, 
  3.4715715943141937`*^9, 3.483788338823504*^9}]
}, Open  ]],

Cell[CellGroupData[{

Cell[BoxData["zdeterminingequations"], "Input",
 CellChangeTimes->{{3.471571519487474*^9, 3.471571531317279*^9}}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"z5*Derivative[0, 0, 0, 0, 1][eta2][z1, z2, z3, z4, z5] == \
0\"\>", ",", "\<\"3*z4*z5*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] \
== 0\"\>", 
   ",", "\<\"-(z5^2*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5]) == 0\
\"\>", ",", "\<\"-(z5*Derivative[0, 0, 0, 0, 1][xse1][z1, z2, z3, z4, z5]) + \
z3*z5*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"-(z5*Derivative[0, 0, 0, 1, 0][xse1][z1, z2, z3, z4, z5]) + \
z3*z5*Derivative[0, 0, 0, 1, 0][xse2][z1, z2, z3, z4, z5] - Derivative[0, 0, \
1, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^3*Derivative[0, 0, 0, 0, 1][xse1][z1, z2, z3, z4, z5] - \
z3*z5^3*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] + \
3*z4*z5^2*Derivative[0, 0, 0, 1, 0][xse1][z1, z2, z3, z4, z5] - \
3*z3*z4*z5^2*Derivative[0, 0, 0, 1, 0][xse2][z1, z2, z3, z4, z5] + \
3*z4*z5*Derivative[0, 0, 1, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^2*Derivative[0, 1, 0, 0, 0][eta1][z1, z2, z3, z4, z5] + \
z3*z5^2*Derivative[1, 0, 0, 0, 0][eta1][z1, z2, z3, z4, z5] + \
z5*Derivative[1, 0, 0, 0, 0][eta2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"-eta3[z1, z2, z3, z4, z5] + z5*Derivative[0, 0, 0, 1, \
0][eta2][z1, z2, z3, z4, z5] - z5*Derivative[0, 0, 1, 0, 0][eta1][z1, z2, z3, \
z4, z5] + z5*Derivative[0, 1, 0, 0, 0][xse2][z1, z2, z3, z4, z5] - \
z5*Derivative[1, 0, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
2*z3*z5*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^2*eta1[z1, z2, z3, z4, z5] - z5^3*Derivative[0, 0, 0, 0, \
1][eta1][z1, z2, z3, z4, z5] - 3*z4*z5^2*Derivative[0, 0, 0, 1, 0][eta1][z1, \
z2, z3, z4, z5] + z5*Derivative[0, 0, 1, 0, 0][eta2][z1, z2, z3, z4, z5] - \
z5^2*Derivative[0, 1, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
z3*z5^2*Derivative[0, 1, 0, 0, 0][xse2][z1, z2, z3, z4, z5] - \
z3*z5^2*Derivative[1, 0, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
3*z4*z5*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] + \
z3^2*z5^2*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.469479291105801*^9, 3.469479481459877*^9, 
  3.471571594345316*^9, 3.4837883388625517`*^9}]
}, Open  ]],

Cell["\<\
In a long calculation it is very useful to save intermediate results in a \
file so that certain calculations do not have to be repeated. This way one \
can close the notebook then reopen it and return to the point where the \
calculation left off. The next line saves the array zdeterminingequations in \
a file called zdeterminingequations1file. The file is located in the \
Mathematica folder.\
\>", "Text"],

Cell[BoxData[
 RowBox[{"Save", "[", 
  RowBox[{
  "\"\<zdeterminingequations1file\>\"", ",", "zdeterminingequations"}], 
  "]"}]], "Input"],

Cell["\<\
As a demonstration of how this works we now clear the definition of \
zdeterminingequations generated by FindDeterminingEquations.\
\>", "Text"],

Cell[BoxData[
 RowBox[{"Clear", "[", "zdeterminingequations", "]"}]], "Input"],

Cell["yes the definition has been cleared.", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData["zdeterminingequations"], "Output",
 CellChangeTimes->{3.469479291217486*^9, 3.4694794815765963`*^9, 
  3.471571594457451*^9, 3.483788338972363*^9}]
}, Open  ]],

Cell["\<\
Now restore the definition of zdeterminingequations by reading in the file \
zdeterminingequations1file.\
\>", "Text"],

Cell[BoxData[
 RowBox[{
  RowBox[{"<<", "zdeterminingequations1file"}], ";"}]], "Input"],

Cell["Here it is exactly as before.", "Text"],

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"z5*Derivative[0, 0, 0, 0, 1][eta2][z1, z2, z3, z4, z5] == \
0\"\>", ",", "\<\"3*z4*z5*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] \
== 0\"\>", 
   ",", "\<\"-(z5^2*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5]) == 0\
\"\>", ",", "\<\"-(z5*Derivative[0, 0, 0, 0, 1][xse1][z1, z2, z3, z4, z5]) + \
z3*z5*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"-(z5*Derivative[0, 0, 0, 1, 0][xse1][z1, z2, z3, z4, z5]) + \
z3*z5*Derivative[0, 0, 0, 1, 0][xse2][z1, z2, z3, z4, z5] - Derivative[0, 0, \
1, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^3*Derivative[0, 0, 0, 0, 1][xse1][z1, z2, z3, z4, z5] - \
z3*z5^3*Derivative[0, 0, 0, 0, 1][xse2][z1, z2, z3, z4, z5] + \
3*z4*z5^2*Derivative[0, 0, 0, 1, 0][xse1][z1, z2, z3, z4, z5] - \
3*z3*z4*z5^2*Derivative[0, 0, 0, 1, 0][xse2][z1, z2, z3, z4, z5] + \
3*z4*z5*Derivative[0, 0, 1, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^2*Derivative[0, 1, 0, 0, 0][eta1][z1, z2, z3, z4, z5] + \
z3*z5^2*Derivative[1, 0, 0, 0, 0][eta1][z1, z2, z3, z4, z5] + \
z5*Derivative[1, 0, 0, 0, 0][eta2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"-eta3[z1, z2, z3, z4, z5] + z5*Derivative[0, 0, 0, 1, \
0][eta2][z1, z2, z3, z4, z5] - z5*Derivative[0, 0, 1, 0, 0][eta1][z1, z2, z3, \
z4, z5] + z5*Derivative[0, 1, 0, 0, 0][xse2][z1, z2, z3, z4, z5] - \
z5*Derivative[1, 0, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
2*z3*z5*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>", 
   ",", "\<\"z5^2*eta1[z1, z2, z3, z4, z5] - z5^3*Derivative[0, 0, 0, 0, \
1][eta1][z1, z2, z3, z4, z5] - 3*z4*z5^2*Derivative[0, 0, 0, 1, 0][eta1][z1, \
z2, z3, z4, z5] + z5*Derivative[0, 0, 1, 0, 0][eta2][z1, z2, z3, z4, z5] - \
z5^2*Derivative[0, 1, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
z3*z5^2*Derivative[0, 1, 0, 0, 0][xse2][z1, z2, z3, z4, z5] - \
z3*z5^2*Derivative[1, 0, 0, 0, 0][xse1][z1, z2, z3, z4, z5] + \
3*z4*z5*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] + \
z3^2*z5^2*Derivative[1, 0, 0, 0, 0][xse2][z1, z2, z3, z4, z5] == 0\"\>"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.469479291285918*^9, 3.4694794816446323`*^9, 
  3.471571594524899*^9, 3.483788339041751*^9}]
}, Open  ]],

Cell["\<\
Now continue the calculation as before. The determiningequations of equation1.\
\>", "Text"],

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

Cell["\<\
Now work out the determining equations of the Lie point group which leaves \
equation2 invariant.\
\>", "Text"],

Cell[CellGroupData[{

Cell["\<\
Timing[FindDeterminingEquations[
independentvariables,dependentvariables,frozennames,porder,rorder,xseon,
inputequation2,rulesarray,internalrules]]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(40271912\\), the time used = \
\\!\\(67.64523000000001`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 40271912, 67.64523000000001],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291369076*^9, 3.469479481729409*^9, 
  3.471571594593404*^9, 3.483788339106483*^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.469479291369076*^9, 3.469479481729409*^9, 
  3.471571594593404*^9, 3.4837883391828623`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(9\\), the \
byte count of zdeterminingequations = \\!\\(2272\\), the memory in use = \
\\!\\(40295744\\), the time used = \\!\\(67.752208`\\)\"\>",
  StringForm[
  "The determining equations have been expressed in terms of z-variables, the \
length of zdeterminingequations = ``, the byte count of zdeterminingequations \
= ``, the memory in use = ``, the time used = ``", 9, 2272, 40295744, 
   67.752208],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291369076*^9, 3.469479481729409*^9, 
  3.471571594593404*^9, 3.4837883392121077`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(40296648\\), the time used = \\!\\(67.75256900000001`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 40296648, 67.75256900000001],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291369076*^9, 3.469479481729409*^9, 
  3.471571594593404*^9, 3.483788339214299*^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.469479291369076*^9, 3.469479481729409*^9, 
  3.471571594593404*^9, 3.483788339216325*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.10836599999998953`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469479291509027*^9, 3.4694794818717117`*^9, 
  3.471571594715814*^9, 3.4837883392190113`*^9}]
}, Open  ]],

Cell["The determiningequations of equation2.", "Text"],

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

Cell["\<\
Now work out the determining equations of the Lie point group which leaves \
equation3 invariant.\
\>", "Text"],

Cell[CellGroupData[{

Cell["\<\
Timing[FindDeterminingEquations[
independentvariables,dependentvariables,frozennames,porder,rorder,xseon,
inputequation3,rulesarray,internalrules]]\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

Cell[BoxData[
 InterpretationBox["\<\"The function FindDetermining Equations has begun, the \
memory in use = \\!\\(40278728\\), the time used = \
\\!\\(67.75468400000001`\\)\"\>",
  StringForm[
  "The function FindDetermining Equations has begun, the memory in use = ``, \
the time used = ``", 40278728, 67.75468400000001],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291669751*^9, 3.469479482030376*^9, 
  3.4715715947742*^9, 3.483788339290284*^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.469479291669751*^9, 3.469479482030376*^9, 
  3.4715715947742*^9, 3.4837883393615437`*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The determining equations have been expressed in \
terms of z-variables, the length of zdeterminingequations = \\!\\(9\\), the \
byte count of zdeterminingequations = \\!\\(2248\\), the memory in use = \
\\!\\(40298320\\), the time used = \\!\\(67.860327`\\)\"\>",
  StringForm[
  "The determining equations have been expressed in terms of z-variables, the \
length of zdeterminingequations = ``, the byte count of zdeterminingequations \
= ``, the memory in use = ``, the time used = ``", 9, 2248, 40298320, 
   67.860327],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291669751*^9, 3.469479482030376*^9, 
  3.4715715947742*^9, 3.483788339396062*^9}],

Cell[BoxData[
 InterpretationBox["\<\"FindDeterminingEquations is done. The memory in use = \
\\!\\(40299224\\), the time used = \\!\\(67.860701`\\)\"\>",
  StringForm[
  "FindDeterminingEquations is done. The memory in use = ``, the time used = \
``", 40299224, 67.860701],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479291669751*^9, 3.469479482030376*^9, 
  3.4715715947742*^9, 3.48378833939811*^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.469479291669751*^9, 3.469479482030376*^9, 
  3.4715715947742*^9, 3.4837883393998938`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.1069829999999996`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469479291799654*^9, 3.469479482150797*^9, 
  3.471571594899732*^9, 3.483788339402399*^9}]
}, Open  ]],

Cell["The determiningequations of equation3.", "Text"],

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

Cell["Now collect all the determining equations together.", "Text"],

Cell["\<\
zdeterminingequations4=
Join[zdeterminingequations1,
zdeterminingequations2,zdeterminingequations3];\
\>", "Input",
 ImageRegion->{{0, 1}, {0, 1}}],

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

Cell[CellGroupData[{

Cell[BoxData[
 RowBox[{"Length", "[", "zdeterminingequations4", "]"}]], "Input"],

Cell[BoxData["27"], "Output",
 CellChangeTimes->{3.4694792919030027`*^9, 3.469479482245688*^9, 
  3.4715715950589743`*^9, 3.483788339573056*^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]", "t"}], ",", 
   RowBox[{"z3", "\[Rule]", 
    RowBox[{"U", "[", 
     RowBox[{"x", ",", "t"}], "]"}]}], ",", 
   RowBox[{"z4", "\[Rule]", 
    RowBox[{"P", "[", 
     RowBox[{"x", ",", "t"}], "]"}]}], ",", 
   RowBox[{"z5", "\[Rule]", 
    RowBox[{"rho", "[", 
     RowBox[{"x", ",", "t"}], "]"}]}]}], "}"}]], "Output",
 CellChangeTimes->{3.469479292104739*^9, 3.4694794822823133`*^9, 
  3.471571595100354*^9, 3.4837883396357594`*^9}]
}, Open  ]],

Cell["\<\
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

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

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

Cell[CellGroupData[{

Cell["\<\
Timing[SolveDeterminingEquations[
independentvariables,dependentvariables,rorder,xseon,zdeterminingequations4,\
order=4]]\
\>", "Input",
 CellChangeTimes->{{3.469479366805938*^9, 3.4694793682375917`*^9}, {
  3.4715715826097507`*^9, 3.471571583289733*^9}, {3.471571638063273*^9, 
  3.471571660637011*^9}},
 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 = \\!\\(126\\)\"\>",
  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 = ``", 126],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.4837883396789627`*^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.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.48378834011023*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(42607696\\), The time = \\!\
\\(68.337916`\\)\"\>",
  StringForm["The memory in use = ``, The time = ``", 42607696, 68.337916],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.48378834012869*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of unknown polynomial coefficients = \
\\!\\(630\\)\"\>",
  StringForm["The number of unknown polynomial coefficients = ``", 630],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.483788340207964*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The number of equations for the polynomial \
coefficients = \\!\\(2215\\)\"\>",
  StringForm[
  "The number of equations for the polynomial coefficients = ``", 2215],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.483788340228286*^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.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.483788340270454*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(43868568\\), The time = \\!\
\\(68.43569300000001`\\)\"\>",
  StringForm[
  "The memory in use = ``, The time = ``", 43868568, 68.43569300000001],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.48378834029808*^9}],

Cell[BoxData["\<\"Solve has finished.\"\>"], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.4837883404060383`*^9}],

Cell[BoxData["\<\"The function SolveDeterminingEquations is finished \
executing.\"\>"], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.483788340502634*^9}],

Cell[BoxData[
 InterpretationBox["\<\"The memory in use = \\!\\(44260424\\), The time = \\!\
\\(68.722866`\\)\"\>",
  StringForm["The memory in use = ``, The time = ``", 44260424, 68.722866],
  Editable->False]], "Print",
 CellChangeTimes->{3.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.4837883405210867`*^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.469479292368322*^9, 3.4694794825212517`*^9, 
  3.471571595136901*^9, 3.4715716394740953`*^9, 3.4715716740687037`*^9, 
  3.4837883405485497`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"0.8577499999999958`", ",", "Null"}], "}"}]], "Output",
 CellChangeTimes->{3.469479292442247*^9, 3.469479482591254*^9, 
  3.471571596115017*^9, 3.471571639880691*^9, 3.471571675093069*^9, 
  3.483788340586273*^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_, z4_, z5_]=a10 + (a25 + b235/2 - b370/2)*z1 \
+ b10*z2 - b374*z1*z2\"\>", 
   ",", "\<\"xse2[z1_, z2_, z3_, z4_, z5_]=a20 + a25*z2 - b374*z2^2\"\>"}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.4694792924803553`*^9, 3.4694794826340427`*^9, 3.471571596211213*^9, {
   3.4715716487310343`*^9, 3.471571675246503*^9}, 3.483788340725705*^9}]
}, Open  ]],

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

Cell[CellGroupData[{

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

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{"\<\"eta1[z1_, z2_, z3_, z4_, z5_]=b10 - b374*z1 + (b235/2 - \
b370/2)*z3 + b374*z2*z3\"\>", 
   ",", "\<\"eta2[z1_, z2_, z3_, z4_, z5_]=b235*z4 + 3*b374*z2*z4\"\>", 
   ",", "\<\"eta3[z1_, z2_, z3_, z4_, z5_]=b370*z5 + b374*z2*z5\"\>"}], 
  "}"}]], "Output",
 CellChangeTimes->{
  3.469479292526588*^9, 3.469479482671685*^9, 3.471571596248536*^9, {
   3.4715716488619633`*^9, 3.471571675302451*^9}, 3.483788340792265*^9}]
}, Open  ]],

Cell[BoxData[
 RowBox[{
  RowBox[{"infinitesimalgroups1", "=", 
   RowBox[{"infinitesimalgroups", "/.", "\[IndentingNewLine]", 
    RowBox[{"{", 
     RowBox[{
      RowBox[{"z1", "\[Rule]", "x"}], ",", 
      RowBox[{"z2", "\[Rule]", "t"}], ",", 
      RowBox[{"z3", "\[Rule]", "U"}], ",", 
      RowBox[{"z4", "\[Rule]", "P"}], ",", 
      RowBox[{"z5", "\[Rule]", "rho"}]}], "}"}]}]}], ";"}]], "Input"],

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

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

Cell[BoxData[
 TagBox[GridBox[{
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"1", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"0", ",", "1"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"x", ",", "t"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"0", ",", "0", ",", "0"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{"t", ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{"1", ",", "0", ",", "0"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         FractionBox["x", "2"], ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         FractionBox["U", "2"], ",", "P", ",", "0"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{"-", 
          FractionBox["x", "2"]}], ",", "0"}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{"-", 
          FractionBox["U", "2"]}], ",", "0", ",", "rho"}], "}"}]}], "}"}]},
    {
     RowBox[{"{", 
      RowBox[{
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          RowBox[{"-", "t"}], " ", "x"}], ",", 
         RowBox[{"-", 
          SuperscriptBox["t", "2"]}]}], "}"}], ",", 
       RowBox[{"{", 
        RowBox[{
         RowBox[{
          RowBox[{"t", " ", "U"}], "-", "x"}], ",", 
         RowBox[{"3", " ", "P", " ", "t"}], ",", 
         RowBox[{"rho", " ", "t"}]}], "}"}]}], "}"}]}
   },
   GridBoxAlignment->{"Columns" -> {{Left}}},
   GridBoxItemSize->{"Columns" -> {{Automatic}}, "Rows" -> {{Automatic}}}],
  "Column"]], "Output",
 CellChangeTimes->{
  3.46947929268994*^9, 3.469479482755157*^9, 3.471571596311665*^9, {
   3.471571648947781*^9, 3.471571675403639*^9}, 3.483788340894392*^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", "[", "zdeterminingequations4", "]"}], 
  "]"}]], "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, 3.4715715735656223`*^9}],

Cell[BoxData[
 RowBox[{"{", 
  RowBox[{
  "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", 
   "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", 
   ",", "True", ",", "True", ",", "True", ",", "True", ",", "True", ",", 
   "True", ",", "True", ",", "True", ",", "True", ",", "True"}], 
  "}"}]], "Output",
 CellChangeTimes->{3.4715715963447447`*^9, 3.4715716754546537`*^9, 
  3.48378834096087*^9}]
}, Open  ]],

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

Cell[BoxData[
 RowBox[{"MakeCommutatorTable", "[", "\[IndentingNewLine]", 
  RowBox[{
  "independentvariables", ",", "dependentvariables", ",", 
   "infinitesimalgroups1"}], "]"}]], "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.469479292730373*^9, 3.4694794828385487`*^9, 
  3.4715715963821*^9, 3.471571675519423*^9, 3.4837883410267*^9}],

Cell[CellGroupData[{

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

Cell[BoxData[
 TagBox[
  RowBox[{"(", "\[NoBreak]", GridBox[{
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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[{"1", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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[{
             FractionBox["1", "2"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["1", "2"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "t"}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "1"}], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "1"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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[{"1", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "x"}], ",", 
             RowBox[{
              RowBox[{"-", "2"}], " ", "t"}]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"U", ",", 
             RowBox[{"3", " ", "P"}], ",", "rho"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "1"}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", 
             RowBox[{"-", "1"}]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"-", "t"}], " ", "x"}], ",", 
             RowBox[{"-", 
              SuperscriptBox["t", "2"]}]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"t", " ", "U"}], "-", "x"}], ",", 
             RowBox[{"3", " ", "P", " ", "t"}], ",", 
             RowBox[{"rho", " ", "t"}]}], "}"}]}
         },
         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[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "1"}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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[{
             FractionBox["t", "2"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             FractionBox["1", "2"], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["t", "2"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["1", "2"]}], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}]},
     {
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["1", "2"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["t", "2"]}], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", 
              FractionBox["1", "2"]}], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              FractionBox[
               RowBox[{"t", " ", "U"}], "2"], "-", 
              FractionBox["x", "2"], "+", 
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 RowBox[{
                  RowBox[{"-", "t"}], " ", "U"}], "+", "x"}], ")"}]}]}], ",", 
             "0", ",", "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[{
             FractionBox["1", "2"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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[{
             FractionBox["t", "2"], ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             FractionBox["1", "2"], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"-", 
               FractionBox[
                RowBox[{"t", " ", "U"}], "2"]}], "+", 
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 RowBox[{"t", " ", "U"}], "-", "x"}], ")"}]}], "+", 
              FractionBox["x", "2"]}], ",", "0", ",", "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[{"t", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"1", ",", "0", ",", "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[{"x", ",", 
             RowBox[{"2", " ", "t"}]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"-", "U"}], ",", 
             RowBox[{
              RowBox[{"-", "3"}], " ", "P"}], ",", 
             RowBox[{"-", "rho"}]}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{"t", " ", "x"}], ",", 
             SuperscriptBox["t", "2"]}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{
               RowBox[{"-", "t"}], " ", "U"}], "+", "x"}], ",", 
             RowBox[{
              RowBox[{"-", "3"}], " ", "P", " ", "t"}], ",", 
             RowBox[{
              RowBox[{"-", "rho"}], " ", "t"}]}], "}"}]}
         },
         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[{"0", ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              RowBox[{"-", 
               FractionBox[
                RowBox[{"t", " ", "U"}], "2"]}], "+", 
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 RowBox[{"t", " ", "U"}], "-", "x"}], ")"}]}], "+", 
              FractionBox["x", "2"]}], ",", "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{
             RowBox[{
              FractionBox[
               RowBox[{"t", " ", "U"}], "2"], "-", 
              FractionBox["x", "2"], "+", 
              RowBox[{
               FractionBox["1", "2"], " ", 
               RowBox[{"(", 
                RowBox[{
                 RowBox[{
                  RowBox[{"-", "t"}], " ", "U"}], "+", "x"}], ")"}]}]}], ",", 
             "0", ",", "0"}], "}"}]}
         },
         GridBoxAlignment->{
          "Columns" -> {{Center}}, "ColumnsIndexed" -> {}, 
           "Rows" -> {{Baseline}}, "RowsIndexed" -> {}},
         GridBoxSpacings->{"Columns" -> {
             Offset[0.27999999999999997`], {
              Offset[0.5599999999999999]}, 
             Offset[0.27999999999999997`]}, "ColumnsIndexed" -> {}, "Rows" -> {
             Offset[0.2], {
              Offset[0.4]}, 
             Offset[0.2]}, "RowsIndexed" -> {}}],
        Column], "\[NoBreak]", ")"}], 
      RowBox[{"(", "\[NoBreak]", 
       TagBox[GridBox[{
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0"}], "}"}]},
          {
           RowBox[{"{", 
            RowBox[{"0", ",", "0", ",", "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.469479292788982*^9, 3.469479482913575*^9, 
  3.47157159642244*^9, 3.471571675593308*^9, 3.483788341102085*^9}]
}, Open  ]],

Cell[CellGroupData[{

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

Cell[BoxData["263036176"], "Output",
 CellChangeTimes->{3.469479292848834*^9, 3.4694794830493937`*^9, 
  3.4715715964625483`*^9, 3.471571686611191*^9, 3.483788341182263*^9}]
}, Open  ]]
},
WindowToolbars->{},
CellGrouping->Manual,
WindowSize->{884, 1120},
WindowMargins->{{85, Automatic}, {5, Automatic}},
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, 329, 6, 180, "Text"],
Cell[877, 28, 85, 2, 32, "Text"],
Cell[965, 32, 90, 2, 33, "Input"],
Cell[1058, 36, 124, 1, 32, "Text"],
Cell[1185, 39, 160, 4, 33, "Input"],
Cell[1348, 45, 476, 13, 32, "Text"],
Cell[1827, 60, 93, 1, 33, "Input"],
Cell[1923, 63, 130, 2, 32, "Text"],
Cell[2056, 67, 151, 4, 33, "Input"],
Cell[2210, 73, 128, 2, 32, "Text"],
Cell[2341, 77, 172, 5, 33, "Input"],
Cell[2516, 84, 232, 4, 51, "Text"],
Cell[2751, 90, 96, 3, 33, "Input"],
Cell[2850, 95, 152, 3, 32, "Text"],
Cell[3005, 100, 72, 2, 33, "Input"],
Cell[3080, 104, 395, 6, 70, "Text"],
Cell[3478, 112, 72, 2, 33, "Input"],
Cell[3553, 116, 514, 7, 89, "Text"],
Cell[4070, 125, 71, 2, 33, "Input"],
Cell[4144, 129, 581, 9, 89, "Text"],
Cell[4728, 140, 79, 2, 33, "Input"],
Cell[4810, 144, 95, 2, 32, "Text"],
Cell[4908, 148, 255, 6, 82, "Input"],
Cell[5166, 156, 56, 0, 32, "Text"],
Cell[5225, 158, 134, 5, 66, "Input"],
Cell[5362, 165, 56, 0, 32, "Text"],
Cell[5421, 167, 130, 5, 66, "Input"],
Cell[5554, 174, 58, 0, 32, "Text"],
Cell[5615, 176, 134, 5, 66, "Input"],
Cell[5752, 183, 235, 4, 51, "Text"],
Cell[CellGroupData[{
Cell[6012, 191, 204, 5, 66, "Input"],
Cell[6219, 198, 451, 8, 45, "Print"],
Cell[6673, 208, 1032, 14, 235, "Print"],
Cell[7708, 224, 725, 12, 64, "Print"],
Cell[8436, 238, 421, 8, 45, "Print"],
Cell[8860, 248, 1034, 14, 216, "Print"],
Cell[9897, 264, 210, 4, 33, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[10144, 273, 113, 1, 33, "Input"],
Cell[10260, 276, 2216, 34, 547, "Output"]
}, Open  ]],
Cell[12491, 313, 420, 7, 70, "Text"],
Cell[12914, 322, 139, 4, 33, "Input"],
Cell[13056, 328, 154, 3, 51, "Text"],
Cell[13213, 333, 78, 1, 33, "Input"],
Cell[13294, 336, 52, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[13371, 340, 47, 0, 33, "Input"],
Cell[13421, 342, 161, 2, 33, "Output"]
}, Open  ]],
Cell[13597, 347, 128, 3, 32, "Text"],
Cell[13728, 352, 88, 2, 33, "Input"],
Cell[13819, 356, 45, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[13889, 360, 47, 0, 33, "Input"],
Cell[13939, 362, 2216, 34, 547, "Output"]
}, Open  ]],
Cell[16170, 399, 102, 2, 32, "Text"],
Cell[16275, 403, 94, 1, 33, "Input"],
Cell[16372, 406, 121, 3, 32, "Text"],
Cell[CellGroupData[{
Cell[16518, 413, 204, 5, 66, "Input"],
Cell[16725, 420, 465, 9, 45, "Print"],
Cell[17193, 431, 1030, 14, 235, "Print"],
Cell[18226, 447, 705, 12, 64, "Print"],
Cell[18934, 461, 431, 8, 45, "Print"],
Cell[19368, 471, 1030, 14, 216, "Print"],
Cell[20401, 487, 210, 4, 33, "Output"]
}, Open  ]],
Cell[20626, 494, 54, 0, 32, "Text"],
Cell[20683, 496, 94, 1, 33, "Input"],
Cell[20780, 499, 121, 3, 32, "Text"],
Cell[CellGroupData[{
Cell[20926, 506, 204, 5, 66, "Input"],
Cell[21133, 513, 463, 9, 45, "Print"],
Cell[21599, 524, 1028, 14, 235, "Print"],
Cell[22630, 540, 701, 12, 64, "Print"],
Cell[23334, 554, 412, 8, 45, "Print"],
Cell[23749, 564, 1030, 14, 216, "Print"],
Cell[24782, 580, 205, 4, 33, "Output"]
}, Open  ]],
Cell[25002, 587, 54, 0, 32, "Text"],
Cell[25059, 589, 94, 1, 33, "Input"],
Cell[25156, 592, 67, 0, 32, "Text"],
Cell[25226, 594, 157, 5, 66, "Input"],
Cell[25386, 601, 68, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[25479, 605, 80, 1, 33, "Input"],
Cell[25562, 608, 144, 2, 33, "Output"]
}, Open  ]],
Cell[25721, 613, 98, 2, 32, "Text"],
Cell[CellGroupData[{
Cell[25844, 619, 62, 1, 33, "Input"],
Cell[25909, 622, 543, 15, 33, "Output"]
}, Open  ]],
Cell[26467, 640, 489, 11, 145, "Text"],
Cell[CellGroupData[{
Cell[26981, 655, 346, 8, 50, "Input"],
Cell[27330, 665, 934, 15, 83, "Print"],
Cell[28267, 682, 491, 7, 83, "Print"],
Cell[28761, 691, 384, 7, 25, "Print"],
Cell[29148, 700, 373, 7, 25, "Print"],
Cell[29524, 709, 398, 8, 25, "Print"],
Cell[29925, 719, 372, 5, 64, "Print"],
Cell[30300, 726, 403, 8, 25, "Print"],
Cell[30706, 736, 219, 3, 25, "Print"],
Cell[30928, 741, 261, 4, 25, "Print"],
Cell[31192, 747, 387, 7, 25, "Print"],
Cell[31582, 756, 1140, 15, 254, "Print"],
Cell[32725, 773, 252, 5, 33, "Output"]
}, Open  ]],
Cell[32992, 781, 108, 3, 32, "Text"],
Cell[CellGroupData[{
Cell[33125, 788, 61, 1, 33, "Input"],
Cell[33189, 791, 401, 8, 72, "Output"]
}, Open  ]],
Cell[33605, 802, 48, 0, 32, "Text"],
Cell[CellGroupData[{
Cell[33678, 806, 61, 1, 33, "Input"],
Cell[33742, 809, 461, 9, 72, "Output"]
}, Open  ]],
Cell[34218, 821, 405, 10, 53, "Input"],
Cell[34626, 833, 88, 2, 32, "Text"],
Cell[34717, 837, 78, 1, 33, "Input"],
Cell[34798, 840, 2070, 71, 181, "Output"],
Cell[36871, 913, 136, 1, 32, "Text"],
Cell[CellGroupData[{
Cell[37032, 918, 385, 7, 33, "Input"],
Cell[37420, 927, 518, 10, 53, "Output"]
}, Open  ]],
Cell[37953, 940, 44, 0, 32, "Text"],
Cell[38000, 942, 190, 4, 53, "Input"],
Cell[38193, 948, 546, 7, 102, "Print"],
Cell[CellGroupData[{
Cell[38764, 959, 77, 1, 33, "Input"],
Cell[38844, 962, 40333, 1095, 415, "Output"]
}, Open  ]],
Cell[CellGroupData[{
Cell[79214, 2062, 66, 1, 33, "Input"],
Cell[79283, 2065, 173, 2, 33, "Output"]
}, Open  ]]
}
]
*)

(* End of internal cache information *)
