17 [[nodiscard]] triqs::gfs::gf<triqs::mesh::refreq>
solver_core::evaluate(
const triqs::mesh::refreq &grid,
double eta,
18 nda::array_const_view<std::complex<double>, 3> theta) {
19 triqs::gfs::gf<triqs::mesh::refreq> result(grid, {
static_cast<long>(_kernel->size()),
static_cast<long>(_kernel->size())});
20 size_t nw = grid.size();
21 nda::vector<std::complex<double>> mesh(nw);
22 for (
auto i : range(nw)) mesh[i] = grid[i] + 1i * eta;
23 nda::array<std::complex<double>, 3> data = _kernel->evaluate(mesh, theta);
24 for (
size_t n = 0; n < _kernel->size(); ++n) {
25 for (
size_t m = 0; m < _kernel->size(); ++m) {
26 for (
int w = 0; w < nw; ++w) { result.data()(w, n, m) = data(w, n, m); }