NTLib - Number Theory Library 0.9
Loading...
Searching...
No Matches
matrix Module Reference

Represents a matrix whose dimensions are compile time constants. More...

Classes

class  ntlib::matrix< ROWS, COLUMNS, T >
 Represents a matrix with a given number of rows and colums. More...
class  ntlib::algebra_traits< matrix< ROWS, COLUMNS, T > >
 Specialization of ntlib::algebra_traits for matrix. More...

Functions

template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
std::string ntlib::to_string (matrix< ROWS, COLUMNS, T > mat)
 Converts a given matrix into a human readable string representation.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
std::ostream & ntlib::operator<< (std::ostream &os, const matrix< ROWS, COLUMNS, T > &m)
 Writes a string representation of a given matrix to a given output stream.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator+ (matrix< ROWS, COLUMNS, T > lhs, const matrix< ROWS, COLUMNS, T > &rhs)
 Plus operator for matrix addition.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator- (matrix< ROWS, COLUMNS, T > lhs, const matrix< ROWS, COLUMNS, T > &rhs)
 Minus operator for matrix subtraction.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator* (matrix< ROWS, COLUMNS, T > lhs, T rhs)
 Times operator for right scalar multiplication.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator* (T lhs, matrix< ROWS, COLUMNS, T > rhs)
 Times operator for left scalar multiplication.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator/ (matrix< ROWS, COLUMNS, T > lhs, T rhs)
 Divides operator for scalar division.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator% (matrix< ROWS, COLUMNS, T > lhs, T rhs)
 Modulo operator for elementwise modulo by a scalar.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator+ (const matrix< ROWS, COLUMNS, T > &rhs)
 Unary plus operator. Does nothing.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T>
matrix< ROWS, COLUMNS, T > ntlib::operator- (const matrix< ROWS, COLUMNS, T > &rhs)
 Unary minus operator.
template<std::size_t ROWS_LHS, std::size_t COLUMNS_LHS, std::size_t ROWS_RHS, std::size_t COLUMNS_RHS, Ring T>
matrix< ROWS_LHS, COLUMNS_RHS, T > ntlib::operator* (const matrix< ROWS_LHS, COLUMNS_LHS, T > &lhs, const matrix< ROWS_RHS, COLUMNS_RHS, T > &rhs)
 Times operator for matrix multiplication.
template<std::size_t ROWS, std::size_t COLUMNS, Ring T, std::invocable< T > F>
matrix< ROWS, COLUMNS, T > ntlib::exec_each_element (const matrix< ROWS, COLUMNS, T > &m, const F &func)
 Executes a function an each element.

Detailed Description

Represents a matrix whose dimensions are compile time constants.

Files

file  modules/types/matrix.cpp
 Primary module interface unit for module matrix.