diff options
author | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2003-04-15 17:12:59 +0000 |
---|---|---|
committer | jthorn <jthorn@df1f8a13-aa1d-4dd4-9681-27ded5b42416> | 2003-04-15 17:12:59 +0000 |
commit | 96309eb56861333d6e3111c5a3cb54c9426a1d61 (patch) | |
tree | 4ce9825883ea56e3a4f16bd910974de4a4c48044 /src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple | |
parent | 5a8da73fce7752d0e3ee52fe8fb1149009b3305c (diff) |
new machine-generated coefficient files for this interpolator
(with Lagrange now split into tensor-product and maximum-degree
interpolators)
git-svn-id: http://svn.cactuscode.org/arrangements/CactusBase/LocalInterp/trunk@144 df1f8a13-aa1d-4dd4-9681-27ded5b42416
Diffstat (limited to 'src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple')
-rw-r--r-- | src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple | 306 |
1 files changed, 306 insertions, 0 deletions
diff --git a/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple new file mode 100644 index 0000000..e363b10 --- /dev/null +++ b/src/GeneralizedPolynomial-Uniform/Lagrange-tensor-product/fns.maple @@ -0,0 +1,306 @@ +# Maple code to define Lagrange interpolating functions/coords/coeffs +# $Header$ + +################################################################################ + +# +# 1-D interpolating functions +# + +fn_1d_order1 := +proc(x) ++ c0 + c1*x +end proc; + +fn_1d_order2 := +proc(x) ++ c0 + c1*x + c2*x^2 +end proc; + +fn_1d_order3 := +proc(x) ++ c0 + c1*x + c2*x^2 + c3*x^3 +end proc; + +fn_1d_order4 := +proc(x) ++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 +end; + +fn_1d_order5 := +proc(x) ++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 +end; + +fn_1d_order6 := +proc(x) ++ c0 + c1*x + c2*x^2 + c3*x^3 + c4*x^4 + c5*x^5 + c6*x^6 +end; + +######################################## + +# coordinates for 1-D interpolating functions +coords_list_1d := [x]; + +######################################## + +# +# coefficients in 1-D interpolating functions +# + +coeffs_list_1d_order1 := [c0, c1]; +coeffs_list_1d_order2 := [c0, c1, c2]; +coeffs_list_1d_order3 := [c0, c1, c2, c3]; +coeffs_list_1d_order4 := [c0, c1, c2, c3, c4]; +coeffs_list_1d_order5 := [c0, c1, c2, c3, c4, c5]; +coeffs_list_1d_order6 := [c0, c1, c2, c3, c4, c5, c6]; + +################################################################################ + +# +# 2-D interpolating functions (tensor-product) +# + +fn_2d_order1 := +proc(x,y) ++ c01*y + c11*x*y ++ c00 + c10*x +end proc; + +fn_2d_order2 := +proc(x,y) ++ c02*y^2 + c12*x*y^2 + c22*x^2*y^2 ++ c01*y + c11*x*y + c21*x^2*y ++ c00 + c10*x + c20*x^2 +end proc; + +fn_2d_order3 := +proc(x,y) ++ c03*y^3 + c13*x*y^3 + c23*x^2*y^3 + c33*x^3*y^3 ++ c02*y^2 + c12*x*y^2 + c22*x^2*y^2 + c32*x^3*y^2 ++ c01*y + c11*x*y + c21*x^2*y + c31*x^3*y ++ c00 + c10*x + c20*x^2 + c30*x^3 +end proc; + +fn_2d_order4 := +proc(x,y) ++ c04*y^4 + c14*x*y^4 + c24*x^2*y^4 + c34*x^3*y^4 + c44*x^4*y^4 ++ c03*y^3 + c13*x*y^3 + c23*x^2*y^3 + c33*x^3*y^3 + c43*x^4*y^3 ++ c02*y^2 + c12*x*y^2 + c22*x^2*y^2 + c32*x^3*y^2 + c42*x^4*y^2 ++ c01*y + c11*x*y + c21*x^2*y + c31*x^3*y + c41*x^4*y ++ c00 + c10*x + c20*x^2 + c30*x^3 + c40*x^4 +end; + +######################################## + +# coordinates for 2-D interpolating functions +coords_list_2d := [x,y]; + +######################################## + +# +# coefficients in 2-D interpolating functions (tensor-product) +# + +coeffs_list_2d_order1 := [ + c01, c11, + c00, c10 + ]; +coeffs_list_2d_order2 := [ + c02, c12, c22, + c01, c11, c21, + c00, c10, c20 + ]; +coeffs_list_2d_order3 := [ + c03, c13, c23, c33, + c02, c12, c22, c23, + c01, c11, c21, c13, + c00, c10, c20, c30 + ]; +coeffs_list_2d_order4 := [ + c04, c14, c24, c34, c44, + c03, c13, c23, c33, c43, + c02, c12, c22, c32, c42, + c01, c11, c21, c31, c41, + c00, c10, c20, c30, c40 + ]; + +################################################################################ + +# +# 3-D interpolating functions (tensor-product) +# + +fn_3d_order1 := +proc(x,y,z) +# z^1 ------------------- ++ c011 *y*z + c111*x*y*z ++ c001 *z + c101*x *z +# z^0 ------------------- ++ c010 *y + c110*x*y ++ c000 + c100*x +end proc; + +fn_3d_order2 := +proc(x,y,z) +# z^2 -------------------------------------------------- ++ c022 *y^2*z^2 + c122*x *y^2*z^2 + c222*x^2*y^2*z^2 ++ c012 *y *z^2 + c112*x *y *z^2 + c212*x^2*y *z^2 ++ c002 *z^2 + c102*x *z^2 + c202*x^2 *z^2 +# z -------------------------------------------------- ++ c021 *y^2*z + c121*x *y^2*z + c221*x^2*y^2*z ++ c011 *y *z + c111*x *y *z + c211*x^2*y *z ++ c001 *z + c101*x *z + c201*x^2 *z +# z^0 ------------------------------------------------ ++ c020 *y^2 + c120*x *y^2 + c220*x^2*y^2 ++ c010 *y + c110*x *y + c210*x^2*y ++ c000 + c100*x + c200*x^2 +end proc; + +fn_3d_order3 := +proc(x,y,z) +# z^3 --------------------------------------------------------------------- ++ c033 *y^3*z^3 + c133*x *y^3*z^3 + c233*x^2*y^3*z^3 + c333*x^3*y^3*z^3 ++ c023 *y^2*z^3 + c123*x *y^2*z^3 + c223*x^2*y^2*z^3 + c323*x^3*y^2*z^3 ++ c013 *y *z^3 + c113*x *y *z^3 + c213*x^2*y *z^3 + c313*x^3*y *z^3 ++ c003 *z^3 + c103*x *z^3 + c203*x^2 *z^3 + c303*x^3 *z^3 +# z^2 --------------------------------------------------------------------- ++ c032 *y^3*z^2 + c132*x *y^3*z^2 + c232*x^2*y^3*z^2 + c332*x^3*y^3*z^2 ++ c022 *y^2*z^2 + c122*x *y^2*z^2 + c222*x^2*y^2*z^2 + c322*x^3*y^2*z^2 ++ c012 *y *z^2 + c112*x *y *z^2 + c212*x^2*y *z^2 + c312*x^3*y *z^2 ++ c002 *z^2 + c102*x *z^2 + c202*x^2 *z^2 + c302*x^3 *z^2 +# z --------------------------------------------------------------------- ++ c031 *y^3*z + c131*x *y^3*z + c231*x^2*y^3*z + c331*x^3*y^3*z ++ c021 *y^2*z + c121*x *y^2*z + c221*x^2*y^2*z + c321*x^3*y^2*z ++ c011 *y *z + c111*x *y *z + c211*x^2*y *z + c311*x^3*y *z ++ c001 *z + c101*x *z + c201*x^2 *z + c301*x^3 *z +# z^0 --------------------------------------------------------------------- ++ c030 *y^3 + c130*x *y^3 + c230*x^2*y^3 + c330*x^3*y^3 ++ c020 *y^2 + c120*x *y^2 + c220*x^2*y^2 + c320*x^3*y^2 ++ c010 *y + c110*x *y + c210*x^2*y + c310*x^3*y ++ c000 + c100*x + c200*x^2 + c300*x^3 +end proc; + +fn_3d_order4 := +proc(x,y,z) +# z^4 ---------------------------------------------------------------------------------------- ++ c044 *y^4*z^4 + c144*x *y^4*z^4 + c244*x^2*y^4*z^4 + c344*x^3*y^4*z^4 + c444*x^4*y^4*z^4 ++ c034 *y^3*z^4 + c134*x *y^3*z^4 + c234*x^2*y^3*z^4 + c334*x^3*y^3*z^4 + c434*x^4*y^3*z^4 ++ c024 *y^2*z^4 + c124*x *y^2*z^4 + c224*x^2*y^2*z^4 + c324*x^3*y^2*z^4 + c424*x^4*y^2*z^4 ++ c014 *y *z^4 + c114*x *y *z^4 + c214*x^2*y *z^4 + c314*x^3*y *z^4 + c414*x^4*y *z^4 ++ c004 *z^4 + c104*x *z^4 + c204*x^2 *z^4 + c304*x^3 *z^4 + c404*x^4 *z^4 +# z^3 ---------------------------------------------------------------------------------------- ++ c043 *y^4*z^3 + c143*x *y^4*z^3 + c243*x^2*y^4*z^3 + c343*x^3*y^4*z^3 + c443*x^4*y^4*z^3 ++ c033 *y^3*z^3 + c133*x *y^3*z^3 + c233*x^2*y^3*z^3 + c333*x^3*y^3*z^3 + c433*x^4*y^3*z^3 ++ c023 *y^2*z^3 + c123*x *y^2*z^3 + c223*x^2*y^2*z^3 + c323*x^3*y^2*z^3 + c423*x^4*y^2*z^3 ++ c013 *y *z^3 + c113*x *y *z^3 + c213*x^2*y *z^3 + c313*x^3*y *z^3 + c413*x^4*y *z^3 ++ c003 *z^3 + c103*x *z^3 + c203*x^2 *z^3 + c303*x^3 *z^3 + c403*x^4 *z^3 +# z^2 ---------------------------------------------------------------------------------------- ++ c042 *y^4*z^2 + c142*x *y^4*z^2 + c242*x^2*y^4*z^2 + c342*x^3*y^4*z^2 + c442*x^4*y^4*z^2 ++ c032 *y^3*z^2 + c132*x *y^3*z^2 + c232*x^2*y^3*z^2 + c332*x^3*y^3*z^2 + c432*x^4*y^3*z^2 ++ c022 *y^2*z^2 + c122*x *y^2*z^2 + c222*x^2*y^2*z^2 + c322*x^3*y^2*z^2 + c422*x^4*y^2*z^2 ++ c012 *y *z^2 + c112*x *y *z^2 + c212*x^2*y *z^2 + c312*x^3*y *z^2 + c412*x^4*y *z^2 ++ c002 *z^2 + c102*x *z^2 + c202*x^2 *z^2 + c302*x^3 *z^2 + c402*x^4 *z^2 +# z ---------------------------------------------------------------------------------------- ++ c041 *y^4*z + c141*x *y^4*z + c241*x^2*y^4*z + c341*x^3*y^4*z + c441*x^4*y^4*z ++ c031 *y^3*z + c131*x *y^3*z + c231*x^2*y^3*z + c331*x^3*y^3*z + c431*x^4*y^3*z ++ c021 *y^2*z + c121*x *y^2*z + c221*x^2*y^2*z + c321*x^3*y^2*z + c421*x^4*y^2*z ++ c011 *y *z + c111*x *y *z + c211*x^2*y *z + c311*x^3*y *z + c411*x^4*y *z ++ c001 *z + c101*x *z + c201*x^2 *z + c301*x^3 *z + c401*x^4 *z +# z^0 ---------------------------------------------------------------------------------------- ++ c040 *y^4 + c140*x *y^4 + c240*x^2*y^4 + c340*x^3*y^4 + c440*x^4*y^4 ++ c030 *y^3 + c130*x *y^3 + c230*x^2*y^3 + c330*x^3*y^3 + c430*x^4*y^3 ++ c020 *y^2 + c120*x *y^2 + c220*x^2*y^2 + c320*x^3*y^2 + c420*x^4*y^2 ++ c010 *y + c110*x *y + c210*x^2*y + c310*x^3*y + c410*x^4*y ++ c000 + c100*x + c200*x^2 + c300*x^3 + c400*x^4 +end; + +######################################## + +# coordinates for 3-D interpolating functions +coords_list_3d := [x,y,z]; + +######################################## + +# +# coefficients in 3-D interpolating functions +# + +coeffs_list_3d_order1 := [ + # z^1 ----- + c011, c111, + c001, c101, + # z^0 ----- + c010, c110, + c000, c100 + ]; +coeffs_list_3d_order2 := [ + # z^2 ----------- + c022, c122, c222, + c012, c112, c212, + c002, c102, c202, + # z^1 ----------- + c021, c121, c221, + c011, c111, c211, + c001, c101, c201, + # z^0 ----------- + c020, c120, c220, + c010, c110, c210, + c000, c100, c200 + ]; +coeffs_list_3d_order3 := [ + # z^3 ----------------- + c033, c133, c233, c333, + c023, c123, c223, c323, + c013, c113, c213, c313, + c003, c103, c203, c303, + # z^2 ----------------- + c032, c132, c232, c332, + c022, c122, c222, c322, + c012, c112, c212, c312, + c002, c102, c202, c302, + # z^1 ----------------- + c031, c131, c231, c331, + c021, c121, c221, c321, + c011, c111, c211, c311, + c001, c101, c201, c301, + # z^0 ----------------- + c030, c130, c230, c330, + c020, c120, c220, c320, + c010, c110, c210, c310, + c000, c100, c200, c300 + ]; +coeffs_list_3d_order4 := [ + # z^4 ----------------------- + c044, c144, c244, c344, c444, + c034, c134, c234, c334, c434, + c024, c124, c224, c324, c424, + c014, c114, c214, c314, c414, + c004, c104, c204, c304, c404, + # z^3 ----------------------- + c043, c143, c243, c343, c443, + c033, c133, c233, c333, c433, + c023, c123, c223, c323, c423, + c013, c113, c213, c313, c413, + c003, c103, c203, c303, c403, + # z^2 ----------------------- + c042, c142, c242, c342, c442, + c032, c132, c232, c332, c432, + c022, c122, c222, c322, c422, + c012, c112, c212, c312, c412, + c002, c102, c202, c302, c402, + # z^1 ----------------------- + c041, c141, c241, c341, c441, + c031, c131, c231, c331, c431, + c021, c121, c221, c321, c421, + c011, c111, c211, c311, c411, + c001, c101, c201, c301, c401, + # z^0 ----------------------- + c040, c140, c240, c340, c440, + c030, c130, c230, c330, c430, + c020, c120, c220, c320, c420, + c010, c110, c210, c310, c410, + c000, c100, c200, c300, c400 + ]; + +################################################################################ |