MyMediaLite  3.11
Static Public Member Functions | List of all members
MatrixExtensions Class Reference

Utilities to work with matrices More...

Static Public Member Functions

static float ColumnAverage (this Matrix< float > matrix, int col)
 Compute the average value of the entries in a column of a matrix More...
 
static void ColumnInitNormal (this Matrix< float > matrix, int column, double mean, double stddev)
 Initializes one column of a float matrix with normal distributed (Gaussian) noise More...
 
static float FrobeniusNorm (this Matrix< float > matrix)
 Compute the Frobenius norm (square root of the sum of squared entries) of a matrix More...
 
static void Inc (this Matrix< float > matrix, int i, int j, double v)
 Increments the specified matrix element by a double value More...
 
static void Inc (this Matrix< float > matrix1, Matrix< float > matrix2)
 Increment the elements in one matrix by the ones in another More...
 
static void Inc (this Matrix< int > matrix, int i, int j)
 Increments the specified matrix element by 1 More...
 
static void Inc (this Matrix< float > matrix, float v)
 Increment the seach matrix element by a given value More...
 
static void InitNormal (this Matrix< float > matrix, double mean, double stddev)
 Initializes a float matrix with normal distributed (Gaussian) noise More...
 
static int Max (this Matrix< int > m)
 return the maximum value contained in a matrix More...
 
static float Max (this Matrix< float > m)
 return the maximum value contained in a matrix More...
 
static void Multiply (this Matrix< float > matrix, float f)
 Multiply all entries of a matrix with a scalar More...
 
static void MultiplyColumn (this Matrix< float > matrix, int j, float scalar)
 Multiplies one column of a matrix with a scalar More...
 
static IList< float > RowDifference (Matrix< float > matrix1, int i, Matrix< float > matrix2, int j)
 Compute the difference vector between two rows of two matrices More...
 
static void RowInitNormal (this Matrix< float > matrix, int row, double mean, double stddev)
 Initializes one row of a float matrix with normal distributed (Gaussian) noise More...
 
static float RowScalarProduct (this Matrix< float > matrix, int i, IList< float > vector)
 Compute the scalar product between a vector and a row of the matrix More...
 
static double RowScalarProduct (this Matrix< float > matrix, int i, IList< double > vector)
 Compute the scalar product between a vector and a row of the matrix More...
 
static float RowScalarProduct (Matrix< float > matrix1, int i, Matrix< float > matrix2, int j)
 Compute the scalar product between two rows of two matrices More...
 
static double RowScalarProductWithRowDifference (Matrix< float > matrix1, int i, Matrix< float > matrix2, int j, Matrix< float > matrix3, int k)
 Compute the scalar product of a matrix row with the difference vector of two other matrix rows More...
 
static IList< float > SumOfRows (this Matrix< float > matrix, ICollection< int > row_ids)
 Sum up a given number of rows of a matrix More...
 

Detailed Description

Utilities to work with matrices

Member Function Documentation

static float ColumnAverage ( this Matrix< float >  matrix,
int  col 
)
inlinestatic

Compute the average value of the entries in a column of a matrix

Parameters
matrixthe matrix
colthe column ID
Returns
the average
static void ColumnInitNormal ( this Matrix< float >  matrix,
int  column,
double  mean,
double  stddev 
)
inlinestatic

Initializes one column of a float matrix with normal distributed (Gaussian) noise

Parameters
matrixthe matrix to initialize
meanthe mean of the normal distribution drawn from
stddevthe standard deviation of the normal distribution
columnthe column to be initialized
static float FrobeniusNorm ( this Matrix< float >  matrix)
inlinestatic

Compute the Frobenius norm (square root of the sum of squared entries) of a matrix

See http://en.wikipedia.org/wiki/Matrix_norm

Parameters
matrixthe matrix
Returns
the Frobenius norm of the matrix
static void Inc ( this Matrix< float >  matrix,
int  i,
int  j,
double  v 
)
inlinestatic

Increments the specified matrix element by a double value

