20 #include "libmesh/system_norm.h" 
   21 #include "libmesh/enum_norm_type.h" 
   22 #include "libmesh/int_range.h" 
   28   _norms(1, 
DISCRETE_L2), _weights(1, 1.0), _weights_sq(1, 1.0)
 
   34   _norms(1, t), _weights(1, 1.0), _weights_sq(1, 1.0)
 
   40   _norms(norms), _weights(1, 1.0), _weights_sq(1, 1.0)
 
   48                        std::vector<Real> & weights) :
 
   49   _norms(norms), _weights(weights), _weights_sq(_weights.size(), 0.0)
 
   65                        std::vector<std::vector<Real>> & weights):
 
   67   _weights(weights.size()),
 
   68   _weights_sq(weights.size()),
 
   69   _off_diagonal_weights(weights)
 
  115   std::size_t i = (var < 
_norms.size()) ? var : 
_norms.size() - 1;
 
  185                                 const std::vector<Real> & v2)
 
  189   std::size_t vsize = v1.size();
 
  190   libmesh_assert_equal_to (vsize, v2.size());
 
  194   std::size_t diagsize = this->
_weights.size();
 
  195   libmesh_assert_greater_equal (vsize, diagsize);
 
  202   for (std::size_t i = 0; i != diagsize; i++)
 
  204       val += this->
_weights[i] * v1[i] * v2[i];
 
  208   for (std::size_t i = diagsize; i < vsize; i++)
 
  210       val += v1[i] * v2[i];
 
  215   libmesh_assert_less_equal (vsize, nrows);
 
  217   for (std::size_t i = 0; i != nrows; i++)
 
  220       for (std::size_t j=0; j != ncols; j++)
 
  241   for (std::size_t i = 0; i != nrows; i++)
 
  244       for (std::size_t j = 0; j != ncols; j++)
 
  255   for (std::size_t i = 0; i != nrows; i++)