Add geom::outer_product

This commit is contained in:
Nikita Lisitsa 2024-03-16 00:25:20 +03:00
parent a5812c02c8
commit ff1c144f25

View file

@ -377,6 +377,16 @@ namespace psemek::geom
return r; return r;
} }
template <typename T, std::size_t N>
matrix<T, N, N> outer_product(vector<T, N> const & v1, vector<T, N> const & v2)
{
matrix<T, N, N> r;
for (std::size_t i = 0; i < N; ++i)
for (std::size_t j = 0; j < N; ++j)
r[i][j] = v1[i] * v2[j];
return r;
}
template <typename T, std::size_t R, std::size_t C> template <typename T, std::size_t R, std::size_t C>
std::ostream & operator << (std::ostream & os, matrix<T, R, C> const & m) std::ostream & operator << (std::ostream & os, matrix<T, R, C> const & m)
{ {