SparseBooleanMatrix Class Reference

Sparse representation of a boolean matrix, using HashSets. More...

Inheritance diagram for SparseBooleanMatrix:
IBooleanMatrix

List of all members.

Public Member Functions

IMatrix< bool > CreateMatrix (int x, int y)
IList< int > GetEntriesByColumn (int column_id)
IList< int > GetEntriesByRow (int row_id)
 Get all true entries (column IDs) of a row.
int NumEntriesByColumn (int column_id)
 Get all the number of entries in a column.
int NumEntriesByRow (int row_id)
 Get all the number of entries in a row.
int Overlap (IBooleanMatrix s)
 Get the overlap of two matrices, i.e. the number of true entries where they agree.
IMatrix< bool > Transpose ()
 Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.

Properties

virtual bool IsSymmetric [get]
IList< int > NonEmptyColumnIDs [get]
IList< int > NonEmptyRowIDs [get]
 The IDs of the non-empty rows in the matrix (the ones that contain at least one true entry).
IList< KeyValuePair< int, ISet
< int > > > 
NonEmptyRows [get]
 The non-empty rows of the matrix (the ones that contain at least one true entry), with their IDs.
int NumberOfColumns [get]
 The number of columns in the matrix.
int NumberOfEntries [get]
 The number of (true) entries.
int NumberOfRows [get]
 The number of rows in the matrix.
ICollection< int > this [int x] [get]
 Indexer to access the rows of the matrix.
bool this [int x, int y] [get, set]
 Indexer to access the elements of the matrix.

Detailed Description

Sparse representation of a boolean matrix, using HashSets.

Fast row-wise access is possible. Indexes are zero-based.

If you need a more memory-efficient data structure, try SparseBooleanMatrixBinarySearch or SparseBooleanMatrixStatic.


Member Function Documentation

IList<int> GetEntriesByColumn ( int  column_id  )  [inline]

Takes O(N) worst-case time, where N is the number of rows, if the internal hash table can be queried in constant time.

Implements IBooleanMatrix.

IList<int> GetEntriesByRow ( int  row_id  )  [inline]

Get all true entries (column IDs) of a row.

Parameters:
row_id the row ID
Returns:
a list of column IDs

Implements IBooleanMatrix.

int NumEntriesByColumn ( int  column_id  )  [inline]

Get all the number of entries in a column.

Parameters:
column_id the column ID
Returns:
the number of entries in column column_id

Implements IBooleanMatrix.

int NumEntriesByRow ( int  row_id  )  [inline]

Get all the number of entries in a row.

Parameters:
row_id the row ID
Returns:
the number of entries in row row_id

Implements IBooleanMatrix.

int Overlap ( IBooleanMatrix  s  )  [inline]

Get the overlap of two matrices, i.e. the number of true entries where they agree.

Parameters:
s the SparseBooleanMatrix to compare to
Returns:
the number of entries that are true in both matrices

Implements IBooleanMatrix.

IMatrix<bool> Transpose (  )  [inline]

Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.

Returns:
the transpose of the matrix (copy)

Property Documentation

IList<int> NonEmptyColumnIDs [get]

iterates over the complete data structure

Implements IBooleanMatrix.

IList<int> NonEmptyRowIDs [get]

The IDs of the non-empty rows in the matrix (the ones that contain at least one true entry).

Implements IBooleanMatrix.

IList<KeyValuePair<int, ISet<int> > > NonEmptyRows [get]

The non-empty rows of the matrix (the ones that contain at least one true entry), with their IDs.

The non-empty rows of the matrix (the ones that contain at least one true entry), with their IDs

int NumberOfColumns [get]

The number of columns in the matrix.

The number of columns in the matrix

int NumberOfEntries [get]

The number of (true) entries.

Implements IBooleanMatrix.

int NumberOfRows [get]

The number of rows in the matrix.

The number of rows in the matrix

ICollection<int> this[int x] [get]

Indexer to access the rows of the matrix.

Parameters:
x the row ID

Implements IBooleanMatrix.

bool this[int x, int y] [get, set]

Indexer to access the elements of the matrix.

Parameters:
x the row ID
y the column ID

Implements IBooleanMatrix.


The documentation for this class was generated from the following file:
Generated on Sat Oct 8 18:11:34 2011 for MyMediaLite by  doxygen 1.6.3