Class for storing dense matrices. More...
Public Member Functions | |
void | AddRows (int num_rows) |
Enlarges the matrix to num_rows rows. | |
IMatrix< T > | CreateMatrix (int num_rows, int num_columns) |
Create a matrix with a given number of rows and columns. | |
IList< T > | GetColumn (int j) |
Returns a copy of the j-th column of the matrix. | |
IList< T > | GetRow (int i) |
Returns a copy of the i-th row of the matrix. | |
void | Grow (int num_rows, int num_cols) |
Grows the matrix to the requested size, if necessary. | |
void | Init (T d) |
Init the matrix with a default value. | |
Matrix (IList< IList< T >> data) | |
Constructor that takes a list of lists to initialize the matrix. | |
Matrix (Matrix< T > matrix) | |
Copy constructor. Creates a deep copy of the given matrix. | |
Matrix (uint dim1, uint dim2) | |
Initializes a new instance of the Matrix class. | |
Matrix (uint dim1, int dim2) | |
Initializes a new instance of the Matrix class. | |
Matrix (int dim1, uint dim2) | |
Initializes a new instance of the Matrix class. | |
Matrix (int dim1, int dim2) | |
Initializes a new instance of the Matrix class. | |
void | SetColumn (int j, IList< T > column) |
Sets the values of the j-th column to the values in a given array. | |
void | SetColumnToOneValue (int j, T v) |
Sets an entire column to a specified value. | |
void | SetRow (int i, IList< T > row) |
Sets the values of the i-th row to the values in a given array. | |
void | SetRowToOneValue (int i, T v) |
Sets an entire row to a specified value. | |
IMatrix< T > | Transpose () |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged. | |
Public Attributes | |
int | dim1 |
Dimension 1, the number of rows. | |
int | dim2 |
Dimension 2, the number of columns. | |
Protected Attributes | |
internal T[] | data |
Data array: data is stored in columns. | |
Properties | |
virtual bool | IsSymmetric [get] |
True if the matrix is symmetric, false otherwise. | |
int | NumberOfColumns [get] |
The number of columns of the matrix. | |
int | NumberOfRows [get] |
The number of rows of the matrix. | |
virtual T | this [int i, int j] [get, set] |
The value at (i,j). |
Class for storing dense matrices.
The data is stored in row-major mode. Indexes are zero-based.
T | the type of the matrix entries |
Matrix | ( | int | dim1, | |
int | dim2 | |||
) | [inline] |
Initializes a new instance of the Matrix class.
dim1 | the number of rows | |
dim2 | the number of columns |
Matrix | ( | int | dim1, | |
uint | dim2 | |||
) | [inline] |
Initializes a new instance of the Matrix class.
dim1 | the number of rows | |
dim2 | the number of columns |
Matrix | ( | uint | dim1, | |
int | dim2 | |||
) | [inline] |
Initializes a new instance of the Matrix class.
dim1 | the number of rows | |
dim2 | the number of columns |
Matrix | ( | uint | dim1, | |
uint | dim2 | |||
) | [inline] |
Initializes a new instance of the Matrix class.
dim1 | the number of rows | |
dim2 | the number of columns |
Matrix | ( | Matrix< T > | matrix | ) | [inline] |
Copy constructor. Creates a deep copy of the given matrix.
matrix | the matrix to be copied |
Matrix | ( | IList< IList< T >> | data | ) | [inline] |
Constructor that takes a list of lists to initialize the matrix.
data | a list of lists of T |
void AddRows | ( | int | num_rows | ) | [inline] |
Enlarges the matrix to num_rows rows.
Do nothing if num_rows is less than dim1. The new entries are filled with zeros.
num_rows | the minimum number of rows |
IMatrix<T> CreateMatrix | ( | int | num_rows, | |
int | num_columns | |||
) | [inline] |
Create a matrix with a given number of rows and columns.
num_rows | the number of rows | |
num_columns | the number of columns |
Implements IMatrix< T >.
IList<T> GetColumn | ( | int | j | ) | [inline] |
Returns a copy of the j-th column of the matrix.
j | the column ID |
IList<T> GetRow | ( | int | i | ) | [inline] |
Returns a copy of the i-th row of the matrix.
i | the row ID |
void Grow | ( | int | num_rows, | |
int | num_cols | |||
) | [inline] |
Grows the matrix to the requested size, if necessary.
The new entries are filled with zeros.
num_rows | the minimum number of rows | |
num_cols | the minimum number of columns |
Implements IMatrix< T >.
void Init | ( | T | d | ) | [inline] |
Init the matrix with a default value.
d | the default value |
void SetColumn | ( | int | j, | |
IList< T > | column | |||
) | [inline] |
Sets the values of the j-th column to the values in a given array.
j | the column ID | |
column | a list of T of length dim2 |
void SetColumnToOneValue | ( | int | j, | |
T | v | |||
) | [inline] |
Sets an entire column to a specified value.
v | the value to be used | |
j | the column ID |
void SetRow | ( | int | i, | |
IList< T > | row | |||
) | [inline] |
Sets the values of the i-th row to the values in a given array.
i | the row ID | |
row | a list of T of length dim1 |
void SetRowToOneValue | ( | int | i, | |
T | v | |||
) | [inline] |
Sets an entire row to a specified value.
v | the value to be used | |
i | the row ID |
IMatrix<T> Transpose | ( | ) | [inline] |
Get the transpose of the matrix, i.e. a matrix where rows and columns are interchanged.
Implements IMatrix< T >.
int dim1 |
Dimension 1, the number of rows.
int dim2 |
Dimension 2, the number of columns.
virtual bool IsSymmetric [get] |
True if the matrix is symmetric, false otherwise.
True if the matrix is symmetric, false otherwise
Implements IMatrix< T >.
int NumberOfColumns [get] |
int NumberOfRows [get] |
virtual T this[int i, int j] [get, set] |
The value at (i,j).
The value at (i,j)
x | the row ID | |
y | the column ID |
Implements IMatrix< T >.