Support retrieving geom::matrix row or column as a vector

This commit is contained in:
Nikita Lisitsa 2022-06-17 18:51:39 +03:00
parent 6d0a8cec55
commit b77060abac

View file

@ -288,6 +288,24 @@ namespace psemek::geom
return result;
}
template <typename T, std::size_t R, std::size_t C>
vector<T, C> row(matrix<T, R, C> const & m, std::size_t i)
{
vector<T, C> r;
for (std::size_t j = 0; j < C; ++j)
r[j] = m[i][j];
return r;
}
template <typename T, std::size_t R, std::size_t C>
vector<T, R> column(matrix<T, R, C> const & m, std::size_t j)
{
vector<T, R> r;
for (std::size_t i = 0; i < R; ++i)
r[i] = m[i][j];
return r;
}
template <typename T, std::size_t R, std::size_t C>
T frobenius_norm_sqr(matrix<T, R, C> const & m)
{