YAP
|
#include "fwd/Matrix.h"
#include "Exceptions.h"
#include "MathUtilities.h"
#include <array>
#include <string>
#include <type_traits>
#include <vector>
Go to the source code of this file.
Classes | |
class | Matrix< T, R, C > |
Namespaces | |
yap | |
Functions | |
template<typename T , size_t R, size_t C> | |
std::string | to_string (const Matrix< T, R, C > &M) |
template<typename T , size_t N> | |
const SquareMatrix< T, N > | zeroMatrix () |
zero square matrix | |
template<typename T , size_t R, size_t C> | |
const Matrix< T, R, C > | zeroMatrix () |
zero matrix | |
template<typename T , size_t N> | |
const SquareMatrix< T, N > | unitMatrix () |
unit matrix | |
template<typename T , size_t N> | |
const SquareMatrix< T, N > | diagonalMatrix (std::array< T, N > d) |
diagonal matrix | |
template<typename T , size_t N> | |
const SquareMatrix< T, N > | symmetricMatrix (std::initializer_list< T > elements) |
template<typename T , size_t R, size_t C> | |
const Matrix< T, C, R > | transpose (const Matrix< T, R, C > &M) |
transpose a matrix | |
template<typename T , size_t R, size_t C> | |
const Matrix< T, C, R > | operator- (const Matrix< T, R, C > &M) |
unary minus | |
template<typename T , size_t R, size_t K, size_t C> | |
std::enable_if< (R!=1) or(C!=1), Matrix< T, R, C > >::type const | operator* (const Matrix< T, R, K > &A, const Matrix< T, K, C > &B) |
matrix multiplication | |
template<typename T1 , typename T2 , size_t R, size_t K, size_t C> | |
auto | operator* (const Matrix< T1, R, K > &A, const Matrix< T2, K, C > &B) -> const typename std::enable_if< (R!=1) or(C!=1), Matrix< typename std::remove_cv< decltype(operator*(A[0][0], B[0][0]))>::type, R, C > >::type |
template<typename T , size_t K> | |
const T | operator* (const Matrix< T, 1, K > &A, const Matrix< T, K, 1 > &B) |
matrix multiplication yielding single value | |
template<typename T , size_t R, size_t C> | |
Matrix< T, R, C > & | operator*= (Matrix< T, R, C > &M, const T &c) |
assignment by multiplication by a single element | |
template<typename T1 , typename T2 , size_t R, size_t C> | |
Matrix< T2, R, C > & | operator*= (Matrix< T2, R, C > &M, const T1 &c) |
assignment by multiplication by a single element with different template types | |
template<typename T , size_t R, size_t C> | |
const Matrix< T, R, C > | operator* (const T &c, const Matrix< T, R, C > &M) |
multiplication by a single element | |
template<typename T1 , typename T2 , size_t R, size_t C> | |
const Matrix< T2, R, C > | operator* (const T1 &c, const Matrix< T2, R, C > &M) |
multiplication by a single element with different template types | |
template<typename T1 , typename T2 , size_t R, size_t C> | |
const Matrix< T2, R, C > | operator* (const Matrix< T1, R, C > &M, const T2 &c) |
multiplication by a single element with different template types | |
template<typename T , size_t R, size_t C> | |
Matrix< T, R, C > & | operator+= (Matrix< T, R, C > &lhs, const Matrix< T, R, C > &rhs) |
addition assignment | |
template<typename T , size_t R, size_t C> | |
const Matrix< T, R, C > | operator+ (const Matrix< T, R, C > &lhs, const Matrix< T, R, C > &rhs) |
addition | |
template<typename T , size_t R, size_t C> | |
Matrix< T, R, C > & | operator-= (Matrix< T, R, C > &lhs, const Matrix< T, R, C > &rhs) |
subtraction assignment | |
template<typename T , size_t R, size_t C> | |
const Matrix< T, R, C > | operator- (const Matrix< T, R, C > &lhs, const Matrix< T, R, C > &rhs) |
subtraction | |
template<typename T , size_t N> | |
const SquareMatrix< T, N-1 > | minor_matrix (const SquareMatrix< T, N > &M, size_t r, size_t c) |
template<typename T , size_t N> | |
const T | minor_det (const SquareMatrix< T, N > &M, size_t r, size_t c) |
template<typename T , size_t N> | |
const T | cofactor (const SquareMatrix< T, N > &M, size_t r, size_t c) |
template<typename T , size_t N> | |
const T | det (SquareMatrix< T, N > M) |
template<typename T , size_t M, size_t N> | |
const SquareMatrix< T, M > | diagonal_minor (const SquareMatrix< T, N > m, std::vector< size_t > indices) |
diagonal minor matrix | |
template<typename T , size_t N> | |
const T | trace (const SquareMatrix< T, N > &M) |
trace | |