MyraMath
Public Member Functions | Static Public Member Functions | List of all members
myra::LowerMatrix< Number > Class Template Reference

Stores a lower triangular matrix in rectangular packed format. More...

#include <LowerMatrix.h>

Public Member Functions

 LowerMatrix ()
 Default constructor, makes a size 0x0 empty LowerMatrix.
 
 LowerMatrix (int N)
 Constructs a LowerMatrix of size NxN, filled with Number(0)
 
 LowerMatrix (const Expression< 2, Number > &e)
 Constructs a LowerMatrix from an arity-2 Expression of Number. Only the lower triangle will be probed.
 
 LowerMatrix (const LowerMatrix &that)
 Copy constructor.
 
void swap (LowerMatrix< Number > &that)
 Member swap.
 
 LowerMatrix (LowerMatrix &&that)
 Move constructor, default construct and swap idiom.
 
LowerMatrixoperator= (LowerMatrix that)
 Copy-assignment operator, copy construct and swap idiom.
 
 LowerMatrix (const CLowerMatrixRange< Number > &that)
 Constructs from a LowerMatrixRange (same size, values copied)
 
 LowerMatrix (const CMatrixRange< Number > &that)
 Constructs from the lower triangle of a MatrixRange (must be square).
 
 LowerMatrix (InputStream &in)
 InputStream constructor, complements write(OutputStream) method.
 
void write (OutputStream &out) const
 Writes to OutputStream, complements InputStream constructor.
 
const LowerMatrix< Number > & add_const () const
 Returns const reference to *this.
 
 ~LowerMatrix ()
 Releases internal resources.
 
int size () const
 Size inspector.
 
uint64_t n_words () const
 Nonzero count.
 
std::pair< int, int > blocking () const
 Returns [N1,N2], the partition sizes of [A11 0; A21 A22'].
 
template<class Functor >
void transform (const Functor &f)
 Overwrites every A(i,j) in this LowerMatrix with f(A(i,j)).
 
LowerMatrixoperator= (const CMatrixRange< Number > &that)
 Assignment operator from the lower triangle of a MatrixRange (must be square).
 
void operator*= (Number alpha)
 Scales this *= alpha.
 
void operator/= (Number alpha)
 Scales this /= alpha.
 
LowerMatrix< Number > operator- ()
 Unary minus (sign negation).
 
CLowerMatrixRange< Number > range () const
 Explicit conversion, returns a LowerMatrixRange over all of *this.
 
LowerMatrixRange< Number > range ()
 Explicit conversion, returns a LowerMatrixRange over all of *this.
 
 operator CLowerMatrixRange< Number > () const
 Implicit conversion into a LowerMatrixRange.
 
 operator LowerMatrixRange< Number > ()
 Implicit conversion into a LowerMatrixRange.
 
CMatrixRange< Number > rectangle () const
 Returns a MatrixRange over all contents of *this, viewed as a rectangle.
 
MatrixRange< Number > rectangle ()
 Returns a MatrixRange over all contents of *this, viewed as a rectangle.
 
const Number & operator() (int i, int j) const
 Random accessor/mutator.
 
Number & operator() (int i, int j)
 Random accessor/mutator.
 
const Number & at (int i, int j) const
 Bounds checked random accessor/mutator.
 
Number & at (int i, int j)
 Bounds checked random accessor/mutator.
 
Matrix< Number > make_Matrix (char op='N') const
 Accumulates *this onto the lower triangle of a Matrix<Number>
 
void make_Matrix (const MatrixRange< Number > &A, char op='N') const
 Accumulates *this onto the lower triangle of a Matrix<Number>
 
CMatrixRange< Number > range11 () const
 Returns MatrixRange's over various subblocks, viewed as rectangles (const)
 
CMatrixRange< Number > range21 () const
 Returns MatrixRange's over various subblocks, viewed as rectangles (const)
 
CMatrixRange< Number > range22t () const
 Returns MatrixRange's over various subblocks, viewed as rectangles (const)
 
MatrixRange< Number > range11 ()
 Returns MatrixRange's over various subblocks, viewed as rectangles (mutable)
 
MatrixRange< Number > range21 ()
 Returns MatrixRange's over various subblocks, viewed as rectangles (mutable)
 
MatrixRange< Number > range22t ()
 Returns MatrixRange's over various subblocks, viewed as rectangles (mutable)
 
LowerMatrixoperator= (const CLowerMatrixRange< Number > &that)
 Assigns this = that.
 
LowerMatrixoperator= (const Expression< 2, Number > &that)
 Assigns this = that.
 
void assign (const CLowerMatrixRange< Number > &that)
 Like operator =, but does not reallocate/resize. Requires matching sizes.
 
void assign (const Expression< 2, Number > &that)
 Like operator =, but does not reallocate/resize. Requires matching sizes.
 
void assign (const CMatrixRange< Number > &that)
 Like operator =, but does not reallocate/resize. Requires matching sizes.
 
void operator+= (const CLowerMatrixRange< Number > &that)
 Adds this += that.
 
void operator+= (const Expression< 2, Number > &that)
 Adds this += that.
 
void operator-= (const CLowerMatrixRange< Number > &that)
 Subtracts this -= that.
 
void operator-= (const Expression< 2, Number > &that)
 Subtracts this -= that.
 

Static Public Member Functions

static LowerMatrix< Number > identity (int N)
 Generates an identity LowerMatrix of specified size.
 
static LowerMatrix< Number > random (int N)
 Generates a random LowerMatrix of specified size.
 
static LowerMatrix< Number > zeros (int N)
 Generates a zeros LowerMatrix of specified size.
 
static LowerMatrix< Number > ones (int N)
 Generates a ones LowerMatrix of specified size.
 
static LowerMatrix< Number > fill (int N, Number c)
 Generates a LowerMatrix of specified size filled with constant c.
 
static LowerMatrix< Number > fill_cmajor (std::initializer_list< Number > list)
 Generates a LowerMatrix filled from a std::initializer_list of size N*(N+1)/2.
 
static LowerMatrix< Number > fill_rmajor (std::initializer_list< Number > list)
 
static LowerMatrix< Number > evaluate (const Expression< 2, Number > &e)
 Generates LowerMatrix by evaluating an arity-2 Expression of Number.
 

Detailed Description

template<class Number>
class myra::LowerMatrix< Number >

Stores a lower triangular matrix in rectangular packed format.


The documentation for this class was generated from the following files: