Class BlockMatrixOps
- java.lang.Object
-
- org.ejml.alg.block.BlockMatrixOps
-
public class BlockMatrixOps extends java.lang.ObjectVarious operations onBlockMatrix64F.
-
-
Constructor Summary
Constructors Constructor and Description BlockMatrixOps()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static booleanblockAligned(int blockLength, D1Submatrix64F A)Checks to see if the submatrix has its boundaries along inner blocks.static voidcheckIdenticalShape(BlockMatrix64F A, BlockMatrix64F B)Checks to see if the two matrices have an identical shape an block size.static DenseMatrix64Fconvert(BlockMatrix64F src, DenseMatrix64F dst)Converts a row major block matrix into a row major matrix.static BlockMatrix64Fconvert(DenseMatrix64F A)static voidconvert(DenseMatrix64F src, BlockMatrix64F dst)Converts a row major matrix into a row major block matrix.static BlockMatrix64Fconvert(DenseMatrix64F A, int blockLength)static voidconvertBlockToRow(int numRows, int numCols, int blockLength, double[] data, double[] tmp)Converts matrix data stored is a block row major format into a row major format in place.static voidconvertRowToBlock(int numRows, int numCols, int blockLength, double[] data, double[] tmp)Converts matrix data stored is a row major format into a block row major format in place.static voidconvertTranSrc(DenseMatrix64F src, BlockMatrix64F dst)Converts the transpose of a row major matrix into a row major block matrix.static voidcopyTriangle(boolean upper, BlockMatrix64F src, BlockMatrix64F dst)Copies either the upper or lower triangular portion of src into dst.static BlockMatrix64FcreateRandom(int numRows, int numCols, double min, double max, java.util.Random rand)static BlockMatrix64FcreateRandom(int numRows, int numCols, double min, double max, java.util.Random rand, int blockLength)static voidextractAligned(BlockMatrix64F src, BlockMatrix64F dst)Extracts a matrix from src into dst.static BlockMatrix64Fidentity(int numRows, int numCols, int blockLength)Returns a new matrix with ones along the diagonal and zeros everywhere else.static booleanisEquals(BlockMatrix64F A, BlockMatrix64F B)static booleanisEquals(BlockMatrix64F A, BlockMatrix64F B, double tol)static voidmult(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)static voidmultTransA(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)static voidmultTransB(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)static voidset(BlockMatrix64F A, double value)Sets every element in the matrix to the specified value.
aij = valuestatic voidsetIdentity(BlockMatrix64F A)Sets the value of A to all zeros except along the diagonal.static BlockMatrix64Ftranspose(BlockMatrix64F A, BlockMatrix64F A_tran)Transposes a block matrix.static voidzeroTriangle(boolean upper, BlockMatrix64F A)Sets either the upper or low triangle of a matrix to zero
-
-
-
Method Detail
-
convert
public static void convert(DenseMatrix64F src, BlockMatrix64F dst)
Converts a row major matrix into a row major block matrix.- Parameters:
src- Original DenseMatrix64F. Not modified.dst- Equivalent BlockMatrix64F. Modified.
-
convertRowToBlock
public static void convertRowToBlock(int numRows, int numCols, int blockLength, double[] data, double[] tmp)Converts matrix data stored is a row major format into a block row major format in place.
- Parameters:
numRows- number of rows in the matrix.numCols- number of columns in the matrix.blockLength- Block size in the converted matrix.data- Matrix data in a row-major format. Modified.tmp- Temporary data structure that is to be the size of a block row.
-
convert
public static DenseMatrix64F convert(BlockMatrix64F src, DenseMatrix64F dst)
Converts a row major block matrix into a row major matrix.- Parameters:
src- Original BlockMatrix64F.. Not modified.dst- Equivalent DenseMatrix64F. Modified.
-
convertBlockToRow
public static void convertBlockToRow(int numRows, int numCols, int blockLength, double[] data, double[] tmp)Converts matrix data stored is a block row major format into a row major format in place.
- Parameters:
numRows- number of rows in the matrix.numCols- number of columns in the matrix.blockLength- Block size in the converted matrix.data- Matrix data in a block row-major format. Modified.tmp- Temporary data structure that is to be the size of a block row.
-
convertTranSrc
public static void convertTranSrc(DenseMatrix64F src, BlockMatrix64F dst)
Converts the transpose of a row major matrix into a row major block matrix.- Parameters:
src- Original DenseMatrix64F. Not modified.dst- Equivalent BlockMatrix64F. Modified.
-
mult
public static void mult(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)
-
multTransA
public static void multTransA(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)
-
multTransB
public static void multTransB(BlockMatrix64F A, BlockMatrix64F B, BlockMatrix64F C)
-
transpose
public static BlockMatrix64F transpose(BlockMatrix64F A, BlockMatrix64F A_tran)
Transposes a block matrix.- Parameters:
A- Original matrix. Not modified.A_tran- Transposed matrix. Modified.
-
createRandom
public static BlockMatrix64F createRandom(int numRows, int numCols, double min, double max, java.util.Random rand)
-
createRandom
public static BlockMatrix64F createRandom(int numRows, int numCols, double min, double max, java.util.Random rand, int blockLength)
-
convert
public static BlockMatrix64F convert(DenseMatrix64F A, int blockLength)
-
convert
public static BlockMatrix64F convert(DenseMatrix64F A)
-
isEquals
public static boolean isEquals(BlockMatrix64F A, BlockMatrix64F B)
-
isEquals
public static boolean isEquals(BlockMatrix64F A, BlockMatrix64F B, double tol)
-
zeroTriangle
public static void zeroTriangle(boolean upper, BlockMatrix64F A)Sets either the upper or low triangle of a matrix to zero
-
copyTriangle
public static void copyTriangle(boolean upper, BlockMatrix64F src, BlockMatrix64F dst)Copies either the upper or lower triangular portion of src into dst. Dst can be smaller than src.- Parameters:
upper- If the upper or lower triangle is copied.src- The source matrix. Not modified.dst- The destination matrix. Modified.
-
set
public static void set(BlockMatrix64F A, double value)
Sets every element in the matrix to the specified value.
aij = value- Parameters:
A- A matrix whose elements are about to be set. Modified.value- The value each element will have.
-
setIdentity
public static void setIdentity(BlockMatrix64F A)
Sets the value of A to all zeros except along the diagonal.
- Parameters:
A- Block matrix.
-
identity
public static BlockMatrix64F identity(int numRows, int numCols, int blockLength)
Returns a new matrix with ones along the diagonal and zeros everywhere else.
- Parameters:
numRows- Number of rows.numCols- NUmber of columns.blockLength- Block length.- Returns:
- An identify matrix.
-
checkIdenticalShape
public static void checkIdenticalShape(BlockMatrix64F A, BlockMatrix64F B)
Checks to see if the two matrices have an identical shape an block size.
- Parameters:
A- Matrix.B- Matrix.
-
extractAligned
public static void extractAligned(BlockMatrix64F src, BlockMatrix64F dst)
Extracts a matrix from src into dst. The submatrix which is copied has its initial coordinate at (0,0) and ends at (dst.numRows,dst.numCols). The end rows/columns must be aligned along blocks or else it will silently screw things up.
- Parameters:
src- Matrix which a submatrix is being extracted from. Not modified.dst- Where the submatrix is written to. Its rows and columns be less than or equal to 'src'. Modified.
-
blockAligned
public static boolean blockAligned(int blockLength, D1Submatrix64F A)Checks to see if the submatrix has its boundaries along inner blocks.- Parameters:
blockLength- Size of an inner block.A- Submatrix.- Returns:
- If it is block aligned or not.
-
-
DMelt 3.0 © DataMelt by jWork.ORG