MyraMath
|
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. | |
LowerMatrix & | operator= (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)). | |
LowerMatrix & | operator= (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) | |
LowerMatrix & | operator= (const CLowerMatrixRange< Number > &that) |
Assigns this = that. | |
LowerMatrix & | operator= (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. | |
Stores a lower triangular matrix in rectangular packed format.