From: guido Date: Thu, 31 Mar 2005 16:58:18 +0000 (+0000) Subject: compute embedding using FETools X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=32cdbd783c2cbd83cdb97cb52945c8ac8949bd72;p=dealii-svn.git compute embedding using FETools git-svn-id: https://svn.dealii.org/trunk@10331 0785d39b-7218-0410-832d-ea1e28bc413d --- diff --git a/deal.II/deal.II/source/fe/fe_dgp.cc b/deal.II/deal.II/source/fe/fe_dgp.cc index 0d66e2951d..6e3ddda46b 100644 --- a/deal.II/deal.II/source/fe/fe_dgp.cc +++ b/deal.II/deal.II/source/fe/fe_dgp.cc @@ -12,6 +12,7 @@ //--------------------------------------------------------------------------- #include +#include #ifdef HAVE_STD_STRINGSTREAM # include @@ -31,39 +32,20 @@ FE_DGP::FE_DGP (const unsigned int degree) std::vector >(FiniteElementData( get_dpo_vector(degree), 1, degree).dofs_per_cell, std::vector(1,true))) { - // if defined, copy over matrices - // from precomputed arrays - if ((degree < Matrices::n_embedding_matrices) && - (Matrices::embedding[degree][0] != 0)) - for (unsigned int c=0; c::children_per_cell; ++c) - { - this->prolongation[c].reinit (this->dofs_per_cell, - this->dofs_per_cell); - this->prolongation[c].fill (Matrices::embedding[degree][c]); - } - else - for (unsigned int i=0; i::children_per_cell;++i) - this->prolongation[i].reinit(0,0); + for (unsigned int i=0; i::children_per_cell; ++i) + this->prolongation[i].reinit (this->dofs_per_cell, + this->dofs_per_cell); + FETools::compute_embedding_matrices (*this, &this->prolongation[0]); // restriction can be defined // through projection for // discontinuous elements, but is // presently not implemented for DGP // elements. - // + +//TODO: Do the restriction // if it were, then the following // snippet would be the right code -// this->restriction[i].reinit (this->dofs_per_cell, this->dofs_per_cell); -// if ((degree < Matrices::n_projection_matrices) && -// (Matrices::projection_matrices[degree] != 0)) -// { -// restriction[0].fill (Matrices::projection_matrices[degree]); -// } -// else -// // matrix undefined, set size to zero -// for (unsigned int i=0;i::children_per_cell;++i) -// restriction[i].reinit(0, 0); - // note further, that these // elements have neither support // nor face-support points, so diff --git a/deal.II/deal.II/source/fe/fe_dgp_1d.cc b/deal.II/deal.II/source/fe/fe_dgp_1d.cc deleted file mode 100644 index 3c608c069b..0000000000 --- a/deal.II/deal.II/source/fe/fe_dgp_1d.cc +++ /dev/null @@ -1,176 +0,0 @@ -//--------------------------------------------------------------------------- -// $Id$ -// Version: $Name$ -// -// Copyright (C) 2002, 2003, 2004, 2005 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//--------------------------------------------------------------------------- - - -// only compile in 1d -#if deal_II_dimension == 1 - -#include - -// Transfer matrices for finite elements - -#define SQRT3 1.732050807569 - -namespace FE_DGP_1d -{ - static const double dgp0_into_dgp0_refined_0[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_1[] = - { - 1., - }; - - static const double dgp1_into_dgp1_refined_0[] = - { - 1., -SQRT3/2., - 0, .5, - }; - - static const double dgp1_into_dgp1_refined_1[] = - { - 1., SQRT3/2., - 0, .5, - }; - - static const double dgp2_into_dgp2_refined_0[] = - { - 1., -SQRT3/2., 0, - 0, .5, -26.14263759/27., - 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_1[] = - { - 1., SQRT3/2., 0, - 0, .5, 26.14263759/27., - 0, 0, .25, - }; - - static const double dgp3_into_dgp3_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., - 0, 0, .25, -19.96676927/27., - 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., - 0, 0, .25, 19.96676927/27., - 0, 0, 0, .125, - }; - - static const double dgp4_into_dgp4_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., - 0, 0, .25, -19.96676927/27., 22.64018827/27., - 0, 0, 0, .125, -13.39411601/27., - 0, 0, 0, 0, 1./16., - }; - - static const double dgp4_into_dgp4_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., - 0, 0, .25, 19.96676927/27., 22.64018827/27., - 0, 0, 0, .125, 13.39411601/27., - 0, 0, 0, 0, 1./16., - }; - - static const double dgp5_into_dgp5_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., - 0, 0, 0, 0, 1./16., -8.395206501/27., - 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp5_into_dgp5_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., - 0, 0, 0, 0, 1./16., 8.395206501/27., - 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp6_into_dgp6_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., -2.634608531/27., - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., -10.20379496/27., - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., -16.09772402/27., - 0, 0, 0, 0, 1./16., -8.395206501/27., 18.25310333/27., - 0, 0, 0, 0, 0, 1./32., -5.044891251/27., - 0, 0, 0, 0, 0, 0, 1./64., - }; - - static const double dgp6_into_dgp6_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., 2.634608531/27., - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., -10.20379496/27., - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., 16.09772402/27., - 0, 0, 0, 0, 1./16., 8.395206501/27., 18.25310333/27., - 0, 0, 0, 0, 0, 1./32., 5.044891251/27., - 0, 0, 0, 0, 0., 0., 1./64., - }; -} - - -template <> -const double * const -FE_DGP<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell] = -{ - {FE_DGP_1d::dgp0_into_dgp0_refined_0, FE_DGP_1d::dgp0_into_dgp0_refined_1}, - {FE_DGP_1d::dgp1_into_dgp1_refined_0, FE_DGP_1d::dgp1_into_dgp1_refined_1}, - {FE_DGP_1d::dgp2_into_dgp2_refined_0, FE_DGP_1d::dgp2_into_dgp2_refined_1}, - {FE_DGP_1d::dgp3_into_dgp3_refined_0, FE_DGP_1d::dgp3_into_dgp3_refined_1}, - {FE_DGP_1d::dgp4_into_dgp4_refined_0, FE_DGP_1d::dgp4_into_dgp4_refined_1}, - {FE_DGP_1d::dgp5_into_dgp5_refined_0, FE_DGP_1d::dgp5_into_dgp5_refined_1}, - {FE_DGP_1d::dgp6_into_dgp6_refined_0, FE_DGP_1d::dgp6_into_dgp6_refined_1} -}; - -template <> -const unsigned int FE_DGP<1>::Matrices::n_embedding_matrices -= sizeof(FE_DGP<1>::Matrices::embedding) / -sizeof(FE_DGP<1>::Matrices::embedding[0]); - - -/* - * These elements are not defined by interpolation, therefore there - * are no interpolation matrices. - */ - -template <> -const double * const FE_DGP<1>::Matrices::projection_matrices[][GeometryInfo<1>::children_per_cell] = {{0}}; - -template <> -const unsigned int FE_DGP<1>::Matrices::n_projection_matrices -= 0; - - -#else // #if deal_II_dimension -// On gcc2.95 on Alpha OSF1, the native assembler does not like empty -// files, so provide some dummy code -namespace { void dummy () {} } -#endif // #if deal_II_dimension diff --git a/deal.II/deal.II/source/fe/fe_dgp_2d.cc b/deal.II/deal.II/source/fe/fe_dgp_2d.cc deleted file mode 100644 index 13cc0f43bb..0000000000 --- a/deal.II/deal.II/source/fe/fe_dgp_2d.cc +++ /dev/null @@ -1,533 +0,0 @@ -//--------------------------------------------------------------------------- -// $Id$ -// Version: $Name$ -// -// Copyright (C) 2002, 2003, 2004, 2005 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//--------------------------------------------------------------------------- - - -// only compile in 2d -#if deal_II_dimension == 2 - -#include - -// Transfer matrices for finite elements - -#define SQRT3 1.732050807569 - -namespace FE_DGP_2d -{ - static const double dgp0_into_dgp0_refined_0[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_1[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_2[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_3[] = - { - 1., - }; - - static const double dgp1_into_dgp1_refined_0[] = - { - 1., -SQRT3/2., -SQRT3/2., - 0, .5, 0, - 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_1[] = - { - 1., SQRT3/2., -SQRT3/2., - 0, .5, 0, - 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_2[] = - { - 1., SQRT3/2., SQRT3/2., - 0, .5, 0, - 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_3[] = - { - 1., -SQRT3/2., SQRT3/2., - 0, .5, 0, - 0, 0, .5, - }; - - static const double dgp2_into_dgp2_refined_0[] = - { - 1., -SQRT3/2., 0, -SQRT3/2., .75, 0, - 0, .5, -26.14263759/27., 0, -SQRT3/4., 0, - 0, 0, .25, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_1[] = - { - 1., SQRT3/2., 0, -SQRT3/2., -.75, 0, - 0, .5, 26.14263759/27., 0, -SQRT3/4., 0, - 0, 0, .25, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_2[] = - { - 1., SQRT3/2., 0, SQRT3/2., .75, 0, - 0, .5, 26.14263759/27., 0, SQRT3/4., 0, - 0, 0, .25, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_3[] = - { - 1., -SQRT3/2., 0, SQRT3/2., -.75, 0, - 0, .5, -26.14263759/27., 0, SQRT3/4., 0, - 0, 0, .25, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, .25, - }; - - static const double dgp3_into_dgp3_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., -SQRT3/2., .75, 0, 0, 0, 8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, -SQRT3/4., 22.64018827/27., 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, -26.14263759/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., -SQRT3/2., -.75, 0, 0, 0, 8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, -SQRT3/4., -22.64018827/27., 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, -26.14263759/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., SQRT3/2., .75, 0, 0, 0, -8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, SQRT3/4., 22.64018827/27., 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, 26.14263759/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., SQRT3/2., -.75, 0, 0, 0, -8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, SQRT3/4., -22.64018827/27., 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, 26.14263759/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp4_into_dgp4_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, 8.929410675/27., -7.733096485/27., 0, - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, 4.464705337/27., -26.14263759/27., 22.64018827/27., 0, 15.46619297/27., -13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, -13.07131879/27., 15./16., 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 0, -19.96676927/27., 17.29172942/27., 22.64018827/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, -9.983384634/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -SQRT3/16., -13.39411601/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., - }; - - static const double dgp4_into_dgp4_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., -SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, 8.929410675/27., 7.733096485/27., 0, - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -4.464705337/27., -26.14263759/27., -22.64018827/27., 0, 15.46619297/27., 13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, -13.07131879/27., -15./16., 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 0, -19.96676927/27., -17.29172942/27., 22.64018827/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, -9.983384634/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, SQRT3/16., -13.39411601/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., - }; - - static const double dgp4_into_dgp4_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, -8.929410675/27., -7.733096485/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, SQRT3/4., 22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -4.464705337/27., 26.14263759/27., 22.64018827/27., 0, 15.46619297/27., 13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, 13.07131879/27., 15./16., 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 0, 19.96676927/27., 17.29172942/27., 22.64018827/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, 9.983384634/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, SQRT3/16., 13.39411601/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., - }; - - static const double dgp4_into_dgp4_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, -8.929410675/27., 7.733096485/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, 4.464705337/27., 26.14263759/27., -22.64018827/27., 0, 15.46619297/27., -13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, 13.07131879/27., -15./16., 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 0, 19.96676927/27., -17.29172942/27., 22.64018827/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, 9.983384634/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -SQRT3/16., 13.39411601/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., - }; - - static const double dgp5_into_dgp5_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., -SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, 0, 0, 8.929410675/27., -7.733096485/27., 0, 0, 0, -5.596804334/27., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., -3./16., 0, 0, 0, 0, 0, 4.464705337/27., -8.645864709/27., 0, 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., 0, 0, -SQRT3/8., 17.29172942/27., -19.60697819/27., 0, 0, 0, 0, 0, 0, 2.232352669/27., 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., 0, 0, 0, -SQRT3/16., 11.59964473/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., -8.395206501/27., 0, 0, 0, 0, -SQRT3/32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, 4.464705337/27., 0, -26.14263759/27., 22.64018827/27., 0, -8.645864709/27., 15.46619297/27., -13.39411601/27., 0, SQRT3/8., -3./16., -9.693949466/27., - 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., SQRT3/16., 0, -13.07131879/27., 15./16., -14.97507695/27., 0, 7.733096485/27., -14.97507695/27., 0, SQRT3/16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 11.32009414/27., 0, 0, -6.535659397/27., 19.33274121/27., 0, 0, 3.866548243/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -6.697058006/27., 0, 0, 0, -3.267829698/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 0, 2.232352669/27., -19.96676927/27., 17.29172942/27., 0, 22.64018827/27., -19.60697819/27., -6.257417473/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 3.866548243/27., 0, -9.983384634/27., 19.33274121/27., 0, 11.32009414/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -4.991692317/27., 0, 0, -4.991692317/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -SQRT3/16., 0, -13.39411601/27., 11.59964473/27., 22.21162861/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -3.267829698/27., 0, -6.697058006/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -SQRT3/32., -8.395206501/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp5_into_dgp5_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., -SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, 0, 0, 8.929410675/27., 7.733096485/27., 0, 0, 0, -5.596804334/27., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 3./16., 0, 0, 0, 0, 0, 4.464705337/27., 8.645864709/27., 0, 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., 0, 0, -SQRT3/8., -17.29172942/27., -19.60697819/27., 0, 0, 0, 0, 0, 0, 2.232352669/27., 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., 0, 0, 0, -SQRT3/16., -11.59964473/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 8.395206501/27., 0, 0, 0, 0, -SQRT3/32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -4.464705337/27., 0, -26.14263759/27., -22.64018827/27., 0, 8.645864709/27., 15.46619297/27., 13.39411601/27., 0, SQRT3/8., 3./16., -9.693949466/27., - 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., -SQRT3/16., 0, -13.07131879/27., -15./16., -14.97507695/27., 0, 7.733096485/27., 14.97507695/27., 0, SQRT3/16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 11.32009414/27., 0, 0, -6.535659397/27., -19.33274121/27., 0, 0, 3.866548243/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 6.697058006/27., 0, 0, 0, -3.267829698/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 0, -2.232352669/27., -19.96676927/27., -17.29172942/27., 0, 22.64018827/27., 19.60697819/27., -6.257417473/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 3.866548243/27., 0, -9.983384634/27., -19.33274121/27., 0, 11.32009414/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 4.991692317/27., 0, 0, -4.991692317/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, SQRT3/16., 0, -13.39411601/27., -11.59964473/27., 22.21162861/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 3.267829698/27., 0, -6.697058006/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., SQRT3/32., -8.395206501/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp5_into_dgp5_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, 0, 0, -8.929410675/27., -7.733096485/27., 0, 0, 0, 5.596804334/27., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., 0, SQRT3/4., 22.64018827/27., 13.39411601/27., -3./16., 0, 0, 0, 0, 0, -4.464705337/27., -8.645864709/27., 0, 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., 0, 0, SQRT3/8., 17.29172942/27., 19.60697819/27., 0, 0, 0, 0, 0, 0, -2.232352669/27., 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., 0, 0, 0, SQRT3/16., 11.59964473/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 8.395206501/27., 0, 0, 0, 0, SQRT3/32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -4.464705337/27., 0, 26.14263759/27., 22.64018827/27., 0, -8.645864709/27., 15.46619297/27., 13.39411601/27., 0, -SQRT3/8., -3./16., -9.693949466/27., - 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., -SQRT3/16., 0, 13.07131879/27., 15./16., 14.97507695/27., 0, 7.733096485/27., 14.97507695/27., 0, -SQRT3/16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 11.32009414/27., 0, 0, 6.535659397/27., 19.33274121/27., 0, 0, 3.866548243/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 6.697058006/27., 0, 0, 0, 3.267829698/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 0, -2.232352669/27., 19.96676927/27., 17.29172942/27., 0, 22.64018827/27., 19.60697819/27., 6.257417473/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 3.866548243/27., 0, 9.983384634/27., 19.33274121/27., 0, 11.32009414/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 4.991692317/27., 0, 0, 4.991692317/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, SQRT3/16., 0, 13.39411601/27., 11.59964473/27., 22.21162861/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 3.267829698/27., 0, 6.697058006/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., SQRT3/32., 8.395206501/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp5_into_dgp5_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, 0, 0, -8.929410675/27., 7.733096485/27., 0, 0, 0, 5.596804334/27., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 3./16., 0, 0, 0, 0, 0, -4.464705337/27., 8.645864709/27., 0, 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., 0, 0, SQRT3/8., -17.29172942/27., 19.60697819/27., 0, 0, 0, 0, 0, 0, -2.232352669/27., 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., 0, 0, 0, SQRT3/16., -11.59964473/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., -8.395206501/27., 0, 0, 0, 0, SQRT3/32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, 4.464705337/27., 0, 26.14263759/27., -22.64018827/27., 0, 8.645864709/27., 15.46619297/27., -13.39411601/27., 0, -SQRT3/8., 3./16., -9.693949466/27., - 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., SQRT3/16., 0, 13.07131879/27., -15./16., 14.97507695/27., 0, 7.733096485/27., -14.97507695/27., 0, -SQRT3/16., 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 11.32009414/27., 0, 0, 6.535659397/27., -19.33274121/27., 0, 0, 3.866548243/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -6.697058006/27., 0, 0, 0, 3.267829698/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 0, 2.232352669/27., 19.96676927/27., -17.29172942/27., 0, 22.64018827/27., -19.60697819/27., 6.257417473/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 3.866548243/27., 0, 9.983384634/27., -19.33274121/27., 0, 11.32009414/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -4.991692317/27., 0, 0, 4.991692317/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -SQRT3/16., 0, 13.39411601/27., -11.59964473/27., 22.21162861/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -3.267829698/27., 0, 6.697058006/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -SQRT3/32., 8.395206501/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., - }; - - static const double dgp6_into_dgp6_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., 0., -SQRT3/2., .75, 0, -7.733096485/27., 0, 4.846974733/27., 0, 0, 0, 0, 0, 8.929410675/27., -7.733096485/27., 0, 7./64., 0, 0, 0, -5.596804334/27., 4.846974733/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., -2.634608531/27., 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., -3./16., 8.395206501/27., 0, 0, 0, 0, 0, 0, 4.464705337/27., -8.645864709/27., 5.114962541/27., 0, 0, 0, 0, -2.798402167/27., 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., -10.20379496/27., 0, 0, -SQRT3/8., 17.29172942/27., -19.60697819/27., 5.419082494/27., 0, 0, 0, 0, 0, 0, 0, 2.232352669/27., -6.603388246/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., -16.09772402/27., 0, 0, 0, -SQRT3/16., 11.59964473/27., -19.23583463/27., 0, 0, 0, 0, 0, 0, 0, 0, 1.116176334/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., -8.395206501/27., 18.25310333/27., 0, 0, 0, 0, -SQRT3/32., 7.2704621/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., -5.044891251/27., 0, 0, 0, 0, 0, -SQRT3/64., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1./64., 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, .5, -SQRT3/4., 0, 4.464705337/27., 0, -2.798402167/27., -26.14263759/27., 22.64018827/27., 0, -8.645864709/27., 0, 15.46619297/27., -13.39411601/27., 0, 5.114962541/27., SQRT3/8., -3./16., 0, -9.693949466/27., 8.395206501/27., -2.634608531/27., - 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., SQRT3/16., -4.846974733/27., 0, -13.07131879/27., 15./16., -14.97507695/27., -5.660047068/27., 0, 7.733096485/27., -14.97507695/27., 21./64., 0, SQRT3/16., -5.660047068/27., 0, -4.846974733/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 11.32009414/27., -3.128708737/27., 0, 0, -6.535659397/27., 19.33274121/27., -21.92126803/27., 0, 0, 3.866548243/27., -11.43740394/27., 0, 0, SQRT3/32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -6.697058006/27., 11.1058143/27., 0, 0, 0, -3.267829698/27., 12.96879706/27., 0, 0, 0, 1.933274121/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -4.19760325/27., 0, 0, 0, 0, -1.633914849/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .25, -SQRT3/8., 0, 2.232352669/27., 0, -19.96676927/27., 17.29172942/27., 0, -6.603388246/27., 22.64018827/27., -19.60697819/27., 0, -6.257417473/27., 5.419082494/27., -10.20379496/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 3.866548243/27., SQRT3/32., 0, -9.983384634/27., 19.33274121/27., -11.43740394/27., 0, 11.32009414/27., -21.92126803/27., 0, -3.128708737/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -4.991692317/27., 5.660047068/27., 0, 0, -4.991692317/27., 35./64., 0, 0, 5.660047068/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -3.348529003/27., 0, 0, 0, -2.495846158/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .125, -SQRT3/16., 0, 1.116176334/27., -13.39411601/27., 11.59964473/27., 0, 22.21162861/27., -19.23583463/27., -16.09772402/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -3.267829698/27., 1.933274121/27., 0, -6.697058006/27., 12.96879706/27., 0, 11.1058143/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -2.495846158/27., 0, 0, -3.348529003/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, 1./16., -SQRT3/32., 0, -8.395206501/27., 7.2704621/27., 18.25310333/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -1.633914849/27., 0, -4.19760325/27., 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, 1./64., 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, 1./32., -SQRT3/64., -5.044891251/27., - 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, 1./64., 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, 1./64., - }; - - static const double dgp6_into_dgp6_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., 0., -SQRT3/2., -.75, 0, 7.733096485/27., 0, -4.846974733/27., 0, 0, 0, 0, 0, 8.929410675/27., 7.733096485/27., 0, -7./64., 0, 0, 0, -5.596804334/27., -4.846974733/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., 2.634608531/27., 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 3./16., 8.395206501/27., 0, 0, 0, 0, 0, 0, 4.464705337/27., 8.645864709/27., 5.114962541/27., 0, 0, 0, 0, -2.798402167/27., 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., -10.20379496/27., 0, 0, -SQRT3/8., -17.29172942/27., -19.60697819/27., -5.419082494/27., 0, 0, 0, 0, 0, 0, 0, 2.232352669/27., 6.603388246/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., 16.09772402/27., 0, 0, 0, -SQRT3/16., -11.59964473/27., -19.23583463/27., 0, 0, 0, 0, 0, 0, 0, 0, 1.116176334/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 8.395206501/27., 18.25310333/27., 0, 0, 0, 0, -SQRT3/32., -7.2704621/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 5.044891251/27., 0, 0, 0, 0, 0, -SQRT3/64., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0., 0., 1./64., 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, .5, SQRT3/4., 0, -4.464705337/27., 0, 2.798402167/27., -26.14263759/27., -22.64018827/27., 0, 8.645864709/27., 0, 15.46619297/27., 13.39411601/27., 0, -5.114962541/27., SQRT3/8., 3./16., 0, -9.693949466/27., -8.395206501/27., -2.634608531/27., - 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., -SQRT3/16., -4.846974733/27., 0, -13.07131879/27., -15./16., -14.97507695/27., 5.660047068/27., 0, 7.733096485/27., 14.97507695/27., 21./64., 0, SQRT3/16., 5.660047068/27., 0, -4.846974733/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 11.32009414/27., 3.128708737/27., 0, 0, -6.535659397/27., -19.33274121/27., -21.92126803/27., 0, 0, 3.866548243/27., 11.43740394/27., 0, 0, SQRT3/32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 6.697058006/27., 11.1058143/27., 0, 0, 0, -3.267829698/27., -12.96879706/27., 0, 0, 0, 1.933274121/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 4.19760325/27., 0, 0, 0, 0, -1.633914849/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .25, SQRT3/8., 0, -2.232352669/27., 0, -19.96676927/27., -17.29172942/27., 0, 6.603388246/27., 22.64018827/27., 19.60697819/27., 0, -6.257417473/27., -5.419082494/27., -10.20379496/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 3.866548243/27., -SQRT3/32., 0, -9.983384634/27., -19.33274121/27., -11.43740394/27., 0, 11.32009414/27., 21.92126803/27., 0, -3.128708737/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 4.991692317/27., 5.660047068/27., 0, 0, -4.991692317/27., -35./64., 0, 0, 5.660047068/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 3.348529003/27., 0, 0, 0, -2.495846158/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .125, SQRT3/16., 0, -1.116176334/27., -13.39411601/27., -11.59964473/27., 0, 22.21162861/27., 19.23583463/27., -16.09772402/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 3.267829698/27., 1.933274121/27., 0, -6.697058006/27., -12.96879706/27., 0, 11.1058143/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 2.495846158/27., 0, 0, -3.348529003/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, 1./16., SQRT3/32., 0, -8.395206501/27., -7.2704621/27., 18.25310333/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 1.633914849/27., 0, -4.19760325/27., 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, 1./64., 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, 1./32., SQRT3/64., -5.044891251/27., - 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, 1./64., 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, 1./64., - }; - - static const double dgp6_into_dgp6_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0, 5.596804334/27., 0., SQRT3/2., .75, 0, -7.733096485/27., 0, 4.846974733/27., 0, 0, 0, 0, 0, -8.929410675/27., -7.733096485/27., 0, 7./64., 0, 0, 0, 5.596804334/27., 4.846974733/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., -9.693949466/27., 2.634608531/27., 0, SQRT3/4., 22.64018827/27., 13.39411601/27., -3./16., -8.395206501/27., 0, 0, 0, 0, 0, 0, -4.464705337/27., -8.645864709/27., -5.114962541/27., 0, 0, 0, 0, 2.798402167/27., 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 6.257417473/27., -10.20379496/27., 0, 0, SQRT3/8., 17.29172942/27., 19.60697819/27., 5.419082494/27., 0, 0, 0, 0, 0, 0, 0, -2.232352669/27., -6.603388246/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 22.21162861/27., 16.09772402/27., 0, 0, 0, SQRT3/16., 11.59964473/27., 19.23583463/27., 0, 0, 0, 0, 0, 0, 0, 0, -1.116176334/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 8.395206501/27., 18.25310333/27., 0, 0, 0, 0, SQRT3/32., 7.2704621/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., 5.044891251/27., 0, 0, 0, 0, 0, SQRT3/64., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0., 0., 1./64., 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, .5, SQRT3/4., 0, -4.464705337/27., 0, 2.798402167/27., 26.14263759/27., 22.64018827/27., 0, -8.645864709/27., 0, 15.46619297/27., 13.39411601/27., 0, -5.114962541/27., -SQRT3/8., -3./16., 0, -9.693949466/27., -8.395206501/27., 2.634608531/27., - 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., -SQRT3/16., -4.846974733/27., 0, 13.07131879/27., 15./16., 14.97507695/27., -5.660047068/27., 0, 7.733096485/27., 14.97507695/27., 21./64., 0, -SQRT3/16., -5.660047068/27., 0, -4.846974733/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 11.32009414/27., 3.128708737/27., 0, 0, 6.535659397/27., 19.33274121/27., 21.92126803/27., 0, 0, 3.866548243/27., 11.43740394/27., 0, 0, -SQRT3/32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 6.697058006/27., 11.1058143/27., 0, 0, 0, 3.267829698/27., 12.96879706/27., 0, 0, 0, 1.933274121/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 4.19760325/27., 0, 0, 0, 0, 1.633914849/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .25, SQRT3/8., 0, -2.232352669/27., 0, 19.96676927/27., 17.29172942/27., 0, -6.603388246/27., 22.64018827/27., 19.60697819/27., 0, 6.257417473/27., 5.419082494/27., -10.20379496/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 3.866548243/27., -SQRT3/32., 0, 9.983384634/27., 19.33274121/27., 11.43740394/27., 0, 11.32009414/27., 21.92126803/27., 0, 3.128708737/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 4.991692317/27., 5.660047068/27., 0, 0, 4.991692317/27., 35./64., 0, 0, 5.660047068/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 3.348529003/27., 0, 0, 0, 2.495846158/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .125, SQRT3/16., 0, -1.116176334/27., 13.39411601/27., 11.59964473/27., 0, 22.21162861/27., 19.23583463/27., 16.09772402/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 3.267829698/27., 1.933274121/27., 0, 6.697058006/27., 12.96879706/27., 0, 11.1058143/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 2.495846158/27., 0, 0, 3.348529003/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, 1./16., SQRT3/32., 0, 8.395206501/27., 7.2704621/27., 18.25310333/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., 1.633914849/27., 0, 4.19760325/27., 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, 1./64., 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, 1./32., SQRT3/64., 5.044891251/27., - 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, 1./64., 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., 1./64., - }; - - static const double dgp6_into_dgp6_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -5.596804334/27., 0., SQRT3/2., -.75, 0, 7.733096485/27., 0, -4.846974733/27., 0, 0, 0, 0, 0, -8.929410675/27., 7.733096485/27., 0, -7./64., 0, 0, 0, 5.596804334/27., -4.846974733/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., -9.693949466/27., -2.634608531/27., 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 3./16., -8.395206501/27., 0, 0, 0, 0, 0, 0, -4.464705337/27., 8.645864709/27., -5.114962541/27., 0, 0, 0, 0, 2.798402167/27., 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., -6.257417473/27., -10.20379496/27., 0, 0, SQRT3/8., -17.29172942/27., 19.60697819/27., -5.419082494/27., 0, 0, 0, 0, 0, 0, 0, -2.232352669/27., 6.603388246/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 22.21162861/27., -16.09772402/27., 0, 0, 0, SQRT3/16., -11.59964473/27., 19.23583463/27., 0, 0, 0, 0, 0, 0, 0, 0, -1.116176334/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., -8.395206501/27., 18.25310333/27., 0, 0, 0, 0, SQRT3/32., -7.2704621/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1./32., -5.044891251/27., 0, 0, 0, 0, 0, SQRT3/64., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1./64., 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, .5, -SQRT3/4., 0, 4.464705337/27., 0, -2.798402167/27., 26.14263759/27., -22.64018827/27., 0, 8.645864709/27., 0, 15.46619297/27., -13.39411601/27., 0, 5.114962541/27., -SQRT3/8., 3./16., 0, -9.693949466/27., 8.395206501/27., 2.634608531/27., - 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., SQRT3/16., -4.846974733/27., 0, 13.07131879/27., -15./16., 14.97507695/27., 5.660047068/27., 0, 7.733096485/27., -14.97507695/27., 21./64., 0, -SQRT3/16., 5.660047068/27., 0, -4.846974733/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 11.32009414/27., -3.128708737/27., 0, 0, 6.535659397/27., -19.33274121/27., 21.92126803/27., 0, 0, 3.866548243/27., -11.43740394/27., 0, 0, -SQRT3/32., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -6.697058006/27., 11.1058143/27., 0, 0, 0, 3.267829698/27., -12.96879706/27., 0, 0, 0, 1.933274121/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -4.19760325/27., 0, 0, 0, 0, 1.633914849/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .25, -SQRT3/8., 0, 2.232352669/27., 0, 19.96676927/27., -17.29172942/27., 0, 6.603388246/27., 22.64018827/27., -19.60697819/27., 0, 6.257417473/27., -5.419082494/27., -10.20379496/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 3.866548243/27., SQRT3/32., 0, 9.983384634/27., -19.33274121/27., 11.43740394/27., 0, 11.32009414/27., -21.92126803/27., 0, 3.128708737/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -4.991692317/27., 5.660047068/27., 0, 0, 4.991692317/27., -35./64., 0, 0, 5.660047068/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -3.348529003/27., 0, 0, 0, 2.495846158/27., 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, .125, -SQRT3/16., 0, 1.116176334/27., 13.39411601/27., -11.59964473/27., 0, 22.21162861/27., -19.23583463/27., 16.09772402/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., -3.267829698/27., 1.933274121/27., 0, 6.697058006/27., -12.96879706/27., 0, 11.1058143/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -2.495846158/27., 0, 0, 3.348529003/27., 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./64., 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, 1./16., -SQRT3/32., 0, 8.395206501/27., -7.2704621/27., 18.25310333/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./32., -1.633914849/27., 0, 4.19760325/27., 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, 1./64., 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, 1./32., -SQRT3/64., 5.044891251/27., - 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, 1./64., 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., 1./64., - }; -} - - -template <> -const double * const -FE_DGP<2>::Matrices::embedding[][GeometryInfo<2>::children_per_cell] = -{ - { FE_DGP_2d::dgp0_into_dgp0_refined_0, - FE_DGP_2d::dgp0_into_dgp0_refined_1, - FE_DGP_2d::dgp0_into_dgp0_refined_2, - FE_DGP_2d::dgp0_into_dgp0_refined_3 }, - { FE_DGP_2d::dgp1_into_dgp1_refined_0, - FE_DGP_2d::dgp1_into_dgp1_refined_1, - FE_DGP_2d::dgp1_into_dgp1_refined_2, - FE_DGP_2d::dgp1_into_dgp1_refined_3 }, - { FE_DGP_2d::dgp2_into_dgp2_refined_0, - FE_DGP_2d::dgp2_into_dgp2_refined_1, - FE_DGP_2d::dgp2_into_dgp2_refined_2, - FE_DGP_2d::dgp2_into_dgp2_refined_3 }, - { FE_DGP_2d::dgp3_into_dgp3_refined_0, - FE_DGP_2d::dgp3_into_dgp3_refined_1, - FE_DGP_2d::dgp3_into_dgp3_refined_2, - FE_DGP_2d::dgp3_into_dgp3_refined_3 }, - { FE_DGP_2d::dgp4_into_dgp4_refined_0, - FE_DGP_2d::dgp4_into_dgp4_refined_1, - FE_DGP_2d::dgp4_into_dgp4_refined_2, - FE_DGP_2d::dgp4_into_dgp4_refined_3 }, - { FE_DGP_2d::dgp5_into_dgp5_refined_0, - FE_DGP_2d::dgp5_into_dgp5_refined_1, - FE_DGP_2d::dgp5_into_dgp5_refined_2, - FE_DGP_2d::dgp5_into_dgp5_refined_3 }, - { FE_DGP_2d::dgp6_into_dgp6_refined_0, - FE_DGP_2d::dgp6_into_dgp6_refined_1, - FE_DGP_2d::dgp6_into_dgp6_refined_2, - FE_DGP_2d::dgp6_into_dgp6_refined_3 } -}; - -template <> -const unsigned int FE_DGP<2>::Matrices::n_embedding_matrices -= sizeof(FE_DGP<2>::Matrices::embedding) / -sizeof(FE_DGP<2>::Matrices::embedding[0]); - - -/* - * These elements are not defined by interpolation, therefore there - * are no interpolation matrices. - */ - -template <> -const double * const FE_DGP<2>::Matrices::projection_matrices[][GeometryInfo<2>::children_per_cell] = {{0}}; - -template <> -const unsigned int FE_DGP<2>::Matrices::n_projection_matrices -= 0; - - -#else // #if deal_II_dimension -// On gcc2.95 on Alpha OSF1, the native assembler does not like empty -// files, so provide some dummy code -namespace { void dummy () {} } -#endif // #if deal_II_dimension == 2 diff --git a/deal.II/deal.II/source/fe/fe_dgp_3d.cc b/deal.II/deal.II/source/fe/fe_dgp_3d.cc deleted file mode 100644 index 1c4105dab2..0000000000 --- a/deal.II/deal.II/source/fe/fe_dgp_3d.cc +++ /dev/null @@ -1,818 +0,0 @@ -//--------------------------------------------------------------------------- -// $Id$ -// Version: $Name$ -// -// Copyright (C) 2002, 2003, 2004, 2005 by the deal.II authors -// -// This file is subject to QPL and may not be distributed -// without copyright and license information. Please refer -// to the file deal.II/doc/license.html for the text and -// further information on this license. -// -//--------------------------------------------------------------------------- - - -// only compile in 3d -#if deal_II_dimension == 3 - -#include - -// Transfer matrices for finite elements - -#define SQRT3 1.732050807569 - -namespace FE_DGP_3d -{ - static const double dgp0_into_dgp0_refined_0[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_1[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_2[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_3[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_4[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_5[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_6[] = - { - 1., - }; - - static const double dgp0_into_dgp0_refined_7[] = - { - 1., - }; - - static const double dgp1_into_dgp1_refined_0[] = - { - 1., -SQRT3/2., -SQRT3/2., -SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_1[] = - { - 1., SQRT3/2., -SQRT3/2., -SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_2[] = - { - 1., SQRT3/2., -SQRT3/2., SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_3[] = - { - 1., -SQRT3/2., -SQRT3/2., SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_4[] = - { - 1., -SQRT3/2., SQRT3/2., -SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_5[] = - { - 1., SQRT3/2., SQRT3/2., -SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_6[] = - { - 1., SQRT3/2., SQRT3/2., SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp1_into_dgp1_refined_7[] = - { - 1., -SQRT3/2., SQRT3/2., SQRT3/2., - 0, .5, 0, 0, - 0, 0, .5, 0, - 0, 0, 0, .5, - }; - - static const double dgp2_into_dgp2_refined_0[] = - { - 1., -SQRT3/2., 0, -SQRT3/2., .75, 0, -SQRT3/2., .75, .75, 0, - 0, .5, -26.14263759/27., 0, -SQRT3/4., 0, 0, -SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., -26.14263759/27., 0, 0, -SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., -SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_1[] = - { - 1., SQRT3/2., 0, -SQRT3/2., -.75, 0, -SQRT3/2., -.75, .75, 0, - 0, .5, 26.14263759/27., 0, -SQRT3/4., 0, 0, -SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., -26.14263759/27., 0, 0, -SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., -SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_2[] = - { - 1., SQRT3/2., 0, -SQRT3/2., -.75, 0, SQRT3/2., .75, -.75, 0, - 0, .5, 26.14263759/27., 0, -SQRT3/4., 0, 0, SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., -26.14263759/27., 0, 0, SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., -SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_3[] = - { - 1., -SQRT3/2., 0, -SQRT3/2., .75, 0, SQRT3/2., -.75, -.75, 0, - 0, .5, -26.14263759/27., 0, -SQRT3/4., 0, 0, SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., -26.14263759/27., 0, 0, SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., -SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_4[] = - { - 1., -SQRT3/2., 0, SQRT3/2., -.75, 0, -SQRT3/2., .75, -.75, 0, - 0, .5, -26.14263759/27., 0, SQRT3/4., 0, 0, -SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., 26.14263759/27., 0, 0, -SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_5[] = - { - 1., SQRT3/2., 0, SQRT3/2., .75, 0, -SQRT3/2., -.75, -.75, 0, - 0, .5, 26.14263759/27., 0, SQRT3/4., 0, 0, -SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., 26.14263759/27., 0, 0, -SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., SQRT3/4., -26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_6[] = - { - 1., SQRT3/2., 0, SQRT3/2., .75, 0, SQRT3/2., .75, .75, 0, - 0, .5, 26.14263759/27., 0, SQRT3/4., 0, 0, SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, SQRT3/4., 26.14263759/27., 0, 0, SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, SQRT3/4., SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp2_into_dgp2_refined_7[] = - { - 1., -SQRT3/2., 0, SQRT3/2., -.75, 0, SQRT3/2., -.75, .75, 0, - 0, .5, -26.14263759/27., 0, SQRT3/4., 0, 0, SQRT3/4., 0, 0, - 0, 0, .25, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .5, -SQRT3/4., 26.14263759/27., 0, 0, SQRT3/4., 0, - 0, 0, 0, 0, .25, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., SQRT3/4., 26.14263759/27., - 0, 0, 0, 0, 0, 0, 0, .25, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .25, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, - }; - - static const double dgp3_into_dgp3_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., -SQRT3/2., .75, 0, 0, 0, 8.929410675/27., -SQRT3/2., .75, 0, .75, -SQRT3*3./8., 0, 0, 0, 0, 8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, -SQRT3/4., 22.64018827/27., 0, 0, 0, 0, -SQRT3/4., 22.64018827/27., 0, .375, 0, 0, 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, -26.14263759/27., 22.64018827/27., 15.46619297/27., 0, 0, 0, -SQRT3/4., .375, 22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, -13.07131879/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -19.96676927/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, -SQRT3/4., .375, 0, -26.14263759/27., 22.64018827/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, -SQRT3/8., 0, 0, -13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -13.07131879/27., 0, 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., -SQRT3/2., -.75, 0, 0, 0, 8.929410675/27., -SQRT3/2., -.75, 0, .75, SQRT3*3./8., 0, 0, 0, 0, 8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, -SQRT3/4., -22.64018827/27., 0, 0, 0, 0, -SQRT3/4., -22.64018827/27., 0, .375, 0, 0, 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, -26.14263759/27., -22.64018827/27., 15.46619297/27., 0, 0, 0, -SQRT3/4., -.375, 22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, -13.07131879/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -19.96676927/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -SQRT3/4., -.375, 0, -26.14263759/27., -22.64018827/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, -SQRT3/8., 0, 0, -13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -13.07131879/27., 0, 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., -SQRT3/2., -.75, 0, 0, 0, 8.929410675/27., SQRT3/2., .75, 0, -.75, -SQRT3*3./8., 0, 0, 0, 0, -8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, -SQRT3/4., -22.64018827/27., 0, 0, 0, 0, SQRT3/4., 22.64018827/27., 0, -.375, 0, 0, 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, -26.14263759/27., -22.64018827/27., 15.46619297/27., 0, 0, 0, SQRT3/4., .375, -22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, -13.07131879/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -19.96676927/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, -SQRT3/4., -.375, 0, 26.14263759/27., 22.64018827/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, -SQRT3/8., 0, 0, 13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -13.07131879/27., 0, 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., -SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., -SQRT3/2., .75, 0, 0, 0, 8.929410675/27., SQRT3/2., -.75, 0, -.75, SQRT3*3./8., 0, 0, 0, 0, -8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, -SQRT3/4., 22.64018827/27., 0, 0, 0, 0, SQRT3/4., -22.64018827/27., 0, -.375, 0, 0, 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, -26.14263759/27., 22.64018827/27., 15.46619297/27., 0, 0, 0, SQRT3/4., -.375, -22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, -13.07131879/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -19.96676927/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, -SQRT3/4., .375, 0, 26.14263759/27., -22.64018827/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, -SQRT3/8., 0, 0, 13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -13.07131879/27., 0, 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., -SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_4[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., SQRT3/2., -.75, 0, 0, 0, -8.929410675/27., -SQRT3/2., .75, 0, -.75, SQRT3*3./8., 0, 0, 0, 0, 8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, SQRT3/4., -22.64018827/27., 0, 0, 0, 0, -SQRT3/4., 22.64018827/27., 0, -.375, 0, 0, 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, 26.14263759/27., -22.64018827/27., 15.46619297/27., 0, 0, 0, -SQRT3/4., .375, -22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, 13.07131879/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 19.96676927/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, SQRT3/4., -.375, 0, -26.14263759/27., 22.64018827/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, SQRT3/8., 0, 0, -13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 13.07131879/27., 0, 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_5[] = - { - 1., SQRT3/2., 0, -8.929410675/27., SQRT3/2., .75, 0, 0, 0, -8.929410675/27., -SQRT3/2., -.75, 0, -.75, -SQRT3*3./8., 0, 0, 0, 0, 8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, SQRT3/4., 22.64018827/27., 0, 0, 0, 0, -SQRT3/4., -22.64018827/27., 0, -.375, 0, 0, 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, 26.14263759/27., 22.64018827/27., 15.46619297/27., 0, 0, 0, -SQRT3/4., -.375, -22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, 13.07131879/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 19.96676927/27., 0, 0, 0, 0, 0, -SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, SQRT3/4., .375, 0, -26.14263759/27., -22.64018827/27., -22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, SQRT3/8., 0, 0, -13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 13.07131879/27., 0, 0, -13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., SQRT3/8., -19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_6[] = - { - 1., SQRT3/2., 0, -8.929410675/27., SQRT3/2., .75, 0, 0, 0, -8.929410675/27., SQRT3/2., .75, 0, .75, SQRT3*3./8., 0, 0, 0, 0, -8.929410675/27., - 0, .5, 26.14263759/27., 15.46619297/27., 0, SQRT3/4., 22.64018827/27., 0, 0, 0, 0, SQRT3/4., 22.64018827/27., 0, .375, 0, 0, 0, 0, 0, - 0, 0, .25, 19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, SQRT3/4., 0, 26.14263759/27., 22.64018827/27., 15.46619297/27., 0, 0, 0, SQRT3/4., .375, 22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, 13.07131879/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 19.96676927/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, SQRT3/4., 0, SQRT3/4., .375, 0, 26.14263759/27., 22.64018827/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 0, SQRT3/8., 0, 0, 13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., 13.07131879/27., 0, 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, SQRT3/8., SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp3_into_dgp3_refined_7[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., SQRT3/2., -.75, 0, 0, 0, -8.929410675/27., SQRT3/2., -.75, 0, .75, -SQRT3*3./8., 0, 0, 0, 0, -8.929410675/27., - 0, .5, -26.14263759/27., 15.46619297/27., 0, SQRT3/4., -22.64018827/27., 0, 0, 0, 0, SQRT3/4., -22.64018827/27., 0, .375, 0, 0, 0, 0, 0, - 0, 0, .25, -19.96676927/27., 0, 0, SQRT3/8., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, .5, -SQRT3/4., 0, 26.14263759/27., -22.64018827/27., 15.46619297/27., 0, 0, 0, SQRT3/4., -.375, 22.64018827/27., 0, 0, 0, 0, - 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, 13.07131879/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 19.96676927/27., 0, 0, 0, 0, 0, SQRT3/8., 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .5, -SQRT3/4., 0, SQRT3/4., -.375, 0, 26.14263759/27., -22.64018827/27., 22.64018827/27., 15.46619297/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 0, SQRT3/8., 0, 0, 13.07131879/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., 13.07131879/27., 0, 0, 13.07131879/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -SQRT3/8., SQRT3/8., 19.96676927/27., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, - }; - - static const double dgp4_into_dgp4_refined_0[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, 8.929410675/27., -7.733096485/27., 0, -SQRT3/2., .75, 0, -7.733096485/27., .75, -SQRT3*3./8., 0, 0, 0, -7.733096485/27., 0, 0, 0, 0, 0, 0, 8.929410675/27., -7.733096485/27., -7.733096485/27., 0, - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., 0, .375, -19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., 17.29172942/27., 0, 0, 3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., -26.14263759/27., 22.64018827/27., 0, 15.46619297/27., -13.39411601/27., SQRT3/8., 0, 0, 0, 0, -SQRT3/4., .375, 0, 22.64018827/27., -19.60697819/27., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, -13.07131879/27., 15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -SQRT3/8., 11.32009414/27., 0, 11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, -SQRT3/8., 0, -19.96676927/27., 17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., 3./16., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, -9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, -SQRT3/16., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., -SQRT3/4., .375, 0, 0, 0, 4.464705337/27., -26.14263759/27., 22.64018827/27., 0, 22.64018827/27., -19.60697819/27., 0, 15.46619297/27., -13.39411601/27., -13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, -SQRT3/8., 11.32009414/27., 0, 0, 0, 0, -13.07131879/27., 15./16., 0, 11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .25, -SQRT3/8., 0, -13.07131879/27., 11.32009414/27., 7.733096485/27., 0, 0, 0, -13.07131879/27., 11.32009414/27., 15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, -6.535659397/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .125, -SQRT3/16., -9.983384634/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, -SQRT3/8., 0, -SQRT3/8., 3./16., 0, -19.96676927/27., 17.29172942/27., 17.29172942/27., 22.64018827/27., - 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, .125, -6.535659397/27., 0, -SQRT3/16., 0, 0, -9.983384634/27., 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, 1./16., 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, .125, -SQRT3/16., -6.535659397/27., 0, 0, -9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, -SQRT3/16., -SQRT3/16., -13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_1[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., -SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, 8.929410675/27., 7.733096485/27., 0, -SQRT3/2., -.75, 0, 7.733096485/27., .75, SQRT3*3./8., 0, 0, 0, -7.733096485/27., 0, 0, 0, 0, 0, 0, 8.929410675/27., 7.733096485/27., -7.733096485/27., 0, - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 0, .375, 19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., -17.29172942/27., 0, 0, 3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., -26.14263759/27., -22.64018827/27., 0, 15.46619297/27., 13.39411601/27., SQRT3/8., 0, 0, 0, 0, -SQRT3/4., -.375, 0, 22.64018827/27., 19.60697819/27., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, -13.07131879/27., -15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -SQRT3/8., -11.32009414/27., 0, 11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, SQRT3/8., 0, -19.96676927/27., -17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., -3./16., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, -9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, SQRT3/16., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., -SQRT3/4., -.375, 0, 0, 0, 4.464705337/27., -26.14263759/27., -22.64018827/27., 0, 22.64018827/27., 19.60697819/27., 0, 15.46619297/27., 13.39411601/27., -13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, -SQRT3/8., -11.32009414/27., 0, 0, 0, 0, -13.07131879/27., -15./16., 0, 11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .25, SQRT3/8., 0, -13.07131879/27., -11.32009414/27., 7.733096485/27., 0, 0, 0, -13.07131879/27., -11.32009414/27., 15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, -6.535659397/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .125, SQRT3/16., -9.983384634/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, SQRT3/8., 0, -SQRT3/8., -3./16., 0, -19.96676927/27., -17.29172942/27., 17.29172942/27., 22.64018827/27., - 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, .125, 6.535659397/27., 0, -SQRT3/16., 0, 0, -9.983384634/27., 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, 1./16., 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, .125, SQRT3/16., -6.535659397/27., 0, 0, -9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, SQRT3/16., -SQRT3/16., -13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_2[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., -SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, 8.929410675/27., 7.733096485/27., 0, SQRT3/2., .75, 0, -7.733096485/27., -.75, -SQRT3*3./8., 0, 0, 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -8.929410675/27., -7.733096485/27., 7.733096485/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, 0, SQRT3/4., 22.64018827/27., 13.39411601/27., 0, -.375, -19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/8., 17.29172942/27., 0, 0, -3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., -26.14263759/27., -22.64018827/27., 0, 15.46619297/27., 13.39411601/27., SQRT3/8., 0, 0, 0, 0, SQRT3/4., .375, 0, -22.64018827/27., -19.60697819/27., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, -13.07131879/27., -15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, SQRT3/8., 11.32009414/27., 0, -11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, SQRT3/8., 0, -19.96676927/27., -17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, SQRT3/8., 3./16., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, -9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, SQRT3/16., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., -SQRT3/4., -.375, 0, 0, 0, 4.464705337/27., 26.14263759/27., 22.64018827/27., 0, -22.64018827/27., -19.60697819/27., 0, 15.46619297/27., 13.39411601/27., -13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, -SQRT3/8., -11.32009414/27., 0, 0, 0, 0, 13.07131879/27., 15./16., 0, -11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .25, SQRT3/8., 0, -13.07131879/27., -11.32009414/27., 7.733096485/27., 0, 0, 0, 13.07131879/27., 11.32009414/27., -15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, -6.535659397/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .125, SQRT3/16., -9.983384634/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, SQRT3/8., 0, -SQRT3/8., -3./16., 0, 19.96676927/27., 17.29172942/27., -17.29172942/27., 22.64018827/27., - 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, .125, 6.535659397/27., 0, -SQRT3/16., 0, 0, 9.983384634/27., 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, 1./16., 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, .125, SQRT3/16., -6.535659397/27., 0, 0, 9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, SQRT3/16., -SQRT3/16., 13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_3[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, -SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, 8.929410675/27., -7.733096485/27., 0, SQRT3/2., -.75, 0, 7.733096485/27., -.75, SQRT3*3./8., 0, 0, 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -8.929410675/27., 7.733096485/27., 7.733096485/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., 0, 0, 0, 0, 4.464705337/27., 0, 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 0, -.375, 19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, -SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/8., -17.29172942/27., 0, 0, -3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., -26.14263759/27., 22.64018827/27., 0, 15.46619297/27., -13.39411601/27., SQRT3/8., 0, 0, 0, 0, SQRT3/4., -.375, 0, -22.64018827/27., 19.60697819/27., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, -13.07131879/27., 15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, SQRT3/8., -11.32009414/27., 0, -11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, -6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, -SQRT3/8., 0, -19.96676927/27., 17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, SQRT3/8., -3./16., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, -9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, -SQRT3/16., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., -SQRT3/4., .375, 0, 0, 0, 4.464705337/27., 26.14263759/27., -22.64018827/27., 0, -22.64018827/27., 19.60697819/27., 0, 15.46619297/27., -13.39411601/27., -13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, -SQRT3/8., 11.32009414/27., 0, 0, 0, 0, 13.07131879/27., -15./16., 0, -11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .25, -SQRT3/8., 0, -13.07131879/27., 11.32009414/27., 7.733096485/27., 0, 0, 0, 13.07131879/27., -11.32009414/27., -15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, -6.535659397/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .125, -SQRT3/16., -9.983384634/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, -SQRT3/8., 0, -SQRT3/8., 3./16., 0, 19.96676927/27., -17.29172942/27., -17.29172942/27., 22.64018827/27., - 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, .125, -6.535659397/27., 0, -SQRT3/16., 0, 0, 9.983384634/27., 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, 1./16., 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, .125, -SQRT3/16., -6.535659397/27., 0, 0, 9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, -SQRT3/16., -SQRT3/16., 13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_4[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, -8.929410675/27., 7.733096485/27., 0., -SQRT3/2., .75, 0, -7.733096485/27., -.75, SQRT3*3./8., 0, 0, 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, 8.929410675/27., -7.733096485/27., 7.733096485/27., 0, - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, 0, -SQRT3/4., 22.64018827/27., -13.39411601/27., 0, -.375, 19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., 17.29172942/27., 0, 0, -3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., 26.14263759/27., -22.64018827/27., 0, 15.46619297/27., -13.39411601/27., -SQRT3/8., 0, 0, 0, 0, -SQRT3/4., .375, 0, -22.64018827/27., 19.60697819/27., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, 13.07131879/27., -15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -SQRT3/8., 11.32009414/27., 0, -11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, -SQRT3/8., 0, 19.96676927/27., -17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., 3./16., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, 9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, -SQRT3/16., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., SQRT3/4., -.375, 0, 0, 0, -4.464705337/27., -26.14263759/27., 22.64018827/27., 0, -22.64018827/27., 19.60697819/27., 0, 15.46619297/27., -13.39411601/27., 13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, SQRT3/8., -11.32009414/27., 0, 0, 0, 0, -13.07131879/27., 15./16., 0, -11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, SQRT3/16., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .25, -SQRT3/8., 0, 13.07131879/27., -11.32009414/27., 7.733096485/27., 0, 0, 0, -13.07131879/27., 11.32009414/27., -15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, 6.535659397/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .125, -SQRT3/16., 9.983384634/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, -SQRT3/8., 0, SQRT3/8., -3./16., 0, -19.96676927/27., 17.29172942/27., -17.29172942/27., 22.64018827/27., - 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, .125, -6.535659397/27., 0, SQRT3/16., 0, 0, -9.983384634/27., 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, 1./16., 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, .125, -SQRT3/16., 6.535659397/27., 0, 0, -9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, -SQRT3/16., SQRT3/16., -13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_5[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, -8.929410675/27., -7.733096485/27., 0., -SQRT3/2., -.75, 0, 7.733096485/27., -.75, -SQRT3*3./8., 0, 0, 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, 8.929410675/27., 7.733096485/27., 7.733096485/27., 0, - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, SQRT3/4., 22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, 0, -SQRT3/4., -22.64018827/27., -13.39411601/27., 0, -.375, -19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., -17.29172942/27., 0, 0, -3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., 26.14263759/27., 22.64018827/27., 0, 15.46619297/27., 13.39411601/27., -SQRT3/8., 0, 0, 0, 0, -SQRT3/4., -.375, 0, -22.64018827/27., -19.60697819/27., -13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, 13.07131879/27., 15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, -SQRT3/8., -11.32009414/27., 0, -11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, SQRT3/8., 0, 19.96676927/27., 17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, -SQRT3/8., -3./16., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, 9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, SQRT3/16., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, -SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., SQRT3/4., .375, 0, 0, 0, -4.464705337/27., -26.14263759/27., -22.64018827/27., 0, -22.64018827/27., -19.60697819/27., 0, 15.46619297/27., 13.39411601/27., 13.39411601/27., SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, SQRT3/8., 11.32009414/27., 0, 0, 0, 0, -13.07131879/27., -15./16., 0, -11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, SQRT3/16., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .25, SQRT3/8., 0, 13.07131879/27., 11.32009414/27., 7.733096485/27., 0, 0, 0, -13.07131879/27., -11.32009414/27., -15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, 6.535659397/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, .125, SQRT3/16., 9.983384634/27., 0, 0, 0, 0, 0, -6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, SQRT3/8., 0, SQRT3/8., 3./16., 0, -19.96676927/27., -17.29172942/27., -17.29172942/27., 22.64018827/27., - 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, .125, 6.535659397/27., 0, SQRT3/16., 0, 0, -9.983384634/27., 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, 1./16., 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, .125, SQRT3/16., 6.535659397/27., 0, 0, -9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, SQRT3/16., SQRT3/16., -13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_6[] = - { - 1., SQRT3/2., 0, -8.929410675/27., 0., SQRT3/2., .75, 0, -7.733096485/27., 0, 0, 0, -8.929410675/27., -7.733096485/27., 0., SQRT3/2., .75, 0, -7.733096485/27., .75, SQRT3*3./8., 0, 0, 0, -7.733096485/27., 0, 0, 0, 0, 0, 0, -8.929410675/27., -7.733096485/27., -7.733096485/27., 0., - 0, .5, 26.14263759/27., 15.46619297/27., -SQRT3/8., 0, SQRT3/4., 22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, 0, SQRT3/4., 22.64018827/27., 13.39411601/27., 0, .375, 19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, 0, - 0, 0, .25, 19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/8., 17.29172942/27., 0, 0, 3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, 13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., 26.14263759/27., 22.64018827/27., 0, 15.46619297/27., 13.39411601/27., -SQRT3/8., 0, 0, 0, 0, SQRT3/4., .375, 0, 22.64018827/27., 19.60697819/27., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, 13.07131879/27., 15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, SQRT3/8., 11.32009414/27., 0, 11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, SQRT3/8., 0, 19.96676927/27., 17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, SQRT3/8., 3./16., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, 9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, SQRT3/16., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, SQRT3/4., 0, -4.464705337/27., SQRT3/4., .375, 0, 0, 0, -4.464705337/27., 26.14263759/27., 22.64018827/27., 0, 22.64018827/27., 19.60697819/27., 0, 15.46619297/27., 13.39411601/27., 13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, 13.07131879/27., 7.733096485/27., 0, SQRT3/8., 11.32009414/27., 0, 0, 0, 0, 13.07131879/27., 15./16., 0, 11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 9.983384634/27., 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .25, SQRT3/8., 0, 13.07131879/27., 11.32009414/27., 7.733096485/27., 0, 0, 0, 13.07131879/27., 11.32009414/27., 15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, 6.535659397/27., 0, 6.535659397/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .125, SQRT3/16., 9.983384634/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, SQRT3/8., 0, SQRT3/8., 3./16., 0, 19.96676927/27., 17.29172942/27., 17.29172942/27., 22.64018827/27., - 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, .125, 6.535659397/27., 0, SQRT3/16., 0, 0, 9.983384634/27., 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, 1./16., 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, .125, SQRT3/16., 6.535659397/27., 0, 0, 9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, SQRT3/16., SQRT3/16., 13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; - - static const double dgp4_into_dgp4_refined_7[] = - { - 1., -SQRT3/2., 0, 8.929410675/27., 0, SQRT3/2., -.75, 0, 7.733096485/27., 0, 0, 0, -8.929410675/27., 7.733096485/27., 0., SQRT3/2., -.75, 0, 7.733096485/27., .75, -SQRT3*3./8., 0, 0, 0, -7.733096485/27., 0, 0, 0, 0, 0, 0, -8.929410675/27., 7.733096485/27., -7.733096485/27., 0., - 0, .5, -26.14263759/27., 15.46619297/27., SQRT3/8., 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 0, 0, 0, 0, -4.464705337/27., 0, 0, SQRT3/4., -22.64018827/27., 13.39411601/27., 0, .375, -19.60697819/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, 0, - 0, 0, .25, -19.96676927/27., 22.64018827/27., 0, 0, SQRT3/8., -17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/8., -17.29172942/27., 0, 0, 3./16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, .125, -13.39411601/27., 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., 26.14263759/27., -22.64018827/27., 0, 15.46619297/27., -13.39411601/27., -SQRT3/8., 0, 0, 0, 0, SQRT3/4., -.375, 0, 22.64018827/27., -19.60697819/27., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, -4.464705337/27., 0, - 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, 13.07131879/27., -15./16., 0, 7.733096485/27., 0, 0, 0, 0, 0, 0, SQRT3/8., -11.32009414/27., 0, 11.32009414/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, 6.535659397/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .25, -SQRT3/8., 0, 19.96676927/27., -17.29172942/27., 22.64018827/27., 0, 0, 0, 0, 0, 0, 0, SQRT3/8., -3./16., 17.29172942/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, 9.983384634/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, .125, -SQRT3/16., 13.39411601/27., 0, 0, 0, 0, 0, 0, 0, 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1./16., 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, 1./16., 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, .5, -SQRT3/4., 0, 4.464705337/27., SQRT3/4., -.375, 0, 0, 0, -4.464705337/27., 26.14263759/27., -22.64018827/27., 0, 22.64018827/27., -19.60697819/27., 0, 15.46619297/27., -13.39411601/27., 13.39411601/27., -SQRT3/8., - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .25, -13.07131879/27., 7.733096485/27., 0, SQRT3/8., -11.32009414/27., 0, 0, 0, 0, 13.07131879/27., -15./16., 0, 11.32009414/27., 0, 0, 7.733096485/27., 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -9.983384634/27., 0, 0, SQRT3/16., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .25, -SQRT3/8., 0, 13.07131879/27., -11.32009414/27., 7.733096485/27., 0, 0, 0, 13.07131879/27., -11.32009414/27., 15./16., 0, 0, 7.733096485/27., 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, .125, -6.535659397/27., 0, 6.535659397/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, .125, -SQRT3/16., 9.983384634/27., 0, 0, 0, 0, 0, 6.535659397/27., 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, 1./16., 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, 1./16., 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, .25, -SQRT3/8., 0, SQRT3/8., -3./16., 0, 19.96676927/27., -17.29172942/27., 17.29172942/27., 22.64018827/27., - 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, .125, -6.535659397/27., 0, SQRT3/16., 0, 0, 9.983384634/27., 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, 1./16., 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, .125, -SQRT3/16., 6.535659397/27., 0, 0, 9.983384634/27., 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, 1./16., 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, 1./16., 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, .125, -SQRT3/16., SQRT3/16., 13.39411601/27., - 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, 1./16., 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, 1./16., 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, 1./16., - }; -} - - -template <> -const double * const -FE_DGP<3>::Matrices::embedding[][GeometryInfo<3>::children_per_cell] = -{ - { FE_DGP_3d::dgp0_into_dgp0_refined_0, - FE_DGP_3d::dgp0_into_dgp0_refined_1, - FE_DGP_3d::dgp0_into_dgp0_refined_2, - FE_DGP_3d::dgp0_into_dgp0_refined_3, - FE_DGP_3d::dgp0_into_dgp0_refined_4, - FE_DGP_3d::dgp0_into_dgp0_refined_5, - FE_DGP_3d::dgp0_into_dgp0_refined_6, - FE_DGP_3d::dgp0_into_dgp0_refined_7}, - { FE_DGP_3d::dgp1_into_dgp1_refined_0, - FE_DGP_3d::dgp1_into_dgp1_refined_1, - FE_DGP_3d::dgp1_into_dgp1_refined_2, - FE_DGP_3d::dgp1_into_dgp1_refined_3, - FE_DGP_3d::dgp1_into_dgp1_refined_4, - FE_DGP_3d::dgp1_into_dgp1_refined_5, - FE_DGP_3d::dgp1_into_dgp1_refined_6, - FE_DGP_3d::dgp1_into_dgp1_refined_7}, - { FE_DGP_3d::dgp2_into_dgp2_refined_0, - FE_DGP_3d::dgp2_into_dgp2_refined_1, - FE_DGP_3d::dgp2_into_dgp2_refined_2, - FE_DGP_3d::dgp2_into_dgp2_refined_3, - FE_DGP_3d::dgp2_into_dgp2_refined_4, - FE_DGP_3d::dgp2_into_dgp2_refined_5, - FE_DGP_3d::dgp2_into_dgp2_refined_6, - FE_DGP_3d::dgp2_into_dgp2_refined_7}, - { FE_DGP_3d::dgp3_into_dgp3_refined_0, - FE_DGP_3d::dgp3_into_dgp3_refined_1, - FE_DGP_3d::dgp3_into_dgp3_refined_2, - FE_DGP_3d::dgp3_into_dgp3_refined_3, - FE_DGP_3d::dgp3_into_dgp3_refined_4, - FE_DGP_3d::dgp3_into_dgp3_refined_5, - FE_DGP_3d::dgp3_into_dgp3_refined_6, - FE_DGP_3d::dgp3_into_dgp3_refined_7}, - { FE_DGP_3d::dgp4_into_dgp4_refined_0, - FE_DGP_3d::dgp4_into_dgp4_refined_1, - FE_DGP_3d::dgp4_into_dgp4_refined_2, - FE_DGP_3d::dgp4_into_dgp4_refined_3, - FE_DGP_3d::dgp4_into_dgp4_refined_4, - FE_DGP_3d::dgp4_into_dgp4_refined_5, - FE_DGP_3d::dgp4_into_dgp4_refined_6, - FE_DGP_3d::dgp4_into_dgp4_refined_7} -}; - - -template <> -const unsigned int FE_DGP<3>::Matrices::n_embedding_matrices -= sizeof(FE_DGP<3>::Matrices::embedding) / -sizeof(FE_DGP<3>::Matrices::embedding[0]); - - -/* - * These elements are not defined by interpolation, therefore there - * are no interpolation matrices. - */ - -template <> -const double * const FE_DGP<3>::Matrices::projection_matrices[][GeometryInfo<3>::children_per_cell] = {{0}}; - -template <> -const unsigned int FE_DGP<3>::Matrices::n_projection_matrices -= 0; - - -#else // #if deal_II_dimension -// On gcc2.95 on Alpha OSF1, the native assembler does not like empty -// files, so provide some dummy code -namespace { void dummy () {} } -#endif // #if deal_II_dimension diff --git a/deal.II/deal.II/source/fe/fe_dgq.cc b/deal.II/deal.II/source/fe/fe_dgq.cc index 7960811cb3..6f5a9abbce 100644 --- a/deal.II/deal.II/source/fe/fe_dgq.cc +++ b/deal.II/deal.II/source/fe/fe_dgq.cc @@ -12,6 +12,7 @@ //--------------------------------------------------------------------------- #include +#include #ifdef HAVE_STD_STRINGSTREAM # include @@ -151,72 +152,12 @@ FE_DGQ::FE_DGQ (const unsigned int degree) rotate_indices (right, 'Z'); if (dim>2) rotate_indices (top, 'X'); - - // if defined, copy over matrices - // from precomputed arrays and - // generate all other matrices by - // permutations - // - // (note: the matrix is defined if - // something was entered into the - // respective table, and what was - // entered is not a NULL pointer -- - // this would allow for "holes") - if ((degree < Matrices::n_embedding_matrices) && - (Matrices::embedding[degree] != 0)) - { - for (unsigned int i=0; i::children_per_cell; ++i) - this->prolongation[i].reinit (this->dofs_per_cell, - this->dofs_per_cell); - this->prolongation[0].fill (Matrices::embedding[degree]); - switch (dim) - { - case 1: - { - this->prolongation[1].fill_permutation (this->prolongation[0], - right, right); - break; - }; - - case 2: - { - this->prolongation[1].fill_permutation (this->prolongation[0], - right, right); - this->prolongation[2].fill_permutation (this->prolongation[1], - right, right); - this->prolongation[3].fill_permutation (this->prolongation[2], - right, right); - break; - }; - - case 3: - { - this->prolongation[1].fill_permutation (this->prolongation[0], - right, right); - this->prolongation[5].fill_permutation (this->prolongation[1], - right, right); - this->prolongation[4].fill_permutation (this->prolongation[5], - right, right); - this->prolongation[7].fill_permutation (this->prolongation[4], - top, top); - this->prolongation[3].fill_permutation (this->prolongation[7], - top, top); - this->prolongation[6].fill_permutation (this->prolongation[5], - top, top); - this->prolongation[2].fill_permutation (this->prolongation[6], - top, top); - break; - }; - - default: - Assert (false, ExcNotImplemented()); - } - } - else - // matrix undefined, leave matrix - // at size zero - ; - + + for (unsigned int i=0; i::children_per_cell; ++i) + this->prolongation[i].reinit (this->dofs_per_cell, + this->dofs_per_cell); + FETools::compute_embedding_matrices (*this, &this->prolongation[0]); + // same as above: copy over matrix // from predefined values and // generate all others by rotation diff --git a/deal.II/deal.II/source/fe/fe_dgq_1d.cc b/deal.II/deal.II/source/fe/fe_dgq_1d.cc index 653ac4f80e..c8ea5ef99f 100644 --- a/deal.II/deal.II/source/fe/fe_dgq_1d.cc +++ b/deal.II/deal.II/source/fe/fe_dgq_1d.cc @@ -22,50 +22,6 @@ namespace FE_DGQ_1d { - static const double dgq0_into_dgq0_refined[] = - { - 1., 1. - }; - - - // the left node on the left child gets the - // value of the left node of the mother - // cell. the right node gets the mean value - // of the two nodes on the mother cell. - // - // note that the values for the right child - // cell are determined by permutation in - // the constructor of FE_DGQ - static const double dgq1_into_dgq1_refined[] = - { - 1., 0., - 13.5/27., 13.5/27., - }; - - static const double dgq2_into_dgq2_refined[] = - { - 1., 0., 0., - 10.125/27., 20.25/27., -3.375/27., - 0., 1., 0., - }; - - static const double dgq3_into_dgq3_refined[] = - { - 1., 0., 0., 0., - 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., - 0., 1., 0., 0., - -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., - }; - - static const double dgq4_into_dgq4_refined[] = - { - 1., 0., 0., 0., 0., - 7.3828125/27., 29.53125/27., -14.765625/27., 5.90625/27., -1.0546875/27., - 0., 1., 0., 0., 0., - -1.0546875/27., 12.65625/27., 18.984375/27., -4.21875/27., 0.6328125/27., - 0., -2.91892343e-13/27., 1., 0., 0., - }; - static const double dgq0_refined_onto_dgq0[] = { @@ -139,26 +95,6 @@ namespace FE_DGQ_1d -template <> -const double * const FE_DGQ<1>::Matrices::embedding[] = -{ - FE_DGQ_1d::dgq0_into_dgq0_refined, - FE_DGQ_1d::dgq1_into_dgq1_refined, - FE_DGQ_1d::dgq2_into_dgq2_refined, - FE_DGQ_1d::dgq3_into_dgq3_refined, - FE_DGQ_1d::dgq4_into_dgq4_refined -}; - - - -template <> -const unsigned int FE_DGQ<1>::Matrices::n_embedding_matrices - = sizeof(FE_DGQ<1>::Matrices::embedding) / - sizeof(FE_DGQ<1>::Matrices::embedding[0]); - - - - template <> const double * const FE_DGQ<1>::Matrices::projection_matrices[] = { diff --git a/deal.II/deal.II/source/fe/fe_dgq_2d.cc b/deal.II/deal.II/source/fe/fe_dgq_2d.cc index 9d575c4191..613ec6af76 100644 --- a/deal.II/deal.II/source/fe/fe_dgq_2d.cc +++ b/deal.II/deal.II/source/fe/fe_dgq_2d.cc @@ -21,175 +21,6 @@ namespace FE_DGQ_2d { - static const double dgq0_into_dgq0_refined[] = - { - 1., 1., 1., 1. - }; - - static const double dgq1_into_dgq1_refined[] = - { - 1., 0., 0., 0., - 13.5/27., 13.5/27., 0., 0., - 13.5/27., 0., 13.5/27., 0., - 6.75/27., 6.75/27., 6.75/27., 6.75/27., - }; - - static const double dgq2_into_dgq2_refined[] = - { - 1., 0., 0., 0., 0., 0., 0., 0., 0., - 10.125/27., 20.25/27., -3.375/27., 0., 0., 0., 0., 0., 0., - 0., 1., 0., 0., 0., 0., 0., 0., 0., - 10.125/27., 0., 0., 20.25/27., 0., 0., -3.375/27., 0., 0., - 3.796875/27., 7.59375/27., -1.265625/27., 7.59375/27., 15.1875/27., -2.53125/27., -1.265625/27., -2.53125/27., 0.421875/27., - 0., 10.125/27., 0., 0., 20.25/27., 0., 0., -3.375/27., 0., - 0., 0., 0., 1., 0., 0., 0., 0., 0., - 0., 0., 0., 10.125/27., 20.25/27., -3.375/27., 0., 0., 0., - 0., 0., 0., 0., 1., 0., 0., 0., 0., - }; - - static const double dgq3_into_dgq3_refined[] = - { - 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., 0., - 2.63671875/27., 7.91015625/27., -2.63671875/27., 0.52734375/27., 7.91015625/27., 23.73046875/27., -7.91015625/27., 1.58203125/27., -2.63671875/27., -7.91015625/27., 2.63671875/27., -0.52734375/27., 0.52734375/27., 1.58203125/27., -0.52734375/27., 0.10546875/27., - 0., 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 0., 0., - -0.52734375/27., 4.74609375/27., 4.74609375/27., -0.52734375/27., -1.58203125/27., 14.23828125/27., 14.23828125/27., -1.58203125/27., 0.52734375/27., -4.74609375/27., -4.74609375/27., 0.52734375/27., -0.10546875/27., 0.94921875/27., 0.94921875/27., -0.10546875/27., - 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., - -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 0., 0., 0., - -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., - 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 0., 0., - 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., - }; - - static const double dgq4_into_dgq4_refined[] = - { - 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 7.3828125/27., 29.53125/27., -14.765625/27., 5.90625/27., -1.0546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.0546875/27., 12.65625/27., 18.984375/27., -4.21875/27., 0.6328125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., -3.037621421e-13/27., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 7.3828125/27., 0., 0., 0., 0., 29.53125/27., 0., 0., 0., 0., -14.765625/27., 0., 0., 0., 0., 5.90625/27., 0., 0., 0., 0., -1.0546875/27., 0., 0., 0., 0., - 2.018737793/27., 8.074951172/27., -4.037475586/27., 1.614990234/27., -0.2883911133/27., 8.074951172/27., 32.29980469/27., -16.14990234/27., 6.459960937/27., -1.153564453/27., -4.037475586/27., -16.14990234/27., 8.074951172/27., -3.229980469/27., 0.5767822266/27., 1.614990234/27., 6.459960937/27., -3.229980469/27., 1.291992187/27., -0.2307128906/27., -0.2883911133/27., -1.153564453/27., 0.5767822266/27., -0.2307128906/27., 0.04119873047/27., - 0., 7.3828125/27., 0., 0., 0., 0., 29.53125/27., 0., 0., 0., 0., -14.765625/27., 0., 0., 0., 0., 5.90625/27., 0., 0., 0., 0., -1.0546875/27., 0., 0., 0., - -0.2883911133/27., 3.460693359/27., 5.191040039/27., -1.153564453/27., 0.173034668/27., -1.153564453/27., 13.84277344/27., 20.76416016/27., -4.614257813/27., 0.6921386719/27., 0.5767822266/27., -6.921386719/27., -10.38208008/27., 2.307128906/27., -0.3460693359/27., -0.2307128906/27., 2.768554687/27., 4.152832031/27., -0.9228515625/27., 0.1384277344/27., 0.04119873047/27., -0.4943847656/27., -0.7415771484/27., 0.1647949219/27., -0.02471923828/27., - 0., 0., 7.3828125/27., 0., 0., 0., -3.181519325e-13/27., 29.53125/27., 0., 0., 0., 1.601013025e-13/27., -14.765625/27., 0., 0., 0., 0., 5.90625/27., 0., 0., 0., 0., -1.0546875/27., 0., 0., - 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 7.3828125/27., 29.53125/27., -14.765625/27., 5.90625/27., -1.0546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., -1.0546875/27., 12.65625/27., 18.984375/27., -4.21875/27., 0.6328125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., -2.837901725e-13/27., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.0546875/27., 0., 0., 0., 0., 12.65625/27., 0., 0., 0., 0., 18.984375/27., 0., 0., 0., 0., -4.21875/27., 0., 0., 0., 0., 0.6328125/27., 0., 0., 0., 0., - -0.2883911133/27., -1.153564453/27., 0.5767822266/27., -0.2307128906/27., 0.04119873047/27., 3.460693359/27., 13.84277344/27., -6.921386719/27., 2.768554687/27., -0.4943847656/27., 5.191040039/27., 20.76416016/27., -10.38208008/27., 4.152832031/27., -0.7415771484/27., -1.153564453/27., -4.614257813/27., 2.307128906/27., -0.9228515625/27., 0.1647949219/27., 0.173034668/27., 0.6921386719/27., -0.3460693359/27., 0.1384277344/27., -0.02471923828/27., - 0., -1.0546875/27., 0., 0., 0., 0., 12.65625/27., 0., 0., 0., 0., 18.984375/27., 0., 0., 0., 0., -4.21875/27., 0., 0., 0., 0., 0.6328125/27., 0., 0., 0., - 0.04119873047/27., -0.4943847656/27., -0.7415771484/27., 0.1647949219/27., -0.02471923828/27., -0.4943847656/27., 5.932617187/27., 8.898925781/27., -1.977539062/27., 0.2966308594/27., -0.7415771484/27., 8.898925781/27., 13.34838867/27., -2.966308594/27., 0.4449462891/27., 0.1647949219/27., -1.977539062/27., -2.966308594/27., 0.6591796875/27., -0.09887695313/27., -0.02471923828/27., 0.2966308594/27., 0.4449462891/27., -0.09887695313/27., 0.01483154297/27., - 0., 0., -1.0546875/27., 0., 0., 0., -1.40925221e-13/27., 12.65625/27., 0., 0., 0., -2.083871924e-13/27., 18.984375/27., 0., 0., 0., 0., -4.21875/27., 0., 0., 0., 0., 0.6328125/27., 0., 0., - 0., 0., 0., 0., 0., -3.037621421e-13/27., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., -3.181519325e-13/27., 1.601013025e-13/27., 0., 0., 7.3828125/27., 29.53125/27., -14.765625/27., 5.90625/27., -1.0546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., -2.837901725e-13/27., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., -1.40925221e-13/27., -2.083871924e-13/27., 0., 0., -1.0546875/27., 12.65625/27., 18.984375/27., -4.21875/27., 0.6328125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., -2.96327173e-13/27., 0., 0., 0., -2.96327173e-13/27., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - }; - - static const double dgq5_into_dgq5_refined[] = - { - 1., 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., - 6.64453125/27., 33.22265625/27., -22.1484375/27., 13.2890625/27., -4.74609375/27., 0.73828125/27., 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., 1., 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.73828125/27., 11.07421875/27., 22.1484375/27., -7.3828125/27., 2.21484375/27., -0.31640625/27., 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., 1., 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.31640625/27., -2.63671875/27., 15.8203125/27., 15.8203125/27., -2.63671875/27., 0.31640625/27., 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., - 6.64453125/27., 0., 0., 0., 0., 0., 33.22265625/27., 0., 0., 0., 0., 0., -22.1484375/27., 0., 0., 0., 0., 0., 13.2890625/27., 0., 0., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0., 0., 0.73828125/27., 0., 0., 0., 0., 0., - 1.635177612/27., 8.175888062/27., -5.450592041/27., 3.270355225/27., -1.167984009/27., 0.1816864014/27., 8.175888062/27., 40.87944031/27., -27.25296021/27., 16.35177612/27., -5.839920044/27., 0.9084320068/27., -5.450592041/27., -27.25296021/27., 18.16864014/27., -10.90118408/27., 3.893280029/27., -0.6056213379/27., 3.270355225/27., 16.35177612/27., -10.90118408/27., 6.540710449/27., -2.335968018/27., 0.3633728027/27., -1.167984009/27., -5.839920044/27., 3.893280029/27., -2.335968018/27., 0.834274292/27., -0.129776001/27., 0.1816864014/27., 0.9084320068/27., -0.6056213379/27., 0.3633728027/27., -0.129776001/27., 0.02018737793/27., - 0., 6.64453125/27., 0., 0., 0., 0., 0., 33.22265625/27., 0., 0., 0., 0., 0., -22.1484375/27., 0., 0., 0., 0., 0., 13.2890625/27., 0., 0., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0., 0., 0.73828125/27., 0., 0., 0., 0., - -0.1816864014/27., 2.725296021/27., 5.450592041/27., -1.816864014/27., 0.5450592041/27., -0.07786560059/27., -0.9084320068/27., 13.6264801/27., 27.25296021/27., -9.084320068/27., 2.725296021/27., -0.3893280029/27., 0.6056213379/27., -9.084320068/27., -18.16864014/27., 6.056213379/27., -1.816864014/27., 0.259552002/27., -0.3633728027/27., 5.450592041/27., 10.90118408/27., -3.633728027/27., 1.090118408/27., -0.1557312012/27., 0.129776001/27., -1.946640015/27., -3.893280029/27., 1.29776001/27., -0.3893280029/27., 0.05561828613/27., -0.02018737793/27., 0.3028106689/27., 0.6056213379/27., -0.2018737793/27., 0.06056213379/27., -0.008651733398/27., - 0., 0., 6.64453125/27., 0., 0., 0., 0., 0., 33.22265625/27., 0., 0., 0., 0., 0., -22.1484375/27., 0., 0., 0., 0., 0., 13.2890625/27., 0., 0., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0., 0., 0.73828125/27., 0., 0., 0., - 0.07786560059/27., -0.6488800049/27., 3.893280029/27., 3.893280029/27., -0.6488800049/27., 0.07786560059/27., 0.3893280029/27., -3.244400024/27., 19.46640015/27., 19.46640015/27., -3.244400024/27., 0.3893280029/27., -0.259552002/27., 2.16293335/27., -12.9776001/27., -12.9776001/27., 2.16293335/27., -0.259552002/27., 0.1557312012/27., -1.29776001/27., 7.786560059/27., 7.786560059/27., -1.29776001/27., 0.1557312012/27., -0.05561828613/27., 0.4634857178/27., -2.780914307/27., -2.780914307/27., 0.4634857178/27., -0.05561828613/27., 0.008651733398/27., -0.07209777832/27., 0.4325866699/27., 0.4325866699/27., -0.07209777832/27., 0.008651733398/27., - 0., 0., 0., 0., 0., 0., 1., 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., 6.64453125/27., 33.22265625/27., -22.1484375/27., 13.2890625/27., -4.74609375/27., 0.73828125/27., 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., 1., 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.73828125/27., 11.07421875/27., 22.1484375/27., -7.3828125/27., 2.21484375/27., -0.31640625/27., 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., 1., 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.31640625/27., -2.63671875/27., 15.8203125/27., 15.8203125/27., -2.63671875/27., 0.31640625/27., 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.73828125/27., 0., 0., 0., 0., 0., 11.07421875/27., 0., 0., 0., 0., 0., 22.1484375/27., 0., 0., 0., 0., 0., -7.3828125/27., 0., 0., 0., 0., 0., 2.21484375/27., 0., 0., 0., 0., 0., -0.31640625/27., 0., 0., 0., 0., 0., - -0.1816864014/27., -0.9084320068/27., 0.6056213379/27., -0.3633728027/27., 0.129776001/27., -0.02018737793/27., 2.725296021/27., 13.6264801/27., -9.084320068/27., 5.450592041/27., -1.946640015/27., 0.3028106689/27., 5.450592041/27., 27.25296021/27., -18.16864014/27., 10.90118408/27., -3.893280029/27., 0.6056213379/27., -1.816864014/27., -9.084320068/27., 6.056213379/27., -3.633728027/27., 1.29776001/27., -0.2018737793/27., 0.5450592041/27., 2.725296021/27., -1.816864014/27., 1.090118408/27., -0.3893280029/27., 0.06056213379/27., -0.07786560059/27., -0.3893280029/27., 0.259552002/27., -0.1557312012/27., 0.05561828613/27., -0.008651733398/27., - 0., -0.73828125/27., 0., 0., 0., 0., 0., 11.07421875/27., 0., 0., 0., 0., 0., 22.1484375/27., 0., 0., 0., 0., 0., -7.3828125/27., 0., 0., 0., 0., 0., 2.21484375/27., 0., 0., 0., 0., 0., -0.31640625/27., 0., 0., 0., 0., - 0.02018737793/27., -0.3028106689/27., -0.6056213379/27., 0.2018737793/27., -0.06056213379/27., 0.008651733398/27., -0.3028106689/27., 4.542160034/27., 9.084320068/27., -3.028106689/27., 0.9084320068/27., -0.129776001/27., -0.6056213379/27., 9.084320068/27., 18.16864014/27., -6.056213379/27., 1.816864014/27., -0.259552002/27., 0.2018737793/27., -3.028106689/27., -6.056213379/27., 2.018737793/27., -0.6056213379/27., 0.08651733398/27., -0.06056213379/27., 0.9084320068/27., 1.816864014/27., -0.6056213379/27., 0.1816864014/27., -0.0259552002/27., 0.008651733398/27., -0.129776001/27., -0.259552002/27., 0.08651733398/27., -0.0259552002/27., 0.003707885742/27., - 0., 0., -0.73828125/27., 0., 0., 0., 0., 0., 11.07421875/27., 0., 0., 0., 0., 0., 22.1484375/27., 0., 0., 0., 0., 0., -7.3828125/27., 0., 0., 0., 0., 0., 2.21484375/27., 0., 0., 0., 0., 0., -0.31640625/27., 0., 0., 0., - -0.008651733398/27., 0.07209777832/27., -0.4325866699/27., -0.4325866699/27., 0.07209777832/27., -0.008651733398/27., 0.129776001/27., -1.081466675/27., 6.488800049/27., 6.488800049/27., -1.081466675/27., 0.129776001/27., 0.259552002/27., -2.16293335/27., 12.9776001/27., 12.9776001/27., -2.16293335/27., 0.259552002/27., -0.08651733398/27., 0.7209777832/27., -4.325866699/27., -4.325866699/27., 0.7209777832/27., -0.08651733398/27., 0.0259552002/27., -0.216293335/27., 1.29776001/27., 1.29776001/27., -0.216293335/27., 0.0259552002/27., -0.003707885742/27., 0.03089904785/27., -0.1853942871/27., -0.1853942871/27., 0.03089904785/27., -0.003707885742/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 6.64453125/27., 33.22265625/27., -22.1484375/27., 13.2890625/27., -4.74609375/27., 0.73828125/27., 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., 1., 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.73828125/27., 11.07421875/27., 22.1484375/27., -7.3828125/27., 2.21484375/27., -0.31640625/27., 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., 1., 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.31640625/27., -2.63671875/27., 15.8203125/27., 15.8203125/27., -2.63671875/27., 0.31640625/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0.31640625/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 0.31640625/27., 0., 0., 0., 0., 0., - 0.07786560059/27., 0.3893280029/27., -0.259552002/27., 0.1557312012/27., -0.05561828613/27., 0.008651733398/27., -0.6488800049/27., -3.244400024/27., 2.16293335/27., -1.29776001/27., 0.4634857178/27., -0.07209777832/27., 3.893280029/27., 19.46640015/27., -12.9776001/27., 7.786560059/27., -2.780914307/27., 0.4325866699/27., 3.893280029/27., 19.46640015/27., -12.9776001/27., 7.786560059/27., -2.780914307/27., 0.4325866699/27., -0.6488800049/27., -3.244400024/27., 2.16293335/27., -1.29776001/27., 0.4634857178/27., -0.07209777832/27., 0.07786560059/27., 0.3893280029/27., -0.259552002/27., 0.1557312012/27., -0.05561828613/27., 0.008651733398/27., - 0., 0.31640625/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 0.31640625/27., 0., 0., 0., 0., - -0.008651733398/27., 0.129776001/27., 0.259552002/27., -0.08651733398/27., 0.0259552002/27., -0.003707885742/27., 0.07209777832/27., -1.081466675/27., -2.16293335/27., 0.7209777832/27., -0.216293335/27., 0.03089904785/27., -0.4325866699/27., 6.488800049/27., 12.9776001/27., -4.325866699/27., 1.29776001/27., -0.1853942871/27., -0.4325866699/27., 6.488800049/27., 12.9776001/27., -4.325866699/27., 1.29776001/27., -0.1853942871/27., 0.07209777832/27., -1.081466675/27., -2.16293335/27., 0.7209777832/27., -0.216293335/27., 0.03089904785/27., -0.008651733398/27., 0.129776001/27., 0.259552002/27., -0.08651733398/27., 0.0259552002/27., -0.003707885742/27., - 0., 0., 0.31640625/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., 15.8203125/27., 0., 0., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0., 0., 0.31640625/27., 0., 0., 0., - 0.003707885742/27., -0.03089904785/27., 0.1853942871/27., 0.1853942871/27., -0.03089904785/27., 0.003707885742/27., -0.03089904785/27., 0.2574920654/27., -1.544952393/27., -1.544952393/27., 0.2574920654/27., -0.03089904785/27., 0.1853942871/27., -1.544952393/27., 9.269714355/27., 9.269714355/27., -1.544952393/27., 0.1853942871/27., 0.1853942871/27., -1.544952393/27., 9.269714355/27., 9.269714355/27., -1.544952393/27., 0.1853942871/27., -0.03089904785/27., 0.2574920654/27., -1.544952393/27., -1.544952393/27., 0.2574920654/27., -0.03089904785/27., 0.003707885742/27., -0.03089904785/27., 0.1853942871/27., 0.1853942871/27., -0.03089904785/27., 0.003707885742/27., - }; - - - static const double dgq6_into_dgq6_refined[] = -{ - 1., 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., 0., 0., 0., 0., 0., 0., 0., - 6.090820312/27., 36.54492187/27., -30.45410156/27., 24.36328125/27., -13.05175781/27., 4.060546875/27., -0.5537109375/27., 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., 0., - 0., 1., 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., 0., 0., 0., 0., 0., 0., - -0.5537109375/27., 9.966796875/27., 24.91699219/27., -11.07421875/27., 4.983398437/27., -1.423828125/27., 0.1845703125/27., 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., 0., - 0., 0., 1., 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., 0., 0., 0., 0., 0., - 0.1845703125/27., -1.845703125/27., 13.84277344/27., 18.45703125/27., -4.614257813/27., 1.107421875/27., -0.1318359375/27., 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., 0., - 0., 0., 0., 1., 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., 0., 0., 0., 0., - 6.090820312/27., 0., 0., 0., 0., 0., 0., 36.54492187/27., 0., 0., 0., 0., 0., 0., -30.45410156/27., 0., 0., 0., 0., 0., 0., 24.36328125/27., 0., 0., 0., 0., 0., 0., -13.05175781/27., 0., 0., 0., 0., 0., 0., 4.060546875/27., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 0., 0., 0., 0., 0., 0., - 1.37400341/27., 8.244020462/27., -6.870017052/27., 5.496013641/27., -2.944293022/27., 0.9160022736/27., -0.1249094009/27., 8.244020462/27., 49.46412277/27., -41.22010231/27., 32.97608185/27., -17.66575813/27., 5.496013641/27., -0.7494564056/27., -6.870017052/27., -41.22010231/27., 34.35008526/27., -27.48006821/27., 14.72146511/27., -4.580011368/27., 0.6245470047/27., 5.496013641/27., 32.97608185/27., -27.48006821/27., 21.98405457/27., -11.77717209/27., 3.664009094/27., -0.4996376038/27., -2.944293022/27., -17.66575813/27., 14.72146511/27., -11.77717209/27., 6.309199333/27., -1.962862015/27., 0.267663002/27., 0.9160022736/27., 5.496013641/27., -4.580011368/27., 3.664009094/27., -1.962862015/27., 0.6106681824/27., -0.08327293396/27., -0.1249094009/27., -0.7494564056/27., 0.6245470047/27., -0.4996376038/27., 0.267663002/27., -0.08327293396/27., 0.01135540009/27., - 0., 6.090820312/27., 0., 0., 0., 0., 0., 0., 36.54492187/27., 0., 0., 0., 0., 0., 0., -30.45410156/27., 0., 0., 0., 0., 0., 0., 24.36328125/27., 0., 0., 0., 0., 0., 0., -13.05175781/27., 0., 0., 0., 0., 0., 0., 4.060546875/27., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 0., 0., 0., 0., 0., - -0.1249094009/27., 2.248369217/27., 5.620923042/27., -2.498188019/27., 1.124184608/27., -0.3211956024/27., 0.04163646698/27., -0.7494564056/27., 13.4902153/27., 33.72553825/27., -14.98912811/27., 6.745107651/27., -1.927173615/27., 0.2498188019/27., 0.6245470047/27., -11.24184608/27., -28.10461521/27., 12.49094009/27., -5.620923042/27., 1.605978012/27., -0.2081823349/27., -0.4996376038/27., 8.993476868/27., 22.48369217/27., -9.992752075/27., 4.496738434/27., -1.28478241/27., 0.1665458679/27., 0.267663002/27., -4.817934036/27., -12.04483509/27., 5.35326004/27., -2.408967018/27., 0.6882762909/27., -0.08922100067/27., -0.08327293396/27., 1.498912811/27., 3.747282028/27., -1.665458679/27., 0.7494564056/27., -0.2141304016/27., 0.02775764465/27., 0.01135540009/27., -0.2043972015/27., -0.5109930038/27., 0.2271080017/27., -0.1021986008/27., 0.02919960022/27., -0.003785133362/27., - 0., 0., 6.090820312/27., 0., 0., 0., 0., 0., 0., 36.54492187/27., 0., 0., 0., 0., 0., 0., -30.45410156/27., 0., 0., 0., 0., 0., 0., 24.36328125/27., 0., 0., 0., 0., 0., 0., -13.05175781/27., 0., 0., 0., 0., 0., 0., 4.060546875/27., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 0., 0., 0., 0., - 0.04163646698/27., -0.4163646698/27., 3.122735023/27., 4.163646698/27., -1.040911674/27., 0.2498188019/27., -0.02974033356/27., 0.2498188019/27., -2.498188019/27., 18.73641014/27., 24.98188019/27., -6.245470047/27., 1.498912811/27., -0.1784420013/27., -0.2081823349/27., 2.081823349/27., -15.61367512/27., -20.81823349/27., 5.204558372/27., -1.249094009/27., 0.1487016678/27., 0.1665458679/27., -1.665458679/27., 12.49094009/27., 16.65458679/27., -4.163646698/27., 0.9992752075/27., -0.1189613342/27., -0.08922100067/27., 0.8922100067/27., -6.69157505/27., -8.922100067/27., 2.230525017/27., -0.535326004/27., 0.06372928619/27., 0.02775764465/27., -0.2775764465/27., 2.081823349/27., 2.775764465/27., -0.6939411163/27., 0.1665458679/27., -0.01982688904/27., -0.003785133362/27., 0.03785133362/27., -0.2838850021/27., -0.3785133362/27., 0.09462833405/27., -0.02271080017/27., 0.002703666687/27., - 0., 0., 0., 6.090820312/27., 0., 0., 0., 0., 0., 0., 36.54492187/27., 0., 0., 0., 0., 0., 0., -30.45410156/27., 0., 0., 0., 0., 0., 0., 24.36328125/27., 0., 0., 0., 0., 0., 0., -13.05175781/27., 0., 0., 0., 0., 0., 0., 4.060546875/27., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 1., 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., - 0., 0., 0., 0., 0., 0., 0., 6.090820312/27., 36.54492187/27., -30.45410156/27., 24.36328125/27., -13.05175781/27., 4.060546875/27., -0.5537109375/27., 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., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 9.966796875/27., 24.91699219/27., -11.07421875/27., 4.983398437/27., -1.423828125/27., 0.1845703125/27., 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., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0.1845703125/27., -1.845703125/27., 13.84277344/27., 18.45703125/27., -4.614257813/27., 1.107421875/27., -0.1318359375/27., 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., 0., 0., 0., 0., 1., 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.5537109375/27., 0., 0., 0., 0., 0., 0., 9.966796875/27., 0., 0., 0., 0., 0., 0., 24.91699219/27., 0., 0., 0., 0., 0., 0., -11.07421875/27., 0., 0., 0., 0., 0., 0., 4.983398437/27., 0., 0., 0., 0., 0., 0., -1.423828125/27., 0., 0., 0., 0., 0., 0., 0.1845703125/27., 0., 0., 0., 0., 0., 0., - -0.1249094009/27., -0.7494564056/27., 0.6245470047/27., -0.4996376038/27., 0.267663002/27., -0.08327293396/27., 0.01135540009/27., 2.248369217/27., 13.4902153/27., -11.24184608/27., 8.993476868/27., -4.817934036/27., 1.498912811/27., -0.2043972015/27., 5.620923042/27., 33.72553825/27., -28.10461521/27., 22.48369217/27., -12.04483509/27., 3.747282028/27., -0.5109930038/27., -2.498188019/27., -14.98912811/27., 12.49094009/27., -9.992752075/27., 5.35326004/27., -1.665458679/27., 0.2271080017/27., 1.124184608/27., 6.745107651/27., -5.620923042/27., 4.496738434/27., -2.408967018/27., 0.7494564056/27., -0.1021986008/27., -0.3211956024/27., -1.927173615/27., 1.605978012/27., -1.28478241/27., 0.6882762909/27., -0.2141304016/27., 0.02919960022/27., 0.04163646698/27., 0.2498188019/27., -0.2081823349/27., 0.1665458679/27., -0.08922100067/27., 0.02775764465/27., -0.003785133362/27., - 0., -0.5537109375/27., 0., 0., 0., 0., 0., 0., 9.966796875/27., 0., 0., 0., 0., 0., 0., 24.91699219/27., 0., 0., 0., 0., 0., 0., -11.07421875/27., 0., 0., 0., 0., 0., 0., 4.983398437/27., 0., 0., 0., 0., 0., 0., -1.423828125/27., 0., 0., 0., 0., 0., 0., 0.1845703125/27., 0., 0., 0., 0., 0., - 0.01135540009/27., -0.2043972015/27., -0.5109930038/27., 0.2271080017/27., -0.1021986008/27., 0.02919960022/27., -0.003785133362/27., -0.2043972015/27., 3.679149628/27., 9.197874069/27., -4.087944031/27., 1.839574814/27., -0.525592804/27., 0.06813240051/27., -0.5109930038/27., 9.197874069/27., 22.99468517/27., -10.21986008/27., 4.598937035/27., -1.31398201/27., 0.1703310013/27., 0.2271080017/27., -4.087944031/27., -10.21986008/27., 4.542160034/27., -2.043972015/27., 0.5839920044/27., -0.07570266724/27., -0.1021986008/27., 1.839574814/27., 4.598937035/27., -2.043972015/27., 0.9197874069/27., -0.262796402/27., 0.03406620026/27., 0.02919960022/27., -0.525592804/27., -1.31398201/27., 0.5839920044/27., -0.262796402/27., 0.07508468628/27., -0.009733200073/27., -0.003785133362/27., 0.06813240051/27., 0.1703310013/27., -0.07570266724/27., 0.03406620026/27., -0.009733200073/27., 0.001261711121/27., - 0., 0., -0.5537109375/27., 0., 0., 0., 0., 0., 0., 9.966796875/27., 0., 0., 0., 0., 0., 0., 24.91699219/27., 0., 0., 0., 0., 0., 0., -11.07421875/27., 0., 0., 0., 0., 0., 0., 4.983398437/27., 0., 0., 0., 0., 0., 0., -1.423828125/27., 0., 0., 0., 0., 0., 0., 0.1845703125/27., 0., 0., 0., 0., - -0.003785133362/27., 0.03785133362/27., -0.2838850021/27., -0.3785133362/27., 0.09462833405/27., -0.02271080017/27., 0.002703666687/27., 0.06813240051/27., -0.6813240051/27., 5.109930038/27., 6.813240051/27., -1.703310013/27., 0.4087944031/27., -0.04866600037/27., 0.1703310013/27., -1.703310013/27., 12.7748251/27., 17.03310013/27., -4.258275032/27., 1.021986008/27., -0.1216650009/27., -0.07570266724/27., 0.7570266724/27., -5.677700043/27., -7.570266724/27., 1.892566681/27., -0.4542160034/27., 0.05407333374/27., 0.03406620026/27., -0.3406620026/27., 2.554965019/27., 3.406620026/27., -0.8516550064/27., 0.2043972015/27., -0.02433300018/27., -0.009733200073/27., 0.09733200073/27., -0.7299900055/27., -0.9733200073/27., 0.2433300018/27., -0.05839920044/27., 0.006952285767/27., 0.001261711121/27., -0.01261711121/27., 0.09462833405/27., 0.1261711121/27., -0.03154277802/27., 0.007570266724/27., -0.000901222229/27., - 0., 0., 0., -0.5537109375/27., 0., 0., 0., 0., 0., 0., 9.966796875/27., 0., 0., 0., 0., 0., 0., 24.91699219/27., 0., 0., 0., 0., 0., 0., -11.07421875/27., 0., 0., 0., 0., 0., 0., 4.983398437/27., 0., 0., 0., 0., 0., 0., -1.423828125/27., 0., 0., 0., 0., 0., 0., 0.1845703125/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., 0., 6.090820312/27., 36.54492187/27., -30.45410156/27., 24.36328125/27., -13.05175781/27., 4.060546875/27., -0.5537109375/27., 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., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 9.966796875/27., 24.91699219/27., -11.07421875/27., 4.983398437/27., -1.423828125/27., 0.1845703125/27., 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., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0.1845703125/27., -1.845703125/27., 13.84277344/27., 18.45703125/27., -4.614257813/27., 1.107421875/27., -0.1318359375/27., 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., 0., 0., 0., 0., 1., 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.1845703125/27., 0., 0., 0., 0., 0., 0., -1.845703125/27., 0., 0., 0., 0., 0., 0., 13.84277344/27., 0., 0., 0., 0., 0., 0., 18.45703125/27., 0., 0., 0., 0., 0., 0., -4.614257813/27., 0., 0., 0., 0., 0., 0., 1.107421875/27., 0., 0., 0., 0., 0., 0., -0.1318359375/27., 0., 0., 0., 0., 0., 0., - 0.04163646698/27., 0.2498188019/27., -0.2081823349/27., 0.1665458679/27., -0.08922100067/27., 0.02775764465/27., -0.003785133362/27., -0.4163646698/27., -2.498188019/27., 2.081823349/27., -1.665458679/27., 0.8922100067/27., -0.2775764465/27., 0.03785133362/27., 3.122735023/27., 18.73641014/27., -15.61367512/27., 12.49094009/27., -6.69157505/27., 2.081823349/27., -0.2838850021/27., 4.163646698/27., 24.98188019/27., -20.81823349/27., 16.65458679/27., -8.922100067/27., 2.775764465/27., -0.3785133362/27., -1.040911674/27., -6.245470047/27., 5.204558372/27., -4.163646698/27., 2.230525017/27., -0.6939411163/27., 0.09462833405/27., 0.2498188019/27., 1.498912811/27., -1.249094009/27., 0.9992752075/27., -0.535326004/27., 0.1665458679/27., -0.02271080017/27., -0.02974033356/27., -0.1784420013/27., 0.1487016678/27., -0.1189613342/27., 0.06372928619/27., -0.01982688904/27., 0.002703666687/27., - 0., 0.1845703125/27., 0., 0., 0., 0., 0., 0., -1.845703125/27., 0., 0., 0., 0., 0., 0., 13.84277344/27., 0., 0., 0., 0., 0., 0., 18.45703125/27., 0., 0., 0., 0., 0., 0., -4.614257813/27., 0., 0., 0., 0., 0., 0., 1.107421875/27., 0., 0., 0., 0., 0., 0., -0.1318359375/27., 0., 0., 0., 0., 0., - -0.003785133362/27., 0.06813240051/27., 0.1703310013/27., -0.07570266724/27., 0.03406620026/27., -0.009733200073/27., 0.001261711121/27., 0.03785133362/27., -0.6813240051/27., -1.703310013/27., 0.7570266724/27., -0.3406620026/27., 0.09733200073/27., -0.01261711121/27., -0.2838850021/27., 5.109930038/27., 12.7748251/27., -5.677700043/27., 2.554965019/27., -0.7299900055/27., 0.09462833405/27., -0.3785133362/27., 6.813240051/27., 17.03310013/27., -7.570266724/27., 3.406620026/27., -0.9733200073/27., 0.1261711121/27., 0.09462833405/27., -1.703310013/27., -4.258275032/27., 1.892566681/27., -0.8516550064/27., 0.2433300018/27., -0.03154277802/27., -0.02271080017/27., 0.4087944031/27., 1.021986008/27., -0.4542160034/27., 0.2043972015/27., -0.05839920044/27., 0.007570266724/27., 0.002703666687/27., -0.04866600037/27., -0.1216650009/27., 0.05407333374/27., -0.02433300018/27., 0.006952285767/27., -0.000901222229/27., - 0., 0., 0.1845703125/27., 0., 0., 0., 0., 0., 0., -1.845703125/27., 0., 0., 0., 0., 0., 0., 13.84277344/27., 0., 0., 0., 0., 0., 0., 18.45703125/27., 0., 0., 0., 0., 0., 0., -4.614257813/27., 0., 0., 0., 0., 0., 0., 1.107421875/27., 0., 0., 0., 0., 0., 0., -0.1318359375/27., 0., 0., 0., 0., - 0.001261711121/27., -0.01261711121/27., 0.09462833405/27., 0.1261711121/27., -0.03154277802/27., 0.007570266724/27., -0.000901222229/27., -0.01261711121/27., 0.1261711121/27., -0.9462833405/27., -1.261711121/27., 0.3154277802/27., -0.07570266724/27., 0.00901222229/27., 0.09462833405/27., -0.9462833405/27., 7.097125053/27., 9.462833405/27., -2.365708351/27., 0.5677700043/27., -0.06759166718/27., 0.1261711121/27., -1.261711121/27., 9.462833405/27., 12.61711121/27., -3.154277802/27., 0.7570266724/27., -0.0901222229/27., -0.03154277802/27., 0.3154277802/27., -2.365708351/27., -3.154277802/27., 0.7885694504/27., -0.1892566681/27., 0.02253055573/27., 0.007570266724/27., -0.07570266724/27., 0.5677700043/27., 0.7570266724/27., -0.1892566681/27., 0.04542160034/27., -0.005407333374/27., -0.000901222229/27., 0.00901222229/27., -0.06759166718/27., -0.0901222229/27., 0.02253055573/27., -0.005407333374/27., 0.0006437301636/27., - 0., 0., 0., 0.1845703125/27., 0., 0., 0., 0., 0., 0., -1.845703125/27., 0., 0., 0., 0., 0., 0., 13.84277344/27., 0., 0., 0., 0., 0., 0., 18.45703125/27., 0., 0., 0., 0., 0., 0., -4.614257813/27., 0., 0., 0., 0., 0., 0., 1.107421875/27., 0., 0., 0., 0., 0., 0., -0.1318359375/27., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., 0., 6.090820312/27., 36.54492187/27., -30.45410156/27., 24.36328125/27., -13.05175781/27., 4.060546875/27., -0.5537109375/27., 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., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., -0.5537109375/27., 9.966796875/27., 24.91699219/27., -11.07421875/27., 4.983398437/27., -1.423828125/27., 0.1845703125/27., 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., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0.1845703125/27., -1.845703125/27., 13.84277344/27., 18.45703125/27., -4.614257813/27., 1.107421875/27., -0.1318359375/27., 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., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -}; - static const double dgq0_refined_onto_dgq0[] = { 0.25, @@ -430,24 +261,6 @@ namespace FE_DGQ_2d } -template <> -const double * const FE_DGQ<2>::Matrices::embedding[] = -{ - FE_DGQ_2d::dgq0_into_dgq0_refined, - FE_DGQ_2d::dgq1_into_dgq1_refined, - FE_DGQ_2d::dgq2_into_dgq2_refined, - FE_DGQ_2d::dgq3_into_dgq3_refined, - FE_DGQ_2d::dgq4_into_dgq4_refined, - FE_DGQ_2d::dgq5_into_dgq5_refined, - FE_DGQ_2d::dgq6_into_dgq6_refined -}; - -template <> -const unsigned int FE_DGQ<2>::Matrices::n_embedding_matrices - = sizeof(FE_DGQ<2>::Matrices::embedding) / - sizeof(FE_DGQ<2>::Matrices::embedding[0]); - - template <> const double * const FE_DGQ<2>::Matrices::projection_matrices[] = { diff --git a/deal.II/deal.II/source/fe/fe_dgq_3d.cc b/deal.II/deal.II/source/fe/fe_dgq_3d.cc index 5458ea649c..a185c63166 100644 --- a/deal.II/deal.II/source/fe/fe_dgq_3d.cc +++ b/deal.II/deal.II/source/fe/fe_dgq_3d.cc @@ -22,123 +22,6 @@ namespace FE_DGQ_3d { - static const double dgq0_into_dgq0_refined[] = - { - 1., 1., 1., 1., 1., 1., 1., 1. - }; - - static const double dgq1_into_dgq1_refined[] = - { - 1., 0., 0., 0., 0., 0., 0., 0., - .5, .5, 0., 0., 0., 0., 0., 0., - .5, 0., .5, 0., 0., 0., 0., 0., - .25, .25, .25, .25, 0., 0., 0., 0., - .5, 0., 0., 0., .5, 0., 0., 0., - .25, .25, 0., 0., .25, .25, 0., 0., - .25, 0., .25, 0., .25, 0., .25, 0., - .125, .125, .125, .125, .125, .125, .125, .125, - }; - - static const double dgq2_into_dgq2_refined[] = - { - 1., 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., - 10.125/27., 20.25/27., -.125, 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., 1., 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., - 10.125/27., 0., 0., 20.25/27., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 3.796875/27., 7.59375/27., -1.265625/27., 7.59375/27., 15.1875/27., -2.53125/27., -1.265625/27., -2.53125/27., 0.421875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 10.125/27., 0., 0., 20.25/27., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 1., 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., 10.125/27., 20.25/27., -.125, 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., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., 0., - 3.796875/27., 7.59375/27., -1.265625/27., 0., 0., 0., 0., 0., 0., 7.59375/27., 15.1875/27., -2.53125/27., 0., 0., 0., 0., 0., 0., -1.265625/27., -2.53125/27., 0.421875/27., 0., 0., 0., 0., 0., 0., - 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., - 3.796875/27., 0., 0., 7.59375/27., 0., 0., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 15.1875/27., 0., 0., -2.53125/27., 0., 0., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0.421875/27., 0., 0., - 1.423828125/27., 2.84765625/27., -0.474609375/27., 2.84765625/27., 5.6953125/27., -0.94921875/27., -0.474609375/27., -0.94921875/27., 0.158203125/27., 2.84765625/27., 5.6953125/27., -0.94921875/27., 5.6953125/27., 11.390625/27., -1.8984375/27., -0.94921875/27., -1.8984375/27., 0.31640625/27., -0.474609375/27., -0.94921875/27., 0.158203125/27., -0.94921875/27., -1.8984375/27., 0.31640625/27., 0.158203125/27., 0.31640625/27., -0.052734375/27., - 0., 3.796875/27., 0., 0., 7.59375/27., 0., 0., -1.265625/27., 0., 0., 7.59375/27., 0., 0., 15.1875/27., 0., 0., -2.53125/27., 0., 0., -1.265625/27., 0., 0., -2.53125/27., 0., 0., 0.421875/27., 0., - 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., -.125, 0., 0., 0., 0., 0., - 0., 0., 0., 3.796875/27., 7.59375/27., -1.265625/27., 0., 0., 0., 0., 0., 0., 7.59375/27., 15.1875/27., -2.53125/27., 0., 0., 0., 0., 0., 0., -1.265625/27., -2.53125/27., 0.421875/27., 0., 0., 0., - 0., 0., 0., 0., 10.125/27., 0., 0., 0., 0., 0., 0., 0., 0., 20.25/27., 0., 0., 0., 0., 0., 0., 0., 0., -.125, 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 10.125/27., 20.25/27., -.125, 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., 1., 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., 10.125/27., 0., 0., 20.25/27., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 3.796875/27., 7.59375/27., -1.265625/27., 7.59375/27., 15.1875/27., -2.53125/27., -1.265625/27., -2.53125/27., 0.421875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 10.125/27., 0., 0., 20.25/27., 0., 0., -.125, 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 10.125/27., 20.25/27., -.125, 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., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - }; - - static const double dgq3_into_dgq3_refined[] = - { - 1., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 1., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 2.63671875/27., 7.91015625/27., -2.63671875/27., 0.52734375/27., 7.91015625/27., 23.73046875/27., -7.91015625/27., 1.58203125/27., -2.63671875/27., -7.91015625/27., 2.63671875/27., -0.52734375/27., 0.52734375/27., 1.58203125/27., -0.52734375/27., 0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., - 0., 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., 4.74609375/27., 4.74609375/27., -0.52734375/27., -1.58203125/27., 14.23828125/27., 14.23828125/27., -1.58203125/27., 0.52734375/27., -4.74609375/27., -4.74609375/27., 0.52734375/27., -0.10546875/27., 0.94921875/27., 0.94921875/27., -0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., - 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., - 8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 2.63671875/27., 7.91015625/27., -2.63671875/27., 0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 7.91015625/27., 23.73046875/27., -7.91015625/27., 1.58203125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -2.63671875/27., -7.91015625/27., 2.63671875/27., -0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.52734375/27., 1.58203125/27., -0.52734375/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., 4.74609375/27., 4.74609375/27., -0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.58203125/27., 14.23828125/27., 14.23828125/27., -1.58203125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.52734375/27., -4.74609375/27., -4.74609375/27., 0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.10546875/27., 0.94921875/27., 0.94921875/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 2.63671875/27., 0., 0., 0., 7.91015625/27., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., 7.91015625/27., 0., 0., 0., 23.73046875/27., 0., 0., 0., -7.91015625/27., 0., 0., 0., 1.58203125/27., 0., 0., 0., -2.63671875/27., 0., 0., 0., -7.91015625/27., 0., 0., 0., 2.63671875/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., 1.58203125/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., - 0.8239746094/27., 2.471923828/27., -0.8239746094/27., 0.1647949219/27., 2.471923828/27., 7.415771484/27., -2.471923828/27., 0.4943847656/27., -0.8239746094/27., -2.471923828/27., 0.8239746094/27., -0.1647949219/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., 2.471923828/27., 7.415771484/27., -2.471923828/27., 0.4943847656/27., 7.415771484/27., 22.24731445/27., -7.415771484/27., 1.483154297/27., -2.471923828/27., -7.415771484/27., 2.471923828/27., -0.4943847656/27., 0.4943847656/27., 1.483154297/27., -0.4943847656/27., 0.09887695313/27., -0.8239746094/27., -2.471923828/27., 0.8239746094/27., -0.1647949219/27., -2.471923828/27., -7.415771484/27., 2.471923828/27., -0.4943847656/27., 0.8239746094/27., 2.471923828/27., -0.8239746094/27., 0.1647949219/27., -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., 0.4943847656/27., 1.483154297/27., -0.4943847656/27., 0.09887695313/27., -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., 0.03295898438/27., 0.09887695313/27., -0.03295898438/27., 0.006591796875/27., - 0., 2.63671875/27., 0., 0., 0., 7.91015625/27., 0., 0., 0., -2.63671875/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., 7.91015625/27., 0., 0., 0., 23.73046875/27., 0., 0., 0., -7.91015625/27., 0., 0., 0., 1.58203125/27., 0., 0., 0., -2.63671875/27., 0., 0., 0., -7.91015625/27., 0., 0., 0., 2.63671875/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., 1.58203125/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., 0.10546875/27., 0., 0., - -0.1647949219/27., 1.483154297/27., 1.483154297/27., -0.1647949219/27., -0.4943847656/27., 4.449462891/27., 4.449462891/27., -0.4943847656/27., 0.1647949219/27., -1.483154297/27., -1.483154297/27., 0.1647949219/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., -0.4943847656/27., 4.449462891/27., 4.449462891/27., -0.4943847656/27., -1.483154297/27., 13.34838867/27., 13.34838867/27., -1.483154297/27., 0.4943847656/27., -4.449462891/27., -4.449462891/27., 0.4943847656/27., -0.09887695313/27., 0.8898925781/27., 0.8898925781/27., -0.09887695313/27., 0.1647949219/27., -1.483154297/27., -1.483154297/27., 0.1647949219/27., 0.4943847656/27., -4.449462891/27., -4.449462891/27., 0.4943847656/27., -0.1647949219/27., 1.483154297/27., 1.483154297/27., -0.1647949219/27., 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., -0.09887695313/27., 0.8898925781/27., 0.8898925781/27., -0.09887695313/27., 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., -0.006591796875/27., 0.05932617187/27., 0.05932617188/27., -0.006591796875/27., - 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 2.63671875/27., 7.91015625/27., -2.63671875/27., 0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 7.91015625/27., 23.73046875/27., -7.91015625/27., 1.58203125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -2.63671875/27., -7.91015625/27., 2.63671875/27., -0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.52734375/27., 1.58203125/27., -0.52734375/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 25.3125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -8.4375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., -0.52734375/27., 4.74609375/27., 4.74609375/27., -0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.58203125/27., 14.23828125/27., 14.23828125/27., -1.58203125/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.52734375/27., -4.74609375/27., -4.74609375/27., 0.52734375/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.10546875/27., 0.94921875/27., 0.94921875/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., - -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., 1.483154297/27., 4.449462891/27., -1.483154297/27., 0.2966308594/27., 1.483154297/27., 4.449462891/27., -1.483154297/27., 0.2966308594/27., -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., -0.4943847656/27., -1.483154297/27., 0.4943847656/27., -0.09887695313/27., 4.449462891/27., 13.34838867/27., -4.449462891/27., 0.8898925781/27., 4.449462891/27., 13.34838867/27., -4.449462891/27., 0.8898925781/27., -0.4943847656/27., -1.483154297/27., 0.4943847656/27., -0.09887695313/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., -1.483154297/27., -4.449462891/27., 1.483154297/27., -0.2966308594/27., -1.483154297/27., -4.449462891/27., 1.483154297/27., -0.2966308594/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., -0.03295898438/27., -0.09887695313/27., 0.03295898438/27., -0.006591796875/27., 0.2966308594/27., 0.8898925781/27., -0.2966308594/27., 0.05932617187/27., 0.2966308594/27., 0.8898925781/27., -0.2966308594/27., 0.05932617188/27., -0.03295898438/27., -0.09887695313/27., 0.03295898438/27., -0.006591796875/27., - 0., -0.52734375/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., -0.10546875/27., 0., 0., - 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., -0.2966308594/27., 2.669677734/27., 2.669677734/27., -0.2966308594/27., -0.2966308594/27., 2.669677734/27., 2.669677734/27., -0.2966308594/27., 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., 0.09887695313/27., -0.8898925781/27., -0.8898925781/27., 0.09887695313/27., -0.8898925781/27., 8.009033203/27., 8.009033203/27., -0.8898925781/27., -0.8898925781/27., 8.009033203/27., 8.009033203/27., -0.8898925781/27., 0.09887695313/27., -0.8898925781/27., -0.8898925781/27., 0.09887695313/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., 0.2966308594/27., -2.669677734/27., -2.669677734/27., 0.2966308594/27., 0.2966308594/27., -2.669677734/27., -2.669677734/27., 0.2966308594/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., 0.006591796875/27., -0.05932617188/27., -0.05932617188/27., 0.006591796875/27., -0.05932617188/27., 0.5339355469/27., 0.5339355469/27., -0.05932617187/27., -0.05932617188/27., 0.5339355469/27., 0.5339355469/27., -0.05932617188/27., 0.006591796875/27., -0.05932617187/27., -0.05932617188/27., 0.006591796875/27., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 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., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 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., 0., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 2.63671875/27., 7.91015625/27., -2.63671875/27., 0.52734375/27., 7.91015625/27., 23.73046875/27., -7.91015625/27., 1.58203125/27., -2.63671875/27., -7.91015625/27., 2.63671875/27., -0.52734375/27., 0.52734375/27., 1.58203125/27., -0.52734375/27., 0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 0., 0., 0., 25.3125/27., 0., 0., 0., -8.4375/27., 0., 0., 0., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.52734375/27., 4.74609375/27., 4.74609375/27., -0.52734375/27., -1.58203125/27., 14.23828125/27., 14.23828125/27., -1.58203125/27., 0.52734375/27., -4.74609375/27., -4.74609375/27., 0.52734375/27., -0.10546875/27., 0.94921875/27., 0.94921875/27., -0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 8.4375/27., 25.3125/27., -8.4375/27., 1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 1., 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., 0., - 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 15.1875/27., 15.1875/27., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., 15.1875/27., 0., 0., 0., -1.6875/27., 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., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 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., - -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., - -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., -0.4943847656/27., -1.483154297/27., 0.4943847656/27., -0.09887695313/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., -0.03295898438/27., -0.09887695313/27., 0.03295898438/27., -0.006591796875/27., 1.483154297/27., 4.449462891/27., -1.483154297/27., 0.2966308594/27., 4.449462891/27., 13.34838867/27., -4.449462891/27., 0.8898925781/27., -1.483154297/27., -4.449462891/27., 1.483154297/27., -0.2966308594/27., 0.2966308594/27., 0.8898925781/27., -0.2966308594/27., 0.05932617187/27., 1.483154297/27., 4.449462891/27., -1.483154297/27., 0.2966308594/27., 4.449462891/27., 13.34838867/27., -4.449462891/27., 0.8898925781/27., -1.483154297/27., -4.449462891/27., 1.483154297/27., -0.2966308594/27., 0.2966308594/27., 0.8898925781/27., -0.2966308594/27., 0.05932617188/27., -0.1647949219/27., -0.4943847656/27., 0.1647949219/27., -0.03295898438/27., -0.4943847656/27., -1.483154297/27., 0.4943847656/27., -0.09887695313/27., 0.1647949219/27., 0.4943847656/27., -0.1647949219/27., 0.03295898438/27., -0.03295898438/27., -0.09887695313/27., 0.03295898438/27., -0.006591796875/27., - 0., -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., 4.74609375/27., 0., 0., 0., 14.23828125/27., 0., 0., 0., -4.74609375/27., 0., 0., 0., 0.94921875/27., 0., 0., 0., -0.52734375/27., 0., 0., 0., -1.58203125/27., 0., 0., 0., 0.52734375/27., 0., 0., 0., -0.10546875/27., 0., 0., - 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., 0.09887695313/27., -0.8898925781/27., -0.8898925781/27., 0.09887695313/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., 0.006591796875/27., -0.05932617188/27., -0.05932617188/27., 0.006591796875/27., -0.2966308594/27., 2.669677734/27., 2.669677734/27., -0.2966308594/27., -0.8898925781/27., 8.009033203/27., 8.009033203/27., -0.8898925781/27., 0.2966308594/27., -2.669677734/27., -2.669677734/27., 0.2966308594/27., -0.05932617188/27., 0.5339355469/27., 0.5339355469/27., -0.05932617187/27., -0.2966308594/27., 2.669677734/27., 2.669677734/27., -0.2966308594/27., -0.8898925781/27., 8.009033203/27., 8.009033203/27., -0.8898925781/27., 0.2966308594/27., -2.669677734/27., -2.669677734/27., 0.2966308594/27., -0.05932617188/27., 0.5339355469/27., 0.5339355469/27., -0.05932617188/27., 0.03295898438/27., -0.2966308594/27., -0.2966308594/27., 0.03295898438/27., 0.09887695313/27., -0.8898925781/27., -0.8898925781/27., 0.09887695313/27., -0.03295898438/27., 0.2966308594/27., 0.2966308594/27., -0.03295898438/27., 0.006591796875/27., -0.05932617187/27., -0.05932617188/27., 0.006591796875/27., - 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 4.74609375/27., 14.23828125/27., -4.74609375/27., 0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.52734375/27., -1.58203125/27., 0.52734375/27., -0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 15.1875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -1.6875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., - 0., 0., 0., 0., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., -0.94921875/27., 8.54296875/27., 8.54296875/27., -0.94921875/27., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.10546875/27., -0.94921875/27., -0.94921875/27., 0.10546875/27., 0., 0., 0., 0., 0., 0., 0., 0., - 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., - 0.03295898438/27., 0.09887695313/27., -0.03295898438/27., 0.006591796875/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., 0.03295898438/27., 0.09887695313/27., -0.03295898438/27., 0.006591796875/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., 2.669677734/27., 8.009033203/27., -2.669677734/27., 0.5339355469/27., 2.669677734/27., 8.009033203/27., -2.669677734/27., 0.5339355469/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617187/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., 2.669677734/27., 8.009033203/27., -2.669677734/27., 0.5339355469/27., 2.669677734/27., 8.009033203/27., -2.669677734/27., 0.5339355469/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., 0.03295898438/27., 0.09887695313/27., -0.03295898438/27., 0.006591796875/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617187/27., -0.2966308594/27., -0.8898925781/27., 0.2966308594/27., -0.05932617188/27., 0.03295898438/27., 0.09887695313/27., -0.03295898438/27., 0.006591796875/27., - 0., 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., 8.54296875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., -0.94921875/27., 0., 0., 0., 0.10546875/27., 0., 0., - -0.006591796875/27., 0.05932617187/27., 0.05932617188/27., -0.006591796875/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., -0.006591796875/27., 0.05932617188/27., 0.05932617188/27., -0.006591796875/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., -0.5339355469/27., 4.805419922/27., 4.805419922/27., -0.5339355469/27., -0.5339355469/27., 4.805419922/27., 4.805419922/27., -0.5339355469/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., -0.5339355469/27., 4.805419922/27., 4.805419922/27., -0.5339355469/27., -0.5339355469/27., 4.805419922/27., 4.805419922/27., -0.5339355469/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., -0.006591796875/27., 0.05932617188/27., 0.05932617188/27., -0.006591796875/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617187/27., 0.05932617188/27., -0.5339355469/27., -0.5339355469/27., 0.05932617188/27., -0.006591796875/27., 0.05932617187/27., 0.05932617188/27., -0.006591796875/27., - }; - - static const double dgq0_refined_onto_dgq0[] = { @@ -387,25 +270,6 @@ static const double dgq4_refined_onto_dgq4[] = }; } - -template <> -const double * const FE_DGQ<3>::Matrices::embedding[] = -{ - FE_DGQ_3d::dgq0_into_dgq0_refined, - FE_DGQ_3d::dgq1_into_dgq1_refined, - FE_DGQ_3d::dgq2_into_dgq2_refined, - FE_DGQ_3d::dgq3_into_dgq3_refined -}; - - - -template <> -const unsigned int FE_DGQ<3>::Matrices::n_embedding_matrices - = sizeof(FE_DGQ<3>::Matrices::embedding) / - sizeof(FE_DGQ<3>::Matrices::embedding[0]); - - - template <> const double * const FE_DGQ<3>::Matrices::projection_matrices[] = {