MyraMath
Classes
SparseMatrix.h File Reference

General purpose compressed-sparse-column (CSC) container. More...

#include <myramath/utility/detail/LIBPUBLIC.h>
#include <myramath/utility/Number.h>
#include <myramath/sparse/SparseMatrixRange.h>
#include <utility>
#include <vector>
#include <iosfwd>
Include dependency graph for SparseMatrix.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::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::SparseMatrix< Number >
 Stores an IxJ matrix A in compressed sparse column format. More...
 
class  myra::SparseMatrixBuilder< Number >
 Like SparseMatrix, but easier to populate via random access (i,j) operator. More...
 
class  myra::Array1< T >
 Container of values, allows random (i) access. More...
 
class  myra::Array2< T >
 Container of values, allows random (i,j) access. More...
 
class  myra::SparseMatrix< Number >
 Stores an IxJ matrix A in compressed sparse column format. More...
 
class  myra::ReflectNumber< SparseMatrix< Number > >
 Specializing ReflectNumber<> for SparseMatrix<Number> More...
 

Functions

SparseMatrix< NumberS > myra::operator+ (const CSparseMatrixRange< NumberS > &A, const CSparseMatrixRange< NumberS > &B)
 Returns A+B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberD > myra::operator+ (const CSparseMatrixRange< NumberD > &A, const CSparseMatrixRange< NumberD > &B)
 Returns A+B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberC > myra::operator+ (const CSparseMatrixRange< NumberC > &A, const CSparseMatrixRange< NumberC > &B)
 Returns A+B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberZ > myra::operator+ (const CSparseMatrixRange< NumberZ > &A, const CSparseMatrixRange< NumberZ > &B)
 Returns A+B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberS > myra::operator- (const CSparseMatrixRange< NumberS > &A, const CSparseMatrixRange< NumberS > &B)
 Returns A-B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberD > myra::operator- (const CSparseMatrixRange< NumberD > &A, const CSparseMatrixRange< NumberD > &B)
 Returns A-B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberC > myra::operator- (const CSparseMatrixRange< NumberC > &A, const CSparseMatrixRange< NumberC > &B)
 Returns A-B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberZ > myra::operator- (const CSparseMatrixRange< NumberZ > &A, const CSparseMatrixRange< NumberZ > &B)
 Returns A-B. Not especially efficient, invokes SparseMatrixBuilder behind the scenes.
 
SparseMatrix< NumberS > myra::operator* (NumberS alpha, const CSparseMatrixRange< NumberS > &A)
 Returns alpha*A.
 
SparseMatrix< NumberD > myra::operator* (NumberD alpha, const CSparseMatrixRange< NumberD > &A)
 Returns alpha*A.
 
SparseMatrix< NumberC > myra::operator* (NumberC alpha, const CSparseMatrixRange< NumberC > &A)
 Returns alpha*A.
 
SparseMatrix< NumberZ > myra::operator* (NumberZ alpha, const CSparseMatrixRange< NumberZ > &A)
 Returns alpha*A.
 
SparseMatrix< NumberS > myra::operator* (const CSparseMatrixRange< NumberS > &A, NumberS alpha)
 Returns A*alpha.
 
SparseMatrix< NumberD > myra::operator* (const CSparseMatrixRange< NumberD > &A, NumberD alpha)
 Returns A*alpha.
 
SparseMatrix< NumberC > myra::operator* (const CSparseMatrixRange< NumberC > &A, NumberC alpha)
 Returns A*alpha.
 
SparseMatrix< NumberZ > myra::operator* (const CSparseMatrixRange< NumberZ > &A, NumberZ alpha)
 Returns A*alpha.
 
SparseMatrix< NumberC > myra::make_complex (const CSparseMatrixRange< NumberS > &A)
 Promotes a real SparseMatrix into a complex one.
 
SparseMatrix< NumberZ > myra::make_complex (const CSparseMatrixRange< NumberD > &A)
 Promotes a real SparseMatrix into a complex one.
 
SparseMatrix< NumberC > myra::make_complex (const CSparseMatrixRange< NumberS > &R, const CSparseMatrixRange< NumberS > &I)
 Builds a complex SparseMatrix from real/imaginary parts.
 
SparseMatrix< NumberZ > myra::make_complex (const CSparseMatrixRange< NumberD > &R, const CSparseMatrixRange< NumberD > &I)
 Builds a complex SparseMatrix from real/imaginary parts.
 
SparseMatrix< NumberS > myra::realpart (const CSparseMatrixRange< NumberC > &A)
 Extracts the real part of a complex SparseMatrix.
 
SparseMatrix< NumberD > myra::realpart (const CSparseMatrixRange< NumberZ > &A)
 Extracts the real part of a complex SparseMatrix.
 
SparseMatrix< NumberS > myra::imagpart (const CSparseMatrixRange< NumberC > &A)
 Extracts the imaginary part of a complex SparseMatrix.
 
SparseMatrix< NumberD > myra::imagpart (const CSparseMatrixRange< NumberZ > &A)
 Extracts the imaginary part of a complex SparseMatrix.
 

Detailed Description

General purpose compressed-sparse-column (CSC) container.