53 // LatticeFunction<dcomplex,dim> temp(nRefined, pfhatRefined.basisVectors);
54 // Eigen::Vector<double, Eigen::Dynamic> center = pfRefined.unitCell.rowwise().sum()/2;
55 // Exponential exp_function(center);
56 // LatticeFunction<dcomplex, dim> exp_factor(nRefined, pfhatRefined.basisVectors, exp_function);
57 // temp.values = exp_factor.values * pfhatRefined.values;
58 // pfhatRefined.values = temp.values;
60 Eigen::array<Eigen::DenseIndex, dim> strides;
62 for (int i = 0; i < dim; i++)
63 strides[i] = factor(i);
65 pfhat.values = pfhatRefined.values.stride(strides);
77 return exp(2*std::numbers::pi*std::complex<double>(0,1)*vec.dot(
x));
81 template<
typename T,
typename Scalar>
87 template<
typename T,
typename Scalar>