Uses of Class
org.ejml.data.FSubmatrixD1
Packages that use FSubmatrixD1
Package
Description
-
Uses of FSubmatrixD1 in org.ejml.dense.block
Methods in org.ejml.dense.block with parameters of type FSubmatrixD1Modifier and TypeMethodDescriptionstatic voidVectorOps_FDRB.add_row(int blockLength, FSubmatrixD1 A, int rowA, float alpha, FSubmatrixD1 B, int rowB, float beta, FSubmatrixD1 C, int rowC, int offset, int end) Row vector add:
add: ci = α*ai + βBi
where 'a', 'b', and 'c' are row vectors within the row block vectors of A, B, and C respectively.static booleanMatrixOps_FDRB.blockAligned(int blockLength, FSubmatrixD1 A) Checks to see if the submatrix has its boundaries along inner blocks.static voidVectorOps_FDRB.div_row(int blockLength, FSubmatrixD1 A, int rowA, float alpha, FSubmatrixD1 B, int rowB, int offset, int end) Row vector divide:
div: bi = ai/α
where 'a' and 'b' are row vectors within the row block vector A and B.static floatVectorOps_FDRB.dot_row(int blockLength, FSubmatrixD1 A, int rowA, FSubmatrixD1 B, int rowB, int offset, int end) Row vector dot/inner product:
dot: c = sum ai*bi
where 'a' and 'b' are row vectors within the row block vector A and B, and 'c' is a scalar.static floatVectorOps_FDRB.dot_row_col(int blockLength, FSubmatrixD1 A, int rowA, FSubmatrixD1 B, int colB, int offset, int end) vector dot/inner product from one row vector and one column vector:
dot: c = sum ai*bi
where 'a' is a row vector 'b' is a column vectors within the row block vector A and B, and 'c' is a scalar.static voidTriangularSolver_FDRB.invert(int blockLength, boolean upper, FSubmatrixD1 T, @Nullable GrowArray<FGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static voidTriangularSolver_FDRB.invert(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 T_inv, @Nullable GrowArray<FGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static voidTriangularSolver_MT_FDRB.invert(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 T_inv, @Nullable GrowArray<FGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static voidMatrixMult_FDRB.mult(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.mult(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multMinus(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multMinus(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multMinusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multMinusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multPlus(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multPlus(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multPlusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multPlusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_FDRB.multTransB(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidMatrixMult_MT_FDRB.multTransB(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) static voidInnerRankUpdate_FDRB.rankNUpdate(int blockLength, float alpha, FSubmatrixD1 A, FSubmatrixD1 B) Performs:
A = A + α B TBstatic voidInnerRankUpdate_MT_FDRB.rankNUpdate(int blockLength, float alpha, FSubmatrixD1 A, FSubmatrixD1 B) Performs:
A = A + α B TBstatic voidVectorOps_FDRB.scale_row(int blockLength, FSubmatrixD1 A, int rowA, float alpha, FSubmatrixD1 B, int rowB, int offset, int end) Row vector scale:
scale: bi = α*ai
where 'a' and 'b' are row vectors within the row block vector A and B.static voidTriangularSolver_FDRB.solve(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 B, boolean transT) Performs an in-place solve operation on the provided block aligned sub-matrices.
B = T-1 B
where T is a triangular matrix.static voidTriangularSolver_MT_FDRB.solve(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 B, boolean transT) Performs an in-place solve operation on the provided block aligned sub-matrices.
B = T-1 B
where T is a triangular matrix.static voidTriangularSolver_FDRB.solveBlock(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 B, boolean transT, boolean transB) Performs an in-place solve operation where T is contained in a single block.
B = T-1 B
where T is a triangular matrix contained in an inner block.static voidTriangularSolver_MT_FDRB.solveBlock(int blockLength, boolean upper, FSubmatrixD1 T, FSubmatrixD1 B, boolean transT, boolean transB) Performs an in-place solve operation where T is contained in a single block.
B = T-1 B
where T is a triangular matrix contained in an inner block.static voidTriangularSolver_FDRB.solveL(int blockLength, FSubmatrixD1 L, FSubmatrixD1 B, boolean transL) Solves lower triangular systems:
B = L-1 B
static voidTriangularSolver_MT_FDRB.solveL(int blockLength, FSubmatrixD1 L, FSubmatrixD1 B, boolean transL) Solves lower triangular systems:
B = L-1 B
static voidTriangularSolver_FDRB.solveR(int blockLength, FSubmatrixD1 R, FSubmatrixD1 B, boolean transR) Solves upper triangular systems:
B = R-1 B
static voidTriangularSolver_MT_FDRB.solveR(int blockLength, FSubmatrixD1 R, FSubmatrixD1 B, boolean transR) Solves upper triangular systems:
B = R-1 B
static voidInnerRankUpdate_FDRB.symmRankNMinus_L(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B) Rank N update function for a symmetric inner submatrix and only operates on the lower triangular portion of the submatrix.
A = A - B*BTstatic voidInnerRankUpdate_MT_FDRB.symmRankNMinus_L(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B) Rank N update function for a symmetric inner submatrix and only operates on the lower triangular portion of the submatrix.
A = A - B*BTstatic voidInnerRankUpdate_FDRB.symmRankNMinus_U(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B) Rank N update function for a symmetric inner submatrix and only operates on the upper triangular portion of the submatrix.
A = A - B TBstatic voidInnerRankUpdate_MT_FDRB.symmRankNMinus_U(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B) Rank N update function for a symmetric inner submatrix and only operates on the upper triangular portion of the submatrix.
A = A - B TB -
Uses of FSubmatrixD1 in org.ejml.dense.block.decomposition.bidiagonal
Methods in org.ejml.dense.block.decomposition.bidiagonal with parameters of type FSubmatrixD1Modifier and TypeMethodDescriptionstatic booleanBidiagonalHelper_FDRB.bidiagOuterBlocks(int blockLength, FSubmatrixD1 A, float[] gammasU, float[] gammasV) Performs a standard bidiagonal decomposition just on the outer blocks of the provided matrix -
Uses of FSubmatrixD1 in org.ejml.dense.block.decomposition.chol
Methods in org.ejml.dense.block.decomposition.chol with parameters of type FSubmatrixD1Modifier and TypeMethodDescriptionstatic booleanInnerCholesky_FDRB.lower(FSubmatrixD1 T) static booleanInnerCholesky_FDRB.upper(FSubmatrixD1 T) -
Uses of FSubmatrixD1 in org.ejml.dense.block.decomposition.hessenberg
Methods in org.ejml.dense.block.decomposition.hessenberg with parameters of type FSubmatrixD1Modifier and TypeMethodDescriptionstatic voidTridiagonalHelper_FDRB.applyReflectorsToRow(int blockLength, FSubmatrixD1 A, FSubmatrixD1 V, int row) Applies the reflectors that have been computed previously to the specified row.static voidTridiagonalHelper_FDRB.computeRowOfV(int blockLength, FSubmatrixD1 A, FSubmatrixD1 V, int row, float gamma) Final computation for a single row of 'v':
v = y -(1/2)γ(y^T*u)*ustatic voidTridiagonalHelper_FDRB.computeV_blockVector(int blockLength, FSubmatrixD1 A, float[] gammas, FSubmatrixD1 V) Given an already computed tridiagonal decomposition, compute the V row block vector.
y(:) = A*u
v(i) = y - (1/2)*γ*(y^T*u)*ustatic voidTridiagonalHelper_FDRB.computeW_row(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, float[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the row block submatrix Y.static voidTridiagonalHelper_FDRB.computeY(int blockLength, FSubmatrixD1 A, FSubmatrixD1 V, int row, float gamma) Computes the 'y' vector and stores the result in 'v'
y = -γ(A + U*V^T + V*U^T)ustatic floatTridiagonalHelper_FDRB.innerProdRowSymm(int blockLength, FSubmatrixD1 A, int rowA, FSubmatrixD1 B, int rowB, int zeroOffset) static voidTridiagonalHelper_FDRB.multA_u(int blockLength, FSubmatrixD1 A, FSubmatrixD1 V, int row) Multiples the appropriate submatrix of A by the specified reflector and stores the result ('y') in V.
y = A*ustatic voidTridiagonalDecompositionHouseholder_FDRB.multPlusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) C = C + A^T*Bstatic voidTridiagonalDecompositionHouseholder_MT_FDRB.multPlusTransA(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) C = C + A^T*Bstatic voidTridiagonalHelper_FDRB.tridiagUpperRow(int blockLength, FSubmatrixD1 A, float[] gammas, FSubmatrixD1 V) Performs a tridiagonal decomposition on the upper row only. -
Uses of FSubmatrixD1 in org.ejml.dense.block.decomposition.qr
Methods in org.ejml.dense.block.decomposition.qr with parameters of type FSubmatrixD1Modifier and TypeMethodDescriptionstatic voidBlockHouseHolder_FDRB.add_row(int blockLength, FSubmatrixD1 A, int rowA, float alpha, FSubmatrixD1 B, int rowB, float beta, FSubmatrixD1 C, int rowC, int zeroOffset, int end) static voidBlockHouseHolder_MT_FDRB.add_row(int blockLength, FSubmatrixD1 A, int rowA, float alpha, FSubmatrixD1 B, int rowB, float beta, FSubmatrixD1 C, int rowC, int zeroOffset, int end) static booleanBlockHouseHolder_FDRB.computeHouseHolderCol(int blockLength, FSubmatrixD1 Y, float[] gamma, int i) Computes the householder vector that is used to create reflector for the column.static booleanBlockHouseHolder_MT_FDRB.computeHouseHolderCol(int blockLength, FSubmatrixD1 Y, float[] gamma, int i) Computes the householder vector that is used to create reflector for the column.static booleanBlockHouseHolder_FDRB.computeHouseHolderRow(int blockLength, FSubmatrixD1 Y, float[] gamma, int i) Computes the householder vector from the specified rowstatic booleanBlockHouseHolder_MT_FDRB.computeHouseHolderRow(int blockLength, FSubmatrixD1 Y, float[] gamma, int i) Computes the householder vector from the specified rowstatic floatBlockHouseHolder_FDRB.computeTauAndDivideCol(int blockLength, FSubmatrixD1 Y, int col, float max) From the specified column of Y tau is computed and each element is divided by 'max'.static floatBlockHouseHolder_MT_FDRB.computeTauAndDivideCol(int blockLength, FSubmatrixD1 Y, int col, float max) From the specified column of Y tau is computed and each element is divided by 'max'.static floatBlockHouseHolder_FDRB.computeTauAndDivideRow(int blockLength, FSubmatrixD1 Y, int row, int colStart, float max) From the specified row of Y tau is computed and each element is divided by 'max'.static floatBlockHouseHolder_MT_FDRB.computeTauAndDivideRow(int blockLength, FSubmatrixD1 Y, int row, int colStart, float max) From the specified row of Y tau is computed and each element is divided by 'max'.static voidBlockHouseHolder_FDRB.computeW_Column(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, @Nullable GrowArray<FGrowArray> workspace, float[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the column block submatrix Y.static voidBlockHouseHolder_MT_FDRB.computeW_Column(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, @Nullable GrowArray<FGrowArray> workspace, float[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the column block submatrix Y.static voidBlockHouseHolder_FDRB.computeY_t_V(int blockLength, FSubmatrixD1 Y, int col, float[] temp) Computes YTv(j).static voidBlockHouseHolder_MT_FDRB.computeY_t_V(int blockLength, FSubmatrixD1 Y, int col, float[] temp) Computes YTv(j).static voidBlockHouseHolder_FDRB.computeZ(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, int col, float[] temp, float beta) Computes the vector z and inserts it into 'W':
z = - βj*(Vj + W*h)
where h is a vector of length 'col' and was computed usingBlockHouseHolder_FDRB.computeY_t_V(int, org.ejml.data.FSubmatrixD1, int, float[]).static voidBlockHouseHolder_MT_FDRB.computeZ(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, int col, float[] temp, float beta) Computes the vector z and inserts it into 'W':
z = - βj*(Vj + W*h)
where h is a vector of length 'col' and was computed usingBlockHouseHolder_MT_FDRB.computeY_t_V(int, org.ejml.data.FSubmatrixD1, int, float[]).static booleanBlockHouseHolder_FDRB.decomposeQR_block_col(int blockLength, FSubmatrixD1 Y, float[] gamma) Performs a standard QR decomposition on the specified submatrix that is one block wide.static booleanBlockHouseHolder_MT_FDRB.decomposeQR_block_col(int blockLength, FSubmatrixD1 Y, float[] gamma) Performs a standard QR decomposition on the specified submatrix that is one block wide.static voidBlockHouseHolder_FDRB.divideElementsCol(int blockLength, FSubmatrixD1 Y, int col, float val) Divides the elements at the specified column by 'val'.static voidBlockHouseHolder_MT_FDRB.divideElementsCol(int blockLength, FSubmatrixD1 Y, int col, float val) Divides the elements at the specified column by 'val'.static floatBlockHouseHolder_FDRB.findMaxCol(int blockLength, FSubmatrixD1 Y, int col) Finds the element in the column with the largest absolute value.static floatBlockHouseHolder_MT_FDRB.findMaxCol(int blockLength, FSubmatrixD1 Y, int col) Finds the element in the column with the largest absolute value.static floatBlockHouseHolder_FDRB.findMaxRow(int blockLength, FSubmatrixD1 Y, int row, int colStart) Finds the element in the column with the largest absolute value.static floatBlockHouseHolder_MT_FDRB.findMaxRow(int blockLength, FSubmatrixD1 Y, int row, int colStart) Finds the element in the column with the largest absolute value.static voidBlockHouseHolder_FDRB.initializeW(int blockLength, FSubmatrixD1 W, FSubmatrixD1 Y, int widthB, float b) Sets W to its initial value using the first column of 'y' and the value of 'b':
W = -βv
where v = Y(:,0).static voidBlockHouseHolder_MT_FDRB.initializeW(int blockLength, FSubmatrixD1 W, FSubmatrixD1 Y, int widthB, float b) Sets W to its initial value using the first column of 'y' and the value of 'b':
W = -βv
where v = Y(:,0).static floatBlockHouseHolder_FDRB.innerProdCol(int blockLength, FSubmatrixD1 A, int colA, int widthA, int colB, int widthB) Computes the inner product of column vector 'colA' against column vector 'colB' while taking account leading zeros and one.
ret = aT*bstatic floatBlockHouseHolder_MT_FDRB.innerProdCol(int blockLength, FSubmatrixD1 A, int colA, int widthA, int colB, int widthB) Computes the inner product of column vector 'colA' against column vector 'colB' while taking account leading zeros and one.
ret = aT*bstatic floatBlockHouseHolder_FDRB.innerProdRow(int blockLength, FSubmatrixD1 A, int rowA, FSubmatrixD1 B, int rowB, int zeroOffset) Computes the inner product of row vector 'rowA' against row vector 'rowB' while taking account leading zeros and one.
ret = aT*bstatic floatBlockHouseHolder_MT_FDRB.innerProdRow(int blockLength, FSubmatrixD1 A, int rowA, FSubmatrixD1 B, int rowB, int zeroOffset) Computes the inner product of row vector 'rowA' against row vector 'rowB' while taking account leading zeros and one.
ret = aT*bstatic voidBlockHouseHolder_FDRB.multAdd_zeros(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 B, FSubmatrixD1 C) Special multiplication that takes in account the zeros and one in Y, which is the matrix that stores the householder vectors.static voidBlockHouseHolder_MT_FDRB.multAdd_zeros(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 B, FSubmatrixD1 C) Special multiplication that takes in account the zeros and one in Y, which is the matrix that stores the householder vectors.static voidBlockHouseHolder_FDRB.multTransA_vecCol(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) Performs a matrix multiplication on the block aligned submatrices.static voidBlockHouseHolder_MT_FDRB.multTransA_vecCol(int blockLength, FSubmatrixD1 A, FSubmatrixD1 B, FSubmatrixD1 C) Performs a matrix multiplication on the block aligned submatrices.static voidBlockHouseHolder_FDRB.rank1UpdateMultL_LeftCol(int blockLength, FSubmatrixD1 A, int row, float gamma, int zeroOffset) Applies a householder reflector stored in row 'row' to the left column block.static voidBlockHouseHolder_MT_FDRB.rank1UpdateMultL_LeftCol(int blockLength, FSubmatrixD1 A, int row, float gamma, int zeroOffset) Applies a householder reflector stored in row 'row' to the left column block.static voidBlockHouseHolder_FDRB.rank1UpdateMultL_Row(int blockLength, FSubmatrixD1 A, int row, int colStart, float gamma) Applies a householder reflector stored in row 'row' to the remainder of the row in the block after it.static voidBlockHouseHolder_MT_FDRB.rank1UpdateMultL_Row(int blockLength, FSubmatrixD1 A, int row, int colStart, float gamma) Applies a householder reflector stored in row 'row' to the remainder of the row in the block after it.static voidBlockHouseHolder_FDRB.rank1UpdateMultR_Col(int blockLength, FSubmatrixD1 A, int col, float gamma) Applies a householder reflector stored in column 'col' to the remainder of the columns in the block after it.static voidBlockHouseHolder_MT_FDRB.rank1UpdateMultR_Col(int blockLength, FSubmatrixD1 A, int col, float gamma) Applies a householder reflector stored in column 'col' to the remainder of the columns in the block after it.static voidBlockHouseHolder_FDRB.rank1UpdateMultR_TopRow(int blockLength, FSubmatrixD1 A, int col, float gamma) Applies a householder reflector stored in column 'col' to the top block row (excluding the first column) of A.static voidBlockHouseHolder_MT_FDRB.rank1UpdateMultR_TopRow(int blockLength, FSubmatrixD1 A, int col, float gamma) Applies a householder reflector stored in column 'col' to the top block row (excluding the first column) of A.static voidBlockHouseHolder_FDRB.scale_row(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, int row, int zeroOffset, float val) Scales the elements in the specified row starting at element colStart by 'val'.
W = val*Y Takes in account zeros and leading one automatically.static voidBlockHouseHolder_MT_FDRB.scale_row(int blockLength, FSubmatrixD1 Y, FSubmatrixD1 W, int row, int zeroOffset, float val) Scales the elements in the specified row starting at element colStart by 'val'.
W = val*Y Takes in account zeros and leading one automatically.protected voidQRDecompositionHouseholder_FDRB.updateA(FSubmatrixD1 A) A = (I + W YT)TA
A = A + Y (WTA)
where A is a submatrix of the input matrix.protected voidQRDecompositionHouseholder_MT_FDRB.updateA(FSubmatrixD1 A) A = (I + W YT)TA
A = A + Y (WTA)
where A is a submatrix of the input matrix.