Parameters
matrixthe matrix
ithe row
jthe column
vthe value
static void Inc ( this Matrix< float >  matrix1,
Matrix< float >  matrix2 
)
inlinestatic

Increment the elements in one matrix by the ones in another

Parameters
matrix1the matrix to be incremented
matrix2the other matrix
static void Inc ( this Matrix< int >  matrix,
int  i,
int  j 
)
inlinestatic

Increments the specified matrix element by 1

Parameters
matrixthe matrix
ithe row
jthe column
static void Inc ( this Matrix< float >  matrix,
float  v 
)
inlinestatic

Increment the seach matrix element by a given value

Parameters
matrixthe matrix
vthe value to increment with
static void InitNormal ( this Matrix< float >  matrix,
double  mean,
double  stddev 
)
inlinestatic

Initializes a float matrix with normal distributed (Gaussian) noise

Parameters
matrixthe matrix to initialize
meanthe mean of the normal distribution drawn from
stddevthe standard deviation of the normal distribution
static int Max ( this Matrix< int >  m)
inlinestatic

return the maximum value contained in a matrix

Parameters
mthe matrix
static float Max ( this Matrix< float >  m)
inlinestatic

return the maximum value contained in a matrix

Parameters
mthe matrix
static void Multiply ( this Matrix< float >  matrix,
float  f 
)
inlinestatic

Multiply all entries of a matrix with a scalar

Parameters
matrixthe matrix
fthe number to multiply with
static void MultiplyColumn ( this Matrix< float >  matrix,
int  j,
float  scalar 
)
inlinestatic

Multiplies one column of a matrix with a scalar

Parameters
matrixthe matrix
jthe column ID
scalarthe scalar value to multiply with
static IList<float> RowDifference ( Matrix< float >  matrix1,
int  i,
Matrix< float >  matrix2,
int  j 
)
inlinestatic

Compute the difference vector between two rows of two matrices

Parameters
matrix1the first matrix
ithe first row ID
matrix2the second matrix
jthe second row ID
Returns
the difference vector of row i of matrix1 and row j of matrix2
static void RowInitNormal ( this Matrix< float >  matrix,
int  row,
double  mean,
double  stddev 
)
inlinestatic

Initializes one row of a float matrix with normal distributed (Gaussian) noise

Parameters
matrixthe matrix to initialize
rowthe row to be initialized
meanthe mean of the normal distribution drawn from
stddevthe standard deviation of the normal distribution
static float RowScalarProduct ( this Matrix< float >  matrix,
int  i,
IList< float >  vector 
)
inlinestatic

Compute the scalar product between a vector and a row of the matrix

Parameters
matrixthe matrix
ithe row ID
vectorthe numeric vector
Returns
the scalar product of row i and the vector
static double RowScalarProduct ( this Matrix< float >  matrix,
int  i,
IList< double >  vector 
)
inlinestatic

Compute the scalar product between a vector and a row of the matrix

Parameters
matrixthe matrix
ithe row ID
vectorthe numeric vector
Returns
the scalar product of row i and the vector
static float RowScalarProduct ( Matrix< float >  matrix1,
int  i,
Matrix< float >  matrix2,
int  j 
)
inlinestatic

Compute the scalar product between two rows of two matrices

Parameters
matrix1the first matrix
ithe first row ID
matrix2the second matrix
jthe second row ID
Returns
the scalar product of row i of matrix1 and row j of matrix2
static double RowScalarProductWithRowDifference ( Matrix< float >  matrix1,
int  i,
Matrix< float >  matrix2,
int  j,
Matrix< float >  matrix3,
int  k 
)
inlinestatic

Compute the scalar product of a matrix row with the difference vector of two other matrix rows

Parameters
matrix1the first matrix
ithe first row ID
matrix2the second matrix
jthe second row ID
matrix3the third matrix
kthe third row ID

///

Returns
see summary
static IList<float> SumOfRows ( this Matrix< float >  matrix,
ICollection< int >  row_ids 
)
inlinestatic

Sum up a given number of rows of a matrix

Returns
The vector representing the sum of the given rows
Parameters
matrixthe matrix
row_idsa collection of row IDs

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