akreon-linalg
Fixed-size linear algebra and numerical methods in C++26.
Loading...
Searching...
No Matches
matrix.hpp File Reference
#include "akreon/linalg/assert.hpp"
#include <array>
#include <cstddef>
#include <span>
#include <type_traits>
#include "akreon/linalg/scalar/scalar_concepts.hpp"
#include "akreon/linalg/vector/vector.hpp"
Include dependency graph for matrix.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  linalg::Matrix< T, Rows, Cols >
 Owning, fixed-size, row-major matrix container over a scalar field. More...
 

Namespaces

namespace  linalg
 

Functions

template<Field T, std::size_t Cols, typename... Rows>
 linalg::Matrix (Vector< T, Cols >, Rows...) -> Matrix< T, 1+sizeof...(Rows), Cols >
 Deduce matrix scalar type and shape from one or more row vectors.
 
template<Field T, std::size_t Dim>
constexpr auto linalg::as_row_matrix (const Vector< T, Dim > &vector)
 Represent a vector as a 1 x Dim matrix.
 
template<Field T, std::size_t Dim>
constexpr auto linalg::as_col_matrix (const Vector< T, Dim > &vector)
 Represent a vector as a Dim x 1 matrix.
 
template<Field T, std::size_t Rows, std::size_t Cols>
requires (Rows == 1 || Cols == 1)
constexpr auto linalg::as_vector (const Matrix< T, Rows, Cols > &matrix)
 Convert a one-row or one-column matrix to a vector.