MyraMath
Classes
DiagonalMatrix.h File Reference

Container for a diagonal matrix, O(n) storage. Used by SVD, row/column scaling, etc. More...

#include <myramath/utility/detail/LIBPUBLIC.h>
#include <myramath/utility/Number.h>
#include <myramath/dense/DiagonalMatrixRange.h>
#include <vector>
#include <iosfwd>
#include <initializer_list>
Include dependency graph for DiagonalMatrix.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::DiagonalMatrix< Number >
 Tabulates the values of a square NxN diagonal matrix. Allows random access, but only on the diagonal. 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::MatrixRange< Number >
 Represents a mutable MatrixRange. More...
 
class  myra::Vector< Number >
 Tabulates a vector of length N, allows random access. More...
 
class  myra::VectorRange< Number >
 Represents a mutable VectorRange. More...
 
class  myra::DiagonalMatrix< Number >
 Tabulates the values of a square NxN diagonal matrix. Allows random access, but only on the diagonal. More...
 
class  myra::ReflectNumber< DiagonalMatrix< Number > >
 Specializing ReflectNumber<> for DiagonalMatrix<Number> More...
 

Functions

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

Detailed Description

Container for a diagonal matrix, O(n) storage. Used by SVD, row/column scaling, etc.