I would like to matrix multiply data in std::mdspan
i.e. have something like
auto mat_mult(std::mdspan, std::mdspan) -> mdvector;
But as far as I can tell Eigen only supports owning MatrixXd
To be as confusing as possible, Eigen calls its non-owning type Map
float data[] = {1,2,3,4};
Map<Vector3f> v1(data); // uses v1 as a Vector3f object
Map<ArrayXf> v2(data,3); // uses v2 as a ArrayXf object
Map<Array22f> m1(data); // uses m1 as a Array22f object
Map<MatrixXf> m2(data,2,2); // uses m2 as a MatrixXf object