#LyX 1.6.8 created this file. For more info see http://www.lyx.org/ \lyxformat 345 \begin_document \begin_header \textclass amsart \use_default_options false \begin_modules theorems-ams eqs-within-sections figs-within-sections \end_modules \language english \inputencoding auto \font_roman ae \font_sans default \font_typewriter default \font_default_family default \font_sc false \font_osf false \font_sf_scale 100 \font_tt_scale 100 \graphics default \paperfontsize default \spacing single \use_hyperref false \papersize letterpaper \use_geometry false \use_amsmath 1 \use_esint 1 \cite_engine basic \use_bibtopic false \paperorientation portrait \secnumdepth 3 \tocdepth 3 \paragraph_separation skip \defskip bigskip \quotes_language english \papercolumns 1 \papersides 1 \paperpagestyle default \tracking_changes false \output_changes false \author "" \author "" \end_header \begin_body \begin_layout Title Spline3 \end_layout \begin_layout Author Michael Orlitzky \end_layout \begin_layout Example* First, will will define our grid \begin_inset Formula $G$ \end_inset to be over a \begin_inset Formula $3\times3\times3$ \end_inset cube having grid size \begin_inset Formula $h=1$ \end_inset . \end_layout \begin_layout Example* To test the reproduction of trilinears, we will take the function (per Sorokina and Zeilfelder, p. 88), \end_layout \begin_layout Example* \begin_inset Formula \[ f\left(x,y,z\right)=1+x+xy+xyz\] \end_inset \end_layout \begin_layout Example* and compute its value at the 27 points, \begin_inset Formula $\left(0,0,0\right),\left(0,0,1\right),\dots\left(2,2,2\right)$ \end_inset . \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: x,y,z = var('x,y,z') \end_layout \begin_layout Plain Layout sage: f = 1 + x + x*y + x*y*z \end_layout \begin_layout Plain Layout sage: f(x=0, y=0, z=0) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=0, z=0) \end_layout \begin_layout Plain Layout 2 \end_layout \begin_layout Plain Layout sage: f(x=2, y=0, z=0) \end_layout \begin_layout Plain Layout 3 \end_layout \begin_layout Plain Layout sage: f(x=0, y=1, z=0) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=1, z=0) \end_layout \begin_layout Plain Layout 3 \end_layout \begin_layout Plain Layout sage: f(x=2, y=1, z=0) \end_layout \begin_layout Plain Layout 5 \end_layout \begin_layout Plain Layout sage: f(x=0, y=2, z=0) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=2, z=0) \end_layout \begin_layout Plain Layout 4 \end_layout \begin_layout Plain Layout sage: f(x=2, y=2, z=0) \end_layout \begin_layout Plain Layout 7 \end_layout \begin_layout Plain Layout sage: f(x=0, y=0, z=1) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=0, z=1) \end_layout \begin_layout Plain Layout 2 \end_layout \begin_layout Plain Layout sage: f(x=2, y=0, z=1) \end_layout \begin_layout Plain Layout 3 \end_layout \begin_layout Plain Layout sage: f(x=0, y=1, z=1) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=1, z=1) \end_layout \begin_layout Plain Layout 4 \end_layout \begin_layout Plain Layout sage: f(x=2, y=1, z=1) \end_layout \begin_layout Plain Layout 7 \end_layout \begin_layout Plain Layout sage: f(x=0, y=2, z=1) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=2, z=1) \end_layout \begin_layout Plain Layout 6 \end_layout \begin_layout Plain Layout sage: f(x=2, y=2, z=1) \end_layout \begin_layout Plain Layout 11 \end_layout \begin_layout Plain Layout sage: f(x=0, y=0, z=2) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=0, z=2) \end_layout \begin_layout Plain Layout 2 \end_layout \begin_layout Plain Layout sage: f(x=2, y=0, z=2) \end_layout \begin_layout Plain Layout 3 \end_layout \begin_layout Plain Layout sage: f(x=0, y=1, z=2) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=1, z=2) \end_layout \begin_layout Plain Layout 5 \end_layout \begin_layout Plain Layout sage: f(x=2, y=1, z=2) \end_layout \begin_layout Plain Layout 9 \end_layout \begin_layout Plain Layout sage: f(x=0, y=2, z=2) \end_layout \begin_layout Plain Layout 1 \end_layout \begin_layout Plain Layout sage: f(x=1, y=2, z=2) \end_layout \begin_layout Plain Layout 8 \end_layout \begin_layout Plain Layout sage: f(x=2, y=2, z=2) \end_layout \begin_layout Plain Layout 15 \end_layout \end_inset \end_layout \begin_layout Example* We are most interested in the \begin_inset Quotes eld \end_inset interior \begin_inset Quotes erd \end_inset cube centered at \begin_inset Formula $\left(1,1,1\right)$ \end_inset with datum \begin_inset Formula $4$ \end_inset . We can enter the data above into a list, \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: g = [[[ f(x=a, y=b, z=c) for a in range(0,3) ] for b in range(0,3) ] for c in range(0,3) ] \end_layout \begin_layout Plain Layout sage: g \end_layout \begin_layout Plain Layout [[[1, 2, 3], [1, 3, 5], [1, 4, 7]], \end_layout \begin_layout Plain Layout [[1, 2, 3], [1, 4, 7], [1, 6, 11]], \end_layout \begin_layout Plain Layout [[1, 2, 3], [1, 5, 9], [1, 8, 15]]] \end_layout \end_inset \end_layout \begin_layout Example* although the list will be indexed by \begin_inset Formula $\left(z,y,x\right)$ \end_inset so we define a function to access it by \begin_inset Formula $\left(x,y,z\right)$ \end_inset , \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: def grid(x,y,z): \end_layout \begin_layout Plain Layout ....: return g[z][y][x] \end_layout \end_inset \end_layout \begin_layout Example* and define directional functions according to Sorokina and Zeilfelder, p. 81. \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: def I(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x,y,z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def F(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def B(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def L(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y-1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def R(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y+1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def T(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def D(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FL(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y-1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FR(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y+1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BL(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y-1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BR(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y+1, z) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def LD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y-1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def LT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y-1, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def RD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y+1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def RT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x, y+1, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FLD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y-1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FLT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y-1, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FRD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y+1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def FRT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x-1, y+1, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BLD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y-1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BLT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y-1, z+1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BRD(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y+1, z-1) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: def BRT(x,y,z): \end_layout \begin_layout Plain Layout ....: return grid(x+1, y+1, z+1) \end_layout \end_inset \end_layout \begin_layout Example* Next, we define the coefficients for the cube centered on \begin_inset Formula $\left(1,1,1\right)$ \end_inset based on these directional functions. \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: c0030 = (1/8)*( I(1,1,1) + F(1,1,1) + L(1,1,1) + T(1,1,1) + \end_layout \begin_layout Plain Layout LT(1,1,1) + FL(1,1,1) + FT(1,1,1) + FLT(1,1,1) ) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0003 = (1/8)*( I(1,1,1) + F(1,1,1) + R(1,1,1) + T(1,1,1) + \end_layout \begin_layout Plain Layout RT(1,1,1) + FR(1,1,1) + FT(1,1,1) + FRT(1,1,1) ) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0021 = (5/24)*(I(1,1,1) + F(1,1,1) + T(1,1,1) + FT(1,1,1)) + \end_layout \begin_layout Plain Layout (1/24)*(L(1,1,1) + FL(1,1,1) + LT(1,1,1) + FLT(1,1,1)) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0012 = (5/24)*(I(1,1,1) + F(1,1,1) + T(1,1,1) + FT(1,1,1)) + \end_layout \begin_layout Plain Layout (1/24)*(R(1,1,1) + FR(1,1,1) + RT(1,1,1) + FRT(1,1,1)) \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout \end_layout \end_inset \end_layout \begin_layout Example* We can see what the constant values are now: \end_layout \begin_layout Example* \begin_inset listings inline false status open \begin_layout Plain Layout sage: c0030 \end_layout \begin_layout Plain Layout 17/8 \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0003 \end_layout \begin_layout Plain Layout 27/8 \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0021 \end_layout \begin_layout Plain Layout 61/24 \end_layout \begin_layout Plain Layout \end_layout \begin_layout Plain Layout sage: c0012 \end_layout \begin_layout Plain Layout 71/24 \end_layout \end_inset \end_layout \end_body \end_document