#pragma once
#include <vector>
#include <print>
#include <algorithm>
#include <eigen3/unsupported/Eigen/CXX11/Tensor>
#include <eigen3/Eigen/Eigen>
#include <iostream>
#include <complex>
#include <ranges>

// using dtype = std::complex<float>;
// namespace e = Eigen;
// template class e::Matrix<dtype, 2, 2>;
// template class e::Matrix<dtype, 4, 4>;
// template class e::Tensor<dtype, 1>;
// template class e::Tensor<dtype, 2>;
// template class e::Tensor<dtype, 3>;
// template class e::Tensor<dtype, 4>;
