MyMediaLite  3.09
Public Member Functions | Protected Attributes | Properties
SparseMatrix< T > Class Template Reference

Class for storing sparse matrices. More...

Inheritance diagram for SparseMatrix< T >:
IMatrix< T > AsymmetricCorrelationMatrix SymmetricSparseMatrix< T > BinaryDataAsymmetricCorrelationMatrix SymmetricCorrelationMatrix SkewSymmetricSparseMatrix BidirectionalConditionalProbability ConditionalProbability BinaryDataSymmetricCorrelationMatrix Pearson BinaryCosine Cooccurrence Jaccard

List of all members.

Public Member Functions

virtual IMatrix< T > CreateMatrix (int num_rows, int num_columns)
 Create a matrix with a given number of rows and columns.
void Resize (int num_rows, int num_cols)
 Grows or shrinks the matrix to the requested size, if necessary.
 SparseMatrix (int num_rows, int num_cols)
 Create a sparse matrix with a given number of rows.
virtual IMatrix< T > Transpose ()
 Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.

Protected Attributes

internal List< List< int > > index_list = new List<List<int>>()
 List of lists that stores the column indices of the entries.
internal List< List< T > > value_list = new List<List<T>>()
 List of lists that stores the values of the entries.

Properties

virtual bool IsSymmetric [get]
 True if the matrix is stored in a symmetric manner, false otherwise.
virtual IList< Tuple< int, int > > NonEmptyEntryIDs [get]
 The row and column IDs of non-empty entries in the matrix.
int NumberOfColumns [get, set]
 The number of columns of the matrix.
virtual int NumberOfNonEmptyEntries [get]
 The number of non-empty entries in the matrix.
int NumberOfRows [get]
 The number of rows of the matrix.
virtual T this[int x, int y] [get, set]
 Access the elements of the sparse matrix.
Dictionary< int, T > this[int x] [get]
 Get a row of the matrix.

Detailed Description

template<T>
class MyMediaLite::DataType::SparseMatrix< T >

Class for storing sparse matrices.

The data is stored in row-major mode. Indexes are zero-based. Access is internally done by binary search.

Template Parameters:
Tthe matrix element type, must have a default constructor/value
Type Constraints
T :new() 

Member Function Documentation

virtual IMatrix<T> CreateMatrix ( int  num_rows,
int  num_columns 
) [inline, virtual]

Create a matrix with a given number of rows and columns.

Parameters:
num_rowsthe number of rows
num_columnsthe number of columns
Returns:
A matrix with num_rows rows and num_column columns

Implements IMatrix< T >.

Reimplemented in SkewSymmetricSparseMatrix, and SymmetricSparseMatrix< T >.

void Resize ( int  num_rows,
int  num_cols 
) [inline]

Grows or shrinks the matrix to the requested size, if necessary.

The new entries are filled with zeros. Obsolete entries are removed.

Parameters:
num_rowsthe number of rows
num_colsthe number of columns

Implements IMatrix< T >.

SparseMatrix ( int  num_rows,
int  num_cols 
) [inline]

Create a sparse matrix with a given number of rows.

Parameters:
num_rowsthe number of rows
num_colsthe number of columns
virtual IMatrix<T> Transpose ( ) [inline, virtual]

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

Returns:
the transpose of the matrix (copy)

Implements IMatrix< T >.


Member Data Documentation

internal List<List<int> > index_list = new List<List<int>>() [protected]

List of lists that stores the column indices of the entries.

internal List<List<T> > value_list = new List<List<T>>() [protected]

List of lists that stores the values of the entries.


Property Documentation

virtual bool IsSymmetric [get]

True if the matrix is stored in a symmetric manner, false otherwise.

Also true for skew symmetric matrices that exploit this property in order to save memory

Implements IMatrix< T >.

Reimplemented in SkewSymmetricSparseMatrix, SymmetricSparseMatrix< T >, AsymmetricCorrelationMatrix, and SymmetricCorrelationMatrix.

virtual IList<Tuple<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 in SymmetricSparseMatrix< T >.

int NumberOfColumns [get, set]

The number of columns of the matrix.

The number of columns of the matrix

Implements IMatrix< T >.

virtual int NumberOfNonEmptyEntries [get]

The number of non-empty entries in the matrix.

The number of non-empty entries in the matrix

Reimplemented in SymmetricSparseMatrix< T >.

int NumberOfRows [get]

The number of rows of the matrix.

The number of rows of the matrix

Implements IMatrix< T >.

virtual T this[int x, int y] [get, set]

Access the elements of the sparse matrix.

Parameters:
xthe row ID
ythe column ID

Implements IMatrix< T >.

Reimplemented in SkewSymmetricSparseMatrix, and SymmetricSparseMatrix< T >.

Dictionary<int, T> this[int x] [get]

Get a row of the matrix.

Parameters:
xthe row ID

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