52 // LatticeFunction<dcomplex,dim> temp(nRefined, pfhatRefined.basisVectors);
53 // Eigen::Vector<double, Eigen::Dynamic> center = pfRefined.unitCell.rowwise().sum()/2;
54 // Exponential exp_function(center);
55 // LatticeFunction<dcomplex, dim> exp_factor(nRefined, pfhatRefined.basisVectors, exp_function);
56 // temp.values = exp_factor.values * pfhatRefined.values;
57 // pfhatRefined.values = temp.values;
59 Eigen::array<Eigen::DenseIndex, dim> strides;
61 for (int i = 0; i < dim; i++)
62 strides[i] = factor(i);
64 pfhat.values = pfhatRefined.values.stride(strides);
76 return exp(2*M_PI*std::complex<double>(0,1)*vec.dot(
x));
80 template<
typename T,
typename Scalar>
86 template<
typename T,
typename Scalar>