(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 3.0, MathReader 3.0, or any compatible application. The data for the notebook starts with the line of 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[ 238278, 5061]*) (*NotebookOutlinePosition[ 239622, 5105]*) (* CellTagsIndexPosition[ 239578, 5101]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell[TextData[ "Variational Subdivision\nfor Laplacian Splines"], "Title", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ Technical Report TR97-291\ \>", "Subtitle"], Cell["\<\ Henrik Weimer Joe Warren Rice University Department of Computer Science Houston, TX 77025 August 1997\ \>", "Author", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell["Abstract", "Section 1", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[{ "The fundamental problem of geometric design is the representation of \ curved shapes. Traditionally such shapes are represented by parametric spline \ curves, e.g. NURBS, which are defined as the minimizers of variational \ problems. For example, cubic B-splines minimize the bending energy \ functional.\n\nMore recently subdivision curves and surfaces emerged as an \ alternative means for representing curved shapes. In this framework a curve \ or surface is defined as the limit of a repeated averaging process of control \ points. The subdivision scheme is determined by the subdivision mask S which \ specifies the weights used during the averaging.\n\nA methodology for \ deriving subdivision schemes from homogeneous variational problems has been \ outlined in [Warren97]. This report shows the computational details of this \ approach and presents a method for deriving a subdivision scheme with \ predefined local support wich produces limit surfaces close to the minimizer \ of the variational problem. In particular this document contains the detailed \ derivation of Laplacian Splines discussed in section 4.2 of [Warren97].\n\n\ The result will be a local stationary subdivision scheme for bounded \ rectangular grids which produces a limit surface that is close to the \ minimizer of the original variational problem. By increasing the support of \ the subdivision basis functions the resulting surface will come arbitrarily \ close to the real variationally optimal surface.\n\nThe ", StyleBox["Mathematica", FontSlant->"Italic"], " source code for this report can be found under URL \ http://www.cs.rice.edu/~jwarren/Laplace-tr.nb and an on-line HTML version \ under http://www.cs.rice.edu/~jwarren/Laplace-tr ." }], "Text", Evaluatable->False, TextJustification->1, AspectRatioFixed->True] }, Open ]], Cell["Introduction", "Section 1"], Cell["\<\ Laplacian Splines are defined as the minimizer to the variational \ problem derived from Laplace's equation\ \>", "Text", Evaluatable->False, TextJustification->1, AspectRatioFixed->True], Cell[BoxData[ \(\(min\+f\) \(\[Integral]\_\[CapitalOmega]\(( \((\(\[PartialD]\/\[PartialD]\_\(t\_1\)\) f \((t)\))\)\^2 + \((\(\[PartialD]\/\[PartialD]\_\(t\_2\)\) f \((t)\))\)\^2)\) \[DifferentialD]t\)\)], "NumberedEquation"], Cell[TextData[ "where the domain \[CapitalOmega] is the real plane.The strong form of this \ equation is exactly Laplace's equation"], "Text", Evaluatable->False, TextJustification->1, AspectRatioFixed->True], Cell[BoxData[ \(\(\[PartialD]\^2\/\[PartialD]\_\(t\_1\)\^2\) f \((t)\) + \(\[PartialD]\^2\/\[PartialD]\_\(t\_2\)\^2\) f \((t)\) = 0. \)], "NumberedEquation"], Cell["\<\ We want to refer to functions that satisfy this equation as \ Laplacian Splines. This report presents a subdivision scheme which produces the minimizer of the \ variational probelm as stated in (1) for a bounded rectangular grid. This \ subdivision scheme has global support. We will also show how a local \ subdivision scheme can be constructed which produces a surface that is close \ to the minimizer of (1). By increasing the support of the local basis \ function of this approximating subdivision scheme, the resulting limit \ surface can lie arbitrarily close to the real Laplacian spline.\ \>", "Text"], Cell[CellGroupData[{ Cell["Definition of the Energy Matrix", "Section 1", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ The energy matrix for Laplacian splines is derived from Laplace's \ equation. We use a generating function representation of the energy mask \ e(z).\ \>", "Text", Evaluatable->False, TextJustification->1, AspectRatioFixed->True], Cell[BoxData[{ \(d1[i_, n_, x_] := Which[i == 0, 1 - x, i == n, \(-\(1\/x\)\) + 1, True, \(-\(1\/x\)\) + 2 - x]\), \(d2[i_, n_, x_] := Which[i == 0, 1 - x, i == n, \(-\(1\/x\)\) + 1, True, \(-\(1\/x\)\) + 2 - x]\), \(Fact[i_, n_] := If[i == 0 || i == n, 1\/2, 1]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(e[i_, j_, n_] := Expand[\((Fact[j, n]\ d1[i, n, x] + Fact[i, n]\ d2[j, n, y])\)\ x\^i\ y\^j]\), \(ue[i_, j_, n_] := Expand[\((Fact[j, n]\ d1[i, n, x\^2] + Fact[i, n]\ d2[j, n, y\^2])\)\ x\^i\ y\^j]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(GenRow[i_, j_, n_] := Flatten[Transpose[ Drop[Transpose[ CoefficientList[ e[i, j, n] + \((\[Sum]\+\(k = 0\)\%n x\^k)\)\ y\^\(n + 1\), { x, y}]], \(-1\)]]]\), \(GenRow2[i_, j_, n_] := Flatten[Transpose[ Drop[Transpose[ CoefficientList[ ue2[i, j, n] + \((\[Sum]\+\(k = 0\)\%n x\^k)\)\ y\^\(n + 1\), {x, y}]], \(-1\)]]]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[ "GenRow[i,j,n] now generates the coefficients of the energy matrix for \ control point (i,j) in an (n+1)x(n+1) grid. You may want to re-evaluate \ GenRow below for different values of i and j. GenRow2[i,j,n] returns the \ coefficients of the energy matrix for the subdivided grid (only for control \ points corresponding to control points on the previous level grid, i.e. \ before subdivision)."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[Partition[GenRow[1, 1, 4], 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", \(-1\), "0", "0", "0"}, {\(-1\), "4", \(-1\), "0", "0"}, {"0", \(-1\), "0", "0", "0"}, {"0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output", Evaluatable->False, AspectRatioFixed->True] }, Open ]], Cell[TextData[ "En[n] computes the energy matrix for a (n+1) x (n+1) grid, i.e. a (n+1)^2 x \ (n+1)^2 matrix computing the energy associated with each of the control \ points.\n\nUEn[n] computes the energy matrix after upsampling, i.e. a matrix \ which computes the energy associated with the control points in a (n/2+1) x \ (n/2+1) grid and then upsamples them to the corresponding (n+1) x (n+1) grid \ by inserting zeroes as th energy associated with new control points."], "Text",\ Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ \(En[n_] := Flatten[Table[GenRow[i, j, n], {i, 0, n}, {j, 0, n}], 1]\), \(UEn[n_] := Flatten[Table[ If[EvenQ[i] && EvenQ[j], GenRow[i\/2, j\/2, n\/2], Table[0, {\((n\/2 + 1)\)\^2}]], {i, 0, n}, {j, 0, n}], 1]\)}], "Input", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell["Finding The Exact Subdivision Mask ", "Section 1", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "En[n] as defined above is singular, i.e. not invertible. Thus we can not \ solve En S = UEn by inverting En. To make En invertible we replace one of the \ (linearly dependent) rows in En by a constraint representing the preservation \ of moments. Call these modified matricec NewUn and NewUEn respectivey."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Moments[n_] := Flatten[\(1\/n\^2\) \((Table[ If[Mod[i, n] == 0 && Mod[j, n] == 0, 1, If[Mod[i, n] == 0 || Mod[j, n] == 0, 2, 4]], {i, 0, n}, {j, 0, n}])\)]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(NewEn[n_] := ReplacePart[En[n], Moments[n], 1\/2\ \((\((n + 1)\)\^2 + 1)\)]\), \(NewUEn[n_] := ReplacePart[UEn[n], Moments[n\/2], 1\/2\ \((\((n + 1)\)\^2 + 1)\)]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[ "Evaluate the following two lines to compute the exact subdivision matrix \ carrying control points from a 5x5 to a 9x9 control grid and from a 9x9 to a \ 17x17 grid. The resulting sequence of subdivision matrices will produce a \ limit surface that exactly solves Laplace's equation."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(S5to9 = LinearSolve[N[NewEn[8]], NewUEn[8]]; \)\)], "Input", AspectRatioFixed->True], Cell[BoxData[ \(\(S9to17 = LinearSolve[N[NewEn[16]], NewUEn[16]]; \)\)], "Input", AspectRatioFixed->True], Cell["\<\ Unfortunately the resulting subdivision rules have global support \ (the exact solution must have global support as the variational problem is \ global). Here are some of the resulting exact subdivision rules rounded to \ three digits. Note the fast decay of the coefficients.\ \>", "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Times"], Cell[CellGroupData[{ Cell[TextData["An internal vertex rule:"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[ Round[S9to17\[LeftDoubleBracket]145\[RightDoubleBracket]*100.0] \/100.0, 9]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", \(-0.01`\), "0", "0", "0", "0"}, {"0", "0", "0", "0.02`", \(-0.130000000000000004`\), "0.02`", "0", "0", "0"}, {"0", "0", \(-0.01`\), \(-0.130000000000000004`\), "1.45`", \(-0.130000000000000004`\), \(-0.01`\), "0", "0"}, {"0", "0", "0", "0.02`", \(-0.130000000000000004`\), "0.02`", "0", "0", "0"}, {"0", "0", "0", "0", \(-0.01`\), "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]] }, Open ]], Cell["An internal horizontal edge rule:", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[ Round[S9to17\[LeftDoubleBracket]146\[RightDoubleBracket]*100.0] \/100.0, 9]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0.01`", "0.03`", "0.03`", "0.01`", "0", "0"}, {"0", "0", "0", \(-0.03`\), "0.45`", "0.45`", \(-0.03`\), "0", "0"}, {"0", "0", "0", "0.01`", "0.03`", "0.03`", "0.01`", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell["An internal face rule:", "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[ Round[S9to17\[LeftDoubleBracket]163\[RightDoubleBracket]\ 100.0] \/100.0, 9]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0.239999999999999991`", "0.239999999999999991`", "0", "0", "0"}, {"0", "0", "0", "0", "0.239999999999999991`", "0.239999999999999991`", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Apply the subdivision matrices to some control points", "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(ListPlot3D[ Partition[ S9to17 . S5to9 . {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1}, 17], PlotRange \[Rule] All]\)], "Input", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .81114 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% SurfaceGraphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations 5.55112e-17 1.04977 -0.0679587 1.04977 [ [.17646 .18758 -5.89944 -9 ] [.17646 .18758 .10056 0 ] [.37553 .10928 -11.017 -9 ] [.37553 .10928 .98297 0 ] [.59061 .02474 -10.2352 -9 ] [.59061 .02474 1.76481 0 ] [.78313 .12104 0 -6.13858 ] [.78313 .12104 6 2.86142 ] [.87363 .25962 0 -6.0066 ] [.87363 .25962 12 2.9934 ] [.95289 .38101 0 -5.8943 ] [.95289 .38101 12 3.1057 ] [.01947 .29419 -6 -2.76689 ] [.01947 .29419 0 6.23311 ] [.00897 .36004 -18 -2.82269 ] [.00897 .36004 0 6.17731 ] [-0.00199 .42874 -6 -2.88115 ] [-0.00199 .42874 0 6.11885 ] [ 0 0 0 0 ] [ 1 .81114 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 g .25 Mabswid [ ] 0 setdash .03716 .25514 m .68874 0 L s .18558 .19702 m .19014 .20174 L s [(5)] .17646 .18758 .96648 1 Mshowa .38395 .11935 m .38816 .12438 L s [(10)] .37553 .10928 .83617 1 Mshowa .59817 .03546 m .60196 .04082 L s [(15)] .59061 .02474 .70586 1 Mshowa .125 Mabswid .22407 .18195 m .22677 .18482 L s .26314 .16665 m .2658 .16956 L s .3028 .15112 m .30541 .15406 L s .34306 .13535 m .34564 .13834 L s .42547 .10309 m .42794 .10615 L s .46763 .08658 m .47006 .08968 L s .51046 .06981 m .51284 .07294 L s .55397 .05277 m .55629 .05595 L s .14766 .21187 m .15043 .21466 L s .11029 .2265 m .1131 .22926 L s .07346 .24092 m .0763 .24365 L s .64309 .01787 m .6453 .02113 L s .25 Mabswid .68874 0 m .96935 .42924 L s .7708 .12553 m .76464 .12778 L s [(5)] .78313 .12104 -1 .36413 Mshowa .86118 .26378 m .85496 .26587 L s [(10)] .87363 .25962 -1 .3348 Mshowa .94036 .3849 m .93409 .38684 L s [(15)] .95289 .38101 -1 .30985 Mshowa .125 Mabswid .78989 .15473 m .78618 .15605 L s .80845 .18312 m .80473 .18442 L s .8265 .21073 m .82278 .21202 L s .84407 .23761 m .84035 .23888 L s .87784 .28927 m .87411 .2905 L s .89408 .3141 m .89033 .31531 L s .9099 .3383 m .90615 .3395 L s .92532 .36189 m .92156 .36307 L s .75117 .0955 m .74748 .09687 L s .73096 .06459 m .72728 .06598 L s .71016 .03277 m .70649 .03419 L s .95503 .40734 m .95127 .40849 L s .25 Mabswid .03716 .25514 m 0 .48963 L s .03172 .28947 m .03784 .28711 L s [(0)] .01947 .29419 1 -0.38514 Mshowa .02126 .35545 m .02741 .35316 L s [(0.5)] .00897 .36004 1 -0.37274 Mshowa .01035 .42429 m .01653 .42207 L s [(1)] -0.00199 .42874 1 -0.35974 Mshowa .125 Mabswid .02966 .30245 m .03334 .30104 L s .02759 .31553 m .03127 .31413 L s .0255 .32873 m .02918 .32734 L s .02339 .34203 m .02708 .34065 L s .01912 .36899 m .02281 .36762 L s .01696 .38264 m .02065 .38128 L s .01477 .3964 m .01847 .39505 L s .01257 .41029 m .01627 .40895 L s .03376 .2766 m .03743 .27518 L s .03578 .26384 m .03945 .26241 L s .00811 .43842 m .01182 .4371 L s .00586 .45267 m .00957 .45136 L s .00358 .46705 m .00729 .46574 L s .00128 .48155 m .005 .48025 L s .25 Mabswid .03716 .25514 m 0 .48963 L s 0 .48963 m .39787 .81114 L s .39787 .81114 m .40529 .59895 L s .40529 .59895 m .03716 .25514 L s .68874 0 m .96935 .42924 L s .96935 .42924 m 1 .6535 L s 1 .6535 m .70298 .24544 L s .70298 .24544 m .68874 0 L s .03716 .25514 m 0 .48963 L s 0 .48963 m .70298 .24544 L s .70298 .24544 m .68874 0 L s .68874 0 m .03716 .25514 L s .40529 .59895 m .96935 .42924 L s .96935 .42924 m 1 .6535 L s 1 .6535 m .39787 .81114 L s .39787 .81114 m .40529 .59895 L s 0 0 m 1 0 L 1 .81114 L 0 .81114 L closepath clip newpath .5 Mabswid .661 .746 .913 r .38485 .6116 .40423 .62917 .43661 .61944 .41748 .60187 Metetra .659 .747 .915 r .41748 .60187 .43661 .61944 .4694 .60883 .4505 .59217 Metetra .65 .758 .928 r .4505 .59217 .4694 .60883 .50258 .59506 .48392 .58302 Metetra .565 .794 .985 r .48392 .58302 .50258 .59506 .53605 .5685 .51777 .57746 Metetra .602 .097 .023 r .51777 .57746 .53605 .5685 .57046 .60594 .55231 .59343 Metetra 0 .271 .698 r .55231 .59343 .57046 .60594 .60599 .63228 .5879 .61357 Metetra 0 .378 .835 r .5879 .61357 .60599 .63228 .64275 .65953 .62459 .63433 Metetra .234 .48 .888 r .62459 .63433 .64275 .65953 .68139 .70104 .6623 .65186 Metetra .609 .552 .765 r .6623 .65186 .68139 .70104 .71775 .67249 .69994 .64646 Metetra .645 .688 .876 r .69994 .64646 .71775 .67249 .75514 .65786 .73794 .6369 Metetra .651 .739 .914 r .73794 .6369 .75514 .65786 .79319 .64642 .77643 .62648 Metetra .651 .752 .924 r .77643 .62648 .79319 .64642 .83179 .63566 .81543 .61576 Metetra .651 .756 .926 r .81543 .61576 .83179 .63566 .87093 .62493 .85496 .60484 Metetra .651 .757 .927 r .85496 .60484 .87093 .62493 .91061 .61411 .89503 .59376 Metetra .651 .757 .927 r .89503 .59376 .91061 .61411 .95083 .60315 .93565 .58252 Metetra .651 .757 .927 r .93565 .58252 .95083 .60315 .9916 .59204 .97684 .57112 Metetra .66 .744 .913 r .36504 .59355 .38485 .6116 .41748 .60187 .39791 .58373 Metetra .652 .744 .917 r .39791 .58373 .41748 .60187 .4505 .59217 .43117 .57444 Metetra .626 .743 .931 r .43117 .57444 .4505 .59217 .48392 .58302 .46483 .56695 Metetra .52 .729 .969 r .46483 .56695 .48392 .58302 .51777 .57746 .49892 .56509 Metetra .008 .492 .869 r .49892 .56509 .51777 .57746 .55231 .59343 .53365 .5769 Metetra 0 .408 .844 r .53365 .5769 .55231 .59343 .5879 .61357 .56937 .5944 Metetra .05 .435 .872 r .56937 .5944 .5879 .61357 .62459 .63433 .60616 .61244 Metetra .265 .54 .921 r .60616 .61244 .62459 .63433 .6623 .65186 .64387 .6254 Metetra .56 .65 .896 r .64387 .6254 .6623 .65186 .69994 .64646 .68194 .62395 Metetra .622 .715 .913 r .68194 .62395 .69994 .64646 .73794 .6369 .72038 .61618 Metetra .642 .743 .922 r .72038 .61618 .73794 .6369 .77643 .62648 .75926 .60619 Metetra .648 .753 .926 r .75926 .60619 .77643 .62648 .81543 .61576 .79865 .5954 Metetra .651 .756 .927 r .79865 .5954 .81543 .61576 .85496 .60484 .83857 .58425 Metetra .651 .757 .927 r .83857 .58425 .85496 .60484 .89503 .59376 .87904 .57288 Metetra .651 .757 .927 r .87904 .57288 .89503 .59376 .93565 .58252 .92008 .56135 Metetra .651 .757 .927 r .92008 .56135 .93565 .58252 .97684 .57112 .9617 .54967 Metetra .661 .741 .909 r .34479 .57472 .36504 .59355 .39791 .58373 .37792 .56453 Metetra .66 .739 .909 r .37792 .56453 .39791 .58373 .43117 .57444 .41145 .55435 Metetra .652 .731 .907 r .41145 .55435 .43117 .57444 .46483 .56695 .44539 .54473 Metetra .61 .698 .906 r .44539 .54473 .46483 .56695 .49892 .56509 .47973 .53877 Metetra .243 .478 .885 r .47973 .53877 .49892 .56509 .53365 .5769 .51454 .55463 Metetra .044 .399 .855 r .51454 .55463 .53365 .5769 .56937 .5944 .5504 .57478 Metetra 0 .374 .833 r .5504 .57478 .56937 .5944 .60616 .61244 .5874 .59559 Metetra 0 .431 .859 r .5874 .59559 .60616 .61244 .64387 .6254 .62549 .61307 Metetra .535 .804 .995 r .62549 .61307 .64387 .6254 .68194 .62395 .66378 .60719 Metetra .633 .787 .956 r .66378 .60719 .68194 .62395 .72038 .61618 .70249 .59705 Metetra .647 .768 .936 r .70249 .59705 .72038 .61618 .75926 .60619 .74171 .58605 Metetra .65 .761 .93 r .74171 .58605 .75926 .60619 .79865 .5954 .78146 .57474 Metetra .651 .759 .928 r .78146 .57474 .79865 .5954 .83857 .58425 .82177 .56318 Metetra .652 .758 .927 r .82177 .56318 .83857 .58425 .87904 .57288 .86265 .55146 Metetra .651 .757 .927 r .86265 .55146 .87904 .57288 .92008 .56135 .90411 .53963 Metetra .651 .757 .927 r .90411 .53963 .92008 .56135 .9617 .54967 .94616 .52765 Metetra .664 .741 .907 r .32408 .5554 .34479 .57472 .37792 .56453 .35747 .54473 Metetra .673 .741 .902 r .35747 .54473 .37792 .56453 .41145 .55435 .39131 .53312 Metetra .7 .737 .879 r .39131 .53312 .41145 .55435 .44539 .54473 .42565 .51827 Metetra .766 .714 .804 r .42565 .51827 .44539 .54473 .47973 .53877 .46059 .49038 Metetra .119 .251 .726 r .46059 .49038 .47973 .53877 .51454 .55463 .49504 .5281 Metetra 0 .3 .796 r .49504 .5281 .51454 .55463 .5504 .57478 .53096 .55465 Metetra 0 .22 .714 r .53096 .55465 .5504 .57478 .5874 .59559 .5682 .58225 Metetra .669 .14 0 r .5682 .58225 .5874 .59559 .62549 .61307 .60714 .62439 Metetra .548 .895 .664 r .60714 .62439 .62549 .61307 .66378 .60719 .64526 .59415 Metetra .692 .853 .96 r .64526 .59415 .66378 .60719 .70249 .59705 .68416 .57813 Metetra .661 .78 .937 r .68416 .57813 .70249 .59705 .74171 .58605 .7237 .56553 Metetra .653 .763 .93 r .7237 .56553 .74171 .58605 .78146 .57474 .76383 .55363 Metetra .654 .76 .928 r .76383 .55363 .78146 .57474 .82177 .56318 .80453 .54157 Metetra .653 .758 .927 r .80453 .54157 .82177 .56318 .86265 .55146 .84581 .52942 Metetra .651 .756 .927 r .84581 .52942 .86265 .55146 .90411 .53963 .8877 .51732 Metetra .65 .756 .927 r .8877 .51732 .90411 .53963 .94616 .52765 .93021 .50509 Metetra .662 .744 .911 r .30287 .53601 .32408 .5554 .35747 .54473 .3365 .5253 Metetra .661 .746 .913 r .3365 .5253 .35747 .54473 .39131 .53312 .37056 .51453 Metetra .652 .755 .925 r .37056 .51453 .39131 .53312 .42565 .51827 .40504 .50429 Metetra .576 .789 .98 r .40504 .50429 .42565 .51827 .46059 .49038 .43988 .49778 Metetra .572 .041 0 r .43988 .49778 .46059 .49038 .49504 .5281 .47495 .51353 Metetra 0 .281 .714 r .47495 .51353 .49504 .5281 .53096 .55465 .51105 .53395 Metetra 0 .36 .823 r .51105 .53395 .53096 .55465 .5682 .58225 .54834 .55533 Metetra .2 .466 .884 r .54834 .55533 .5682 .58225 .60714 .62439 .58681 .57315 Metetra .607 .554 .77 r .58681 .57315 .60714 .62439 .64526 .59415 .62576 .56626 Metetra .648 .695 .879 r .62576 .56626 .64526 .59415 .68416 .57813 .66518 .55509 Metetra .649 .739 .915 r .66518 .55509 .68416 .57813 .7237 .56553 .70517 .54361 Metetra .648 .753 .926 r .70517 .54361 .7237 .56553 .76383 .55363 .74573 .53197 Metetra .657 .762 .927 r .74573 .53197 .76383 .55363 .80453 .54157 .78682 .51928 Metetra .655 .758 .925 r .78682 .51928 .80453 .54157 .84581 .52942 .8285 .50657 Metetra .649 .753 .926 r .8285 .50657 .84581 .52942 .8877 .51732 .87085 .49435 Metetra .647 .754 .928 r .87085 .49435 .8877 .51732 .93021 .50509 .91385 .48212 Metetra .661 .744 .912 r .28115 .51618 .30287 .53601 .3365 .5253 .31504 .5053 Metetra .655 .744 .915 r .31504 .5053 .3365 .5253 .37056 .51453 .34934 .4948 Metetra .631 .742 .928 r .34934 .4948 .37056 .51453 .40504 .50429 .38403 .48603 Metetra .532 .727 .964 r .38403 .48603 .40504 .50429 .43988 .49778 .41903 .48305 Metetra .053 .511 .891 r .41903 .48305 .43988 .49778 .47495 .51353 .45438 .49442 Metetra 0 .4 .843 r .45438 .49442 .47495 .51353 .51105 .53395 .49063 .51244 Metetra .002 .398 .85 r .49063 .51244 .51105 .53395 .54834 .55533 .52805 .53204 Metetra .202 .511 .912 r .52805 .53204 .54834 .55533 .58681 .57315 .56664 .54634 Metetra .576 .676 .908 r .56664 .54634 .58681 .57315 .62576 .56626 .60592 .54193 Metetra .636 .725 .912 r .60592 .54193 .62576 .56626 .66518 .55509 .64573 .5316 Metetra .635 .735 .92 r .64573 .5316 .66518 .55509 .70517 .54361 .68615 .52111 Metetra .632 .747 .93 r .68615 .52111 .70517 .54361 .74573 .53197 .7272 .51059 Metetra .67 .775 .929 r .7272 .51059 .74573 .53197 .78682 .51928 .76863 .49624 Metetra .663 .76 .922 r .76863 .49624 .78682 .51928 .8285 .50657 .81067 .48242 Metetra .642 .744 .923 r .81067 .48242 .8285 .50657 .87085 .49435 .85353 .4706 Metetra .633 .747 .93 r .85353 .4706 .87085 .49435 .91385 .48212 .89714 .45937 Metetra .663 .743 .909 r .25893 .49566 .28115 .51618 .31504 .5053 .29309 .48432 Metetra .664 .741 .907 r .29309 .48432 .31504 .5053 .34934 .4948 .32771 .4727 Metetra .659 .732 .903 r .32771 .4727 .34934 .4948 .38403 .48603 .36276 .46137 Metetra .619 .698 .901 r .36276 .46137 .38403 .48603 .41903 .48305 .39813 .45362 Metetra .255 .479 .882 r .39813 .45362 .41903 .48305 .45438 .49442 .43344 .46854 Metetra .043 .383 .846 r .43344 .46854 .45438 .49442 .49063 .51244 .46972 .48939 Metetra 0 .298 .783 r .46972 .48939 .49063 .51244 .52805 .53204 .50724 .51405 Metetra 0 .272 .732 r .50724 .51405 .52805 .53204 .56664 .54634 .54612 .53798 Metetra .64 .9 .984 r .54612 .53798 .56664 .54634 .60592 .54193 .5857 .52284 Metetra .682 .797 .936 r .5857 .52284 .60592 .54193 .64573 .5316 .62578 .50751 Metetra .623 .731 .924 r .62578 .50751 .64573 .5316 .68615 .52111 .66662 .49786 Metetra .568 .719 .944 r .66662 .49786 .68615 .52111 .7272 .51059 .70836 .49232 Metetra .725 .83 .93 r .70836 .49232 .7272 .51059 .76863 .49624 .74989 .47183 Metetra .684 .76 .909 r .74989 .47183 .76863 .49624 .81067 .48242 .79218 .45544 Metetra .622 .715 .913 r .79218 .45544 .81067 .48242 .85353 .4706 .83565 .44542 Metetra .571 .711 .937 r .83565 .44542 .85353 .4706 .89714 .45937 .88034 .43956 Metetra .666 .745 .91 r .23615 .47485 .25893 .49566 .29309 .48432 .27061 .46296 Metetra .679 .746 .902 r .27061 .46296 .29309 .48432 .32771 .4727 .30559 .44965 Metetra .71 .741 .876 r .30559 .44965 .32771 .4727 .36276 .46137 .34122 .43243 Metetra .773 .715 .798 r .34122 .43243 .36276 .46137 .39813 .45362 .37784 .40123 Metetra .125 .251 .724 r .37784 .40123 .39813 .45362 .43344 .46854 .41221 .43672 Metetra .015 .313 .803 r .41221 .43672 .43344 .46854 .46972 .48939 .44836 .46274 Metetra 0 .127 .656 r .44836 .46274 .46972 .48939 .50724 .51405 .48581 .49717 Metetra .842 .382 0 r .48581 .49717 .50724 .51405 .54612 .53798 .52489 .5698 Metetra .677 .844 .428 r .52489 .5698 .54612 .53798 .5857 .52284 .5649 .5032 Metetra .771 .816 .888 r .5649 .5032 .5857 .52284 .62578 .50751 .60517 .47691 Metetra .599 .671 .89 r .60517 .47691 .62578 .50751 .66662 .49786 .6464 .46973 Metetra .19 .469 .888 r .6464 .46973 .66662 .49786 .70836 .49232 .68969 .4885 Metetra .892 .969 .828 r .68969 .4885 .70836 .49232 .74989 .47183 .73037 .44244 Metetra .714 .735 .868 r .73037 .44244 .74989 .47183 .79218 .45544 .77272 .42118 Metetra .585 .647 .878 r .77272 .42118 .79218 .45544 .83565 .44542 .8169 .41524 Metetra .246 .485 .889 r .8169 .41524 .83565 .44542 .88034 .43956 .8646 .43441 Metetra .664 .752 .916 r .21274 .4543 .23615 .47485 .27061 .46296 .24746 .44233 Metetra .668 .755 .916 r .24746 .44233 .27061 .46296 .30559 .44965 .28267 .4298 Metetra .671 .766 .922 r .28267 .4298 .30559 .44965 .34122 .43243 .31836 .41685 Metetra .637 .806 .964 r .31836 .41685 .34122 .43243 .37784 .40123 .3544 .40588 Metetra .401 0 0 r .3544 .40588 .37784 .40123 .41221 .43672 .39013 .41503 Metetra .135 .501 .908 r .39013 .41503 .41221 .43672 .44836 .46274 .42672 .42825 Metetra .268 .46 .864 r .42672 .42825 .44836 .46274 .48581 .49717 .46439 .44468 Metetra .389 .433 .785 r .46439 .44468 .48581 .49717 .52489 .5698 .50328 .46165 Metetra .611 .467 .661 r .50328 .46165 .52489 .5698 .5649 .5032 .54327 .44333 Metetra .643 .56 .746 r .54327 .44333 .5649 .5032 .60517 .47691 .58374 .42643 Metetra .621 .578 .785 r .58374 .42643 .60517 .47691 .6464 .46973 .6249 .41534 Metetra .592 .55 .777 r .6249 .41534 .6464 .46973 .68969 .4885 .66692 .40846 Metetra .637 .518 .702 r .66692 .40846 .68969 .4885 .73037 .44244 .70895 .38765 Metetra .646 .582 .768 r .70895 .38765 .73037 .44244 .77272 .42118 .75173 .37077 Metetra .618 .583 .792 r .75173 .37077 .77272 .42118 .8169 .41524 .79557 .35959 Metetra .591 .552 .779 r .79557 .35959 .8169 .41524 .8646 .43441 .84058 .35235 Metetra .661 .755 .92 r .18871 .43359 .21274 .4543 .24746 .44233 .22368 .42157 Metetra .657 .756 .923 r .22368 .42157 .24746 .44233 .28267 .4298 .25911 .4097 Metetra .645 .763 .934 r .25911 .4097 .28267 .4298 .31836 .41685 .29497 .39862 Metetra .599 .772 .963 r .29497 .39862 .31836 .41685 .3544 .40588 .33118 .39034 Metetra .431 .739 .992 r .33118 .39034 .3544 .40588 .39013 .41503 .36764 .38899 Metetra .467 .645 .935 r .36764 .38899 .39013 .41503 .42672 .42825 .40478 .39035 Metetra .511 .576 .857 r .40478 .39035 .42672 .42825 .46439 .44468 .44279 .39175 Metetra .553 .528 .782 r .44279 .39175 .46439 .44468 .50328 .46165 .48173 .39037 Metetra .593 .503 .722 r .48173 .39037 .50328 .46165 .54327 .44333 .52154 .38156 Metetra .615 .54 .746 r .52154 .38156 .54327 .44333 .58374 .42643 .56201 .36947 Metetra .625 .56 .761 r .56201 .36947 .58374 .42643 .6249 .41534 .6031 .35616 Metetra .625 .555 .756 r .6031 .35616 .6249 .41534 .66692 .40846 .6448 .34235 Metetra .62 .535 .737 r .6448 .34235 .66692 .40846 .70895 .38765 .68713 .32825 Metetra .627 .558 .758 r .68713 .32825 .70895 .38765 .75173 .37077 .73009 .31391 Metetra .63 .569 .767 r .73009 .31391 .75173 .37077 .79557 .35959 .77372 .29935 Metetra .627 .559 .758 r .77372 .29935 .79557 .35959 .84058 .35235 .81802 .28457 Metetra .66 .753 .919 r .16406 .41218 .18871 .43359 .22368 .42157 .19931 .39997 Metetra .654 .753 .922 r .19931 .39997 .22368 .42157 .25911 .4097 .23501 .38808 Metetra .643 .753 .928 r .23501 .38808 .25911 .4097 .29497 .39862 .27115 .37692 Metetra .622 .749 .937 r .27115 .37692 .29497 .39862 .33118 .39034 .30772 .36724 Metetra .595 .729 .938 r .30772 .36724 .33118 .39034 .36764 .38899 .34476 .35959 Metetra .602 .679 .895 r .34476 .35959 .36764 .38899 .40478 .39035 .38245 .3518 Metetra .626 .631 .835 r .38245 .3518 .40478 .39035 .44279 .39175 .42091 .34112 Metetra .64 .585 .777 r .42091 .34112 .44279 .39175 .48173 .39037 .46008 .32644 Metetra .565 .504 .746 r .46008 .32644 .48173 .39037 .52154 .38156 .4997 .32261 Metetra .6 .54 .759 r .4997 .32261 .52154 .38156 .56201 .36947 .54013 .31312 Metetra .639 .571 .762 r .54013 .31312 .56201 .36947 .6031 .35616 .58117 .29692 Metetra .658 .574 .749 r .58117 .29692 .6031 .35616 .6448 .34235 .62264 .27618 Metetra .585 .515 .743 r .62264 .27618 .6448 .34235 .68713 .32825 .66516 .26847 Metetra .611 .549 .761 r .66516 .26847 .68713 .32825 .73009 .31391 .70828 .25656 Metetra .644 .577 .764 r .70828 .25656 .73009 .31391 .77372 .29935 .75172 .2387 Metetra .66 .577 .751 r .75172 .2387 .77372 .29935 .81802 .28457 .7954 .21661 Metetra .66 .75 .917 r .13882 .38985 .16406 .41218 .19931 .39997 .17435 .37731 Metetra .655 .749 .918 r .17435 .37731 .19931 .39997 .23501 .38808 .21035 .36498 Metetra .65 .746 .92 r .21035 .36498 .23501 .38808 .27115 .37692 .24682 .35298 Metetra .644 .74 .919 r .24682 .35298 .27115 .37692 .30772 .36724 .2838 .34133 Metetra .644 .725 .908 r .2838 .34133 .30772 .36724 .34476 .35959 .32135 .32951 Metetra .663 .702 .876 r .32135 .32951 .34476 .35959 .38245 .3518 .35959 .3153 Metetra .704 .678 .822 r .35959 .3153 .38245 .3518 .42091 .34112 .39866 .29376 Metetra .767 .657 .741 r .39866 .29376 .42091 .34112 .46008 .32644 .43868 .25162 Metetra .422 .388 .716 r .43868 .25162 .46008 .32644 .4997 .32261 .47765 .2688 Metetra .577 .546 .783 r .47765 .2688 .4997 .32261 .54013 .31312 .51807 .26275 Metetra .673 .611 .777 r .51807 .26275 .54013 .31312 .58117 .29692 .55916 .24157 Metetra .758 .637 .727 r .55916 .24157 .58117 .29692 .62264 .27618 .6001 .19698 Metetra .449 .402 .713 r .6001 .19698 .62264 .27618 .66516 .26847 .64319 .21225 Metetra .586 .548 .779 r .64319 .21225 .66516 .26847 .70828 .25656 .68657 .20436 Metetra .676 .613 .778 r .68657 .20436 .70828 .25656 .75172 .2387 .72983 .18155 Metetra .762 .641 .727 r .72983 .18155 .75172 .2387 .7954 .21661 .77162 .13531 Metetra .66 .747 .914 r .11295 .36659 .13882 .38985 .17435 .37731 .14878 .35366 Metetra .658 .746 .915 r .14878 .35366 .17435 .37731 .21035 .36498 .18509 .34077 Metetra .656 .743 .914 r .18509 .34077 .21035 .36498 .24682 .35298 .22191 .32786 Metetra .656 .738 .911 r .22191 .32786 .24682 .35298 .2838 .34133 .25927 .31477 Metetra .661 .731 .901 r .25927 .31477 .2838 .34133 .32135 .32951 .29723 .30094 Metetra .675 .722 .885 r .29723 .30094 .32135 .32951 .35959 .3153 .33585 .28523 Metetra .698 .721 .868 r .33585 .28523 .35959 .3153 .39866 .29376 .37513 .2663 Metetra .72 .75 .876 r .37513 .2663 .39866 .29376 .43868 .25162 .41495 .24492 Metetra .397 .823 .964 r .41495 .24492 .43868 .25162 .47765 .2688 .45486 .23781 Metetra .624 .696 .897 r .45486 .23781 .47765 .2688 .51807 .26275 .4956 .22663 Metetra .674 .684 .852 r .4956 .22663 .51807 .26275 .55916 .24157 .53703 .20898 Metetra .71 .724 .861 r .53703 .20898 .55916 .24157 .6001 .19698 .57895 .18699 Metetra .456 .834 .989 r .57895 .18699 .6001 .19698 .64319 .21225 .62177 .17871 Metetra .629 .691 .889 r .62177 .17871 .64319 .21225 .68657 .20436 .66528 .16615 Metetra .676 .684 .85 r .66528 .16615 .68657 .20436 .72983 .18155 .70918 .1471 Metetra .712 .727 .862 r .70918 .1471 .72983 .18155 .77162 .13531 .75336 .12373 Metetra .661 .745 .913 r .08644 .3425 .11295 .36659 .14878 .35366 .12255 .32917 Metetra .66 .744 .913 r .12255 .32917 .14878 .35366 .18509 .34077 .15918 .31572 Metetra .66 .743 .911 r .15918 .31572 .18509 .34077 .22191 .32786 .19634 .30208 Metetra .662 .74 .908 r .19634 .30208 .22191 .32786 .25927 .31477 .23406 .28806 Metetra .666 .737 .903 r .23406 .28806 .25927 .31477 .29723 .30094 .27238 .27332 Metetra .675 .735 .896 r .27238 .27332 .29723 .30094 .33585 .28523 .31131 .25745 Metetra .684 .74 .893 r .31131 .25745 .33585 .28523 .37513 .2663 .35085 .24036 Metetra .684 .758 .908 r .35085 .24036 .37513 .2663 .41495 .24492 .3909 .22331 Metetra .641 .787 .952 r .3909 .22331 .41495 .24492 .45486 .23781 .43137 .20997 Metetra .649 .738 .914 r .43137 .20997 .45486 .23781 .4956 .22663 .47252 .19595 Metetra .667 .725 .893 r .47252 .19595 .4956 .22663 .53703 .20898 .51433 .1797 Metetra .675 .742 .901 r .51433 .1797 .53703 .20898 .57895 .18699 .55677 .1625 Metetra .641 .775 .945 r .55677 .1625 .57895 .18699 .62177 .17871 .59991 .1484 Metetra .65 .732 .909 r .59991 .1484 .62177 .17871 .66528 .16615 .64376 .13331 Metetra .668 .723 .89 r .64376 .13331 .66528 .16615 .70918 .1471 .68822 .11585 Metetra .676 .742 .9 r .68822 .11585 .70918 .1471 .75336 .12373 .7333 .09738 Metetra .661 .744 .912 r .05923 .31767 .08644 .3425 .12255 .32917 .09564 .30394 Metetra .661 .744 .912 r .09564 .30394 .12255 .32917 .15918 .31572 .13257 .29001 Metetra .662 .743 .91 r .13257 .29001 .15918 .31572 .19634 .30208 .17006 .2758 Metetra .664 .742 .908 r .17006 .2758 .19634 .30208 .23406 .28806 .20813 .26115 Metetra .668 .741 .905 r .20813 .26115 .23406 .28806 .27238 .27332 .24679 .2459 Metetra .673 .742 .902 r .24679 .2459 .27238 .27332 .31131 .25745 .28605 .22992 Metetra .676 .745 .903 r .28605 .22992 .31131 .25745 .35085 .24036 .32589 .2134 Metetra .673 .752 .91 r .32589 .2134 .35085 .24036 .3909 .22331 .36628 .19706 Metetra .66 .758 .922 r .36628 .19706 .3909 .22331 .43137 .20997 .40721 .18181 Metetra .658 .745 .914 r .40721 .18181 .43137 .20997 .47252 .19595 .44877 .16646 Metetra .663 .739 .907 r .44877 .16646 .47252 .19595 .51433 .1797 .49099 .15032 Metetra .664 .744 .91 r .49099 .15032 .51433 .1797 .55677 .1625 .53388 .13384 Metetra .656 .751 .92 r .53388 .13384 .55677 .1625 .59991 .1484 .57744 .11799 Metetra .657 .741 .911 r .57744 .11799 .59991 .1484 .64376 .13331 .62172 .10171 Metetra .663 .737 .905 r .62172 .10171 .64376 .13331 .68822 .11585 .66669 .08445 Metetra .665 .744 .909 r .66669 .08445 .68822 .11585 .7333 .09738 .71237 .06673 Metetra .661 .744 .912 r .0313 .29214 .05923 .31767 .09564 .30394 .06799 .27803 Metetra .662 .744 .911 r .06799 .27803 .09564 .30394 .13257 .29001 .10523 .26368 Metetra .663 .744 .911 r .10523 .26368 .13257 .29001 .17006 .2758 .14304 .24902 Metetra .665 .744 .909 r .14304 .24902 .17006 .2758 .20813 .26115 .18144 .23391 Metetra .668 .745 .908 r .18144 .23391 .20813 .26115 .24679 .2459 .22044 .21823 Metetra .672 .746 .906 r .22044 .21823 .24679 .2459 .28605 .22992 .26005 .20194 Metetra .674 .747 .906 r .26005 .20194 .28605 .22992 .32589 .2134 .30025 .18525 Metetra .67 .748 .909 r .30025 .18525 .32589 .2134 .36628 .19706 .34102 .16869 Metetra .663 .747 .913 r .34102 .16869 .36628 .19706 .40721 .18181 .38235 .1527 Metetra .66 .744 .912 r .38235 .1527 .40721 .18181 .44877 .16646 .42432 .13667 Metetra .662 .743 .91 r .42432 .13667 .44877 .16646 .49099 .15032 .46697 .12018 Metetra .662 .744 .911 r .46697 .12018 .49099 .15032 .53388 .13384 .51029 .10343 Metetra .658 .744 .913 r .51029 .10343 .53388 .13384 .57744 .11799 .55431 .08684 Metetra .659 .742 .912 r .55431 .08684 .57744 .11799 .62172 .10171 .59906 .0699 Metetra .662 .743 .91 r .59906 .0699 .62172 .10171 .66669 .08445 .64452 .05227 Metetra .663 .744 .91 r .64452 .05227 .66669 .08445 .71237 .06673 .69073 .03427 Metetra 0 g .25 Mabswid .68874 0 m .96935 .42924 L s .96935 .42924 m 1 .6535 L s 1 .6535 m .70298 .24544 L s .70298 .24544 m .68874 0 L s .03716 .25514 m 0 .48963 L s 0 .48963 m .70298 .24544 L s .70298 .24544 m .68874 0 L s .68874 0 m .03716 .25514 L s .03716 .25514 m .68874 0 L s .18558 .19702 m .19014 .20174 L s [(5)] .17646 .18758 .96648 1 Mshowa .38395 .11935 m .38816 .12438 L s [(10)] .37553 .10928 .83617 1 Mshowa .59817 .03546 m .60196 .04082 L s [(15)] .59061 .02474 .70586 1 Mshowa .125 Mabswid .22407 .18195 m .22677 .18482 L s .26314 .16665 m .2658 .16956 L s .3028 .15112 m .30541 .15406 L s .34306 .13535 m .34564 .13834 L s .42547 .10309 m .42794 .10615 L s .46763 .08658 m .47006 .08968 L s .51046 .06981 m .51284 .07294 L s .55397 .05277 m .55629 .05595 L s .14766 .21187 m .15043 .21466 L s .11029 .2265 m .1131 .22926 L s .07346 .24092 m .0763 .24365 L s .64309 .01787 m .6453 .02113 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, AspectRatioFixed->True, ImageSize->{283.375, 229.812}, ImageMargins->{{34, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg>75aaXhhSSR>SZZZZTaaW/71`H20P492@/K6aZFOP=[GbU]GA^SX j71`L2LW9dU?/?ngncTi/?n[L7J>/>KoiZZRPR@VSS@XEKjn_[V>SW:LW5J0Zn;@d6I>C]GEeF21RKK5 bC52A^c/k61PH9VIVMCDe5ADE96ATBl_;jBTY>3Ph<300?oo]7mo03lo0?ooYYVI08:2P_ooOooJ?hB4 Q<;2`/S8b4A4A[Zj[0007emOGQh NFQXJJJZmEQHFDQ8B@T92e9FeiRLjSHjc499d;JjnHJ:jjRXZIRH VF9VfhR8RKVi^I:BTQLG5jb/[8j>S/k>cT];Bn7QhBDU9FYZJX]ZJP1K01`<000D7U@NE00051`0300L704X7002X1`805@L20007YiFWUJNEY`0200D700<01`L0 B@L00:D70`0E1`8000bE1iD7U@NE1iD0U@041`0300L704T7002R1`<05@L3000>YiFWUJNEYiFWUJL0 Y`051`0300L704P7002P1`800PL00`071`0A1`800187U@2E1iD7U@NE1iD7U@2E1`051`0300L704L7 002M1`<05@L3000EUJNEY`2WUJNEYiFWUJNEY`2WUJL000@700<01`L0A`L009/70P0F1`8001RE1iD7 U@NE1`07U@NE1iD7U@NE09D7U@051`0300L704H7002H1`<05PL2000IYiFWUJNEYiFWUJL0YiFWUJNE YiFW0:NEY`0200<700<01`00A`L009H70P0F1`<001VE1iD7U@NE1iD7U@NE09D7U@NE1iD7U@2E0080 00<7U@0010L00`071`151`00T`L3008700<01`L040L3000JUJL0YiFWUJNEYiFWUJNEYiD0UJNEYiFW UJL20006UJNEYiD010L00`071`141`00T0L301D70`006YD7U@NE09D7U@NE1iD7U@NE1iD7U@2E1iD7 10001iD7U@NE1`001@L00`071`131`00SPL201D70`006iFWUJNEYiFWU@2EYiFWUJNEYiFWUJNEY`2W U@02000EY`2WUJNEY`2WUJNEYiFWUJL000@7 00<01`L0@@L006/700D01`L700021`0300L701470`0D1`<001X7U@NE09D7U@NE1iD7U@NE1iD700NE 1iD7U@<001JE1iD7U@2E1iD7U@L01iD7U@NE1iD010L00`071`111`00J`L01@071`L0008700<01`L0 3`L201D70P006ZNEYiFWUJNE09FWUJNEYiFWUJNEYiFW0:NE0`0069FWUJNEYiFWU@2EYiFWU@2EYiFW UJNEY`800`L20487001[1`0500L71`000PL00`071`0<1`<05@L2000IU@NE1iD7U@NE1iD0U@NE1iD7 U@NE1iD7U@03000IU@NE1iD7U@NE1iD7U@2E1iD700NE1iD7U@0200031iD000@700<01`L0?`L006/7 00D01`L700021`0300L700X70`0D1`<001VWUJNEYiFWUJNEYiFW0:NEYiFWUJNEYiFW008001ZEY`2W UJNEYiFWUJNEYiFWU@2EYiD0UJNEY`8000FE1iD700041`0300L703l7001Y1`<00`L010071`091`<0 50L3000J1iD0U@NE1iD7U@NE1iD7U@L01iD7U@NE1iD2000I1iD7U@2E1iD7U@NE1iD7U@NE1`07U@L0 1`0300081iD7U@NE1`041`0300L703h7001[1`0300L700870P071`<05@L2000JYiFWUJNE09FWUJNE YiFWUJNEYiFW0:NEYiD3000IUJNEYiFWU@2EYiFWUJNEYiFWUJNEY`2WU@02000<1iD7U@NE1iD7U@L0 10L00`071`031`<0=`L007L70P0E1`<001ZE1iD7U@NE1iD0U@NE1iD7U@NE1iD7U@2E1`8001VE1iD7 U@NE1iD7U@2E1iD7U@NE1iD7U@NE00@000h7U@NE1iD7U@NE1iD700<700<01`L01PL00`071`0d1`00 M0L301@70`006YFWUJNEYiFWUJNEY`2WUJNEYiFWUJNEYiFW0`006JNEYiFWUJNEYiFWUJL0YiFWUJNE YiFWUJL00P004YD7002E1iD7U@NE1iD7U@NE00@700<01`L01@L00`071`0d1`00LPL200<700<01`L0 3`L2000JU@L01iD7U@NE1iD7U@NE1`07U@NE1iD7U@L3000J1iD0U@NE1iD7U@NE1iD7U@L01iD7U@NE 1iD200041iD7U@8000l7U@NE1iD7U@NE1iD7U@0010L010071`L303L7001_1`<050L3000JYiFWU@2E YiFWUJNEYiFWUJNEY`2WUJNEYiD2000JYiFWUJL0YiFWUJNEYiFWUJNEYiFW0:NEYiD3000DU@NE1iD7 U@2E1iD7U@NE1iD7U@L20003U00000<00`L00`071`0g1`00K@L201D70P006PNE1iD7U@NE09D7U@NE 1iD7U@NE1iD700NE0`006YD7U@NE1iD700NE1iD7U@NE1iD7U@NE09D70P005ID7U@NE1iD7U@L01iD7 U@NE1iD7U@0200051iD7U@L00P001@L01`L003T7001Z1`<05@L2000IUJNEYiFWUJNEYiD0UJNEYiFW UJNEYiFWU@03000JUJNEYiFWUJNEYiFW0:NEYiFWUJNEYiFWUJL3000<1iD7U@NE1iD7U@NE0P001`NE 1iD7U@L00P002I@7U0ND1i@7U0020087100f1`00J0L200031`0701870`0060NE1iD7U@NE1iD7U@NE 09D7U@NE1iD7U@<001ZE1`07U@NE1iD7U@NE1iD700NE1iD7U@NE1`<001H7U@2E1iD7U@NE1iD7U@L0 1`07U@NE0P002PNE1iD7U@NE1iD200031`0703X7001U1`<050L3000HYiD0UJNEYiFWUJNEYiFWUJL0 YiFWUJNE0`006YFWUJNEY`2WUJNEYiFWUJNEYiD0UJNEYiFW0`005jNEYiFW00NE1iD7U@NE1iD7U@2E 09D70080016D1i@7U0ND1i@7U02DZ`07000j1`00HPL301D70P0060NE1iD7U@2E1iD7U@NE1iD7U@NE 1`07U@<001ZE1iD7U@NE1iD700NE1iD7U@NE1iD7U@2E1`<001L7U@NE1iD7U@L01iD7U@NE1iD7U@L0 1`03000C1iD7U@NE1iD7U@NE09@7U007000j1`00H0L201D70`005iFWUJNEYiFWU@2EYiFWUJNEYiFW UJNE00<001ZEYiFWUJNEYiFWUJNE09FWUJNEYiFWUJNEY`<001RWUJNEYiFWUJNEYiFW00NE1iD7U@NE 1iD2000D1i@0U0ND1i@7U0ND1i@70:^DZ`021`0300L703L7001M1`<000<700L04@L3000HU@NE1iD7 U@NE1iD700NE1iD7U@NE1iD70P006ID700NE1iD7U@NE1iD7U@NE09D7U@NE1iD010006@NE09D7U@NE 1iD7U@NE1iD700NE1iD7U@L00`005@NE1`07U@NE1iD7U@NE1`07U0ND00031`0300L703H7001K1`80 50L3000IUJL0YiFWUJNEYiFWUJNEY`2WUJNEYiFWU@02000GYiFWU@2EYiFWUJNEYiFWUJNEYiD0UJL0 10006iFWUJNEY`2WUJNEYiFWUJNEYiFWU@2E1iD7U@02000J1i@700ND1`07U0ND1i@7U0L0ZiB[U:^D 00L203P7001H1`<050L2000JU@NE1iD700NE1iD7U@NE1iD7U@L01iD7U@L2000FU@NE1iD7U@2E1iD7 U@NE1iD7U@NE1`<001d7U@NE1iD7U@NE1`07U@NE1iD7U@NE1iD7U@2E1`02000KU@NE1iD0U@NE09D7 U@NE1iD700ND1i@7U0L000<700<01`L0=@L005H70P0D1`<001ZWUJNEYiFWUJL0YiFWUJNEYiFWUJNE Y`2WU@8001JWUJNEYiFWUJNE09FWUJNEYiFWUJNE0P007@NE09FWUJNEYiFWUJNEY`2WUJNEYiFWUJNE YiFW00<001d7U0ND1i@700ND1i@0U0ND1i@70:^DZiB[U:^D00041`0300L703@7000i1`<05`L40187 0`006PNE1iD7U@NE1iD7U@2E1iD7U@NE1iD7U@NE0`005YD7U@NE1iD7U@NE1iD0U@NE1iD7U@L2000L U@NE1iD0U@NE1iD7U@NE1iD700NE1iD7U@NE1`<0020700NE1iD7U@NE09D7U@NE09D7U@L01i@7U0ND 1i@700@700<01`L0=0L003`700<01`L04PL201@70P006PNE09FWUJNEYiFWUJNEYiD0UJNEYiFWUJNE 0`005YFW0:NEYiFWUJNEYiFWUJL0YiFWUJL3000K1iD7U@NE1iD0UJNEYiFWUJNEYiD0UJNEYiFW00<0 02BWUJNEY`07U0ND1i@700ND1i@700ND1i@0U:^DZiB[U:^DZ`041`0300L703<7000l1`0300L700l7 0`0D1`8001ZE1iD7U@2E1iD7U@NE1iD7U@NE09D7U@NE1`8001NE1iD7U@L01iD7U@NE1iD7U@NE1`07 U@02000K1iD7U@NE1iD7U@L01iD7U@NE1iD7U@NE09D700<002L7U@NE1iD7U@2E1iD7U@NE09D7U@NE 1`07U@2D1i@7U0ND1i@7U0001@L00`071`0b1`00>@L300l70`0E1`8001T7U@NE1iD7U@2EYiFWUJNE YiFWUJNE09FW00<001JWUJNEYiFWUJL0YiFWUJNEYiFWUJNE0`006ID7U@NE1iD7U@NE1iD70:NEYiFW UJNEYiD01000:ZNEYiFWUJNEYiFWU@2D1i@7U0L01i@7U0ND09@0U:^DZiB[U:^DZiB[00D700<01`L0 W02`0U@NE1iD7U@NE1iD700NE 1iD7U@2E1iD7U@NE09@7U0ND1i@7U0ND1i@700@70P0c1`00>@L00`071`0:1`<05@L3000G1iD7U@NE 1iD7U@NE1`2WUJNEYiFWUJL00`005jNE09FWUJNEYiFWUJNEYiD0UJNEYiFW008001JE1iD7U@2E1iD7 U@NE1iD7U@NE1iD70`008jNEYiFWUJNEY`2WUJNEYiFWUJNEYiFW00ND1i@700ND1i@700<000n[U:^D ZiB[U:^DZiB[U0001PL00`071`0`1`00>@L400L70P0E1`<001P7U@2E1iD7U@NE1iD7U@NE1`07U@NE 1iD2000G1iD7U@NE09D7U@NE1iD7U@NE1iD0U@L00`005PNE1iD7U@NE09D7U@NE1iD7U@NE1iD20003 1`0000ZW01L01iD7U@NE1iD7U@NE09D7U@NE09D7U@02000B1iD700ND1i@7U0ND1i@7U0L01PL00`07 1`0`1`00@@L301D70P0060NE1iD7U@2E1iD7U@NE1iD7U@NE1`2WU@<001JEYiFWUJNEYiD0UJNEYiFW UJNEYiFW0`005`NE1iD7U@NE1iD7U@2E1iD7U@NE1iD7008000FD1i@7U002000MYiFWUJNEYiFW0:NE YiFWUJNEYiFWU@2D1i@700L00P0059B[U:^D09B[U:^DZiB[U:^DZi@01`L00`071`0_1`00?`L301@7 0`005iD7U@NE1iD7U@2E1iD7U@NE1iD7U@NE00<001JE1iD7U@NE1iD7U@L01iD7U@NE1iD70`0060NE 09D7U@NE1iD7U@NE1iD0U@NE1iD7U@8000T7U@NE1iD7U@L00P07Y`0B09D7U@NE1iD7U@NE1`07U@NE 0P005`NE1iD7U@NE09@7U0ND1i@7U0ND1i@000L700<01`L0;PL003`70`031`0300L700h70`005iD7 U@NE1iD7U@NE1iD0U@NE1iD7U@NE00<001NE1`2WUJNEYiFWUJNEYiFW0:NEYiFWU@02000IYiFWUJL0 1iD7U@NE1iD7U@NE1`07U@NE1`02000:U0ND1i@7U0ND1`8001RB0000UJNEYiD0UJNEYiFWUJNEYiFW 00L3000HZiB[U:^DZiB[0:^DZiB[U:^DZiB[U:/01`L00`071`0^1`00>@L301D70P0069D700NE1iD7 U@NE1iD7U@NE09D7U@NE1`8001NE1iD7U@L01iD7U@NE1iD7U@NE1`07U@03000IU@NE1iD7U@L01iD7 U@NE1iD7U@NE1`07U@02000B1iD7U@NE1iD7U@L01i@0U9FD0`03Y`0:09D7U@NE1iD7U@@001/7U@2E 1iD7U@NE1iD0U0ND1i@7U0ND1i@7U00020L00`071`0]1`00=`L201D70`005`NE1iD700NE1iD7U@NE 1iD7U@NE09D700<001H7U@NE1iD7U@L0YiFWUJNEYiFWUJNE0`006IFWUJNEYiFWUJNEY`07U@NE1iD7 U@NE1iD00`005i@7U0ND1i@7U0ND1`2[U:/0UI:ETYFB00@000>WUJL01P007iBE0:^DZ`2[U:^DZiB[ U:^D09B[U:^DZiB[U:^DZ`002@L00`071`0/1`00=0L401@70P005`NE1iD7U@NE1`07U@NE1iD7U@NE 1iD700<001H7U@NE1iD7U@NE1iD0U@NE1iD7U@NE0`006ZL700NE1iD7U@NE1iD7U@2E1iD7U@NE1iD7 0P007ID700NE1iD7U@NE1iD700ND1i@0U9FDUIBEU9FD00@002J[UJ^EZiF[UJ/01iD0U@NE1iD7U@NE 1`07U0ND1i@7U0ND1i@700L70P0^1`00BUI8010009YFDUIBEU9FDUI@0U02DUIBEU9FDUIBEU02DUIBEU9FDUIBEU9D0 3@L00`071`0300<700@01`L060L001P700<01`L00`L00`071`021`8001VE1iD7U@NE1iD0U@NE1iD7 U@NE1iD700NE00<001JE1iD7U@NE1iD0U@NE1iD7U@NE1iD70`005@NE1iD7U@NE1iD7U@2E1iD7U@NE 1`020014U@NE1`07U@NE1iD7U@2D1i@7U0ND09BEU9FDUIBE0:^EZiF[UJ^EZiD0U0ND1i@7U0ND1i@7 00ND1i@7U0ND1i@7U0L:000ZU:/0ZiB[U:^DZiB[U:^D09@0U0ND1i@7U0ND1`07U0ND1i@7U0ND1i@0 3PL01@071`L000@70P0I1`0060L200D710006:NEYiFWUJNEYiFWU@2EYiFWUJNEYiFWU@<001NEYiFW UJNEYiFWUJNE09D7U@NE1iD7U@02000FYiD0U@NE1iD7U@NE1iD7U@2E1iD7U@8004@7U0ND1i@700ND 1i@7U02DZiB[U:^DZ`2ES9F1`0300L70247 000H1`0300L700<70P0060NE09D7U@NE1iD7U@NE1iD0U@NE1iD7U@<001NE1`07U@NE1iD7U@NE1iD7 U@2E1iD7U@03000FU@NE1iD0U@NE1iD7U@NE1iD7U@2E1`8004>E1iD7U@NE1iD0U@NE1iD0U0ND1i@7 U0ND09BEU9FDUIBEU02EZiF[UJ^EZiF[00ND1i@7U0ND1i@7U02D1i@7U0ND00@003H70:^DZiB[U:^D ZiB[U02DZiB[U:^DZiB[U02D1i@0U0ND1i@7U0ND09@7U0ND1i@7U0ND1`0>1`0300L70207000H1`03 00L700<001JEYiFWU@2EYiFWUJNEYiFWUJNE09FW100069FWUJNEY`2WUJNEYiFWUJNEYiFWU@2E1`80 01JEYiFWUJNEYiD0U@NE1iD7U@NE1iD70`00@PND1i@7U0ND1i@7U02D1i@0U:^DZiB[U:^DZi@0S9F< UHbES9D0UIBEU9FDUIBEU9D0ZiB[U:^DZiB[U:^D09B[U0D003JDUIBE09FDUIBEU9FDUIBE09FDUIBE U9FDUIBEU02DU@2EU9FDUIBEU9D0UIBEU9FDUIBEU9D200l700<01`L07`L001P70`002ID7U@NE1iD7 U@02000;1iD7U@NE1iD7U@L00`006@NE1iD7U@NE1iD700NE1iD7U@NE1iD7U@L00`005@NE1iD7U@NE 1iD700NE1iD7U@NE1`0300111iD0U@NE1iD7U@NE1iD7U@2E09@7U0ND1i@7U0ND1`2EU9FDUIBEU9D0 ZiF[UJ^EZiF[U@2D1i@7U0ND1i@7U0L01000>9@000ND1i@7U02DZiB[U:^DZiB[U:/0ZiB[U:^DZiB[ U:/01i@700ND1i@7U0ND1`07U0ND1i@70`000`L01`0>1`0300L701l7000G1`8000bWUJNEYiFWUJNE YiD20008YiFWUJNEYiD2000IYiD0UJNEYiFWUJNEYiFW0:NEYiFWUJNEY`03000FYiD0UJNEYiFWUJNE YiFW00NE1iD7U@800487U0ND1`07U0ND1i@7U0ND1i@7U02DZiB[U:^DZiB[U:^D08bES9FDZi@00P00=9D0UIBEU9FDUIBEU9FD09BEU9FD UIBEU9FD09BEU9FDUIBEU9FDU@2EU9FD09BEU9FDUI@3000;U9FDUIBEU9FDU@0040L00`071`0M1`00 3`L010071`041`0300L7008000`7U@NE1iD7U@NE1iD3000;U@NE1iD7U@NE1iD00P002PNE1iD7U@NE 1iD3000FU@NE1iD7U@NE1iD700NE1iD7U@NE1`80046E1`07U@NE1iD7U@NE1iD700NE1iD7U@2E1iD7 U@2D1i@7U0ND1i@7U0ND09BEU9FDUIBEU02EZiF[UJ^EZiF[U@0400031i@7008003>D1i@700ND1i@7 U0ND1i@70:^DZiB[U:^DZiB[U02DZiB[U:^DZiB[U:/01i@7U02D1i@00`003i@0U0ND1i@7U0ND1i@7 000@1`0300L701`7000?1`0400L700@700<01`L00PL02P2WUJNEYiFWUJL2000GUJL0YiFWUJNEYiFW UJNEY`2WUJNEYiD00`005YFW0:NEYiFWUJNEYiFWUJL0YiFWUJL3000GYiFWUJL01i@7U0ND1i@7U0ND 09@7U0L00P00:9@7U0ND1i@0U:^DZiB[U:^DZiB[09F`ND00070:^DZiB[U:^DZ`2[U:^DZiB[U:^DZ`07U0ND1i@7U0ND 1i@0U0ND1i@7U0ND1i@0U:^DZiB[00@002VD09@7U0ND1i@7U0ND1i@0U0ND1i@7U02D1i@700ND1i@7 U0ND1i@7000C1`0300L701L7000F1`0300L700`700<0UJL010005YFWUJNEY`2WUJNEYiFWUJNEYiD0 UJL4000GUJNEYiFW0:NEYiFWUJNEYiFWUJL0YiD010008:NEYiFW0:NDYiBWU:NDYiBWU02D1i@7U0ND 1i@7U02D0`00>I@0002DUI@0U9FDUIBEU9FD09BEU9FDUIBEU9FD09BEU9FDUIBEU9FDU@2EU9FDUIBE U9FDUI@0U004000^UIBEU9FD09BEU9FDUIBEU9FDU@2EU9FDUIBEU02DUI@0U9FDUIBEU9FDUIBE01<7 00<01`L05PL001D70P0?1`8000/7U@NE1iD7U@NE1`02000:U@NE1iD7U@NE1`<000/7U@NE1iD7U@NE 1`02000;U@NE1iD7U@NE1iD00`008ID7U@NE1iD7U@L01iD7U@NE1iD7U@L01iD7U@NE1iD7U@03000i U00009@7U0ND1`2[U:^DZiB[U:^D09B[U:^DZiB[U:^D09@7U0ND1i@7U0ND09@7U0ND1i@7U0ND00<0 03:DZiB[U:^DZiB[00ND1i@7U0ND1i@7U0L01i@7U0ND1`07U0L01i@7U0ND1i@7U0ND01870P0H1`00 5@L00`071`0?1`0E09FWUJNEYiFWUJNEYiD0UJNEYiFW00<001RWU@2EYiFWUJNEYiFWUJNE09FWUJNE YiD3000QUJL0YiFWUJNEYiFWUJL0YiBWU:NDYiBWU:L01i@7U0ND00<003VD0000U9FDUIBEU9FDU@2E U9FDUIBEU9D0UIBEU9FDUIBEU9D0UIBEU9FDUIBEU9FD09BEU9FDUI@00`00=I@0U9FDUIBEU9FDUI@0 U9FDUIBEU9FDUIBEU02DUIBEU9FDU@2EU9D0UIBEU9FDUIBEU9D001@700<01`L05@L001D700<01`L0 40L04@2E1iD7U@NE1iD7U@NE09D700<001L7U@NE1iD0U@NE1iD7U@NE1iD7U@2E1`04000PU@NE1iD7 00NE1iD7U@NE1iD700NE1iD7U@NE1iD0U@L4000jU@0009D0U0ND1i@7U0ND1i@0U:^DZiB[U:^DZ`2[ U:^DZiB[U:^DZ`07U0ND1i@7U0ND1`07U0ND1`8003VDZiB[U02DZiB[U:^DZiB[U02D1i@7U0ND1i@7 U0ND09@7U0ND1i@700ND09@7U0ND1i@7U0ND1`0050L00`071`0D1`005@L2018700d0UJNEYiFWUJNE YiFW00<000ZWUJNEYiFWUJNE0P002jNEYiFWUJNEYiFW00<0022WUJNEYiFWUJNEY`2WUJNEYiFWUJNE 09BWU:NDYiBWU0@000>EU0000P00=YBEU9D0UIBEU9FDUIBEU9D0UIBEU9FDUIBEU02DUIBEU9FDUIBE U02DUIBEU9FDUIBEU9D0U@<003REU9FDUIBE09FDUIBEU9FDUIBE09FDUIBEU9FDUIBEU9D0UIBEU9FD UI@0U9D0UIBEU9FDUIBEU0<050L00`071`0D1`005@L00`071`0B1`0:09D7U@NE1iD7U@8001L7U@2E 1iD7U@NE1iD7U@L01iD7U@NE1`03000N1iD0U@NE1iD7U@NE1iD0U@NE1iD7U@NE1iD0U@NE1@000iD7 U@03000fU@NE1iD7U@L01i@7U0ND1i@7U0L0ZiB[U:^DZiB[0:^DZiB[U:^DZiB[00ND1i@7U0ND1i@7 0`00=J^DZiB[U:^DZi@0U:^DZiB[U:^DZiB[00ND1i@7U0ND1i@7U02D1i@7U0ND1i@0U0L01i@700H0 00>EZ`005@L00`071`0C1`000PL200@700<01`L00PL300D700<01`L04`L01P2EYiFWU@<001FEYiFW U@2EYiFWUJNEYiFWUJL0YiD010007:NEYiFWU@2EYiFWUJNEYiFWU@2EYiFWUJNEYiD50005UJNEYiD0 1000=IFDUIBEU9FDUI@0U9FDUIBEU9FDUI@0U9FDUIBEU9FDU@2EU9FDUIBEU9FDU@2EU9FDUIBE00<0 03:E09FDUIBEU9FDUIBEU02DUIBEU9FDUIBEU02DUIBEU9FDUIBEU9FD09BEU9FDUIBEU0H000ZEU9FD UIBEU9D05@L00`071`0B1`0000D700L7000;1`0500L71`005`L00`2E1`02000EU@NE1iD7U@NE09D7 U@NE1iD7U@NE00<001^E1iD7U@NE1iD7U@2E1iD7U@NE1iD7U@2E1iD01@001iD7U@2E1iD00`00=iD7 U@L01iD7U@NE1iD7U@2D1i@7U0ND1i@7U02DZiB[U:^DZi@0U:^DZiB[U:^DZi@0U0ND1i@00P00DUIBE09D0UIBEU9FDUIBEU9D001H7 00<01`L04@L000051`071`0020L300@700<01`L05`L0502E1iD7U@NE1iD7U@NE09D7U@NE0P006@NE 1iD700NE1iD7U@NE1iD700NE1iD7U@L00`002`NE09D7U@NE1iD700<003H7U@NE1iD7U@NE09D7U@NE 1iD7U@2D1i@7U0ND1i@7U02DZiB[U:^DZiB[0:^DZiB[U:^DZi@3000`U0ND1i@7U0ND1`2[U:^DZiB[ U:^DZi@0U:^DZiB[U:^DZi@0U0ND1i@7U0ND1i@70`002@NE1iD7U@NE1`02000=UJ^EZiF[UJ^EZiF[ 000F1`0300L700<710021`<010L000051`071`0020L00`071`041`0300L701P70140UJNEYiFWUJNE YiFWU@2EY`02000GUJNEYiFWUJL0YiFWUJNEYiFWUJL0YiD010002jNEYiFWU@2EYiFW00<003FWUJL0 YiFWUJNEYiFWU@2DUIBEU9FDUI@0U9FDUIBEU9FDUI@0U9FDUIBEU9FD09BEU9FDU@04000aU02DUIBE U9FDUIBEU9D0UIBEU9FDUIBEU9D0UIBEU9FDUIBEU9D0UIBEU9FDUIBEU002000=U@2EU9FDUIBEU9FD U@02000E1iD00P005ZNEYiFWUJNE09FWUJNEYiFWU@2EYiD;00FE03T0U:^DZiB[U:^DZ`2[U:^D ZiB[U:^DZ`07U0ND1i@7U0ND1i@0U:^DZiB[U:^DZi@0U:^DZiB[U:/00P0079@0U0ND1i@7U0ND1i@7 U02E1iD7U@NE1iD7U@L2000;UJ^EZiF[UJ^EZ`005`L00`071`021`0400L71`@00`L001<700<01`L0 80L0402WUJNEYiFWUJNEYiD0UJL40006UJNEYiFW0P0019FWUJL30004YiFWU@@000VWUJNEYiFWUJL0 0P0028nWSjN?Yhl029D0B`2EU9FDUIBEU02DUIBEU9FDUIBEU02DUIBEU9FDUI@0U9FDUIBEU9FDUIBE 09FDUIBEU9FDUIBE09FDUIBEU9FDUIBE09FDUIBEU002000NUIBEU02DUIBEU9FDUIBEU9FD09BEU9FD UIBEU9FD0P002iFDUIBEU9FDUI@001P700<01`L030L001<700<01`L08@L2000:U@NE1iD7U@NE1`<0 00/7U@NE1iD7U@NE1`0500041iD7U@<000nE1`07U@NE1iD7U@NE1iD00P006JNEYiFWU@2EYiFWUJNE Y`2WUJNEYiFWU@002YD0=02[U:^DZiB[U:^D09B[U:^DZiB[U:^D09@7U0ND1i@7U0ND09B[U:^DZiB[ U:^D09B[U:/2000]U:^DZiB[00ND1i@7U0ND1i@7U0L01iD7U@NE1iD7U@L0Z`2[UJ^EZiF[UJ/001T7 00<01`L02`L001<700<01`L08`L01`2EYiFWUJL00`003ZNE09FWUJNEYiFWUJNE0`000iFW00030006 UJNEYiFW0P002iFWUJNEYiFWUJNE00<000F?YhnW0008U@1609BEU9FDUIBE09FDUIBEU9FDUI@0U9FD UIBEU9FDU@2EU9FDUIBEU9FDUI@0U9FDUIBEU9FDUI@0U9FDUIBEU9FDUI@0U08002nEU9FDUIBEU9D0 UIBEU9FDUIBEU9FD09BEU9FDUIBEU9FDU@2E09FDUIBEU9FD000I1`0300L700/7000B1`809PL00`2E 1`03000>1iD7U@NE09D7U@NE1iD30003U@L0008000/7U@NE1iD7U@NE1`020007U@NE1iD7U@030003 Y`NW00<001FEY`2WUJNEYiFWU@2EYiFWUJNEY`002ID0;P2[U:^DZiB[U:^DZ`2[U:^DZiB[U:^DZ`07 U0ND1i@7U0ND1`2[U:^DZiB[U:/4000bU:^DZiB[U:^DZi@0U0ND1i@7U0ND1i@7U02E1iD7U@NE1iD7 U@2E09F[UJ^EZiF[U@0H1`8030L0018700<01`L09PL2000:YiFWUJNEYiFWU@8000>WU@000P000iFW U@02000CYiD0UJNEYiFWUJNEYiFWU@2EY`040009UJNEYiFW00ND00@029D0>P2DUIBEU9FD09BEU9FD UIBEU9D0UIBEU9FDUIBEU02DUIBEU9FDUIBEU02DUIBEU9FDUIBEU9D0UI@6000fUI@0U9FDUIBEU9FD UIBEU02DUIBEU9FDUIBEU9D0UIBEU9FDUIBEU9FD09@0U9FDUIBEU9D06PL00`071`091`004PL00`07 1`0W1`0<09D7U@NE1iD7U@NE0`0019D7U@L2000BU@NE1iD0U@NE1iD7U@NE1iD70`003`NW1jL7Y`NW 1`07U@NE1`04000@UJNEYiFW0:NEYiFWUJNE00VE02<0U:^DZiB[U:^DZ`2[U:^DZiB[U:^DZi@0U0ND 1i@7U0ND1`04000[U:^DZiB[U:^D09B[U:^DZiB[U:^DZ`07U0ND1i@7U0ND1i@700NE1iD7U@07000: U@2EZiF[UJ^E01X700<01`L02@L0018700<01`L0:0L0202EYiFWUJNE0`001IFW0:NE008000RWUJNE YiFWU@8000RWUJNEYiFWU@8001D7U@00YiFWUJNEY`07U0ND1i@708l01@03U@0a09FDUIBEU9D0UIBE U9FDUIBE09FDUIBEU9FDUIBE09FDUIBEU9FDUIBE09FDUIBEU004000XU@2EU9FDUIBEU9FDU@2EU9FD UIBEU9FDUI@0U9FDUIBEU9FDUIBEU0L000JDUIBEU9D40008U9FDUIBEU00J1`0300L700P7000B1`<0 :@L0102E1iD30005U@NE1iD00`004YD7U@NE1iD7U@NE1`07U@NE1`8000^E1iD7U@L01jL7Y`02000> 1iD7U@NE1iD0S9D0UHl50008UJNEYiFWU@09U@0K09B[U:^DZiB[U:^D09B[U:^DZiB[U:^DZ`0700@0 02ZE1iD7U@L0ZiB[U:^DZiB[U02DZiB[U:^DZiB[U:^D09@7U0ND1i@7U0L3000?1iD7U@NE1iD7U@NE 08nE00<000J[UJ^EZ`0K1`0300L700L7000B1`0300L702X70`001IFWUJNE00<001>EY`2WUJNEYiFW UJNEYiFW0:NE008000T7U@NE1iD7U@L00P004ID0U0ND1i@7U0ND1`2?S8l000F?0`009iFDUIBEU02D UIBEU9FDUI@0U9FDUIBEU9FDU@2EU9FDUIBEU9FDU@03000/UIBEU9FDUIBEU02DUIBEU9FDUIBE09FD UIBEU9FDUIBEU9D0UIBEU9FDUI@2000E1i@709FDUIBEU9FDUIBEU02?U@2E00<000>EU0006`L00`07 1`071`002PL400@700<01`L09`L300041`2E1`@000JE1iD7U@L2000;U@NE1iD7U@NE1iD00`009ID7 U@NE1iD7U@NE1iD0U@NE1iD7U@NE1iD709FUHjE00@001>DUIBEU9FDU@2EU9FDUIBEU9FD00<004nDUIBEU9FDUIBEU02DUIBEU9FDUIBE U02DUIBEU9FDUIBE09FDUIBEU9FDUIBEU9D01i@7U0ND1i@7U0ND1`2EU9FDUIBEU9FDUI@0SiF?00L0 00BEYiD02`L300P700<01`L01PL000`700<01`L00PL00`071`0M1`<04@L02007U@NE1iD70`004PNE 09D7U@NE1iD7U@NE1iD0U@8002H7U@NE1iD7U@L01iD7U@NE1iD7U@2U02D1i@7U0ND1i@7U0L01iD7U@NE1iD7U@L0ZiB[U:^DZiB[U02DZiB[ U:^DZiB[U:/01`07U@NE1iD7U@NE1iD0U@NE1iD7U@NE1iD71P002ID7U@NE1iD700071`@030L00`07 1`051`002PL300@700<01`L06PL301D70P000iFW0002000CYiFWUJNE09D7U@NE1iD7U@NE1`02000O U0ND1i@7U0ND1i@700ND1i@7U0ND1i@0S8nUHh0S08000bEU9FDU@2EU9FD UI@200BD04P0U9FDUIBEU9FDUIBE09FDUIBEU9FDUIBE09FDUIBEU9FDU@2EU9FDUIBEU9FDU@07?P2D 1i@7U0ND1i@7U0ND09BEU9FDUI@4000@YiD0UJL0YiFWUJNEYiFW00<70`0@1`0300L700D7000<1`03 00L700870P0H1`<06PL2000D1iD7U@NE1iD7U@2E1iD7U@NE1iD2000G1iD0U@NE1iD7U@NE1iD0U@NE 1iD7U@L010001hbES9F<00@00P002ID0UHnESiF?0002U@<00YD01@2DZiB[008003FDZiB[U:/01i@7 U0ND1i@7U0ND09D7U@NE1iD7U@NE09B[U:^DZiB[U02DZiB[U:^DZiB[00041`0A09D7U@NE1iD7U@NE 1`07U@L0100059D7U@NE1`07U@L01iD7U@NE1iD70`0C1`0300L700D7000@1`0300L701D70`0N1`0B 09FWUJNEYiFWUJNE09D7U@NE0`005ID7U@NE09@7U0ND1i@7U0ND09@7U0040003YiFW00<001F?S8n< 08b?08l0UHjESYD0UHbES9D00P000i@0U00200RD0400U9FDUIBEU9FDUIBEU02DUIBEU9FDUIBEU02D UIBEU9FDUI@0U9FDUIBEU9D01ch7?PL01i@7U0ND1i@7U0ND10006JNEYiFWUJNEYiFW0:NEY`2WUJNE YiFWU@005@L00`071`051`0040L00`071`0B1`<08PL03`2E1iD7U@NE1iD7U@2E1`02000DU@NE1iD7 U@NE09D7U@NE1iD7U@L4000:U@NE1iD7U@2?U@<000FE08l4S`020007SiF?UHnE0006U@<003NDZiB[ U:^DZiB[U02D1i@7U0ND1i@7U0L01iD7U@NE1iD7U@L0ZiB[U:^DZiB[0:^DZiB[U:/000L700T01iD7 U@NE1iD00`0079D700NE1iD7U@NE1iD7U@L01iD700NE1iD7U@L201@700<01`L01@L001070P0@1`<0 9PL02`2EYiFWUJNEYiFW00<001<7U@NE1iD7U@NE1iD0U0ND1i@700<0016WU@2EYiFWUJNEYiD0SYF> U@03000CShb?S02>UHjESP2U@02000AS8l008jESYD0UHbES9FEYiD00`005YBEU9FDU@2EU9FD03h7?PLn1ch7?PL3000I1iD7U@NE1iD7U@NE09FWUJNEYiFWUJNE Y`03000=YiD0UJNEYiFWUJNE000A1`0300L700D7000@1`0300L700L70`0a1`8000X7U@NE1iD7U@NE 0P001`NE1iD7U@L00`008`NE09D7U@NE1iD7U@L01iD7U@NE1iD709F?UHnES`2?00B?008000B?UHl0 1iD06`2DZiB[U:^DZiB[U:/01i@7U0ND1i@7U0ND1`03000<1iD7U@NE1iD709F?0P002J^DZi@0U:^D 00091`8001P7Y`2E1iD7U@NE1iD7U@NE09D7U@NE1iD4000@1iD0U@NE09D7U@NE1iD7018700<01`L0 10L000l70P061`<0=@L0402EYiFWUJNEYiFWUJL01iD4000TYiFWUJNE09FWUJNEYiFWUJL0YiFWUJNE YiFW09F>UHjESP2<0P003Xl0002ESP2S`02000>U9D0UI@0?PLn1ch7?PL2000FU@NE1iD0U@NE1iD7U@NE1iD70:NEY`@001FEYiFW UJL0YiFW0:NEYiFWUJNEY`004@L00`071`041`003`L00`071`021`<0>@L2000:1iD7U@NE1iD7U@<0 01bE1iD7U@NE1iD700NE1iD7U@NE1iD700NE1iD71P001XnESiF?00:?00<0S`000P000iD0U@05U@0^ 09B[U:^DZiB[U:^DZi@0U0ND1i@7U0ND0:L7Y`2E1iD7U@NE1iD7U@2?UHnES`8000>[00001`L2000D 1jL7Y`NW1`07U@NE1iD7U@NE1iD4000H1iD7U@NE1iD7U@L01iD700NE1iD7U@NE0P0@1`0300L700@7 000?1`0300L00080?PL01`2WUJNEYiD00`0069FW0:NEYiFWUJNEYiFW0:NEYiFWUJNEY`L000FWUJNE Y`040006SYF>08b?0P02S00909D0UHbES9D000fD00P0UIBEU9FDU@8001RD1i@7U02EYiFWUJNEYiFW U@2>Shj?SXl40004?PLn1`8001:E1iD7U@NE1iD700NE1iD7U@L4000HUJL0YiFWUJNEYiFWUJNEY`2W UJL0YiFW10000iFW000?1`0300L700@7000?1`80@PL00`07U@03000FU@NE1iD700NE1iD7U@NE1iD7 00NE1`D000d7U@L0YiFWUJNEYiFW008000>?00000P04S`0308b?00801YD04`2[U:^DZiB[U:^DZiB[ 00ND1i@00P007PNW1jL7Y`L01iD7U@NE1iD7U@NE08nESiF?UHnES`@00107Y`NW1jL7Y`NW1jL700NE 100060NE1iD7U@L01iD7U@NE1iD7U@NE09D7U@@000L7U@NE1iD000l700<01`L010L0010700<01`L0 @@L2000EUJNEYiFWUJNEY`2WUJNEYiFWUJNE00@001FWUJNEYiFWUJL0YiFWUJNEYiFWU@000hl30003 S8n<008000V<002?0`02S`@01ID03`2[U:^DZiB[U:^DZiB[U003000FY`NW1jL7Y`NW1jL700NE1iD7 U@NE1`D001@7U@NE1iD7U@NE0:L7Y`NW1jL7Y`<001NE1`07U@NE1iD7U@NE1iD0U@NE1iD7U@04000A 1iD0U@NE09D7U@NE1iD7U@003@L00`071`041`004`L00`071`101`0?0:NEYiFWUJNEYiFW0:NE00<0 00JEYiFWUJL2000>UJNEYiFWUJNEY`2WUJL40004UJNEY`800Xl40003S02<008000FES9F<000>U00C 00ND1i@7U0ND1i@7U0ND09FWU@06000GYiFW0:NEYiFWUJNEYiFWU@2E1iD7U@L00P005YD7U@NE09FW UJNEYiFWUJNEYiD0UJL4000EUJNEYiFWU@2EYiD0UJNEYiFWUJL000h700<01`L00`L001@700<01`L0 @0L02`07U@NE1iD7U@NE00<000ZE1iD7U@NE1iD70P0029D7U@NE1iD71@002PNW1jL7Y`L01iD90003 102E00>E01h0ZiB[U:^DZiB[U:^DZ`0n00NW1jL7Y`NW1jL7Y`L4000JU@NE1iD7U@NE1`07U@NE1iD7 U@NE1iD0Y`L3000E1iD7U@NE1iD0U@NE1iD7U@NE1iD700<001P7U@NE1iD7U@NE1`07U@L01iD7U@NE 1iD200d700<01`L00`L001D700<01`L0@0L01`2WUJNEYiD00`004iFW0:NEYiFWUJNEYiFWU@2EYiD0 10000jNEY`030004YiFWU@8000H7U0ND1i@3000;S00008`0S9FCh3000D1iD7U@NE1iD7U@NE 1`2WUJNEYiD4000GYiD0UJNEYiFWUJNEYiFW00NE1iD7U@L010004iFW0:NEYiFWUJNEYiFWUJL0YiD0 10005JNEYiFWU@2EYiD0UJNEYiFWUJNE00091`0300L700<7000K1`80@@L01`2E1iD7U@L00`004@NE 09D7U@NE1iD7U@NE09D7008001RE1iD7U@NE1`07U@NE1iD7U@NE08bES9D300>E00l0ZiB[U:^DZi@0 USjF?YH00P004`NW0:L7Y`NW1jL7Y`NW1jL0U@L010005iD7U@NE1iD0U@NE1iD7U@NE1iD700NE00@0 01@7U@NE1iD700NE1iD7U@NE1iD7U@<001RE1iD7U@NE1iD7U@2E1iD0U@NE1iD7U@L200T700<01`L0 0PL001d700<01`L0?`L00`2EY`03000AYiFWUJNE09FWUJNEYiFWUJL00`006`ND1i@7U0ND1i@700ND 1i@7U0ND1`2?S8nChi0`05Y`8000/7U@NE1iD7U@NE1`03000HYiFWUJNE YiFWUJL0YiFWUJNEYiFWUJNE0`005IFWUJNEYiFWUJNE09FWUJNEYiFWU@03000GUJL0YiFWUJNEYiFW UJNE09FWU@2EYiD010000jNE00081`0300L70087000N1`0300L703l70P004@NE1iD7U@NE1iD0U@NE 1iD700<00247U@2E1iD7U@NE1iD7U@L01iD7U@NE1iD709FYiD0UJNEYiFWUJL0UHh20006Sh`009D019@200B? 1`006iFWUJNEY`2WUJNEYiFWUJNEYiD0UJNEYiFWU@03000GUJL0YiFWUJNEYiFWUJNE09FWUJNEYiD0 10004ZNE09FWUJNEYiFWUJNEY`2WU@@001FWUJNEYiFW0:NEY`2WUJNEYiFWU@001PL00`071`021`00 8`L00`071`0o1`0300NE00<001BE1iD7U@2E1iD7U@NE1iD7U@2E1`<001<7U@NE1iD0U@NE1iD7U@L0 UHnE00@000FE09B[U003000RSiF?UHnE00NE1iD7U@NE1iD700NE1iD7U@NE1iD7U@2E1`@001JE1iD7 U@L01iD7U@NE1iD7U@NE09D710004iD7U@NE1iD0U@NE1iD7U@NE1iD00`0069D7U@NE1iD7U@NE09D7 U@2E1iD7U@NE1`801@L00`071`021`0090L00`071`0o1`8001BEYiFWUJNEYiD0U@NE1iD7U@NE1`<0 01RWUJNEYiFWUJL0YiFWUJNEYiFW09F>UHh400:D0P0018l00005S`0H0:NEYiFWUJNEYiD0UJNEYiFW UJNEYiFW0`005jNEYiFWUJNEYiD0UJNEYiFWUJNEYiFW00<001>WUJNEYiFWUJNEY`2WUJNEYiFW00@0 01NEY`2WUJNEYiFWUJNEYiD0UJNE09FWU@040003YiD000@700<01`L00PL002D70P101`0B00NE1iD7 U@NE1iD0U@NE1iD70`007@NE09D7U@NE1iD7U@L01iD7U@NE1iD709F?UHnE008000>DZ`000P02S`<0 01N?UHnE00NE1iD7U@NE1iD0U@NE1iD7U@04000F1iD0U@NE1iD7U@NE1iD0U@NE1iD7U@@00187U@2E 1iD7U@NE1iD7U@L01iD4000G1iD7U@NE1`07U@NE1iD7U@NE1iD0U@L0100029D7U@NE1iD010L00`07 1`011`009`L00`071`0n1`0>0:NEYiFWUJNEYiD0U@L3000QYiFWUJNE09FWUJNEYiFWUJL0YiFWUJNE YiD0SYF>UHjE00@000N<002?S02>00800Xl03`2EYiFWUJNEYiFWU@2EY`04000FU:NDYiBWU02EYiFW UJNEYiFWU@2EY`@001>EYiFWUJNE09FWUJNEYiFWUJNE00<001REYiFWUJNEYiFWU@2EYiFWUJNEYiFW UJL300008b?S0H000B?SXn>0`000iFW U@05000HU9FD09BWU:NDYiBWU:NDY`2WUJNEYiFW0`004jNE09FWUJNEYiFWUJNEYiD0UJL010005YFW UJNEY`2WUJNEYiFWUJNEYiD0UJL4000CUJNEYiFWU@2EY`2WUJNEYiFWU@02008700<01`L00@L002X7 0P0o1`<001<7U@NE1iD7U@2E1iD7U@NE1iD700@001:E1iD7U@NE1`2WUJNEYiFWUJL600B?0P0028`0 09F?UHnE10006IB[U:^DZiB[00NE1iD7U@NE1iD7U@L01iD010004`NW1jL7Y`2E1iD7U@NE1iD7U@L0 0`005`NE1iD7U@NE1iD0U@NE1iD7U@NE1iD700<001<7U@NE1iD7U@NE1`07U@L01iD700@000FE1`07 00031`00;0L00`071`0m1`0B0:NEYiFWUJNEYiD0UJNEYiFW0`005ZNE09FWUJNEYiFWUJL0YiFWUJNE YiD40008S`0008n00NE1iD7U@NE1iD0U@L3000E1iD7U@NE09D7U@NE 1iD7U@L0YiFW00@000>W1jL00`0018l00003S`@001^ESiF?U@2[U:^DZiB[U:^D09D7U@NE1iD7U@L0 0P004ZL700NW1jL7Y`NW1jL7Y`2E1`@001JE1iD7U@L01iD7U@NE1iD7U@NE09D710004iD7U@NE1iD0 U@NE1iD7U@NE1iD00`002iD0U@NE1iD7U@NE00800`L002h700<01`L0?@L02@2WUJNEYiFWU@04000C YiFWUJNEYiFWU@2EYiFWUJNEY`050007YiFWUJNE00031`H000B?08n<0P0068n>Shh0U9FDUIBEU9FD UI@0U:NDYiBWU0800147U@NE1`2WUJNEYiFWUJNEY`03000GYiFWUJNEYiFWUJL0YiFWUJNEYiFWUJL0 0`004jNEYiFWUJNEYiFW0:NEYiFWUJL010003iFW0:NE09FWUJNEYiFWU@020087000_1`80?PL01007 U@L4000CU@NE09D7U@NE1iD7U@NE09D7U@0400031iD7008000BW1jL70P061`L00Xl2000EUHnE0:^D ZiB[U:^DZiB[U02E1iD70080012W1jL7Y`NW1`07Y`NW1jL70`005PNE09D7U@NE1iD7U@NE1`07U@NE 1iD4000B1iD0U@NE1iD7U@NE1iD700NE10004`NE1iD7U@2E1iD0U@NE1iD7U@L00P021`00<@L00`07 1`0l1`<001>WUJNEYiFWU@2EYiFWUJNEYiFW00@000VEYiFWUJNEYiD00P000jL01`091`8001Z?0000 Sh`0SXn>S`2EU9FDUIBEU9FDU@2WU08000h7U@NE1iD7U@NE1`2WU@@001FWUJNEYiD0UJNEYiFWUJNE YiD0UJL010004iFWUJNEYiD0UJNEYiFWUJNEYiD00`005iFWUJNEYiFWUJNE09FW0:NEYiFWUJNE0080 0PL0038700<01`L0?0L04P07U@NE1iD7U@NE09D7U@NE1`<000h7U@2E1iD7U@NE1iD7U@803@L2000F S`0008l0SiF?09B[U:^DZiB[U:^DZ`8000fW1jL7Y`NW1jL7Y`NW00<001JE1iD7U@NE1iD700NE1iD7 U@NE1iD70`004`NE1iD7U@NE1iD700NE1iD7U@L010005YD700NE1iD7U@NE1iD7U@2E1`07U@L40003 1`070047000c1`0300L703`70P0039FWUJNEYiFWU@2EY`<000nWUJNEYiD0UJNEYiFWUJL00P0@1`<0 00>?00000P0048j?09FDUIBEU9FDUIBE09H20008U@NE1iD7U@L4000FUJL0YiFWUJNEYiFWUJL0YiFW UJNEY`<001:WU@2EYiFWUJNEYiFWUJL0YiD4000FYiFWUJNE09FWUJNEYiFWUJNEY`2WU@@01@L10047 0@L003@70P0n1`0909D7U@NE1iD700<00107U@NE1iD7U@NE09D7U@NE0P0D1`8000>?08l00P002hnE 0:^DZiB[U:^D008000BWUZNF0P000`NW0003000F1jL7Y`NW1`07U@NE1iD7U@NE1`07U@@00187U@NE 1iD0U@NE1iD7U@NE1iD3000GU@NE1iD7U@NE1iD0U@NE1iD7U@NE1iD00`000`L01`061`400@L11`00 =PL00`071`0l1`0409FWU@@0016WU@00YiFWUJNEYiFWU@2EY`0201L710003Hn<08h0U9FDUIBEU000 1YH4000FUJNEYiFWUJNEYiD0UJNEYiFWUJNEY`@001>EYiFWUJNEYiFWU@2EYiFWUJNE00<001JEY`2W UJNEYiFWUJNEYiD0UJNEYiFW10051`0300L700@70@011`47000g1`0300L703`70`004YD7U@NE1iD7 00NE1iD7U@NE1`<06PL400:?00/0S`2DZiB[U02FY`0500>W01401jL7Y`NW1jL7Y`NW09D7U@06000C 1iD700NE1iD7U@NE1iD7U@2E1`04000EU@NE1iD0U@NE1iD7U@NE1iD700NE00@02PL00`071`041`40 0@L003P700<01`L0?0L02`2EYiFWUJNEYiFW008000>EYiD0100O1`0308l0008000J?09FDUI@4000E YiFWUJNEYiFW0:NEYiFWUJNEYiFW00@001JEYiFWUJNEYiFW0:NEYiFWUJNEYiFW0`005ZNEYiFWUJNE YiD0UJNEYiFWUJNEYiD300l700<01`L00`L10047000i1`80?@L02`2E1iD7U@NE1iD700@090L60003 U:/000D02ZL02007Y`NW1jL70`005PNE09D7U@NE1iD7U@NE09D7U@NE1iD4000E1iD0U@NE1iD7U@NE 1iD0U@NE1iD700@04PL00`071`031`400@L003/700<01`L0>`L01`2EYiFWUJL00`0Z1`L000B?UHnE 0`003:NEYiFWUJNEY`2WU@@001FWUJNEYiD0UJNEYiFWUJNEYiD0UJL010005IFWUJNEY`2WUJNEYiFW UJNEY`2WU@0401L700<01`L00PL10047000l1`0300L703/700<0U@L00`0^1`8000>?00000P001HnE SiF?00d001JE1iD7U@NE1iD700NE1iD7U@NE1iD70`005PNE1iD7U@NE1iD700NE1iD7U@NE1iD301`7 00D01`L700011`00?@L00`071`0k1`80`L00`07 1`0c1`0408n?S`<001jESiF?09D7U@NE1iD7U@L01iD7U@NE1iD7U@L01iD4000E1iD7U@NE09D7U@NE 1iD7U@NE09D700@08`L010071`011`00@0L00`071`0h1`0300L703@70P000hb?S0030004SiF?00VE 00`0UJNEYiFWUJNEYiD3000FUJNEYiFWUJNEY`2WUJNEYiFWUJNEY`<0:0L00`0700011`00@@L00`07 1`0g1`0300L703H700D0Shl0U@03000DUHl0U@NE1iD7U@NE09D7U@NE1iD3000FU@L01iD7U@NE1iD7 U@L01iD7U@NE1`<0;0L100470@00048700<01`L0=PL00`071`0g1`8000B?09F>0`000hl0U@08U@03 09FW00@001FDYiBWU:L0YiFWUJNEYiFWUJL0YiD0100`1`8000131`0300L703D700<01`L0>@L01P2? 09F?U@<000H7U@NE1iD6000F1iD7U@NE1iD7U@2E1iD7U@NE1iD7U@<0=0L20000A0L203D700<01`L0 >PL01`2?09F>UHh01`006IBEU9FD09BWU:NDYiBWU:ND09FWUJNEYiD00`0g1`8000161`0300L70347 00<01`L0?0L2000PSiF?UHl0U:^DZiB[U:^DZi@0U@NE1iD7U@NE1iD0U@L403H710021`00A`L00`07 1`0`1`0300L703h701d0SYF>UHh0U9FDUIBEU9FDU@2WU:NDYiBWU:NDY`0303H710061`00B0L00`07 1`0_1`0300L703l701T0SiF?U@2[U:^DZiB[U:^DZ`07U@NE1iD700<0=@L400X700191`80;`L00`07 1`101`0D08jESYD0UIBEU9FDUIBEU9D0Yi@403@7100>1`00B`L00`071`0/1`0300L704470140SiF? 09B[U:^DZiB[U:^DZ`0203@7100B1`00C0L00`071`0[1`0300L704870100SYD0UIBEU9FDUIBEU9D0 <`L301H7001=1`0300L702X700<01`L0@`L0302?U@2[U:^DZiB[U080<0L401T7001>1`80:PL00`07 1`131`0<09F>09BEU9FDUI@0;PL401d7001@1`0300L702L700<01`L0A0L02P2E0:^DZiB[U00[1`@0 8@L0054700<01`L09PL00`071`151`0809D0UIBEU00X1`@09@L0058700<01`L09@L00`071`161`80 00BDZ`009@L402T7001C1`809@L00`071`171`<090L302d7001E1`0300L7028700<01`L0B0L00`07 1`0O1`@0<0L005H700<01`L08@L00`071`1V1`@0=0L005L700<01`L080L00`071`1R1`@0>0L005P7 0P0P1`0300L705h7100l1`00FPL00`071`0M1`0300L705X710101`00F`L00`071`0L1`0300L705L7 0`141`00G0L00`071`0K1`0300L705<710171`00G@L201/700<01`L0C`L404/7001O1`0300L701P7 00<01`L0B`L404l7001P1`0300L701L700<01`L0A`L405<7001Q1`0300L701H700<01`L0@`L405L7 001R1`805PL00`071`101`<0F`L006@700<01`L04`L00`071`0l1`@0GPL006D700<01`L04PL00`07 1`0h1`@0HPL006H700<01`L04@L00`071`0d1`@0IPL006L70P0A1`0300L70307101Z1`00J@L00`07 1`0=1`0300L702d7101^1`00JPL00`071`0<1`0300L702X70`1b1`00J`L00`071`0;1`0300L702H7 101e1`00K0L200/700<01`L08PL407T7001^1`0300L700P700<01`L07PL407d7001_1`0300L700L7 00<01`L06PL40847001`1`0300L700H700<01`L05PL408D7001a1`801PL00`071`0C1`<0R@L007<7 00<01`L00`L00`071`0?1`@0S0L007@700<01`L00PL00`071`0;1`@0T0L007D700D01`L700091`@0 U0L007H70P000`L01`041`@0V0L007P70P000`L0000209`7001i1`80X0L00?l770L00?l770L00?l7 70L00?l770L00?l770L00001\ \>"], ImageRangeCache->{{{152, 434.375}, {598.438, 369.625}} -> {-0.598511, 1.35815, 0.00357089, 0.00357089}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] SurfaceGraphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell["\<\ Note that the limit surface will be the exact solution to Laplace's \ equation.\ \>", "Text", Evaluatable->False, AspectRatioFixed->True, FontFamily->"Times"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["Finding a Sparse Approximation to the Subdivision Mask", "Section 1", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "The exact solution to the equation En S = U En as computed above leads to \ subdivision rules with global (but exponentially decaying) support.\n\nIn the \ sequel we want to find a subdivision scheme with local support that \ approximates the solution well. Our approach is to set up an unknown \ subdivision matrix with variable entries at locations that enforce the \ desired symmetries and sparsity. Call this subdivision matrix Shat. Now we \ can solve for the actual coefficients in Shat by minimizing the expression \n\ En Shat = U En in the infinity norm. Recall that the infinity norm of a \ matrix is the maximum of the sums of the absolute values of entries in any \ row. "], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[ "Set up a sparse subdivision matrix with the desired symmetry and sparsity"], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData["Some helper functions"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ \(Clear[basicRule]\), \(basicRule[i_, j_, y_, x_] := Which[i == 0 && j == 0, S1[0, 0] + x\ S1[0, 1] + y\ S1[0, 1] + x\ y\ S1[1, 1], i == 1 && j == 0, S2[0, 0] + x\ S2[0, 1] + y\ S2[1, 0] + x\ y\ S2[1, 1], i == 1 && j == 1, S3[0, 0] + x\ S3[0, 1] + y\ S3[0, 1] + x\ y\ S3[1, 1], i == 2 && j == 0, S4[0, 0] + x\ S4[0, 1] + y\ S4[1, 0] + x\ y\ S4[1, 1] + y\^2\ S4[0, 0] + x\ y\^2\ S4[0, 1], i == 2 && j == 1, S5[0, 0] + x\ S5[0, 1] + y\ S5[1, 0] + x\ y\ S5[1, 1] + y\^2\ S5[0, 0] + x\ y\^2\ S5[0, 1], i == 2 && j == 2, S6[0, 0] + x\ S6[0, 1] + x\^2\ S6[0, 0] + y\ S6[0, 1] + x\ y\ S6[1, 1] + x\^2\ y\ S6[0, 1] + y\^2\ S6[0, 0] + x\ y\^2\ S6[0, 1] + x\^2\ y\^2\ S6[0, 0], i == 3 && j == 0, S7[0, 0] + x\ S7[0, 1] + y\ S7[0, 0] + x\ y\ S7[0, 1], i == 3 && j == 1, S8[0, 0] + x\ S8[0, 1] + y\ S8[0, 0] + x\ y\ S8[0, 1], i == 3 && j == 2, S9[0, 0] + x\ S9[0, 1] + x\^2\ S9[0, 0] + y\ S9[0, 0] + x\ y\ S9[0, 1] + x\^2\ y\ S9[0, 0], i == 3 && j == 3, S10[0, 0] + x\ S10[0, 0] + y\ S10[0, 0] + x\ y\ S10[0, 0], True, Print[undefined]]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(insideLeftBoundary[i_, j_, x_, y_] := Which[EvenQ[i] && j == 0, basicRule[2, 0, x, y], EvenQ[i] && j == 1, basicRule[2, 1, x, y], OddQ[i] && j == 0, basicRule[3, 0, x, y], OddQ[i] && j == 1, basicRule[3, 1, x, y], True, Print[undefined]]\), \(insideRightBoundary[i_, j_, x_, y_] := Which[EvenQ[i] && j == 0, basicRule[2, 0, x, 1\/y]\ y, EvenQ[i] && j == 1, basicRule[2, 1, x, 1\/y]\ y, OddQ[i] && j == 0, basicRule[3, 0, x, 1\/y]\ y, OddQ[i] && j == 1, basicRule[3, 1, x, 1\/y]\ y, True, Print[undefined]]\), \(insideTopBoundary[i_, j_, x_, y_] := insideLeftBoundary[j, i, y, x]\), \(insideBottomBoundary[i_, j_, x_, y_] := insideRightBoundary[j, i, y, x]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(upperLeftCorner[i_, j_, x_, y_] := Which[i \[GreaterEqual] j, basicRule[i, j, x, y], True, basicRule[j, i, y, x]]\), \(upperRightCorner[i_, j_, x_, y_] := upperLeftCorner[i, j, x, 1\/y]\ y\), \(lowerLeftCorner[i_, j_, x_, y_] := upperRightCorner[j, i, y, x]\), \(lowerRightCorner[i_, j_, x_, y_] := upperRightCorner[i, j, 1\/x, y]\ x\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(Clear[findRightRule]\), \(findRightRule[i_, j_, n_] := With[{fromLeft = j, fromRight = 2\ n - 2 - j, fromTop = i, fromBottom = 2\ n - 2 - i}, Which[fromLeft < 2 && fromRight \[GreaterEqual] 2 && fromTop \[GreaterEqual] 2 && fromBottom \[GreaterEqual] 2, insideLeftBoundary[i, fromLeft, x, y], fromLeft \[GreaterEqual] 2 && fromRight < 2 && fromTop \[GreaterEqual] 2 && fromBottom \[GreaterEqual] 2, insideRightBoundary[i, fromRight, x, y], fromLeft \[GreaterEqual] 2 && fromRight \[GreaterEqual] 2 && fromTop < 2 && fromBottom \[GreaterEqual] 2, insideTopBoundary[i, j, x, y], fromLeft \[GreaterEqual] 2 && fromRight \[GreaterEqual] 2 && fromTop \[GreaterEqual] 2 && fromBottom < 2, insideBottomBoundary[fromBottom, j, x, y], fromLeft < 2 && fromTop < 2, upperLeftCorner[i, j, x, y], fromLeft < 2 && fromBottom < 2, lowerLeftCorner[fromBottom, fromLeft, x, y], fromRight < 2 && fromTop < 2, upperRightCorner[fromTop, fromRight, x, y], fromRight < 2 && fromBottom < 2, lowerRightCorner[fromBottom, fromRight, x, y], fromLeft \[GreaterEqual] 2 && fromRight \[GreaterEqual] 2 && fromTop \[GreaterEqual] 2 && fromBottom \[GreaterEqual] 2, Which[EvenQ[i] && EvenQ[j], basicRule[2, 2, x, y], EvenQ[i] && OddQ[j], basicRule[3, 2, y, x], OddQ[i] && EvenQ[j], basicRule[3, 2, x, y], OddQ[i] && OddQ[j], basicRule[3, 3, x, y]]]]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(oneRow[i_, j_, n_] := Which[i < 2 && j < 2, findRightRule[i, j, n], i \[GreaterEqual] 2 && j < 2, findRightRule[i, j, n]\ x\^Floor[\(i - 1\)\/2], i < 2 && j \[GreaterEqual] 2, findRightRule[i, j, n]\ y\^Floor[\(j - 1\)\/2], i \[GreaterEqual] 2 && j \[GreaterEqual] 2, findRightRule[i, j, n]\ x\^Floor[\(i - 1\)\/2]\ y\^Floor[\(j - 1\)\/2]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(oneFlatRow[i_, j_, n_] := Flatten[Transpose[ Drop[Transpose[ CoefficientList[ oneRow[i, j, n] + \((\[Sum]\+\(k = 0\)\%\(n - 1\)x\^k)\)\ y\^n, {x, y}]], \(-1\)]]]\)], "Input", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData["Definition of the Sparse Matrix"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(Shat[n_] := Flatten[Table[oneFlatRow[j, i, n], {j, 0, 2\ n - 2}, {i, 0, 2\ n - 2}], 1]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell["\<\ Now Shat[n] computes a sparse (variable) subdivision matrix \ carrying the control points from a bounded nxn grid to a (2n-1)x(2n-1) grid. For example Shat[3] subdivides a 3x3 grid into a 5x5 grid. Note that we \ enforced sparsity and symmetry in the structure of this matrix.\ \>", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(MatrixForm[Shat[3]]\)], "Input", AspectRatioFixed->True] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Set up a Linear Programming Problem to Solve for the Actual Coefficients in \ the Subdivision Matrix"], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Starting from the equation E S = U E we set up a linear programming problem \ to solve for S. The linear program will find an S such that the norm || E S - \ U E || is minimal, where ||.|| denotes the L_infinity norm, i.e. the sum of \ the absolut values of the elements in any one row should be minimal.\n\nOne \ crucial observation is that the symmetry and sparsity structure of S as \ defined above laeds only to a finite and fixed number of different rows in E \ S - U E, i.e. it is sufficient to minimize this small and fixed number of \ rows once to find a minimal solution for any size of S.\n\nWe want to solve \ here separately for the purely interior subdivisin rules as solving the whole \ system is beyond the abilities of Mathematica. We solved for the complete \ system using the CPLEX linear programming package."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[TextData[ "Some helper functions to set up the linear program"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(GetPosNegSubst[vars_, basename_] := Table[vars\[LeftDoubleBracket]i\[RightDoubleBracket] \[Rule] ToExpression[basename<>"\"<>ToString[i]] - ToExpression[basename<>"\"<>ToString[i]], {i, 1, \(Dimensions[vars]\)\[LeftDoubleBracket]1\[RightDoubleBracket]}] \)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(GetSubst[vars_, basename_] := Table[vars\[LeftDoubleBracket]i\[RightDoubleBracket] \[Rule] ToExpression[basename<>ToString[i]], {i, 1, \(Dimensions[vars]\)\[LeftDoubleBracket]1\[RightDoubleBracket]}] \)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(ExtractVars[vectorOfRelations_] := Union[Flatten[ Table[Variables[ vectorOfRelations\[LeftDoubleBracket]i, 1 \[RightDoubleBracket]] \[Union] Variables[ vectorOfRelations\[LeftDoubleBracket]i, 2 \[RightDoubleBracket]], {i, 1, \(Dimensions[vectorOfRelations]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}]]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(FindExpr[expr_, list_] := Which[First[list] === expr, 1, True, 1 + FindExpr[expr, Rest[list]]] \)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(General::"spell1" \( : \ \) "Possible spelling error: new symbol name \"\!\(list\)\" is similar to \ existing symbol \"\!\(List\)\"."\)], "Message"] }, Open ]], Cell[BoxData[ \(RowSumConstraint[oneRow_, allExpressions_, objective_] := \[Sum]\+\(i = 1\)\%\(\(Dimensions[oneRow]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]\)With[{ thisExpr = oneRow\[LeftDoubleBracket]i\[RightDoubleBracket]}, With[{thisIndex = FindExpr[thisExpr, allExpressions]}, ToExpression["\"<>ToString[thisIndex]] + ToExpression["\"<>ToString[thisIndex]]]] \[LessEqual] objective\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(SlackEqualities[allExpressions_] := Table[With[{ thisExpr = allExpressions\[LeftDoubleBracket]i\[RightDoubleBracket]}, thisExpr == ToExpression["\"<>ToString[i]] - ToExpression["\"<>ToString[i]]], {i, 1, \(Dimensions[allExpressions]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(DiscardZeros[sortedRow_] := If[ToString[First[sortedRow]] == "\<0\>", DiscardZeros[Rest[sortedRow]], sortedRow]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(UniqueRows[matrix_] := Union[Table[ DiscardZeros[ Sort[matrix\[LeftDoubleBracket]i\[RightDoubleBracket]]], {i, 1, \(Dimensions[matrix]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(grepRules[rules_, interestingVars_] := Complement[ Table[If[ Complement[ Variables[rules\[LeftDoubleBracket]i\[RightDoubleBracket]], interestingVars] == {}, rules\[LeftDoubleBracket]i\[RightDoubleBracket], 0], {i, 1, \(Dimensions[rules]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}], {0}]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(AllMatrixConstraints[matrix_, objective_] := With[{allExprs = Union[Flatten[matrix]]}, SlackEqualities[allExprs] \[Union] Table[RowSumConstraint[ matrix\[LeftDoubleBracket]i\[RightDoubleBracket], allExprs, objective], {i, 1, \(Dimensions[matrix]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(DumpConstraints[constraints_, filename_] := With[{stream = OpenWrite[filename, PageWidth \[Rule] 1000000]}, For[i = 1, i \[LessEqual] \(Dimensions[constraints]\)\[LeftDoubleBracket]1 \[RightDoubleBracket], \(i++\), Write[stream, constraints\[LeftDoubleBracket]i\[RightDoubleBracket]]]; Close[stream]; ]\)], "Input", InitializationCell->True, AspectRatioFixed->True] }, Closed]], Cell[CellGroupData[{ Cell[TextData["Get the distinct rows in E S - U E"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(DSmUD[n_] := En[2\ n - 2] . Shat[n] - UEn[2\ n - 2]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[ "Evaluate the following line to find all the different rows in E S - U D."], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(uniqueRows = UniqueRows[DSmUD[5]]; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[TextData[ "Note that using a larger system leads to the same distinct rows in E S - U \ D:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(moreUniqueRows = UniqueRows[DSmUD[7]]; \)\)], "Input", AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[{ \(Dimensions[uniqueRows]\), \(Dimensions[moreUniqueRows]\)}], "Input", AspectRatioFixed->True], Cell[BoxData[ \({15}\)], "Output", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \({15}\)], "Output", Evaluatable->False, AspectRatioFixed->True] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Partition these rows of E S - U E into three categories: \n purely \ interior\n interior and boundary\n interior, boundary and corner"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ \(\(cornerVars = {S1[0, 0], S1[0, 1], S1[1, 1], S2[0, 0], S2[1, 0], S2[0, 1], S2[1, 1], S3[0, 0], S3[0, 1], S3[1, 1]}; \)\), \(\(boundaryVars = {S4[0, 0], S4[0, 1], S4[1, 0], S4[1, 1], S5[0, 0], S5[0, 1], S5[1, 0], S5[1, 1], S7[0, 0], S7[0, 1], S8[0, 0], S8[0, 1]}; \)\), \(\(interiorVars = {S6[0, 0], S6[0, 1], S6[1, 1], S9[0, 0], S9[0, 1], S9[0, 2], S10[0, 0]}; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(\(interiorRows = grepRules[uniqueRows, interiorVars]; \)\), \(\(boundaryRows = grepRules[uniqueRows, interiorVars \[Union] boundaryVars]; \)\), \(\(cornerRows = grepRules[uniqueRows, interiorVars \[Union] boundaryVars \[Union] cornerVars]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[{ \(Dimensions[interiorRows]\), \(Dimensions[boundaryRows]\), \(Dimensions[cornerRows]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \({3}\)], "Output"], Cell[BoxData[ \({10}\)], "Output"], Cell[BoxData[ \({15}\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Set up the systems of constraints"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ \(Off[General::"\"]\), \(\(interiorConstraints = AllMatrixConstraints[interiorRows, objective]; \)\), \(\(boundaryConstraints = AllMatrixConstraints[boundaryRows, objective]; \)\), \(\(cornerConstraints = AllMatrixConstraints[cornerRows, objective]; \)\), \(On[General::"\"]\)}], "Input", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Set up constraints to enforce constant and linear precision"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(One[n_] := Flatten[Table[1, {x, 1, n}, {y, 1, n}]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(\(tmpOne = One[5]; \)\), \(\(tmpOneSubdiv = One[9]; \)\), \(\(tmpS5 = Shat[5]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(eigenConstraints[relevant_] := Flatten[Table[{ tmpS5\[LeftDoubleBracket]relevant\[LeftDoubleBracket]i \[RightDoubleBracket]\[RightDoubleBracket] . tmpOne == tmpOneSubdiv \[LeftDoubleBracket]relevant\[LeftDoubleBracket]i \[RightDoubleBracket]\[RightDoubleBracket]}, {i, 1, \(Dimensions[relevant]\)\[LeftDoubleBracket]1 \[RightDoubleBracket]}]]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(\(interiorEigenConstr = eigenConstraints[{21, 30, 31}]; \)\), \(\(boundaryEigenConstr = eigenConstraints[{19, 20, 21, 28, 29, 30, 31}]; \)\), \(\(cornerEigenConstr = eigenConstraints[{1, 10, 11, 19, 20, 21, 28, 29, 30, 31}]; \)\)}], "Input", InitializationCell->True, AspectRatioFixed->True] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Finally solve for the coefficients for the interior"], "Subsubsection", Evaluatable->False, AspectRatioFixed->True], Cell["\<\ Remember that all variables cann be positive or negative but the \ solver handles only positive variables. Thus all variables X in the system \ have to replaced by terms of the form (Xpositive - Xnegative). \ \>", "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[{ \(Off[General::"\"]\), \(\(posNegSubstitution = GetPosNegSubst[interiorVars \[Union] boundaryVars \[Union] cornerVars, "\"]; \)\), \(On[General::"\"]\)}], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[{ \(\(allInteriorConstraints = interiorConstraints \[Union] interiorEigenConstr /. posNegSubstitution; \)\), \(\(allInteriorVars = ExtractVars[allInteriorConstraints]; \)\)}], "Input",\ InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(interiorCoeffs = \(ConstrainedMin[objective, N[allInteriorConstraints], N[allInteriorVars]]\)\[LeftDoubleBracket]2\[RightDoubleBracket]\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \({fooN20 \[Rule] 0, fooN21 \[Rule] 0.111111111111111138`, fooN22 \[Rule] 0, fooN27 \[Rule] 0, fooN28 \[Rule] 0, fooN4 \[Rule] 0, fooP20 \[Rule] 0.0138888888888887972`, fooP21 \[Rule] 0, fooP22 \[Rule] 1.38888888888888928`, fooP27 \[Rule] 0.0277777777777777457`, fooP28 \[Rule] 0.444444444444444641`, fooP4 \[Rule] 0.25`, objective \[Rule] 0.444444444444443842`, SlackNeg1 \[Rule] 0.0138888888888887972`, SlackNeg2 \[Rule] 0, SlackNeg3 \[Rule] 3.05311331771918048`*^-16, SlackNeg4 \[Rule] 0.0277777777777777457`, SlackNeg5 \[Rule] 0.0416666666666665985`, SlackNeg6 \[Rule] 0.222222222222221077`, SlackNeg7 \[Rule] 0, SlackNeg8 \[Rule] 0, SlackNeg9 \[Rule] 0, SlackPos1 \[Rule] 0, SlackPos2 \[Rule] 0.111111111111111138`, SlackPos3 \[Rule] 0, SlackPos4 \[Rule] 0, SlackPos5 \[Rule] 0, SlackPos6 \[Rule] 0, SlackPos7 \[Rule] 0.0555555555555554647`, SlackPos8 \[Rule] 0.055555555555555367`, SlackPos9 \[Rule] 0}\)], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData[ "Here are the resulting subdivision rules for the interior:"], "Subsubsection",\ Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(InteriorS5 = \(N[tmpS5] /. N[posNegSubstitution]\) /. interiorCoeffs; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[InteriorS5\[LeftDoubleBracket]31\[RightDoubleBracket], 5]] \)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, {"0", "0.25`", "0.25`", "0", "0"}, {"0", "0.25`", "0.25`", "0", "0"}, {"0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[ Round[InteriorS5\[LeftDoubleBracket]40\[RightDoubleBracket]*100.0] \/100.0, 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, {"0", "0.03`", "0.03`", "0", "0"}, {"0", "0.440000000000000035`", "0.440000000000000035`", "0", "0"}, {"0", "0.03`", "0.03`", "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[ Round[InteriorS5\[LeftDoubleBracket]41\[RightDoubleBracket]*100.0] \/100.0, 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, {"0", "0.01`", \(-0.110000000000000008`\), "0.01`", "0"}, {"0", \(-0.110000000000000008`\), "1.39000000000000012`", \(-0.110000000000000008`\), "0"}, {"0", "0.01`", \(-0.110000000000000008`\), "0.01`", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[TextData["Sparse Solution for the Complete Grid"], "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[TextData[ "Mathematica's linear optimizer \"ConstrainedMin\" simply seems to run \ forever on the linear program arising from the complete set of constraints. \ We used an external solver, CPLEX, to solve for these coefficients instead. \n\ \nNote that by construction these subdivision rules have constant precision \ (enforced in the constraints).\n\nHere are the results:"], "Text", Evaluatable->False, AspectRatioFixed->True], Cell[BoxData[ \(\(cornerCoeffs = {S1[0, 0] \[Rule] 1.430966, S1[0, 1] \[Rule] \(-0.227169\), S1[1, 1] \[Rule] 0.02337218, S10[0, 0] \[Rule] 0.25, S2[0, 0] \[Rule] 0.4309657, S2[0, 1] \[Rule] 0.09808379, S2[1, 0] \[Rule] 0.4475783, S2[1, 1] \[Rule] 0.02337218, S3[0, 0] \[Rule] 0.2178049, S3[0, 1] \[Rule] 0.2834315, S3[1, 1] \[Rule] 0.2153321, S4[0, 0] \[Rule] \(-0.1427126\), S4[0, 1] \[Rule] 0.05264114, S4[1, 0] \[Rule] 1.450619, S4[1, 1] \[Rule] \(-0.2704763\), S5[0, 0] \[Rule] 0.004644042000000001, S5[0, 1] \[Rule] 0.05624038000000001, S5[1, 0] \[Rule] 0.4709391, S5[1, 1] \[Rule] 0.4072921, S6[0, 0] \[Rule] 0.002322021, S6[0, 1] \[Rule] \(-0.1111111\), S6[1, 1] \[Rule] 1.435156, S7[0, 0] \[Rule] 0.4198616000000001, S7[0, 1] \[Rule] 0.0801384, S8[0, 0] \[Rule] 0.2308056, S8[0, 1] \[Rule] 0.2691944, S9[0, 0] \[Rule] 0.02777778, S9[0, 1] \[Rule] 0.4444444}; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(Sparse5 = tmpS5 /. cornerCoeffs; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[BoxData[ \(\(Sparse9 = Shat[9] /. cornerCoeffs; \)\)], "Input", InitializationCell->True, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[Sparse5\[LeftDoubleBracket]11\[RightDoubleBracket], 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ { StyleBox["0.217804900000000012`", StyleBoxAutoDelete->True, PrintPrecision->7], StyleBox["0.283431500000000013`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0", "0"}, { StyleBox["0.283431500000000013`", StyleBoxAutoDelete->True, PrintPrecision->7], StyleBox["0.215332100000000004`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0", "0"}, {"0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[Sparse5\[LeftDoubleBracket]37\[RightDoubleBracket], 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, { RowBox[{"-", StyleBox["0.142712599999999989`", StyleBoxAutoDelete->True, PrintPrecision->7]}], StyleBox["0.0526411399999999929`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0", "0"}, { StyleBox["1.4506190000000001`", StyleBoxAutoDelete->True, PrintPrecision->7], RowBox[{"-", StyleBox["0.27047629999999998`", StyleBoxAutoDelete->True, PrintPrecision->7]}], "0", "0", "0"}, { RowBox[{"-", StyleBox["0.142712599999999989`", StyleBoxAutoDelete->True, PrintPrecision->7]}], StyleBox["0.0526411399999999929`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[Sparse5\[LeftDoubleBracket]40\[RightDoubleBracket], 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, {"0", StyleBox["0.0277777799999999963`", StyleBoxAutoDelete->True, PrintPrecision->7], StyleBox["0.0277777799999999963`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0"}, {"0", StyleBox["0.444444399999999983`", StyleBoxAutoDelete->True, PrintPrecision->7], StyleBox["0.444444399999999983`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0"}, {"0", StyleBox["0.0277777799999999963`", StyleBoxAutoDelete->True, PrintPrecision->7], StyleBox["0.0277777799999999963`", StyleBoxAutoDelete->True, PrintPrecision->7], "0", "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]], Cell[CellGroupData[{ Cell[BoxData[ \(MatrixForm[ Partition[Sparse5\[LeftDoubleBracket]41\[RightDoubleBracket], 5]]\)], "Input", AspectRatioFixed->True], Cell[BoxData[ TagBox[ RowBox[{"(", GridBox[{ {"0", "0", "0", "0", "0"}, {"0", StyleBox["0.00232202100000000033`", StyleBoxAutoDelete->True, PrintPrecision->7], RowBox[{"-", StyleBox["0.111111099999999995`", StyleBoxAutoDelete->True, PrintPrecision->7]}], StyleBox["0.00232202100000000033`", StyleBoxAutoDelete->True, PrintPrecision->7], "0"}, {"0", RowBox[{"-", StyleBox["0.111111099999999995`", StyleBoxAutoDelete->True, PrintPrecision->7]}], StyleBox["1.43515600000000009`", StyleBoxAutoDelete->True, PrintPrecision->7], RowBox[{"-", StyleBox["0.111111099999999995`", StyleBoxAutoDelete->True, PrintPrecision->7]}], "0"}, {"0", StyleBox["0.00232202100000000033`", StyleBoxAutoDelete->True, PrintPrecision->7], RowBox[{"-", StyleBox["0.111111099999999995`", StyleBoxAutoDelete->True, PrintPrecision->7]}], StyleBox["0.00232202100000000033`", StyleBoxAutoDelete->True, PrintPrecision->7], "0"}, {"0", "0", "0", "0", "0"} }], ")"}], (MatrixForm[ #]&)]], "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell["\<\ Now apply the sparse S to some control points and compare this \ visually to the exact solution\ \>", "Subsection", Evaluatable->False, AspectRatioFixed->True], Cell[CellGroupData[{ Cell[BoxData[ \(ListPlot3D[ Partition[{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1}, 5], PlotRange \[Rule] All, Boxed \[Rule] False, Axes \[Rule] False, BoxRatios \[Rule] {1, 1, 1}, HiddenSurface \[Rule] False]\)], "Input", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.0855 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% SurfaceGraphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations -0.0567234 1.16608 -1.11022e-16 1.16608 [ [ 0 0 0 0 ] [ 1 1.0855 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1.0855 L 0 1.0855 L closepath clip newpath 0 g .5 Mabswid [ ] 0 setdash .0867 .25665 m .2209 .20052 L s .2209 .20052 m .36289 .14112 L s .36289 .14112 m .51337 .07818 L s .51337 .07818 m .67311 .01136 L s .0867 .25665 m .18139 .35259 L s .2209 .20052 m .31149 .3018 L s .18139 .35259 m .31149 .3018 L s .36289 .14112 m .44876 .24822 L s .31149 .3018 m .44876 .24822 L s .51337 .07818 m .5938 .1916 L s .44876 .24822 m .5938 .1916 L s .67311 .01136 m .74729 .13168 L s .5938 .1916 m .74729 .13168 L s .18139 .35259 m .26737 .43971 L s .31149 .3018 m .39354 .39354 L s .26737 .43971 m .39354 .39354 L s .44876 .24822 m .52632 .86433 L s .39354 .39354 m .52632 .86433 L s .5938 .1916 m .67822 .53441 L s .52632 .86433 m .67822 .53441 L s .74729 .13168 m .83926 .48285 L s .67822 .53441 m .83926 .48285 L s .26737 .43971 m .3458 .51917 L s .39354 .39354 m .4682 .47702 L s .3458 .51917 m .4682 .47702 L s .52632 .86433 m .60228 .66593 L s .4682 .47702 m .60228 .66593 L s .67822 .53441 m .74851 .62208 L s .60228 .66593 m .74851 .62208 L s .83926 .48285 m .90308 .57574 L s .74851 .62208 m .90308 .57574 L s .3458 .51917 m .41763 .59194 L s .4682 .47702 m .53643 .5533 L s .41763 .59194 m .53643 .5533 L s .60228 .66593 m .67104 .74096 L s .53643 .5533 m .67104 .74096 L s .74851 .62208 m .81196 .70122 L s .67104 .74096 m .81196 .70122 L s .90308 .57574 m .96053 .65934 L s .81196 .70122 m .96053 .65934 L s % End of Graphics MathPictureEnd \ \>"], "Graphics", Evaluatable->False, AspectRatioFixed->True, ImageSize->{265, 287}, ImageMargins->{{34, 0}, {0, 0}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCache->GraphicsData["Bitmap", "\<\ CF5dJ6E]HGAYHf4PAg9QL6QYHg>75aaXhhSSR>SZZZZTaaW/71`H20P492@/K6aZFOP=[GbU]GA^SX j71`L2LW9dU?/?ngncTi/?n[L7J>/>KoiZZRPR@VSS@XEKjn_[V>SW:LW5J0Zn;@d6I>C]GEeF21RKK5 bC52A^c/k61PH9VIVMCDe5ADE96ATBl_;jBTY>3Ph<300?oo]7mo03lo0?ooYYVI08:2P_ooOooJ?hB4 Q<;2`/S8b4A4A[Zj[0007emOGQh NFQXJJJZmEQHFDQ8B@T92e9FeiRLjSHjc499d;JjnHJ:jjRXZIRH VF9VfhR8RKVi^I:BTQLG5jb/[8j>S/k>cT];Bn7QhBDU9FYZJX]ZJP1K0@L302l7 00<01`L0:0L300<700<01`L0:`L00`071`0l1`00=`L2008700<01`L0;PL00`071`0U1`801`L00`07 1`0Z1`0300L703`7000e1`801@L00`071`0^1`0300L702470`091`0300L702X700<01`L0?0L00387 0`081`0300L702h700<01`L07PL200`700<01`L0:PL00`071`0l1`00<0L200`700<01`L0;PL00`07 1`0J1`<03PL00`071`0[1`0300L703/7000^1`803PL00`071`0^1`0300L701L70`0B1`0300L702X7 00<01`L0>`L002/70`0A1`0300L702h700<01`L050L201D700<01`L0:PL00`071`0k1`00:@L201D7 00<01`L0;PL00`071`0@1`<05`L00`071`0Z1`0300L703/7000W1`8060L00`071`0^1`0300L700d7 0P0J1`0300L702/700<01`L0>PL002@70`0K1`0300L702h700<01`L02@L301d700<01`L0:PL00`07 1`0j1`008PL201l700<01`L0;PL00`071`061`8080L00`071`0Z1`0300L703X7000P1`808PL00`07 1`0]1`0300L700<70`0R1`0300L702X700<01`L0>PL001d70`0U1`0300L702d700<01`L00P0U1`03 00L702/700<01`L0>@L001/70P0Y1`0300L702`70`0X1`0300L702X700<01`L0>@L001T70P0[1`03 00L702X70P000`L01`0X1`0300L702X700<01`L0>@L001L70P0^1`0300L702H70`031`0300L702L7 00<01`L0:`L00`071`0h1`0060L00`071`0]1`0300L702870`061`0300L702L700<01`L0:`L00`07 1`0h1`006@L00`071`0]1`0300L701l70P091`0300L702P700<01`L0:PL00`071`0h1`006PL00`07 1`0]1`0300L701/70`0<1`0300L702L700<01`L0:PL00`071`0h1`006`L00`071`0]1`0300L701P7 0P0?1`0300L702L700<01`L0:`L00`071`0g1`0070L00`071`0]1`0300L701@70`0A1`0300L702L7 00<01`L0:`L00`071`0g1`007@L00`071`0]1`0300L701470P0D1`0300L702P700<01`L0:PL00`07 1`0g1`007PL00`071`0]1`0300L700d70`0F1`0300L702P700<01`L0:PL00`071`0g1`007`L00`07 1`0/1`0300L700X70`0I1`0300L702P700<01`L0:`L00`071`0f1`0080L00`071`0/1`0300L700L7 0P0L1`0300L702P700<01`L0:`L00`071`0f1`008@L00`071`0/1`0300L700<70`0N1`0300L702T7 00<01`L0:PL00`071`0f1`008PL00`071`0/1`0300L700808PL00`071`0X1`0300L702X700<01`L0 =PL002<700<01`L0:`L302@700<01`L0:0L00`071`0[1`0300L703D7000T1`0300L702P70P021`03 00L7028700<01`L0:0L00`071`0[1`0300L703D7000U1`0300L702@70`051`0300L7024700<01`L0 :@L00`071`0Z1`0300L703D7000V1`0300L702070`091`0300L7020700<01`L0:@L00`071`0Z1`03 00L703D7000W1`0300L701d70P0=1`0300L701l700<01`L0:@L00`071`0[1`0300L703@7000X1`03 00L701T70`0?1`0300L701l700<01`L0:@L00`071`0[1`0300L703@7000Y1`0300L701D70`0C1`03 00L701h700<01`L0:PL00`071`0Z1`0300L703@7000Z1`0300L701870P0G1`0300L701h700<01`L0 :@L00`071`0Z1`0300L703@7000[1`0300L700h70`0J1`0300L701d700<01`L0:@L00`071`0[1`03 00L703<7000/1`0300L700/70P0N1`0300L701`700<01`L0:@L00`071`0[1`0300L703<7000]1`03 00L700L70`0Q1`0300L701/700<01`L0:PL00`071`0Z1`0300L703<7000^1`0300L700<70`0U1`03 00L701X700<01`L0:PL00`071`0Z1`0300L703<7000_1`0300L70080:@L00`071`0I1`0300L702X7 00<01`L0:`L00`071`0b1`00<0L202/700<01`L06@L00`071`0Z1`0300L702/700<01`L00L00`071`0Y1`0300L701<700<01`L0:`L00`071`0[1`0300L70307000i1`0300L702T7 00<01`L04PL00`071`0[1`0300L702/700<01`L0<0L003X700<01`L0:@L00`071`0B1`0300L702/7 00<01`L0:`L00`071`0_1`00>`L00`071`0X1`804`L00`071`0[1`0300L702/700<01`L0;`L003/7 00<01`L09@L300031`00018700<01`L0:`L00`071`0[1`0300L702l7000l1`0300L702870P051`80 4@L00`071`0[1`0300L702/700<01`L0;`L003d700<01`L07PL300L700<01`0040L00`071`0/1`03 00L702/700<01`L0;PL003h700<01`L06PL300X700@01`L03`L00`071`0/1`0300L702/700<01`L0 ;PL003l700<01`L05PL300d700D01`L7000>1`0300L702`700<01`L0:`L00`071`0^1`00@0L00`07 1`0C1`804@L010071`0>1`0300L702`700<01`L0:`L00`071`0^1`00@@L00`071`0?1`<04`L01@07 1`L000h700<01`L0;0L00`071`0[1`0300L702d700121`0300L700/70`0F1`0300L7008700<01`L0 2`L00`071`0/1`0300L702/700<01`L0;@L004<700<01`L01`L301X700<01`L00PL00`071`0:1`03 00L702`700<01`L0:`L00`071`0]1`00A0L00`071`041`807@L00`071`031`0300L700T700<01`L0 ;0L00`071`0[1`0300L702d700151`0300L700<07`L00`071`041`0300L700P700<01`L0;@L00`07 1`0[1`0300L702`700161`808PL00`071`051`0300L700L700<01`L0;@L00`071`0[1`0300L702`7 00171`0300L7024700<01`L01@L00`071`061`0300L702d700<01`L0:`L00`071`0/1`00B0L00`07 1`0P1`0300L700H700<01`L01@L00`071`0]1`0300L702/700<01`L0;0L004T700<01`L07`L00`07 1`071`0300L700D700<01`L0;@L00`071`0[1`0300L702/7001:1`0300L701l700<01`L01`L00`07 1`041`0300L702d700<01`L0:`L00`071`0[1`00B`L00`071`0N1`0300L700L700<01`L010L00`07 1`0]1`0300L702/700<01`L0:`L004`700<01`L07@L00`071`081`0300L700<700<01`L0;@L00`07 1`0[1`0300L702/7001=1`0300L701`700<01`L02@L00`071`021`0300L702h700<01`L0:`L00`07 1`0Z1`00CPL00`071`0L1`0300L700T700D01`L7000`1`0300L702/700<01`L0:PL004l700<01`L0 6`L00`071`0:1`0400L7030700<01`L0:`L00`071`0Z1`00D0L00`071`0J1`0300L700X70P000`L0 1`0_1`0300L702/700<01`L0:PL0054700<01`L06@L00`071`071`<00PL00`07000`1`0300L702/7 00<01`L0:@L0058700<01`L06@L00`071`031`<01@L3030700<01`L0:PL202/7001C1`0300L701P7 00<01`L00`091`80<0L00`071`0W1`<00PL00`071`0X1`00E0L00`071`0G1`<03@L202l700<01`L0 8`L400D700<01`L0:0L005D700<01`L04`L300031`0700d70`0_1`0300L701l70`0:1`0300L702L7 001F1`0300L701070P041`0300L700`70`0_1`0300L701`70`0>1`0300L702H7001G1`0300L700`7 0`061`0300L700`700@01`00;PL00`071`0H1`@04PL00`071`0U1`00F0L00`071`081`<02@L00`07 1`0<1`0300L70080;@L00`071`0E1`<05PL00`071`0U1`00F@L00`071`041`<03@L00`071`0<1`05 00L01`00;@L00`071`0A1`<06PL00`071`0T1`00FPL00`071`03010700<01`L030L01P071`0702`7 00<01`L03@L401h700<01`L08`L005/70P0C1`0300L700`700L01`L700L002/700<01`L02PL30287 00<01`L08`L005`700<01`L04PL00`071`0;1`0500L71`000PL00`071`0X1`0300L700L70`0V1`03 00L70287001M1`0300L7014700<01`L02`L00`071`021`0400L702X700<01`L00PL402X700<01`L0 8@L005h700<01`L040L00`071`0;1`0300L700<700@01`L0:@L00`07000202l700<01`L080L005l7 00<01`L03`L00`071`0;1`0300L700@700@01`L0:0L2038700<01`L080L0060700<01`L03`L00`07 1`0:1`0300L700@700@01`L0:0L203<700<01`L07`L0064700<01`L03PL00`071`0;1`0300L700@7 00@01`L09PL010071`0c1`0300L701h7001R1`0300L700d700<01`L02`L00`071`051`0400L702D7 00@01`L0<`L00`071`0N1`00H`L00`071`0=1`0300L700X700<01`L01@L01@071`L002<700<01`L0 0PL00`071`0a1`0300L701d7001T1`0300L700`700<01`L02PL00`071`061`0300L700808PL00`07 1`031`0300L7034700<01`L070L006D700<01`L02`L00`071`0:1`0300L700H70`021`0300L701h7 00<01`L01@L00`071`0`1`0300L701`7001V1`0300L700X700<01`L02PL00`071`031`<000<700L0 0PL00`071`0N1`0300L700H700<01`L0<0L00`071`0K1`00I`L00`071`0:1`0300L700T700<01`L0 0`051`0500L71`007PL00`071`081`0300L7030700<01`L06PL006P700<01`L02@L00`071`091`<0 2@L01@071`L001d700<01`L020L00`071`0a1`0300L701T7001Y1`0300L700P700<01`L01@L500`7 00D01`L7000K1`0300L700X700<01`L0<0L00`071`0I1`00JPL00`071`081`0400L71`<01@L00`07 1`091`0500L71`006`L00`071`0;1`0300L702l70P0J1`00J`L00`071`071`@020L00`071`0:1`05 00L71`006@L00`071`0=1`0300L702X710021`0300L701L7001/1`0300L700@70`0;1`0300L700/7 00D01`L7000H1`0300L700h700<01`L09PL300H700<01`L05`L006d700<01`L00`021`0300L700T7 00<01`L02`L01@071`L001P700<01`L03`L00`071`0R1`<02PL00`071`0F1`00KPL200H700<01`L0 20L00`071`0<1`0500L71`005PL00`071`0@1`0300L701h7100>1`0300L701D7001f1`0300L700P7 00<01`L03@L01@071`L001D700<01`L04@L00`071`0J1`<04PL00`071`0E1`00MPL00`071`081`03 00L700d700<01`L00PL00`071`0A1`0300L701<700<01`L05@L401H700<01`L050L007L700<01`L0 1`L00`071`0>1`0500L71`004`L00`071`0D1`0300L701470`0K1`0300L701<7001g1`0300L700P7 00<01`L03PL01@071`L0014700<01`L05PL00`071`0<1`@07PL00`071`0C1`00M`L00`071`081`03 00L700l700D01`L7000@1`0300L701L700<01`L020L302<700<01`L04PL007L700<01`L020L00`07 1`0?1`0300L7008700<01`L030L00`071`0H1`0300L700D70`0W1`0300L70147001h1`0300L700L7 00<01`L040L01@071`L000h700<01`L06@L00`071`0402/700<01`L040L007P700<01`L01`L00`07 1`0A1`0500L71`0030L00`071`0J1`<0;`L00`071`0@1`00N0L00`071`071`0300L7014700<01`L0 0PL00`071`091`0300L701L70`021`0300L702h700<01`L03`L007T700<01`L01PL00`071`0B1`05 00L71`002`L00`071`0C1`@01PL00`071`0^1`0300L700h7001i1`0300L700H700<01`L04`L01@07 1`L000T700<01`L04@L300X700<01`L0;PL00`071`0>1`00N@L00`071`071`0300L7018700<01`L0 0PL00`071`061`0300L700h70`0>1`0300L702h700<01`L03@L007T700<01`L01`L00`071`0C1`03 00L7008700<01`L010L00`071`0<1`<04PL00`071`0^1`0300L700`7001j1`0300L700H700<01`L0 50L01@071`L000H700<01`L020L401H700<01`L0;@L00`071`0<1`00NPL00`071`061`0300L701D7 00D01`L700041`0300L700H70`0K1`0300L702d700<01`L02`L007X700<01`L01PL00`071`0E1`03 00L7008700D01`L700051`<07PL00`071`0^1`0300L700X7001j1`0300L700H700<01`L05PL01@07 1`L0008700@01`L70`0R1`0300L702d700<01`L02PL007/700<01`L01@L00`071`0G1`0600L71`07 100V1`0300L702`70P0;1`00N`L00`071`051`0300L701L700<01`L00`0[1`0300L702L7100=1`00 N`L00`071`061`0300L701L70P021`80:`L00`071`0S1`<04@L007`700<01`L01@L00`071`0G1`80 00@700L0;0L00`071`0N1`@050L007`700<01`L01@L00`071`0F1`0300L700800PL00`071`0Y1`03 00L701/70`0H1`00O0L00`071`051`0300L701H700D01`L700031`0300L702T700<01`L05PL401/7 001l1`0300L700D700<01`L05@L01`071`L01`000PL00`071`0Z1`0300L70147100O1`00O@L00`07 1`041`0300L701D700D01`L700021`0400L702`700<01`L03@L302<7001m1`0300L700@700<01`L0 5@L010071`041`0400L702`700<01`L020L402H7001m1`0300L700@700<01`L050L01@071`L000D7 00@01`L0:`L00`071`051`<0:PL007h700<01`L010L00`071`0C1`0400L700L700<01`00;0L00`07 1`0402d7001n1`0300L700@700<01`L04`L010071`081`0300L002/70`0a1`00OPL00`071`041`03 00L7018700@01`L02PL00`07000V1`@0=0L007h700<01`L010L00`071`0B1`0400L700X700@01`L0 8PL303P7001o1`0300L700<700<01`L04@L010071`0<1`0300L001l70`0k1`00O`L00`071`031`03 00L7014700@01`L03@L00`07000J1`@0?PL007l700<01`L00`L00`071`0A1`0300L000l700<01`00 5PL3048700201`0300L7008700<01`L040L010071`0@1`804`L304D700201`0300L700<700<01`L0 3`L010071`0A1`803PL404P700201`0300L700<700<01`L03PL010071`0C1`802PL304`700201`03 00L700<700<01`L03PL010071`0D1`801PL304l700211`0300L7008700<01`L03PL00`07000F1`03 00L700@0DPL0084700<01`L00PL00`071`0=1`0400L701L70P1F1`00P@L00`071`021`0300L700d7 00<01`00L0L0088700D01`L7000?1`0300L0070700221`0500L71`003PL00`07001a1`00PPL00`07 1`021`0300L700/700<01`00L@L0088700<01`L00PL00`071`0:1`0300L0078700231`0500L71`00 30L00`07001b1`00P`L01@071`L000`70P1c1`00P`L01@071`L000/700<01`00L`L008@700@01`L0 2`L00`07001c1`00Q0L010071`0:1`0300L007@700241`0400L700X700<01`00M0L008@700D01`L7 00091`80M@L008D700@01`L020L00`07001e1`00Q@L010071`081`80MPL008D700@01`L020L207H7 00251`0400L700L70P1g1`00QPL00`0700071`80M`L008H700<01`001PL207P700261`0300L000H7 0P1h1`00Q`L00`0700051`80N0L008L700<01`0010L207T700271`0300L000@70P1i1`00Q`L00`07 00031`80NPL008P70P031`80NPL008P70P031`0300L707T700281`800PL207/700291`0400L707`7 00291`8000<700L0N`L008T70`1m1`00R@L307d7002:1`0300L707`7002:1`0300L707`7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7 003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X7003o1`X70000\ \>"], ImageRangeCache->{{{152, 416}, {467.562, 181.562}} -> {-0.446965, 0.590966, 0.00325492, 0.00325492}}], Cell[BoxData[ TagBox[\(\[SkeletonIndicator] SurfaceGraphics \[SkeletonIndicator]\), False, Editable->False]], "Output"] }, Open ]], Cell["The sparse approximation based on 5x5 basis functions:", "Text"], Cell[CellGroupData[{ Cell[BoxData[ \(ListPlot3D[ Partition[ Sparse9 . Sparse5 . {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1}, 17], PlotRange \[Rule] All, Boxed \[Rule] False, Axes \[Rule] False, BoxRatios \[Rule] {1, 1, 1}] \)], "Input", AspectRatioFixed->True], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: 1.0855 MathPictureStart /Mabs { Mgmatrix idtransform Mtmatrix dtransform } bind def /Mabsadd { Mabs 3 -1 roll add 3 1 roll add exch } bind def %% SurfaceGraphics %%IncludeResource: font Courier %%IncludeFont: Courier /Courier findfont 10 scalefont setfont % Scaling calculations -0.0567234 1.16608 0 1.16608 [ [ 0 0 0 0 ] [ 1 1.0855 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath 0 0 m 1 0 L 1 1.0855 L 0 1.0855 L closepath clip newpath .5 Mabswid [ ] 0 setdash .669 .733 .897 r .39825 .62324 .41593 .64061 .44556 .63125 .42811 .61368 Metetra .665 .732 .899 r .42811 .61368 .44556 .63125 .47552 .62363 .45831 .60435 Metetra .678 .719 .88 r .45831 .60435 .47552 .62363 .50591 .60838 .48889 .5937 Metetra .64 .764 .938 r .48889 .5937 .50591 .60838 .53652 .58032 .51982 .5858 Metetra .629 .111 0 r .51982 .5858 .53652 .58032 .56799 .61821 .55137 .60332 Metetra 0 .279 .745 r .55137 .60332 .56799 .61821 .60049 .64234 .58392 .62402 Metetra 0 .336 .811 r .58392 .62402 .60049 .64234 .63411 .66732 .61754 .64539 Metetra .124 .424 .867 r .61754 .64539 .63411 .66732 .66963 .70938 .65217 .66471 Metetra .627 .563 .