diff --git a/eistoeigen.h b/eistoeigen.h new file mode 100644 index 0000000000000000000000000000000000000000..89dd85760a47f0a8eae212e8b4d6194737748f97 --- /dev/null +++ b/eistoeigen.h @@ -0,0 +1,21 @@ +#pragma once + +#include <Eigen/Core> +#include <eisgenerator/eistype.h> +#include <vector> + +Eigen::VectorX<std::complex<fvalue>> eistoeigen(const std::vector<eis::DataPoint>& data, Eigen::Vector<fvalue, Eigen::Dynamic>* omega = nullptr) +{ + Eigen::VectorX<std::complex<fvalue>> out(data.size()); + + if(omega) + *omega = Eigen::VectorX<fvalue>(data.size()); + + for(size_t i = 0; i < data.size(); ++i) + { + out[i] = data[i].im; + if(omega) + (*omega)[i] = data[i].omega; + } + return out; +}