]> https://gitweb.dealii.org/ - dealii.git/commitdiff
compute embedding using FETools
authorGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 31 Mar 2005 16:58:18 +0000 (16:58 +0000)
committerGuido Kanschat <dr.guido.kanschat@gmail.com>
Thu, 31 Mar 2005 16:58:18 +0000 (16:58 +0000)
git-svn-id: https://svn.dealii.org/trunk@10331 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/source/fe/fe_dgp.cc
deal.II/deal.II/source/fe/fe_dgp_1d.cc [deleted file]
deal.II/deal.II/source/fe/fe_dgp_2d.cc [deleted file]
deal.II/deal.II/source/fe/fe_dgp_3d.cc [deleted file]
deal.II/deal.II/source/fe/fe_dgq.cc
deal.II/deal.II/source/fe/fe_dgq_1d.cc
deal.II/deal.II/source/fe/fe_dgq_2d.cc
deal.II/deal.II/source/fe/fe_dgq_3d.cc

index 0d66e2951d682313844fbb3e2bfa3d51d44ee55c..6e3ddda46b7466a92640013a603d4b806114a377 100644 (file)
@@ -12,6 +12,7 @@
 //---------------------------------------------------------------------------
 
 #include <fe/fe_dgp.h>
+#include <fe/fe_tools.h>
 
 #ifdef HAVE_STD_STRINGSTREAM
 #  include <sstream>
@@ -31,39 +32,20 @@ FE_DGP<dim>::FE_DGP (const unsigned int degree)
                  std::vector<std::vector<bool> >(FiniteElementData<dim>(
                    get_dpo_vector(degree), 1, degree).dofs_per_cell, std::vector<bool>(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<GeometryInfo<dim>::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<GeometryInfo<dim>::children_per_cell;++i)
-      this->prolongation[i].reinit(0,0);
+  for (unsigned int i=0; i<GeometryInfo<dim>::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<GeometryInfo<dim>::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 (file)
index 3c608c0..0000000
+++ /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 <fe/fe_dgp.h>
-
-// 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 (file)
index 13cc0f4..0000000
+++ /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 <fe/fe_dgp.h>
-
-// 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 (file)
index 1c4105d..0000000
+++ /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 <fe/fe_dgp.h>
-
-// 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
index 7960811cb3313b1e76c04381a387abe3873ce4eb..6f5a9abbce1411a542b921c54393e5ce02a8f819 100644 (file)
@@ -12,6 +12,7 @@
 //---------------------------------------------------------------------------
 
 #include <fe/fe_dgq.h>
+#include <fe/fe_tools.h>
 
 #ifdef HAVE_STD_STRINGSTREAM
 #  include <sstream>
@@ -151,72 +152,12 @@ FE_DGQ<dim>::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<GeometryInfo<dim>::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<GeometryInfo<dim>::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
index 653ac4f80e394c43e56db1dc2a50fed0d4ffa433..c8ea5ef99f4e0ffd1f46f80ed6395d6cb37c21c1 100644 (file)
 
 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[] =
 {
index 9d575c419198e4edc5d25d08e5fceea5eeccc52a..613ec6af76f2f73552ee642e0fddc33b43e77a51 100644 (file)
 
 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[] =
 {
index 5458ea649c2a1def9a1ca1d66500b692410bb8fb..a185c63166a44b8928c74499f4fe5ba0a23bd911 100644 (file)
 
 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[] =
 {

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.