Class BlockDenseDoubleMatrix2D
- java.lang.Object
-
- java.lang.Number
-
- org.ujmp.core.AbstractMatrix
-
- org.ujmp.core.genericmatrix.stub.AbstractGenericMatrix<T>
-
- org.ujmp.core.numbermatrix.stub.AbstractNumberMatrix<java.lang.Double>
-
- org.ujmp.core.doublematrix.stub.AbstractDoubleMatrix
-
- org.ujmp.core.doublematrix.stub.AbstractDoubleMatrix2D
-
- org.ujmp.core.doublematrix.stub.AbstractDenseDoubleMatrix2D
-
- org.ujmp.core.doublematrix.impl.BlockDenseDoubleMatrix2D
-
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, java.lang.Comparable<Matrix>, HasMetaData, BaseMatrix, BooleanCalculations, CanPerformCalculations, DenseMatrix, DenseMatrix2D, DenseMatrixMultiD, BaseDoubleMatrix, BasicDoubleCalculations, DoubleCalculations, BasicEntrywiseDoubleCalculations, CreatorDoubleCalculations, EntrywiseDoubleCalculations, HyperbolicDoubleCalculations, MiscEntrywiseDoubleCalculations, RoundingDoubleCalculations, TrigonometricDoubleCalculations, DecompositionDoubleCalculations, DiscretizeCalculations, GeneralDoubleCalculations, MiscGeneralDoubleCalculations, MissingValueDoubleCalculations, StatisticalDoubleCalculations, DenseDoubleMatrix, DenseDoubleMatrix2D, DenseDoubleMatrixMultiD, DoubleMatrix, DoubleMatrix2D, DoubleMatrixMultiD, SparseDoubleMatrix, SparseDoubleMatrix2D, SparseDoubleMatrixMultiD, BaseGenericMatrix<java.lang.Double>, DenseGenericMatrix<java.lang.Double>, DenseGenericMatrix2D<java.lang.Double>, DenseGenericMatrixMultiD<java.lang.Double>, GenericMatrix<java.lang.Double>, GenericMatrix2D<java.lang.Double>, GenericMatrixMultiD<java.lang.Double>, SparseGenericMatrix<java.lang.Double>, SparseGenericMatrix2D<java.lang.Double>, SparseGenericMatrixMultiD<java.lang.Double>, BaseMatrixProperties, Clearable, Conversions, CoordinateFunctions, CoreObject, DistanceMeasures, ExtendedMatrixProperties, GettersAndSetters, HasBlockDoubleArray2D, HasDescription, HasGUIObject, HasId, HasLabel, IntCalculations, Matrix, Matrix2D, MatrixMultiD, BaseNumberMatrix<java.lang.Double>, DenseNumberMatrix<java.lang.Double>, DenseNumberMatrix2D<java.lang.Double>, DenseNumberMatrixMultiD<java.lang.Double>, NumberMatrix<java.lang.Double>, NumberMatrix2D<java.lang.Double>, NumberMatrixMultiD<java.lang.Double>, SparseNumberMatrix<java.lang.Double>, SparseNumberMatrix2D<java.lang.Double>, SparseNumberMatrixMultiD<java.lang.Double>, ObjectCalculations, SparseMatrix, SparseMatrix2D, SparseMatrixMultiD, StringCalculations
public class BlockDenseDoubleMatrix2D extends AbstractDenseDoubleMatrix2D implements HasBlockDoubleArray2D
A dense 2D matrix with square block layout. The data in the matrix is re-organised as a block, tiled layout, which on modern CPUs with multiple caches reduces the number of cache misses, by providing better cache locality and cache temporality.Block Layout (example)
Example: a 4x4 matrix with block size 2x2 is internally re-organised into 4 separate blocks :
|(0,0) , (0, 1) | (0, 2) , (0, 3) |
|(1,0) , (1, 1) | (1, 2) , (1, 3) |
|----------------------------------
|(2,0) , (2, 1) | (2, 2) , (2, 3) |
|(3,0) , (3, 1) | (3, 2) , (3, 3) |
This can be described as a matrix of the following blocks:
| A | B |
| C | D |
Each block is mapped to a separate one-dimensional array. For example block A:
[ (0,0), (1,0), (0, 1), (1, 1)]This layout is similar to what's described in [ref: II fig. 4b].
Choice of block size:
The blocks may be square and can be configured by the user at runtime. However, matrix multiplication performance will be sensitive to the choice of block size, depending on the amount of CPU cache available on the system.
- See Also:
'Efficient Matrix Multiplication Using Cache Conscious Data Layouts'; Neungsoo Park, Wenheng Liuy, Viktor K. Prasanna, Cauligi Raghavendra; Department of Electrical Engineering{Systems), University of Southern California,'Tiling, Block Data Layout, and Memory Hierarchy Performance'; Neungsoo Park, Bo Hong, and Viktor K. Prasanna, Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.ujmp.core.doublematrix.DenseDoubleMatrix2D
Factory
-
Fields inherited from interface org.ujmp.core.Matrix
chol, divideMatrix, divideScalar, eig, inv, lu, minusMatrix, minusScalar, mtimes, plusMatrix, plusScalar, qr, solve, svd, timesMatrix, timesScalar, transpose
-
Fields inherited from interface org.ujmp.core.BaseMatrix
ALL, COLUMN, LINK, NEW, NONE, ORIG, ROW, X, Y, Z
-
Fields inherited from interface org.ujmp.core.annotation.HasMetaData
DIMENSIONMETADATA
-
Fields inherited from interface org.ujmp.core.interfaces.HasDescription
DESCRIPTION
-
Fields inherited from interface org.ujmp.core.doublematrix.DoubleMatrix
Factory
-
-
Constructor Summary
Constructors Constructor and Description BlockDenseDoubleMatrix2D(BlockDenseDoubleMatrix2D m)Constructor which takes an existing BlockMatrix to copy data and structure from.BlockDenseDoubleMatrix2D(double[][] values)BlockDenseDoubleMatrix2D(double[][] values, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)Create a block matrix from a jagged array.BlockDenseDoubleMatrix2D(int rows, int cols)Create a new matrix with the specified size, and specified block stripe size.BlockDenseDoubleMatrix2D(int rows, int cols, BlockMatrixLayout.BlockOrder blockOrder)Create a new matrix with the given size (rows, cols) and block layout.BlockDenseDoubleMatrix2D(int rows, int cols, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)Create a new matrix with the specified size, and specified block stripe size.BlockDenseDoubleMatrix2D(Matrix m)Constructor which takes an existing Matrix to copy data and structure from.BlockDenseDoubleMatrix2D(Matrix m, int blockStripeSize)Constructor which takes a Matrix and a proposed default block stripe size.BlockDenseDoubleMatrix2D(Matrix m, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)Constructor which takes a Matrix and a proposed default block stripe size.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description BlockDenseDoubleMatrix2Dclone()Matrixdivide(double value)Divides every entry in the matrix by a scalar.Matrixdivide(Matrix value)Calculates an entrywise division of the two matrices.voidfill(double[][] data)voidfill(double[][] data, int startRow, int startCol)Populate matrix with given data.double[][]getBlockDoubleArray2D()BlockMatrixLayoutgetBlockLayout()intgetBlockStripeSize()doublegetDouble(int row, int col)doublegetDouble(long row, long column)Matrixminus(double value)Subtracts a specified value from all entries in the matrix.Matrixminus(Matrix value)Calculates the difference of the entries in both matricesMatrixmtimes(Matrix m2)Shortcut to create a BlockMatrix for targetMatrixplus(double value)Adds a specified value to all entries in the matrix.Matrixplus(Matrix value)Calculates the sum of the entries in both matricesBlockMatrixLayout.BlockOrdersetBlockOrder(BlockMatrixLayout.BlockOrder order)Change layout of blocks in this matrix (e.g.voidsetDouble(double value, int row, int column)voidsetDouble(double value, long row, long column)Matrixtimes(double value)Multiplies every entry in the matrix with a scalar.Matrixtimes(Matrix value)Calculates the entrywise product of the two matrices.Matrixtranspose()Returns the transpose of the current matrix.Matrixtranspose(Calculation.Ret returnType)Returns the transpose of the Matrix, where rows and columns are exchanged.-
Methods inherited from class org.ujmp.core.doublematrix.stub.AbstractDenseDoubleMatrix2D
availableCoordinates, clear, containsCoordinates, getAsDouble, getAsDouble, getDimensionCount, getObject, getObject, isSparse, setAsDouble, setAsDouble, setObject, setObject
-
Methods inherited from class org.ujmp.core.doublematrix.stub.AbstractDoubleMatrix2D
getDouble, setDouble
-
Methods inherited from class org.ujmp.core.doublematrix.stub.AbstractDoubleMatrix
getAsDouble, getNumber, getObject, getValueType, setAsDouble, setNumber, setObject
-
Methods inherited from class org.ujmp.core.genericmatrix.stub.AbstractGenericMatrix
getAsObject, setAsObject
-
Methods inherited from class org.ujmp.core.AbstractMatrix
abs, addMissing, allCoordinates, allValues, and, and, append, appendHorizontally, appendVertically, atimes, bigDecimalValue, bigIntegerValue, booleanValue, bootstrap, bootstrap, ceil, center, charValue, chebyshevDistanceTo, chol, compareTo, containsBigDecimal, containsBigInteger, containsBoolean, containsByte, containsChar, containsDate, containsDouble, containsFloat, containsInt, containsLong, containsMissingValues, containsNull, containsObject, containsShort, containsString, convert, convertEncoding, corrcoef, cos, cosh, cosineSimilarity, cosineSimilarityTo, countMissing, cov, cumprod, cumsum, dateValue, delete, delete, delete, deleteColumns, deleteColumns, deleteColumnsWithMissingValues, deleteRows, deleteRows, deleteRowsWithMissingValues, det, diag, diff, discretize, discretize, discretizeToBoolean, discretizeToColumns, divide, divide, doubleValue, eig, eigSymm, eq, eq, equals, equalsAnnotation, equalsContent, euklideanDistance, euklideanDistanceTo, exp, exportTo, extractAnnotation, eye, fadeIn, fadeOut, fill, fireValueChanged, fireValueChanged, fireValueChanged, flipdim, floatValue, floor, ge, ge, getAbsoluteValueMean, getAbsoluteValueSum, getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsByteArray, getAsChar, getAsDate, getAsFloat, getAsInt, getAsLong, getAsMatrix, getAsShort, getAsString, getColumnCount, getColumnForLabel, getColumnLabel, getColumnList, getCoordinatesOfMaximum, getCoordinatesOfMinimum, getCoreObjectId, getDescription, getDimensionLabel, getDimensionMetaData, getEuklideanValue, getFactory, getGUIObject, getId, getLabel, getLabelObject, getMaxValue, getMeanValue, getMetaData, getMetaData, getMetaDataDimensionMatrix, getMetaDataDouble, getMetaDataMatrix, getMetaDataString, getMinValue, getPositionForLabel, getPreferredObject, getRMS, getRowCount, getRowForLabel, getRowLabel, getRowList, getSize, getSize, getStdValue, getValueCount, getValueSum, getZCount, ginv, grayScale, gt, gt, importFrom, impute, includeAnnotation, indexOfMax, indexOfMin, intValue, inv, invSPD, invSymm, isColumnVector, isDiagonal, isEmpty, isMultidimensionalMatrix, isReadOnly, isResizable, isRowVector, isScalar, isSingular, isSPD, isSquare, isSymmetric, isTransient, le, le, log, log10, log2, logistic, longValue, lowerCase, lt, lt, lu, manhattenDistance, manhattenDistanceTo, max, mean, min, minkowskiDistance, minkowskiDistanceTo, minus, minus, mtimes, mutualInf, nans, ne, ne, nonZeroCoordinates, norm1, norm2, normalize, normF, normInf, not, ones, or, or, pairedTTest, pdet, pinv, pinv, plus, plus, power, power, princomp, prod, qr, rand, randn, rank, removePunctuation, removeWords, replace, replaceMissingBy, replaceRegex, replaceRegex, reshape, round, save, save, select, select, select, selectColumns, selectColumns, selectedCoordinates, selectedCoordinates, selectRows, selectRows, setAsBigDecimal, setAsBigInteger, setAsBoolean, setAsByte, setAsByteArray, setAsChar, setAsDate, setAsFloat, setAsInt, setAsLong, setAsMatrix, setAsShort, setAsString, setColumnLabel, setContent, setDescription, setDimensionLabel, setDimensionMetaData, setId, setLabel, setMetaData, setMetaData, setMetaDataDimensionMatrix, setRowLabel, setSize, share, share, showGUI, shuffle, sign, sin, sinh, solve, solveSPD, solveSymm, sortrows, sqrt, squeeze, standardize, std, stem, stringValue, subMatrix, sum, svd, svd, swap, tan, tanh, tanh, tfIdf, times, times, toBigDecimalArray, toBigDecimalMatrix, toBigIntegerArray, toBigIntegerMatrix, toBooleanArray, toBooleanMatrix, toByteArray, toByteMatrix, toCharArray, toCharMatrix, toColumnVector, toDateArray, toDoubleArray, toDoubleMatrix, toFloatArray, toFloatMatrix, toHtml, toIntArray, toIntMatrix, toListMatrix, toLongArray, toLongMatrix, toMapMatrix, toObjectArray, toObjectMatrix, toRowVector, toSetMatrix, toShortArray, toShortMatrix, toString, toStringArray, toStringMatrix, trace, translate, transpose, tril, triu, unique, uniqueValueCount, upperCase, var, xor, xor, zeros
-
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.ujmp.core.Matrix
exportTo, fireValueChanged, fireValueChanged, fireValueChanged, importFrom, save, save, share, share, toHtml
-
Methods inherited from interface org.ujmp.core.BaseMatrix
getFactory
-
Methods inherited from interface org.ujmp.core.interfaces.BaseMatrixProperties
allValues, equals, equalsAnnotation, equalsContent, getColumnCount, getColumnList, getRowCount, getRowList, getSize, getSize, getValueCount, getValueType, getZCount, isColumnVector, isDiagonal, isEmpty, isMultidimensionalMatrix, isReadOnly, isResizable, isRowVector, isScalar, isSingular, isSquare, isSymmetric, isTransient, setSize, toString
-
Methods inherited from interface org.ujmp.core.interfaces.CoreObject
getCoreObjectId
-
Methods inherited from interface org.ujmp.core.interfaces.HasGUIObject
getGUIObject, showGUI
-
Methods inherited from interface org.ujmp.core.interfaces.CoordinateFunctions
allCoordinates, getCoordinatesOfMaximum, getCoordinatesOfMinimum, nonZeroCoordinates, selectedCoordinates, selectedCoordinates
-
Methods inherited from interface org.ujmp.core.interfaces.GettersAndSetters
getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsByteArray, getAsChar, getAsDate, getAsDouble, getAsFloat, getAsInt, getAsLong, getAsMatrix, getAsObject, getAsShort, getAsString, getPreferredObject, setAsBigDecimal, setAsBigInteger, setAsBoolean, setAsByte, setAsByteArray, setAsChar, setAsDate, setAsDouble, setAsFloat, setAsInt, setAsLong, setAsMatrix, setAsObject, setAsShort, setAsString, toBigDecimalArray, toBigIntegerArray, toBooleanArray, toByteArray, toCharArray, toDateArray, toDoubleArray, toFloatArray, toIntArray, toLongArray, toObjectArray, toShortArray, toStringArray
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.basic.BasicDoubleCalculations
atimes, divide, divide, minus, minus, mtimes, plus, plus, times, times
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.basic.BasicEntrywiseDoubleCalculations
abs, exp, log, log10, log2, logistic, power, power, sign, sqrt
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.rounding.RoundingDoubleCalculations
ceil, floor, round
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.hyperbolic.HyperbolicDoubleCalculations
cosh, sinh, tanh, tanh
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.trigonometric.TrigonometricDoubleCalculations
cos, sin, tan
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.creators.CreatorDoubleCalculations
eye, nans, ones, rand, randn, zeros
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.entrywise.misc.MiscEntrywiseDoubleCalculations
grayScale
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.statistical.StatisticalDoubleCalculations
corrcoef, cov, cumprod, cumsum, diff, indexOfMax, indexOfMin, max, mean, min, mutualInf, pairedTTest, prod, std, sum, var
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.decomposition.DecompositionDoubleCalculations
chol, eig, eigSymm, ginv, inv, invSPD, invSymm, lu, pinv, pinv, princomp, qr, solve, solveSPD, solveSymm, svd, svd
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.missingvalues.MissingValueDoubleCalculations
addMissing, countMissing, deleteColumnsWithMissingValues, deleteRowsWithMissingValues, impute
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.misc.MiscGeneralDoubleCalculations
append, appendHorizontally, appendVertically, center, fadeIn, fadeOut, normalize, replaceMissingBy, standardize
-
Methods inherited from interface org.ujmp.core.doublematrix.calculation.general.discretize.DiscretizeCalculations
discretize, discretize, discretizeToBoolean, discretizeToColumns
-
Methods inherited from interface org.ujmp.core.booleanmatrix.calculation.BooleanCalculations
and, and, eq, eq, ge, ge, gt, gt, le, le, lt, lt, ne, ne, not, or, or, xor, xor
-
Methods inherited from interface org.ujmp.core.stringmatrix.calculation.StringCalculations
convertEncoding, lowerCase, removePunctuation, removeWords, replaceRegex, replaceRegex, stem, tfIdf, translate, upperCase
-
Methods inherited from interface org.ujmp.core.objectmatrix.calculation.ObjectCalculations
bootstrap, bootstrap, convert, delete, delete, delete, deleteColumns, deleteColumns, deleteRows, deleteRows, diag, extractAnnotation, fill, flipdim, includeAnnotation, replace, reshape, select, select, select, selectColumns, selectColumns, selectRows, selectRows, shuffle, sortrows, squeeze, subMatrix, swap, toColumnVector, toRowVector, transpose, tril, triu, unique, uniqueValueCount
-
Methods inherited from interface org.ujmp.core.interfaces.DistanceMeasures
chebyshevDistanceTo, cosineSimilarity, cosineSimilarityTo, euklideanDistance, euklideanDistanceTo, manhattenDistance, manhattenDistanceTo, minkowskiDistance, minkowskiDistanceTo
-
Methods inherited from interface org.ujmp.core.annotation.HasMetaData
getColumnForLabel, getColumnLabel, getDimensionLabel, getDimensionMetaData, getMetaData, getMetaData, getMetaDataDimensionMatrix, getMetaDataDouble, getMetaDataMatrix, getMetaDataString, getPositionForLabel, getRowForLabel, getRowLabel, setColumnLabel, setDimensionLabel, setDimensionMetaData, setMetaData, setMetaData, setMetaDataDimensionMatrix, setRowLabel
-
Methods inherited from interface org.ujmp.core.interfaces.HasLabel
getLabel, getLabelObject, setLabel
-
Methods inherited from interface org.ujmp.core.interfaces.HasDescription
getDescription, setDescription
-
Methods inherited from interface org.ujmp.core.interfaces.Conversions
toBigDecimalMatrix, toBigIntegerMatrix, toBooleanMatrix, toByteMatrix, toCharMatrix, toDoubleMatrix, toFloatMatrix, toIntMatrix, toListMatrix, toLongMatrix, toMapMatrix, toObjectMatrix, toSetMatrix, toShortMatrix, toStringMatrix
-
Methods inherited from interface org.ujmp.core.interfaces.ExtendedMatrixProperties
bigDecimalValue, bigIntegerValue, booleanValue, byteValue, charValue, containsBigDecimal, containsBigInteger, containsBoolean, containsByte, containsChar, containsDate, containsDouble, containsFloat, containsInt, containsLong, containsMissingValues, containsNull, containsObject, containsShort, containsString, dateValue, det, doubleValue, floatValue, getAbsoluteValueMean, getAbsoluteValueSum, getEuklideanValue, getMaxValue, getMeanValue, getMinValue, getRMS, getStdValue, getValueSum, intValue, isSPD, longValue, norm1, norm2, normF, normInf, pdet, rank, setContent, shortValue, stringValue, trace
-
-
-
-
Constructor Detail
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(double[][] values)
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(double[][] values, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)Create a block matrix from a jagged array.
All rows of the values array must have the same length.- Parameters:
values- - the data to populate the matrix with.blockStripeSize- - length of one side of a blockblockOrder- - seeBlockMatrixLayout.BlockOrder.- Throws:
java.lang.NullPointerException- if values is null, or values[0] is null.java.lang.ArrayIndexOutOfBoundsException- if any row is shorter than the first row.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(int rows, int cols, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)Create a new matrix with the specified size, and specified block stripe size.- Parameters:
rows- - number of rows of the matrix.cols- - number of columns of the matrix.blockStripeSize- - length of one side of a square block.- Throws:
java.lang.IllegalArgumentException- if rows, cols or blockStripeSize are 0 or less, or blockOrder is null.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(int rows, int cols, BlockMatrixLayout.BlockOrder blockOrder)Create a new matrix with the given size (rows, cols) and block layout.- See Also:
#BlockMatrix(int, int)
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(int rows, int cols)Create a new matrix with the specified size, and specified block stripe size.- Parameters:
rows- - number of rows of the matrix.cols- - number of columns of the matrix.- Throws:
java.lang.IllegalArgumentException- if rows, cols are 0 or less.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(Matrix m)
Constructor which takes an existing Matrix to copy data and structure from.
Block stripe size will be defaulted internally.- Parameters:
m- - matrix to copy data from.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(BlockDenseDoubleMatrix2D m)
Constructor which takes an existing BlockMatrix to copy data and structure from.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(Matrix m, int blockStripeSize)
Constructor which takes a Matrix and a proposed default block stripe size.- Parameters:
m- - matrix containing existing values.blockStripeSize- - proposed default block size.
-
BlockDenseDoubleMatrix2D
public BlockDenseDoubleMatrix2D(Matrix m, int blockStripeSize, BlockMatrixLayout.BlockOrder blockOrder)
Constructor which takes a Matrix and a proposed default block stripe size.- Parameters:
m- - matrix containing existing values.blockStripeSize- - proposed default block size.blockOrder- row major or column major
-
-
Method Detail
-
fill
public void fill(double[][] data)
- See Also:
fill(double[][], int, int)
-
fill
public void fill(double[][] data, int startRow, int startCol)Populate matrix with given data.- Parameters:
data- - to fill into matrixstartRow- - row to start filling in data atstartCol- - col to start at
-
getBlockLayout
public final BlockMatrixLayout getBlockLayout()
- Returns:
BlockMatrixLayoutof this matrix.
-
getBlockStripeSize
public final int getBlockStripeSize()
- Returns:
- blockSize of this matrix.
-
getDouble
public double getDouble(int row, int col)- Specified by:
getDoublein interfaceDoubleMatrix2D
-
getDouble
public double getDouble(long row, long column)- Specified by:
getDoublein interfaceDoubleMatrix2D
-
mtimes
public Matrix mtimes(Matrix m2)
Shortcut to create a BlockMatrix for target- Specified by:
mtimesin interfaceBasicDoubleCalculations- Overrides:
mtimesin classAbstractDenseDoubleMatrix2D- Parameters:
m2- the second matrix- Returns:
- Matrix product
-
setDouble
public void setDouble(double value, int row, int column)- Specified by:
setDoublein interfaceDoubleMatrix2D
-
setDouble
public void setDouble(double value, long row, long column)- Specified by:
setDoublein interfaceDoubleMatrix2D
-
transpose
public Matrix transpose()
Returns the transpose of the current matrix.- Specified by:
transposein interfaceObjectCalculations- Overrides:
transposein classAbstractDenseDoubleMatrix2D- Returns:
- transpose of this matrix.
-
clone
public BlockDenseDoubleMatrix2D clone()
- Specified by:
clonein interfaceCoreObject- Specified by:
clonein interfaceMatrix- Overrides:
clonein classAbstractMatrix
-
transpose
public Matrix transpose(Calculation.Ret returnType)
Description copied from interface:ObjectCalculationsReturns the transpose of the Matrix, where rows and columns are exchanged. This works also if the Matrix has more than two dimensions.- Specified by:
transposein interfaceObjectCalculations- Overrides:
transposein classAbstractMatrix- Parameters:
returnType- Defines if a new Matrix or a link should be returned.- Returns:
- transposed Matrix.
-
getBlockDoubleArray2D
public final double[][] getBlockDoubleArray2D()
- Specified by:
getBlockDoubleArray2Din interfaceHasBlockDoubleArray2D
-
plus
public Matrix plus(double value)
Description copied from interface:BasicDoubleCalculationsAdds a specified value to all entries in the matrix.- Specified by:
plusin interfaceBasicDoubleCalculations- Overrides:
plusin classAbstractDenseDoubleMatrix2D- Parameters:
value- the value to add- Returns:
- Matrix with the entries plus the value
-
plus
public Matrix plus(Matrix value)
Description copied from interface:BasicDoubleCalculationsCalculates the sum of the entries in both matrices- Specified by:
plusin interfaceBasicDoubleCalculations- Overrides:
plusin classAbstractDenseDoubleMatrix2D- Parameters:
value- The matrix to add- Returns:
- matrix with sum values
-
minus
public Matrix minus(Matrix value)
Description copied from interface:BasicDoubleCalculationsCalculates the difference of the entries in both matrices- Specified by:
minusin interfaceBasicDoubleCalculations- Overrides:
minusin classAbstractDenseDoubleMatrix2D- Parameters:
value- The matrix to subtract- Returns:
- matrix with difference values
-
times
public Matrix times(Matrix value)
Description copied from interface:BasicDoubleCalculationsCalculates the entrywise product of the two matrices.- Specified by:
timesin interfaceBasicDoubleCalculations- Overrides:
timesin classAbstractDenseDoubleMatrix2D- Parameters:
value- the second matrix- Returns:
- matrix with product of all entries
-
divide
public Matrix divide(Matrix value)
Description copied from interface:BasicDoubleCalculationsCalculates an entrywise division of the two matrices.- Specified by:
dividein interfaceBasicDoubleCalculations- Overrides:
dividein classAbstractDenseDoubleMatrix2D- Parameters:
value- the second matrix- Returns:
- matrix with all entries divided by the second matrix's entry.
-
minus
public Matrix minus(double value)
Description copied from interface:BasicDoubleCalculationsSubtracts a specified value from all entries in the matrix.- Specified by:
minusin interfaceBasicDoubleCalculations- Overrides:
minusin classAbstractDenseDoubleMatrix2D- Parameters:
value- the value to subtract- Returns:
- Matrix with the entries minus the value
-
times
public Matrix times(double value)
Description copied from interface:BasicDoubleCalculationsMultiplies every entry in the matrix with a scalar.- Specified by:
timesin interfaceBasicDoubleCalculations- Overrides:
timesin classAbstractDenseDoubleMatrix2D- Parameters:
value- factor to multiply with- Returns:
- Matrix with all entries multiplied by a factor.
-
divide
public Matrix divide(double value)
Description copied from interface:BasicDoubleCalculationsDivides every entry in the matrix by a scalar.- Specified by:
dividein interfaceBasicDoubleCalculations- Overrides:
dividein classAbstractDenseDoubleMatrix2D- Parameters:
value- factor by which to divide- Returns:
- Matrix with all entries divided by a factor.
-
setBlockOrder
public BlockMatrixLayout.BlockOrder setBlockOrder(BlockMatrixLayout.BlockOrder order)
Change layout of blocks in this matrix (e.g. switch form rowmajor to columnmajor).- Parameters:
order- - new block layout order.- Returns:
- old BlockOrder.
-
-
DataMelt 3.0 © DataMelt by jWork.ORG