a symmetric sparse matrix; consumes less memory More...
Public Member Functions | |
override IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
Create a matrix with a given number of rows and columns. | |
SymmetricSparseMatrix (int dimension) | |
Create a symmetric sparse matrix with a given dimension. | |
virtual IMatrix< T > | Transpose () |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged. | |
Protected Attributes | |
List< Dictionary< int, T > > | row_list = new List<Dictionary<int, T>>() |
List that stores the rows of the matrix. | |
Properties | |
override bool | IsSymmetric [get] |
Always true because the data type is symmetric. | |
override IList< Pair< int, int > > | NonEmptyEntryIDs [get] |
The row and column IDs of non-empty entries in the matrix. | |
IList< KeyValuePair< int, Dictionary< int, T > > > | NonEmptyRows [get] |
The non-empty rows of the matrix (the ones that contain at least one non-zero entry), with their IDs. | |
int | NumberOfColumns [get, set] |
The number of columns of the matrix. | |
override int | NumberOfNonEmptyEntries [get] |
The number of non-empty entries in the matrix. | |
int | NumberOfRows [get] |
The number of rows of the matrix. | |
override T | this [int x, int y] [get, set] |
Access the elements of the sparse matrix. |
a symmetric sparse matrix; consumes less memory
Be careful when accessing the matrix via the NonEmptyRows property: this contains only the entries with x >, but not their symmetric counterparts.
T | : | new() |
SymmetricSparseMatrix | ( | int | dimension | ) | [inline] |
Create a symmetric sparse matrix with a given dimension.
dimension | the dimension (number of rows/columns) |
override IMatrix<T> CreateMatrix | ( | int | num_rows, | |
int | num_columns | |||
) | [inline, virtual] |
Create a matrix with a given number of rows and columns.
num_rows | the number of rows | |
num_columns | the number of columns |
Reimplemented from SparseMatrix< T >.
virtual IMatrix<T> Transpose | ( | ) | [inline, virtual, inherited] |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.
Implements IMatrix< T >.
List<Dictionary<int, T> > row_list = new List<Dictionary<int, T>>() [protected, inherited] |
List that stores the rows of the matrix.
override bool IsSymmetric [get] |
Always true because the data type is symmetric.
Always true because the data type is symmetric
Reimplemented from SparseMatrix< T >.
override IList<Pair<int, int> > NonEmptyEntryIDs [get] |
The row and column IDs of non-empty entries in the matrix.
The row and column IDs of non-empty entries in the matrix
Reimplemented from SparseMatrix< T >.
IList<KeyValuePair<int, Dictionary<int, T> > > NonEmptyRows [get, inherited] |
The non-empty rows of the matrix (the ones that contain at least one non-zero entry), with their IDs.
int NumberOfColumns [get, set, inherited] |
override int NumberOfNonEmptyEntries [get] |
The number of non-empty entries in the matrix.
The number of non-empty entries in the matrix
Reimplemented from SparseMatrix< T >.
int NumberOfRows [get, inherited] |
override T this[int x, int y] [get, set] |
Access the elements of the sparse matrix.
x | the row ID | |
y | the column ID |
Reimplemented from SparseMatrix< T >.