jhplot.bsom
Class Matrix
- java.lang.Object
-
- jhplot.bsom.Matrix
-
- Direct Known Subclasses:
- UserData
public class Matrix extends java.lang.ObjectMatrix is a class for matrix objects with basic linear calculation methods.
-
-
Constructor Summary
Constructors Constructor and Description Matrix(int n)Construct a square matrix object.Matrix(int row, int col)Construct a rectangle matrix object.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method and Description Matrixcopy()Copy the matrix.MatrixcrossSqDistance(Matrix Y)Cross squared Euclidean distance Matrix: Z_{ij} = ||X_i - Y_j||^2Matrixdiagonal()If the matrix is a row or column vector, make a diagonal matrix from it.MatrixdividedBy(Matrix Y)Matrix division: X\Y.MatrixdividedBy(Matrix Y, int bw)Matrix division with bandwidth: X\Y.Matrixeigenvalues(double eps, int lmax)Make a row vector including the eigenvalues of the matrix.MatrixhorizontalSum()Make a horizontal-summation vector.static Matrixidentity(int n)Make an identity matrix.MatrixlinearConv(double a, double b, Matrix Y)Linear conversion: a*X + b*Y.MatrixmulipliedEntriesWith(Matrix Y)Multiply entries.MatrixmultipliedBy(double a)Scalar product: aX.MatrixmultipliedBy(Matrix Y)Matrix multiplication: X*Y.static Matrixrandom(int row, int col)Same as random(row, col, 1).static Matrixrandom(int row, int col, int seed)Make a standard Gaussian random Matrix.doublesumEntries()Summation of all entries.doublesumSqrEntries()Summation of squared entries.Matrixtranspose()Transpose: X'.voidupdateDivideByRowVector(Matrix vec)X_{ij} = X_{ij}/v_{j}.voidupdateExp()Update by exponential : exp(X_{ij})voidupdateLinearConv(double a, double b, Matrix Y)Update by Linear conversion: X = a*X + b*Y.MatrixverticalSum()Make a vertical-summation vector.
-
-
-
Constructor Detail
-
Matrix
public Matrix(int n)
Construct a square matrix object.- Parameters:
n- size
-
Matrix
public Matrix(int row, int col)Construct a rectangle matrix object.- Parameters:
row- number of rowcol- number of column
-
-
Method Detail
-
identity
public static Matrix identity(int n)
Make an identity matrix.- Parameters:
n- size
-
random
public static Matrix random(int row, int col, int seed)
Make a standard Gaussian random Matrix.- Parameters:
row- number of rowcol- number of columnseed- random seed
-
random
public static Matrix random(int row, int col)
Same as random(row, col, 1).
-
copy
public Matrix copy()
Copy the matrix.
-
transpose
public Matrix transpose()
Transpose: X'.
-
updateLinearConv
public void updateLinearConv(double a, double b, Matrix Y)Update by Linear conversion: X = a*X + b*Y.
-
multipliedBy
public Matrix multipliedBy(double a)
Scalar product: aX.
-
crossSqDistance
public Matrix crossSqDistance(Matrix Y)
Cross squared Euclidean distance Matrix: Z_{ij} = ||X_i - Y_j||^2
-
updateExp
public void updateExp()
Update by exponential : exp(X_{ij})
-
horizontalSum
public Matrix horizontalSum()
Make a horizontal-summation vector.
-
verticalSum
public Matrix verticalSum()
Make a vertical-summation vector.
-
sumEntries
public double sumEntries()
Summation of all entries.
-
sumSqrEntries
public double sumSqrEntries()
Summation of squared entries.
-
updateDivideByRowVector
public void updateDivideByRowVector(Matrix vec)
X_{ij} = X_{ij}/v_{j}.
-
diagonal
public Matrix diagonal()
If the matrix is a row or column vector, make a diagonal matrix from it. Otherwise extract its diagonal as a row vector.
-
eigenvalues
public Matrix eigenvalues(double eps, int lmax)
Make a row vector including the eigenvalues of the matrix.- Parameters:
eps- allowable absolute value of off-diagonal entries
-
-
DMelt 3.0 © DataMelt by jWork.ORG