(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 328503, 11370] NotebookOptionsPosition[ 272536, 9773] NotebookOutlinePosition[ 299737, 10421] CellTagsIndexPosition[ 297869, 10362] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell["Computing with Harmonic Functions", "Title"], Cell["Sheldon Axler", "Subtitle"], Cell["\<\ 24 December 2008\t\t\[Copyright] Sheldon Axler\ \>", "Text", CellChangeTimes->{{3.43844437540625*^9, 3.438444387484375*^9}, { 3.438803236671875*^9, 3.438803237125*^9}, 3.438871524734375*^9, 3.43908591828125*^9, {3.439170539828125*^9, 3.4391705405625*^9}}, TextAlignment->Center], Cell[CellGroupData[{ Cell["Getting Started", "Section", CellTags->"Getting Started"], Cell[CellGroupData[{ Cell["Harmonic Function Theory", "Subsection", CellTags->"Loading the Package"], Cell[TextData[{ "This notebook is the manual for HFT6.m (version 6.22), a ", StyleBox["Mathematica", FontSlant->"Italic"], " package for computing with harmonic functions. The HFT6.m package allows \ the user to make calculations that would take a prohibitive amount of time if \ done without a computer. For example, the Poisson integral of any polynomial \ can be computed exactly." }], "Text", CellChangeTimes->{ 3.43880325990625*^9, 3.438803431265625*^9, {3.43880590521875*^9, 3.438805906625*^9}}], Cell[TextData[{ "Earlier versions of this software focused on algorithms arising from the \ material in the book ", StyleBox["Harmonic Function Theory", FontSlant->"Italic"], " [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "] by Sheldon Axler, Paul Bourdon, and Wade Ramey. That book is still the \ source for many of the algorithms used in the HFT6.m package, but the goal of \ the package has expanded to include additional symbolic manipulations \ involving harmonic functions. The HFT6.m package can be used without the ", StyleBox["Harmonic Function Theory", FontSlant->"Italic"], " book, but the debt to the book is reflected in the initials chosen for the \ name of the package." }], "Text", CellChangeTimes->{{3.43880327196875*^9, 3.43880327996875*^9}}], Cell[TextData[{ "This documenation and the HFT6.m package are intended for use with ", StyleBox["Mathematica", FontSlant->"Italic"], " version 6." }], "Text", CellChangeTimes->{ 3.43880328525*^9, {3.438805949671875*^9, 3.438805958390625*^9}}], Cell[TextData[{ "This notebook, the HFT6.m package, and the HFT6.nb notebook that serve as \ the source file for the HFT6.m package, are available electronically free of \ charge. To obtain the most recent versions, retrieve them from ", ButtonBox["http://www.axler.net", BaseStyle->"Hyperlink", ButtonData:>{ URL["http://math.sfsu.edu/axler"], None}], StyleBox[".", "html"] }], "Text", CellChangeTimes->{{3.438801338484375*^9, 3.438801339125*^9}, { 3.43880329484375*^9, 3.43880330553125*^9}, {3.438805974875*^9, 3.438805977765625*^9}}, TextAlignment->AlignmentMarker], Cell[TextData[{ "Comments, suggestions, and bug reports about this notebook, the HFT6.m \ package, or the book ", StyleBox["Harmonic Function Theory", FontSlant->"Italic"], " are welcome; please send them via e-mail to axler@sfsu.edu." }], "Text", CellChangeTimes->{3.43880331184375*^9}, TextAlignment->AlignmentMarker] }, Closed]], Cell[CellGroupData[{ Cell["Loading the Package", "Subsection", CellTags->"Loading the Package"], Cell[TextData[{ "To begin a session with the HFT6.m package, first start ", StyleBox["Mathematica", FontSlant->"Italic"], ". Then enter the command shown below, making an appropriate modification to \ indicate the directory or folder in which HFT6.m is located on your computer. \ After typying <<, you can use the Get File Path command, located in the Input \ menu, to paste the full pathname of HFT6.m into your input cell:" }], "Text", CellChangeTimes->{{3.43880331928125*^9, 3.4388033358125*^9}}, TextAlignment->AlignmentMarker], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"<<", "\"\\"\ "}]], "Input", CellChangeTimes->{{3.438443713515625*^9, 3.438443714125*^9}, { 3.438803322390625*^9, 3.438803322546875*^9}}], Cell[BoxData["\<\"HFT6.m, version 6.22, 20 December 2008; for use with \\!\\(\ \\*\\nStyleBox[\\\"Mathematica\\\",\\nFontSlant->\\\"Italic\\\"]\\) version 6\ \"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.43880651896875*^9}], Cell[BoxData["\<\"The HFT6.m \ \\!\\(\\*\\nStyleBox[\\\"Mathematica\\\",\\nFontSlant->\\\"Italic\\\"]\\) \ package is designed for computing with harmonic functions.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519*^9}], Cell[BoxData["\<\"Documentation for the use of this package and information \ about the algorithms used in it is available in the \ \\!\\(\\*\\nStyleBox[\\\"Mathematica\\\",\\nFontSlant->\\\"Italic\\\"]\\) \ notebook called ComputingWithHarmonicFunctions6.nb.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519*^9}], Cell[BoxData["\<\"The most recent version of this HFT6.m package and its \ documentation notebook ComputingWithHarmonicFunctions6.nb are available at \ http://www.axler.net.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519046875*^9}], Cell[BoxData["\<\"For addional information about harmonic functions, see the \ book \\!\\(\\*\\nStyleBox[\\\"Harmonic\\\",\\nFontSlant->\\\"Italic\\\"]\\)\\!\ \\(\\*\\nStyleBox[\\\" \ \\\",\\nFontSlant->\\\"Italic\\\"]\\)\\!\\(\\*\\nStyleBox[\\\"Function\\\",\\\ nFontSlant->\\\"Italic\\\"]\\)\\!\\(\\*\\nStyleBox[\\\" \\\",\\nFontSlant->\\\ \"Italic\\\"]\\)\\!\\(\\*\\nStyleBox[\\\"Theory\\\",\\nFontSlant->\\\"Italic\\\ \"]\\) (second edition), by Sheldon Axler, Paul Bourdon, and Wade Ramey, \ published by Springer.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519078125*^9}], Cell[BoxData["\<\"This package is copyrighted by Sheldon Axler but is \ distributed without charge.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519125*^9}], Cell[BoxData["\<\"Comments, suggestions, and bug reports should be sent by \ electronic mail to axler@sfsu.edu.\"\>"], "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519171875*^9}], Cell[BoxData["\<\"* The computer is now unpacking the HFT6.m package.\"\>"], \ "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.438806519203125*^9}], Cell[BoxData["\<\"* You can now use the functions in this package.\"\>"], \ "Print", CellChangeTimes->{ 3.438443716078125*^9, 3.438805896*^9, {3.438806016890625*^9, 3.43880602996875*^9}, 3.4388060953125*^9, 3.438806126375*^9, 3.438806348015625*^9, 3.43880651925*^9}] }, Closed]], Cell["\<\ After loading the HFT6.m package, you can use the functions described in the \ rest of this notebook.\ \>", "Text", CellChangeTimes->{3.43880335515625*^9}], Cell[TextData[{ "This is a live ", StyleBox["Mathematica", FontSlant->"Italic"], " notebook, meaning that you can and should evaluate and modify the input \ cells in this notebook." }], "Text", CellChangeTimes->{ 3.43880335515625*^9, {3.43880769084375*^9, 3.438807777234375*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["On-line Help", "Subsection", CellTags->"On-line Help"], Cell["\<\ This notebook provides the only complete documentation for using the HFT6.m \ package. However, users can be reminded about the basic use and syntax of \ each function created by HFT6.m by entering ? followed by the function name:\ \>", "Text", CellChangeTimes->{{3.43880336240625*^9, 3.438803370046875*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"?", "Volume"}]], "Input"], Cell[BoxData[ StyleBox["\<\"Volume[n] gives the volume of the unit ball in n-dimensional \ real Euclidean space.\"\>", "MSG"]], "Print", "PrintUsage", CellChangeTimes->{3.438806530484375*^9}, CellTags->"Info3438777730-8377448"] }, Closed]], Cell[TextData[{ "The ", StyleBox["Mathematica", FontSlant->"Italic"], " statement Names[\"HFT`*\"] will produce a complete list of the functions \ created by HFT6.m:" }], "Text", CellChangeTimes->{3.43880337515625*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Names", "[", "\"\\"", "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"\<\"Annulus\"\>", ",", "\<\"AntiLaplacian\"\>", ",", "\<\"Ball\"\>", ",", "\<\"BasisH\"\>", ",", "\<\"BergmanKernel\"\>", ",", "\<\"BergmanKernelH\"\>", ",", "\<\"BergmanProjection\"\>", ",", "\<\"BiDirichlet\"\>", ",", "\<\"Delta\"\>", ",", "\<\"Dimension\"\>", ",", "\<\"DimensionH\"\>", ",", "\<\"Dirichlet\"\>", ",", "\<\"Divergence\"\>", ",", "\<\"ExpandNorm\"\>", ",", "\<\"ExteriorNeumann\"\>", ",", "\<\"ExteriorSphere\"\>", ",", "\<\"Grad\"\>", ",", "\<\"HarmonicConjugate\"\>", ",", "\<\"HarmonicDecomposition\"\>", ",", "\<\"HilbertSchmidt\"\>", ",", "\<\"Homogeneous\"\>", ",", "\<\"Hyperplane\"\>", ",", "\<\"IntegrateBall\"\>", ",", "\<\"IntegrateSphere\"\>", ",", "\<\"J\"\>", ",", "\<\"Kelvin\"\>", ",", "\<\"KelvinM\"\>", ",", "\<\"Laplacian\"\>", ",", "\<\"Multiple\"\>", ",", "\<\"Neumann\"\>", ",", "\<\"NormalD\"\>", ",", "\<\"Orthonormal\"\>", ",", "\<\"Partial\"\>", ",", "\<\"PoissonKernel\"\>", ",", "\<\"PoissonKernelH\"\>", ",", "\<\"Quadratic\"\>", ",", "\<\"Reflection\"\>", ",", "\<\"Region\"\>", ",", "\<\"S\"\>", ",", "\<\"Schwarz\"\>", ",", "\<\"SetDimension\"\>", ",", "\<\"Singularity\"\>", ",", "\<\"SurfaceArea\"\>", ",", "\<\"Taylor\"\>", ",", "\<\"Togetherness\"\>", ",", "\<\"TurnOff\"\>", ",", "\<\"TurnOn\"\>", ",", "\<\"Volume\"\>", ",", "\<\"ZeroToZero\"\>", ",", "\<\"ZonalHarmonic\"\>", ",", "\<\"\[CapitalPhi]\"\>"}], "}"}]], "Output", CellChangeTimes->{3.4384437326875*^9, 3.438806535109375*^9}] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[TextData[{ "Calculus in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontSlant->"Plain"], "n"], TraditionalForm]]] }], "Section", CellTags->"Calculus in R^n"], Cell[CellGroupData[{ Cell["Norm", "Subsection", CellTags->"Norm"], Cell[TextData[{ StyleBox["Norm[x]", "InlineInput"], " is the Euclidean norm of a vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". When using StandardForm for output (which is the default in ", StyleBox["Mathematica", FontSlant->"Italic"], "), this package will use ", StyleBox["\[LeftDoubleBracketingBar]x\[RightDoubleBracketingBar]", "InlineInput"], " instead of ", StyleBox["Norm[x]", "InlineInput"], ". When using StandardForm for input (which is the default in ", StyleBox["Mathematica", FontSlant->"Italic"], "), you can use either ", StyleBox["\[LeftDoubleBracketingBar]x\[RightDoubleBracketingBar]", "InlineInput"], " or ", StyleBox["Norm[x]", "InlineInput"], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"5", " ", "x"}], "\[RightDoubleBracketingBar]"}], " ", "-", SuperscriptBox[ RowBox[{"Norm", "[", RowBox[{"2", "x"}], "]"}], "2"]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"5", " ", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], "-", RowBox[{"4", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]}]], "Output", CellChangeTimes->{3.438443748125*^9, 3.43880654934375*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["ExpandNorm", "Subsection", CellTags->"ExpandNorm"], Cell[TextData[{ StyleBox["ExpandNorm", "InlineInput"], " expands norms of sums (and differences) by replacing expressions of the \ form ", Cell[BoxData[ FormBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "+", "y"}], "\[RightDoubleBracketingBar]"}], TraditionalForm]]], " with (", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}], TraditionalForm]]], "+ ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{ RowBox[{"x", ".", "y"}], ")"}], RowBox[{"1", "/", "2"}]], TraditionalForm]]], ". ", StyleBox["ExpandNorm", "InlineInput"], " is often useful for verifying identities. For example, to prove the \ Symmetry Lemma (1.13 in [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]), which states that" }], "Text"], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["y", RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], " ", "x"}]}], "\[RightDoubleBracketingBar]"}], "=", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["x", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], " ", "y"}]}], "\[RightDoubleBracketingBar]"}]}], TraditionalForm]], "Text", TextAlignment->Center], Cell[TextData[{ " for all nonzero ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " \[Epsilon] ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", we subtract the left-hand side of the alleged equality from the \ right-hand side, hoping that the result equals 0:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["x", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], " ", "y"}]}], "\[RightDoubleBracketingBar]"}], "-", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["y", RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], " ", "x"}]}], "\[RightDoubleBracketingBar]"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["x", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{"y", " ", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}]}], "\[RightDoubleBracketingBar]"}], "-", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ FractionBox["y", RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}]], "-", RowBox[{"x", " ", RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}]}]}], "\[RightDoubleBracketingBar]"}]}]], "Output", CellChangeTimes->{3.4384437545625*^9, 3.43880655553125*^9}] }, Closed]], Cell[TextData[{ "The last output does not look like 0, so we apply ", StyleBox["ExpandNorm", "InlineInput"], " to it. The symbol ", StyleBox["%", "InlineInput"], " used below is the ", StyleBox["Mathematica", FontSlant->"Italic"], " abbreviation for the last output:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandNorm", "[", "%", "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.43844375759375*^9, 3.43880655875*^9}] }, Closed]], Cell["\<\ Because the last output equals 0, the Symmetry Lemma has been proved.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Partial", "Subsection", CellTags->"Partial"], Cell[TextData[{ StyleBox["Partial[f, ", "InlineInput"], StyleBox[Cell[BoxData[ SubscriptBox["x", "j"]], "InlineInput"], "InlineInput"], StyleBox["]", "InlineInput"], " is the partial derivative of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to ", Cell[BoxData[ FormBox[ SubscriptBox["x", "j"], TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " denotes a vector in Euclidean space, and ", Cell[BoxData[ FormBox[ SubscriptBox["x", "j"], TraditionalForm]]], " is the ", Cell[BoxData[ FormBox[ SuperscriptBox["j", "th"], TraditionalForm]]], " coordinate of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". The advantage of using ", StyleBox["Partial", "InlineInput"], " rather than the built-in ", Cell[BoxData[ FormBox["Mathematica", TraditionalForm]]], " function ", StyleBox["D", "InlineInput"], " or ", Cell[BoxData[ FormBox[ StyleBox["\[PartialD]", "InlineInput"], TraditionalForm]]], " is that ", StyleBox["Partial", "InlineInput"], " can deal with norms and dot products. Note that the dot product of ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is denoted by ", StyleBox["b.x", "InlineInput"], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Partial", "[", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"a", "+", "x"}], "\[RightDoubleBracketingBar]"}], RowBox[{"b", ".", "x"}]], ",", SubscriptBox["x", "5"]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"Log", "[", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"a", "+", "x"}], "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"a", "+", "x"}], "\[RightDoubleBracketingBar]"}], RowBox[{"b", ".", "x"}]], " ", SubscriptBox["b", "5"]}], "+", RowBox[{ RowBox[{"b", ".", "x"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"a", "+", "x"}], "\[RightDoubleBracketingBar]"}], RowBox[{ RowBox[{"-", "2"}], "+", RowBox[{"b", ".", "x"}]}]], " ", RowBox[{"(", RowBox[{ SubscriptBox["a", "5"], "+", SubscriptBox["x", "5"]}], ")"}]}]}]], "Output", CellChangeTimes->{3.438443764953125*^9, 3.43880657146875*^9}] }, Closed]], Cell[TextData[{ "A subscript can be typed in ", StyleBox["Mathematica", FontSlant->"Italic"], " by pressing control-dash. Return to normal mode by pressing control-space. \ A suberscript or exponent can be typed by pressing control-6. Instead of \ entering ", Cell[BoxData[ StyleBox[ SubscriptBox["x", "j"], "InlineInput"]]], ", you can type ", StyleBox["x[j]", "InlineInput"], "." }], "Text"], Cell[TextData[{ "For taking multiple partial derivatives, ", StyleBox["Partial", "InlineInput"], " uses the same syntax as the built-in ", StyleBox["Mathematica", FontSlant->"Italic"], " function ", StyleBox["D", "InlineInput"], ". For example, the following command computes the partial derivative of |", Cell[BoxData[ FormBox["x", TraditionalForm]]], "| once with respect to the second coordinate, twice with respect to the \ first coordinate, and three times with respect to the fourth coordinate:" }], "Text", CellChangeTimes->{{3.43887150409375*^9, 3.43887150865625*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Partial", "[", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], ",", SubscriptBox["x", "2"], ",", RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ SubscriptBox["x", "4"], ",", "3"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"-", FractionBox[ RowBox[{"15", " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "4"]}], "-", RowBox[{"21", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "4"]}], "-", RowBox[{"7", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "4", "3"]}], "+", RowBox[{"63", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "4", "3"]}]}], ")"}]}], SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "11"]]}]], "Output", CellChangeTimes->{3.438443767859375*^9, 3.4388065735*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Laplacian", "Subsection", CellTags->"Laplacian"], Cell[TextData[{ StyleBox["Laplacian[f, x]", "InlineInput"], " is the Laplacian of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{ RowBox[{ SubscriptBox["x", "3"], " ", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ SubscriptBox["x", "3"], "+", RowBox[{ RowBox[{"Dimension", "[", "x", "]"}], " ", SubscriptBox["x", "3"]}]}], RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]]], "Output", CellChangeTimes->{3.438806580140625*^9}] }, Closed]], Cell[TextData[{ "Note that in the last result, the Laplacian depends upon ", StyleBox["Dimension[x]", "Output"], ", which is the dimension of the Euclidean space in which ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " lives. For work in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", ", StyleBox["SetDimension[x, n]", "InlineInput"], " should be used to set the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " equal to ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "; here ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " can be a symbol or a specific integer, say 8. We illustrate this procedure \ by showing that for each ", Cell[BoxData[ FormBox["z", TraditionalForm]]], " with |", Cell[BoxData[ FormBox["z", TraditionalForm]]], "| = 1, the Poisson kernel ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "( . , ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ") is harmonic (in other words, what follows is a proof of Proposition 1.18 \ of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]):" }], "Text", CellChangeTimes->{3.4390859020625*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806583515625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], "/", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "z"}], "\[RightDoubleBracketingBar]"}], "n"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"4", " ", "n", " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"x", ".", "z"}]}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{ RowBox[{"-", "2"}], "-", "n"}]]}], "-", RowBox[{"2", " ", "n", " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]]}], "+", RowBox[{ RowBox[{"(", RowBox[{"1", "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", "n"}], ")"}]}], " ", "n", " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{ RowBox[{"-", "2"}], "-", "n"}]]}], "-", RowBox[{"n", " ", RowBox[{"(", RowBox[{"1", "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{ RowBox[{"-", "4"}], "-", "n"}]], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"x", ".", "z"}]}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}]}]}], ")"}]}]}]], "Output", CellChangeTimes->{3.438806607171875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"ExpandNorm", "[", "%", "]"}], " ", "/.", " ", RowBox[{ RowBox[{"Norm", "[", "z", "]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.438806610515625*^9}] }, Closed]], Cell[TextData[{ "Thus the Laplacian of ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "( . , ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ") is 0, and hence ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "( . , ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ") is harmonic, as claimed." }], "Text", CellChangeTimes->{{3.439085905015625*^9, 3.439085908453125*^9}}], Cell[TextData[{ Cell[BoxData[ FormBox[ StyleBox[ SuperscriptBox["Laplacian", StyleBox["m", FontSlant->"Plain"]], "InlineInput"], TraditionalForm]]], " can be used, with the same syntax as Laplacian, to evaluate the ", Cell[BoxData[ FormBox[ SuperscriptBox["m", "th"], TraditionalForm]]], " power of the Laplacian. For example, here we find the biLaplacian (the \ Laplacian of the Laplacian) of 1/|", Cell[BoxData[ FormBox["x", TraditionalForm]]], "| on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ SuperscriptBox["Laplacian", "2"], "[", RowBox[{ RowBox[{"1", "/", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"3", " ", RowBox[{"(", RowBox[{"15", "-", RowBox[{"8", " ", "n"}], "+", SuperscriptBox["n", "2"]}], ")"}]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "5"]]], "Output", CellChangeTimes->{3.438806617390625*^9}] }, Closed]], Cell[TextData[{ "If ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " are symbols,then ", StyleBox["Laplacian[f,x,y]", "InlineInput"], " gives the Laplacian of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to the vector (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "), where ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is thought of as a vector, ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " is thought of as a real variable, and (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], ") is thought of as a vector in a Euclidean space whose dimension is one \ more than the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". This format is often useful when working with functions defined on the \ upper half-space, as in Chapter 7 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]. Note that if we are thinking of (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], ") as an element of ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", then ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " should be defined to have dimension ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "1"}], TraditionalForm]]], ". We illustrate the use of this format of the ", StyleBox["Laplacian", "InlineInput"], " function by showing that for each ", Cell[BoxData[ FormBox["t", TraditionalForm]]], " \[Epsilon] ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], RowBox[{"n", "-", "1"}]], TraditionalForm]]], ", the Poisson kernel ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], "( ", Cell[BoxData[ FormBox[ RowBox[{".", " "}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox["t", TraditionalForm]]], ") for the upper half-space is harmonic (see page 145 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "] for another proof of this):" }], "Text", CellChangeTimes->{ 3.439085630921875*^9, {3.439085725234375*^9, 3.439085771265625*^9}, 3.4391705214375*^9}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", RowBox[{"n", "-", "1"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(\\(\\(-1\\)\\) + n\\)-dimensional real Euclidean space.\"\>"}]], \ "Message", CellChangeTimes->{3.4388066260625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{ RowBox[{"y", "/", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", "-", "t"}], "\[RightDoubleBracketingBar]"}], "2"], "+", SuperscriptBox["y", "2"]}], ")"}], RowBox[{"n", "/", "2"}]]}], ",", "x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"-", FractionBox[ RowBox[{"n", " ", "y", " ", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["y", "2"], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "2"}], "-", FractionBox["n", "2"]}]], " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"t", ".", "x"}]}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "t", "\[RightDoubleBracketingBar]"}], "2"], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SuperscriptBox["y", "2"]}], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"], "+", RowBox[{"n", " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]]}]], "Output", CellChangeTimes->{3.4388066355625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExpandNorm", "[", "%", "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.43880663840625*^9}] }, Closed]], Cell[TextData[{ "Thus the Laplacian of ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], "( ", Cell[BoxData[ FormBox[ RowBox[{".", " "}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox["t", TraditionalForm]]], ") is 0, and hence ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], "( ", Cell[BoxData[ FormBox[ RowBox[{".", " "}], TraditionalForm]]], ", ", Cell[BoxData[ FormBox["t", TraditionalForm]]], ") is harmonic, as claimed." }], "Text", CellChangeTimes->{{3.439085808171875*^9, 3.43908581690625*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Grad", "Subsection", CellTags->"Grad"], Cell[TextData[{ StyleBox["Grad[f, x]", "InlineInput"], " is the gradient of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to the vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " (", StyleBox["Mathematica", FontSlant->"Italic"], "'s convention of spelling out names in full would imply that this function \ should be called ", StyleBox["Gradient", "InlineInput"], " instead of ", StyleBox["Grad", "InlineInput"], ", but ", StyleBox["Gradient", "InlineInput"], " is already used by ", StyleBox["Mathematica", FontSlant->"Italic"], " for an unrelated purpose):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Grad", "[", RowBox[{ RowBox[{ RowBox[{"a", ".", "x"}], "+", SubscriptBox["x", "k"], "+", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"a", "+", RowBox[{"Delta", "[", "k", "]"}], "+", FractionBox["x", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]]}]], "Output", CellChangeTimes->{3.438806645328125*^9}] }, Closed]], Cell[TextData[{ "In the last output, ", StyleBox["Delta[k]", "Output"], " denotes the vector that equals 1 in the ", Cell[BoxData[ FormBox[ SuperscriptBox["k", "th"], TraditionalForm]]], " coordinate and 0 in the other coordinates." }], "Text", CellTags->"Delta"] }, Closed]], Cell[CellGroupData[{ Cell["NormalD", "Subsection", CellTags->"NormalD"], Cell[TextData[{ StyleBox["NormalD[f, z]", "InlineInput"], " equals the outward normal derivative of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " at a point ", Cell[BoxData[ FormBox["z", TraditionalForm]]], " on the unit sphere." }], "Text"], Cell[TextData[{ "In the section of Chapter 1 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "] titled ", StyleBox["The Poisson Kernel for the Ball", FontSlant->"Italic"], ", the formula for the Poisson kernel was derived by showing that ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ",\[NonBreakingSpace]", Cell[BoxData[ FormBox["z", TraditionalForm]]], ") equals the normal derivative (with respect to ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ") of" }], "Text"], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", "x"}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], "-", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]]}]}], ")"}], "/", RowBox[{ RowBox[{"(", RowBox[{"2", "-", "n"}], ")"}], "."}]}], TraditionalForm]], "Text", TextAlignment->Center], Cell["\<\ The computation of that normal derivative is a bit complicated and was left \ to the reader. Now we show how this computation can be done easily by a \ computer. We begin by taking the normal derivative of the function above:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"NormalD", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", "x"}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], "-", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]]}]}], ")"}], "/", RowBox[{"(", RowBox[{"2", "-", "n"}], ")"}]}], ",", "z"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"2", "-", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"1", "-", RowBox[{"x", ".", "z"}]}], ")"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "x"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]]}], "-", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "2"}], "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]], " ", RowBox[{"(", RowBox[{ RowBox[{"x", ".", "z"}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]]}]}], RowBox[{"2", "-", "n"}]]], "Output", CellChangeTimes->{3.4388066765625*^9}] }, Closed]], Cell[TextData[{ "Now we ask the computer to replace ", Cell[BoxData[ FormBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}], "\[RightDoubleBracketingBar]"}], TraditionalForm]]], " in the last output with ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", "x"}], "\[RightDoubleBracketingBar]"}], "/", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], TraditionalForm]]], "; the Symmetry Lemma (1.13 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]) implies that the two expressions are equal:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%", " ", "/.", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}], "\[RightDoubleBracketingBar]"}], "\[Rule]", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", "x"}], "\[RightDoubleBracketingBar]"}], "/", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}]}]}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"2", "-", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"1", "-", RowBox[{"x", ".", "z"}]}], ")"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "x"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "2"}], "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]], " ", RowBox[{"(", RowBox[{ RowBox[{"-", RowBox[{"x", ".", "z"}]}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", SuperscriptBox[ RowBox[{"(", FractionBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "x"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]], ")"}], RowBox[{"-", "n"}]]}]}], RowBox[{"2", "-", "n"}]]], "Output", CellChangeTimes->{3.438806685203125*^9}] }, Closed]], Cell[TextData[{ "Applying the ", StyleBox["Mathematica", FontSlant->"Italic"], " function ", StyleBox["PowerExpand", "InlineInput"], " to the last output gives the desired result:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PowerExpand", "[", "%", "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}]}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "x"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]]}]], "Output", CellChangeTimes->{3.438806688375*^9}] }, Closed]], Cell["\<\ The last output completes the derivation of the formula for the Poisson \ kernel for the ball.\ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Matrices", "Subsection", CellTags->"Matrices"], Cell[CellGroupData[{ Cell["Matrix dimensions", "Subsubsection"], Cell[TextData[{ StyleBox["Mathematica", FontSlant->"Italic"], " uses ", StyleBox[".", "InlineInput"], " to represent matrix multiplication as well as dot product. When using \ this package, you must use the ", StyleBox["SetDimension", "InlineInput"], " command to tell ", StyleBox["Mathematica ", FontSlant->"Italic"], "whenever a symbol is being thought of as a matrix. To think of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " as an ", Cell[BoxData[ FormBox["m", TraditionalForm]]], "-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix, enter the command ", StyleBox["SetDimension[A, {m, n}]", "InlineInput"], ". For the examples in this section, we want to think of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " as a square matrix, so we make the two dimensions of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " equal:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"A", ",", " ", RowBox[{"{", RowBox[{"n", ",", "n"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Matrix\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(A\\) will be considered to be a matrix of size \ \\!\\(n\\)-by-\\!\\(n\\).\"\>"}]], "Message", CellChangeTimes->{3.4388066990625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Grad", "[", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"A", ".", "x"}], "\[RightDoubleBracketingBar]"}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", "A"}], RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"A", ".", "x"}], "\[RightDoubleBracketingBar]"}]]], "Output", CellChangeTimes->{3.438806702015625*^9}] }, Closed]], Cell[TextData[{ "To interpret input or output involving products of matrices and vectors, \ think of vectors as either column vectors or row vectors, whichever makes \ sense in context. Thus in the input above, ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is obviously a vector, because we are taking the gradient of some function \ with respect to ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". For ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " to make sense as a vector in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", we must think of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " as a column vector (an ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-1 matrix). To interpret ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", "A"}], TraditionalForm]]], " in the last output, we again think of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " as a column vector (an ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-1 matrix), so that ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " makes sense as an element of ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ". Because ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " is then multiplied by the ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ", we must think of ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " as a row vector (an 1-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix), so that ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", "A"}], TraditionalForm]]], " is a vector, as expected here (because it is the gradient of a function)." }], "Text"], Cell[TextData[{ "In the example above we did not enter the command ", StyleBox["SetDimension[x, n]", "InlineInput"], " to tell ", StyleBox["Mathematica", FontSlant->"Italic"], " that ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is a vector (although it would not have hurt to do so). The HFT6.m package \ can almost always use the context to distinguish scalars from vectors (if \ both interpretations make sense, the package assumes that a symbol represents \ a scalar). However, you must always explicitly use the ", StyleBox["SetDimension", "InlineInput"], " command to tell ", StyleBox["Mathematica", FontSlant->"Italic"], " which objects are matrices." }], "Text", CellChangeTimes->{3.438803381234375*^9}] }, Closed]], Cell[CellGroupData[{ Cell["Rows and columns", "Subsubsection"], Cell[TextData[{ "If ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " is a matrix, then ", Cell[BoxData[ FormBox[ SubscriptBox["A", RowBox[{"j", ",", "."}]], TraditionalForm]]], " denotes the ", Cell[BoxData[ FormBox[ SuperscriptBox["j", "th"], TraditionalForm]]], " row of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ SubscriptBox["A", RowBox[{".", RowBox[{",", "j"}]}]], TraditionalForm]]], " denotes the ", Cell[BoxData[ FormBox[ SuperscriptBox["j", "th"], TraditionalForm]]], " column of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Partial", "[", RowBox[{ RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"A", ".", "x"}], "\[RightDoubleBracketingBar]"}], "+", RowBox[{"5", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A"}], "\[RightDoubleBracketingBar]"}]}]}], ",", SubscriptBox["x", "3"]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", SubscriptBox["A", RowBox[{"\<\".\"\>", ",", "3"}]]}], RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"A", ".", "x"}], "\[RightDoubleBracketingBar]"}]], "+", FractionBox[ RowBox[{"5", " ", RowBox[{ RowBox[{"(", RowBox[{"x", ".", "A"}], ")"}], ".", SubscriptBox["A", RowBox[{"3", ",", "\<\".\"\>"}]]}]}], RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A"}], "\[RightDoubleBracketingBar]"}]]}]], "Output", CellChangeTimes->{3.438806711453125*^9}] }, Closed]], Cell[TextData[{ "Note that in the input above, ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is thought of as a column vector in the term ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " and as a row vector in the term ", Cell[BoxData[ FormBox[ RowBox[{"x", ".", "A"}], TraditionalForm]]], ". To interpret ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", SubscriptBox["A", RowBox[{".", RowBox[{",", "3"}]}]]}], TraditionalForm]]], " in the last output, we think of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " as a column vector, so that ", Cell[BoxData[ FormBox[ RowBox[{"A", ".", "x"}], TraditionalForm]]], " is a vector. Then ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}], ".", SubscriptBox["A", RowBox[{".", RowBox[{",", "3"}]}]]}], TraditionalForm]]], " is just the dot product of two vectors, so that it is a number, as \ expected here." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["HilbertSchmidt", "Subsubsection"], Cell[TextData[{ StyleBox["HilbertSchmidt[A]", "InlineInput"], " is the Hilbert-Schmidt norm of a matrix ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ", which is the square root of the sum of the squares of all entries of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A"}], "\[RightDoubleBracketingBar]"}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{"HilbertSchmidt", "[", "A", "]"}], "2"], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A"}], "\[RightDoubleBracketingBar]"}], "2"]}], "-", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A", ".", RowBox[{"Transpose", "[", "A", "]"}]}], "\[RightDoubleBracketingBar]"}], "2"]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"x", ".", "A"}], "\[RightDoubleBracketingBar]"}], "3"]]], "Output",\ CellChangeTimes->{3.438806725078125*^9}] }, Closed]], Cell[TextData[{ "Here ", StyleBox["Transpose[A]", "Output"], " is the matrix obtained from ", Cell[BoxData[ FormBox["A", TraditionalForm]]], " by interchanging the rows and columns of ", Cell[BoxData[ FormBox["A", TraditionalForm]]], "." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Divergence", "Subsection", CellTags->"Divergence"], Cell[TextData[{ StyleBox["Divergence[f, x]", "InlineInput"], " is the divergence of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to the vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"A", ",", " ", RowBox[{"{", RowBox[{"n", ",", "n"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Matrix\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(A\\) will be considered to be a matrix of size \ \\!\\(n\\)-by-\\!\\(n\\).\"\>"}]], "Message", CellChangeTimes->{3.43880673103125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Divergence", "[", RowBox[{ RowBox[{ RowBox[{"A", ".", "x"}], "/", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"-", FractionBox[ RowBox[{"x", ".", RowBox[{"(", RowBox[{"A", ".", "x"}], ")"}]}], SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"]]}], "+", FractionBox[ RowBox[{"Tr", "[", "A", "]"}], RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]]}]], "Output", CellChangeTimes->{3.438806733984375*^9}] }, Closed]], Cell["Here Tr[A] is the trace of the square matrix A.", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["J", "Subsection", CellTags->"J"], Cell[TextData[{ StyleBox["J[f, x]", "InlineInput"], " is the Jacobian derivative of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " with respect to ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " should be a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " taking values in some Euclidean space, and the Jacobian derivative is the \ usual matrix consisting of partial derivatives of the coordinates of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " (", StyleBox["Mathematica", FontSlant->"Italic"], "'s convention of spelling out names in full would imply that this function \ should be called ", StyleBox["Jacobian", "InlineInput"], " instead of ", StyleBox["J", "InlineInput"], ", but ", StyleBox["Jacobian", "InlineInput"], " is already used by ", StyleBox["Mathematica", FontSlant->"Italic"], " for an unrelated purpose):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806744609375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"J", "[", RowBox[{ RowBox[{"x", "/", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"-", FractionBox[ RowBox[{"2", " ", RowBox[{ RowBox[{"Transpose", "[", RowBox[{"{", "x", "}"}], "]"}], ".", RowBox[{"{", "x", "}"}]}]}], SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]]}], "+", FractionBox[ RowBox[{"IdentityMatrix", "[", "n", "]"}], SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]]}]], "Output", CellChangeTimes->{3.438806747875*^9}] }, Closed]], Cell[TextData[{ "Although ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " can be thought of as a row vector or a column vector, depending on the \ context, if we were using explicit coordinates we would represent ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " in ", StyleBox["Mathematica", FontSlant->"Italic"], " by something like ", Cell[BoxData[ StyleBox[ RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", SubscriptBox["x", "2"], ",", "...", " ", ",", " ", SubscriptBox["x", "n"]}], "}"}], "InlineInput"]]], ". Thus ", StyleBox["{x}", "InlineInput"], " would be ", Cell[BoxData[ StyleBox[ RowBox[{"{", RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", SubscriptBox["x", "2"], ",", "...", " ", ",", " ", SubscriptBox["x", "n"]}], "}"}], "}"}], "InlineInput"]]], ", which is a 1-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix. Thus ", StyleBox["Transpose[{x}]", "InlineInput"], " is an ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-1 matrix, and the product ", StyleBox["Transpose[{x}].{x}", "Output"], ", which appears in the last output, is an ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix, as expected." }], "Text"], Cell[TextData[{ StyleBox["IdentityMatrix[n]", "Output"], ", which also appears in the last output, denotes the ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "-by-", Cell[BoxData[ FormBox["n", TraditionalForm]]], " matrix with 1's on the diagonal and 0's elsewhere." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Homogeneous", "Subsection", CellTags->"Homogeneous"], Cell[TextData[{ StyleBox["Homogeneous[u, m, x]", "InlineInput"], " is the term of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], " in the homogeneous expansion of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " at the origin; here ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " is thought of as a function of the vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "3"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(3\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806759125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Homogeneous", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"1", "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], "/", SuperscriptBox[ RowBox[{"Cos", "[", SubscriptBox["x", "1"], "]"}], RowBox[{"3", "/", "2"}]]}], ",", "4", ",", "x"}], "]"}], "\n"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", "32"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "11"}], " ", SubsuperscriptBox["x", "1", "4"]}], "-", RowBox[{"24", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"24", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438806761875*^9}] }, Closed]], Cell[TextData[{ "To find homogeneous expansions about points other than the origin, use ", StyleBox["Homogeneous[u, m, x, b]", "InlineInput"], ", which gives the term of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], " in the homogeneous expansion of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ", as a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", about ", Cell[BoxData[ FormBox["b", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Homogeneous", "[", RowBox[{ RowBox[{ RowBox[{ SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "+", SuperscriptBox[ SubscriptBox["x", "3"], "4"]}], ",", "2", ",", "x", ",", "b"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"Togetherness", "::", "\<\"Off\"\>"}], RowBox[{ ":", " "}], "\<\"Togetherness has been turned off. The command \ TurnOn[Togetherness] will turn it back on.\"\>"}]], "Message", CellChangeTimes->{3.43880676575*^9}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "1"]}], "+", SubscriptBox["x", "1"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "2"]}], "+", SubscriptBox["x", "2"]}], ")"}]}], "+", RowBox[{"6", " ", SubsuperscriptBox["b", "3", "2"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "3"]}], "+", SubscriptBox["x", "3"]}], ")"}], "2"]}]}]], "Output", CellChangeTimes->{3.43880676575*^9}] }, Closed]], Cell[TextData[{ "The first time in each ", StyleBox["Mathematica", FontSlant->"Italic"], " session that you use ", StyleBox["Homogeneous", "InlineInput"], " to find an expansion about a point other than the origin, you may see a \ message that ", StyleBox["Togetherness", "Output"], " has been turned off. The ", ButtonBox["Togetherness", BaseStyle->"Hyperlink", ButtonData:>"TurnOff and TurnOn"], " subsection later in this notebook provides an explanation for this \ message." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Taylor", "Subsection", CellTags->"Taylor"], Cell[TextData[{ StyleBox["Taylor[u, m, x]", "InlineInput"], " is the sum of all terms of degree at most ", Cell[BoxData[ FormBox["m", TraditionalForm]]], " in the Taylor series expansion of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " at the origin; here ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " is thought of as a function of the vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Taylor", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], "/", RowBox[{"(", RowBox[{"6", "+", SubscriptBox["x", "2"], "+", RowBox[{"Cos", "[", SubscriptBox["x", "3"], "]"}]}], ")"}]}], ",", "4", ",", "x"}], "]"}], "\n"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ SubsuperscriptBox["x", "1", "2"], "7"], "-", RowBox[{ FractionBox["1", "49"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ FractionBox["1", "343"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{ FractionBox["1", "98"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}]], "Output", CellChangeTimes->{3.438806790734375*^9}] }, Closed]], Cell[TextData[{ "To find Taylor series expansions about points other than the origin, use ", StyleBox["Taylor[u, m, x, b]", "InlineInput"], ", which gives the sum of all terms of degree at most ", Cell[BoxData[ FormBox["m", TraditionalForm]]], " in the Taylor series expansion of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ", as a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", about ", Cell[BoxData[ FormBox["b", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Taylor", "[", RowBox[{ RowBox[{"1", "+", RowBox[{ SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "+", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], ",", "2", ",", "x", ",", "b"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"1", "+", SubsuperscriptBox["b", "1", "2"], "+", RowBox[{ SubscriptBox["b", "1"], " ", SubscriptBox["b", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", SubscriptBox["b", "1"]}], "+", SubscriptBox["b", "2"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "1"]}], "+", SubscriptBox["x", "1"]}], ")"}]}], "+", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "1"]}], "+", SubscriptBox["x", "1"]}], ")"}], "2"], "+", RowBox[{ SubscriptBox["b", "1"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "2"]}], "+", SubscriptBox["x", "2"]}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "1"]}], "+", SubscriptBox["x", "1"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", SubscriptBox["b", "2"]}], "+", SubscriptBox["x", "2"]}], ")"}]}]}]], "Output", CellChangeTimes->{3.43880679375*^9}] }, Closed]], Cell[TextData[{ "The first time in each ", StyleBox["Mathematica", FontSlant->"Italic"], " session that you use ", StyleBox["Taylor", "InlineInput"], " to find an expansion about a point other than the origin, you may see a \ message that ", StyleBox["Togetherness", "Output"], " has been turned off. The ", ButtonBox["Togetherness", BaseStyle->"Hyperlink", ButtonData:>"TurnOff and TurnOn"], " subsection later in this notebook provides an explanation for this \ message. ", "For now, we turn ", StyleBox["Togetherness", "Output"], " back on so that further output in this notebook will be displayed nicely." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"TurnOn", "[", "Togetherness", "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"Togetherness", "::", "\<\"On\"\>"}], RowBox[{ ":", " "}], "\<\"Togetherness has been turned on. The command \ TurnOff[Togetherness] will turn it back off.\"\>"}]], "Message", CellChangeTimes->{3.43880680015625*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Nonexplicit functions", "Subsection", CellTags->"Nonexplicit Functions"], Cell[TextData[{ "Our examples so far have involved only concretely defined functions. But \ functions in symbolic form can also be used with each of the differentiation \ commands in this package. Here, for example, is how to find the gradient of \ the function whose value at ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", SuperscriptBox[ RowBox[{"(", RowBox[{"g", "(", RowBox[{"3", "x"}], ")"}], ")"}], "2"], ")"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Grad", "[", RowBox[{ RowBox[{"f", "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", "x"}], "]"}], "2"], "]"}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"6", " ", RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], " ", RowBox[{ RowBox[{"Grad", "[", "g", "]"}], "[", RowBox[{"3", " ", "x"}], "]"}], " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], "2"], "]"}]}]], "Output", CellChangeTimes->{3.438806807265625*^9, 3.4391676496875*^9}] }, Closed]], Cell[TextData[{ "Here ", StyleBox["Grad[g][3x]", "Output"], " denotes the gradient of ", Cell[BoxData[ FormBox["g", TraditionalForm]]], ", evaluated at ", Cell[BoxData[ FormBox[ RowBox[{"3", " ", "x"}], TraditionalForm]]], ". For the example above to make sense, we (and the computer) must think of \ ", Cell[BoxData[ FormBox["g", TraditionalForm]]], " as a real-valued function on some Euclidean space (where ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " lives) and ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " as a function from ", StyleBox["R", FontWeight->"Bold"], " to ", StyleBox["R", FontWeight->"Bold"], ". Let's find the Laplacian of the same function:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{ RowBox[{"f", "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", "x"}], "]"}], "2"], "]"}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"18", " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"Grad", "[", "g", "]"}], "[", RowBox[{"3", " ", "x"}], "]"}], "\[RightDoubleBracketingBar]"}], "2"], "+", RowBox[{ RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], " ", RowBox[{ RowBox[{"Laplacian", "[", "g", "]"}], "[", RowBox[{"3", " ", "x"}], "]"}]}]}], ")"}], " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], "2"], "]"}]}], "+", RowBox[{"36", " ", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"Grad", "[", "g", "]"}], "[", RowBox[{"3", " ", "x"}], "]"}], "\[RightDoubleBracketingBar]"}], "2"], " ", RowBox[{ SuperscriptBox["f", "\[Prime]\[Prime]", MultilineFunction->None], "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", " ", "x"}], "]"}], "2"], "]"}]}]}]], "Output", CellChangeTimes->{3.438806810046875*^9, 3.4391676605*^9}] }, Closed]], Cell[TextData[{ StyleBox["Laplacian[g][3x]", "InlineInput"], " denotes, of course, the Laplacian of ", Cell[BoxData[ FormBox["g", TraditionalForm]]], ", evaluated at ", Cell[BoxData[ FormBox[ RowBox[{"3", " ", "x"}], TraditionalForm]]], "." }], "Text"], Cell[TextData[{ "All our differentiation commands (", StyleBox["Partial", "InlineInput"], ", ", StyleBox["Laplacian", "InlineInput"], ", ", StyleBox["Gradient", "InlineInput"], ", ", StyleBox["NormalD", "InlineInput"], ", ", StyleBox["Divergence", "InlineInput"], ", ", StyleBox["Jacobian", "InlineInput"], ") and ", StyleBox["Homogeneous", "InlineInput"], " and ", StyleBox["Taylor", "InlineInput"], " can be used with non-explicit functions. For example, if working in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "2"], TraditionalForm]]], ", to find the term of degree 3 in the homogeneous expansion of ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", SuperscriptBox[ RowBox[{"(", RowBox[{"g", "(", RowBox[{"3", "x"}], ")"}], ")"}], "2"], ")"}], TraditionalForm]]], " about the origin, you would enter the command ", StyleBox["SetDimension[x, 2]", "InlineInput"], " and then the command ", StyleBox["Homogeneous[", "InlineInput"], StyleBox[Cell[BoxData[ RowBox[{"f", "[", SuperscriptBox[ RowBox[{"g", "[", RowBox[{"3", "x"}], "]"}], "2"], "]"}]], "InlineInput"], "InlineInput"], StyleBox[", 3, x].", "InlineInput"], " Try it! In the answer you will see terms such as ", Cell[BoxData[ StyleBox[ RowBox[{ RowBox[{ SubscriptBox["Partial", RowBox[{"{", RowBox[{"1", ",", "1", ",", "2"}], "}"}]], "[", "g", "]"}], "[", "0", "]"}], "Output"]]], ", which denotes the partial derivative of ", Cell[BoxData[ FormBox["g", TraditionalForm]]], ", twice with respect to the first variable and once with respect to the \ second variable, evaluated at 0." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Vector-valued functions", "Subsection", CellTags->"Vector-valued Functions"], Cell[TextData[{ "Suppose we compute the partial derivative with respect to ", Cell[BoxData[ FormBox[ SubscriptBox["x", "1"], TraditionalForm]]], " of the function that takes ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " to ", Cell[BoxData[ FormBox[ RowBox[{"f", "(", RowBox[{"g", "(", SuperscriptBox[ RowBox[{"h", "(", "x", ")"}], "2"], ")"}], ")"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Partial", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"g", "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], "]"}], ",", SubscriptBox["x", "1"]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"2", " ", RowBox[{"h", "[", "x", "]"}], " ", RowBox[{ SuperscriptBox["f", "\[Prime]", MultilineFunction->None], "[", RowBox[{"g", "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], "]"}], " ", RowBox[{ SuperscriptBox["g", "\[Prime]", MultilineFunction->None], "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], " ", RowBox[{ RowBox[{ SubscriptBox["Partial", RowBox[{"{", "1", "}"}]], "[", "h", "]"}], "[", "x", "]"}]}]], "Output", CellChangeTimes->{3.438806820515625*^9, 3.4391680028125*^9}] }, Closed]], Cell[TextData[{ "The example above illustrates a general principle: This package assumes \ that all functions are real valued, unless told otherwise. Thus the last \ output is correct if we are thinking of ", Cell[BoxData[ FormBox["g", TraditionalForm]]], " as a real-valued function. If we want to think of ", Cell[BoxData[ FormBox["g", TraditionalForm]]], " as taking values in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", we must first enter the command ", StyleBox["SetDimension[g[_], n]", "InlineInput"], ", which instructs the computer that ", Cell[BoxData[ FormBox["g", TraditionalForm]]], " is a function with range in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ":" }], "Text", CellChangeTimes->{3.43888882225*^9}], Cell[CellGroupData[{ Cell[BoxData[ StyleBox[ RowBox[{"SetDimension", "[", RowBox[{ RowBox[{"g", "[", "_", "]"}], ",", " ", "n"}], "]"}], "InlineInput"]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"VectorValuedFunction\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(g\\) will be considered to be a function taking \ values in \\!\\(n\\)-dimensional Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880682425*^9, 3.439168011359375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Partial", "[", RowBox[{ RowBox[{"f", "[", RowBox[{"g", "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], "]"}], ",", SubscriptBox["x", "1"]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"2", " ", RowBox[{ RowBox[{ RowBox[{"Grad", "[", "f", "]"}], "[", RowBox[{"g", "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], "]"}], ".", RowBox[{"(", RowBox[{ RowBox[{"h", "[", "x", "]"}], " ", RowBox[{ SuperscriptBox["g", "\[Prime]", MultilineFunction->None], "[", SuperscriptBox[ RowBox[{"h", "[", "x", "]"}], "2"], "]"}], " ", RowBox[{ RowBox[{ SubscriptBox["Partial", RowBox[{"{", "1", "}"}]], "[", "h", "]"}], "[", "x", "]"}]}], ")"}]}]}]], "Output", CellChangeTimes->{3.43880682721875*^9, 3.4391680144375*^9}] }, Closed]], Cell[TextData[{ "Note that the last output involves the dot product of two vectors: the \ gradient of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ", evaluated at ", Cell[BoxData[ FormBox[ RowBox[{"g", "(", SuperscriptBox[ RowBox[{"h", "(", "x", ")"}], "2"], ")"}], TraditionalForm]]], ", and the derivative of \n", Cell[BoxData[ FormBox["g", TraditionalForm]]], ", evaluated at ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"h", "(", "x", ")"}], "2"], TraditionalForm]]], ". The last two outputs should be compared." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Volume", "Subsection", CellTags->"Volume"], Cell[TextData[{ StyleBox["Volume[n]", "InlineInput"], " is the volume (unnormalized) of the unit ball in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], StyleBox["n", FontSize->10]], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Volume", "[", "4", "]"}]], "Input"], Cell[BoxData[ FractionBox[ SuperscriptBox["\[Pi]", "2"], "2"]], "Output", CellChangeTimes->{3.438806832796875*^9, 3.43916805265625*^9}] }, Closed]], Cell[TextData[{ StyleBox["Volume", "InlineInput"], " is computed using the formula given by Exercise 6 in Appendix A of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["SurfaceArea", "Subsection", CellTags->"SurfaceArea"], Cell[TextData[{ StyleBox["SurfaceArea[n]", "InlineInput"], " is the surface area (unnormalized) of the unit sphere in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], StyleBox["n", FontSize->10]], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SurfaceArea", "[", "57", "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"536870912", " ", SuperscriptBox["\[Pi]", "28"]}], "8687364368561751199826958100282265625"]], "Output", CellChangeTimes->{3.43880684415625*^9}] }, Closed]], Cell[TextData[{ StyleBox["SurfaceArea[n]", "InlineInput"], " is computed by multiplying the formula for ", StyleBox["Volume[n]", "InlineInput"], " by ", Cell[BoxData[ FormBox["n", TraditionalForm]]], "; see A.2 in Appendix A of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["IntegrateSphere", "Subsection", CellTags->"IntegrateSphere"], Cell[TextData[{ StyleBox["IntegrateSphere[f, x]", "InlineInput"], " equals the integral of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ", with respect to normalized surface area measure, over the unit sphere in \ the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " should be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806853390625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"IntegrateSphere", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "4"], " ", SuperscriptBox[ SubscriptBox["x", "3"], "6"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox["45", RowBox[{"n", " ", RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"6", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"8", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"10", "+", "n"}], ")"}]}]]], "Output", CellChangeTimes->{3.438806856625*^9}] }, Closed]], Cell[TextData[{ StyleBox["IntegrateSphere", "InlineInput"], " is computed by using the results in Section 3 of [", ButtonBox["W", BaseStyle->"Hyperlink", ButtonData:>"W"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["IntegrateBall", "Subsection", CellTags->"IntegrateBall"], Cell[TextData[{ StyleBox["IntegrateBall[f, x]", "InlineInput"], " equals the integral of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], ", with respect to (unnormalized) volume measure, over the unit ball in the \ Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " should be a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " and ||", Cell[BoxData[ FormBox[ RowBox[{"x", "||"}], TraditionalForm]]], " that is a polynomial in ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " and a function in ||", Cell[BoxData[ FormBox[ RowBox[{"x", "||"}], TraditionalForm]]], " for which ", StyleBox["Mathematica", FontSlant->"Italic"], " can find an explicit antiderivative:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "7"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(7\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880686578125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"IntegrateBall", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", RowBox[{ SuperscriptBox[ SubscriptBox["x", "2"], "4"], "/", RowBox[{"(", RowBox[{"1", "+", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}]}], ")"}]}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"16", " ", SuperscriptBox["\[Pi]", "3"], " ", RowBox[{"(", RowBox[{ RowBox[{"-", FractionBox["18107", "27720"]}], "+", RowBox[{"Log", "[", "2", "]"}]}], ")"}]}], "3465"]], "Output", CellChangeTimes->{3.43880688178125*^9}] }, Closed]], Cell[TextData[{ StyleBox["IntegrateBall", "InlineInput"], " is computed by converting to polar coordinates and then using the function \ ", StyleBox["IntegrateSphere ", "InlineInput"], "(see [", ButtonBox["R", BaseStyle->"Hyperlink", ButtonData:>"R"], "], Chapter 8, Exercise 6)." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Boundary Value Problems", "Section", CellTags->"Boundary Value Problems"], Cell[CellGroupData[{ Cell["Dirichlet problems", "Subsection", CellTags->"Dirichlet"], Cell[CellGroupData[{ Cell["The Dirichlet problem on the sphere", "Subsubsection"], Cell[TextData[{ StyleBox["Dirichlet[p, x]", "InlineInput"], " is the solution to the standard Dirichlet problem: find the harmonic \ function on the unit ball in the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " that equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " on the unit sphere. Thus ", StyleBox["Dirichlet[p, x]", "InlineInput"], " is the Poisson integral of ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " as a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "5"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(5\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806903*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", "15015"], RowBox[{"(", RowBox[{"143", "-", RowBox[{"273", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"165", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"35", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"]}], "+", RowBox[{"910", " ", SubsuperscriptBox["x", "1", "2"]}], "-", RowBox[{"1540", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"630", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"1155", " ", SubsuperscriptBox["x", "1", "4"]}], "-", RowBox[{"1155", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"]}], "+", RowBox[{"455", " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"770", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"315", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"6930", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"6930", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"15015", " ", SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "2"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.43880690565625*^9}] }, Closed]], Cell[TextData[{ "The last output is a harmonic function on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "5"], TraditionalForm]]], "that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], TraditionalForm]]], " on the unit sphere. To check this, first we take the Laplacian of the last \ output, and then we evaluate the last output on the unit sphere:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.438806908484375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%%", " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ RowBox[{ SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "2"]}]], "Output", CellChangeTimes->{3.438806910609375*^9}] }, Closed]], Cell["Thus we have indeed solved the specified Dirichlet problem.", "Text"], Cell[TextData[{ "The solution to the Dirichlet problem on the sphere is computed by using \ the algorithm described in [", ButtonBox["AR", BaseStyle->"Hyperlink", ButtonData:>"AR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["The Dirichlet problem on the exterior of the sphere", "Subsubsection"], Cell[TextData[{ "The ", StyleBox["Region", "InlineInput"], " option allows the user to solve Dirichlet problems on regions other than \ the sphere. Currently supported values for ", StyleBox["Region", "InlineInput"], " are ", StyleBox["Sphere", "InlineInput"], ", ", StyleBox["ExteriorSphere", "InlineInput"], ", ", StyleBox["Annulus", "InlineInput"], ", and ", StyleBox["Quadratic", "InlineInput"], ". The default value of ", StyleBox["Region", "InlineInput"], " is ", StyleBox["Sphere", "InlineInput"], "; thus ", StyleBox["Dirichlet[p, x, Region\[Rule]Sphere]", "InlineInput"], " is the same as ", StyleBox["Dirichlet[p, x]", "InlineInput"], "." }], "Text"], Cell[TextData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{"p", ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", "ExteriorSphere"}]}], "]"}]], "InlineInput"], " gives the solution to the standard exterior Dirichlet problem: find the \ harmonic function on the exterior (including \[Infinity]) of the unit ball in \ the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " that equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " on the unit sphere. This function is the exterior Poisson integral of ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " as a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " (see Theorem 4.11 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]). Here ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", "ExteriorSphere"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", RowBox[{"15015", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "15"]}]], RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "35"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"]}], "+", RowBox[{"165", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "8"]}], "-", RowBox[{"273", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "10"]}], "+", RowBox[{"143", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "12"]}], "+", RowBox[{"630", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"]}], "-", RowBox[{"1540", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"910", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "8"], " ", SubsuperscriptBox["x", "1", "2"]}], "-", RowBox[{"1155", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"]}], "+", RowBox[{"1155", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "4"]}], "+", RowBox[{"315", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"770", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"455", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "8"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"6930", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"6930", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"15015", " ", SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "2"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.4388069183125*^9}] }, Closed]], Cell[TextData[{ "The last output is a harmonic function on the exterior of the unit ball in \ ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "5"], TraditionalForm]]], " (because the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " was set to 5 earlier) that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], TraditionalForm]]], " on the unit sphere. This function is the Kelvin transform of the solution \ that would have been obtained without the ", StyleBox["Region\[Rule]Sphere", "InlineInput"], " option; see Chapter 4 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["The Dirichlet problem on annular regions", "Subsubsection"], Cell[TextData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{"{", RowBox[{"p", ",", "q"}], "}"}], ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Annulus", "[", RowBox[{"r", ",", "s"}], "]"}]}]}], " ", "]"}]], "InlineInput"], " gives the solution to the annular Dirichlet problem: find the harmonic \ function on the annular region with inner radius ", Cell[BoxData[ FormBox["r", TraditionalForm]]], " and outer radius ", Cell[BoxData[ FormBox["s", TraditionalForm]]], " that equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " on the sphere of radius ", Cell[BoxData[ FormBox["r", TraditionalForm]]], " and equals ", Cell[BoxData[ FormBox["q", TraditionalForm]]], " on the sphere of radius ", Cell[BoxData[ FormBox["s", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["q", TraditionalForm]]], " must be polynomial functions of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{"{", RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], ",", SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], "}"}], ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Annulus", "[", RowBox[{"1", ",", "4"}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"-", FractionBox["1024", "315"]}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", FractionBox["1", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"]]}], ")"}]}], "+", FractionBox[ RowBox[{"1024", " ", RowBox[{"(", RowBox[{ RowBox[{"-", FractionBox["1", "1024"]}], "+", FractionBox["1", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "5"]]}], ")"}], " ", SubscriptBox["x", "1"]}], "2387"], "+", FractionBox[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "262144"}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "9"]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"]}], "-", RowBox[{"7", " ", SubsuperscriptBox["x", "1", "3"]}]}], ")"}]}], RowBox[{"1835001", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "9"]}]], "-", FractionBox[ RowBox[{"16384", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", FractionBox["1", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "7"]]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", FractionBox[ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], "5"]}], "+", SubsuperscriptBox["x", "3", "2"]}], ")"}]}], "16383"]}]], "Output", CellChangeTimes->{3.438806930015625*^9}] }, Closed]], Cell[TextData[{ "Now we check that the last output is harmonic on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "5"], TraditionalForm]]], " (because the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " was set to 5 earlier), that it equals ", Cell[BoxData[ FormBox[ SuperscriptBox[ SubscriptBox["x", "1"], "3"], TraditionalForm]]], " on the sphere of radius 1, and that it equals ", Cell[BoxData[ FormBox[ SuperscriptBox[ SubscriptBox["x", "3"], "2"], TraditionalForm]]], " on the sphere of radius 4:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.43880693215625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%%", " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ SubsuperscriptBox["x", "1", "3"]], "Output", CellChangeTimes->{3.438806934109375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%%%", " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "4"}]}]], "Input"], Cell[BoxData[ SubsuperscriptBox["x", "3", "2"]], "Output", CellChangeTimes->{3.438806936046875*^9}] }, Closed]], Cell[TextData[{ "If ", Cell[BoxData[ FormBox[ RowBox[{"p", "=", "q"}], TraditionalForm]]], ", then the shortcut ", Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{"p", ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Annulus", "[", RowBox[{"r", ",", "s"}], "]"}]}]}], " ", "]"}]], "InlineInput"], " can be used instead of ", Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{"{", RowBox[{"p", ",", "q"}], "}"}], ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Annulus", "[", RowBox[{"r", ",", "s"}], "]"}]}]}], " ", "]"}]], "InlineInput"], "." }], "Text"], Cell[TextData[{ "The solution to the Dirichlet problem on an annulus is computed by using \ the techniques described in Chapter 10 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["The Dirichlet problem on quadratic surfaces", "Subsubsection"], Cell[TextData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{"p", ",", "x", ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Quadratic", "[", RowBox[{"b", ",", " ", "c", ",", "d"}], "]"}]}]}], " ", "]"}]], "InlineInput"], " gives the harmonic polynomial that equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " on the quadratic surface" }], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"b", ".", SuperscriptBox["x", "2"]}], "+", " ", RowBox[{"c", ".", "x"}], " ", "+", " ", "d"}], " ", "=", " ", "0"}], TraditionalForm]]]], "Text", TextAlignment->Center], Cell[TextData[{ "Here ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["c", TraditionalForm]]], " must be lists whose length equals the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", and ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". For example, here we find the harmonic polynomial that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], TraditionalForm]]], "on the elliptic paraboloid given by the equation" }], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}]}], " ", "=", " ", RowBox[{ RowBox[{"4", SubscriptBox["x", "3"]}], "+", " ", "1"}]}], TraditionalForm]]]], "Text",\ TextAlignment->Center], Cell[TextData[{ "in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "3"], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "3"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(3\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438806942421875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], ",", "x", ",", RowBox[{"Region", "\[Rule]", RowBox[{"Quadratic", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", RowBox[{"-", "4"}]}], "}"}], ",", RowBox[{"-", "1"}]}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ SubsuperscriptBox["x", "1", "3"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", FractionBox[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", RowBox[{"2", " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "3"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "5123"}], " ", SubscriptBox["x", "1"]}], "-", RowBox[{"405", " ", SubsuperscriptBox["x", "1", "3"]}], "+", RowBox[{"1053", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"9684", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7209", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}], "21627"]}]], "Output", CellChangeTimes->{3.43880694571875*^9}] }, Closed]], Cell[TextData[{ "The last output is of the form ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], "-", RowBox[{"4", SubscriptBox["x", "3"]}], "-", "1"}], ")"}], "f"}]}], TraditionalForm]]], ", where ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " is a polynomial. Thus the last output obviously equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], TraditionalForm]]], " on the elliptic parabolic given by the equation ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}]}], " ", "=", " ", RowBox[{ RowBox[{"4", SubscriptBox["x", "3"]}], "+", " ", "1"}]}], TraditionalForm]]], ". Thus to verify that the last output is correct, we only need check that \ it is harmonic:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.438806950125*^9}] }, Closed]], Cell[TextData[{ "The solution to the Dirichlet problem on a quadratic surface is computed by \ using the algorithm developed in [", ButtonBox["AGV", BaseStyle->"Hyperlink", ButtonData:>"AGV"], "]. That paper also shows that if each coordinate of ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " is nonnegative and at least one coordinate of ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " is nonzero, and if the quadratic surface in question is nontrivial in the \ sense that there exits ", Cell[BoxData[ FormBox[ RowBox[{"x", " ", "\[Epsilon]", " ", SuperscriptBox[ StyleBox["R", FontWeight->"Bold"], "n"]}], TraditionalForm]]], " such that" }], "Text"], Cell[TextData[{ Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"b", ".", SuperscriptBox["x", "2"]}], "+", " ", RowBox[{"c", ".", "x"}], " ", "+", " ", "d"}], " ", "<", " ", "0"}], TraditionalForm]]], "," }], "Text", TextAlignment->Center], Cell[TextData[{ "then the polynomial produced by this algorithm is the unique harmonic \ polynomial that equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " on the quadratic surface in question." }], "Text"], Cell[TextData[{ "Using the notation above, if ", Cell[BoxData[ FormBox["c", TraditionalForm]]], " consists of all 0's, then it may be omitted. For example, here we find the \ harmonic polynomial that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], TraditionalForm]]], "on the ellipsoid given by the equation ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], "+", RowBox[{"4", SuperscriptBox[ SubscriptBox["x", "3"], "2"]}]}], "=", "1"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], ",", "x", ",", RowBox[{"Region", "\[Rule]", RowBox[{"Quadratic", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "4"}], "}"}], ",", RowBox[{"-", "1"}]}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{ FractionBox["1", "39309793479"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", RowBox[{"2", " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"4", " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", "52529359"}], "-", RowBox[{"511000770", " ", SubsuperscriptBox["x", "1", "2"]}], "-", RowBox[{"801788415", " ", SubsuperscriptBox["x", "1", "4"]}], "+", RowBox[{"102950118", " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"945182934", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"67605435", " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"64713579", " ", SubsuperscriptBox["x", "3", "2"]}], "-", RowBox[{"5766993996", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"204109461", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"342331356", " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]}]}]], "Output", CellChangeTimes->{3.438806964796875*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Generalized Dirichlet problems", "Subsubsection"], Cell[TextData[{ "The generalized Dirichlet problem asks for a function with specified \ boundary values on some surface and with specified Laplacian inside that \ surface. Thus if the Laplacian is required to be 0, then this is the same as \ the usual Dirichlet problem. The generalized Dirichlet problem with specified \ Laplacian equal to ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " is solved by adding the option ", Cell[BoxData[ StyleBox[ RowBox[{"Laplacian", "\[Rule]", " ", "p"}], "InlineInput"]]], " to the ", StyleBox["Dirichlet", "InlineInput"], " function; here ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " must be a polynomial. For example, we can find the function that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], TraditionalForm]]], "on the unit sphere in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "3"], TraditionalForm]]], " and whose Laplacian equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "2"], "2"], SubscriptBox["x", "3"]}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], ",", " ", "x", ",", " ", RowBox[{"Laplacian", "\[Rule]", " ", RowBox[{ SuperscriptBox[ SubscriptBox["x", "2"], "2"], SubscriptBox["x", "3"]}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", "1260"], RowBox[{"(", RowBox[{ RowBox[{"108", " ", SubscriptBox["x", "1"]}], "-", RowBox[{"168", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"]}], "+", RowBox[{"60", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "1"]}], "+", RowBox[{"140", " ", SubsuperscriptBox["x", "1", "3"]}], "-", RowBox[{"140", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "3"]}], "+", RowBox[{"420", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"420", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"1260", " ", SubsuperscriptBox["x", "1", "3"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"9", " ", SubscriptBox["x", "3"]}], "+", RowBox[{"14", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"5", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"70", " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "+", RowBox[{"70", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438806970015625*^9}] }, Closed]], Cell[TextData[{ "We can check that output above correctly solves the generalized Dirichlet \ problem by verifying that the Laplacian of the last output indeed equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "2"], "2"], SubscriptBox["x", "3"]}], TraditionalForm]]], " and that the last output restricted to the unit sphere indeed equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "3"], SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}]], "Output", CellChangeTimes->{3.438806972765625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%%", " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ RowBox[{ SubsuperscriptBox["x", "1", "3"], " ", SubsuperscriptBox["x", "2", "2"]}]], "Output", CellChangeTimes->{3.438806974921875*^9}] }, Closed]], Cell[TextData[{ "The ", StyleBox["Laplacian", "InlineInput"], " option can be used combined with the ", StyleBox["Region", "InlineInput"], " option to solve the generalized Dirichlet problem on any region for which \ this package can solve the usual Dirichlet problem. The order of the options \ does not matter. Here we find the function on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "3"], TraditionalForm]]], " whose Laplacian equals ", Cell[BoxData[ FormBox[ SuperscriptBox[ SubscriptBox["x", "2"], "2"], TraditionalForm]]], "and that equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], TraditionalForm]]], "on the ellipsoid ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], "+", RowBox[{"4", SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], "-", " ", "1"}], " ", "=", " ", "0"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], ",", "x", ",", RowBox[{"Laplacian", "\[Rule]", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], ",", RowBox[{"Region", "\[Rule]", RowBox[{"Quadratic", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "4"}], "}"}], ",", RowBox[{"-", "1"}]}], "]"}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{ FractionBox["1", "157239173916"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", RowBox[{"2", " ", SubsuperscriptBox["x", "1", "2"]}], "+", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"4", " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}], " ", RowBox[{"(", RowBox[{"82719889", "-", RowBox[{"2354066130", " ", SubsuperscriptBox["x", "1", "2"]}], "-", RowBox[{"3207153660", " ", SubsuperscriptBox["x", "1", "4"]}], "+", RowBox[{"3779085195", " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"3780731736", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"270421740", " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"680540064", " ", SubsuperscriptBox["x", "3", "2"]}], "-", RowBox[{"23067975984", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"816437844", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"1369325424", " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]}]}]], "Output", CellChangeTimes->{3.43880697771875*^9}] }, Closed]], Cell[TextData[{ "The form of the last output shows, without calculation, that it obviously \ equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], TraditionalForm]]], "on the ellipsoid ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], "+", RowBox[{"3", SuperscriptBox[ SubscriptBox["x", "2"], "2"]}], "+", RowBox[{"4", SuperscriptBox[ SubscriptBox["x", "3"], "2"]}], "-", " ", "1"}], " ", "=", " ", "0"}], TraditionalForm]]], ". Thus to verify that we have correctly solved this generalized Dirichlet \ problem, we only need to check that the Laplacian equals ", Cell[BoxData[ FormBox[ SuperscriptBox[ SubscriptBox["x", "2"], "2"], TraditionalForm]]], ":" }], "Text", CellChangeTimes->{{3.439175621109375*^9, 3.43917562128125*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData[ SubsuperscriptBox["x", "2", "2"]], "Output", CellChangeTimes->{3.438806982484375*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Dirichlet problems with explicit coordinates", "Subsubsection"], Cell[TextData[{ "So far we have worked with symbolic vectors, which we have usually called \ ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " or ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ". Vectors can also be described by giving explicit coordinates in the form \ of a list. Both formats (symbolic vectors and explicit lists) work with all \ functions in this package. For example, suppose we are working in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "3"], TraditionalForm]]], " and want to use ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], ", and ", Cell[BoxData[ FormBox["z", TraditionalForm]]], " instead of ", Cell[BoxData[ FormBox[ SubscriptBox["x", "1"], TraditionalForm]]], ", ", Cell[BoxData[ FormBox[ SubscriptBox["x", "2"], TraditionalForm]]], ", and ", Cell[BoxData[ FormBox[ SubscriptBox["x", "3"], TraditionalForm]]], ". Here is how to find the Poisson integral of ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{ SuperscriptBox["x", "3"], "y"}], TraditionalForm], SuperscriptBox["z", "2"]}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox["x", "3"], "y", " ", SuperscriptBox["z", "2"]}], ",", " ", RowBox[{"{", RowBox[{"x", ",", "y", ",", "z"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", "231"], " ", RowBox[{"(", RowBox[{ RowBox[{"11", " ", "x", " ", "y"}], "+", RowBox[{"3", " ", SuperscriptBox["x", "3"], " ", "y"}], "-", RowBox[{"14", " ", SuperscriptBox["x", "5"], " ", "y"}], "-", RowBox[{"18", " ", "x", " ", SuperscriptBox["y", "3"]}], "-", RowBox[{"7", " ", SuperscriptBox["x", "3"], " ", SuperscriptBox["y", "3"]}], "+", RowBox[{"7", " ", "x", " ", SuperscriptBox["y", "5"]}], "+", RowBox[{"45", " ", "x", " ", "y", " ", SuperscriptBox["z", "2"]}], "+", RowBox[{"161", " ", SuperscriptBox["x", "3"], " ", "y", " ", SuperscriptBox["z", "2"]}], "-", RowBox[{"49", " ", "x", " ", SuperscriptBox["y", "3"], " ", SuperscriptBox["z", "2"]}], "-", RowBox[{"56", " ", "x", " ", "y", " ", SuperscriptBox["z", "4"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438806989703125*^9}] }, Closed]], Cell["\<\ To check that the last output is correct, first we verify that it is harmonic \ by checking that its Laplacian equals 0:\ \>", "Text", CellChangeTimes->{{3.439175763890625*^9, 3.43917576459375*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", RowBox[{"{", RowBox[{"x", ",", "y", ",", "z"}], "}"}]}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.4388069925*^9}] }, Closed]], Cell[TextData[{ "Now we check that the difference between the claimed solution to the \ Dirichlet problem equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["x", "3"], SuperscriptBox["yz", "2"]}], TraditionalForm]]], " on the unit sphere by verifying that the difference between these two \ functions, when restricted to the unit sphere, equals 0:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{ SuperscriptBox["x", "3"], "y", " ", SuperscriptBox["z", "2"]}], "-", " ", "%%"}], " ", "/.", " ", RowBox[{"z", "\[Rule]", SqrtBox[ RowBox[{"1", "-", SuperscriptBox["x", "2"], "-", SuperscriptBox["y", "2"]}]]}]}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.438806998109375*^9}] }, Closed]], Cell[TextData[{ "Here is another example using explicit coordinates. In this example, we \ find the function on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "3"], TraditionalForm]]], " whose Laplacian equals ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["y", "2"], "z"}], TraditionalForm]]], " and that equals ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{ SuperscriptBox["x", "3"], "y"}], TraditionalForm], SuperscriptBox["z", "2"]}], TraditionalForm]]], " on the ellipsoind ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox["x", "2"]}], "+", RowBox[{"3", SuperscriptBox["y", "2"]}], "+", RowBox[{"4", SuperscriptBox["z", "2"]}], "-", " ", "1"}], " ", "=", " ", "0"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Dirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox["x", "3"], "y", " ", SuperscriptBox["z", "2"]}], ",", " ", RowBox[{"{", RowBox[{"x", ",", "y", ",", "z"}], "}"}], ",", " ", RowBox[{"Region", "\[Rule]", RowBox[{"Quadratic", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "3", ",", "4"}], "}"}], ",", RowBox[{"-", "1"}]}], "]"}]}], ",", " ", RowBox[{"Laplacian", "\[Rule]", RowBox[{ SuperscriptBox["y", "2"], SuperscriptBox["z", "3"]}]}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ SuperscriptBox["x", "3"], " ", "y", " ", SuperscriptBox["z", "2"]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", RowBox[{"2", " ", SuperscriptBox["x", "2"]}], "+", RowBox[{"3", " ", SuperscriptBox["y", "2"]}], "+", RowBox[{"4", " ", SuperscriptBox["z", "2"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{"-", FractionBox[ RowBox[{"961", " ", "x", " ", "y"}], "150917"]}], "-", FractionBox[ RowBox[{"223", " ", SuperscriptBox["x", "3"], " ", "y"}], "7943"], "+", FractionBox[ RowBox[{"93", " ", "x", " ", SuperscriptBox["y", "3"]}], "7943"], "+", FractionBox[ RowBox[{"6128862523", " ", "z"}], "154091469268302"], "-", FractionBox[ RowBox[{"424717558", " ", SuperscriptBox["x", "2"], " ", "z"}], "4532102037303"], "+", FractionBox[ RowBox[{"44102", " ", SuperscriptBox["x", "4"], " ", "z"}], "734657487"], "+", FractionBox[ RowBox[{"3416529117", " ", SuperscriptBox["y", "2"], " ", "z"}], "6042802716404"], "-", FractionBox[ RowBox[{"448445", " ", SuperscriptBox["x", "2"], " ", SuperscriptBox["y", "2"], " ", "z"}], "489771658"], "-", FractionBox[ RowBox[{"1320573", " ", SuperscriptBox["y", "4"], " ", "z"}], "979543316"], "-", FractionBox[ RowBox[{"571", " ", "x", " ", "y", " ", SuperscriptBox["z", "2"]}], "7943"], "+", FractionBox[ RowBox[{"1235669309", " ", SuperscriptBox["z", "3"]}], "18128408149212"], "-", FractionBox[ RowBox[{"213085", " ", SuperscriptBox["x", "2"], " ", SuperscriptBox["z", "3"]}], "1469314974"], "+", FractionBox[ RowBox[{"8956053", " ", SuperscriptBox["y", "2"], " ", SuperscriptBox["z", "3"]}], "979543316"], "-", FractionBox[ RowBox[{"297101", " ", SuperscriptBox["z", "5"]}], "734657487"]}], ")"}]}]}]], "Output", CellChangeTimes->{3.438807008859375*^9}] }, Closed]], Cell[TextData[{ "Obviously the last output equals ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{ SuperscriptBox["x", "3"], "y"}], TraditionalForm], SuperscriptBox["z", "2"]}], TraditionalForm]]], " on the ellipsoind ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ RowBox[{"2", SuperscriptBox["x", "2"]}], "+", RowBox[{"3", SuperscriptBox["y", "2"]}], "+", RowBox[{"4", SuperscriptBox["z", "2"]}], "-", " ", "1"}], " ", "=", " ", "0"}], TraditionalForm]]], ". We now check that its Laplacian is the desired function:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", RowBox[{"{", RowBox[{"x", ",", "y", ",", "z"}], "}"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox["y", "2"], " ", SuperscriptBox["z", "3"]}]], "Output", CellChangeTimes->{3.43880701209375*^9}] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["HarmonicDecomposition", "Subsection", CellTags->"HarmonicDecomposition"], Cell[TextData[{ StyleBox["HarmonicDecomposition[p, x]", "InlineInput"], " gives the decomposition of ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " into a sum of harmonic polynomials (on the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ") times powers of ||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||. Here ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438443779859375*^9, 3.43880701815625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"HarmonicDecomposition", "[", RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ FractionBox[ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], RowBox[{"8", "+", RowBox[{"6", " ", "n"}], "+", SuperscriptBox["n", "2"]}]], "-", FractionBox[ RowBox[{"6", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"]}], RowBox[{"4", "+", "n"}]], "+", SubsuperscriptBox["x", "1", "4"]}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox[ RowBox[{"6", " ", RowBox[{"(", RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"n", " ", SubsuperscriptBox["x", "1", "2"]}]}], ")"}]}], RowBox[{"n", " ", RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}]}]], ",", "2"}], "}"}], ",", RowBox[{"{", RowBox[{ FractionBox["3", RowBox[{"n", " ", RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}]}]], ",", "4"}], "}"}]}], "}"}]], "Output", CellChangeTimes->{3.4384437831875*^9, 3.43880702003125*^9}] }, Closed]], Cell[TextData[{ "The output given by ", StyleBox["HarmonicDecomposition[p, x]", "InlineInput"], " consists of a list of pairs. The first entry in each pair is a harmonic \ function, the second entry is the power of ||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "|| by which the first entry should be multiplied so that the sum of the \ resulting terms equals ", Cell[BoxData[ FormBox["p", TraditionalForm]]], ". For example, in the last output ", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FractionBox[ RowBox[{"3", "||", FormBox["x", TraditionalForm], SuperscriptBox["||", "4"]}], RowBox[{ RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}]}]], FontSize->16], "-", StyleBox[ FractionBox[ RowBox[{"6", "||", FormBox["x", TraditionalForm], SuperscriptBox["||", "2"], SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], RowBox[{"4", "+", "n"}]], FontSize->16], "+", SuperscriptBox[ SubscriptBox["x", "1"], "4"]}], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox[ FractionBox[ RowBox[{"6", RowBox[{"(", RowBox[{"-", RowBox[{"||", FormBox["x", TraditionalForm], SuperscriptBox["||", "2"], RowBox[{ RowBox[{"+", " ", "n"}], " ", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}]}]}], ")"}]}], RowBox[{"n", "(", RowBox[{"4", "+", "n"}], ")"}]], FontSize->16], TraditionalForm]]], " and ", Cell[BoxData[ FormBox[ StyleBox[ FractionBox["3", RowBox[{"n", "(", RowBox[{"2", "+", "n"}], ")"}]], FontSize->16], TraditionalForm]]], " are harmonic functions of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], "; furthermore" }], "Text"], Cell[TextData[{ Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], " ", "=", " "}], TraditionalForm]]], Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FractionBox[ RowBox[{"3", "||", FormBox["x", TraditionalForm], SuperscriptBox["||", "4"]}], RowBox[{ RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}]}]], FontSize->16], "-", StyleBox[ FractionBox[ RowBox[{"6", "||", FormBox["x", TraditionalForm], SuperscriptBox["||", "2"], SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], RowBox[{"4", "+", "n"}]], FontSize->16], "+", SuperscriptBox[ SubscriptBox["x", "1"], "4"]}], TraditionalForm]]], " + ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ StyleBox[ FractionBox[ RowBox[{"6", RowBox[{"(", RowBox[{"-", RowBox[{"||", FormBox["x", TraditionalForm], SuperscriptBox["||", "2"], RowBox[{ RowBox[{"+", " ", "n"}], " ", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}]}]}], ")"}]}], RowBox[{"n", "(", RowBox[{"4", "+", "n"}], ")"}]], FontSize->16], TraditionalForm], "||", "x", SuperscriptBox["||", "2"]}], TraditionalForm]]], " + ", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FormBox[ StyleBox[ FractionBox["3", RowBox[{"n", "(", RowBox[{"2", "+", "n"}], ")"}]], FontSize->16], TraditionalForm], FontSize->14], "||", "x", SuperscriptBox["||", "4"]}], TraditionalForm]]], "." }], "Text", TextAlignment->Center], Cell[TextData[{ "For a proof of the existence and uniqueness of the harmonic decomposition, \ see [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "], Theorem 5.7. ", StyleBox["HarmonicDecomposition", "InlineInput"], " is computed using the algorithm described in Section 2 of [", ButtonBox["AR", BaseStyle->"Hyperlink", ButtonData:>"AR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["AntiLaplacian", "Subsection", CellTags->"AntiLaplacian"], Cell[TextData[{ StyleBox["AntiLaplacian[u, x]", "InlineInput"], " gives an anti-Laplacian of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " with respect to ", Cell[BoxData[ FormBox["x", TraditionalForm]]], "; this is a function whose Laplacian with respect to ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " equals ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ". Here ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " or a sum of terms, each of which is a polynomial in ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " times a function of ||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "6"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(6\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438443790875*^9, 3.43880703440625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"AntiLaplacian", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", SubscriptBox["x", "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"], " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}]}], ",", "x"}], "]"}], "\n"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "20"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "7"]}], "+", RowBox[{"91", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "7"]}]}], ")"}], " ", SubscriptBox["x", "2"]}], "66248"], "-", FractionBox[ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "4"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "5"]}], "+", RowBox[{"15", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "5"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"8", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]}], ")"}]}], "9000"]}]], "Output", CellChangeTimes->{3.4384437966875*^9, 3.438807038140625*^9}] }, Closed]], Cell[TextData[{ "The function given by the last output has Laplacian equal to ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], SubscriptBox["x", "2"], SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"], RowBox[{"log", "(", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], ")"}]}], TraditionalForm]]], "on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "6"], TraditionalForm]]], ", as we can easily verify:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Laplacian", "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"Log", "[", RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]], "Output", CellChangeTimes->{3.438443800984375*^9, 3.438807041875*^9}] }, Closed]], Cell[TextData[{ "To understand how ", StyleBox["AntiLaplacian", "InlineInput"], " is computed, suppose we want to find an anti-Laplacian of ", Cell[BoxData[ FormBox["p", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ")", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||), where ", Cell[BoxData[ FormBox["p", TraditionalForm]]], " is a polynomial on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], " and ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " is a continuous function on (0, \[Infinity]). Applying ", StyleBox["HarmonicDecomposition", "InlineInput"], " to ", Cell[BoxData[ FormBox["p", TraditionalForm]]], ", using linearity, and replacing ", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||) with a power of ||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "|| times ", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||), we see that we only need to find anti-Laplacians of functions of the \ form ", Cell[BoxData[ FormBox["q", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ")", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||), where ", Cell[BoxData[ FormBox["q", TraditionalForm]]], " is a harmonic polynomial on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], " homogeneous of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], ". To find an anti-Laplacian of ", Cell[BoxData[ FormBox["q", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ")", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||), suppose ", Cell[BoxData[ FormBox["h", TraditionalForm]]], " is a twice-differentiable function on (0, \[Infinity]). The Laplacian of \ ", Cell[BoxData[ FormBox["q", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ")", Cell[BoxData[ FormBox["h", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||) equals" }], "Text"], Cell[TextData[{ Cell[BoxData[ FormBox["q", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ") ", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FractionBox[ RowBox[{ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", "m"}], " ", "+", " ", "n", " ", "-", " ", "1"}], ")"}], " ", RowBox[{"h", "'"}], RowBox[{"(", RowBox[{"||", FormBox["x", TraditionalForm], "||"}], ")"}]}], " ", "+"}], " ", "||", FormBox["x", TraditionalForm], "||", " ", RowBox[{ RowBox[{"h", "''"}], RowBox[{"(", RowBox[{"||", FormBox["x", TraditionalForm], "||"}], ")"}]}]}], RowBox[{"||", FormBox["x", TraditionalForm], "||"}]], FontSize->16], ","}], TraditionalForm]]] }], "Text", TextAlignment->Center], Cell[TextData[{ "where we have used the product rule for Laplacians (see 1.19 in [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]) and Exercise 29, Chapter 1 of [ABR]. We want to make the expression \ above equal ", Cell[BoxData[ FormBox["q", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ")", Cell[BoxData[ FormBox["f", TraditionalForm]]], "(||", Cell[BoxData[ FormBox["x", TraditionalForm]]], "||), so we need only solve the differential equation" }], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FractionBox[ RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", "m"}], " ", "+", " ", "n", " ", "-", " ", "1"}], ")"}], " ", RowBox[{"h", "'"}], RowBox[{"(", "t", ")"}]}], " ", "+", " ", RowBox[{"t", " ", RowBox[{"h", "''"}], RowBox[{"(", "t", ")"}]}]}], "t"], FontSize->16], " ", "=", " ", RowBox[{ RowBox[{"f", "(", "t", ")"}], "."}]}], TraditionalForm]]]], "Text", TextAlignment->Center], Cell["A solution to this equation is given by", "Text"], Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"h", "(", "t", ")"}], " ", "=", " ", RowBox[{ SubsuperscriptBox["\[Integral]", "a", "t"], RowBox[{ SuperscriptBox["s", RowBox[{"1", "-", RowBox[{"2", "m"}], "-", "n"}]], " ", RowBox[{ SubsuperscriptBox["\[Integral]", "b", "s"], RowBox[{ SuperscriptBox["r", RowBox[{ RowBox[{"2", "m"}], "+", "n", "-", "1"}]], RowBox[{"f", "(", "r", ")"}], RowBox[{"\[DifferentialD]", "r"}], RowBox[{"\[DifferentialD]", "s"}]}]}]}]}]}], TraditionalForm]], "Text",\ TextAlignment->Center], Cell[TextData[{ "for any choice of the constants ", Cell[BoxData[ FormBox["a", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["b", TraditionalForm]]], ". ", StyleBox["AntiLaplacian", "InlineInput"], " uses the formula above with ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " = 0, although if a singularity is encountered at 0 it automatically makes \ a different choice. If you know there is a singularity at 0, you can save \ some time by using the option ", StyleBox["Singularity \[Rule] 0", "InlineInput"], ", as illustrated by the following example. The two timing tests below show \ a large speed-up when using the option ", StyleBox["Singularity \[Rule] 0", "InlineInput"], ":\n" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Timing", "[", RowBox[{"AntiLaplacian", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", SubscriptBox["x", "2"], " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"]}], ",", "x"}], "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"6.656`", ",", RowBox[{ RowBox[{ FractionBox["1", "512000000000"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"9228128553", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"36910191780", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"73808771400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"98372988000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "3"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"98276220000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"78427440000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "5"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"51962400000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "6"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"29232000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "7"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"14040000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "8"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"5600000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "9"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"1600000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}]}], ")"}], " ", SubscriptBox["x", "2"]}]}], "-", RowBox[{ FractionBox["1", "573308928"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"12697896925", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"25395793500", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"25395791400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"16930519200", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "3"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"8465234400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"3386033280", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "5"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"1128556800", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "6"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"322237440", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "7"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"80248320", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "8"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"17418240", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "9"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"2985984", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"8", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]}], ")"}]}]}]}]}], "}"}]], "Output", CellChangeTimes->{3.438443837*^9, 3.438807056671875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Timing", "[", RowBox[{"AntiLaplacian", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", SubscriptBox["x", "2"], " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"]}], ",", "x", ",", " ", RowBox[{"Singularity", "\[Rule]", " ", "0"}]}], "]"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{"0.07800000000000058`", ",", RowBox[{ RowBox[{ FractionBox["1", "512000000000"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"9228128553", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"36910191780", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"73808771400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"98372988000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "3"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"98276220000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"78427440000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "5"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"51962400000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "6"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"29232000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "7"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"14040000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "8"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"5600000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "9"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "+", RowBox[{"1600000000", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}]}], ")"}], " ", SubscriptBox["x", "2"]}]}], "-", RowBox[{ FractionBox["1", "573308928"], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"12697896925", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"25395793500", " ", RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"25395791400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"16930519200", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "3"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"8465234400", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"3386033280", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "5"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"1128556800", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "6"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"322237440", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "7"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"80248320", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "8"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "-", RowBox[{"17418240", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "9"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"2985984", " ", SuperscriptBox[ RowBox[{"Log", "[", RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "]"}], "10"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"8", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]}], ")"}]}]}]}]}], "}"}]], "Output", CellChangeTimes->{3.438443840984375*^9, 3.438807061703125*^9}] }, Closed]], Cell[TextData[{ "The anti-Laplacian of a given function is never unique. However, each \ polynomial has a unique anti-Laplacian that is a polynomial multiple of ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], TraditionalForm]]], ", where ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is the variable. The option ", StyleBox["Multiple \[Rule] ", "InlineInput"], Cell[BoxData[ FormBox[ StyleBox[ SuperscriptBox["Norm", "2"], "InlineInput", FontFamily->"Courier New"], TraditionalForm]]], " produces the unique anti-Laplacian that is a polynomial multiple of ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"AntiLaplacian", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "2"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "5"]}], ",", "x", ",", RowBox[{"Multiple", "\[Rule]", SuperscriptBox["Norm", "2"]}]}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{ RowBox[{"-", "45"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "8"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"840", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"560", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"13440", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"1344", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "2", "5"]}], "+", RowBox[{"48384", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "5"]}]}], "1935360"]], "Output", CellChangeTimes->{3.43844384815625*^9, 3.438807073796875*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Neumann", "Subsection", CellTags->"Neumann"], Cell[TextData[{ StyleBox["Neumann[f, x]", "InlineInput"], " is the solution to the standard Neumann problem: find the harmonic \ function on the unit ball in the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " whose outward normal derivative on the unit sphere equals ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " and whose value at the origin equals 0. Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". Furthermore, the integral of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " over the unit sphere with respect to surface area measure must equal 0 \ (Green's identity shows that this condition is necessary for the existence of \ a solution to the standard Neumann problem):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "4"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(4\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438443851109375*^9, 3.438807078625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"Neumann", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "6"], " ", SubscriptBox["x", "2"]}], ",", "x"}], "]"}], "\n"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ SubscriptBox["x", "2"], "32"], "+", RowBox[{ FractionBox["1", "48"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"6", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]}], ")"}]}], "+", FractionBox[ RowBox[{"3", " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"48", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"80", " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}]}], ")"}]}], "1120"], "+", RowBox[{ FractionBox["1", "784"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"]}], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"30", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"120", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"112", " ", SubsuperscriptBox["x", "1", "6"], " ", SubscriptBox["x", "2"]}]}], ")"}]}]}]], "Output", CellChangeTimes->{3.438443854125*^9, 3.4388070805625*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["ExteriorNeumann", "Subsection", CellTags->"ExteriorNeumann"], Cell[TextData[{ StyleBox["ExteriorNeumann[f, x]", "InlineInput"], " is the solution to the standard exterior Neumann problem: find the \ harmonic function on the exterior of the unit ball in theEuclidean space \ defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " whose outward normal derivative on the unit sphere equals ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " and whose limit at \[Infinity] equals 0. Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". If the dimension of the Euclidean space equals 2, then the integral of ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " over the unit circle with respect to arc length measure must equal 0:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "5"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(5\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807084875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ExteriorNeumann", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "6"], " ", SubscriptBox["x", "2"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{"5", " ", SubscriptBox["x", "2"]}], RowBox[{"924", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "5"]}]], "-", FractionBox[ RowBox[{"15", " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"7", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}]}], ")"}]}], RowBox[{"2002", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "9"]}]], "+", FractionBox[ RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"18", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"33", " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}]}], RowBox[{"264", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "13"]}]], "+", FractionBox[ RowBox[{ RowBox[{ RowBox[{"-", FractionBox["1", "143"]}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ FractionBox["3", "13"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ SubsuperscriptBox["x", "1", "6"], " ", SubscriptBox["x", "2"]}]}], RowBox[{"10", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "17"]}]]}]], "Output", CellChangeTimes->{3.43880708690625*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["BiDirichlet", "Subsection", CellTags->"BiDirichlet"], Cell[TextData[{ StyleBox["BiDirichlet[f, x]", "InlineInput"], " is the solution to the standard biDirichlet problem: find the biharmonic \ function on the unit ball in the Euclidean space defined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " that equals ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " on the unit sphere and whose normal derivative on the unit sphere equals \ 0. (A function is called biharmonic if the Laplacian of its Laplacian \ equals 0.) Here ", Cell[BoxData[ FormBox["f", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "3"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(3\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807091921875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BiDirichlet", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "4"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "3"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["1", "30030"], RowBox[{"(", RowBox[{ RowBox[{"1287", " ", SubscriptBox["x", "2"]}], "-", RowBox[{"4524", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"5922", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"3420", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"735", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "8"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"13650", " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"40530", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"40110", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"13230", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"24255", " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"48510", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"24255", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "4"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"2275", " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"6755", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"6685", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"2205", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"48510", " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"97020", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"48510", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "2"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"135135", " ", SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"105105", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "3"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438807093921875*^9}] }, Closed]], Cell["\<\ To check that the last output is correct, first we take its Laplacian squared \ to check that we have a biharmonic function:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ SuperscriptBox["Laplacian", "2"], "[", RowBox[{"%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.43880709765625*^9}] }, Closed]], Cell["\<\ Next we check that the outward normal derivative on the unit sphere indeed \ equals 0:\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"NormalD", "[", RowBox[{"%%", ",", " ", "x"}], "]"}]], "Input"], Cell[BoxData["0"], "Output", CellChangeTimes->{3.43880710028125*^9}] }, Closed]], Cell["Finally, we check that we have the correct boundary values:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%%%", " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ RowBox[{ SubsuperscriptBox["x", "1", "4"], " ", SubsuperscriptBox["x", "2", "3"]}]], "Output", CellChangeTimes->{3.43880710221875*^9}] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Spherical Harmonics", "Section", CellTags->"Spherical Harmonics"], Cell[CellGroupData[{ Cell["BasisH", "Subsection", CellTags->"BasisH"], Cell[TextData[{ StyleBox["BasisH[m, x]", "InlineInput"], " gives a vector space basis for ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], ")"}], TraditionalForm]]], ", the space of homogeneous harmonic polynomials on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], "of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], ", where ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " is the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ". The user must first set the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " to an positive integer value. Wrapping the ", StyleBox["Mathematica", FontSlant->"Italic"], " command ", StyleBox["TableForm", "InlineInput"], " around ", StyleBox["BasisH[m, x]", "InlineInput"], " will produce an output display that is more readable than the usual list \ format:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "3"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(3\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807110515625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"TableForm", "[", RowBox[{"BasisH", "[", RowBox[{"4", ",", "x"}], "]"}], "]"}]], "Input"], Cell[BoxData[ TagBox[ TagBox[GridBox[{ { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"30", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"35", " ", SubsuperscriptBox["x", "2", "4"]}]}]}, { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}]}]}, { RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], "-", RowBox[{"5", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "-", RowBox[{"5", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"35", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}]}, { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "3"]}]}]}, { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"30", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"35", " ", SubsuperscriptBox["x", "3", "4"]}]}]}, { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}]}]}, { RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}]}]}, { RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}]}, { RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "3"]}]}]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "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], Function[BoxForm`e$, TableForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.438807113109375*^9}] }, Closed]], Cell[TextData[{ "The option the option ", StyleBox["Orthonormal \[Rule] Ball", "InlineInput"], ", when used with ", StyleBox["BasisH", "InlineInput"], ", will produce a basis for ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], ")"}], TraditionalForm]]], "that is orthonormal with respect to the inner product on ", Cell[BoxData[ FormBox[ SuperscriptBox["L", "2"], TraditionalForm]]], "(", StyleBox["B", FontSlant->"Italic"], ", ", StyleBox["dV", FontSlant->"Italic"], ") (here ", Cell[BoxData[ FormBox["B", TraditionalForm]]], " denotes the open unit ball in Euclidean space and ", Cell[BoxData[ FormBox["V", TraditionalForm]]], " denotes volume measure on ", Cell[BoxData[ FormBox["B", TraditionalForm]]], "):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"TableForm", "[", RowBox[{"BasisH", "[", RowBox[{"4", ",", "x", ",", RowBox[{"Orthonormal", "\[Rule]", "Ball"}]}], "]"}], "]"}]], "Input"], Cell[BoxData[ TagBox[ TagBox[GridBox[{ { RowBox[{ FractionBox["3", "16"], " ", SqrtBox[ FractionBox["11", "\[Pi]"]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"30", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"35", " ", SubsuperscriptBox["x", "2", "4"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["55", RowBox[{"2", " ", "\[Pi]"}]]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ FractionBox["3", "8"], " ", SqrtBox[ FractionBox["55", "\[Pi]"]], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], "-", RowBox[{"8", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"7", " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"14", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["385", RowBox[{"2", " ", "\[Pi]"}]]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]}, { RowBox[{ FractionBox["3", "16"], " ", SqrtBox[ FractionBox["385", "\[Pi]"]], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], "-", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", SubsuperscriptBox["x", "2", "4"], "-", RowBox[{"8", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["55", RowBox[{"2", " ", "\[Pi]"}]]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["55", "\[Pi]"]], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["385", RowBox[{"2", " ", "\[Pi]"}]]], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "4"]}], " ", SqrtBox[ FractionBox["385", "\[Pi]"]], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"2", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "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], Function[BoxForm`e$, TableForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.4388071195*^9}] }, Closed]], Cell[TextData[{ "The option ", StyleBox["Orthonormal \[Rule] Sphere", "InlineInput"], ", when used with ", StyleBox["BasisH", "InlineInput"], ", will produce a basis for ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], ")"}], TraditionalForm]]], "that is orthonormal with respect to the inner product on ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["L", "2"], "(", RowBox[{"S", ",", " ", "d\[Sigma]"}], ")"}], TraditionalForm]]], " (here ", Cell[BoxData[ FormBox["S", TraditionalForm]]], " denotes the unit sphere in Euclidean space and \[Sigma] denotes normalized \ surface area measure on ", Cell[BoxData[ FormBox["S", TraditionalForm]]], "):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"TableForm", "[", RowBox[{"BasisH", "[", RowBox[{"4", ",", "x", ",", RowBox[{"Orthonormal", "\[Rule]", "Sphere"}]}], "]"}], "]"}]], "Input"], Cell[BoxData[ TagBox[ TagBox[GridBox[{ { RowBox[{ FractionBox["3", "8"], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"30", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"35", " ", SubsuperscriptBox["x", "2", "4"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox[ FractionBox["5", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ FractionBox["3", "4"], " ", SqrtBox["5"], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], "-", RowBox[{"8", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"7", " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"14", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox[ FractionBox["35", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]}, { RowBox[{ FractionBox["3", "8"], " ", SqrtBox["35"], " ", RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], "-", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", SubsuperscriptBox["x", "2", "4"], "-", RowBox[{"8", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox[ FractionBox["5", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox["5"], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"7", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox[ FractionBox["35", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "2"]}], " ", SqrtBox["35"], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"2", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "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], Function[BoxForm`e$, TableForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.4388071233125*^9}] }, Closed]], Cell[TextData[{ "To produce an orthonormal basis for ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", "S", ")"}], TraditionalForm]]], ", the space of spherical harmonics on the unit sphere ", Cell[BoxData[ FormBox["S", TraditionalForm]]], ", with respect to the inner product on ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["L", "2"], "(", RowBox[{"S", ",", " ", "d\[Sigma]"}], ")"}], TraditionalForm]]], ", use the option ", StyleBox["Orthonormal \[Rule] Sphere", "InlineInput"], " and in the result replace ", Cell[BoxData[ FormBox[ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], TraditionalForm]]], " with 1:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"TableForm", "[", RowBox[{"BasisH", "[", RowBox[{"5", ",", "x", ",", RowBox[{"Orthonormal", "\[Rule]", "Sphere"}]}], "]"}], "]"}], " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ TagBox[ TagBox[GridBox[{ { RowBox[{ RowBox[{"-", FractionBox["1", "8"]}], " ", SqrtBox["11"], " ", RowBox[{"(", RowBox[{ RowBox[{"15", " ", SubscriptBox["x", "2"]}], "-", RowBox[{"70", " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"63", " ", SubsuperscriptBox["x", "2", "5"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["1", "8"]}], " ", SqrtBox["165"], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "3"], "-", RowBox[{"14", " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "+", RowBox[{"21", " ", SubsuperscriptBox["x", "2", "4"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["1", "4"]}], " ", SqrtBox["1155"], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "2"], "-", RowBox[{"4", " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"3", " ", SubsuperscriptBox["x", "2", "5"]}], "-", RowBox[{"2", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"6", " ", SubsuperscriptBox["x", "2", "3"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["1", "8"]}], " ", SqrtBox[ FractionBox["385", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{"3", " ", SubscriptBox["x", "3"]}], "-", RowBox[{"30", " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "+", RowBox[{"27", " ", SubsuperscriptBox["x", "2", "4"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"4", " ", SubsuperscriptBox["x", "3", "3"]}], "+", RowBox[{"36", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "8"]}], " ", SqrtBox["385"], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "2"], "-", RowBox[{"2", " ", SubsuperscriptBox["x", "2", "3"]}], "+", SubsuperscriptBox["x", "2", "5"], "-", RowBox[{"8", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubsuperscriptBox["x", "2", "3"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"8", " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "8"]}], " ", SqrtBox[ FractionBox["77", "2"]], " ", RowBox[{"(", RowBox[{ RowBox[{"5", " ", SubscriptBox["x", "3"]}], "-", RowBox[{"10", " ", SubsuperscriptBox["x", "2", "2"], " ", SubscriptBox["x", "3"]}], "+", RowBox[{"5", " ", SubsuperscriptBox["x", "2", "4"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"20", " ", SubsuperscriptBox["x", "3", "3"]}], "+", RowBox[{"20", " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "3"]}], "+", RowBox[{"16", " ", SubsuperscriptBox["x", "3", "5"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["1", "8"]}], " ", SqrtBox["165"], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], "-", RowBox[{"14", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"21", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "4"]}]}], ")"}]}]}, { RowBox[{ FractionBox["1", "2"], " ", SqrtBox["1155"], " ", RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"3", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["1", "8"]}], " ", SqrtBox[ FractionBox["385", "2"]], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], "-", RowBox[{"10", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{"9", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"36", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}]}], ")"}]}]}, { RowBox[{ FractionBox["3", "2"], " ", SqrtBox["385"], " ", RowBox[{"(", RowBox[{ RowBox[{ SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"], " ", SubscriptBox["x", "3"]}], "-", RowBox[{"2", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"], " ", SubsuperscriptBox["x", "3", "3"]}]}], ")"}]}]}, { RowBox[{ RowBox[{"-", FractionBox["3", "8"]}], " ", SqrtBox[ FractionBox["77", "2"]], " ", RowBox[{"(", RowBox[{ SubscriptBox["x", "1"], "-", RowBox[{"2", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"]}], "+", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "4"]}], "-", RowBox[{"12", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"12", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "2"], " ", SubsuperscriptBox["x", "3", "2"]}], "+", RowBox[{"16", " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "3", "4"]}]}], ")"}]}]} }, GridBoxAlignment->{ "Columns" -> {{Left}}, "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], Function[BoxForm`e$, TableForm[BoxForm`e$]]]], "Output", CellChangeTimes->{3.438807128984375*^9}] }, Closed]], Cell[TextData[{ "BasisH is computed by using Theorem 5.25 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["ZonalHarmonic", "Subsection", CellTags->"ZonalHarmonic"], Cell[TextData[{ StyleBox["ZonalHarmonic[m, x, y]", "InlineInput"], " is the extended zonal harmonic ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["Z", "m"], "(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], "as defined by 8.7 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.4388071358125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"ZonalHarmonic", "[", RowBox[{"5", ",", "x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ FractionBox["1", "120"], " ", "n", " ", RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"6", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"8", "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "y"}], ")"}], "5"]}], "-", RowBox[{ FractionBox["1", "12"], " ", "n", " ", RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"4", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"8", "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "y"}], ")"}], "3"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{ FractionBox["1", "8"], " ", "n", " ", RowBox[{"(", RowBox[{"2", "+", "n"}], ")"}], " ", RowBox[{"(", RowBox[{"8", "+", "n"}], ")"}], " ", RowBox[{"x", ".", "y"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "4"]}]}]], "Output", CellChangeTimes->{3.438807137796875*^9}] }, Closed]], Cell[TextData[{ "To obtain the zonal harmonic ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["Z", "m"], "(", RowBox[{"x", ",", "y"}], ")"}], TraditionalForm]]], "as a homogeneous polynomial in ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], " with pole ", Cell[BoxData[ FormBox["z", TraditionalForm]]], " on the unit sphere (as in Theorem 5.38 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]), use ", StyleBox["ZonalHarmonic[m, x, y]", "InlineInput"], " and in the result replace ", Cell[BoxData[ FormBox[ RowBox[{"\[LeftDoubleBracketingBar]", FormBox["z", TraditionalForm], "\[RightDoubleBracketingBar]"}], TraditionalForm]]], " with 1:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "7"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(7\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.4388071405*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"ZonalHarmonic", "[", RowBox[{"6", ",", "x", ",", "z"}], "]"}], " ", "/.", " ", RowBox[{ RowBox[{"\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["357", "16"], " ", RowBox[{"(", RowBox[{ RowBox[{"143", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "6"]}], "-", RowBox[{"143", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"33", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"]}], ")"}]}]], "Output", CellChangeTimes->{3.4388071429375*^9}] }, Closed]], Cell[TextData[{ "To obtain the zonal harmonic ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["Z", "m"], "(", RowBox[{"x", ",", "z"}], ")"}], TraditionalForm]]], " as an element of ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", "S", ")"}], TraditionalForm]]], " as originally defined in Chapter 5 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "], use ", StyleBox["ZonalHarmonic[m,x,z]", "InlineInput"], " and in the result replace \[LeftDoubleBracketingBar]", Cell[BoxData[ FormBox["x", TraditionalForm]]], "\[RightDoubleBracketingBar] and ", Cell[BoxData[ FormBox[ RowBox[{"\[LeftDoubleBracketingBar]", FormBox["z", TraditionalForm], "\[RightDoubleBracketingBar]"}], TraditionalForm]]], " with 1:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"ZonalHarmonic", "[", RowBox[{"8", ",", "x", ",", "z"}], "]"}], " ", "/.", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}], ",", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "\[Rule]", "1"}]}], "}"}]}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox["693", "128"], " ", RowBox[{"(", RowBox[{"7", "-", RowBox[{"364", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "2"]}], "+", RowBox[{"2730", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "4"]}], "-", RowBox[{"6188", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "6"]}], "+", RowBox[{"4199", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "z"}], ")"}], "8"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438443864734375*^9, 3.438807146390625*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["DimensionH", "Subsection", CellTags->"DimensionH"], Cell[TextData[{ StyleBox["DimensionH[m, n]", "InlineInput"], " is the vector space dimension of ", Cell[BoxData[ FormBox[ RowBox[{ SubscriptBox["H", "m"], "(", SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], ")"}], TraditionalForm]]], ", the space of harmonic polynomials on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], "homogeneous of degree ", Cell[BoxData[ FormBox["m", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"DimensionH", "[", RowBox[{"12", ",", "100"}], "]"}]], "Input"], Cell[BoxData["3901030682812965"], "Output", CellChangeTimes->{3.438443871328125*^9, 3.438807159390625*^9}] }, Closed]], Cell[TextData[{ StyleBox["DimensionH", "InlineInput"], " is computed by using Proposition 5.8 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Inversion and the Kelvin Transform", "Section", CellTags->"Inversion and the Kelvin Transform"], Cell[CellGroupData[{ Cell["Reflection", "Subsection", CellTags->"Inversion"], Cell[TextData[{ StyleBox["Reflection[x]", "InlineInput"], " is the reflection of a vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " with respect to the unit sphere. Thus the reflection of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " equals ", Cell[BoxData[ FormBox[ StyleBox[ FractionBox["x", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]], FontSize->16], TraditionalForm]]], ". The argument of ", StyleBox["Reflection", "InlineInput"], " can be either an expression representing a vector or a list of coordinates \ for a vector:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{ RowBox[{"2", "x"}], "+", "y"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{ RowBox[{"2", " ", "x"}], "+", "y"}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"2", " ", "x"}], "+", "y"}], "\[RightDoubleBracketingBar]"}], "2"]]], "Output", CellChangeTimes->{3.438807167328125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{"{", RowBox[{"1", ",", RowBox[{"-", "2"}], ",", "5", ",", " ", "11"}], "}"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox["1", "151"], ",", RowBox[{"-", FractionBox["2", "151"]}], ",", FractionBox["5", "151"], ",", FractionBox["11", "151"]}], "}"}]], "Output", CellChangeTimes->{3.4388071695*^9}] }, Closed]], Cell[TextData[{ StyleBox["Reflection[x, Sphere[r, c]]", "InlineInput"], " is the reflection of a vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " with respect to the sphere with radius ", Cell[BoxData[ FormBox["r", TraditionalForm]]], " centered at ", Cell[BoxData[ FormBox["c", TraditionalForm]]], ". Here each of ", StyleBox["x", "InlineInput"], " and ", StyleBox["c", "InlineInput"], " can be either an expression representing a vector or a list of coordinates \ for a vector:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{ RowBox[{"{", RowBox[{"2", ",", "4", ",", " ", "5"}], "}"}], ",", " ", RowBox[{"Sphere", "[", RowBox[{"7", ",", " ", RowBox[{"{", RowBox[{"3", ",", " ", "1", ",", " ", "6"}], "}"}]}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{"-", FractionBox["16", "11"]}], ",", FractionBox["158", "11"], ",", FractionBox["17", "11"]}], "}"}]], "Output", CellChangeTimes->{3.43880717221875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{ RowBox[{ RowBox[{"2", "x"}], "+", "y"}], ",", " ", RowBox[{"Sphere", "[", RowBox[{"3", ",", " ", "z"}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"z", "+", FractionBox[ RowBox[{"9", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", "x"}], "+", "y", "-", "z"}], ")"}]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"2", " ", "x"}], "+", "y", "-", "z"}], "\[RightDoubleBracketingBar]"}], "2"]]}]], "Output", CellChangeTimes->{3.438807174328125*^9}] }, Closed]], Cell[TextData[{ StyleBox["Reflection[x, Sphere[r, c]]", "InlineInput"], " is computed using equation 4.13 in [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"], Cell[TextData[{ StyleBox["Reflection[x, Hyperplane[b, t]]", "InlineInput"], " is the reflection of a vector ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " with respect to the hyperplane consisting of those vectors whose inner \ product with ", Cell[BoxData[ FormBox["b", TraditionalForm]]], " equals ", Cell[BoxData[ FormBox["t", TraditionalForm]]], ". In other words, if ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " denotes the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " (which must equal the dimension of ", Cell[BoxData[ FormBox["b", TraditionalForm]]], "), then the reflection is taken with respect to the hyperplane {", Cell[BoxData[ FormBox["y", TraditionalForm]]], " \[Epsilon] ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ": ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{"b", ".", "y"}], "=", "t"}], TraditionalForm]]], "}. Here each of ", StyleBox["x", "InlineInput"], " and ", StyleBox["b", "InlineInput"], " can be either an expression representing a vector or a list of coordinates \ for a vector:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{"x", " ", ",", " ", RowBox[{"Hyperplane", "[", RowBox[{ RowBox[{"{", RowBox[{"1", ",", " ", "4", ",", "5"}], "}"}], ",", " ", "7"}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ FractionBox["1", "21"], " ", RowBox[{"(", RowBox[{"7", "+", RowBox[{"20", " ", SubscriptBox["x", "1"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "2"]}], "-", RowBox[{"5", " ", SubscriptBox["x", "3"]}]}], ")"}]}], ",", RowBox[{ FractionBox["1", "21"], " ", RowBox[{"(", RowBox[{"28", "-", RowBox[{"4", " ", SubscriptBox["x", "1"]}], "+", RowBox[{"5", " ", SubscriptBox["x", "2"]}], "-", RowBox[{"20", " ", SubscriptBox["x", "3"]}]}], ")"}]}], ",", RowBox[{ FractionBox["1", "21"], " ", RowBox[{"(", RowBox[{"35", "-", RowBox[{"5", " ", SubscriptBox["x", "1"]}], "-", RowBox[{"20", " ", SubscriptBox["x", "2"]}], "-", RowBox[{"4", " ", SubscriptBox["x", "3"]}]}], ")"}]}]}], "}"}]], "Output", CellChangeTimes->{3.43880718253125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Reflection", "[", RowBox[{ RowBox[{"{", RowBox[{ SubscriptBox["x", "1"], ",", SubscriptBox["x", "2"]}], "}"}], ",", " ", RowBox[{"Hyperplane", "[", RowBox[{ RowBox[{"{", RowBox[{"4", ",", "5"}], "}"}], ",", " ", "7"}], "]"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ FractionBox["1", "41"], " ", RowBox[{"(", RowBox[{"56", "+", RowBox[{"9", " ", SubscriptBox["x", "1"]}], "-", RowBox[{"40", " ", SubscriptBox["x", "2"]}]}], ")"}]}], ",", RowBox[{ FractionBox["1", "41"], " ", RowBox[{"(", RowBox[{"70", "-", RowBox[{"40", " ", SubscriptBox["x", "1"]}], "-", RowBox[{"9", " ", SubscriptBox["x", "2"]}]}], ")"}]}]}], "}"}]], "Output", CellChangeTimes->{3.4388071849375*^9}] }, Closed]], Cell[TextData[{ StyleBox["Reflection[x, Hyperplane[b, t]]", "InlineInput"], " is computed using Exercise 9 on page 71 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Kelvin", "Subsection", CellTags->"Kelvin"], Cell[TextData[{ StyleBox["Kelvin[u, x]", "InlineInput"], " is the Kelvin transform of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ", thought of as a function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807213109375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Kelvin", "[", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "y"}], ")"}], "2"], "+", RowBox[{ SuperscriptBox[ SubscriptBox["x", "3"], "5"], " ", RowBox[{"Norm", "[", "x", "]"}]}]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], RowBox[{ RowBox[{"-", "9"}], "-", "n"}]], " ", RowBox[{"(", RowBox[{ RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"x", ".", "y"}], ")"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "7"]}], "+", SubsuperscriptBox["x", "3", "5"]}], ")"}]}]], "Output", CellChangeTimes->{3.43880721515625*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Phi", "Subsection", CellTags->"Phi"], Cell[TextData[{ StyleBox["\[CapitalPhi][z]", "InlineInput"], " is is the modified inversion introduced on page 154 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]. The modified inversion \[CapitalPhi] is defined by" }], "Text"], Cell[TextData[{ "\[CapitalPhi](z) = 2", Cell[BoxData[ FormBox[ RowBox[{ StyleBox[ FractionBox[ RowBox[{"z", "-", StyleBox["S", FontWeight->"Bold", FontSlant->"Plain"]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", "-", StyleBox["S", FontWeight->"Bold", FontSlant->"Plain"]}], "\[RightDoubleBracketingBar]"}], "2"]], FontSize->16], " ", "+", " "}], TraditionalForm]]], StyleBox["S", FontWeight->"Bold"], "," }], "Text", TextAlignment->Center], Cell[TextData[{ "where ", StyleBox["S", FontWeight->"Bold"], " is the south pole (0, 0, ..., 0, -1). The modified inversion \[CapitalPhi] \ is useful for translating questions about harmonic functions on balls to \ questions about harmonic functions on half-spaces, and vice versa." }], "Text"], Cell[TextData[{ "Here is a proof of that \[CapitalPhi](\[CapitalPhi](", Cell[BoxData[ FormBox["z", TraditionalForm]]], ")) = ", Cell[BoxData[ FormBox["z", TraditionalForm]]], ", as claimed in Proposition 7.18 (a) of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[CapitalPhi]", "[", "z", "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(S\\) will be considered to be a vector in \ \\!\\(Dimension[z]\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807221703125*^9}], Cell[BoxData[ RowBox[{"S", "+", FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], ")"}]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], "2"]]}]], "Output", CellChangeTimes->{3.43880722171875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[CapitalPhi]", "[", "%", "]"}]], "Input"], Cell[BoxData["z"], "Output", CellChangeTimes->{3.43880722440625*^9}] }, Closed]], Cell[TextData[{ "Another, and often more convenient, form of ", StyleBox["\[CapitalPhi]", "InlineInput"], " is given by ", StyleBox["\[CapitalPhi][x, y]", "InlineInput"], ". Here ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is a vector, ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " is a real number, and thus (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], ") is a vector in a Euclidean space whose dimension is one more than the \ dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], "." }], "Text"], Cell[TextData[{ "Here is a proof of the assertion of Exercise 6 in Chapter 7 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "], which asserts that" }], "Text"], Cell[TextData[{ "1 - ", Cell[BoxData[ FormBox[ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"\[CapitalPhi]", "(", RowBox[{"x", ",", " ", "y"}], ")"}], "\[RightDoubleBracketingBar]"}], "2"], TraditionalForm]]], " = ", Cell[BoxData[ FormBox[ StyleBox[ FractionBox[ RowBox[{"4", "y"}], RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], "+", " ", SuperscriptBox[ RowBox[{"(", RowBox[{"y", " ", "+", " ", "1"}], ")"}], "2"]}]], FontSize->16], TraditionalForm]]], ":" }], "Text", TextAlignment->Center], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"\[CapitalPhi]", "[", RowBox[{"x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{"{", RowBox[{ FractionBox[ RowBox[{"2", " ", "x"}], RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"1", "+", "y"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]], ",", RowBox[{ RowBox[{"-", "1"}], "+", FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{"1", "+", "y"}], ")"}]}], RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"1", "+", "y"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]}]}], "}"}]], "Output", CellChangeTimes->{3.438807236921875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"1", "-", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", "%", "\[RightDoubleBracketingBar]"}], "2"]}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"4", " ", "y"}], RowBox[{"1", "+", RowBox[{"2", " ", "y"}], "+", SuperscriptBox["y", "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]], "Output", CellChangeTimes->{3.4388072394375*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["KelvinM", "Subsection", CellTags->"KelvinM"], Cell[TextData[{ StyleBox["KelvinM[u, z]", "InlineInput"], " is the modified Kelvin transform defined to be equal to" }], "Text"], Cell[TextData[Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["2", RowBox[{ RowBox[{"(", RowBox[{"n", "-", "2"}], ")"}], "/", "2"}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{"z", " ", "-", " ", StyleBox["S", FontWeight->"Bold", FontSlant->"Plain"]}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], " ", RowBox[{ RowBox[{"u", "(", RowBox[{"\[CapitalPhi]", "(", "z", ")"}], ")"}], "."}]}], TraditionalForm]]]], "Text", TextAlignment->Center], Cell[TextData[{ "This modified Kelvin transform is defined on page 155 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]. Here is a proof of the assertion made there that the modified Kelvin \ transform is its own inverse:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"z", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(z\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880724828125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"KelvinM", "[", RowBox[{ RowBox[{"u", "[", "z", "]"}], ",", "z"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox["2", RowBox[{ RowBox[{"-", "1"}], "+", FractionBox["n", "2"]}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"2", "-", "n"}]], " ", RowBox[{"u", "[", RowBox[{"S", "+", FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], ")"}]}], SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], "2"]]}], "]"}]}]], "Output", CellChangeTimes->{3.438807251796875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"KelvinM", "[", RowBox[{"%", ",", " ", "z"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox[ RowBox[{"(", FractionBox["1", RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}]], ")"}], RowBox[{"-", "n"}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]], " ", RowBox[{"u", "[", "z", "]"}]}]], "Output", CellChangeTimes->{3.438807254109375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PowerExpand", "[", "%", "]"}]], "Input"], Cell[BoxData[ RowBox[{"u", "[", "z", "]"}]], "Output", CellChangeTimes->{3.438807256203125*^9}] }, Closed]], Cell[TextData[{ "Another form of ", StyleBox["KelvinM", "InlineInput"], " is given by ", StyleBox["KelvinM[u, x, y]", "InlineInput"], ". Here ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " is a vector, ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " is a real variable, and ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " is a function of (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "), which is a vector in a Euclidean space whose dimension is one more than \ the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", RowBox[{"n", "-", "1"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(\\(\\(-1\\)\\) + n\\)-dimensional real Euclidean space.\"\>"}]], \ "Message", CellChangeTimes->{3.438807258796875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"KelvinM", "[", RowBox[{ RowBox[{"x", "[", "4", "]"}], ",", "x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox["2", RowBox[{"n", "/", "2"}]], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"1", "+", "y"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "n"}], "/", "2"}]], " ", SubscriptBox["x", "4"]}]], "Output", CellChangeTimes->{3.438807262078125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"KelvinM", "[", RowBox[{ RowBox[{"z", "[", "4", "]"}], ",", "z"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ SuperscriptBox["2", RowBox[{ RowBox[{"-", "1"}], "+", FractionBox["n", "2"]}]], " ", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], RowBox[{"-", "n"}]], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", SubscriptBox["S", "4"]}], "+", RowBox[{ SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "S"}], "+", "z"}], "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["S", "4"]}], "+", RowBox[{"2", " ", SubscriptBox["z", "4"]}]}], ")"}]}]], "Output", CellChangeTimes->{3.438807264375*^9}] }, Closed]], Cell[TextData[{ "If we had used the input ", StyleBox["KelvinM[ z[4], z ]", "InlineInput"], ", the result would have included terms of the form ", Cell[BoxData[ FormBox[ SubscriptBox[ StyleBox["S", FontWeight->"Bold", FontSlant->"Plain"], "4"], TraditionalForm]]], ", which denotes the fourth coordinate of the south pole ", StyleBox["S", FontWeight->"Bold"], ". Of course ", Cell[BoxData[ FormBox[ SubscriptBox[ StyleBox["S", FontWeight->"Bold", FontSlant->"Plain"], "4"], TraditionalForm]]], " equals either 0 or -1, but since the dimension of ", Cell[BoxData[ FormBox["z", TraditionalForm]]], " has been set to equal the symbol ", Cell[BoxData[ FormBox["n", TraditionalForm]]], ", the computer has no way of determining whether or not ", Cell[BoxData[ FormBox["n", TraditionalForm]]], " equals 4. With the input ", StyleBox["KelvinM[ z[4], z ]", "InlineInput"], " there is no ambiguity; ", Cell[BoxData[ FormBox[ SubscriptBox["x", "4"], TraditionalForm]]], " cannot be the last coordinate, because the last coordinate is denoted by \ ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Kernels", "Section", CellTags->"Kernels"], Cell[CellGroupData[{ Cell["PoissonKernel", "Subsection", CellTags->"PoissonKernel"], Cell[TextData[{ StyleBox["PoissonKernel[x, y]", "InlineInput"], " is the extended Poisson kernel ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ",", Cell[BoxData[ FormBox["y", TraditionalForm]]], ") for the unit ball as defined by Equation 6.21 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "n"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(n\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880729778125*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PoissonKernel", "[", RowBox[{"x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{"1", "-", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"1", "-", RowBox[{"2", " ", RowBox[{"x", ".", "y"}]}], "+", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}], RowBox[{ RowBox[{"-", "n"}], "/", "2"}]]}]], "Output", CellChangeTimes->{3.4388073008125*^9}] }, Closed]], Cell[TextData[{ "The usual Poisson kernel ", Cell[BoxData[ FormBox["P", TraditionalForm]]], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", \[Zeta]), where \[Zeta] lies on the unit sphere, can be obtained by \ replacing \[LeftDoubleBracketingBar]\[Zeta]\[RightDoubleBracketingBar] with \ 1:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"PoissonKernel", "[", RowBox[{"x", ",", "\[Zeta]"}], "]"}], " ", "/.", " ", RowBox[{ RowBox[{ "\[LeftDoubleBracketingBar]", "\[Zeta]", "\[RightDoubleBracketingBar]"}], "\[Rule]", " ", "1"}]}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"(", RowBox[{"1", "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"1", "-", RowBox[{"2", " ", RowBox[{"x", ".", "\[Zeta]"}]}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "n"}], "/", "2"}]]}]], "Output", CellChangeTimes->{3.43880730325*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["PoissonKernelH", "Subsection", CellTags->"PoisssonKernelH"], Cell[TextData[{ StyleBox["PoissonKernelH[z, w]", "InlineInput"], " is the extended Poisson kernel ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], "(", Cell[BoxData[ FormBox["z", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["w", TraditionalForm]]], ") for the upper half-space ", Cell[BoxData[ FormBox["H", TraditionalForm]]], ", as defined by Equation 8.22 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"z", ",", "5"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(z\\) will be considered to be a vector in \ \\!\\(5\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.4388073099375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PoissonKernelH", "[", RowBox[{"z", ",", "w"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"3", " ", RowBox[{"(", RowBox[{ SubscriptBox["w", "5"], "+", SubscriptBox["z", "5"]}], ")"}]}], RowBox[{"4", " ", SuperscriptBox["\[Pi]", "2"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"w", ".", "z"}]}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "w", "\[RightDoubleBracketingBar]"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "2"], "+", RowBox[{"4", " ", SubscriptBox["w", "5"], " ", SubscriptBox["z", "5"]}]}], ")"}], RowBox[{"5", "/", "2"}]]}]]], "Output", CellChangeTimes->{3.43880731278125*^9}] }, Closed]], Cell[TextData[{ "The usual Poisson kernel ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], "(", Cell[BoxData[ FormBox["z", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["w", TraditionalForm]]], ") for the upper half-space, where we think of ", Cell[BoxData[ FormBox[ RowBox[{"w", " "}], TraditionalForm]]], "\[Epsilon] ", Cell[BoxData[ FormBox["\[PartialD]", TraditionalForm]]], Cell[BoxData[ FormBox["H", TraditionalForm]]], ", can be obtained by replacing the last coordinate of ", Cell[BoxData[ FormBox["w", TraditionalForm]]], " with 0:." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"%", " ", "/.", " ", RowBox[{ SubscriptBox["w", "5"], "\[Rule]", "0"}]}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"3", " ", SubscriptBox["z", "5"]}], RowBox[{"4", " ", SuperscriptBox["\[Pi]", "2"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "2"}], " ", RowBox[{"w", ".", "z"}]}], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "w", "\[RightDoubleBracketingBar]"}], "2"], "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{"5", "/", "2"}]]}]]], "Output", CellChangeTimes->{3.438807314609375*^9}] }, Closed]], Cell[TextData[{ StyleBox["PoissonKernelH[x, y, t, u]", "InlineInput"], " equals ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], StyleBox["(", FontSize->14], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "), (", Cell[BoxData[ FormBox["t", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ")", StyleBox[")", FontSize->16], " and thus is another format for the extended Poisson kernel on the upper \ half-space. Here ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["t", TraditionalForm]]], " denote vectors, and ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " denote nonnegative numbers. Note that if we want to work in the upper \ half-space of ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", then the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " should be set to ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "1"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", RowBox[{"n", "-", "1"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(\\(\\(-1\\)\\) + n\\)-dimensional real Euclidean space.\"\>"}]], \ "Message", CellChangeTimes->{3.438807316921875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PoissonKernelH", "[", RowBox[{"x", ",", "y", ",", "t", ",", "u"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"2", " ", RowBox[{"(", RowBox[{"u", "+", "y"}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"u", "+", "y"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "n"}], "/", "2"}]]}], RowBox[{"n", " ", RowBox[{"Volume", "[", "n", "]"}]}]]], "Output", CellChangeTimes->{3.438807319453125*^9}] }, Closed]], Cell[TextData[{ "The usual Poisson kernel ", Cell[BoxData[ FormBox[ SubscriptBox["P", "H"], TraditionalForm]]], StyleBox["(", FontSize->14], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "), ", Cell[BoxData[ FormBox["t", TraditionalForm]]], StyleBox[")", FontSize->16], " for the upper half-space, where ", Cell[BoxData[ FormBox[ RowBox[{"t", " "}], TraditionalForm]]], "\[Epsilon] ", Cell[BoxData[ FormBox["\[PartialD]", TraditionalForm]]], Cell[BoxData[ FormBox["H", TraditionalForm]]], ", can be setting the last argument in this format to 0:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"PoissonKernelH", "[", RowBox[{"x", ",", "y", ",", "t", ",", "0"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"2", " ", "y", " ", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox["y", "2"], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "n"}], "/", "2"}]]}], RowBox[{"n", " ", RowBox[{"Volume", "[", "n", "]"}]}]]], "Output", CellChangeTimes->{3.438807321703125*^9}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["BergmanKernel", "Subsection", CellTags->"BergmanKernel"], Cell[TextData[{ StyleBox["BergmanKernel[x, y]", "InlineInput"], " is the reproducing kernel for the harmonic Bergman space of the unit \ ball:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "10"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(10\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880732690625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BergmanKernel", "[", RowBox[{"x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"12", " ", RowBox[{"(", RowBox[{"10", "+", RowBox[{"8", " ", RowBox[{"(", RowBox[{ RowBox[{"-", "3"}], "+", RowBox[{"x", ".", "y"}]}], ")"}], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"6", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "4"]}]}], ")"}]}], RowBox[{ SuperscriptBox["\[Pi]", "5"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"1", "-", RowBox[{"2", " ", RowBox[{"x", ".", "y"}]}], "+", RowBox[{ SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "y", "\[RightDoubleBracketingBar]"}], "2"]}]}], ")"}], "6"]}]]], "Output", CellChangeTimes->{3.438807329125*^9}] }, Closed]], Cell[TextData[{ StyleBox["BergmanKernel", "InlineInput"], " is computed using Theorem 8.13 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["BergmanKernelH", "Subsection", CellTags->"BergmanKernelH"], Cell[TextData[{ StyleBox["BergmanKernelH[z, w]", "InlineInput"], " is the reproducing kernel for the harmonic Bergman space of the upper \ half-space:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"z", ",", "10"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(z\\) will be considered to be a vector in \ \\!\\(10\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.4388073391875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BergmanKernelH", "[", RowBox[{"z", ",", "w"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"48", " ", RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"w", ".", "z"}]}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "w", "\[RightDoubleBracketingBar]"}], "2"], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "2"], "+", RowBox[{"16", " ", SubscriptBox["w", "10"], " ", SubscriptBox["z", "10"]}], "+", RowBox[{"10", " ", RowBox[{"(", RowBox[{ SubsuperscriptBox["w", "10", "2"], "+", SubsuperscriptBox["z", "10", "2"]}], ")"}]}]}], ")"}]}], RowBox[{ SuperscriptBox["\[Pi]", "5"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"w", ".", "z"}]}], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "w", "\[RightDoubleBracketingBar]"}], "2"], "-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "z", "\[RightDoubleBracketingBar]"}], "2"], "-", RowBox[{"4", " ", SubscriptBox["w", "10"], " ", SubscriptBox["z", "10"]}]}], ")"}], "6"]}]]], "Output", CellChangeTimes->{3.438807341359375*^9}] }, Closed]], Cell[TextData[{ StyleBox["BergmanKernelH[x, y, t, u]", "InlineInput"], " is another format for the reproducing kernel for the harmonic Bergman \ space of the upper half-space. Here ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["t", TraditionalForm]]], " denote vectors, ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " denote nonnegative numbers, and the kernel is evaluated at ", StyleBox["(", FontSize->14], "(", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "), (", Cell[BoxData[ FormBox["t", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["u", TraditionalForm]]], ")", StyleBox[")", FontSize->16], ". Note that if we want to work in the upper half-space of ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "n"], TraditionalForm]]], ", then the dimension of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], " should be set to ", Cell[BoxData[ FormBox[ RowBox[{"n", "-", "1"}], TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", RowBox[{"n", "-", "1"}]}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(\\(\\(-1\\)\\) + n\\)-dimensional real Euclidean space.\"\>"}]], \ "Message", CellChangeTimes->{3.438807343234375*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BergmanKernelH", "[", RowBox[{"x", ",", "y", ",", "t", ",", "u"}], "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"4", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", "n"}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"u", "+", "y"}], ")"}], "2"]}], "-", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], " ", SuperscriptBox[ RowBox[{"(", RowBox[{ SuperscriptBox[ RowBox[{"(", RowBox[{"u", "+", "y"}], ")"}], "2"], "+", SuperscriptBox[ RowBox[{"\[LeftDoubleBracketingBar]", RowBox[{ RowBox[{"-", "t"}], "+", "x"}], "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], RowBox[{ RowBox[{"-", "1"}], "-", FractionBox["n", "2"]}]]}], RowBox[{"n", " ", RowBox[{"Volume", "[", "n", "]"}]}]]], "Output", CellChangeTimes->{3.43880734496875*^9}] }, Closed]], Cell[TextData[{ StyleBox["BergmanKernelH", "InlineInput"], " is computed by using Theorem 8.24 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Miscellaneous", "Section", CellTags->"Miscellaneous"], Cell[CellGroupData[{ Cell["BergmanProjection", "Subsection", CellTags->"BergmanProjection"], Cell[TextData[{ StyleBox["BergmanProjection[u, x]", "InlineInput"], " is the orthogonal projection of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], "onto ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["b", "2"], "(", "B", ")"}], TraditionalForm]]], ", the harmonic Bergman space of the unit ball (see Chapter 8 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]). Here ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " must be a polynomial function of ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ":" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "5"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(5\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.438807355515625*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"BergmanProjection", "[", RowBox[{ RowBox[{ SuperscriptBox[ SubscriptBox["x", "1"], "5"], " ", SuperscriptBox[ SubscriptBox["x", "2"], "3"]}], ",", "x"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ FractionBox[ RowBox[{"3", " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "143"], "-", RowBox[{ FractionBox["3", "221"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ FractionBox["2", "17"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubsuperscriptBox["x", "1", "3"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{ FractionBox["3", "17"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "5"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ FractionBox["1", "17"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}], "-", RowBox[{ FractionBox["10", "17"], " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "3"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{ SubsuperscriptBox["x", "1", "5"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{ FractionBox["1", "17"], " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"2", " ", SubsuperscriptBox["x", "1", "3"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{ SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}]}], ")"}]}], "+", FractionBox[ RowBox[{ RowBox[{"135", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SubscriptBox["x", "1"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"660", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubsuperscriptBox["x", "1", "3"], " ", SubscriptBox["x", "2"]}], "+", RowBox[{"429", " ", SubsuperscriptBox["x", "1", "5"], " ", SubscriptBox["x", "2"]}], "-", RowBox[{"330", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SubscriptBox["x", "1"], " ", SubsuperscriptBox["x", "2", "3"]}], "+", RowBox[{"1430", " ", SubsuperscriptBox["x", "1", "3"], " ", SubsuperscriptBox["x", "2", "3"]}]}], "2717"]}]], "Output", CellChangeTimes->{3.438807357671875*^9}] }, Closed]], Cell[TextData[{ StyleBox["BergmanProjection", "InlineInput"], " is computed by using Corollary 8.15 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["HarmonicConjugate", "Subsection", CellTags->"HarmonicConjugate"], Cell[TextData[{ StyleBox["HarmonicConjugate[u, x, y]", "InlineInput"], " is the harmonic conjugate of ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " on ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "2"], TraditionalForm]]], ", where the coordinates in ", Cell[BoxData[ FormBox[ SuperscriptBox[ StyleBox["R", FontWeight->"Bold", FontSlant->"Plain"], "2"], TraditionalForm]]], "are denoted by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], " and ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " is a harmonic function of (", Cell[BoxData[ FormBox["x", TraditionalForm]]], ", ", Cell[BoxData[ FormBox["y", TraditionalForm]]], "):" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"HarmonicConjugate", "[", RowBox[{ RowBox[{ RowBox[{"15", SuperscriptBox["x", "2"], " ", "y"}], "+", RowBox[{"12", SuperscriptBox["x", "3"], " ", "y"}], "-", RowBox[{"5", SuperscriptBox["y", "3"]}], "-", RowBox[{"12", "x", " ", SuperscriptBox["y", "3"]}]}], ",", "x", ",", "y"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"-", "5"}], " ", SuperscriptBox["x", "3"]}], "-", RowBox[{"3", " ", SuperscriptBox["x", "4"]}], "+", RowBox[{"15", " ", "x", " ", SuperscriptBox["y", "2"]}], "+", RowBox[{"18", " ", SuperscriptBox["x", "2"], " ", SuperscriptBox["y", "2"]}], "-", RowBox[{"3", " ", SuperscriptBox["y", "4"]}]}]], "Output", CellChangeTimes->{3.438807375703125*^9}] }, Closed]], Cell[TextData[{ StyleBox["HarmonicConjugate", "InlineInput"], " is computed by using Exercise 11 in Chapter 1 of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Schwarz", "Subsection", CellTags->"Schwarz"], Cell[TextData[{ StyleBox["Schwarz[x]", "InlineInput"], " is the maximum of |", Cell[BoxData[ FormBox[ RowBox[{"u", "(", "x", ")"}], TraditionalForm]]], "|, where ", Cell[BoxData[ FormBox["u", TraditionalForm]]], " ranges over all harmonic functions on the unit ball (in the Euclidean \ space whose dimension is determined by ", Cell[BoxData[ FormBox["x", TraditionalForm]]], ") with ", Cell[BoxData[ FormBox["u", TraditionalForm]]], "(0) = 0 and |", Cell[BoxData[ FormBox["u", TraditionalForm]]], "| < 1 on the ball. Thus, in the notation used in Theorem 6.24 of [ABR] to \ present the Harmonic Schwarz Lemma, ", StyleBox["Schwarz[x]", "InlineInput"], " equals ", Cell[BoxData[ FormBox["U", TraditionalForm]]], "(\[LeftDoubleBracketingBar]x\[RightDoubleBracketingBar] ", StyleBox["N", FontWeight->"Bold"], "). The user must first set the dimension of the Euclidean space to a \ positive integer value:" }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"SetDimension", "[", RowBox[{"x", ",", "5"}], "]"}]], "Input"], Cell[BoxData[ RowBox[{ RowBox[{"SetDimension", "::", "\<\"Vector\"\>"}], RowBox[{ ":", " "}], "\<\"\\!\\(x\\) will be considered to be a vector in \ \\!\\(5\\)-dimensional real Euclidean space.\"\>"}]], "Message", CellChangeTimes->{3.43880739046875*^9}] }, Closed]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Schwarz", "[", "x", "]"}]], "Input"], Cell[BoxData[ FractionBox[ RowBox[{"2", "+", RowBox[{"4", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], "+", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"]}], "-", RowBox[{"2", " ", SqrtBox[ RowBox[{"1", "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]}], "-", RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"], " ", SqrtBox[ RowBox[{"1", "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]}], "+", RowBox[{"3", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "4"], " ", SqrtBox[ RowBox[{"1", "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]}], "+", RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "6"], " ", SqrtBox[ RowBox[{"1", "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}]]}]}], RowBox[{"2", " ", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "3"], " ", SuperscriptBox[ RowBox[{"(", RowBox[{"1", "+", SuperscriptBox[ RowBox[{ "\[LeftDoubleBracketingBar]", "x", "\[RightDoubleBracketingBar]"}], "2"]}], ")"}], "2"]}]]], "Output", CellChangeTimes->{3.43880742334375*^9}] }, Closed]], Cell[TextData[{ StyleBox["Schwarz[x]", "InlineInput"], " is computed by evaluating the Poisson integral that defines ", Cell[BoxData[ FormBox["U", TraditionalForm]]], "(\[LeftDoubleBracketingBar]x\[RightDoubleBracketingBar] ", StyleBox["N", FontWeight->"Bold"], "), iterating an appropriate formula from Appendix A of [", ButtonBox["ABR", BaseStyle->"Hyperlink", ButtonData:>"ABR"], "]." }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Togetherness", "Subsection", CellTags->"TurnOff and TurnOn"], Cell[TextData[{ "When not using the HFT6.m software package, ", StyleBox["Mathematica", FontSlant->"Italic"], " might tell the user that the result of a calculation is ", Cell[BoxData[ FormBox[ RowBox[{ SuperscriptBox["t", "2"], "+", RowBox[{ RowBox[{"(", RowBox[{"1", "-", "t"}], ")"}], " ", RowBox[{"(", RowBox[{"1", " ", "+", " ", "t"}], ")"}]}]}], TraditionalForm]]], ". Of course the user will easily recognize that the last quantity equals \ 1, but with more complicated results the user will need to apply appropriate \ ", StyleBox["Mathematica", FontSlant->"Italic"], " commands (such as ", StyleBox["Simplify", "InlineInput"], ", ", StyleBox["Expand", "InlineInput"], ", or ", StyleBox["Together", "InlineInput"], ") to get the result in simplest form. Applying ", StyleBox["Simplify", "InlineInput"], " to all ", StyleBox["Mathematica", FontSlant->"Italic"], " output is poor practice, because ", StyleBox["Mathematica", FontSlant->"Italic"], " can take a long time to realize that some expressions cannot be \ simplified. For almost all output generated by the HFT6.m package, applying \ ", StyleBox["Together", "InlineInput"], " to the result and all its subexpressions puts it in simplest form. Thus \ the HFT6.m package redefines the ", StyleBox["Mathematica", FontSlant->"Italic"], " variable ", StyleBox["$Post", "InlineInput"], " so that for each output ", Cell[BoxData[ FormBox["X", TraditionalForm]]], ", ", StyleBox["Mathematica", FontSlant->"Italic"], " will display either ", Cell[BoxData[ FormBox["X", TraditionalForm]]], " or the result of applying ", StyleBox["Together", "InlineInput"], " to ", Cell[BoxData[ FormBox["X", TraditionalForm]]], " and all its subexpressions, whichever is shorter (if the user had defined \ ", StyleBox["$Post", "InlineInput"], " before starting the HFT6.m package, the HFT6.m version of ", StyleBox["$Post", "InlineInput"], " is composed with the user's). This procedure is invisible to the user and \ usually requires only a short amount of computer time. If you want to turn \ off this feature, use the command ", StyleBox["TurnOff[Togetherness]", "InlineInput"], " (if the user had defined ", StyleBox["$Post", "InlineInput"], " before starting the HFT6.m package, this restores the user's version). \ The command ", StyleBox["TurnOn[Togetherness]", "InlineInput"], " turns this feature back on again." }], "Text", CellChangeTimes->{{3.438803387765625*^9, 3.43880342346875*^9}}], Cell[TextData[{ "If ", StyleBox["Homogeneous", "InlineInput"], " or ", StyleBox["Taylor", "InlineInput"], " is used to find an expansion about a point other than the origin, then ", StyleBox["Togetherness", "InlineInput"], " will be automatically turned off. If this were not done then, for example, \ the last output in the ", StyleBox["Taylor", FontSlant->"Italic"], " subsection earlier in this notebook would be simplified to 1 + ", Cell[BoxData[ FormBox[ RowBox[{ RowBox[{ SubscriptBox["x", "1"], SubscriptBox["x", "2"]}], " ", "+", " ", SuperscriptBox[ SubscriptBox["x", "1"], "2"]}], TraditionalForm]]], ", which is not what the user wanted to see when asking for an expansion \ about ", Cell[BoxData[ FormBox["b", TraditionalForm]]], "." }], "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["References", "Section", CellTags->"References"], Cell[TextData[{ "[ABR] Sheldon Axler, Paul Bourdon, and Wade Ramey, ", StyleBox["Harmonic Function Theory", FontSlant->"Italic"], ", second edition, Springer Graduate Texts in Mathematics, 2001." }], "Text", CellTags->"ABR"], Cell[TextData[{ "[AGV] Sheldon Axler, Pamela Gorkin, and Karl Voss, The Dirichlet problem on \ quadratic surfaces, ", StyleBox["Mathematics of Computation", FontSlant->"Italic"], " 73 (2004), 637-651." }], "Text", CellChangeTimes->{{3.4384443150625*^9, 3.43844431871875*^9}}, CellTags->"AGV"], Cell[TextData[{ "[AR] Sheldon Axler and Wade Ramey, Harmonic polynomials and Dirichlet-type \ problems, ", StyleBox["Proceedings of the American Mathematical Society", FontSlant->"Italic"], " 123 (1995), 3765-3773." }], "Text", CellTags->"AR"], Cell["\<\ [R] Walter Rudin, Real and Complex Analysis, third edition, McGraw-Hill, \ 1987.\ \>", "Text", CellTags->"R"], Cell[TextData[{ "[W] Hermann Weyl, On the volume of tubes, ", StyleBox["American Journal of Mathematics", FontSlant->"Italic"], " 61 (1939), 461-472." }], "Text", CellTags->"W"] }, Closed]] }, WindowToolbars->"EditBar", CellGrouping->Manual, WindowSize->{897, 794}, WindowMargins->{{1, Automatic}, {Automatic, 0}}, ShowSelection->True, IndexCreationOptions -> {"Format" -> "Hyperlinks"}, Magnification->1.25, FrontEndVersion->"6.0 for Microsoft Windows (32-bit) (September 25, 2007)", StyleDefinitions->Notebook[{ Cell[ CellGroupData[{ Cell["Style Definitions", "Subtitle"], Cell[ "Modify the definitions below to change the default appearance of all \ cells in a given style. Make modifications to any definition using commands \ in the Format menu.", "Text"], Cell[ CellGroupData[{ Cell["Style Environment Names", "Section"], Cell[ StyleData[All, "Working"], PageWidth -> WindowWidth, ScriptMinSize -> 9], Cell[ StyleData[All, "Printout"], PageWidth -> PaperWidth, ScriptMinSize -> 7, FontSize -> 10, PrivateFontOptions -> {"FontType" -> "Outline"}]}, Closed]], Cell[ CellGroupData[{ Cell["Notebook Options", "Section"], Cell[ "The options defined for the style below will be used at the \ Notebook level.", "Text"], Cell[ StyleData["Notebook"], PageHeaders -> {{ Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"], None, Cell[ TextData[{ ValueBox["FileName"]}], "Header"]}, { Cell[ TextData[{ ValueBox["FileName"]}], "Header"], None, Cell[ TextData[{ CounterBox["Page"]}], "PageNumber"]}}, PrintingOptions -> { "FirstPageFace" -> Right, "FirstPageHeader" -> False}, StyleMenuListing -> None, Background -> RGBColor[0.900008, 0.863996, 0.809995]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Title"], ShowCellBracket -> False, CellMargins -> {{0, 0}, {0, 0}}, PageBreakBelow -> False, TextAlignment -> Center, LineSpacing -> {1, 0}, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 34, FontWeight -> "Bold", FontVariations -> { "Outline" -> False, "Shadow" -> False, "Underline" -> False}, FontColor -> GrayLevel[1], Background -> GrayLevel[0]], Cell[ StyleData["Title", "Printout"], CellMargins -> {{0, 0}, {0, 0}}, TextAlignment -> Center, FontSize -> 24, FontTracking -> "Plain", Background -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subtitle"], ShowCellBracket -> False, CellMargins -> {{0, 0}, {0, 0}}, PageBreakBelow -> False, TextAlignment -> Center, LineSpacing -> {1, 3}, ParagraphIndent -> -96, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 18, FontColor -> GrayLevel[1], Background -> RGBColor[0.2, 0.700008, 0.700008]], Cell[ StyleData["Subtitle", "Printout"], CellMargins -> {{0, 0}, {0, 0}}, TextAlignment -> Center, ParagraphIndent -> -85, FontSize -> 16, Background -> GrayLevel[0.6]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubtitle"], ShowCellBracket -> False, CellMargins -> {{10, 4}, {30, 10}}, PageBreakBelow -> False, CounterAssignments -> {{"Section", 0}, {"Equation", 0}, { "Figure", 0}}, FontFamily -> "Helvetica", FontSize -> 14, FontSlant -> "Italic"], Cell[ StyleData["Subsubtitle", "Printout"], CellMargins -> {{9, 10}, {50, 10}}, FontSize -> 14]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Section"], CellFrame -> {{0, 0}, {0, 3}}, CellDingbat -> None, CellMargins -> {{12, Inherited}, {4, 24}}, CellGroupingRules -> {"SectionGrouping", 30}, PageBreakBelow -> False, CellFrameMargins -> {{0, 4}, {6, 2}}, CellFrameLabelMargins -> 2, TextAlignment -> Center, CounterIncrements -> "Section", CounterAssignments -> {{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily -> "Helvetica", FontSize -> 18, FontWeight -> "Bold", FontColor -> GrayLevel[0]], Cell[ StyleData["Section", "Printout"], CellFrame -> {{0, 0}, {0, 3}}, CellMargins -> {{9, 0}, {2, 50}}, TextAlignment -> Center, FontSize -> 14, FontTracking -> "Plain", FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Subsection"], CellFrame -> {{0, 0}, {0, 2}}, CellMargins -> {{12, 10}, {0, 25}}, LineSpacing -> {1, 0}, ParagraphSpacing -> {0, 12}, FontFamily -> "Courier", FontSize -> 16, FontWeight -> "Bold"], Cell[ StyleData["Subsection", "Printout"], CellFrame -> {{0, 0}, {0, 2}}, CellMargins -> {{9, 0}, {4, 40}}, FontFamily -> "Courier", FontSize -> 16]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Subsubsection"], CellFrame -> {{0, 0}, {0, 2}}, CellMargins -> {{12, 10}, {5, 20}}, CellFrameMargins -> {{0, 0}, {0, 2}}, CellFrameColor -> GrayLevel[1], LineSpacing -> {1, 0}, ParagraphSpacing -> {0, 12}, FontFamily -> "Helvetica", FontSize -> 12, FontWeight -> "Bold", FontSlant -> "Italic", FontColor -> RGBColor[0.4, 0, 0.6]], Cell[ StyleData["Subsubsection", "Printout"], CellMargins -> {{9, 0}, {4, 20}}, FontSize -> 11]}, Closed]]}, Open]], Cell[ CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["Text"], CellDingbat -> None, CellMargins -> {{12, 10}, {5, 5}}, TextAlignment -> Left, TextJustification -> 0, LineSpacing -> {1, 3}, ParagraphSpacing -> {0, 12}, ParagraphIndent -> 0, FontFamily -> "Times"], Cell[ StyleData["Text", "Printout"], CellDingbat -> None, CellMargins -> {{111, 0}, {4, 4}}, TextAlignment -> Left, ParagraphSpacing -> {0, 6}, ParagraphIndent -> 0, FontSize -> 9]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Commentary"], CellMargins -> {{52, 10}, {0, 10}}, CellFrameMargins -> {{0, 0}, {0, 2}}, CellFrameColor -> GrayLevel[1], LineSpacing -> {1, 1}, ParagraphSpacing -> {0, 12}, FontFamily -> "Helvetica", FontSize -> 10, FontWeight -> "Plain", FontSlant -> "Plain"], Cell[ StyleData["Commentary", "Printout"], CellMargins -> {{52, 0}, {2, 8}}, LineSpacing -> {1, 2}, ParagraphSpacing -> {0, 6}, FontSize -> 8]}, Closed]]}, Open]]}, Open]], Cell[ CellGroupData[{ Cell["Styles for Input/Output", "Title"], Cell[ "The cells in this section define styles used for input and output to \ the kernel. Be careful when modifying, renaming, or removing these styles, \ because the front end associates special meanings with these style names.", "Title"], Cell[ CellGroupData[{ Cell[ StyleData["Input"], CellFrame -> {{4, 4}, {0, 4}}, CellMargins -> {{52, 10}, {0, 2}}, Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultInputFormatType, FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, FontFamily -> "Courier", FontSize -> 14, FontWeight -> "Bold", Background -> GrayLevel[1]], Cell[ StyleData["Input", "Printout"], FontSize -> 9, Background -> GrayLevel[0.8]]}, Open]], Cell[ StyleData["InlineInput"], Evaluatable -> True, CellGroupingRules -> "InputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, DefaultFormatType -> DefaultInputFormatType, AutoItalicWords -> {}, FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, CounterIncrements -> "Input", FontSize -> 14, FontWeight -> "Bold"], Cell[ CellGroupData[{ Cell[ StyleData["Output"], CellFrame -> {{4, 4}, {4, 0}}, CellMargins -> {{52, 10}, {12, 0}}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Plain", FontTracking -> "Plain", FontVariations -> { "Outline" -> False, "Shadow" -> False, "Underline" -> False}, Background -> GrayLevel[1]], Cell[ StyleData["Output", "Printout"], FontSize -> 9, Background -> GrayLevel[0.900008]]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["InputOnly"], CellFrame -> 4, CellMargins -> {{52, 10}, {4, 2}}, Evaluatable -> True, CellGroupingRules -> "NormalGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultInputFormatType, FormatType -> InputForm, ShowStringCharacters -> True, NumberMarks -> True, FontFamily -> "Courier", FontWeight -> "Bold", Background -> GrayLevel[1]], Cell[ StyleData["InputOnly", "Printout"], FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["OutputOnly"], CellFrame -> 4, CellMargins -> {{52, 10}, {4, 2}}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Plain", FontTracking -> "Plain", FontVariations -> { "Outline" -> False, "Shadow" -> False, "Underline" -> False}, Background -> GrayLevel[1]], Cell[ StyleData["OutputOnly", "Printout"], FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["SymbolicExpression"], CellFrame -> 1, CellMargins -> {{52, 10}, {4, 2}}, CellEditDuplicate -> True, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> GrayLevel[0], DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, FontFamily -> "Courier", FontWeight -> "Plain", FontSlant -> "Plain", FontTracking -> "Plain", FontVariations -> { "Outline" -> False, "Shadow" -> False, "Underline" -> False}, Background -> GrayLevel[1]], Cell[ StyleData["SymbolicExpression", "Printout"], FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Message"], CellMargins -> {{60, Inherited}, {Inherited, Inherited}}, CellGroupingRules -> "OutputGrouping", PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, StyleMenuListing -> None, FontColor -> RGBColor[1, 0, 0]], Cell[ StyleData["Message", "Printout"], FontSize -> 9, FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["Print"], CellFrame -> {{4, 4}, {4, 0}}, CellMargins -> {{52, 10}, {12, 0}}, CellGroupingRules -> "OutputGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GroupPageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellLabelMargins -> {{21, Inherited}, {Inherited, Inherited}}, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, StyleMenuListing -> None, Background -> GrayLevel[1]], Cell[ StyleData["Print", "Printout"], FontSize -> 9]}, Open]], Cell[ CellGroupData[{ Cell[ StyleData["Graphics"], CellFrame -> {{4, 4}, {0, 0}}, CellMargins -> {{52, 10}, {0, 0}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GeneratedCell -> True, CellAutoOverwrite -> True, ShowCellLabel -> False, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, ImageMargins -> {{43, Inherited}, {Inherited, 0}}, StyleMenuListing -> None, Background -> GrayLevel[1]], Cell[ StyleData["Graphics", "Printout"], ImageSize -> {250, 250}, ImageMargins -> {{28, Inherited}, {Inherited, 0}}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["ImportPict"], CellMargins -> {{52, 10}, {0, 0}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, GeneratedCell -> True, DefaultFormatType -> DefaultOutputFormatType, FormatType -> InputForm, StyleMenuListing -> "ImportPict", Background -> None], Cell[ StyleData["ImportPict", "Printout"]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["CellLabel"], StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 10, FontWeight -> "Plain", FontSlant -> "Italic", FontColor -> RGBColor[0.4, 0.4, 1]], Cell[ StyleData["CellLabel", "Printout"], FontSize -> 7, FontSlant -> "Italic", FontColor -> GrayLevel[0]]}, Closed]], Cell[ CellGroupData[{ Cell["Styles for Unique Items", "Section"], Cell[ CellGroupData[{ Cell[ StyleData["PullQuote"], CellFrame -> {{0, 0}, {0, 3}}, CellMargins -> {{0, 250}, {15, 5}}, CellFrameMargins -> {{20, 4}, {8, 6}}, LineSpacing -> {1, 1}, ParagraphSpacing -> {0, 12}, FontFamily -> "Helvetica", FontSize -> 12, FontWeight -> "Bold", FontColor -> GrayLevel[1], Background -> RGBColor[0.6, 0, 0.8]], Cell[ StyleData["PullQuote", "Printout"], ParagraphSpacing -> {0, 6}, FontSize -> 9]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["GrayBox"], CellFrame -> {{0, 0}, {0, 3}}, CellMargins -> {{62, 36}, {10, 5}}, CellFrameMargins -> {{8, 4}, {8, 4}}, LineSpacing -> {1, 3}, ParagraphSpacing -> {0, 12}, FontFamily -> "Helvetica", FontSize -> 10, FontWeight -> "Plain", FontColor -> GrayLevel[0], Background -> RGBColor[0.8, 0.700008, 0.6]], Cell[ StyleData["GrayBox", "Printout"], CellMargins -> {{62, 36}, {10, 5}}, FontSize -> 9, Background -> GrayLevel[0.8]]}, Closed]], Cell[ CellGroupData[{ Cell[ StyleData["PictureGroup"], CellFrame -> {{4, 4}, {0, 0}}, CellMargins -> {{52, Inherited}, {0, 0}}, CellGroupingRules -> "GraphicsGrouping", CellHorizontalScrolling -> True, PageBreakWithin -> False, ShowCellLabel -> False, CellFrameColor -> RGBColor[0.8, 0.700008, 0.6], ImageMargins -> {{43, Inherited}, {Inherited, 0}}, StyleMenuListing -> None, Background -> GrayLevel[1]], Cell[ StyleData["PictureGroup", "Printout"], ImageSize -> {250, 250}, ImageMargins -> {{28, Inherited}, {Inherited, 0}}]}, Closed]], Cell[ StyleData["LineSpace"], CellMargins -> {{0, 0}, {0, 0}}, CellElementSpacings -> {"CellMinHeight" -> 2}, FontSize -> 9]}, Open]], Cell[ CellGroupData[{ Cell["Styles for Headers and Footers", "Section"], Cell[ StyleData["Header"], CellMargins -> {{0, 0}, {4, 1}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9, FontSlant -> "Italic"], Cell[ StyleData["Footer"], CellMargins -> {{0, 0}, {0, 4}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 6], Cell[ StyleData["PageNumber"], CellMargins -> {{0, 0}, {4, 1}}, StyleMenuListing -> None, FontFamily -> "Helvetica", FontSize -> 9, FontWeight -> "Bold"]}, Closed]], Cell[ CellGroupData[{ Cell["FormatType Styles", "Section"], Cell[ "The cells below define styles that are mixed in with the styles of \ most cells. If a cell's FormatType matches the name of one of the styles \ defined below, then that style is applied between the cell's style and its \ own options.", "Text"], Cell[ CellGroupData[{ Cell[ StyleData["CellExpression"], CellFrame -> 1, CellMargins -> {{52, 10}, {4, 2}}, ShowCellLabel -> False, CellLabelMargins -> {{23, Inherited}, {Inherited, Inherited}}, ShowSpecialCharacters -> False, AllowInlineCells -> False, StyleMenuListing -> None, FontFamily -> "Courier", FontSize -> 10, FontColor -> GrayLevel[0], Background -> GrayLevel[1]], Cell[ BoxData[""], "Input"]}, Open]]}, Open]]}, Open]]}, Visible -> False, FrontEndVersion -> "6.0 for Microsoft Windows (32-bit) (September 25, 2007)", StyleDefinitions -> "Default.nb"] ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{ "ABR"->{ Cell[271427, 9731, 230, 6, 50, "Text", CellTags->"ABR"]}, "AGV"->{ Cell[271660, 9739, 299, 8, 50, "Text", CellTags->"AGV"]}, "AntiLaplacian"->{ Cell[134743, 4896, 63, 1, 39, "Subsection", CellTags->"AntiLaplacian"]}, "AR"->{ Cell[271962, 9749, 249, 7, 50, "Text", CellTags->"AR"]}, "BasisH"->{ Cell[180077, 6384, 49, 1, 66, "Subsection", CellTags->"BasisH"]}, "BergmanKernel"->{ Cell[250137, 8942, 63, 1, 66, "Subsection", CellTags->"BergmanKernel"]}, "BergmanKernelH"->{ Cell[252431, 9030, 65, 1, 66, "Subsection", CellTags->"BergmanKernelH"]}, "BergmanProjection"->{ Cell[257542, 9231, 71, 1, 66, "Subsection", CellTags->"BergmanProjection"]}, "BiDirichlet"->{ Cell[173409, 6156, 59, 1, 39, "Subsection", CellTags->"BiDirichlet"]}, "Boundary Value Problems"->{ Cell[83259, 3024, 80, 1, 42, "Section", CellTags->"Boundary Value Problems"]}, "Calculus in R^n"->{ Cell[11258, 298, 191, 8, 42, "Section", CellTags->"Calculus in R^n"]}, "Delta"->{ Cell[36192, 1230, 274, 9, 31, "Text", CellTags->"Delta"]}, "DimensionH"->{ Cell[217705, 7633, 57, 1, 66, "Subsection", CellTags->"DimensionH"]}, "Dirichlet"->{ Cell[83364, 3029, 64, 1, 66, "Subsection", CellTags->"Dirichlet"]}, "Divergence"->{ Cell[53490, 1866, 57, 1, 66, "Subsection", CellTags->"Divergence"]}, "ExpandNorm"->{ Cell[12897, 364, 57, 1, 39, "Subsection", CellTags->"ExpandNorm"]}, "ExteriorNeumann"->{ Cell[169376, 6016, 67, 1, 39, "Subsection", CellTags->"ExteriorNeumann"]}, "Getting Started"->{ Cell[979, 35, 64, 1, 68, "Section", CellTags->"Getting Started"]}, "Grad"->{ Cell[34991, 1181, 45, 1, 39, "Subsection", CellTags->"Grad"]}, "HarmonicConjugate"->{ Cell[262072, 9394, 71, 1, 66, "Subsection", CellTags->"HarmonicConjugate"]}, "HarmonicDecomposition"->{ Cell[127957, 4636, 79, 1, 66, "Subsection", CellTags->"HarmonicDecomposition"]}, "Homogeneous"->{ Cell[58914, 2080, 59, 1, 39, "Subsection", CellTags->"Homogeneous"]}, "Info3438777730-8377448"->{ Cell[9063, 246, 230, 4, 55, "Print", CellTags->"Info3438777730-8377448"]}, "IntegrateBall"->{ Cell[80909, 2929, 63, 1, 39, "Subsection", CellTags->"IntegrateBall"]}, "IntegrateSphere"->{ Cell[79019, 2852, 67, 1, 39, "Subsection", CellTags->"IntegrateSphere"]}, "Inversion"->{ Cell[218941, 7688, 56, 1, 66, "Subsection", CellTags->"Inversion"]}, "Inversion and the Kelvin Transform"->{ Cell[218814, 7683, 102, 1, 42, "Section", CellTags->"Inversion and the Kelvin Transform"]}, "J"->{ Cell[55041, 1932, 39, 1, 39, "Subsection", CellTags->"J"]}, "Kelvin"->{ Cell[226056, 7969, 49, 1, 66, "Subsection", CellTags->"Kelvin"]}, "KelvinM"->{ Cell[233000, 8252, 51, 1, 66, "Subsection", CellTags->"KelvinM"]}, "Kernels"->{ Cell[239963, 8524, 48, 1, 42, "Section", CellTags->"Kernels"]}, "Laplacian"->{ Cell[22396, 703, 55, 1, 39, "Subsection", CellTags->"Laplacian"]}, "Loading the Package"->{ Cell[1068, 40, 80, 1, 66, "Subsection", CellTags->"Loading the Package"], Cell[3671, 113, 75, 1, 39, "Subsection", CellTags->"Loading the Package"]}, "Matrices"->{ Cell[44280, 1517, 53, 1, 39, "Subsection", CellTags->"Matrices"]}, "Miscellaneous"->{ Cell[257457, 9226, 60, 1, 42, "Section", CellTags->"Miscellaneous"]}, "Neumann"->{ Cell[165690, 5892, 51, 1, 39, "Subsection", CellTags->"Neumann"]}, "Nonexplicit Functions"->{ Cell[67214, 2401, 79, 1, 39, "Subsection", CellTags->"Nonexplicit Functions"]}, "Norm"->{ Cell[11474, 310, 45, 1, 66, "Subsection", CellTags->"Norm"]}, "NormalD"->{ Cell[36503, 1244, 51, 1, 39, "Subsection", CellTags->"NormalD"]}, "On-line Help"->{ Cell[8603, 231, 61, 1, 39, "Subsection", CellTags->"On-line Help"]}, "Partial"->{ Cell[17279, 525, 51, 1, 39, "Subsection", CellTags->"Partial"]}, "Phi"->{ Cell[227660, 8036, 43, 1, 66, "Subsection", CellTags->"Phi"]}, "PoissonKernel"->{ Cell[240036, 8529, 63, 1, 66, "Subsection", CellTags->"PoissonKernel"]}, "PoisssonKernelH"->{ Cell[243084, 8651, 66, 1, 66, "Subsection", CellTags->"PoisssonKernelH"]}, "R"->{ Cell[272214, 9758, 120, 4, 29, "Text", CellTags->"R"]}, "References"->{ Cell[271370, 9728, 54, 1, 42, "Section", CellTags->"References"]}, "Schwarz"->{ Cell[264046, 9478, 51, 1, 66, "Subsection", CellTags->"Schwarz"]}, "Spherical Harmonics"->{ Cell[179980, 6379, 72, 1, 42, "Section", CellTags->"Spherical Harmonics"]}, "SurfaceArea"->{ Cell[77987, 2805, 59, 1, 39, "Subsection", CellTags->"SurfaceArea"]}, "Taylor"->{ Cell[62879, 2234, 49, 1, 39, "Subsection", CellTags->"Taylor"]}, "TurnOff and TurnOn"->{ Cell[267897, 9619, 67, 1, 66, "Subsection", CellTags->"TurnOff and TurnOn"]}, "Vector-valued Functions"->{ Cell[72778, 2602, 83, 1, 39, "Subsection", CellTags->"Vector-valued Functions"]}, "Volume"->{ Cell[77148, 2765, 49, 1, 39, "Subsection", CellTags->"Volume"]}, "W"->{ Cell[272337, 9764, 183, 6, 29, "Text", CellTags->"W"]}, "ZonalHarmonic"->{ Cell[211004, 7380, 63, 1, 66, "Subsection", CellTags->"ZonalHarmonic"]} } *) (*CellTagsIndex CellTagsIndex->{ {"ABR", 292685, 10192}, {"AGV", 292758, 10195}, {"AntiLaplacian", 292841, 10198}, {"AR", 292928, 10201}, {"BasisH", 293003, 10204}, {"BergmanKernel", 293094, 10207}, {"BergmanKernelH", 293193, 10210}, {"BergmanProjection", 293296, 10213}, {"BiDirichlet", 293396, 10216}, {"Boundary Value Problems", 293502, 10219}, {"Calculus in R^n", 293608, 10222}, {"Delta", 293696, 10225}, {"DimensionH", 293777, 10228}, {"Dirichlet", 293868, 10231}, {"Divergence", 293958, 10234}, {"ExpandNorm", 294049, 10237}, {"ExteriorNeumann", 294144, 10240}, {"Getting Started", 294246, 10243}, {"Grad", 294329, 10246}, {"HarmonicConjugate", 294421, 10249}, {"HarmonicDecomposition", 294531, 10252}, {"Homogeneous", 294635, 10255}, {"Info3438777730-8377448", 294739, 10258}, {"IntegrateBall", 294839, 10261}, {"IntegrateSphere", 294938, 10264}, {"Inversion", 295033, 10267}, {"Inversion and the Kelvin Transform", 295148, 10270}, {"J", 295253, 10273}, {"Kelvin", 295331, 10276}, {"KelvinM", 295416, 10279}, {"Kernels", 295502, 10282}, {"Laplacian", 295587, 10285}, {"Loading the Package", 295685, 10288}, {"Matrices", 295860, 10293}, {"Miscellaneous", 295952, 10296}, {"Neumann", 296041, 10299}, {"Nonexplicit Functions", 296141, 10302}, {"Norm", 296237, 10305}, {"NormalD", 296318, 10308}, {"On-line Help", 296408, 10311}, {"Partial", 296496, 10314}, {"Phi", 296576, 10317}, {"PoissonKernel", 296664, 10320}, {"PoisssonKernelH", 296764, 10323}, {"R", 296852, 10326}, {"References", 296930, 10329}, {"Schwarz", 297016, 10332}, {"Spherical Harmonics", 297114, 10335}, {"SurfaceArea", 297213, 10338}, {"Taylor", 297301, 10341}, {"TurnOff and TurnOn", 297396, 10344}, {"Vector-valued Functions", 297509, 10347}, {"Volume", 297609, 10350}, {"W", 297687, 10353}, {"ZonalHarmonic", 297768, 10356} } *) (*NotebookFileOutline Notebook[{ Cell[568, 21, 50, 0, 71, "Title"], Cell[621, 23, 33, 0, 46, "Subtitle"], Cell[657, 25, 297, 6, 29, "Text"], Cell[CellGroupData[{ Cell[979, 35, 64, 1, 68, "Section", CellTags->"Getting Started"], Cell[CellGroupData[{ Cell[1068, 40, 80, 1, 66, "Subsection", CellTags->"Loading the Package"], Cell[1151, 43, 513, 11, 71, "Text"], Cell[1667, 56, 796, 18, 92, "Text"], Cell[2466, 76, 250, 7, 29, "Text"], Cell[2719, 85, 586, 13, 50, "Text"], Cell[3308, 100, 326, 8, 50, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[3671, 113, 75, 1, 39, "Subsection", CellTags->"Loading the Package"], Cell[3749, 116, 539, 10, 71, "Text"], Cell[CellGroupData[{ Cell[4313, 130, 235, 5, 48, "Input"], Cell[4551, 137, 370, 6, 57, "Print"], Cell[4924, 145, 372, 6, 57, "Print"], Cell[5299, 153, 466, 7, 102, "Print"], Cell[5768, 162, 386, 6, 80, "Print"], Cell[6157, 170, 732, 11, 102, "Print"], Cell[6892, 183, 309, 5, 57, "Print"], Cell[7204, 190, 324, 5, 80, "Print"], Cell[7531, 197, 284, 5, 57, "Print"], Cell[7818, 204, 277, 5, 57, "Print"] }, Closed]], Cell[8110, 212, 166, 4, 27, "Text"], Cell[8279, 218, 287, 8, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[8603, 231, 61, 1, 39, "Subsection", CellTags->"On-line Help"], Cell[8667, 234, 319, 5, 50, "Text"], Cell[CellGroupData[{ Cell[9011, 243, 49, 1, 48, "Input"], Cell[9063, 246, 230, 4, 55, "Print", CellTags->"Info3438777730-8377448"] }, Closed]], Cell[9308, 253, 224, 7, 27, "Text"], Cell[CellGroupData[{ Cell[9557, 264, 70, 1, 48, "Input"], Cell[9630, 267, 1567, 24, 212, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[11258, 298, 191, 8, 42, "Section", CellTags->"Calculus in R^n"], Cell[CellGroupData[{ Cell[11474, 310, 45, 1, 66, "Subsection", CellTags->"Norm"], Cell[11522, 313, 721, 22, 83, "Text"], Cell[CellGroupData[{ Cell[12268, 339, 228, 6, 48, "Input"], Cell[12499, 347, 349, 11, 57, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[12897, 364, 57, 1, 39, "Subsection", CellTags->"ExpandNorm"], Cell[12957, 367, 1013, 36, 58, "Text"], Cell[13973, 405, 767, 23, 53, "Text"], Cell[14743, 430, 434, 16, 29, "Text"], Cell[CellGroupData[{ Cell[15202, 450, 695, 21, 73, "Input"], Cell[15900, 473, 753, 22, 76, "Output"] }, Closed]], Cell[16668, 498, 288, 9, 54, "Text"], Cell[CellGroupData[{ Cell[16981, 511, 63, 1, 48, "Input"], Cell[17047, 514, 87, 1, 57, "Output"] }, Closed]], Cell[17149, 518, 93, 2, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[17279, 525, 51, 1, 39, "Subsection", CellTags->"Partial"], Cell[17333, 528, 1299, 48, 84, "Text"], Cell[CellGroupData[{ Cell[18657, 580, 258, 7, 51, "Input"], Cell[18918, 589, 809, 23, 57, "Output"] }, Closed]], Cell[19742, 615, 407, 13, 52, "Text"], Cell[20152, 630, 590, 14, 75, "Text"], Cell[CellGroupData[{ Cell[20767, 648, 353, 11, 48, "Input"], Cell[21123, 661, 1224, 36, 80, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[22396, 703, 55, 1, 39, "Subsection", CellTags->"Laplacian"], Cell[22454, 706, 225, 9, 33, "Text"], Cell[CellGroupData[{ Cell[22704, 719, 218, 7, 48, "Input"], Cell[22925, 728, 303, 10, 77, "Output"] }, Closed]], Cell[23243, 741, 1242, 44, 94, "Text"], Cell[CellGroupData[{ Cell[24510, 789, 88, 2, 48, "Input"], Cell[24601, 793, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[24901, 804, 417, 13, 51, "Input"], Cell[25321, 819, 1957, 60, 84, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[27315, 884, 158, 4, 48, "Input"], Cell[27476, 890, 70, 1, 57, "Output"] }, Closed]], Cell[27561, 894, 395, 15, 27, "Text"], Cell[27959, 911, 646, 23, 53, "Text"], Cell[CellGroupData[{ Cell[28630, 938, 218, 7, 48, "Input"], Cell[28851, 947, 329, 10, 80, "Output"] }, Closed]], Cell[29195, 960, 2434, 91, 139, "Text"], Cell[CellGroupData[{ Cell[31654, 1055, 112, 3, 48, "Input"], Cell[31769, 1060, 280, 7, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[32086, 1072, 400, 12, 54, "Input"], Cell[32489, 1086, 1692, 53, 86, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[34218, 1144, 63, 1, 48, "Input"], Cell[34284, 1147, 69, 1, 57, "Output"] }, Closed]], Cell[34368, 1151, 586, 25, 27, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[34991, 1181, 45, 1, 39, "Subsection", CellTags->"Grad"], Cell[35039, 1184, 623, 22, 58, "Text"], Cell[CellGroupData[{ Cell[35687, 1210, 248, 8, 48, "Input"], Cell[35938, 1220, 239, 7, 73, "Output"] }, Closed]], Cell[36192, 1230, 274, 9, 31, "Text", CellTags->"Delta"] }, Closed]], Cell[CellGroupData[{ Cell[36503, 1244, 51, 1, 39, "Subsection", CellTags->"NormalD"], Cell[36557, 1247, 257, 9, 33, "Text"], Cell[36817, 1258, 575, 21, 50, "Text"], Cell[37395, 1281, 880, 26, 56, "Text"], Cell[38278, 1309, 249, 4, 50, "Text"], Cell[CellGroupData[{ Cell[38552, 1317, 898, 26, 78, "Input"], Cell[39453, 1345, 1227, 39, 88, "Output"] }, Closed]], Cell[40695, 1387, 808, 25, 64, "Text"], Cell[CellGroupData[{ Cell[41528, 1416, 544, 15, 76, "Input"], Cell[42075, 1433, 1269, 41, 87, "Output"] }, Closed]], Cell[43359, 1477, 199, 7, 33, "Text"], Cell[CellGroupData[{ Cell[43583, 1488, 64, 1, 48, "Input"], Cell[43650, 1491, 460, 15, 60, "Output"] }, Closed]], Cell[44125, 1509, 118, 3, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[44280, 1517, 53, 1, 39, "Subsection", CellTags->"Matrices"], Cell[CellGroupData[{ Cell[44358, 1522, 42, 0, 53, "Subsubsection"], Cell[44403, 1524, 897, 29, 104, "Text"], Cell[CellGroupData[{ Cell[45325, 1557, 142, 4, 48, "Input"], Cell[45470, 1563, 247, 6, 27, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[45754, 1574, 183, 5, 48, "Input"], Cell[45940, 1581, 260, 7, 76, "Output"] }, Closed]], Cell[46215, 1591, 2146, 77, 133, "Text"], Cell[48364, 1670, 736, 19, 100, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[49137, 1694, 41, 0, 32, "Subsubsection"], Cell[49181, 1696, 653, 30, 33, "Text"], Cell[CellGroupData[{ Cell[49859, 1730, 356, 9, 48, "Input"], Cell[50218, 1741, 629, 19, 77, "Output"] }, Closed]], Cell[50862, 1763, 1063, 39, 75, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[51962, 1807, 39, 0, 32, "Subsubsection"], Cell[52004, 1809, 301, 9, 54, "Text"], Cell[CellGroupData[{ Cell[52330, 1822, 188, 5, 48, "Input"], Cell[52521, 1829, 645, 18, 80, "Output"] }, Closed]], Cell[53181, 1850, 260, 10, 29, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[53490, 1866, 57, 1, 66, "Subsection", CellTags->"Divergence"], Cell[53550, 1869, 238, 9, 33, "Text"], Cell[CellGroupData[{ Cell[53813, 1882, 142, 4, 48, "Input"], Cell[53958, 1888, 248, 6, 27, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[54243, 1899, 220, 7, 48, "Input"], Cell[54466, 1908, 460, 16, 77, "Output"] }, Closed]], Cell[54941, 1927, 63, 0, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[55041, 1932, 39, 1, 39, "Subsection", CellTags->"J"], Cell[55083, 1935, 960, 32, 100, "Text"], Cell[CellGroupData[{ Cell[56068, 1971, 88, 2, 48, "Input"], Cell[56159, 1975, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[56459, 1986, 216, 7, 51, "Input"], Cell[56678, 1995, 564, 19, 78, "Output"] }, Closed]], Cell[57257, 2017, 1326, 47, 100, "Text"], Cell[58586, 2066, 291, 9, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[58914, 2080, 59, 1, 39, "Subsection", CellTags->"Homogeneous"], Cell[58976, 2083, 422, 15, 54, "Text"], Cell[CellGroupData[{ Cell[59423, 2102, 88, 2, 48, "Input"], Cell[59514, 2106, 260, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[59811, 2117, 440, 15, 78, "Input"], Cell[60254, 2134, 462, 14, 73, "Output"] }, Closed]], Cell[60731, 2151, 474, 16, 54, "Text"], Cell[CellGroupData[{ Cell[61230, 2171, 260, 9, 51, "Input"], Cell[61493, 2182, 255, 6, 50, "Message"], Cell[61751, 2190, 570, 21, 57, "Output"] }, Closed]], Cell[62336, 2214, 506, 15, 75, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[62879, 2234, 49, 1, 39, "Subsection", CellTags->"Taylor"], Cell[62931, 2237, 439, 15, 54, "Text"], Cell[CellGroupData[{ Cell[63395, 2256, 346, 12, 78, "Input"], Cell[63744, 2270, 523, 16, 76, "Output"] }, Closed]], Cell[64282, 2289, 493, 16, 54, "Text"], Cell[CellGroupData[{ Cell[64800, 2309, 265, 9, 51, "Input"], Cell[65068, 2320, 1086, 41, 57, "Output"] }, Closed]], Cell[66169, 2364, 640, 18, 75, "Text"], Cell[CellGroupData[{ Cell[66834, 2386, 70, 1, 48, "Input"], Cell[66907, 2389, 258, 6, 50, "Message"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[67214, 2401, 79, 1, 39, "Subsection", CellTags->"Nonexplicit Functions"], Cell[67296, 2404, 543, 16, 55, "Text"], Cell[CellGroupData[{ Cell[67864, 2424, 188, 6, 51, "Input"], Cell[68055, 2432, 438, 13, 60, "Output"] }, Closed]], Cell[68508, 2448, 722, 27, 72, "Text"], Cell[CellGroupData[{ Cell[69255, 2479, 193, 6, 51, "Input"], Cell[69451, 2487, 1272, 39, 84, "Output"] }, Closed]], Cell[70738, 2529, 265, 10, 33, "Text"], Cell[71006, 2541, 1735, 56, 156, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[72778, 2602, 83, 1, 39, "Subsection", CellTags->"Vector-valued Functions"], Cell[72864, 2605, 428, 16, 34, "Text"], Cell[CellGroupData[{ Cell[73317, 2625, 224, 7, 51, "Input"], Cell[73544, 2634, 602, 18, 60, "Output"] }, Closed]], Cell[74161, 2655, 942, 30, 75, "Text"], Cell[CellGroupData[{ Cell[75128, 2689, 155, 5, 48, "Input"], Cell[75286, 2696, 306, 6, 72, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[75629, 2707, 224, 7, 51, "Input"], Cell[75856, 2716, 664, 21, 60, "Output"] }, Closed]], Cell[76535, 2740, 576, 20, 67, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[77148, 2765, 49, 1, 39, "Subsection", CellTags->"Volume"], Cell[77200, 2768, 300, 12, 33, "Text"], Cell[CellGroupData[{ Cell[77525, 2784, 59, 1, 48, "Input"], Cell[77587, 2787, 139, 3, 76, "Output"] }, Closed]], Cell[77741, 2793, 209, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[77987, 2805, 59, 1, 39, "Subsection", CellTags->"SurfaceArea"], Cell[78049, 2808, 313, 12, 33, "Text"], Cell[CellGroupData[{ Cell[78387, 2824, 65, 1, 48, "Input"], Cell[78455, 2827, 189, 5, 76, "Output"] }, Closed]], Cell[78659, 2835, 323, 12, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[79019, 2852, 67, 1, 39, "Subsection", CellTags->"IntegrateSphere"], Cell[79089, 2855, 478, 16, 54, "Text"], Cell[CellGroupData[{ Cell[79592, 2875, 88, 2, 48, "Input"], Cell[79683, 2879, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[79983, 2890, 278, 9, 51, "Input"], Cell[80264, 2901, 397, 13, 76, "Output"] }, Closed]], Cell[80676, 2917, 196, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[80909, 2929, 63, 1, 39, "Subsection", CellTags->"IntegrateBall"], Cell[80975, 2932, 820, 30, 75, "Text"], Cell[CellGroupData[{ Cell[81820, 2966, 88, 2, 48, "Input"], Cell[81911, 2970, 262, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[82210, 2981, 389, 13, 51, "Input"], Cell[82602, 2996, 291, 9, 82, "Output"] }, Closed]], Cell[82908, 3008, 302, 10, 54, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[83259, 3024, 80, 1, 42, "Section", CellTags->"Boundary Value Problems"], Cell[CellGroupData[{ Cell[83364, 3029, 64, 1, 66, "Subsection", CellTags->"Dirichlet"], Cell[CellGroupData[{ Cell[83453, 3034, 60, 0, 53, "Subsubsection"], Cell[83516, 3036, 717, 24, 79, "Text"], Cell[CellGroupData[{ Cell[84258, 3064, 88, 2, 48, "Input"], Cell[84349, 3068, 257, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[84643, 3079, 211, 7, 51, "Input"], Cell[84857, 3088, 2325, 69, 98, "Output"] }, Closed]], Cell[87197, 3160, 548, 18, 52, "Text"], Cell[CellGroupData[{ Cell[87770, 3182, 90, 2, 48, "Input"], Cell[87863, 3186, 70, 1, 57, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[87970, 3192, 169, 4, 48, "Input"], Cell[88142, 3198, 156, 4, 57, "Output"] }, Closed]], Cell[88313, 3205, 75, 0, 29, "Text"], Cell[88391, 3207, 205, 7, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[88633, 3219, 76, 0, 32, "Subsubsection"], Cell[88712, 3221, 681, 23, 83, "Text"], Cell[89396, 3246, 951, 31, 75, "Text"], Cell[CellGroupData[{ Cell[90372, 3281, 274, 8, 51, "Input"], Cell[90649, 3291, 3147, 96, 125, "Output"] }, Closed]], Cell[93811, 3390, 819, 28, 81, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[94667, 3423, 65, 0, 32, "Subsubsection"], Cell[94735, 3425, 1055, 38, 75, "Text"], Cell[CellGroupData[{ Cell[95815, 3467, 352, 11, 51, "Input"], Cell[96170, 3480, 1989, 68, 156, "Output"] }, Closed]], Cell[98174, 3551, 628, 22, 54, "Text"], Cell[CellGroupData[{ Cell[98827, 3577, 90, 2, 48, "Input"], Cell[98920, 3581, 69, 1, 57, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[99026, 3587, 169, 4, 48, "Input"], Cell[99198, 3593, 101, 2, 57, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[99336, 3600, 170, 4, 48, "Input"], Cell[99509, 3606, 101, 2, 57, "Output"] }, Closed]], Cell[99625, 3611, 651, 22, 58, "Text"], Cell[100279, 3635, 222, 7, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[100538, 3647, 68, 0, 32, "Subsubsection"], Cell[100609, 3649, 390, 12, 54, "Text"], Cell[101002, 3663, 256, 8, 31, "Text"], Cell[101261, 3673, 696, 25, 52, "Text"], Cell[101960, 3700, 373, 14, 31, "Text"], Cell[102336, 3716, 180, 9, 31, "Text"], Cell[CellGroupData[{ Cell[102541, 3729, 88, 2, 48, "Input"], Cell[102632, 3733, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[102932, 3744, 501, 16, 51, "Input"], Cell[103436, 3762, 1033, 32, 76, "Output"] }, Closed]], Cell[104484, 3797, 1357, 49, 78, "Text"], Cell[CellGroupData[{ Cell[105866, 3850, 90, 2, 48, "Input"], Cell[105959, 3854, 67, 1, 57, "Output"] }, Closed]], Cell[106041, 3858, 699, 21, 71, "Text"], Cell[106743, 3881, 274, 11, 31, "Text"], Cell[107020, 3894, 219, 6, 29, "Text"], Cell[107242, 3902, 783, 28, 52, "Text"], Cell[CellGroupData[{ Cell[108050, 3934, 402, 13, 51, "Input"], Cell[108455, 3949, 1488, 41, 122, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[109992, 3996, 55, 0, 32, "Subsubsection"], Cell[110050, 3998, 1256, 40, 120, "Text"], Cell[CellGroupData[{ Cell[111331, 4042, 367, 12, 51, "Input"], Cell[111701, 4056, 2095, 64, 98, "Output"] }, Closed]], Cell[113811, 4123, 576, 18, 50, "Text"], Cell[CellGroupData[{ Cell[114412, 4145, 90, 2, 48, "Input"], Cell[114505, 4149, 146, 4, 57, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[114688, 4158, 169, 4, 48, "Input"], Cell[114860, 4164, 156, 4, 57, "Output"] }, Closed]], Cell[115031, 4171, 1214, 43, 77, "Text"], Cell[CellGroupData[{ Cell[116270, 4218, 501, 16, 80, "Input"], Cell[116774, 4236, 1474, 40, 122, "Output"] }, Closed]], Cell[118263, 4279, 981, 33, 54, "Text"], Cell[CellGroupData[{ Cell[119269, 4316, 90, 2, 48, "Input"], Cell[119362, 4320, 101, 2, 57, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[119512, 4328, 69, 0, 32, "Subsubsection"], Cell[119584, 4330, 1264, 48, 73, "Text"], Cell[CellGroupData[{ Cell[120873, 4382, 230, 7, 51, "Input"], Cell[121106, 4391, 964, 27, 98, "Output"] }, Closed]], Cell[122085, 4421, 209, 4, 27, "Text"], Cell[CellGroupData[{ Cell[122319, 4429, 149, 4, 48, "Input"], Cell[122471, 4435, 65, 1, 57, "Output"] }, Closed]], Cell[122551, 4439, 383, 10, 50, "Text"], Cell[CellGroupData[{ Cell[122959, 4453, 301, 10, 62, "Input"], Cell[123263, 4465, 70, 1, 57, "Output"] }, Closed]], Cell[123348, 4469, 907, 36, 52, "Text"], Cell[CellGroupData[{ Cell[124280, 4509, 558, 17, 80, "Input"], Cell[124841, 4528, 2108, 61, 188, "Output"] }, Closed]], Cell[126964, 4592, 616, 23, 50, "Text"], Cell[CellGroupData[{ Cell[127605, 4619, 149, 4, 48, "Input"], Cell[127757, 4625, 139, 4, 57, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[127957, 4636, 79, 1, 66, "Subsection", CellTags->"HarmonicDecomposition"], Cell[128039, 4639, 527, 18, 54, "Text"], Cell[CellGroupData[{ Cell[128591, 4661, 88, 2, 48, "Input"], Cell[128682, 4665, 284, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[129003, 4676, 146, 4, 51, "Input"], Cell[129152, 4682, 1441, 47, 79, "Output"] }, Closed]], Cell[130608, 4732, 1914, 70, 98, "Text"], Cell[132525, 4804, 1791, 72, 52, "Text"], Cell[134319, 4878, 387, 13, 54, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[134743, 4896, 63, 1, 39, "Subsection", CellTags->"AntiLaplacian"], Cell[134809, 4899, 748, 27, 54, "Text"], Cell[CellGroupData[{ Cell[135582, 4930, 88, 2, 48, "Input"], Cell[135673, 4934, 281, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[135991, 4945, 476, 15, 78, "Input"], Cell[136470, 4962, 1619, 52, 76, "Output"] }, Closed]], Cell[138104, 5017, 660, 24, 31, "Text"], Cell[CellGroupData[{ Cell[138789, 5045, 90, 2, 48, "Input"], Cell[138882, 5049, 397, 10, 57, "Output"] }, Closed]], Cell[139294, 5062, 2450, 103, 120, "Text"], Cell[141747, 5167, 938, 37, 45, "Text"], Cell[142688, 5206, 531, 19, 50, "Text"], Cell[143222, 5227, 554, 19, 43, "Text"], Cell[143779, 5248, 55, 0, 29, "Text"], Cell[143837, 5250, 618, 20, 48, "Text"], Cell[144458, 5272, 726, 20, 136, "Text"], Cell[CellGroupData[{ Cell[145209, 5296, 395, 12, 51, "Input"], Cell[145607, 5310, 8452, 234, 324, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[154096, 5549, 456, 13, 51, "Input"], Cell[154555, 5564, 8472, 234, 324, "Output"] }, Closed]], Cell[163042, 5801, 860, 27, 77, "Text"], Cell[CellGroupData[{ Cell[163927, 5832, 291, 9, 51, "Input"], Cell[164221, 5843, 1420, 43, 76, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[165690, 5892, 51, 1, 39, "Subsection", CellTags->"Neumann"], Cell[165744, 5895, 848, 21, 96, "Text"], Cell[CellGroupData[{ Cell[166617, 5920, 88, 2, 48, "Input"], Cell[166708, 5924, 282, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[167027, 5935, 206, 7, 78, "Input"], Cell[167236, 5944, 2091, 66, 114, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[169376, 6016, 67, 1, 39, "Subsection", CellTags->"ExteriorNeumann"], Cell[169446, 6019, 798, 20, 96, "Text"], Cell[CellGroupData[{ Cell[170269, 6043, 88, 2, 48, "Input"], Cell[170360, 6047, 260, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[170657, 6058, 190, 6, 51, "Input"], Cell[170850, 6066, 2510, 84, 133, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[173409, 6156, 59, 1, 39, "Subsection", CellTags->"BiDirichlet"], Cell[173471, 6159, 648, 18, 75, "Text"], Cell[CellGroupData[{ Cell[174144, 6181, 88, 2, 48, "Input"], Cell[174235, 6185, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[174535, 6196, 213, 7, 51, "Input"], Cell[174751, 6205, 4040, 119, 142, "Output"] }, Closed]], Cell[178806, 6327, 148, 3, 29, "Text"], Cell[CellGroupData[{ Cell[178979, 6334, 114, 3, 48, "Input"], Cell[179096, 6339, 69, 1, 57, "Output"] }, Closed]], Cell[179180, 6343, 110, 3, 29, "Text"], Cell[CellGroupData[{ Cell[179315, 6350, 89, 2, 48, "Input"], Cell[179407, 6354, 69, 1, 57, "Output"] }, Closed]], Cell[179491, 6358, 75, 0, 29, "Text"], Cell[CellGroupData[{ Cell[179591, 6362, 170, 4, 48, "Input"], Cell[179764, 6368, 155, 4, 57, "Output"] }, Closed]] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[179980, 6379, 72, 1, 42, "Section", CellTags->"Spherical Harmonics"], Cell[CellGroupData[{ Cell[180077, 6384, 49, 1, 66, "Subsection", CellTags->"BasisH"], Cell[180129, 6387, 1094, 39, 79, "Text"], Cell[CellGroupData[{ Cell[181248, 6430, 88, 2, 48, "Input"], Cell[181339, 6434, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[181639, 6445, 119, 3, 48, "Input"], Cell[181761, 6450, 4581, 142, 246, "Output"] }, Closed]], Cell[186357, 6595, 881, 34, 56, "Text"], Cell[CellGroupData[{ Cell[187263, 6633, 173, 4, 48, "Input"], Cell[187439, 6639, 7160, 218, 406, "Output"] }, Closed]], Cell[194614, 6860, 816, 28, 77, "Text"], Cell[CellGroupData[{ Cell[195455, 6892, 175, 4, 48, "Input"], Cell[195633, 6898, 6834, 208, 316, "Output"] }, Closed]], Cell[202482, 7109, 718, 23, 54, "Text"], Cell[CellGroupData[{ Cell[203225, 7136, 323, 9, 48, "Input"], Cell[203551, 7147, 7252, 219, 372, "Output"] }, Closed]], Cell[210818, 7369, 149, 6, 29, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[211004, 7380, 63, 1, 66, "Subsection", CellTags->"ZonalHarmonic"], Cell[211070, 7383, 343, 13, 33, "Text"], Cell[CellGroupData[{ Cell[211438, 7400, 88, 2, 48, "Input"], Cell[211529, 7404, 261, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[211827, 7415, 99, 2, 48, "Input"], Cell[211929, 7419, 1459, 49, 111, "Output"] }, Closed]], Cell[213403, 7471, 792, 29, 54, "Text"], Cell[CellGroupData[{ Cell[214220, 7504, 88, 2, 48, "Input"], Cell[214311, 7508, 258, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[214606, 7519, 242, 6, 48, "Input"], Cell[214851, 7527, 880, 29, 73, "Output"] }, Closed]], Cell[215746, 7559, 806, 28, 54, "Text"], Cell[CellGroupData[{ Cell[216577, 7591, 421, 13, 48, "Input"], Cell[217001, 7606, 655, 21, 73, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[217705, 7633, 57, 1, 66, "Subsection", CellTags->"DimensionH"], Cell[217765, 7636, 575, 22, 33, "Text"], Cell[CellGroupData[{ Cell[218365, 7662, 89, 2, 48, "Input"], Cell[218457, 7666, 107, 1, 57, "Output"] }, Closed]], Cell[218579, 7670, 186, 7, 33, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[218814, 7683, 102, 1, 42, "Section", CellTags->"Inversion and the Kelvin Transform"], Cell[CellGroupData[{ Cell[218941, 7688, 56, 1, 66, "Subsection", CellTags->"Inversion"], Cell[219000, 7691, 663, 22, 68, "Text"], Cell[CellGroupData[{ Cell[219688, 7717, 105, 3, 48, "Input"], Cell[219796, 7722, 291, 9, 77, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[220124, 7736, 156, 4, 48, "Input"], Cell[220283, 7742, 247, 8, 73, "Output"] }, Closed]], Cell[220545, 7753, 521, 17, 58, "Text"], Cell[CellGroupData[{ Cell[221091, 7774, 295, 9, 48, "Input"], Cell[221389, 7785, 217, 7, 73, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[221643, 7797, 199, 6, 67, "Input"], Cell[221845, 7805, 395, 12, 96, "Output"] }, Closed]], Cell[222255, 7820, 198, 7, 33, "Text"], Cell[222456, 7829, 1198, 42, 100, "Text"], Cell[CellGroupData[{ Cell[223679, 7875, 235, 7, 67, "Input"], Cell[223917, 7884, 972, 33, 92, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[224926, 7922, 314, 11, 67, "Input"], Cell[225243, 7935, 551, 19, 92, "Output"] }, Closed]], Cell[225809, 7957, 210, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[226056, 7969, 49, 1, 66, "Subsection", CellTags->"Kelvin"], Cell[226108, 7972, 242, 9, 33, "Text"], Cell[CellGroupData[{ Cell[226375, 7985, 88, 2, 67, "Input"], Cell[226466, 7989, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[226766, 8000, 297, 10, 70, "Input"], Cell[227066, 8012, 545, 18, 79, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[227660, 8036, 43, 1, 66, "Subsection", CellTags->"Phi"], Cell[227706, 8039, 258, 7, 33, "Text"], Cell[227967, 8048, 573, 22, 46, "Text"], Cell[228543, 8072, 299, 7, 51, "Text"], Cell[228845, 8081, 312, 12, 29, "Text"], Cell[CellGroupData[{ Cell[229182, 8097, 66, 1, 67, "Input"], Cell[229251, 8100, 274, 6, 50, "Message"], Cell[229528, 8108, 363, 12, 96, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[229928, 8125, 66, 1, 67, "Input"], Cell[229997, 8128, 69, 1, 76, "Output"] }, Closed]], Cell[230081, 8132, 605, 22, 54, "Text"], Cell[230689, 8156, 187, 6, 29, "Text"], Cell[230879, 8164, 679, 26, 47, "Text"], Cell[CellGroupData[{ Cell[231583, 8194, 89, 2, 67, "Input"], Cell[231675, 8198, 770, 27, 96, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[232482, 8230, 152, 4, 67, "Input"], Cell[232637, 8236, 314, 10, 96, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[233000, 8252, 51, 1, 66, "Subsection", CellTags->"KelvinM"], Cell[233054, 8255, 130, 3, 33, "Text"], Cell[233187, 8260, 558, 18, 31, "Text"], Cell[233748, 8280, 263, 7, 50, "Text"], Cell[CellGroupData[{ Cell[234036, 8291, 88, 2, 67, "Input"], Cell[234127, 8295, 262, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[234426, 8306, 112, 3, 67, "Input"], Cell[234541, 8311, 706, 23, 96, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[235284, 8339, 88, 2, 67, "Input"], Cell[235375, 8343, 516, 16, 95, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[235928, 8364, 64, 1, 67, "Input"], Cell[235995, 8367, 97, 2, 76, "Output"] }, Closed]], Cell[236107, 8372, 645, 25, 54, "Text"], Cell[CellGroupData[{ Cell[236777, 8401, 112, 3, 67, "Input"], Cell[236892, 8406, 282, 7, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[237211, 8418, 122, 3, 67, "Input"], Cell[237336, 8423, 490, 17, 82, "Output"] }, Closed]], Cell[CellGroupData[{ Cell[237863, 8445, 112, 3, 67, "Input"], Cell[237978, 8450, 745, 25, 85, "Output"] }, Closed]], Cell[238738, 8478, 1176, 40, 101, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[239963, 8524, 48, 1, 42, "Section", CellTags->"Kernels"], Cell[CellGroupData[{ Cell[240036, 8529, 63, 1, 66, "Subsection", CellTags->"PoissonKernel"], Cell[240102, 8532, 404, 16, 33, "Text"], Cell[CellGroupData[{ Cell[240531, 8552, 88, 2, 67, "Input"], Cell[240622, 8556, 262, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[240921, 8567, 89, 2, 67, "Input"], Cell[241013, 8571, 852, 29, 82, "Output"] }, Closed]], Cell[241880, 8603, 319, 10, 29, "Text"], Cell[CellGroupData[{ Cell[242224, 8617, 253, 7, 67, "Input"], Cell[242480, 8626, 555, 19, 82, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[243084, 8651, 66, 1, 66, "Subsection", CellTags->"PoisssonKernelH"], Cell[243153, 8654, 493, 20, 54, "Text"], Cell[CellGroupData[{ Cell[243671, 8678, 88, 2, 67, "Input"], Cell[243762, 8682, 261, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[244060, 8693, 90, 2, 67, "Input"], Cell[244153, 8697, 809, 27, 97, "Output"] }, Closed]], Cell[244977, 8727, 611, 24, 50, "Text"], Cell[CellGroupData[{ Cell[245613, 8755, 112, 3, 67, "Input"], Cell[245728, 8760, 633, 21, 97, "Output"] }, Closed]], Cell[246376, 8784, 1224, 52, 76, "Text"], Cell[CellGroupData[{ Cell[247625, 8840, 112, 3, 67, "Input"], Cell[247740, 8845, 282, 7, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[248059, 8857, 110, 2, 67, "Input"], Cell[248172, 8861, 605, 20, 99, "Output"] }, Closed]], Cell[248792, 8884, 659, 28, 34, "Text"], Cell[CellGroupData[{ Cell[249476, 8916, 110, 2, 67, "Input"], Cell[249589, 8920, 499, 16, 99, "Output"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[250137, 8942, 63, 1, 66, "Subsection", CellTags->"BergmanKernel"], Cell[250203, 8945, 157, 4, 33, "Text"], Cell[CellGroupData[{ Cell[250385, 8953, 89, 2, 67, "Input"], Cell[250477, 8957, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[250777, 8968, 89, 2, 67, "Input"], Cell[250869, 8972, 1327, 43, 100, "Output"] }, Closed]], Cell[252211, 9018, 183, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[252431, 9030, 65, 1, 66, "Subsection", CellTags->"BergmanKernelH"], Cell[252499, 9033, 165, 4, 33, "Text"], Cell[CellGroupData[{ Cell[252689, 9041, 89, 2, 67, "Input"], Cell[252781, 9045, 262, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[253080, 9056, 90, 2, 67, "Input"], Cell[253173, 9060, 1277, 41, 100, "Output"] }, Closed]], Cell[254465, 9104, 1187, 48, 80, "Text"], Cell[CellGroupData[{ Cell[255677, 9156, 112, 3, 67, "Input"], Cell[255792, 9161, 282, 7, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[256111, 9173, 110, 2, 67, "Input"], Cell[256224, 9177, 982, 33, 104, "Output"] }, Closed]], Cell[257221, 9213, 187, 7, 33, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[257457, 9226, 60, 1, 42, "Section", CellTags->"Miscellaneous"], Cell[CellGroupData[{ Cell[257542, 9231, 71, 1, 66, "Subsection", CellTags->"BergmanProjection"], Cell[257616, 9234, 577, 21, 54, "Text"], Cell[CellGroupData[{ Cell[258218, 9259, 88, 2, 67, "Input"], Cell[258309, 9263, 263, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[258609, 9274, 219, 7, 70, "Input"], Cell[258831, 9283, 2997, 96, 171, "Output"] }, Closed]], Cell[261843, 9382, 192, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[262072, 9394, 71, 1, 66, "Subsection", CellTags->"HarmonicConjugate"], Cell[262146, 9397, 822, 35, 54, "Text"], Cell[CellGroupData[{ Cell[262993, 9436, 368, 11, 70, "Input"], Cell[263364, 9449, 428, 14, 76, "Output"] }, Closed]], Cell[263807, 9466, 202, 7, 33, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[264046, 9478, 51, 1, 66, "Subsection", CellTags->"Schwarz"], Cell[264100, 9481, 950, 30, 100, "Text"], Cell[CellGroupData[{ Cell[265075, 9515, 88, 2, 67, "Input"], Cell[265166, 9519, 262, 6, 50, "Message"] }, Closed]], Cell[CellGroupData[{ Cell[265465, 9530, 60, 1, 67, "Input"], Cell[265528, 9533, 1902, 65, 104, "Output"] }, Closed]], Cell[267445, 9601, 415, 13, 54, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[267897, 9619, 67, 1, 66, "Subsection", CellTags->"TurnOff and TurnOn"], Cell[267967, 9622, 2547, 73, 271, "Text"], Cell[270517, 9697, 804, 25, 77, "Text"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[271370, 9728, 54, 1, 42, "Section", CellTags->"References"], Cell[271427, 9731, 230, 6, 50, "Text", CellTags->"ABR"], Cell[271660, 9739, 299, 8, 50, "Text", CellTags->"AGV"], Cell[271962, 9749, 249, 7, 50, "Text", CellTags->"AR"], Cell[272214, 9758, 120, 4, 29, "Text", CellTags->"R"], Cell[272337, 9764, 183, 6, 29, "Text", CellTags->"W"] }, Closed]] } ] *) (* End of internal cache information *)