In sdmm.h, it looks like a standard accumulation operation is implemented with a raw loop.
for (auto const &transform : this->transforms())
out += transform.adjoint() * static_cast<t_Vector>(transform * input);
Might be possible to use std::accumulate or std::reduce (parallelised in C++17). Thoughts?