(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 41732, 1334]*) (*NotebookOutlinePosition[ 74615, 2467]*) (* CellTagsIndexPosition[ 73641, 2439]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["A Differential Approach to Uniform Subdivision", "Chapter", CounterAssignments->{{"Chapter", 3}}, CellTags->"CHA differential"], Cell[TextData[{ "To evaluate a particular cell, simply hit \"Shift+Enter\" with the cursor \ positioned in that cell. If ", StyleBox["Mathematica", FontSlant->"Italic"], " asks to evaluate initialization cell, click \"Yes\". See the ", StyleBox["Mathematica ", FontSlant->"Italic"], "Help browser or wolfram.com for more information on using ", StyleBox["Mathematica", FontSlant->"Italic"], "." }], "Text"], Cell["\<\ This notebook and those for the other seven chapters use a common stylesheet \ that has been imported into the notebook. This style sheet supports \ chapters, section, subsections, numbered equations, numbered figures and \ citations. A separate copy of the stylesheet can be download from the same \ page where this notebook was downloaded. \ \>", "Text"], Cell[TextData[{ StyleBox["COPYRIGHT ISSUES:", FontWeight->"Bold"], " The authors reserve all copyrights associated with this work. Any of \ the material appearing in these notebooks (such as the polyhedral meshes in \ chapter 7) can be used and modified without restriction as long as the use is \ non\[Hyphen]commercial. We simply ask that you acknowledge the authors when \ using material from these notebooks. For those readers interested in \ commercial use of the material in these notebooks, please contact \ jwarren@cs.rice.edu. " }], "Text"], Cell[CellGroupData[{ Cell["Helper functions from previous chapters.", "Subsubsection"], Cell[BoxData[ \(plotCoeff[p_, opts___] := Show[Graphics[{Line[p], PointSize[0.02], RGBColor[1, 0, 0], Map[Point, p]}], Join[{opts}, {Axes \[Rule] True, Ticks \[Rule] {Automatic, Automatic}}]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(makeGenFun[coeff_, a_, x_] := Sum[coeff\[LeftDoubleBracket]i\[RightDoubleBracket] x\^\(i - 1 + a\), {i, 1, Length[coeff]}]\)], "Input", InitializationCell->True], Cell[BoxData[ \(makeGenFun[coeff_, {a_, b_}, x_, y_] := Sum[coeff\[LeftDoubleBracket]i, j\[RightDoubleBracket] \(x\^\(i - 1 + a\)\) y\^\(j - 1 + b\), {i, \(Dimensions[ coeff]\)\[LeftDoubleBracket]1\[RightDoubleBracket]}, {j, \ \(Dimensions[coeff]\)\[LeftDoubleBracket]2\[RightDoubleBracket]}]\)], "Input",\ InitializationCell->True], Cell[BoxData[ \(makeCoeff[genFun_, {min_, max_}, k_, x_] := With[{expFun = Together[genFun]}, \n\t Table[Coefficient[expFun, x, i], {i, \(2\^k\) min, \(2\^k\) max}]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(makeCoeff[genFun_, {{minX_, maxX_}, {minY_, maxY_}}, k_, x_, y_] := With[{expFun = Expand[genFun]}, \n\t Table[With[{rowY = Table[Coefficient[expFun, y, j], {j, \(2\^k\) minY, \(2\^k\) maxY}]}, \n\t\t\t\tTable[ Coefficient[rowY, x, i], {i, \(2\^k\) minX, \(2\^k\) maxX}]]]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(subdivide2D[s_, p_, k_] := If[k \[Equal] 0, p, subdivide2D[s, s*\((p /. {x \[Rule] x\^2, y \[Rule] y\^2})\), k - 1]]\)], "Input", InitializationCell->True], Cell[BoxData[ \(plotCoeff3D[p_, plotArgs___] := Show[Graphics3D[\[IndentingNewLine]Table[ Polygon[{p\[LeftDoubleBracket]i, j\[RightDoubleBracket], p\[LeftDoubleBracket]i + 1, j\[RightDoubleBracket], p\[LeftDoubleBracket]i + 1, j + 1\[RightDoubleBracket], p\[LeftDoubleBracket]i, j + 1\[RightDoubleBracket]}], {i, \(Dimensions[ p]\)\[LeftDoubleBracket]1\[RightDoubleBracket] - 1}, {j, \(Dimensions[ p]\)\[LeftDoubleBracket]2\[RightDoubleBracket] - 1}]], Join[{plotArgs}, {Axes \[Rule] True}]]\)], "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell["Subdivision for B\[Hyphen]splines", "Section", CellTags->"SEC polynomial spline"], Cell[CellGroupData[{ Cell["A differential equation for B\[Hyphen]splines", "Subsection"], Cell[TextData[{ "Force ", StyleBox["Mathematica", FontSlant->"Italic"], " to simplify ", Cell[BoxData[ \(\[ScriptX] > \(-\[Infinity]\)\)]], " to be ", Cell[BoxData[ \(True\)]], "." }], "Text"], Cell[BoxData[{ \(\(Unprotect[Greater];\)\), "\[IndentingNewLine]", \(\(Greater[_, \(-\[Infinity]\)] = True;\)\), "\[IndentingNewLine]", \(\(Protect[Greater];\)\)}], "Input", InitializationCell->True], Cell[CellGroupData[{ Cell["Definition of integral operator", "Subsubsection"], Cell[TextData[{ "Define an integral operator ", Cell[BoxData[ \(\[ScriptCapitalI]\)]], " (the operator ", Cell[BoxData[ \(\[ScriptCapitalI][\[ScriptX]]\)]], " in text). This operator can applied to symbolic ", StyleBox["Mathematica", FontSlant->"Italic"], " expressions involving ", Cell[BoxData[ \(UnitStep\)]], " and ", Cell[BoxData[ \(DiracDelta\)]], "." }], "Text"], Cell[BoxData[ \(\[ScriptCapitalI][\[ScriptF]_] := Module[{\[ScriptG]}, \[IndentingNewLine]\[ScriptG][\[ScriptX]_] = \ \[Integral]\_0\%\[Infinity] \[ScriptF][\[ScriptX] - \[ScriptT]] \ \[DifferentialD]\[ScriptT]; \[ScriptG]]\)], "Input", InitializationCell->True, CellTags->"def I"], Cell["Use this operator to construct a truncated cubic power", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(\[ScriptC]4 = Nest[\[ScriptCapitalI], DiracDelta, 4];\)\), "\[IndentingNewLine]", \(\[ScriptC]4[\[ScriptX]]\), "\n", \(Plot[\[ScriptC]4[\[ScriptX]], {\[ScriptX], \(-1\), 5}]\)}], "Input"], Cell[BoxData[ \(1\/6\ \[ScriptX]\^3\ UnitStep[\[ScriptX]]\)], "Output"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ Integral operator for directly constructing B\[Hyphen]spline basis \ functions\ \>", "Subsubsection"], Cell[TextData[{ "As done in chapter two, we can define a related operator ", Cell[BoxData[ \(\[ScriptCapitalS]\)]], " that can be used to directly construct the B\[Hyphen]spline basis \ functions." }], "Text"], Cell[BoxData[ \(\[ScriptCapitalS][\[ScriptF]_] := Module[{\[ScriptG]}, \[IndentingNewLine]\[ScriptG][\[ScriptX]_] = \ \[Integral]\_0\%1 \[ScriptF][\[ScriptX] - \[ScriptT]] \[DifferentialD]\ \[ScriptT]; \[ScriptG]]\)], "Input", InitializationCell->True], Cell[TextData[{ "Applying this operator ", Cell[BoxData[ \(\[ScriptCapitalS]\)]], " to the ", Cell[BoxData[ \(DiracDelta\)]], " function yields the cubic B\[Hyphen]spline basis function." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(\[ScriptN]4 = Nest[\[ScriptCapitalS], DiracDelta, 4];\)\), "\[IndentingNewLine]", \(\[ScriptN]4[\[ScriptX]]\), "\[IndentingNewLine]", \(Plot[\[ScriptN]4[\[ScriptX]], {\[ScriptX], \(-1\), 5}, PlotRange \[Rule] All]\)}], "Input", CellTags->"diff bspline"], Cell[BoxData[ \(\(-\(2\/3\)\)\ UnitStep[1 - \[ScriptX]] + 2\ \[ScriptX]\ UnitStep[1 - \[ScriptX]] - 2\ \[ScriptX]\^2\ UnitStep[1 - \[ScriptX]] + 2\/3\ \[ScriptX]\^3\ UnitStep[1 - \[ScriptX]] + 8\ UnitStep[2 - \[ScriptX]] - 12\ \[ScriptX]\ UnitStep[2 - \[ScriptX]] + 6\ \[ScriptX]\^2\ UnitStep[2 - \[ScriptX]] - \[ScriptX]\^3\ UnitStep[ 2 - \[ScriptX]] - 18\ UnitStep[3 - \[ScriptX]] + 18\ \[ScriptX]\ UnitStep[3 - \[ScriptX]] - 6\ \[ScriptX]\^2\ UnitStep[3 - \[ScriptX]] + 2\/3\ \[ScriptX]\^3\ UnitStep[3 - \[ScriptX]] + 32\/3\ UnitStep[4 - \[ScriptX]] - 8\ \[ScriptX]\ UnitStep[4 - \[ScriptX]] + 2\ \[ScriptX]\^2\ UnitStep[4 - \[ScriptX]] - 1\/6\ \[ScriptX]\^3\ UnitStep[4 - \[ScriptX]] - 1\/6\ \[ScriptX]\^3\ UnitStep[\(-\[ScriptX]\)]\)], "Output"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["A finite difference equation for B\[Hyphen]splines", "Subsection"], Cell[TextData[{ "Construct a function ", Cell[BoxData[ \(d\)]], " that builds the difference mask of order ", Cell[BoxData[ \(m\)]], " for the ", Cell[BoxData[ \(k\)]], "th divided difference as generating function in ", Cell[BoxData[ \(x\)]], "." }], "Text"], Cell[BoxData[ \(\(d[k_, m_, x_] = \((\(2\^k\) \((1 - x)\))\)\^m;\)\)], "Input", InitializationCell->True, CellTags->"def diff"], Cell[CellGroupData[{ Cell[BoxData[ \(d[0, 4, x]\)], "Input"], Cell[BoxData[ \(\((1 - x)\)\^4\)], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[d[0, 4, x], x]\)], "Input"], Cell[BoxData[ \({1, \(-4\), 6, \(-4\), 1}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["The associated subdivision scheme", "Subsection"], Cell[TextData[{ "Construct subdivision mask for B\[Hyphen]splines of order ", Cell[BoxData[ \(m\)]], " via the expression " }], "Text"], Cell[BoxData[ \(s[m, x] = d[k - 1, m, x\^2]\/d[k, m, x]\)], "Equation"], Cell[TextData[{ "Jump through some hoops to get ", StyleBox["Mathematica", FontSlant->"Italic"], " to automatically simplify." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(s[m_, x_] = FullSimplify[\(2 d[k - 1, m, x\^2]\)\/d[k, m, x] // PowerExpand, {m, k} \[Element] Integers]\)], "Input", InitializationCell->True, CellTags->"def s"], Cell[BoxData[ \(2\^\(1 - m\)\ \((1 + x)\)\^m\)], "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Subdivision for box splines", "Section"], Cell[CellGroupData[{ Cell["The differential equation for box splines", "Subsection"], Cell[TextData[{ "Define difference mask on ", Cell[BoxData[ \(\(1\/2\^k\) \[DoubleStruckCapitalZ]\^2\)]], " for set of direction vectors ", Cell[BoxData[ \(dir\)]] }], "Text"], Cell[BoxData[ \(d[k_, dir_, x_, y_] := \[Product]\+\(i = 1\)\%\(Length[dir]\)\(2\^k\) \((1 - x\^dir\[LeftDoubleBracket]i, 1\[RightDoubleBracket]\ y\^dir\ \[LeftDoubleBracket]i, 2\[RightDoubleBracket])\)\)], "Input", InitializationCell->True, CellTags->"EQN differential genfun box spline"], Cell[CellGroupData[{ Cell[BoxData[ \(d[0, {{1, 0}, {0, 1}, {1, 1}}, x, y]\)], "Input"], Cell[BoxData[ \(\((1 - x)\)\ \((1 - y)\)\ \((1 - x\ y)\)\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["The subdivision scheme for box splines", "Subsection"], Cell["\<\ Compute subdivision mask as ratio of difference masks, resulting subdivision \ mask has form:\ \>", "Text"], Cell[BoxData[ \(s[dir, x, y] == 4 \(\[Product]\+\(i = 1\)\%\(Length[dir]\)\(1 + x\^dir\ \[LeftDoubleBracket]i, 1\[RightDoubleBracket]\ y\^dir\[LeftDoubleBracket]i, 2\ \[RightDoubleBracket]\)\/2\)\)], "Equation"], Cell[BoxData[ \(s[dir_, x_, y_] := Simplify[\(2 d[k - 1, dir, x\^2, y\^2]\)\/d[k, dir, x, y]]\)], "Input",\ InitializationCell->True, CellTags->"EQN box spline subdivision"], Cell["Example for linear box spline", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(s[{{1, 0}, {0, 1}, {1, 1}}, x, y]\)], "Input"], Cell[BoxData[ \(1\/4\ \((1 + x)\)\ \((1 + y)\)\ \((1 + x\ y)\)\)], "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell["Subdivision for exponential B\[Hyphen]splines", "Section"], Cell[CellGroupData[{ Cell["Discretization of the differential equation", "Subsection"], Cell[CellGroupData[{ Cell[BoxData[ \(\[Eta][ k_, \[Alpha]_] = \[ExponentialE]\^\(\(2\^\(-k\)\) \[Alpha]\)\)], \ "Input", InitializationCell->True], Cell[BoxData[ \(\[ExponentialE]\^\(2\^\(-k\)\ \[Alpha]\)\)], "Output"] }, Open ]], Cell[TextData[{ "Observe that ", Cell[BoxData[ \(\[Alpha]\/\(\[Eta][k, \[Alpha]] - 1\)\)]], " converges to ", Cell[BoxData[ \(2\^k\)]], " as ", Cell[BoxData[ \(\[Alpha] \[Rule] 0\)]] }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Limit[\[Alpha]\/\(\[Eta][k, \[Alpha]] - 1\), \[Alpha] \[Rule] 0]\)], "Input"], Cell[BoxData[ \(2\^k\)], "Output"] }, Open ]], Cell[TextData[{ "Difference masks for given set of roots ", Cell[BoxData[ \(\[Alpha]\)]], " on the grid ", Cell[BoxData[ \(\(1\/2\^k\) \[DoubleStruckCapitalZ]\)]], ". Add special case for ", Cell[BoxData[ \(\[Alpha]\[LeftDoubleBracket]i\[RightDoubleBracket] \[Equal] 0\)]], "." }], "Text"], Cell[BoxData[ \(d[k_, \[Alpha]_, x_] := \[Product]\+\(i = 1\)\%\(Length[\[Alpha]]\)If[\[Alpha]\ \[LeftDoubleBracket]i\[RightDoubleBracket] \[Equal] 0, 2\^k, \[Alpha]\[LeftDoubleBracket]i\[RightDoubleBracket]\/\(\[Eta]\ [k, \[Alpha]\[LeftDoubleBracket]i\[RightDoubleBracket]] - 1\)] \((1 - \[Eta][ k, \[Alpha]\[LeftDoubleBracket]i\[RightDoubleBracket]] x)\)\)], "Input", InitializationCell->True, CellTags->"EQN exponential difference mask"], Cell[TextData[{ "Example of difference mask for differential operator ", Cell[BoxData[ \(\[ScriptCapitalD][\[ScriptX]]\^4 - \ \[ScriptCapitalD][\[ScriptX]]\^2\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[d[0, {1, \(-1\), 0, 0}, x], x] // Simplify\)], "Input"], Cell[BoxData[ \({\[ExponentialE]\/\((\(-1\) + \[ExponentialE])\)\^2, \(-\(\((1 + \ \[ExponentialE])\)\^2\/\((\(-1\) + \[ExponentialE])\)\^2\)\), \(2\ \((1 + \ \[ExponentialE] + \[ExponentialE]\^2)\)\)\/\((\(-1\) + \[ExponentialE])\)\^2, \ \(-\(\((1 + \[ExponentialE])\)\^2\/\((\(-1\) + \[ExponentialE])\)\^2\)\), \ \[ExponentialE]\/\((\(-1\) + \[ExponentialE])\)\^2}\)], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["A subdivision scheme for exponential splines", "Subsection", CellTags->"SUBSEC subdiv exponential spline"], Cell[TextData[{ "Subdivision mask for exponential splines as function of level ", Cell[BoxData[ \(k\)]], " and given set of roots ", Cell[BoxData[ \(\[Alpha]\)]], ", use symbolic simplification to cancel out factors in denominator" }], "Text"], Cell[BoxData[ \(s[k_, \[Alpha]_, x_] := Simplify[\(2 d[k, \[Alpha], x\^2]\)\/d[k + 1, \[Alpha], x]]\)], "Input"], Cell["An alternative function without need for simplification", "Text"], Cell[BoxData[ \(s[k_, \[Alpha]_, x_] := 2 \(\[Product]\+\(i = 1\)\%\(Length[\[Alpha]]\)\((\(1 + \[ExponentialE]\ \^\(\[Alpha]\[LeftDoubleBracket]i\[RightDoubleBracket] 2\^\(-\((k + 1)\)\)\)\ \ x\)\/\(1 + \[ExponentialE]\^\(\[Alpha]\[LeftDoubleBracket]i\ \[RightDoubleBracket] 2\^\(-\((k + 1)\)\)\)\))\)\)\)], "Input", InitializationCell->True, CellTags->"EQN exponential subdivision mask"], Cell[TextData[{ "An example for the differential operator ", Cell[BoxData[ \(\[ScriptCapitalD][\[ScriptX]]\^4 - \ \[ScriptCapitalD][\[ScriptX]]\^2\)]], " on the grid ", Cell[BoxData[ \(\[DoubleStruckCapitalZ]\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(CoefficientList[s[0, {1, \(-1\), 0, 0}, x], x] // Simplify\)], "Input"], Cell[BoxData[ \({\@\[ExponentialE]\/\(2\ \((1 + \@\[ExponentialE])\)\^2\), 1\/2, \(1 + \@\[ExponentialE] + \[ExponentialE]\)\/\((1 + \@\ \[ExponentialE])\)\^2, 1\/2, \@\[ExponentialE]\/\(2\ \((1 + \@\[ExponentialE])\)\^2\)}\)], \ "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Exponential B\[Hyphen]splines as piecewise analytic functions", \ "Subsection"], Cell[CellGroupData[{ Cell["Recurrence for exponential analog of truncated powers", "Subsubsection"], Cell[TextData[{ "Again, for ", StyleBox["Mathematica", FontSlant->"Italic"], " to reduce ", Cell[BoxData[ \(\[ScriptX] > \(-\[Infinity]\)\)]], " to be ", Cell[BoxData[ \(True\)]], "." }], "Text"], Cell[BoxData[{ \(\(Unprotect[Greater];\)\), "\[IndentingNewLine]", \(\(Greater[_, \(-\[Infinity]\)] = True;\)\), "\[IndentingNewLine]", \(\(Protect[Greater];\)\)}], "Input", InitializationCell->True], Cell[TextData[{ "Define an integral operator for the exponential analog of truncated \ powers. In the text, the operator has the form ", Cell[BoxData[ \(\[ScriptCapitalI][\[ScriptX], \[Alpha]] \[ScriptF][\[ScriptX]]\)]], "." }], "Text"], Cell[BoxData[ \(\[ScriptCapitalI][\[ScriptF]_, \[Alpha]_] := Module[{\[ScriptG]}, \[IndentingNewLine]\[ScriptG][\[ScriptX]_] = \ \[Integral]\_0\%\[Infinity]\( \[ExponentialE]\^\(\[Alpha]\ \[ScriptT]\)\) \ \[ScriptF][\[ScriptX] - \[ScriptT]] \[DifferentialD]\[ScriptT]; \ \[ScriptG]]\)], "Input", InitializationCell->True, CellTags->"def exp integral"], Cell[TextData[{ "Observe that ", Cell[BoxData[ \(\[ScriptCapitalD][\[ScriptX]] - \[Alpha]\)]], " is the left inverse of ", Cell[BoxData[ \(\[ScriptCapitalI][\[ScriptX], \[Alpha]]\)]], " for the ", Cell[BoxData[ \(DiracDelta\)]], " function." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(With[{\[ScriptF] = \[ScriptCapitalI][ DiracDelta, \[Alpha]]}, \ \[IndentingNewLine]D[\[ScriptF][\[ScriptX]], \[ScriptX]] - \[Alpha]\ \ \[ScriptF][\[ScriptX]]]\)], "Input"], Cell[BoxData[ \(\[ExponentialE]\^\(\[ScriptX]\ \[Alpha]\)\ DiracDelta[\[ScriptX]]\)], \ "Output"] }, Open ]], Cell[TextData[{ "Given a list of roots ", Cell[BoxData[ \(\[Alpha]\)]], ", we construct the exponential truncated powers as follows:" }], "Text"], Cell[BoxData[ \(makeTruncPower[\[Alpha]_] := Fold[\[ScriptCapitalI], DiracDelta, \[Alpha]]\)], "Input", InitializationCell->True, CellTags->"def scc"], Cell[TextData[{ "Example for ", Cell[BoxData[ \(\[Alpha] = {1, \(-1\), 0, 0}\)]] }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(\[ScriptC] = makeTruncPower[{1}];\)\), "\[IndentingNewLine]", \(\[ScriptC][\[ScriptX]]\), "\[IndentingNewLine]", \(Plot[\[ScriptC][\[ScriptX]], {\[ScriptX], \(-1\), 1}, PlotRange \[Rule] All]\)}], "Input"], Cell[BoxData[ \(\[ExponentialE]\^\[ScriptX]\ UnitStep[\[ScriptX]]\)], "Output"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell[TextData[{ "Examples for simple sets ", Cell[BoxData[ \(\[Alpha]\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Show[ GraphicsArray[\[IndentingNewLine]{With[{\[ScriptC] = makeTruncPower[{1}]}, \[IndentingNewLine]Plot[\[ScriptC][\ \[ScriptX]], {\[ScriptX], \(-1\), 2}, PlotRange \[Rule] All]], \[IndentingNewLine]With[{\[ScriptC] = makeTruncPower[{1, \(-1\)}]}, \[IndentingNewLine]Plot[\ \[ScriptC][\[ScriptX]], {\[ScriptX], \(-1\), 3}, PlotRange \[Rule] All]], \[IndentingNewLine]With[{\[ScriptC] = makeTruncPower[{\[ImaginaryI], \(-\[ImaginaryI]\)}]}, \ \[IndentingNewLine]Plot[\[ScriptC][\[ScriptX]] // Chop, {\[ScriptX], \(-1\), 3}, PlotRange \[Rule] All]]}]]\)], "Input", CellTags->{"FIG exponential plots", "FIG exponential truncated powers"}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] GraphicsArray \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["\<\ Exponential B\[Hyphen]splines as linear combinations of truncated powers\ \>", "Subsubsection"], Cell[TextData[{ "Construct exponential B\[Hyphen]spline basis functions as a linear \ combinations of truncated powers using the coefficients of the difference \ mask ", Cell[BoxData[ \(d[k, \[Alpha], x]\)]], "." }], "Text"], Cell[BoxData[ \(makeExpBasis[k_, \[Alpha]_] := With[{c = CoefficientList[d[k, \[Alpha], x], x], \[ScriptC] = makeTruncPower[\[Alpha]]}, \[IndentingNewLine]\(2\^\(-k\)\) Sum[c\[LeftDoubleBracket] i\[RightDoubleBracket] \[ScriptC][\[ScriptX] - \((i - 1)\)\/2\ \^k], {i, Length[c]}]]\)], "Input", InitializationCell->True, CellTags->"def scn"], Cell[TextData[{ "Examples for simple sets ", Cell[BoxData[ \(\[Alpha]\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(Show[ GraphicsArray[\[IndentingNewLine]{With[{\[ScriptN] = makeExpBasis[ 0, {1}]}, \[IndentingNewLine]Plot[\[ScriptN], {\[ScriptX], \ \(-1\), 2}, PlotRange \[Rule] All]], \[IndentingNewLine]With[{\[ScriptN] = makeExpBasis[ 0, {1, \(-1\)}]}, \[IndentingNewLine]Plot[\[ScriptN], {\ \[ScriptX], \(-1\), 3}, PlotRange \[Rule] All]], \[IndentingNewLine]With[{\[ScriptN] = makeExpBasis[ 0, {\[ImaginaryI], \(-\[ImaginaryI]\)}]}, \ \[IndentingNewLine]Plot[\[ScriptN] // Chop, {\[ScriptX], \(-1\), 3}, PlotRange \[Rule] All]]}]]\)], "Input", CellTags->"FIG exponential plots"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] GraphicsArray \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Integral operator for exponential B\[Hyphen]spline basis functions", \ "Subsubsection"], Cell[TextData[{ "Define an integral operator ", Cell[BoxData[ \(\[ScriptCapitalS]\)]], " that directly builds basis functions for exponential B\[Hyphen]splines. \ This construction works by repeatedly convolving the exponential step \ function ", Cell[BoxData[ \(\[ScriptU][\[ScriptX]] = \(\(\(\[Alpha]\)\(\ \ \)\)\/\(\[ExponentialE]\^\[Alpha] - 1\)\) \[ExponentialE]\^\(\[Alpha]\ \[ScriptX]\)\)]], " where ", Cell[BoxData[ \(0 \[LessEqual] \[ScriptX] < 1\)]], " and zero otherwise. The factor of ", Cell[BoxData[ \(\[Alpha]\/\(\(\[ExponentialE]\^\[Alpha]\) 1\)\)]], " normalizes exponential step function to have unit integral. The function \ ", Cell[BoxData[ \(\[ScriptCapitalS][\[ScriptF], \[Alpha]]\)]], " returns the continuous convolution of ", Cell[BoxData[ \(\[ScriptF][\[ScriptX]]\)]], " and the exponential step function ", Cell[BoxData[ \(\[ScriptU][\[ScriptX]]\)]], " defined above. " }], "Text"], Cell[BoxData[ \(\[ScriptCapitalS][\[ScriptF]_, \[Alpha]_] := Module[{\[ScriptG]}, \[IndentingNewLine]\[ScriptG][\[ScriptX]_] = If[\[Alpha] \[Equal] 0, 1, \[Alpha]\/\(\[ExponentialE]\^\[Alpha] - 1\)] \ \(\[Integral]\_0\%1\( \[ExponentialE]\^\(\[Alpha]\ \[ScriptT]\)\) \[ScriptF][\ \[ScriptX] - \[ScriptT]] \[DifferentialD]\[ScriptT]\); \[ScriptG]]\)], "Input",\ InitializationCell->True, CellTags->"EQN integral recurrence for exp B-splines"], Cell[TextData[{ Cell[BoxData[ \(makeExpSpline[\[Alpha]]\)]], " takes a list of roots ", Cell[BoxData[ \(\[Alpha]\)]], " and recursively construct the exponential basis function by applying ", Cell[BoxData[ \(\[ScriptCapitalS]\)]], ". The base case is when ", Cell[BoxData[ \(\[ScriptN][\[ScriptX]]\)]], " is the function ", Cell[BoxData[ \(DiracDelta[\[ScriptX]]\)]], "." }], "Text"], Cell[BoxData[ \(makeExpSpline[\[Alpha]_] := Fold[\[ScriptCapitalS], DiracDelta, \[Alpha]]\)], "Input", InitializationCell->True], Cell[TextData[{ "Example for the differential operator ", Cell[BoxData[ \(\[ScriptCapitalD][\[ScriptX]]\^4 - \ \[ScriptCapitalD][\[ScriptX]]\^2\)]], ", i.e. ", Cell[BoxData[ \(\[Alpha] = {1, \(-1\), 0, 0}\)]], "." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(\[ScriptN] = makeExpSpline[{1, \(-1\), 0, 0}] // FullSimplify;\)\), "\[IndentingNewLine]", \(Plot[\ \[ScriptN][\[ScriptX]], {\[ScriptX], \(-1\), 5}, PlotRange \[Rule] All]\)}], "Input"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["A smooth subdivision scheme with circular precision", "Section", CellTags->"SEC circle scheme"], Cell[CellGroupData[{ Cell["Splines in tension", "Subsection"], Cell["See examples above", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["Mixed trigonometric splines", "Subsection"], Cell[TextData[{ "Show that the truncated powers for the differential operator ", Cell[BoxData[ \(\[ScriptCapitalD][\[ScriptX]]\^4 + \ \[ScriptCapitalD][\[ScriptX]]\^2\)]], " are real valued." }], "Text"], Cell[CellGroupData[{ Cell[BoxData[{ \(\(\[ScriptC] = makeTruncPower[{\[ImaginaryI], \(-\[ImaginaryI]\), 0, 0}];\)\), "\[IndentingNewLine]", \(FullSimplify[\[ScriptC][\[ScriptX]]]\)}], "Input"], Cell[BoxData[ \(\((\[ScriptX] - Sin[\[ScriptX]])\)\ UnitStep[\[ScriptX]]\)], "Output"] }, Open ]], Cell["\<\ Observe that difference coefficients used in construct exponential \ B\[Hyphen]spline basis functions are also real.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(FullSimplify[ CoefficientList[d[0, {\[ImaginaryI], \(-\[ImaginaryI]\), 0, 0}, x], x]]\)], "Input"], Cell[BoxData[ \({1\/4\ Csc[1\/2]\^2, \(-Cot[1\/2]\^2\), \(-2\) + 3\/2\ Csc[1\/2]\^2, \(-Cot[1\/2]\^2\), 1\/4\ Csc[1\/2]\^2}\)], "Output"] }, Open ]], Cell["See next subsection for examples", "Text"] }, Closed]], Cell[CellGroupData[{ Cell["The unified subdivision scheme", "Subsection"], Cell["\<\ In the next two examples, we implement univariate and bivariate (tensor \ product) instances of this scheme and plot some examples.\ \>", "Text"], Cell[CellGroupData[{ Cell["Code for curves", "Subsubsection"], Cell[TextData[{ "Based on these two examples, we can build a general, order four \ subdivision scheme that has ", Cell[BoxData[ \(\[ScriptCapitalC]\^2\)]], " continuity and linear precision. Depending on the choice of an initial \ parameter ", Cell[BoxData[ \(\[Sigma]\_0\)]], ", the scheme also reproduces hyperbolic functions if ", Cell[BoxData[ \(\[Sigma]\_0 > 1\)]], ", trigonometric functions if ", Cell[BoxData[ \(\[Sigma]\_0 < 1\)]], " or higher order polynomials if ", Cell[BoxData[ \(\[Sigma]\_0 \[Equal] 1\)]], ".", " ", "Given initial ", Cell[BoxData[ \(\[Sigma]\_0\)]], ", we suggest applying subdivision mask of the form" }], "Text"], Cell[BoxData[ \(\(\(s\_\(k - 1\)[ x]\)\(=\)\(\(\(\((1 + x)\)\^2\) \((1 + 2 \[Sigma]\_k\ x + x\^2)\)\)\/\(4 \( x\^2\) \((1 + \[Sigma]\_k)\)\)\)\(\ \)\)\)], "Equation"], Cell[TextData[{ "where ", Cell[BoxData[ \(\[Sigma]\)]], " is updated via ", Cell[BoxData[ \(\[Sigma]\_k = \@\(\(1 + \[Sigma]\_\(k - 1\)\)\/2\)\)]], ". Given an initial regular ", Cell[BoxData[ \(n\)]], "\[Hyphen]", "gon, choosing ", Cell[BoxData[ \(\[Sigma]\_0 = Cos[\(2 \[Pi]\)\/n]\)]], " forces convergence to a circle." }], "Text"], Cell[TextData[{ Cell[BoxData[ \(subdivide\)]], " is specialized subdivision procedure for the formula above. ", Cell[BoxData[ \(p\)]], " is generating function whose coefficients are points, ", Cell[BoxData[ \(\[Sigma]\)]], " is initial tension for subdivision mask, ", Cell[BoxData[ \(n\)]], " is number of points, ", Cell[BoxData[ \(k\)]], " is number of rounds of subdivision" }], "Text"], Cell[BoxData[ \(subdivide[p_, \[Sigma]_, n_, k_] := If[k \[Equal] 0, p, With[{n\[Sigma] = \@\(\(1 + \[Sigma]\)\/2\)}, \ \[IndentingNewLine]subdivide[ Expand[\(\(\((1 + x)\)\^2\) \((1 + 2 n\[Sigma]\ x + \ x\^2)\)\)\/\(4 \( x\^2\) \((1 + n\[Sigma])\)\)*\((p /. {x \[Rule] x\^2})\)] /. \ {x\^a_ \[Rule] x\^Mod[a, 2 n]}, n\[Sigma], 2 n, k - 1]]]\)], "Input", InitializationCell->True, CellTags->"EQN unified scheme"], Cell[TextData[{ "Helper function that closes open polygon ", Cell[BoxData[ \(p\)]], "." }], "Text"], Cell[BoxData[ \(periodize[p_] := Append[p, First[p]]\)], "Input", InitializationCell->True], Cell["Create example of various tensions for an initial diamond", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"p0", "=", RowBox[{"makeGenFun", "[", RowBox[{ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "0"}, {"0", "1"}, {\(-1\), "0"}, {"0", \(-1\)} }], "\[NoBreak]", ")"}], ",", "0", ",", "x"}], "]"}]}], ",", "\[IndentingNewLine]", RowBox[{"g0", "=", RowBox[{"plotCoeff", "[", RowBox[{ RowBox[{"periodize", "[", RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "0"}, {"0", "1"}, {\(-1\), "0"}, {"0", \(-1\)} }], "\[NoBreak]", ")"}], "]"}], ",", \(Axes \[Rule] False\), ",", \(AspectRatio \[Rule] Automatic\)}], "]"}]}]}], "}"}], ",", "\[IndentingNewLine]", "\[IndentingNewLine]", \(Show[ GraphicsArray[\[IndentingNewLine]{Show[g0, plotCoeff[ periodize[ Drop[makeCoeff[ subdivide[\[IndentingNewLine]p0, \(-1.0\), 4, 3], {0, 4}, 3, x], \(-1\)]], Axes \[Rule] False, AspectRatio \[Rule] Automatic]], \[IndentingNewLine]Show[ g0, plotCoeff[ periodize[ Drop[makeCoeff[ subdivide[\[IndentingNewLine]p0, 0.0, 4, 3], {0, 4}, 3, x], \(-1\)]], Axes \[Rule] False, AspectRatio \[Rule] Automatic]], Show[g0, plotCoeff[ periodize[ Drop[makeCoeff[ subdivide[\[IndentingNewLine]p0, 1.0, 4, 3], {0, 4}, 3, x], \(-1\)]], Axes \[Rule] False, AspectRatio \[Rule] Automatic]], Show[g0, plotCoeff[ periodize[ Drop[makeCoeff[ subdivide[\[IndentingNewLine]p0, 10.0, 4, 3], {0, 4}, 3, x], \(-1\)]], Axes \[Rule] False, AspectRatio \[Rule] Automatic]], Show[g0, plotCoeff[ periodize[ Drop[makeCoeff[ subdivide[\[IndentingNewLine]p0, 100.0, 4, 3], {0, 4}, 3, x], \(-1\)]], Axes \[Rule] False, AspectRatio \[Rule] Automatic]]}]]\)}], "]"}], "\[IndentingNewLine]"}]], "Input", CellTags->"FIG tension example"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] GraphicsArray \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"With", "[", RowBox[{ RowBox[{"{", RowBox[{"p0", "=", RowBox[{"makeGenFun", "[", RowBox[{ RowBox[{"(", "\[NoBreak]", GridBox[{ {"1", "0"}, {"0", "1"}, {\(-1\), "0"}, {"0", \(-1\)} }], "\[NoBreak]", ")"}], ",", "0", ",", "x"}], "]"}]}], "}"}], ",", "\[IndentingNewLine]", \(Show[ GraphicsArray[{\[IndentingNewLine]plotCoeff[ periodize[ Drop[makeCoeff[subdivide[p0, 0.0, 4, 0], {0, 4}, 0, x], \(-1\)]], PlotRange \[Rule] {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, Axes \[Rule] False, AspectRatio \[Rule] Automatic], \[IndentingNewLine]plotCoeff[ periodize[ Drop[makeCoeff[subdivide[p0, 0.0, 4, 1], {0, 4}, 1, x], \(-1\)]], PlotRange \[Rule] {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, Axes \[Rule] False, AspectRatio \[Rule] Automatic], \[IndentingNewLine]plotCoeff[ periodize[ Drop[makeCoeff[subdivide[p0, 0.0, 4, 2], {0, 4}, 2, x], \(-1\)]], PlotRange \[Rule] {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, Axes \[Rule] False, AspectRatio \[Rule] Automatic], \[IndentingNewLine]plotCoeff[ periodize[ Drop[makeCoeff[subdivide[p0, 0.0, 4, 3], {0, 4}, 3, x], \(-1\)]], PlotRange \[Rule] {{\(-1.1\), 1.1}, {\(-1.1\), 1.1}}, Axes \[Rule] False, AspectRatio \[Rule] Automatic]}]]\)}], "]"}]], "Input", CellTags->"FIG circle"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] GraphicsArray \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell["Code for closed tensor product surfaces", "Subsubsection"], Cell[TextData[{ Cell[BoxData[ \(subdivide2D\)]], " is tensor product version of ", Cell[BoxData[ \(subdivide\)]], " in the previous subsection. ", Cell[BoxData[ \(p\)]], " is generating function whose coefficients are points, ", Cell[BoxData[ \(\[Sigma]1, \[Sigma]2\)]], " is initial value for subdivision mask, ", Cell[BoxData[ \(n, m\)]], " is size of periodic grid, ", Cell[BoxData[ \(k\)]], " is number of rounds of subdivision" }], "Text"], Cell[BoxData[ \(subdivide2D[p_, \[Sigma]1_, \[Sigma]2_, n_, m_, k_] := If[k \[Equal] 0, p, With[{n\[Sigma]1 = \@\(\(1 + \[Sigma]1\)\/2\), n\[Sigma]2 = \@\(\(1 + \[Sigma]2\)\/2\)}, \ \[IndentingNewLine]subdivide2D[ Expand[\(\(\((1 + x)\)\^2\) \((1 + 2 n\[Sigma]1\ x + x\^2)\)\)\/\ \(4 \( x\^2\) \((1 + n\[Sigma]1)\)\)*\(\(\((1 + y)\)\^2\) \((1 + 2 \ n\[Sigma]2\ y + y\^2)\)\)\/\(4 \( y\^2\) \((1 + n\[Sigma]2)\)\)*\((p /. {x \ \[Rule] x\^2, y \[Rule] y\^2})\)]\n /. \ {x\^a_ \[Rule] x\^Mod[a, 2 n], y\^a_ \[Rule] y\^Mod[a, 2 m]}, \[IndentingNewLine]n\[Sigma]1, n\[Sigma]2, 2 n, 2 m, k - 1]]]\)], "Input", InitializationCell->True], Cell["Hepler function that closes open polyhedron", "Text"], Cell[BoxData[ \(periodize2D[p_] := With[{pp = Transpose[Append[p, First[p]]]}, \[IndentingNewLine]Transpose[ Append[pp, First[pp]]]]\)], "Input", InitializationCell->True], Cell["Sphere example", "Text"], Cell[CellGroupData[{ Cell[BoxData[{ RowBox[{ RowBox[{"s0", "=", " ", RowBox[{"(", GridBox[{ {\({1, 0, 0}\), \({0, 0, 1}\), \({\(-1\), 0, 0}\), \({0, 0, \(-1\)}\)}, {\({0, 1, 0}\), \({0, 0, 1}\), \({0, \(-1\), 0}\), \({0, 0, \(-1\)}\)}, {\({\(-1\), 0, 0}\), \({0, 0, 1}\), \({1, 0, 0}\), \({0, 0, \(-1\)}\)}, {\({0, \(-1\), 0}\), \({0, 0, 1}\), \({0, 1, 0}\), \({0, 0, \(-1\)}\)} }], ")"}]}], ";"}], "\[IndentingNewLine]", \(gs[0] = plotCoeff3D[periodize2D[s0], Axes \[Rule] False]\)}], "Input"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] Graphics3D \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell["\<\ We conclude by generating figures for two surfaces of revolution. In both \ examples, observe that the cross section through the axis of revolution of \ the initial polyhedron is diamond; however the cross section of the limit \ shape through the axis is not a circle.\ \>", "Text"], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{"Module", "[", RowBox[{\({p0, p, t, gs, gt}\), ",", "\[IndentingNewLine]", RowBox[{ RowBox[{"p0", "=", RowBox[{"makeGenFun", "[", RowBox[{ RowBox[{"(", GridBox[{ {\({1, 0, 0}\), \({0, 0, 1}\), \({\(-1\), 0, 0}\), \({0, 0, \(-1\)}\)}, {\({0, 1, 0}\), \({0, 0, 1}\), \({0, \(-1\), 0}\), \({0, 0, \(-1\)}\)}, {\({\(-1\), 0, 0}\), \({0, 0, 1}\), \({1, 0, 0}\), \({0, 0, \(-1\)}\)}, {\({0, \(-1\), 0}\), \({0, 0, 1}\), \({0, 1, 0}\), \({0, 0, \(-1\)}\)} }], ")"}], ",", \({0, 0}\), ",", "x", ",", "y"}], "]"}]}], ";", "\[IndentingNewLine]", \(For[kk = 0, kk \[LessEqual] 3, \[IndentingNewLine]p[kk] = subdivide2D[p0, N[Cos[\(2 \[Pi]\)\/4]], N[Cos[\(2 \[Pi]\)\/4]], 4, 4, kk]; \[IndentingNewLine]t[ kk] = Transpose[ Drop[Transpose[ Drop[makeCoeff[p[kk], {{0, 4}, {0, 4}}, kk, x, y], \(-1\)]], \(-1\)]]; \[IndentingNewLine]gs[kk] = plotCoeff3D[periodize2D[t[kk]], BoxRatios \[Rule] {1, 1, 1}, Axes \[Rule] False, PlotRange \[Rule] {{\(-1\), 1}, {\(-1\), 1}, {\(-1\), 1}}]; \[IndentingNewLine]\(kk++\)]\), ";", "\[IndentingNewLine]", RowBox[{"p0", "=", RowBox[{"makeGenFun", "[", RowBox[{ RowBox[{"(", GridBox[{ {\({4, 0, 0}\), \({2, 0, 1}\), \({0, 0, 0}\), \({2, 0, \(-1\)}\)}, {\({0, 4, 0}\), \({0, 2, 1}\), \({0, 0, 0}\), \({0, 2, \(-1\)}\)}, {\({\(-4\), 0, 0}\), \({\(-2\), 0, 1}\), \({0, 0, 0}\), \({\(-2\), 0, \(-1\)}\)}, {\({0, \(-4\), 0}\), \({0, \(-2\), 1}\), \({0, 0, 0}\), \({0, \(-2\), \(-1\)}\)} }], ")"}], ",", \({0, 0}\), ",", "x", ",", "y"}], "]"}]}], ";", "\[IndentingNewLine]", \(For[kk = 0, kk \[LessEqual] 3, \[IndentingNewLine]p[kk] = subdivide2D[p0, N[Cos[\(2 \[Pi]\)\/4]], N[Cos[\(2 \[Pi]\)\/4]], 4, 4, kk]; \[IndentingNewLine]t[ kk] = Transpose[ Drop[Transpose[ Drop[makeCoeff[p[kk], {{0, 4}, {0, 4}}, kk, x, y], \(-1\)]], \(-1\)]]; \[IndentingNewLine]gt[kk] = plotCoeff3D[periodize2D[t[kk]], PlotRange \[Rule] {{\(-4\), 4}, {\(-4\), 4}, {\(-1\), 1}}, Axes \[Rule] False]; \[IndentingNewLine]\(kk++\)]\), ";", "\[IndentingNewLine]", "\[IndentingNewLine]", \(Show[ GraphicsArray[{{gs[0], gs[1], gs[2], gs[3]}, {gt[0], gt[1], gt[2], gt[3]}}]]\)}]}], "]"}]], "Input", CellTags->"FIG torus"], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] GraphicsArray \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]] }, Closed]] }, Open ]], Cell["Analysis of non\[Hyphen]stationary schemes", "Subsection", CellTags->"SEC analyze non stationary"] }, Open ]] }, Open ]] }, FrontEndVersion->"4.0 for Microsoft Windows", ScreenRectangle->{{0, 1280}, {0, 951}}, AutoGeneratedPackage->None, WindowSize->{1015, 668}, WindowMargins->{{0, Automatic}, {Automatic, 0}}, Magnification->1.25, 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, "Presentation"], PageWidth->WindowWidth, ScriptMinSize->12, FontSize->16], Cell[StyleData[All, "Condensed"], PageWidth->WindowWidth, CellBracketOptions->{"Margins"->{1, 1}, "Widths"->{0, 5}}, ScriptMinSize->8, FontSize->11], Cell[StyleData[All, "Printout"], PageWidth->PaperWidth, ScriptMinSize->7, FontSize->10, PrivateFontOptions->{"FontType"->"Outline"}] }, Open ]], 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"], Cell[ TextData[ { ValueBox[ "DateLong"]}], "Header"], Cell[ TextData[ {"Chapter ", CounterBox[ "Chapter"]}], "Header"]}, {Cell[ TextData[ {"Chapter ", CounterBox[ "Chapter"]}], "Header"], Cell[ TextData[ { ValueBox[ "DateLong"]}], "Header"], Cell[ TextData[ { CounterBox[ "Page"]}], "PageNumber"]}}, PageHeaderLines->{True, True}, PrintingOptions->{"PrintingMargins"->{{108, 72}, {72, 72}}, "FirstPageHeader"->False, "FacingPages"->True}, CellFrameLabelMargins->6, TextJustification->1, LineSpacing->{2, 0}, StyleMenuListing->None, FontSize->12] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Headings", "Section"], Cell[CellGroupData[{ Cell[StyleData["Title"], ShowCellBracket->False, CellMargins->{{0, 0}, {0, 0}}, PageBreakBelow->False, TextAlignment->Center, CounterIncrements->"Title", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Subtitle", 0}, {"Chapter", 0}}, FontSize->34, FontColor->GrayLevel[1], Background->RGBColor[0.571389, 0.19675, 0.570504]], Cell[StyleData["Title", "Presentation"], CellMargins->{{0, 0}, {0, 0}}, FontSize->44], Cell[StyleData["Title", "Condensed"], CellMargins->{{0, 0}, {0, 0}}, FontSize->20], Cell[StyleData["Title", "Printout"], CellMargins->{{0, 0}, {0, 0}}, FontSize->24, FontTracking->"Plain", Background->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subtitle"], ShowCellBracket->False, CellMargins->{{0, 0}, {0, 0}}, PageBreakBelow->False, TextAlignment->Center, ParagraphIndent->-96, CounterIncrements->"Subtitle", CounterAssignments->{{"Section", 0}, {"Equation", 0}, {"Figure", 0}, { "Chapter", 0}}, FontFamily->"Helvetica", FontSize->18, FontColor->GrayLevel[1], Background->RGBColor[0.2, 0.700008, 0.700008]], Cell[StyleData["Subtitle", "Presentation"], CellMargins->{{0, 0}, {0, 0}}, ParagraphIndent->-157, FontSize->30], Cell[StyleData["Subtitle", "Condensed"], CellMargins->{{0, 0}, {0, 0}}, ParagraphIndent->-78, FontSize->14], Cell[StyleData["Subtitle", "Printout"], CellMargins->{{0, 0}, {0, 0}}, ParagraphIndent->-85, FontSize->16, Background->GrayLevel[0.6]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Chapter"], CellFrame->False, ShowCellBracket->True, ShowGroupOpenCloseIcon->False, ShowShortBoxForm->False, CellMargins->{{10, 4}, {50, 150}}, CellGroupingRules->{"SectionGrouping", 20}, PageBreakBelow->False, CellFrameLabels->{{Cell[ TextData[ {"Chapter ", CounterBox[ "Chapter"], ": "}]], None}, {None, None}}, CounterIncrements->"Chapter", CounterAssignments->{{"Section", 0}, {"NumberedEquation", 0}, { "NumberedFigure", 0}, {"NumberedTable", 0}, {"Theorem", 0}}, FontFamily->"Helvetica", FontSize->24, FontSlant->"Italic", Background->GrayLevel[1]], Cell[StyleData["Chapter", "Presentation"], CellMargins->{{8, 10}, {40, 20}}, FontSize->24], Cell[StyleData["Chapter", "Condensed"], CellMargins->{{8, 10}, {12, 8}}, FontSize->12], Cell[StyleData["Chapter", "Printout"], CellMargins->{{9, 10}, {50, 10}}, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Section"], CellFrame->False, CellDingbat->None, CellMargins->{{12, Inherited}, {4, 24}}, CellGroupingRules->{"SectionGrouping", 30}, PageBreakBelow->False, CellFrameMargins->6, CellFrameLabels->{{Cell[ TextData[ { CounterBox[ "Chapter"], ".", CounterBox[ "Section"], " "}]], None}, {None, None}}, CounterIncrements->"Section", CounterAssignments->{{"Subsection", 0}, {"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->18, FontWeight->"Bold", FontColor->GrayLevel[0]], Cell[StyleData["Section", "Presentation"], CellMargins->{{10, 10}, {8, 32}}, FontSize->24, FontTracking->"Condensed"], Cell[StyleData["Section", "Condensed"], CellMargins->{{8, Inherited}, {2, 12}}, FontSize->12], Cell[StyleData["Section", "Printout"], CellMargins->{{9, 0}, {2, 50}}, FontSize->14, FontTracking->"Plain", FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsection"], CellMargins->{{12, Inherited}, {8, 20}}, CellGroupingRules->{"SectionGrouping", 40}, PageBreakBelow->False, CellFrameLabels->{{Cell[ TextData[ { CounterBox[ "Chapter"], ".", CounterBox[ "Section"], ".", CounterBox[ "Subsection"], " "}]], None}, {None, None}}, CounterIncrements->"Subsection", CounterAssignments->{{"Subsubsection", 0}}, FontFamily->"Helvetica", FontSize->13, FontWeight->"Bold"], Cell[StyleData["Subsection", "Presentation"], CellMargins->{{11, 10}, {8, 32}}, FontSize->22], Cell[StyleData["Subsection", "Condensed"], CellMargins->{{8, Inherited}, {2, 12}}, FontSize->12], Cell[StyleData["Subsection", "Printout"], CellMargins->{{9, 0}, {4, 40}}, FontSize->12] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Subsubsection"], CellDingbat->"\[FilledSquare]", CellMargins->{{25, Inherited}, {8, 12}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, CounterIncrements->"Subsubsection", FontFamily->"Times", FontSize->12, FontWeight->"Bold"], Cell[StyleData["Subsubsection", "Presentation"], CellMargins->{{29, 10}, {8, 26}}, FontSize->18], Cell[StyleData["Subsubsection", "Condensed"], CellMargins->{{22, Inherited}, {2, 12}}, FontSize->10], Cell[StyleData["Subsubsection", "Printout"], CellMargins->{{21, 0}, {4, 20}}, FontSize->11] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Body Text", "Section"], Cell[CellGroupData[{ Cell[StyleData["Text"], CellMargins->{{12, 10}, {5, 5}}, PageBreakWithin->True, TextJustification->1, Hyphenation->True, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}, CounterIncrements->"Text", FontFamily->"Times"], Cell[StyleData["Text", "Presentation"], CellMargins->{{13, 10}, {8, 8}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}], Cell[StyleData["Text", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 4}], Cell[StyleData["Text", "Printout"], CellMargins->{{9, 0}, {4, 4}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Itemize"], CellDingbat->"\[FilledSmallCircle]", CellMargins->{{36, 10}, {5, 5}}, TextJustification->1, Hyphenation->True, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}, CounterIncrements->"Text", FontFamily->"Times"], Cell[StyleData["Itemize", "Presentation"], CellDingbat->"\[FilledSmallCircle]", CellMargins->{{36, 10}, {8, 8}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}], Cell[StyleData["Itemize", "Condensed"], CellDingbat->"\[FilledSmallCircle]", CellMargins->{{36, 10}, {4, 4}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 4}], Cell[StyleData["Itemize", "Printout"], CellDingbat->"\[FilledSmallCircle]", CellMargins->{{36, 0}, {4, 4}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["ItemizeFollow"], CellMargins->{{36, 10}, {0, 0}}, TextJustification->1, Hyphenation->True, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}, CounterIncrements->"Text", FontFamily->"Times"], Cell[StyleData["ItemizeFollow", "Presentation"], CellMargins->{{36, 10}, {0, 0}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 12}], Cell[StyleData["ItemizeFollow", "Condensed"], CellMargins->{{36, 10}, {0, 0}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 4}], Cell[StyleData["ItemizeFollow", "Printout"], CellMargins->{{36, 0}, {0, 0}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["SmallText"], CellMargins->{{12, 10}, {5, 5}}, TextJustification->1, Hyphenation->True, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, ParagraphSpacing->{0, 6}, CounterIncrements->"SmallText", FontFamily->"Helvetica", FontSize->9], Cell[StyleData["SmallText", "Presentation"], CellMargins->{{13, 10}, {8, 8}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, FontSize->12], Cell[StyleData["SmallText", "Condensed"], CellMargins->{{8, 10}, {2, 2}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, FontSize->9], Cell[StyleData["SmallText", "Printout"], CellMargins->{{9, 0}, {4, 4}}, TextJustification->1, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, FontSize->7] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Input/Output", "Section"], 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.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Input"], CellMargins->{{52, 10}, {8, 8}}, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, CellLabelMargins->{{5, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", FontWeight->"Bold", FontColor->GrayLevel[0], Background->RGBColor[0.500008, 1, 0.500008]], Cell[StyleData["Input", "Presentation"], CellMargins->{{62, Inherited}, {10, 10}}], Cell[StyleData["Input", "Condensed"], CellMargins->{{40, 10}, {4, 4}}], Cell[StyleData["Input", "Printout"], CellFrame->True, CellMargins->{{44, 0}, {6, 6}}, Background->None] }, Open ]], Cell[StyleData["InlineInput"], CellFrame->True, Evaluatable->True, CellGroupingRules->"InputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, DefaultFormatType->DefaultInputFormatType, AutoItalicWords->{}, FormatType->InputForm, ShowStringCharacters->True, NumberMarks->True, CounterIncrements->"Input", FontWeight->"Bold", Background->GrayLevel[0.849989]], Cell[CellGroupData[{ Cell[StyleData["Output"], CellMargins->{{52, 10}, {8, 8}}, CellEditDuplicate->True, CellGroupingRules->"OutputGrouping", CellHorizontalScrolling->True, PageBreakWithin->False, GroupPageBreakWithin->False, GeneratedCell->True, CellAutoOverwrite->True, CellLabelMargins->{{3, Inherited}, {Inherited, Inherited}}, DefaultFormatType->DefaultOutputFormatType, FormatType->InputForm, CounterIncrements->"Output", Background->RGBColor[1, 1, 0.300008]], Cell[StyleData["Output", "Presentation"], CellMargins->{{62, Inherited}, {12, 5}}], Cell[StyleData["Output", "Condensed"], CellMargins->{{40, Inherited}, {4, 1}}], Cell[StyleData["Output", "Printout"], CellFrame->True, CellMargins->{{44, 0}, {6, 2}}, Background->None] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Unique Styles", "Section"], Cell[CellGroupData[{ Cell[StyleData["Author"], ShowCellBracket->False, CellMargins->{{10, 4}, {2, 10}}, TextAlignment->Center, FontSize->16, FontSlant->"Italic"], Cell[StyleData["Author", "Presentation"], CellMargins->{{12, 10}, {2, 12}}, ParagraphSpacing->{0, 12}, FontSize->20], Cell[StyleData["Author", "Condensed"], CellMargins->{{8, 10}, {1, 4}}, ParagraphSpacing->{0, 4}, FontSize->12], Cell[StyleData["Author", "Printout"], CellMargins->{{9, 0}, {4, 12}}, ParagraphSpacing->{0, 6}, FontSize->14] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Copyright"], ShowCellBracket->False, CellMargins->{{10, 10}, {40, 2}}, FontFamily->"Helvetica", FontSize->9], Cell[StyleData["Copyright", "Presentation"], CellMargins->{{12, 10}, {50, 2}}, FontSize->12], Cell[StyleData["Copyright", "Condensed"], CellMargins->{{8, 10}, {12, 1}}, FontSize->9], Cell[StyleData["Copyright", "Printout"], CellMargins->{{9, 0}, {72, 4}}, FontSize->7] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Styles for Equations, Figures, Theorems etc.", "Section"], Cell["\<\ The following styles are useful for numbered equations, figures, etc. They \ automatically give the cell a FrameLabel containing a reference to a \ particular counter, and also increment that counter.\ \>", "Text"], Cell[StyleData["Reference"], CellFrame->False, PageBreakWithin->False, GroupPageBreakWithin->False, CellFrameLabels->{{Cell[ TextData[ {"[", CounterBox[ "Reference"], "] "}]], None}, {None, None}}, ShowStringCharacters->True, CounterIncrements->"Reference"], Cell[CellGroupData[{ Cell[StyleData["Example"], CellMargins->{{12, 10}, {5, 12}}, PageBreakBelow->False, ParagraphSpacing->{0, 12}, CounterIncrements->"Example", FontFamily->"Times", FontWeight->"Bold"], Cell[StyleData["Example", "Presentation"], CellMargins->{{18, 10}, {8, 20}}, ParagraphSpacing->{0, 12}], Cell[StyleData["Example", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, ParagraphSpacing->{0, 4}], Cell[StyleData["Example", "Printout"], CellMargins->{{9, 0}, {4, 10}}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["ExampleCode"], CellMargins->{{24, 10}, {0, 10}}, PageBreakBelow->False, DefaultNewCellStyle->"ExampleCodeExplanation", ParagraphSpacing->{0, 12}, CounterIncrements->"Example", FontFamily->"Times", FontWeight->"Plain", FontColor->RGBColor[0, 0, 0.996109]], Cell[StyleData["ExampleCode", "Presentation"], CellMargins->{{18, 10}, {8, 10}}, ParagraphSpacing->{0, 12}], Cell[StyleData["ExampleCode", "Condensed"], CellMargins->{{8, 10}, {4, 10}}, ParagraphSpacing->{0, 4}], Cell[StyleData["ExampleCode", "Printout"], CellMargins->{{9, 0}, {0, 10}}, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["ExampleCodeExplanation"], CellMargins->{{24, 10}, {10, 0}}, PageBreakAbove->False, DefaultNewCellStyle->"ExampleCode", ParagraphSpacing->{0, 12}, CounterIncrements->"Example", FontFamily->"Times", FontWeight->"Plain", FontColor->GrayLevel[0.749996]], Cell[StyleData["ExampleCodeExplanation", "Presentation"], CellMargins->{{18, 10}, {8, 20}}, PageBreakAbove->False, ParagraphSpacing->{0, 12}], Cell[StyleData["ExampleCodeExplanation", "Condensed"], CellMargins->{{8, 10}, {4, 8}}, PageBreakAbove->False, ParagraphSpacing->{0, 4}], Cell[StyleData["ExampleCodeExplanation", "Printout"], CellMargins->{{9, 0}, {4, 0}}, PageBreakAbove->False, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Proof"], CellFrame->False, CellMargins->{{52, 10}, {0, 0}}, PageBreakWithin->False, PageBreakBelow->False, GroupPageBreakWithin->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, CellFrameLabels->{{Cell[ TextData[ {"Proof "}]], None}, {None, None}}, ShowStringCharacters->True, CounterIncrements->"Proof", FontFamily->"Helvetica", FontWeight->"Bold", FontColor->RGBColor[0.2, 0.700008, 0.700008], Background->None], Cell[StyleData["Proof", "Presentation"], CellMargins->{{62, Inherited}, {0, 0}}, PageBreakBelow->False], Cell[StyleData["Proof", "Condensed"], CellMargins->{{40, 10}, {0, 0}}, PageBreakBelow->False], Cell[StyleData["Proof", "Printout"], CellMargins->{{44, 0}, {0, 0}}, PageBreakBelow->False] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Theorem"], CellFrame->False, CellMargins->{{52, 10}, {0, 0}}, PageBreakWithin->False, PageBreakBelow->False, GroupPageBreakWithin->False, CellLabelMargins->{{23, Inherited}, {Inherited, Inherited}}, CellFrameLabels->{{Cell[ TextData[ {"Theorem ", CounterBox[ "Chapter"], ".", CounterBox[ "Theorem"], " "}]], None}, {None, None}}, ShowStringCharacters->True, CounterIncrements->"Theorem", FontFamily->"Helvetica", FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504], Background->None], Cell[StyleData["Theorem", "Presentation"], CellMargins->{{62, Inherited}, {0, 0}}, PageBreakBelow->False], Cell[StyleData["Theorem", "Condensed"], CellMargins->{{40, 10}, {0, 0}}, PageBreakBelow->False], Cell[StyleData["Theorem", "Printout"], CellMargins->{{44, 0}, {0, 0}}, PageBreakBelow->False] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Exercise"], CellDingbat->"\[FilledDownTriangle]", CellMargins->{{23, Inherited}, {4, 18}}, CellGroupingRules->{"SectionGrouping", 50}, PageBreakBelow->False, CounterIncrements->"Subsubsection", FontFamily->"Times", FontSize->13, FontWeight->"Bold", FontColor->RGBColor[0.571389, 0.19675, 0.570504], Background->None], Cell[StyleData["Exercise", "Presentation"], CellMargins->{{33, 10}, {8, 26}}, FontSize->18], Cell[StyleData["Exercise", "Condensed"], CellMargins->{{17, Inherited}, {2, 12}}, FontSize->10], Cell[StyleData["Exercise", "Printout"], CellFrame->{{0, 0}, {0.5, 0}}, CellDingbat->None, CellMargins->{{9, 0}, {6, 20}}, FontSize->11, FontColor->GrayLevel[0]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["TheoremProofText"], CellMargins->{{52, 10}, {5, 5}}, TextJustification->1, ParagraphSpacing->{0, 12}, CounterIncrements->"Text", FontFamily->"Times"], Cell[StyleData["TheoremProofText", "Presentation"], CellMargins->{{52, 10}, {8, 8}}, TextJustification->1, ParagraphSpacing->{0, 12}], Cell[StyleData["TheoremProofText", "Condensed"], CellMargins->{{8, 10}, {4, 4}}, TextJustification->1, ParagraphSpacing->{0, 4}], Cell[StyleData["TheoremProofText", "Printout"], CellMargins->{{52, 0}, {4, 4}}, TextJustification->1, ParagraphSpacing->{0, 6}] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["NumberedEquation"], CellMargins->{{62, 10}, {Inherited, Inherited}}, CellFrameLabels->{{None, Cell[ TextData[ {"(", CounterBox[ "Chapter"], ".", CounterBox[ "NumberedEquation"], ")"}]]}, {None, None}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Center, CounterIncrements->"NumberedEquation", FormatTypeAutoConvert->False], Cell[StyleData["NumberedEquation", "Presentation"], CellMargins->{{74, 10}, {Inherited, Inherited}}], Cell[StyleData["NumberedEquation", "Condensed"], CellMargins->{{52, 10}, {Inherited, Inherited}}], Cell[StyleData["NumberedEquation", "Printout"], CellMargins->{{54, 0}, {Inherited, Inherited}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["Equation"], CellMargins->{{62, 10}, {Inherited, Inherited}}, DefaultFormatType->DefaultInputFormatType, TextAlignment->Center, FormatTypeAutoConvert->False], Cell[StyleData["Equation", "Presentation"], CellMargins->{{74, 10}, {Inherited, Inherited}}], Cell[StyleData["Equation", "Condensed"], CellMargins->{{52, 10}, {Inherited, Inherited}}], Cell[StyleData["Equation", "Printout"], CellMargins->{{54, 0}, {Inherited, Inherited}}] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["NumberedFigure"], CellMargins->{{0, 0}, {0, 24}}, CellFrameLabels->{{None, None}, {Cell[ TextData[ {"Figure ", CounterBox[ "Chapter"], ".", CounterBox[ "NumberedFigure"]}]], None}}, TextAlignment->Center, CounterIncrements->"NumberedFigure", FormatTypeAutoConvert->False], Cell[StyleData["NumberedFigure", "Presentation"]], Cell[StyleData["NumberedFigure", "Condensed"]], Cell[StyleData["NumberedFigure", "Printout"]] }, Open ]], Cell[CellGroupData[{ Cell[StyleData["Caption"], CellMargins->{{72, 72}, {24, 0}}, PageBreakAbove->False, PageBreakWithin->False, TextAlignment->Center, Hyphenation->True, HyphenationOptions->{"HyphenationCharacter"->"\[Hyphen]"}, FontSlant->"Italic"], Cell[StyleData["Caption", "Presentation"]], Cell[StyleData["Caption", "Condensed"]], Cell[StyleData["Caption", "Printout"]] }, Closed]] }, 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"] }, Open ]], Cell[CellGroupData[{ Cell["Hyperlink Styles", "Section"], Cell["\<\ The cells below define styles useful for making hypertext ButtonBoxes. The \ \"Hyperlink\" style is for links within the same Notebook, or between \ Notebooks.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["Hyperlink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`NotebookLocate[ #2]}]&), Active->True, ButtonFrame->"None", ButtonNote->ButtonData}], Cell[StyleData["Hyperlink", "Presentation"]], Cell[StyleData["Hyperlink", "Condensed"]], Cell[StyleData["Hyperlink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell["\<\ The following styles are for linking automatically to the on-line help \ system.\ \>", "Text"], Cell[CellGroupData[{ Cell[StyleData["MainBookLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "MainBook", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["MainBookLink", "Presentation"]], Cell[StyleData["MainBookLink", "Condensed"]], Cell[StyleData["MainBookLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["AddOnsLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "AddOns", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["AddOnsLink", "Presentation"]], Cell[StyleData["AddOnsLink", "Condensed"]], Cell[StyleData["AddOnLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["RefGuideLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontFamily->"Courier", FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "RefGuideLink", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["RefGuideLink", "Presentation"]], Cell[StyleData["RefGuideLink", "Condensed"]], Cell[StyleData["RefGuideLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["GettingStartedLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "GettingStarted", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["GettingStartedLink", "Presentation"]], Cell[StyleData["GettingStartedLink", "Condensed"]], Cell[StyleData["GettingStartedLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]], Cell[CellGroupData[{ Cell[StyleData["OtherInformationLink"], StyleMenuListing->None, ButtonStyleMenuListing->Automatic, FontColor->GrayLevel[1], Background->RGBColor[1, 0.4, 0], ButtonBoxOptions->{ButtonFunction:>(FrontEndExecute[ { FrontEnd`HelpBrowserLookup[ "OtherInformation", #]}]&), Active->True, ButtonFrame->"None"}], Cell[StyleData["OtherInformationLink", "Presentation"]], Cell[StyleData["OtherInformationLink", "Condensed"]], Cell[StyleData["OtherInformationLink", "Printout"], FontColor->GrayLevel[0], Background->GrayLevel[1]] }, Closed]] }, Open ]] }, Open ]] }] ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{ "CHA differential"->{ Cell[1739, 51, 137, 2, 341, "Chapter", CounterAssignments->{{"Chapter", 3}}, CellTags->"CHA differential"]}, "SEC polynomial spline"->{ Cell[5811, 158, 89, 1, 64, "Section", CellTags->"SEC polynomial spline"]}, "def I"->{ Cell[6943, 207, 296, 6, 103, "Input", InitializationCell->True, CellTags->"def I"]}, "diff bspline"->{ Cell[8678, 269, 304, 6, 102, "Input", CellTags->"diff bspline"]}, "def diff"->{ Cell[10420, 323, 135, 3, 61, "Input", InitializationCell->True, CellTags->"def diff"]}, "def s"->{ Cell[11345, 370, 205, 5, 80, "Input", InitializationCell->True, CellTags->"def s"]}, "EQN differential genfun box spline"->{ Cell[12011, 400, 321, 6, 91, "Input", InitializationCell->True, CellTags->"EQN differential genfun box spline"]}, "EQN box spline subdivision"->{ Cell[12960, 433, 190, 5, 80, "Input", InitializationCell->True, CellTags->"EQN box spline subdivision"]}, "EQN exponential difference mask"->{ Cell[14579, 508, 505, 9, 91, "Input", InitializationCell->True, CellTags->"EQN exponential difference mask"]}, "SUBSEC subdiv exponential spline"->{ Cell[15830, 543, 114, 1, 53, "Subsection", CellTags->"SUBSEC subdiv exponential spline"]}, "EQN exponential subdivision mask"->{ Cell[16416, 562, 404, 7, 91, "Input", InitializationCell->True, CellTags->"EQN exponential subdivision mask"]}, "def exp integral"->{ Cell[18388, 632, 366, 7, 103, "Input", InitializationCell->True, CellTags->"def exp integral"]}, "def scc"->{ Cell[19549, 674, 165, 4, 60, "Input", InitializationCell->True, CellTags->"def scc"]}, "FIG exponential plots"->{ Cell[20450, 712, 762, 12, 186, "Input", CellTags->{ "FIG exponential plots", "FIG exponential truncated powers"}], Cell[22271, 767, 731, 14, 186, "Input", CellTags->"FIG exponential plots"]}, "FIG exponential truncated powers"->{ Cell[20450, 712, 762, 12, 186, "Input", CellTags->{ "FIG exponential plots", "FIG exponential truncated powers"}]}, "def scn"->{ Cell[21746, 748, 395, 8, 99, "Input", InitializationCell->True, CellTags->"def scn"]}, "EQN integral recurrence for exp B-splines"->{ Cell[24288, 825, 483, 9, 104, "Input", InitializationCell->True, CellTags->"EQN integral recurrence for exp B-splines"]}, "SEC circle scheme"->{ Cell[26073, 890, 103, 1, 90, "Section", CellTags->"SEC circle scheme"]}, "EQN unified scheme"->{ Cell[29510, 1025, 491, 10, 134, "Input", InitializationCell->True, CellTags->"EQN unified scheme"]}, "FIG tension example"->{ Cell[30316, 1052, 2964, 65, 476, "Input", CellTags->"FIG tension example"]}, "FIG circle"->{ Cell[33455, 1127, 1853, 40, 308, "Input", CellTags->"FIG circle"]}, "FIG torus"->{ Cell[38244, 1259, 3177, 60, 549, "Input", CellTags->"FIG torus"]}, "SEC analyze non stationary"->{ Cell[41598, 1329, 106, 1, 74, "Subsection", CellTags->"SEC analyze non stationary"]} } *) (*CellTagsIndex CellTagsIndex->{ {"CHA differential", 70466, 2349}, {"SEC polynomial spline", 70620, 2353}, {"def I", 70718, 2356}, {"diff bspline", 70839, 2360}, {"def diff", 70931, 2363}, {"def s", 71048, 2367}, {"EQN differential genfun box spline", 71191, 2371}, {"EQN box spline subdivision", 71355, 2375}, {"EQN exponential difference mask", 71516, 2379}, {"SUBSEC subdiv exponential spline", 71683, 2383}, {"EQN exponential subdivision mask", 71824, 2386}, {"def exp integral", 71976, 2390}, {"def scc", 72104, 2394}, {"FIG exponential plots", 72236, 2398}, {"FIG exponential truncated powers", 72494, 2404}, {"def scn", 72641, 2408}, {"EQN integral recurrence for exp B-splines", 72793, 2412}, {"SEC circle scheme", 72956, 2416}, {"EQN unified scheme", 73065, 2419}, {"FIG tension example", 73209, 2423}, {"FIG circle", 73314, 2426}, {"FIG torus", 73409, 2429}, {"SEC analyze non stationary", 73520, 2432} } *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 137, 2, 341, "Chapter", CounterAssignments->{{"Chapter", 3}}, CellTags->"CHA differential"], Cell[1879, 55, 434, 12, 82, "Text"], Cell[2316, 69, 369, 6, 117, "Text"], Cell[2688, 77, 561, 10, 118, "Text"], Cell[CellGroupData[{ Cell[3274, 91, 65, 0, 60, "Subsubsection"], Cell[3342, 93, 278, 6, 81, "Input", InitializationCell->True], Cell[3623, 101, 201, 4, 61, "Input", InitializationCell->True], Cell[3827, 107, 384, 8, 82, "Input", InitializationCell->True], Cell[4214, 117, 238, 5, 82, "Input", InitializationCell->True], Cell[4455, 124, 418, 8, 104, "Input", InitializationCell->True], Cell[4876, 134, 204, 5, 61, "Input", InitializationCell->True], Cell[5083, 141, 691, 12, 102, "Input", InitializationCell->True] }, Closed]], Cell[CellGroupData[{ Cell[5811, 158, 89, 1, 64, "Section", CellTags->"SEC polynomial spline"], Cell[CellGroupData[{ Cell[5925, 163, 67, 0, 74, "Subsection"], Cell[5995, 165, 222, 11, 47, "Text"], Cell[6220, 178, 215, 4, 102, "Input", InitializationCell->True], Cell[CellGroupData[{ Cell[6460, 186, 56, 0, 60, "Subsubsection"], Cell[6519, 188, 421, 17, 82, "Text"], Cell[6943, 207, 296, 6, 103, "Input", InitializationCell->True, CellTags->"def I"], Cell[7242, 215, 70, 0, 47, "Text"], Cell[CellGroupData[{ Cell[7337, 219, 229, 4, 102, "Input"], Cell[7569, 225, 75, 1, 74, "Output"], Cell[7647, 228, 130, 3, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[7826, 237, 111, 3, 49, "Subsubsection"], Cell[7940, 242, 221, 6, 47, "Text"], Cell[8164, 250, 265, 5, 104, "Input", InitializationCell->True], Cell[8432, 257, 221, 8, 47, "Text"], Cell[CellGroupData[{ Cell[8678, 269, 304, 6, 102, "Input", CellTags->"diff bspline"], Cell[8985, 277, 862, 16, 170, "Output"], Cell[9850, 295, 130, 3, 60, "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[10041, 305, 72, 0, 74, "Subsection"], Cell[10116, 307, 301, 14, 47, "Text"], Cell[10420, 323, 135, 3, 61, "Input", InitializationCell->True, CellTags->"def diff"], Cell[CellGroupData[{ Cell[10580, 330, 43, 1, 60, "Input"], Cell[10626, 333, 48, 1, 60, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[10711, 339, 63, 1, 60, "Input"], Cell[10777, 342, 59, 1, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[10885, 349, 55, 0, 53, "Subsection"], Cell[10943, 351, 148, 5, 47, "Text"], Cell[11094, 358, 75, 1, 50, "Equation"], Cell[11172, 361, 148, 5, 47, "Text"], Cell[CellGroupData[{ Cell[11345, 370, 205, 5, 80, "Input", InitializationCell->True, CellTags->"def s"], Cell[11553, 377, 62, 1, 60, "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[11676, 385, 46, 0, 90, "Section"], Cell[CellGroupData[{ Cell[11747, 389, 63, 0, 74, "Subsection"], Cell[11813, 391, 195, 7, 47, "Text"], Cell[12011, 400, 321, 6, 91, "Input", InitializationCell->True, CellTags->"EQN differential genfun box spline"], Cell[CellGroupData[{ Cell[12357, 410, 69, 1, 60, "Input"], Cell[12429, 413, 74, 1, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[12552, 420, 60, 0, 53, "Subsection"], Cell[12615, 422, 117, 3, 47, "Text"], Cell[12735, 427, 222, 4, 61, "Equation"], Cell[12960, 433, 190, 5, 80, "Input", InitializationCell->True, CellTags->"EQN box spline subdivision"], Cell[13153, 440, 45, 0, 47, "Text"], Cell[CellGroupData[{ Cell[13223, 444, 66, 1, 60, "Input"], Cell[13292, 447, 80, 1, 74, "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[CellGroupData[{ Cell[13433, 455, 64, 0, 90, "Section"], Cell[CellGroupData[{ Cell[13522, 459, 65, 0, 74, "Subsection"], Cell[CellGroupData[{ Cell[13612, 463, 139, 4, 65, "Input", InitializationCell->True], Cell[13754, 469, 74, 1, 64, "Output"] }, Open ]], Cell[13843, 473, 224, 10, 47, "Text"], Cell[CellGroupData[{ Cell[14092, 487, 106, 2, 74, "Input"], Cell[14201, 491, 38, 1, 60, "Output"] }, Open ]], Cell[14254, 495, 322, 11, 47, "Text"], Cell[14579, 508, 505, 9, 91, "Input", InitializationCell->True, CellTags->"EQN exponential difference mask"], Cell[15087, 519, 191, 6, 47, "Text"], Cell[CellGroupData[{ Cell[15303, 529, 91, 1, 60, "Input"], Cell[15397, 532, 384, 5, 80, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[15830, 543, 114, 1, 53, "Subsection", CellTags->"SUBSEC subdiv exponential spline"], Cell[15947, 546, 265, 8, 47, "Text"], Cell[16215, 556, 124, 2, 80, "Input"], Cell[16342, 560, 71, 0, 47, "Text"], Cell[16416, 562, 404, 7, 91, "Input", InitializationCell->True, CellTags->"EQN exponential subdivision mask"], Cell[16823, 571, 251, 9, 47, "Text"], Cell[CellGroupData[{ Cell[17099, 584, 91, 1, 60, "Input"], Cell[17193, 587, 257, 5, 92, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[17499, 598, 85, 1, 53, "Subsection"], Cell[CellGroupData[{ Cell[17609, 603, 78, 0, 60, "Subsubsection"], Cell[17690, 605, 225, 11, 47, "Text"], Cell[17918, 618, 215, 4, 102, "Input", InitializationCell->True], Cell[18136, 624, 249, 6, 47, "Text"], Cell[18388, 632, 366, 7, 103, "Input", InitializationCell->True, CellTags->"def exp integral"], Cell[18757, 641, 285, 11, 47, "Text"], Cell[CellGroupData[{ Cell[19067, 656, 203, 4, 81, "Input"], Cell[19273, 662, 101, 2, 60, "Output"] }, Open ]], Cell[19389, 667, 157, 5, 47, "Text"], Cell[19549, 674, 165, 4, 60, "Input", InitializationCell->True, CellTags->"def scc"], Cell[19717, 680, 102, 4, 47, "Text"], Cell[CellGroupData[{ Cell[19844, 688, 245, 4, 102, "Input"], Cell[20092, 694, 83, 1, 60, "Output"], Cell[20178, 697, 130, 3, 60, "Output"] }, Open ]], Cell[20323, 703, 102, 5, 47, "Text"], Cell[CellGroupData[{ Cell[20450, 712, 762, 12, 186, "Input", CellTags->{"FIG exponential plots", "FIG exponential truncated powers"}], Cell[21215, 726, 135, 3, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[21399, 735, 105, 2, 49, "Subsubsection"], Cell[21507, 739, 236, 7, 47, "Text"], Cell[21746, 748, 395, 8, 99, "Input", InitializationCell->True, CellTags->"def scn"], Cell[22144, 758, 102, 5, 47, "Text"], Cell[CellGroupData[{ Cell[22271, 767, 731, 14, 186, "Input", CellTags->"FIG exponential plots"], Cell[23005, 783, 135, 3, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[23189, 792, 93, 1, 49, "Subsubsection"], Cell[23285, 795, 1000, 28, 117, "Text"], Cell[24288, 825, 483, 9, 104, "Input", InitializationCell->True, CellTags->"EQN integral recurrence for exp B-splines"], Cell[24774, 836, 434, 16, 82, "Text"], Cell[25211, 854, 141, 3, 60, "Input", InitializationCell->True], Cell[25355, 859, 247, 9, 47, "Text"], Cell[CellGroupData[{ Cell[25627, 872, 240, 5, 81, "Input"], Cell[25870, 879, 130, 3, 60, "Output"] }, Open ]] }, Closed]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[26073, 890, 103, 1, 90, "Section", CellTags->"SEC circle scheme"], Cell[CellGroupData[{ Cell[26201, 895, 40, 0, 74, "Subsection"], Cell[26244, 897, 34, 0, 47, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[26315, 902, 49, 0, 53, "Subsection"], Cell[26367, 904, 215, 6, 47, "Text"], Cell[CellGroupData[{ Cell[26607, 914, 202, 4, 81, "Input"], Cell[26812, 920, 90, 1, 60, "Output"] }, Open ]], Cell[26917, 924, 140, 3, 47, "Text"], Cell[CellGroupData[{ Cell[27082, 931, 133, 3, 60, "Input"], Cell[27218, 936, 157, 3, 75, "Output"] }, Open ]], Cell[27390, 942, 48, 0, 47, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[27475, 947, 52, 0, 53, "Subsection"], Cell[27530, 949, 155, 3, 47, "Text"], Cell[CellGroupData[{ Cell[27710, 956, 40, 0, 60, "Subsubsection"], Cell[27753, 958, 712, 24, 117, "Text"], Cell[28468, 984, 213, 4, 50, "Equation"], Cell[28684, 990, 379, 15, 57, "Text"], Cell[29066, 1007, 441, 16, 82, "Text"], Cell[29510, 1025, 491, 10, 134, "Input", InitializationCell->True, CellTags->"EQN unified scheme"], Cell[30004, 1037, 111, 5, 47, "Text"], Cell[30118, 1044, 97, 2, 60, "Input", InitializationCell->True], Cell[30218, 1048, 73, 0, 47, "Text"], Cell[CellGroupData[{ Cell[30316, 1052, 2964, 65, 476, "Input", CellTags->"FIG tension example"], Cell[33283, 1119, 135, 3, 60, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[33455, 1127, 1853, 40, 308, "Input", CellTags->"FIG circle"], Cell[35311, 1169, 135, 3, 60, "Output"] }, Open ]] }, Closed]], Cell[CellGroupData[{ Cell[35495, 1178, 64, 0, 49, "Subsubsection"], Cell[35562, 1180, 504, 19, 82, "Text"], Cell[36069, 1201, 731, 13, 182, "Input", InitializationCell->True], Cell[36803, 1216, 59, 0, 47, "Text"], Cell[36865, 1218, 207, 5, 81, "Input", InitializationCell->True], Cell[37075, 1225, 30, 0, 47, "Text"], Cell[CellGroupData[{ Cell[37130, 1229, 645, 13, 137, "Input"], Cell[37778, 1244, 132, 3, 60, "Output"] }, Open ]], Cell[37925, 1250, 294, 5, 82, "Text"], Cell[CellGroupData[{ Cell[38244, 1259, 3177, 60, 549, "Input", CellTags->"FIG torus"], Cell[41424, 1321, 135, 3, 60, "Output"] }, Open ]] }, Closed]] }, Open ]], Cell[41598, 1329, 106, 1, 74, "Subsection", CellTags->"SEC analyze non stationary"] }, Open ]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)