MyraMath
Classes
Matrix22.h File Reference

Matrix type with fixed size of 2x2, algorithms that operate upon them. More...

#include <myramath/MYRAMATH_EXPORT.h>
#include <myramath/utility/Number.h>
Include dependency graph for Matrix22.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  myra::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::CMatrixRange< Number >
 Represents a const MatrixRange. More...
 
class  myra::Matrix22< Number >
 Matrix type with fixed size 2x2. More...
 
class  myra::Matrix22< Number >
 Matrix type with fixed size 2x2. More...
 
class  myra::ReflectNumber< Matrix22< Number > >
 Specializing ReflectNumber<> for Matrix22<Number> More...
 

Functions

NumberS myra::frobenius (const Matrix22< NumberS > &A)
 Returns the frobenius norm of a Matrix22.
 
NumberD myra::frobenius (const Matrix22< NumberD > &A)
 Returns the frobenius norm of a Matrix22.
 
NumberS myra::frobenius (const Matrix22< NumberC > &A)
 Returns the frobenius norm of a Matrix22.
 
NumberD myra::frobenius (const Matrix22< NumberZ > &A)
 Returns the frobenius norm of a Matrix22.
 
Matrix22< NumberS > myra::reverse (const Matrix22< NumberS > &A)
 Returns the reverse (flipud+fliplr) of a Matrix22, [A11 A01; A10 A00].
 
Matrix22< NumberD > myra::reverse (const Matrix22< NumberD > &A)
 Returns the reverse (flipud+fliplr) of a Matrix22, [A11 A01; A10 A00].
 
Matrix22< NumberC > myra::reverse (const Matrix22< NumberC > &A)
 Returns the reverse (flipud+fliplr) of a Matrix22, [A11 A01; A10 A00].
 
Matrix22< NumberZ > myra::reverse (const Matrix22< NumberZ > &A)
 Returns the reverse (flipud+fliplr) of a Matrix22, [A11 A01; A10 A00].
 
Matrix22< NumberS > myra::conjugate (const Matrix22< NumberS > &A)
 Returns the conjugate of a Matrix22.
 
Matrix22< NumberD > myra::conjugate (const Matrix22< NumberD > &A)
 Returns the conjugate of a Matrix22.
 
Matrix22< NumberC > myra::conjugate (const Matrix22< NumberC > &A)
 Returns the conjugate of a Matrix22.
 
Matrix22< NumberZ > myra::conjugate (const Matrix22< NumberZ > &A)
 Returns the conjugate of a Matrix22.
 
Matrix22< NumberS > myra::transpose (const Matrix22< NumberS > &A)
 Returns the transpose of a Matrix22.
 
Matrix22< NumberD > myra::transpose (const Matrix22< NumberD > &A)
 Returns the transpose of a Matrix22.
 
Matrix22< NumberC > myra::transpose (const Matrix22< NumberC > &A)
 Returns the transpose of a Matrix22.
 
Matrix22< NumberZ > myra::transpose (const Matrix22< NumberZ > &A)
 Returns the transpose of a Matrix22.
 
Matrix22< NumberS > myra::hermitian (const Matrix22< NumberS > &A)
 Returns the hermitian transpose of a Matrix22.
 
Matrix22< NumberD > myra::hermitian (const Matrix22< NumberD > &A)
 Returns the hermitian transpose of a Matrix22.
 
Matrix22< NumberC > myra::hermitian (const Matrix22< NumberC > &A)
 Returns the hermitian transpose of a Matrix22.
 
Matrix22< NumberZ > myra::hermitian (const Matrix22< NumberZ > &A)
 Returns the hermitian transpose of a Matrix22.
 
Matrix22< NumberC > myra::make_complex (const Matrix22< NumberS > &A)
 Promotes a real Matrix22 into a complex one.
 
Matrix22< NumberZ > myra::make_complex (const Matrix22< NumberD > &A)
 Promotes a real Matrix22 into a complex one.
 
Matrix22< NumberS > myra::gemm (const Matrix22< NumberS > &A, const Matrix22< NumberS > &B)
 Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberD > myra::gemm (const Matrix22< NumberD > &A, const Matrix22< NumberD > &B)
 Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberC > myra::gemm (const Matrix22< NumberC > &A, const Matrix22< NumberC > &B)
 Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberZ > myra::gemm (const Matrix22< NumberZ > &A, const Matrix22< NumberZ > &B)
 Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberC > myra::gemm (const Matrix22< NumberS > &A, const Matrix22< NumberC > &B)
 Mixed real*complex Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberZ > myra::gemm (const Matrix22< NumberD > &A, const Matrix22< NumberZ > &B)
 Mixed real*complex Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberC > myra::gemm (const Matrix22< NumberC > &A, const Matrix22< NumberS > &B)
 Mixed complex*real Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberZ > myra::gemm (const Matrix22< NumberZ > &A, const Matrix22< NumberD > &B)
 Mixed complex*real Matrix22 * Matrix22 multiplication.
 
