(* 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[ 75155, 2081] NotebookOptionsPosition[ 74605, 2059] NotebookOutlinePosition[ 75084, 2078] CellTagsIndexPosition[ 75041, 2075] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "This"}], " ", "is", " ", "a", " ", "MATHEMATICA", " ", "program", " ", "for", " ", "the", " ", "derivation", " ", "of"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "integrability"}], " ", "conditions", " ", "of", " ", "the", " ", "equations"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "u_tt"}], "=", RowBox[{"f", RowBox[{"(", RowBox[{ "u_xx", ",", " ", "u_xy", ",", " ", "u_yy", ",", " ", "u_xt", ",", " ", "u_yt"}], ")"}]}]}], " ", "***)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"**", " ", RowBox[{"Notations", ":", " ", RowBox[{"a", " ", "-", " ", "u_xx"}]}]}], " ", "\[IndentingNewLine]", " ", RowBox[{"b", " ", "-", " ", "u_xy"}], "\[IndentingNewLine]", " ", RowBox[{"c", " ", "-", " ", "u_yy"}], "\[IndentingNewLine]", " ", RowBox[{"p", " ", "-", " ", "u_xt"}], "\[IndentingNewLine]", " ", "q"}], " ", "-", " ", RowBox[{"u_yt", "\[IndentingNewLine]", " ", "u_tt"}]}], " ", "=", " ", RowBox[{ RowBox[{"f", RowBox[{"(", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], ")"}], " ", "\[IndentingNewLine]", " ", "Mi"}], " ", "-", " ", RowBox[{"\[Mu]", "^", "i"}]}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"i", "=", "1"}], ",", "2", ",", "3"}], ")"}], "\[IndentingNewLine]", " ", "Li"}], " ", "-", " ", RowBox[{"\[Lambda]", "^", "i"}]}], ",", " ", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"i", "=", "1"}], ",", "2", ",", "3"}], ")"}], "\[IndentingNewLine]", " ", "Bij"}], " ", "-", " ", "B_ij"}]}], "\[IndentingNewLine]", " ", "***)"}], "\[IndentingNewLine]", RowBox[{ "(*", "*******************************************************************************)"}\ ], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"**", " ", "Formatting"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"**", "**", "**", "**", "**", "**", "**"}], "*****)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"L1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Lambda]", "1"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"L2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Lambda]", "2"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"L3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Lambda]", "3"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"M1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Mu]", "1"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"M2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Mu]", "2"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"M3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", SubscriptBox["\[Mu]", "3"]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "L1", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", " ", SubscriptBox["\[Lambda]", "1"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "L2", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", SubscriptBox["\[Lambda]", "2"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "L3", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", SubscriptBox["\[Lambda]", "3"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "M1", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", " ", SubscriptBox["\[Mu]", "1"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "M2", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", SubscriptBox["\[Mu]", "2"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "M3", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", SubscriptBox["\[Mu]", "3"], "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"i_", ",", " ", "j_", ",", " ", "k_"}], "]"}], "[", "a", "]"}], "[", RowBox[{"R1_", ",", " ", "R2_", ",", " ", "R3_"}], "]"}], " ", "]"}], " ", ":=", " ", FractionBox[ RowBox[{"\[Delta]", "[", " ", "a", "]"}], RowBox[{ RowBox[{"\[Delta]R1", "^", "i"}], " ", RowBox[{"\[Delta]R2", "^", "j"}], " ", RowBox[{"\[Delta]R3", "^", "k"}]}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{ "i_", ",", " ", "j_", ",", " ", "k_", ",", " ", "l_", ",", " ", "m_"}], "]"}], "[", "f", "]"}], "[", RowBox[{ "a_", ",", " ", "b_", ",", " ", "c_", ",", " ", "p_", ",", " ", "q_"}], "]"}], "]"}], ":=", FractionBox[ RowBox[{"\[Delta]", "[", " ", "f", "]"}], RowBox[{ RowBox[{"\[Delta]a", "^", "i"}], " ", RowBox[{"\[Delta]b", "^", "j"}], " ", RowBox[{"\[Delta]c", "^", "k"}], " ", RowBox[{"\[Delta]p", "^", "l"}], " ", RowBox[{"\[Delta]q", "^", "m"}], " "}]]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"a", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", "a"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"b", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", "b"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"c", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", "c"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"p", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", "p"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Format", "[", RowBox[{"q", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "]"}], " ", ":=", " ", "q"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\n", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "Basic"}], " ", "functions"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", "**************************)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"a0", " ", "=", " ", RowBox[{"a", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"b0", " ", "=", " ", RowBox[{"b", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"c0", " ", "=", " ", RowBox[{"c", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"p0", " ", "=", " ", RowBox[{"p", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"q0", " ", "=", " ", RowBox[{"q", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"f0", " ", "=", " ", RowBox[{"f", "[", RowBox[{ "a0", ",", " ", "b0", ",", " ", "c0", ",", " ", "p0", ",", " ", "q0"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"L10", " ", "=", " ", RowBox[{"L1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"L20", " ", "=", " ", RowBox[{"L2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"L30", " ", "=", " ", RowBox[{"L3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"M10", " ", "=", " ", RowBox[{"M1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"M20", " ", "=", " ", RowBox[{"M2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"M30", " ", "=", " ", RowBox[{"M3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"**", " ", "Derivatives"}], " ", "***)"}], " ", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"**", "**", "**", "**", "**", "**"}], "******)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], " ", "[", "b", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", "M10"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], " ", "[", "b", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}], " ", "M20"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], " ", "[", "b", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], " ", "M30"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], " ", "[", "c", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", RowBox[{"M10", "^", "2"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], " ", "[", "c", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}], " ", RowBox[{"M20", "^", "2"}]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], " ", "[", "c", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], " ", RowBox[{"M30", "^", "2"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], " ", "[", "p", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", "L10"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], " ", "[", "p", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}], " ", "L20"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], " ", "[", "p", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], " ", "L30"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], " ", "[", "q", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", "L10", " ", "M10"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], " ", "[", "q", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}], " ", "L20", " ", "M20"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], " ", "[", "q", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], " ", "L30", " ", "M30"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], "[", "L1", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L10", " ", "-", " ", "L20"}], ")"}], " ", "B12", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], "[", "L1", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L10", " ", "-", " ", "L30"}], ")"}], " ", "B13", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], "[", "L2", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L20", " ", "-", " ", "L10"}], ")"}], " ", "B21", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], "[", "L2", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L20", " ", "-", " ", "L30"}], ")"}], " ", "B23", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], "[", "L3", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L30", " ", "-", " ", "L10"}], ")"}], " ", "B31", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], "[", "L3", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"L30", " ", "-", " ", "L20"}], ")"}], " ", "B32", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], "[", "M1", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M10", " ", "-", " ", "M20"}], ")"}], " ", "B12", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], "[", "M1", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M10", " ", "-", " ", "M30"}], ")"}], " ", "B13", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], "[", "M2", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M20", " ", "-", " ", "M10"}], ")"}], " ", "B21", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "0", ",", " ", "1"}], "]"}], "[", "M2", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M20", " ", "-", " ", "M30"}], ")"}], " ", "B23", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "0"}], "]"}], "[", "M3", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M30", " ", "-", " ", "M10"}], ")"}], " ", "B31", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "0"}], "]"}], "[", "M3", "]"}], "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"(", RowBox[{"M30", " ", "-", " ", "M20"}], ")"}], " ", "B32", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}]}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "1", ",", " ", "0"}], "]"}], " ", "[", "a", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"-", " ", "2"}], " ", "B12", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}]}]}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"1", ",", " ", "0", ",", " ", "1"}], "]"}], " ", "[", "a", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"-", " ", "2"}], " ", "B13", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R1"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"Derivative", "[", RowBox[{"0", ",", " ", "1", ",", " ", "1"}], "]"}], " ", "[", "a", "]"}], " ", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], " ", "=", " ", RowBox[{ RowBox[{"-", " ", "2"}], " ", "B23", " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R2"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}]}]}], ";"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "Dispersion"}], " ", "relation", " ", "in", " ", "various", " ", "useful", " ", "forms"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "*", "*", RowBox[{"**", "**", "**"}]}], "*****)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"disp1", " ", "=", " ", RowBox[{ RowBox[{"L10", "^", "2"}], " ", "-", " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M10"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M10", "^", "2"}]}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L10"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L10", " ", "M10"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"disp2", " ", "=", " ", RowBox[{ RowBox[{"L20", "^", "2"}], " ", "-", " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M20"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M20", "^", "2"}]}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L20"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L20", " ", "M20"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"disp3", " ", "=", " ", RowBox[{ RowBox[{"L30", "^", "2"}], " ", "-", " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M30"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M30", "^", "2"}]}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L30"}], " ", "-", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L30", " ", "M30"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DISP", " ", "=", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L10", "^", "2"}], " ", "->", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M10"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M10", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L10"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L10", " ", "M10"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"L20", "^", "2"}], " ", "\[Rule]", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M20"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M20", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L20"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L20", " ", "M20"}]}]}], ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"L30", "^", "2"}], " ", "\[Rule]", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M30"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M30", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L30"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L30", " ", "M30"}]}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"k1", " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M10"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M10", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L10"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L10", " ", "M10"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"k2", " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M20"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M20", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L20"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L20", " ", "M20"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"k3", " ", "=", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "a0"}], "]"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", "M30"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "c0"}], "]"}], " ", RowBox[{"M30", "^", "2"}]}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", "L30"}], " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}], " ", "L30", " ", "M30"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DISP1", "=", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L10", "^", RowBox[{"(", RowBox[{"n_", "/;", RowBox[{"n", ">", "1"}]}], ")"}]}], "\[Rule]", RowBox[{"Expand", "[", RowBox[{"k1", " ", RowBox[{"L10", "^", RowBox[{"(", RowBox[{"n", "-", "2"}], ")"}]}]}], "]"}]}], ",", RowBox[{ RowBox[{"L20", "^", RowBox[{"(", RowBox[{"n_", "/;", RowBox[{"n", ">", "1"}]}], ")"}]}], "\[Rule]", RowBox[{"Expand", "[", RowBox[{"k2", " ", RowBox[{"L20", "^", RowBox[{"(", RowBox[{"n", "-", "2"}], ")"}]}]}], "]"}]}], ",", RowBox[{ RowBox[{"L30", "^", RowBox[{"(", RowBox[{"n_", "/;", RowBox[{"n", ">", "1"}]}], ")"}]}], "\[Rule]", RowBox[{"Expand", "[", RowBox[{"k3", " ", RowBox[{"L30", "^", RowBox[{"(", RowBox[{"n", "-", "2"}], ")"}]}]}], "]"}]}]}], "}"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"**", "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "**"}], "************)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"M12", " ", "=", " ", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp1", ",", " ", "R2"}], "]"}], " ", "]"}], "]"}], ",", " ", "B12"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"M13", " ", "=", " ", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp1", ",", " ", "R3"}], "]"}], "]"}], "]"}], ",", " ", "B13"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"M21", " ", "=", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp2", ",", " ", "R1"}], "]"}], "]"}], "]"}], ",", " ", "B21"}], "]"}]}], ";"}], " ", "\n", RowBox[{ RowBox[{"M23", " ", "=", " ", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp2", ",", " ", "R3"}], "]"}], "]"}], "]"}], ",", " ", "B23"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"M31", " ", "=", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp3", ",", " ", "R1"}], "]"}], "]"}], "]"}], ",", " ", "B31"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"M32", " ", "=", " ", RowBox[{"CoefficientList", "[", RowBox[{ RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{"D", "[", RowBox[{"disp3", ",", " ", "R2"}], "]"}], "]"}], "]"}], ",", " ", "B32"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"B12", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M12", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M12", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B13", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M13", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M13", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B21", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M21", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M21", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B23", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M23", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M23", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B31", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M31", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M31", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B32", " ", "=", " ", RowBox[{"-", " ", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"First", "[", "M32", "]"}], "/", RowBox[{"(", RowBox[{ RowBox[{"Last", "[", "M32", "]"}], " ", "//.", " ", "DISP"}], ")"}]}], "]"}]}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"N12", " ", "=", " ", RowBox[{"Numerator", "[", "B12", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D12", " ", "=", " ", RowBox[{"Denominator", "[", "B12", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"N13", " ", "=", " ", RowBox[{"Numerator", "[", "B13", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D13", " ", "=", " ", RowBox[{"Denominator", "[", "B13", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"N23", " ", "=", " ", RowBox[{"Numerator", "[", "B23", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D23", " ", "=", " ", RowBox[{"Denominator", "[", "B23", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"N21", " ", "=", " ", RowBox[{"Numerator", "[", "B21", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D21", " ", "=", " ", RowBox[{"Denominator", "[", "B21", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"N31", " ", "=", " ", RowBox[{"Numerator", "[", "B31", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D31", " ", "=", " ", RowBox[{"Denominator", "[", "B31", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"N32", " ", "=", " ", RowBox[{"Numerator", "[", "B32", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"D32", " ", "=", " ", RowBox[{"Denominator", "[", "B32", "]"}]}], ";"}], "\[IndentingNewLine]", "\t", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "Inversion"}], " ", "of", " ", RowBox[{"denominators", "."}]}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "**", "**", "**", "**"}], "***)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"W", " ", "=", RowBox[{"Numerator", "[", RowBox[{"Together", "[", RowBox[{ RowBox[{"Expand", "[", " ", RowBox[{ RowBox[{"D12", " ", RowBox[{"(", RowBox[{"x", " ", "+", " ", RowBox[{"L10", " ", "y"}], " ", "+", " ", RowBox[{"L20", " ", "z"}], " ", "+", " ", RowBox[{"L10", " ", "L20", " ", "t"}]}], ")"}]}], " ", "-", " ", "1"}], "]"}], "//.", " ", "DISP1"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"E1", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"W", ",", " ", "L10"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"eq1", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"E1", ",", " ", "L20"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"eq2", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"E1", ",", " ", "L20", ",", " ", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"E2", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"W", ",", " ", "L10", ",", " ", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"eq3", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"E2", ",", " ", "L20"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"eq4", " ", "=", " ", RowBox[{"Coefficient", "[", RowBox[{"E2", ",", " ", "L20", ",", " ", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"r", " ", "=", " ", RowBox[{"First", "[", RowBox[{"Simplify", "[", RowBox[{"Solve", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"eq1", "\[Equal]", "0"}], ",", " ", RowBox[{"eq2", "\[Equal]", "0"}], ",", " ", RowBox[{"eq3", "\[Equal]", "0"}], ",", " ", RowBox[{"eq4", "\[Equal]", "0"}]}], "}"}], ",", " ", RowBox[{"{", RowBox[{"x", ",", "y", ",", "z", ",", "t"}], "}"}]}], "]"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Delta", " ", "=", RowBox[{"Cancel", "[", RowBox[{ RowBox[{"-", " ", RowBox[{"Denominator", "[", RowBox[{"Last", "[", RowBox[{"First", "[", "r", "]"}], "]"}], "]"}]}], "/", " ", RowBox[{ RowBox[{"(", RowBox[{"M10", " ", "-", " ", "M20"}], ")"}], "^", "2"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"**", " ", "Del"}], " ", "is", " ", "the", " ", "same", " ", "as", " ", "Delta"}], ",", " ", RowBox[{"used", " ", "to", " ", "simplify", " ", "calculations"}]}], " ", "***)"}], "\[IndentingNewLine]", " ", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"**", " ", "in"}], " ", "order", " ", "to", " ", "save", " ", "time"}], ",", " ", RowBox[{ "and", " ", "will", " ", "be", " ", "substituted", " ", "later"}]}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "****)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"r1", " ", "=", " ", RowBox[{"Simplify", "[", RowBox[{"r", "/.", " ", RowBox[{ RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}]}], "\[Rule]", " ", RowBox[{"Del", " ", "-", " ", "Delta", " ", "+", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", "b0"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "p0"}], "]"}], " ", RowBox[{"D", "[", RowBox[{"f0", ",", " ", "q0"}], "]"}]}]}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U12", "=", RowBox[{"Together", "[", RowBox[{ RowBox[{"x", "+", RowBox[{"L10", " ", "y"}], "+", RowBox[{"L20", " ", "z"}], "+", RowBox[{"L10", " ", "L20", " ", "t"}]}], "/.", "r1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U13", " ", "=", " ", RowBox[{"U12", "/.", " ", RowBox[{"{", RowBox[{ RowBox[{"L20", "\[Rule]", "L30"}], ",", " ", RowBox[{"M20", "\[Rule]", "M30"}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"U23", " ", "=", " ", RowBox[{"U12", "/.", " ", RowBox[{"{", RowBox[{ RowBox[{"L10", "->", "L20"}], ",", " ", RowBox[{"L20", "\[Rule]", "L30"}], ",", " ", RowBox[{"M10", "\[Rule]", "M20"}], ",", " ", RowBox[{"M20", "\[Rule]", "M30"}]}], "}"}]}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{"**", " ", "Modification"}], " ", "of", " ", "B_ij"}], " ", "=", " ", RowBox[{ RowBox[{"N_ij", "/", "D_ij"}], " ", "=", " ", RowBox[{"N_ij", " ", "U_ij"}]}]}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "*****)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Clear", "[", "B12", "]"}], "\[IndentingNewLine]", RowBox[{"Clear", "[", "B13", "]"}], "\[IndentingNewLine]", RowBox[{"Clear", "[", "B23", "]"}], "\[IndentingNewLine]", RowBox[{"Clear", "[", "B21", "]"}], "\[IndentingNewLine]", RowBox[{"Clear", "[", "B31", "]"}], "\[IndentingNewLine]", RowBox[{"Clear", "[", "B32", "]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B12", " ", "=", " ", RowBox[{ RowBox[{"Expand", "[", RowBox[{"N12", " ", "U12"}], "]"}], "//.", " ", "DISP1"}]}], ";"}], " ", "\[IndentingNewLine]", RowBox[{ RowBox[{"B13", " ", "=", " ", RowBox[{ RowBox[{"Expand", "[", RowBox[{"N13", " ", "U13"}], "]"}], "//.", " ", "DISP1"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B23", " ", "=", " ", RowBox[{ RowBox[{"Expand", "[", RowBox[{"N23", " ", "U23"}], "]"}], " ", "//.", " ", "DISP1"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B21", " ", "=", " ", "B12"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B31", " ", "=", " ", "B13"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"B32", " ", "=", " ", "B23"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "Actual"}], " ", "derivation", " ", "of", " ", "the", " ", "integrability", " ", "conditions"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "********)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "Cancelation"}], " ", "of", " ", "the", " ", "dependence", " ", "on", " ", "Riemann", " ", "invariance", " ", "for", " ", "time", " ", "efficiency"}], " ", "***)"}], " ", "\n", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "**"}], "**"}], "**"}], "**"}], "************)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Rieminv", "=", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"L1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", " ", "L1"}], ",", " ", RowBox[{ RowBox[{"L2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "L2"}], ",", " ", RowBox[{ RowBox[{"L3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "L3"}], ",", " ", RowBox[{ RowBox[{"M1", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", " ", "M1"}], ",", " ", RowBox[{ RowBox[{"M2", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "M2"}], ",", " ", RowBox[{ RowBox[{"M3", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "M3"}], ",", " ", RowBox[{ RowBox[{"a", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "a"}], ",", " ", RowBox[{ RowBox[{"b", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "b"}], ",", " ", RowBox[{ RowBox[{"c", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "c"}], ",", RowBox[{ RowBox[{"p", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "p"}], ",", " ", RowBox[{ RowBox[{"q", "[", RowBox[{"R1", ",", " ", "R2", ",", " ", "R3"}], "]"}], "\[Rule]", "q"}], ",", " ", RowBox[{ RowBox[{"f", "[", RowBox[{ "a0", ",", " ", "b0", ",", " ", "c0", ",", " ", "p0", ",", " ", "q0"}], "]"}], "\[Rule]", "f"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DISP2", "=", RowBox[{"DISP1", "//.", "Rieminv"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DELTA", " ", "=", " ", RowBox[{"Delta", "//.", "Rieminv"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"kk1", " ", "=", " ", RowBox[{"k1", "//.", "Rieminv"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"kk2", " ", "=", RowBox[{"k2", "//.", "Rieminv"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"kk3", " ", "=", RowBox[{"k3", "//.", "Rieminv"}]}], ";"}], "\n", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**", "**"}], "******)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Q", " ", "=", " ", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"D", "[", RowBox[{"D12", ",", " ", "R3"}], "]"}], "//.", "Rieminv"}], "]"}], "//.", "DISP2"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"QT", " ", "=", " ", RowBox[{"Together", "[", "Q", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"NumQT", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{"Numerator", "[", "QT", "]"}], "]"}], "//.", " ", RowBox[{"Del", "\[Rule]", "DELTA"}]}], "]"}], "//.", " ", "DISP2"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"K1", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"(", RowBox[{"N12", "//.", "Rieminv"}], ")"}], " ", RowBox[{"Numerator", "[", RowBox[{"U12", "//.", "Rieminv"}], "]"}], " ", "NumQT"}], "]"}], " ", "//.", "DISP2"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"K2", "=", " ", RowBox[{"Expand", "[", RowBox[{"K1", "//.", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], "\[Rule]", "1"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"K2a1", "=", RowBox[{"Cancel", "[", RowBox[{"K2", "/", RowBox[{"(", RowBox[{"M1", "-", "M2"}], ")"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"K2a2", "=", RowBox[{"Cancel", "[", RowBox[{"K2a1", "/", RowBox[{"(", RowBox[{"M1", "-", "M2"}], ")"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"K3", " ", "=", " ", RowBox[{"Cancel", "[", RowBox[{"K2a2", "/", " ", "DELTA"}], "]"}]}], ";"}], "\n", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"BB", "=", RowBox[{"Expand", "[", RowBox[{"Expand", "[", RowBox[{ RowBox[{"B32", " ", "B13"}], "//.", "Rieminv"}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"BB1", "=", RowBox[{"Expand", "[", RowBox[{"BB", "//.", "DISP2"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"BB2", "=", RowBox[{"Together", "[", "BB1", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DBB2", "=", RowBox[{"Denominator", "[", "BB2", "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"DNumBB", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{"D12", "//.", "Rieminv"}], "]"}], " ", RowBox[{"Numerator", "[", "BB2", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DNumBBdisp", "=", RowBox[{"Expand", "[", RowBox[{"DNumBB", "//.", "DISP2"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"DNumBBdispDel", "=", RowBox[{"Cancel", "[", RowBox[{"DNumBBdisp", "/", "DELTA"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\n", RowBox[{ RowBox[{"KK", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"K3", " ", RowBox[{"(", RowBox[{"M1", "-", "M3"}], ")"}], " ", RowBox[{"(", RowBox[{"M3", "-", "M2"}], ")"}]}], "-", "DNumBBdispDel"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"d3N12", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"D", "[", RowBox[{"N12", ",", "R3"}], "]"}], "//.", " ", RowBox[{ RowBox[{"D", "[", RowBox[{"a0", ",", " ", "R3"}], "]"}], "\[Rule]", "1"}]}], "]"}], "//.", "Rieminv"}], "]"}], "//.", "DISP2"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"d3N12a", "=", RowBox[{"Together", "[", "d3N12", "]"}]}], ";"}], "\[IndentingNewLine]", "\n", "\[IndentingNewLine]", RowBox[{ RowBox[{"NBB", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{ RowBox[{"N12", " ", "B32"}], "+", RowBox[{"N12", " ", "B13"}]}], "]"}], "//.", "Rieminv"}], "]"}], "//.", "DISP2"}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"NBBa", "=", RowBox[{"Together", "[", "NBB", "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\n", RowBox[{ RowBox[{"RR", "=", RowBox[{"Expand", "[", RowBox[{"KK", "+", " ", RowBox[{"Numerator", "[", "NBBa", "]"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"RR1", "=", RowBox[{"Cancel", "[", RowBox[{"RR", "/", " ", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"M1", "-", " ", "M3"}], ")"}], RowBox[{"(", RowBox[{"M3", "-", "M2"}], ")"}]}], ")"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"A", "=", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Numerator", "[", "d3N12a", "]"}], "-", " ", "RR1"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A1", "=", RowBox[{"Expand", "[", RowBox[{"Cancel", "[", RowBox[{"A", "/", RowBox[{"(", RowBox[{ RowBox[{"(", RowBox[{"M1", "-", "M3"}], ")"}], " ", RowBox[{"(", RowBox[{"M3", "-", "M2"}], ")"}]}], ")"}]}], "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"A2", " ", "=", " ", RowBox[{"Expand", "[", RowBox[{ RowBox[{"Expand", "[", RowBox[{"A1", "/.", " ", RowBox[{"Del", "\[Rule]", "DELTA"}]}], "]"}], "//.", " ", "DISP2"}], "]"}]}], ";"}], "\n", "\[IndentingNewLine]", RowBox[{ RowBox[{"CL", "=", RowBox[{"CoefficientList", "[", RowBox[{"A2", ",", RowBox[{"{", RowBox[{"L1", ",", "L2", ",", "L3", ",", "M1", ",", "M2", ",", "M3"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CL1", "=", RowBox[{"Flatten", "[", "CL", "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"CL1U", "=", RowBox[{"Union", "[", "CL1", "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"Sol", " ", "=", RowBox[{"Solve", "[", RowBox[{ RowBox[{"CL1U", "\[Equal]", "0"}], ",", RowBox[{"{", RowBox[{ RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"a", ",", " ", "3"}], "}"}]}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"b", ",", " ", "3"}], "}"}]}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"c", ",", " ", "3"}], "}"}]}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"p", ",", " ", "3"}], "}"}]}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"q", ",", " ", "3"}], "}"}]}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"a", ",", " ", "2"}], "}"}], ",", " ", "b"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"a", ",", " ", "2"}], "}"}], ",", " ", "c"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"a", ",", " ", "2"}], "}"}], ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"a", ",", " ", "2"}], "}"}], ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"b", ",", " ", "2"}], "}"}], ",", " ", "a"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"b", ",", " ", "2"}], "}"}], ",", " ", "c"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"b", ",", " ", "2"}], "}"}], ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"b", ",", " ", "2"}], "}"}], ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"c", ",", " ", "2"}], "}"}], ",", " ", "a"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"c", ",", " ", "2"}], "}"}], ",", " ", "b"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"c", ",", " ", "2"}], "}"}], ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"c", ",", " ", "2"}], "}"}], ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"p", ",", " ", "2"}], "}"}], ",", " ", "a"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"p", ",", " ", "2"}], "}"}], ",", " ", "b"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"p", ",", " ", "2"}], "}"}], ",", " ", "c"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"p", ",", " ", "2"}], "}"}], ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"q", ",", " ", "2"}], "}"}], ",", " ", "a"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"q", ",", " ", "2"}], "}"}], ",", " ", "b"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"q", ",", " ", "2"}], "}"}], ",", " ", "c"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"{", RowBox[{"q", ",", " ", "2"}], "}"}], ",", " ", "p"}], "]"}], ",", "\[IndentingNewLine]", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "b", ",", " ", "c"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "b", ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "b", ",", " ", "q"}], "]"}], ",", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "c", ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "c", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "a", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "b", ",", " ", "c", ",", " ", "p"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "b", ",", " ", "c", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "b", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", RowBox[{"D", "[", RowBox[{ RowBox[{"f", "[", RowBox[{ "a", ",", " ", "b", ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}], ",", " ", "c", ",", " ", "p", ",", " ", "q"}], "]"}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"conditionsSub", "=", RowBox[{"First", "[", RowBox[{"Simplify", "[", "Sol", "]"}], "]"}]}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{"conditions", " ", "=", " ", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"First", "[", RowBox[{"conditionsSub", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}], "-", RowBox[{"Last", "[", RowBox[{"conditionsSub", "[", RowBox[{"[", "i", "]"}], "]"}], "]"}]}], ",", " ", RowBox[{"{", RowBox[{"i", ",", " ", "1", ",", " ", "35"}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"conditions", ">>", "conditions.txt"}], ";"}], " ", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"check", " ", "solution"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{ RowBox[{ RowBox[{ RowBox[{"**", "**"}], "**"}], "**"}], "**"}], "**"}], "*****)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"Simplify", "[", RowBox[{"CL1U", "/.", " ", "conditionsSub"}], "]"}], "\[IndentingNewLine]", "\n", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{"check", " ", "involution"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{"**", "**", "**", "**", "**", "**", "**", "**"}], "******)"}], "\n", "\[IndentingNewLine]", RowBox[{"f0", " ", "=", " ", RowBox[{"f", "[", RowBox[{"a", ",", "b", ",", "c", ",", "p", ",", "q"}], "]"}]}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"u", "[", "1", "]"}], " ", "=", " ", "a"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"u", "[", "2", "]"}], " ", "=", " ", "b"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"u", "[", "3", "]"}], " ", "=", " ", "c"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"u", "[", "4", "]"}], " ", "=", " ", "p"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"u", "[", "5", "]"}], " ", "=", " ", "q"}], ";"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"AbsoluteTiming", "[", RowBox[{"Union", "[", RowBox[{"Flatten", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"Simplify", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"D", "[", RowBox[{ RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", RowBox[{"u", "[", "i", "]"}], ",", " ", RowBox[{"u", "[", "j", "]"}], ",", " ", RowBox[{"u", "[", "k", "]"}]}], "]"}], "/.", " ", "conditionsSub"}], ",", " ", RowBox[{"u", "[", "l", "]"}]}], "]"}], "-", " ", RowBox[{"D", "[", RowBox[{ RowBox[{ RowBox[{"D", "[", RowBox[{"f0", ",", " ", RowBox[{"u", "[", "i", "]"}], ",", " ", RowBox[{"u", "[", "j", "]"}], ",", " ", RowBox[{"u", "[", "l", "]"}]}], "]"}], "/.", " ", "conditionsSub"}], ",", " ", RowBox[{"u", "[", "k", "]"}]}], "]"}]}], ")"}], "/.", " ", "conditionsSub"}], " ", "]"}], ",", " ", RowBox[{"{", RowBox[{"i", ",", " ", "1", ",", " ", "5"}], "}"}], ",", " ", RowBox[{"{", RowBox[{"j", ",", " ", "1", ",", " ", "5"}], "}"}], ",", " ", RowBox[{"{", RowBox[{"k", ",", " ", "1", ",", " ", "5"}], "}"}], ",", " ", RowBox[{"{", RowBox[{"l", ",", " ", "1", ",", " ", "5"}], "}"}]}], "]"}], "]"}], "]"}], "]"}], "\[IndentingNewLine]", "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", " ", "THE"}], " ", "END"}], " ", "***)"}], "\[IndentingNewLine]", RowBox[{"(*", RowBox[{ RowBox[{"**", "**", "**"}], "**", "**", "**", "**"}], "*****)"}], "\n"}]}]], "Input", CellChangeTimes->{{3.44353609210461*^9, 3.443536118388723*^9}, 3.443536153359478*^9, {3.4436140121616993`*^9, 3.443614088166273*^9}, { 3.443614119769511*^9, 3.443614130093934*^9}, {3.443614200401188*^9, 3.44361423008416*^9}, {3.443614266103059*^9, 3.443614363215543*^9}, { 3.4436144096008253`*^9, 3.443614556963225*^9}, {3.443614813632305*^9, 3.4436148591278067`*^9}, {3.443614918447562*^9, 3.443615158152217*^9}, { 3.443617201133363*^9, 3.44361726660859*^9}, {3.4436179302799263`*^9, 3.4436179315994864`*^9}, {3.443618588805724*^9, 3.443618618362727*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0", ",", "0"}], "}"}]], "Output", CellChangeTimes->{3.443625233820063*^9}], Cell[BoxData[ RowBox[{"f", "[", RowBox[{"a", ",", "b", ",", "c", ",", "p", ",", "q"}], "]"}]], "Output", CellChangeTimes->{3.443625233851396*^9}], Cell[BoxData[ RowBox[{"{", RowBox[{"1963.695492`9.744619136622466", ",", RowBox[{"{", "0", "}"}]}], "}"}]], "Output", CellChangeTimes->{3.443627197531035*^9}] }, Open ]] }, WindowSize->{1259, 841}, WindowMargins->{{61, Automatic}, {Automatic, 20}}, DockedCells->FEPrivate`FrontEndResource[ "FEExpressions", "CompatibilityToolbar"], PrintingCopies->1, PrintingPageRange->{1, Automatic}, FrontEndVersion->"7.0 for Mac OS X x86 (32-bit) (November 10, 2008)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[567, 22, 73222, 2013, 4400, "Input"], Cell[73792, 2037, 474, 8, 27, "Output"], Cell[74269, 2047, 150, 3, 27, "Output"], Cell[74422, 2052, 167, 4, 27, "Output"] }, Open ]] } ] *) (* End of internal cache information *)