|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectmp.MPDictionary
mp.MPMatrix
This class is a simple matrix implementation of the MPDictionary superclass.
The dictionary is represented columnwise as a matrix D
of size N×K,
i.e. as a length K array of column vectors,
each is a length N array.
| Constructor Summary | |
MPMatrix(double[][] val)
Constructs a N×K matrix or dictionary with values
from given two-dimensional array, which represents the matrix
in columnwise ordering.
|
|
MPMatrix(int iN,
int iK)
Constructs a N×K matrix or dictionary with random values. |
|
MPMatrix(int iN,
int iK,
double[] val)
Constructs a N×K matrix or dictionary with values
from given one-dimensional array (which represents the matrix).
|
|
| Method Summary | |
void |
addColumn(int k,
double factor,
double[] x)
Add a column of the matrix multiplied by a factor to a given vector. |
double |
getValue(int n,
int k)
Returns an entry of the matrix, i.e. a single entry of a dictionary element (atom). |
double |
innerProduct(int k1,
int k2)
Returns the inner product of two dictionary elements, i.e. matrix column vectors. |
double[] |
multiply(double[] y)
Multiplies the dictionary D by array y.
|
void |
multiply(double[] y,
double[] x)
Multiplies the dictionary D by array y.
|
void |
normalize()
Normalize the dictionary, i.e. multiply each dictionary element (matrix column vector) by a number (scalar) such that the 2-norm, i.e. sum of squares, will be 1.0. |
void |
setColumn(int k,
double[] col)
Replace a column in the dictionary with the given column vector. |
void |
setValue(int n,
int k,
double val)
Set an entry (a value) in the dictionary. |
double |
singleInnerProduct(int k1,
int k2)
Calculates and returns the inner product of two dictionary elements. |
double[] |
transposeMultiply(double[] x)
Multiplies the transposed dictionary D' by array x.
|
void |
transposeMultiply(double[] x,
double[] y)
Multiplies the transposed dictionary D' by array x.
|
| Methods inherited from class mp.MPDictionary |
getColumn, getColumn, getColumns, getK, getN, getRow, getRow, getRows, isNormalized, setRow |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
public MPMatrix(int iN,
int iK)
N×K matrix or dictionary with random values.
iN - length of dictionary elements, i.e. column vectors of the matrix.iK - number of dictionary elements.
public MPMatrix(int iN,
int iK,
double[] val)
N×K matrix or dictionary with values
from given one-dimensional array (which represents the matrix).
Length of the array should be N*K.
iN - length of dictionary elements, i.e. column vectors of the matrixiK - number of dictionary elementsval - the values (ordered by column, i.e. by dictionary elements)public MPMatrix(double[][] val)
N×K matrix or dictionary with values
from given two-dimensional array, which represents the matrix
in columnwise ordering.
The input argument should thus be an array of K arrays, each
with length N.
val - the values, a (columnwise) matrix.| Method Detail |
public double getValue(int n,
int k)
0 <= n < N and 0 <= k < K.
If any argument is outside legal range 0.0 is returned without error or warning.
getValue in class MPDictionaryn - row number for the returned entry value.k - column number for the returned entry value.
public void setValue(int n,
int k,
double val)
0 <= n < N and 0 <= k < K.
If any argument is outside legal range nothing is done.
setValue in class MPDictionaryn - row number for the entry value to be changed.k - column number for the entry value to be changed.val - the value to be put into the given entry of the dictionary.
public void setColumn(int k,
double[] col)
N.
We should have: 0 <= k < K.
If any argument is outside legal dimension or range nothing is done.
setColumn in class MPDictionaryk - column number for the column to be changed.col - the value to be put into the given entry of the dictionary.
public void addColumn(int k,
double factor,
double[] x)
0 <= k < K. x = x+factor*D(:,k+1).
addColumn in class MPDictionaryk - number of the column in dictionary, i.e. matrix D.factor - a factor to multiply the column vector by.x - an array of length N.
public double innerProduct(int k1,
int k2)
0 <= k1 < K and 0 <= k2 < K. k1 or k2 is out of range, 0.0 is returned.
innerProduct in class MPDictionaryk1 - number for the first dictionary element.k2 - number for the second dictionary element.
public double singleInnerProduct(int k1,
int k2)
0 <= k1 < K and 0 <= k2 < K. k1 or k2 is out of range, 0.0 is returned.
k1 - number for the first dictionary element.k2 - number for the second dictionary element.public void normalize()
normalize in class MPDictionarypublic double[] transposeMultiply(double[] x)
D' by array x.
D is the matrix representing the dictionary, each column is a dictionary
element. An array y is returned. D is
N×K, x is N×1,
and y is K×1. y = D'*x.
transposeMultiply in class MPDictionaryx - the signal (column vector) that is multiplied by the transposed dictionary.
K.
public void transposeMultiply(double[] x,
double[] y)
D' by array x.
D is the matrix representing the dictionary, each column is a dictionary
element. An array y is returned. D is
N×K, x is N×1,
and y is K×1. y = D'*x.
transposeMultiply in class MPDictionaryx - the signal (column vector) that is multiplied by the transposed dictionary.y - the results as an array of length K.public double[] multiply(double[] y)
D by array y.
D is the matrix representing the dictionary,
each column is a dictionary element.
An array x is returned. D is
N×K, x is N×1,
and y is K×1. x = D*y.
multiply in class MPDictionaryy - the coefficient vector that is multiplied by the dictionary.
N.
public void multiply(double[] y,
double[] x)
D by array y.
D is the matrix representing the dictionary,
each column is a dictionary element.
An array x is returned. D is
N×K, x is N×1,
and y is K×1. x = D*y.
multiply in class MPDictionaryy - the coefficient vector that is multiplied by the dictionary.x - the results as an array of length N.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||