(* 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[ 14869, 432] NotebookOptionsPosition[ 14126, 403] NotebookOutlinePosition[ 14492, 419] CellTagsIndexPosition[ 14449, 416] WindowFrame->Normal*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"pmpm", "=", RowBox[{"pm", "+", RowBox[{"dpmdy", " ", "dy"}], "-", RowBox[{"dpmdt", " ", "dt"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", SuperscriptBox["dy", "2"]}]}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", SuperscriptBox["\[Phi]", "-"], RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"y", "'"}], "+", "\[Delta]y"}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"ppmm", "=", RowBox[{"pp", "-", RowBox[{"dppdy", " ", "dy"}], "-", RowBox[{"dppdt", " ", "dt"}], "+", RowBox[{ FractionBox["1", "2"], "d2ppdy2", " ", SuperscriptBox["dy", "2"]}]}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", SuperscriptBox["\[Phi]", "+"], RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"y", "'"}], "-", "\[Delta]y"}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"pp0m", "=", RowBox[{"pp", "-", RowBox[{"dppdt", " ", "dt"}]}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", SuperscriptBox["\[Phi]", "+"], RowBox[{"(", RowBox[{ RowBox[{"y", "'"}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"pm0m", "=", RowBox[{"pm", "-", RowBox[{"dpmdt", " ", "dt"}]}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", SuperscriptBox["\[Phi]", "-"], RowBox[{"(", RowBox[{ RowBox[{"y", "'"}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"ppm", "=", RowBox[{"p", "+", RowBox[{"dpdy", " ", "dy"}], " ", "-", " ", RowBox[{"dpdt", " ", "dt"}], " ", "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", SuperscriptBox["dy", "2"]}]}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", "p", RowBox[{"(", RowBox[{"y", ",", RowBox[{"t", ";", RowBox[{ RowBox[{"y", "'"}], "+", "\[Delta]y"}]}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"p0m", "=", RowBox[{"p", "-", RowBox[{"dpdt", " ", "dt"}]}]}], ";", " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", "p", RowBox[{"(", RowBox[{"y", ",", RowBox[{"t", ";", RowBox[{"y", "'"}]}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{"pmm", "=", RowBox[{"p", "-", RowBox[{"dpdy", " ", "dy"}], "-", RowBox[{"dpdt", " ", "dt"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", SuperscriptBox["dy", "2"]}]}]}], ";"}], " ", RowBox[{"(*", " ", RowBox[{"this", " ", "is", " ", "p", RowBox[{"(", RowBox[{"y", ",", RowBox[{"t", ";", RowBox[{ RowBox[{"y", "'"}], "-", "\[Delta]y"}]}], ",", RowBox[{ RowBox[{"t", "'"}], "-", "\[Delta]t"}]}], ")"}]}], " ", "*)"}], "\[IndentingNewLine]", "\[IndentingNewLine]", RowBox[{"(*", " ", RowBox[{ RowBox[{"the", " ", "right"}], "-", "hand", "-", RowBox[{ "side", " ", "of", " ", "the", " ", "derivation", " ", "of", " ", "the", " ", "forward", " ", "Kolmogorov", " ", "equation"}]}], " ", "*)"}]}], "\[IndentingNewLine]", RowBox[{"wProd", "=", RowBox[{ RowBox[{ RowBox[{"pmpm", " ", "ppm"}], "+", RowBox[{ RowBox[{"(", RowBox[{"1", "-", "pm0m", "-", "pp0m"}], ")"}], " ", "p0m"}], "+", RowBox[{"ppmm", " ", "pmm"}]}], "//", "Expand"}]}]}], "Input", CellChangeTimes->{{3.512813576954235*^9, 3.512813628532905*^9}, { 3.512814106631546*^9, 3.5128142064450545`*^9}, {3.5128152904808106`*^9, 3.5128153776223207`*^9}, {3.512815409435151*^9, 3.512815440216718*^9}, { 3.5128155454521713`*^9, 3.5128156756097417`*^9}, {3.5128965584742756`*^9, 3.5128966205998793`*^9}, {3.512898296279455*^9, 3.512898456390496*^9}, { 3.512985031303171*^9, 3.5129850496158676`*^9}, {3.5129851812422066`*^9, 3.512985188632926*^9}, {3.5129852188676114`*^9, 3.512985232617749*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"-", "dpdt"}], " ", "dt"}], "-", RowBox[{"dpdy", " ", "dpmdt", " ", "dt", " ", "dy"}], "-", RowBox[{"dpdt", " ", "dpmdy", " ", "dt", " ", "dy"}], "+", RowBox[{"dpdy", " ", "dppdt", " ", "dt", " ", "dy"}], "+", RowBox[{"dpdt", " ", "dppdy", " ", "dt", " ", "dy"}], "+", RowBox[{"dpdy", " ", "dpmdy", " ", SuperscriptBox["dy", "2"]}], "+", RowBox[{"dpdy", " ", "dppdy", " ", SuperscriptBox["dy", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", "dpdt", " ", "dt", " ", SuperscriptBox["dy", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2ppdy2", " ", "dpdt", " ", "dt", " ", SuperscriptBox["dy", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dpmdt", " ", "dt", " ", SuperscriptBox["dy", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dppdt", " ", "dt", " ", SuperscriptBox["dy", "2"]}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", "dpdy", " ", SuperscriptBox["dy", "3"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2ppdy2", " ", "dpdy", " ", SuperscriptBox["dy", "3"]}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dpmdy", " ", SuperscriptBox["dy", "3"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dppdy", " ", SuperscriptBox["dy", "3"]}], "+", RowBox[{ FractionBox["1", "4"], " ", "d2pdy2", " ", "d2pmdy2", " ", SuperscriptBox["dy", "4"]}], "+", RowBox[{ FractionBox["1", "4"], " ", "d2pdy2", " ", "d2ppdy2", " ", SuperscriptBox["dy", "4"]}], "+", "p", "+", RowBox[{"dpmdy", " ", "dy", " ", "p"}], "-", RowBox[{"dppdy", " ", "dy", " ", "p"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", SuperscriptBox["dy", "2"], " ", "p"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2ppdy2", " ", SuperscriptBox["dy", "2"], " ", "p"}], "+", RowBox[{"dpdy", " ", "dy", " ", "pm"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", SuperscriptBox["dy", "2"], " ", "pm"}], "-", RowBox[{"dpdy", " ", "dy", " ", "pp"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", SuperscriptBox["dy", "2"], " ", "pp"}]}]], "Output", CellChangeTimes->{{3.5128156709846826`*^9, 3.512815676015997*^9}, 3.512896441566798*^9, {3.5128965720681615`*^9, 3.5128966215373907`*^9}, 3.5128984590936556`*^9, 3.512985098319501*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"wProdDT", "=", RowBox[{"wProd", " ", "/.", RowBox[{"{", RowBox[{"dy", "\[Rule]", SuperscriptBox["dt", RowBox[{"1", "/", "2"}]]}], "}"}]}]}]], "Input", CellChangeTimes->{{3.512896625959323*^9, 3.512896646365795*^9}, { 3.5128982025910254`*^9, 3.5128982049660378`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"-", "dpdt"}], " ", "dt"}], "+", RowBox[{"dpdy", " ", "dpmdy", " ", "dt"}], "+", RowBox[{"dpdy", " ", "dppdy", " ", "dt"}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", "dpdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2ppdy2", " ", "dpdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "-", RowBox[{"dpdy", " ", "dpmdt", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "+", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dpmdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "-", RowBox[{"dpdt", " ", "dpmdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "+", RowBox[{"dpdy", " ", "dppdt", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dppdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "+", RowBox[{"dpdt", " ", "dppdy", " ", SuperscriptBox["dt", RowBox[{"3", "/", "2"}]]}], "+", RowBox[{ FractionBox["1", "4"], " ", "d2pdy2", " ", "d2pmdy2", " ", SuperscriptBox["dt", "2"]}], "+", RowBox[{ FractionBox["1", "4"], " ", "d2pdy2", " ", "d2ppdy2", " ", SuperscriptBox["dt", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pmdy2", " ", "dpdt", " ", SuperscriptBox["dt", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2ppdy2", " ", "dpdt", " ", SuperscriptBox["dt", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dpmdt", " ", SuperscriptBox["dt", "2"]}], "-", RowBox[{ FractionBox["1", "2"], " ", "d2pdy2", " ", "dppdt", " ", SuperscriptBox["dt", "2"]}], "+", "p", "+", RowBox[{"dpmdy", " ", SqrtBox["dt"], " ", "p"}], "-", RowBox[{"dppdy", " ", SqrtBox["dt"], " ", "p"}], "+", FractionBox[ RowBox[{"d2pmdy2", " ", "dt", " ", "p"}], "2"], "+", FractionBox[ RowBox[{"d2ppdy2", " ", "dt", " ", "p"}], "2"], "+", RowBox[{"dpdy", " ", SqrtBox["dt"], " ", "pm"}], "+", FractionBox[ RowBox[{"d2pdy2", " ", "dt", " ", "pm"}], "2"], "-", RowBox[{"dpdy", " ", SqrtBox["dt"], " ", "pp"}], "+", FractionBox[ RowBox[{"d2pdy2", " ", "dt", " ", "pp"}], "2"]}]], "Output", CellChangeTimes->{ 3.5128966467408*^9, {3.5128981972628317`*^9, 3.5128982053879013`*^9}, 3.512985152695043*^9}] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"(*", " ", RowBox[{ "extract", " ", "out", " ", "the", " ", "coefficients", " ", "of", " ", "dt"}], " ", "*)"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Coefficient", "[", RowBox[{"wProdDT", ",", "dt", ",", "0"}], "]"}], "\[IndentingNewLine]", RowBox[{"Coefficient", "[", RowBox[{"wProdDT", ",", "dt", ",", FractionBox["1", "2"]}], "]"}], "\[IndentingNewLine]", RowBox[{"Coefficient", "[", RowBox[{"wProdDT", ",", "dt"}], "]"}], "\[IndentingNewLine]", RowBox[{"Coefficient", "[", RowBox[{"wProdDT", ",", "dt", ",", FractionBox["3", "2"]}], "]"}], "\[IndentingNewLine]", RowBox[{"Coefficient", "[", RowBox[{"wProdDT", ",", "dt", ",", "2"}], "]"}]}]}]], "Input", CellChangeTimes->{{3.5128966040528617`*^9, 3.512896611724804*^9}, { 3.512896666709729*^9, 3.512896713038332*^9}, {3.51289810332436*^9, 3.512898107465038*^9}, {3.5128981517936153`*^9, 3.512898237294479*^9}}], Cell[BoxData["p"], "Output", CellChangeTimes->{ 3.5128966122404356`*^9, {3.5128966707410307`*^9, 3.512896713538338*^9}, 3.512898107965044*^9, {3.512898157028057*^9, 3.51289818476271*^9}, { 3.5128982179974337`*^9, 3.512898237935112*^9}, 3.5129851557263317`*^9}], Cell[BoxData[ RowBox[{ RowBox[{"dpmdy", " ", "p"}], "-", RowBox[{"dppdy", " ", "p"}], "+", RowBox[{"dpdy", " ", "pm"}], "-", RowBox[{"dpdy", " ", "pp"}]}]], "Output", CellChangeTimes->{ 3.5128966122404356`*^9, {3.5128966707410307`*^9, 3.512896713538338*^9}, 3.512898107965044*^9, {3.512898157028057*^9, 3.51289818476271*^9}, { 3.5128982179974337`*^9, 3.512898237935112*^9}, 3.512985155757582*^9}], Cell[BoxData[ RowBox[{ RowBox[{"-", "dpdt"}], "+", RowBox[{"dpdy", " ", "dpmdy"}], "+", RowBox[{"dpdy", " ", "dppdy"}], "+", FractionBox[ RowBox[{"d2pmdy2", " ", "p"}], "2"], "+", FractionBox[ RowBox[{"d2ppdy2", " ", "p"}], "2"], "+", FractionBox[ RowBox[{"d2pdy2", " ", "pm"}], "2"], "+", FractionBox[ RowBox[{"d2pdy2", " ", "pp"}], "2"]}]], "Output", CellChangeTimes->{ 3.5128966122404356`*^9, {3.5128966707410307`*^9, 3.512896713538338*^9}, 3.512898107965044*^9, {3.512898157028057*^9, 3.51289818476271*^9}, { 3.5128982179974337`*^9, 3.512898237935112*^9}, 3.512985155757582*^9}], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{"d2pmdy2", " ", "dpdy"}], "2"], "-", FractionBox[ RowBox[{"d2ppdy2", " ", "dpdy"}], "2"], "-", RowBox[{"dpdy", " ", "dpmdt"}], "+", FractionBox[ RowBox[{"d2pdy2", " ", "dpmdy"}], "2"], "-", RowBox[{"dpdt", " ", "dpmdy"}], "+", RowBox[{"dpdy", " ", "dppdt"}], "-", FractionBox[ RowBox[{"d2pdy2", " ", "dppdy"}], "2"], "+", RowBox[{"dpdt", " ", "dppdy"}]}]], "Output", CellChangeTimes->{ 3.5128966122404356`*^9, {3.5128966707410307`*^9, 3.512896713538338*^9}, 3.512898107965044*^9, {3.512898157028057*^9, 3.51289818476271*^9}, { 3.5128982179974337`*^9, 3.512898237935112*^9}, 3.5129851557732077`*^9}], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{"d2pdy2", " ", "d2pmdy2"}], "4"], "+", FractionBox[ RowBox[{"d2pdy2", " ", "d2ppdy2"}], "4"], "-", FractionBox[ RowBox[{"d2pmdy2", " ", "dpdt"}], "2"], "-", FractionBox[ RowBox[{"d2ppdy2", " ", "dpdt"}], "2"], "-", FractionBox[ RowBox[{"d2pdy2", " ", "dpmdt"}], "2"], "-", FractionBox[ RowBox[{"d2pdy2", " ", "dppdt"}], "2"]}]], "Output", CellChangeTimes->{ 3.5128966122404356`*^9, {3.5128966707410307`*^9, 3.512896713538338*^9}, 3.512898107965044*^9, {3.512898157028057*^9, 3.51289818476271*^9}, { 3.5128982179974337`*^9, 3.512898237935112*^9}, 3.5129851557888327`*^9}] }, Open ]] }, WindowSize->{1007, 1160}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, ShowSelection->True, FrontEndVersion->"7.0 for Microsoft Windows (32-bit) (February 18, 2009)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[567, 22, 4575, 132, 296, "Input"], Cell[5145, 156, 2458, 60, 138, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7640, 221, 318, 8, 33, "Input"], Cell[7961, 231, 2457, 70, 155, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[10455, 306, 979, 21, 164, "Input"], Cell[11437, 329, 270, 4, 30, "Output"], Cell[11710, 335, 418, 9, 30, "Output"], Cell[12131, 346, 625, 16, 47, "Output"], Cell[12759, 364, 688, 17, 47, "Output"], Cell[13450, 383, 660, 17, 47, "Output"] }, Open ]] } ] *) (* End of internal cache information *)