From b77060abac695c36156eea650efb04dff2c98396 Mon Sep 17 00:00:00 2001 From: lisyarus Date: Fri, 17 Jun 2022 18:51:39 +0300 Subject: [PATCH] Support retrieving geom::matrix row or column as a vector --- libs/geom/include/psemek/geom/matrix.hpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/libs/geom/include/psemek/geom/matrix.hpp b/libs/geom/include/psemek/geom/matrix.hpp index a30e2cb5..2f5ff777 100644 --- a/libs/geom/include/psemek/geom/matrix.hpp +++ b/libs/geom/include/psemek/geom/matrix.hpp @@ -288,6 +288,24 @@ namespace psemek::geom return result; } + template + vector row(matrix const & m, std::size_t i) + { + vector r; + for (std::size_t j = 0; j < C; ++j) + r[j] = m[i][j]; + return r; + } + + template + vector column(matrix const & m, std::size_t j) + { + vector r; + for (std::size_t i = 0; i < R; ++i) + r[i] = m[i][j]; + return r; + } + template T frobenius_norm_sqr(matrix const & m) {