|
| SparseMatrix () |
| create as empty
|
|
| SparseMatrix (Int r, Int c) |
| Create a matrix with r rows and c columns, (implicitly) initialize all elements to 0.
|
|
template<typename Iterator> |
| SparseMatrix (Int r, Int c, Iterator &&src) |
|
| SparseMatrix (const GenericMatrix< SparseMatrix > &M) |
| Copy of a disguised Matrix object.
|
|
template<typename TMatrix2> |
| SparseMatrix (const GenericMatrix< TMatrix2, E > &M, std::enable_if_t< SparseMatrix::template compatible_symmetry_types< TMatrix2 >(), std::nullptr_t >=nullptr) |
| Copy of an abstract matrix of the same element type.
|
|
template<typename TMatrix2, typename E2> |
| SparseMatrix (const GenericMatrix< TMatrix2, E2 > &M, std::enable_if_t<(SparseMatrix::template compatible_symmetry_types< TMatrix2 >() &&can_initialize< E2, E >::value), std::nullptr_t >=nullptr) |
| Copy of an abstract matrix with element conversion.
|
|
SparseMatrix & | operator= (const SparseMatrix &other) |
|
void | swap (SparseMatrix &M) |
|
void | resize (Int r, Int c) |
| Resize to new dimensions, added elements initialized with default constructor.
|
|
void | clear () |
| Truncate to 0x0 matrix.
|
|
void | remove0s () |
| Physically remove all zero elements that might have creeped in by some previous operation.
|
|
void | squeeze () |
| Remove all empty (i.e., consisting entirely of implicit zeroes,) rows, renumber the rest, and reduce the dimensions.
|
|
void | squeeze_cols () |
| Remove all empty (i.e., consisting entirely of implicit zeroes,) columns, renumber the rest, and reduce the dimensions.
|
|
template<typename TPerm> |
std::enable_if_t< isomorphic_to_container_of< TPerm, Int >::value > | permute_rows (const TPerm &perm) |
|
template<typename TPerm> |
std::enable_if_t< isomorphic_to_container_of< TPerm, Int >::value > | permute_cols (const TPerm &perm) |
|
void | swap (GenericMatrix< TMatrix2, E > &m) |
|
void | fill (const E2 &x) |
|
void | fill (const E2 &x) |
|
void | fill (const E2 &x) |
|
top_type & | negate () |
| negate elements in place
|
|
top_type & | negate () |
| negate elements in place
|
|
top_type & | negate () |
| negate elements in place
|
|
std::enable_if< is_expandable_by< TMatrix2 >(), top_type & >::type | operator/= (const GenericMatrix< TMatrix2 > &m) |
| append rows of another matrix
|
|
std::enable_if< is_expandable_by< TVector >(), top_type & >::type | operator/= (const GenericVector< TVector > &v) |
| append a vector as a row
|
|
std::enable_if< is_expandable_by< TMatrix2 >(), top_type & >::type | operator/= (const GenericMatrix< TMatrix2 > &m) |
| append rows of another matrix
|
|
std::enable_if< is_expandable_by< TVector >(), top_type & >::type | operator/= (const GenericVector< TVector > &v) |
| append a vector as a row
|
|
std::enable_if< is_expandable_by< TMatrix2 >(), top_type & >::type | operator/= (const GenericMatrix< TMatrix2 > &m) |
| append rows of another matrix
|
|
std::enable_if< is_expandable_by< TVector >(), top_type & >::type | operator/= (const GenericVector< TVector > &v) |
| append a vector as a row
|
|
std::enable_if_t< is_expandable_by< TMatrix2 >(), top_type & > | operator|= (const GenericMatrix< TMatrix2 > &m) |
| append columns of another matrix
|
|
std::enable_if_t< is_expandable_by< TVector >(), top_type & > | operator|= (const GenericVector< TVector > &v) |
| append a vector as a column
|
|
std::enable_if_t< is_expandable_by< TMatrix2 >(), top_type & > | operator|= (const GenericMatrix< TMatrix2 > &m) |
| append columns of another matrix
|
|
std::enable_if_t< is_expandable_by< TVector >(), top_type & > | operator|= (const GenericVector< TVector > &v) |
| append a vector as a column
|
|
std::enable_if_t< is_expandable_by< TMatrix2 >(), top_type & > | operator|= (const GenericMatrix< TMatrix2 > &m) |
| append columns of another matrix
|
|
std::enable_if_t< is_expandable_by< TVector >(), top_type & > | operator|= (const GenericVector< TVector > &v) |
| append a vector as a column
|
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | diagonal (Int i=0) const & |
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | diagonal (Int i=0) const & |
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | diagonal (Int i=0) const & |
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | anti_diagonal (Int i=0) const & |
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | anti_diagonal (Int i=0) const & |
|
IndexedSlice< masquerade< ConcatRows, const typename Unwary< SparseMatrix< E, symmetric > >::type & >, const series > | anti_diagonal (Int i=0) const & |
|
template<typename E, typename symmetric>
class pm::SparseMatrix< E, symmetric >
A two-dimensional associative array with row and column indices as keys.
A two-dimensional associative array with row and column indices as keys; elements equal to the default value (ElementType(), which is 0 for most numerical types) are not stored, but implicitly encoded by the gaps in the key set. Each row and column is organized as a balanced binary search (AVL) tree.