MyraMath
Classes
LowerMatrix.h File Reference

Specialized container for a lower triangular matrix, O(N^2/2) storage. Used by symmetry exploiting matrix decompositions (Cholesky, LDL') More...

#include <myramath/utility/detail/LIBPUBLIC.h>
#include <myramath/utility/Number.h>
#include <myramath/dense/LowerMatrixRange.h>
#include <myramath/dense/MatrixRange.h>
#include <utility>
#include <vector>
#include <iosfwd>
#include <initializer_list>
Include dependency graph for LowerMatrix.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  myra::Expression< Arity, Number >
 Given an index (i,j,etc), returns a value. More...
 
class  myra::LowerMatrix< Number >
 Stores a lower triangular matrix in rectangular packed format. More...
 
class  myra::Matrix< Number >
 Tabulates an IxJ matrix. Allows random access, has column major layout to be compatible with BLAS/LAPACK. More...
 
class  myra::LowerMatrix< Number >
 Stores a lower triangular matrix in rectangular packed format. More...
 
class  myra::ReflectNumber< LowerMatrix< Number > >
 

Functions

LowerMatrix< NumberS > myra::operator+ (const CLowerMatrixRange< NumberS > &A, const CLowerMatrixRange< NumberS > &B)
 Returns A+B.
 
LowerMatrix< NumberD > myra::operator+ (const CLowerMatrixRange< NumberD > &A, const CLowerMatrixRange< NumberD > &B)
 Returns A+B.
 
LowerMatrix< NumberC > myra::operator+ (const CLowerMatrixRange< NumberC > &A, const CLowerMatrixRange< NumberC > &B)
 Returns A+B.
 
LowerMatrix< NumberZ > myra::operator+ (const CLowerMatrixRange< NumberZ > &A, const CLowerMatrixRange< NumberZ > &B)
 Returns A+B.
 
LowerMatrix< NumberS > myra::operator- (const CLowerMatrixRange< NumberS > &A, const CLowerMatrixRange< NumberS > &B)
 Returns A-B.
 
LowerMatrix< NumberD > myra::operator- (const CLowerMatrixRange< NumberD > &A, const CLowerMatrixRange< NumberD > &B)
 Returns A-B.
 
LowerMatrix< NumberC > myra::operator- (const CLowerMatrixRange< NumberC > &A, const CLowerMatrixRange< NumberC > &B)
 Returns A-B.
 
LowerMatrix< NumberZ > myra::operator- (const CLowerMatrixRange< NumberZ > &A, const CLowerMatrixRange< NumberZ > &B)
 Returns A-B.
 
LowerMatrix< NumberS > myra::operator* (NumberS alpha, const CLowerMatrixRange< NumberS > &A)
 Returns alpha*A.
 
LowerMatrix< NumberD > myra::operator* (NumberD alpha, const CLowerMatrixRange< NumberD > &A)
 Returns alpha*A.
 
LowerMatrix< NumberC > myra::operator* (NumberC alpha, const CLowerMatrixRange< NumberC > &A)
 Returns alpha*A.
 
LowerMatrix< NumberZ > myra::operator* (NumberZ alpha, const CLowerMatrixRange< NumberZ > &A)
 Returns alpha*A.
 
LowerMatrix< NumberS > myra::operator* (const CLowerMatrixRange< NumberS > &A, NumberS alpha)
 Returns A*alpha.
 
LowerMatrix< NumberD > myra::operator* (const CLowerMatrixRange< NumberD > &A, NumberD alpha)
 Returns A*alpha.
 
LowerMatrix< NumberC > myra::operator* (const CLowerMatrixRange< NumberC > &A, NumberC alpha)
 Returns A*alpha.
 
LowerMatrix< NumberZ > myra::operator* (const CLowerMatrixRange< NumberZ > &A, NumberZ alpha)
 Returns A*alpha.
 
LowerMatrix< NumberC > myra::make_complex (const CLowerMatrixRange< NumberS > &A)
 Promotes a real LowerMatrix into a complex one.
 
LowerMatrix< NumberZ > myra::make_complex (const CLowerMatrixRange< NumberD > &A)
 Promotes a real LowerMatrix into a complex one.
 
LowerMatrix< NumberC > myra::make_complex (const CLowerMatrixRange< NumberS > &R, const CLowerMatrixRange< NumberS > &I)
 Builds a complex LowerMatrix from real/imaginary parts.
 
LowerMatrix< NumberZ > myra::make_complex (const CLowerMatrixRange< NumberD > &R, const CLowerMatrixRange< NumberD > &I)
 Builds a complex LowerMatrix from real/imaginary parts.
 
LowerMatrix< NumberS > myra::realpart (const CLowerMatrixRange< NumberC > &A)
 Extracts the real part of a complex LowerMatrix.
 
LowerMatrix< NumberD > myra::realpart (const CLowerMatrixRange< NumberZ > &A)
 Extracts the real part of a complex LowerMatrix.
 
LowerMatrix< NumberS > myra::imagpart (const CLowerMatrixRange< NumberC > &A)
 Extracts the imaginary part of a complex LowerMatrix.
 
LowerMatrix< NumberD > myra::imagpart (const CLowerMatrixRange< NumberZ > &A)
 Extracts the imaginary part of a complex LowerMatrix.
 

Detailed Description

Specialized container for a lower triangular matrix, O(N^2/2) storage. Used by symmetry exploiting matrix decompositions (Cholesky, LDL')