Matrix22< NumberS > myra::inverse (const Matrix22< NumberS > &A)
 Inverts a Matrix22.
 
Matrix22< NumberD > myra::inverse (const Matrix22< NumberD > &A)
 Inverts a Matrix22.
 
Matrix22< NumberC > myra::inverse (const Matrix22< NumberC > &A)
 Inverts a Matrix22.
 
Matrix22< NumberZ > myra::inverse (const Matrix22< NumberZ > &A)
 Inverts a Matrix22.
 
Matrix22< NumberS > myra::operator* (const Matrix22< NumberS > &A, const Matrix22< NumberS > &B)
 Returns A*B (gemm)
 
Matrix22< NumberD > myra::operator* (const Matrix22< NumberD > &A, const Matrix22< NumberD > &B)
 Returns A*B (gemm)
 
Matrix22< NumberC > myra::operator* (const Matrix22< NumberC > &A, const Matrix22< NumberC > &B)
 Returns A*B (gemm)
 
Matrix22< NumberZ > myra::operator* (const Matrix22< NumberZ > &A, const Matrix22< NumberZ > &B)
 Returns A*B (gemm)
 
Matrix22< NumberC > myra::operator* (const Matrix22< NumberS > &A, const Matrix22< NumberC > &B)
 Mixed real*complex operator*.
 
Matrix22< NumberZ > myra::operator* (const Matrix22< NumberD > &A, const Matrix22< NumberZ > &B)
 Returns A*B (gemm)
 
Matrix22< NumberC > myra::operator* (const Matrix22< NumberC > &A, const Matrix22< NumberS > &B)
 Mixed complex*real operator*.
 
Matrix22< NumberZ > myra::operator* (const Matrix22< NumberZ > &A, const Matrix22< NumberD > &B)
 Mixed complex*real operator*.
 
Matrix22< NumberS > myra::operator+ (const Matrix22< NumberS > &A, const Matrix22< NumberS > &B)
 Returns A+B.
 
Matrix22< NumberD > myra::operator+ (const Matrix22< NumberD > &A, const Matrix22< NumberD > &B)
 Returns A+B.
 
Matrix22< NumberC > myra::operator+ (const Matrix22< NumberC > &A, const Matrix22< NumberC > &B)
 Returns A+B.
 
Matrix22< NumberZ > myra::operator+ (const Matrix22< NumberZ > &A, const Matrix22< NumberZ > &B)
 Returns A+B.
 
Matrix22< NumberS > myra::operator- (const Matrix22< NumberS > &A, const Matrix22< NumberS > &B)
 Returns A-B.
 
Matrix22< NumberD > myra::operator- (const Matrix22< NumberD > &A, const Matrix22< NumberD > &B)
 Returns A-B.
 
Matrix22< NumberC > myra::operator- (const Matrix22< NumberC > &A, const Matrix22< NumberC > &B)
 Returns A-B.
 
Matrix22< NumberZ > myra::operator- (const Matrix22< NumberZ > &A, const Matrix22< NumberZ > &B)
 Returns A-B.
 
void myra::gemm_inplace (const Matrix22< NumberS > &A, const MatrixRange< NumberS > &B)
 Given a Matrix22 A and a Matrix B (with two rows), overwrites B with A*B.
 
void myra::gemm_inplace (const Matrix22< NumberD > &A, const MatrixRange< NumberD > &B)
 Given a Matrix22 A and a Matrix B (with two rows), overwrites B with A*B.
 
void myra::gemm_inplace (const Matrix22< NumberC > &A, const MatrixRange< NumberC > &B)
 Given a Matrix22 A and a Matrix B (with two rows), overwrites B with A*B.
 
void myra::gemm_inplace (const Matrix22< NumberZ > &A, const MatrixRange< NumberZ > &B)
 Given a Matrix22 A and a Matrix B (with two rows), overwrites B with A*B.
 
void myra::gemm_inplace (const MatrixRange< NumberS > &A, const Matrix22< NumberS > &B)
 Given a Matrix A (with two columns) and a Matrix22 B, overwrites A with A*B.
 
void myra::gemm_inplace (const MatrixRange< NumberD > &A, const Matrix22< NumberD > &B)
 Given a Matrix A (with two columns) and a Matrix22 B, overwrites A with A*B.
 
void myra::gemm_inplace (const MatrixRange< NumberC > &A, const Matrix22< NumberC > &B)
 Given a Matrix A (with two columns) and a Matrix22 B, overwrites A with A*B.
 
void myra::gemm_inplace (const MatrixRange< NumberZ > &A, const Matrix22< NumberZ > &B)
 Given a Matrix A (with two columns) and a Matrix22 B, overwrites A with A*B.
 

Detailed Description

Matrix type with fixed size of 2x2, algorithms that operate upon them.