Uses of Class
org.ejml.data.DSubmatrixD1
Package
Description
-
Uses of DSubmatrixD1 in org.ejml.dense.block
Modifier and TypeMethodDescriptionstatic void
VectorOps_DDRB.add_row
(int blockLength, DSubmatrixD1 A, int rowA, double alpha, DSubmatrixD1 B, int rowB, double beta, DSubmatrixD1 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 boolean
MatrixOps_DDRB.blockAligned
(int blockLength, DSubmatrixD1 A) Checks to see if the submatrix has its boundaries along inner blocks.static void
VectorOps_DDRB.div_row
(int blockLength, DSubmatrixD1 A, int rowA, double alpha, DSubmatrixD1 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 double
VectorOps_DDRB.dot_row
(int blockLength, DSubmatrixD1 A, int rowA, DSubmatrixD1 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 double
VectorOps_DDRB.dot_row_col
(int blockLength, DSubmatrixD1 A, int rowA, DSubmatrixD1 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 void
TriangularSolver_DDRB.invert
(int blockLength, boolean upper, DSubmatrixD1 T, @Nullable GrowArray<DGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static void
TriangularSolver_DDRB.invert
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 T_inv, @Nullable GrowArray<DGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static void
TriangularSolver_MT_DDRB.invert
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 T_inv, @Nullable GrowArray<DGrowArray> workspace) Inverts an upper or lower triangular block submatrix.static void
MatrixMult_DDRB.mult
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.mult
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multMinus
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multMinus
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multMinusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multMinusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multPlus
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multPlus
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multPlusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multPlusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_DDRB.multTransB
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
MatrixMult_MT_DDRB.multTransB
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) static void
InnerRankUpdate_DDRB.rankNUpdate
(int blockLength, double alpha, DSubmatrixD1 A, DSubmatrixD1 B) Performs:
A = A + α B TBstatic void
InnerRankUpdate_MT_DDRB.rankNUpdate
(int blockLength, double alpha, DSubmatrixD1 A, DSubmatrixD1 B) Performs:
A = A + α B TBstatic void
VectorOps_DDRB.scale_row
(int blockLength, DSubmatrixD1 A, int rowA, double alpha, DSubmatrixD1 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 void
TriangularSolver_DDRB.solve
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 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 void
TriangularSolver_MT_DDRB.solve
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 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 void
TriangularSolver_DDRB.solveBlock
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 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 void
TriangularSolver_MT_DDRB.solveBlock
(int blockLength, boolean upper, DSubmatrixD1 T, DSubmatrixD1 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 void
TriangularSolver_DDRB.solveL
(int blockLength, DSubmatrixD1 L, DSubmatrixD1 B, boolean transL) Solves lower triangular systems:
B = L-1 B
static void
TriangularSolver_MT_DDRB.solveL
(int blockLength, DSubmatrixD1 L, DSubmatrixD1 B, boolean transL) Solves lower triangular systems:
B = L-1 B
static void
TriangularSolver_DDRB.solveR
(int blockLength, DSubmatrixD1 R, DSubmatrixD1 B, boolean transR) Solves upper triangular systems:
B = R-1 B
static void
TriangularSolver_MT_DDRB.solveR
(int blockLength, DSubmatrixD1 R, DSubmatrixD1 B, boolean transR) Solves upper triangular systems:
B = R-1 B
static void
InnerRankUpdate_DDRB.symmRankNMinus_L
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 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 void
InnerRankUpdate_MT_DDRB.symmRankNMinus_L
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 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 void
InnerRankUpdate_DDRB.symmRankNMinus_U
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 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 void
InnerRankUpdate_MT_DDRB.symmRankNMinus_U
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 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 DSubmatrixD1 in org.ejml.dense.block.decomposition.bidiagonal
Modifier and TypeMethodDescriptionstatic boolean
BidiagonalHelper_DDRB.bidiagOuterBlocks
(int blockLength, DSubmatrixD1 A, double[] gammasU, double[] gammasV) Performs a standard bidiagonal decomposition just on the outer blocks of the provided matrix -
Uses of DSubmatrixD1 in org.ejml.dense.block.decomposition.chol
Modifier and TypeMethodDescriptionstatic boolean
InnerCholesky_DDRB.lower
(DSubmatrixD1 T) static boolean
InnerCholesky_DDRB.upper
(DSubmatrixD1 T) -
Uses of DSubmatrixD1 in org.ejml.dense.block.decomposition.hessenberg
Modifier and TypeMethodDescriptionstatic void
TridiagonalHelper_DDRB.applyReflectorsToRow
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 V, int row) Applies the reflectors that have been computed previously to the specified row.static void
TridiagonalHelper_DDRB.computeRowOfV
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 V, int row, double gamma) Final computation for a single row of 'v':
v = y -(1/2)γ(y^T*u)*ustatic void
TridiagonalHelper_DDRB.computeV_blockVector
(int blockLength, DSubmatrixD1 A, double[] gammas, DSubmatrixD1 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 void
TridiagonalHelper_DDRB.computeW_row
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, double[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the row block submatrix Y.static void
TridiagonalHelper_DDRB.computeY
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 V, int row, double gamma) Computes the 'y' vector and stores the result in 'v'
y = -γ(A + U*V^T + V*U^T)ustatic double
TridiagonalHelper_DDRB.innerProdRowSymm
(int blockLength, DSubmatrixD1 A, int rowA, DSubmatrixD1 B, int rowB, int zeroOffset) static void
TridiagonalHelper_DDRB.multA_u
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 V, int row) Multiples the appropriate submatrix of A by the specified reflector and stores the result ('y') in V.
y = A*ustatic void
TridiagonalDecompositionHouseholder_DDRB.multPlusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) C = C + A^T*Bstatic void
TridiagonalDecompositionHouseholder_MT_DDRB.multPlusTransA
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) C = C + A^T*Bstatic void
TridiagonalHelper_DDRB.tridiagUpperRow
(int blockLength, DSubmatrixD1 A, double[] gammas, DSubmatrixD1 V) Performs a tridiagonal decomposition on the upper row only. -
Uses of DSubmatrixD1 in org.ejml.dense.block.decomposition.qr
Modifier and TypeMethodDescriptionstatic void
BlockHouseHolder_DDRB.add_row
(int blockLength, DSubmatrixD1 A, int rowA, double alpha, DSubmatrixD1 B, int rowB, double beta, DSubmatrixD1 C, int rowC, int zeroOffset, int end) static void
BlockHouseHolder_MT_DDRB.add_row
(int blockLength, DSubmatrixD1 A, int rowA, double alpha, DSubmatrixD1 B, int rowB, double beta, DSubmatrixD1 C, int rowC, int zeroOffset, int end) static boolean
BlockHouseHolder_DDRB.computeHouseHolderCol
(int blockLength, DSubmatrixD1 Y, double[] gamma, int i) Computes the householder vector that is used to create reflector for the column.static boolean
BlockHouseHolder_MT_DDRB.computeHouseHolderCol
(int blockLength, DSubmatrixD1 Y, double[] gamma, int i) Computes the householder vector that is used to create reflector for the column.static boolean
BlockHouseHolder_DDRB.computeHouseHolderRow
(int blockLength, DSubmatrixD1 Y, double[] gamma, int i) Computes the householder vector from the specified rowstatic boolean
BlockHouseHolder_MT_DDRB.computeHouseHolderRow
(int blockLength, DSubmatrixD1 Y, double[] gamma, int i) Computes the householder vector from the specified rowstatic double
BlockHouseHolder_DDRB.computeTauAndDivideCol
(int blockLength, DSubmatrixD1 Y, int col, double max) From the specified column of Y tau is computed and each element is divided by 'max'.static double
BlockHouseHolder_MT_DDRB.computeTauAndDivideCol
(int blockLength, DSubmatrixD1 Y, int col, double max) From the specified column of Y tau is computed and each element is divided by 'max'.static double
BlockHouseHolder_DDRB.computeTauAndDivideRow
(int blockLength, DSubmatrixD1 Y, int row, int colStart, double max) From the specified row of Y tau is computed and each element is divided by 'max'.static double
BlockHouseHolder_MT_DDRB.computeTauAndDivideRow
(int blockLength, DSubmatrixD1 Y, int row, int colStart, double max) From the specified row of Y tau is computed and each element is divided by 'max'.static void
BlockHouseHolder_DDRB.computeW_Column
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, @Nullable GrowArray<DGrowArray> workspace, double[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the column block submatrix Y.static void
BlockHouseHolder_MT_DDRB.computeW_Column
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, @Nullable GrowArray<DGrowArray> workspace, double[] beta, int betaIndex) Computes W from the householder reflectors stored in the columns of the column block submatrix Y.static void
BlockHouseHolder_DDRB.computeY_t_V
(int blockLength, DSubmatrixD1 Y, int col, double[] temp) Computes YTv(j).static void
BlockHouseHolder_MT_DDRB.computeY_t_V
(int blockLength, DSubmatrixD1 Y, int col, double[] temp) Computes YTv(j).static void
BlockHouseHolder_DDRB.computeZ
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, int col, double[] temp, double 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_DDRB.computeY_t_V(int, org.ejml.data.DSubmatrixD1, int, double[])
.static void
BlockHouseHolder_MT_DDRB.computeZ
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, int col, double[] temp, double 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_DDRB.computeY_t_V(int, org.ejml.data.DSubmatrixD1, int, double[])
.static boolean
BlockHouseHolder_DDRB.decomposeQR_block_col
(int blockLength, DSubmatrixD1 Y, double[] gamma) Performs a standard QR decomposition on the specified submatrix that is one block wide.static boolean
BlockHouseHolder_MT_DDRB.decomposeQR_block_col
(int blockLength, DSubmatrixD1 Y, double[] gamma) Performs a standard QR decomposition on the specified submatrix that is one block wide.static void
BlockHouseHolder_DDRB.divideElementsCol
(int blockLength, DSubmatrixD1 Y, int col, double val) Divides the elements at the specified column by 'val'.static void
BlockHouseHolder_MT_DDRB.divideElementsCol
(int blockLength, DSubmatrixD1 Y, int col, double val) Divides the elements at the specified column by 'val'.static double
BlockHouseHolder_DDRB.findMaxCol
(int blockLength, DSubmatrixD1 Y, int col) Finds the element in the column with the largest absolute value.static double
BlockHouseHolder_MT_DDRB.findMaxCol
(int blockLength, DSubmatrixD1 Y, int col) Finds the element in the column with the largest absolute value.static double
BlockHouseHolder_DDRB.findMaxRow
(int blockLength, DSubmatrixD1 Y, int row, int colStart) Finds the element in the column with the largest absolute value.static double
BlockHouseHolder_MT_DDRB.findMaxRow
(int blockLength, DSubmatrixD1 Y, int row, int colStart) Finds the element in the column with the largest absolute value.static void
BlockHouseHolder_DDRB.initializeW
(int blockLength, DSubmatrixD1 W, DSubmatrixD1 Y, int widthB, double 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 void
BlockHouseHolder_MT_DDRB.initializeW
(int blockLength, DSubmatrixD1 W, DSubmatrixD1 Y, int widthB, double 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 double
BlockHouseHolder_DDRB.innerProdCol
(int blockLength, DSubmatrixD1 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 double
BlockHouseHolder_MT_DDRB.innerProdCol
(int blockLength, DSubmatrixD1 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 double
BlockHouseHolder_DDRB.innerProdRow
(int blockLength, DSubmatrixD1 A, int rowA, DSubmatrixD1 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 double
BlockHouseHolder_MT_DDRB.innerProdRow
(int blockLength, DSubmatrixD1 A, int rowA, DSubmatrixD1 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 void
BlockHouseHolder_DDRB.multAdd_zeros
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 B, DSubmatrixD1 C) Special multiplication that takes in account the zeros and one in Y, which is the matrix that stores the householder vectors.static void
BlockHouseHolder_MT_DDRB.multAdd_zeros
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 B, DSubmatrixD1 C) Special multiplication that takes in account the zeros and one in Y, which is the matrix that stores the householder vectors.static void
BlockHouseHolder_DDRB.multTransA_vecCol
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) Performs a matrix multiplication on the block aligned submatrices.static void
BlockHouseHolder_MT_DDRB.multTransA_vecCol
(int blockLength, DSubmatrixD1 A, DSubmatrixD1 B, DSubmatrixD1 C) Performs a matrix multiplication on the block aligned submatrices.static void
BlockHouseHolder_DDRB.rank1UpdateMultL_LeftCol
(int blockLength, DSubmatrixD1 A, int row, double gamma, int zeroOffset) Applies a householder reflector stored in row 'row' to the left column block.static void
BlockHouseHolder_MT_DDRB.rank1UpdateMultL_LeftCol
(int blockLength, DSubmatrixD1 A, int row, double gamma, int zeroOffset) Applies a householder reflector stored in row 'row' to the left column block.static void
BlockHouseHolder_DDRB.rank1UpdateMultL_Row
(int blockLength, DSubmatrixD1 A, int row, int colStart, double gamma) Applies a householder reflector stored in row 'row' to the remainder of the row in the block after it.static void
BlockHouseHolder_MT_DDRB.rank1UpdateMultL_Row
(int blockLength, DSubmatrixD1 A, int row, int colStart, double gamma) Applies a householder reflector stored in row 'row' to the remainder of the row in the block after it.static void
BlockHouseHolder_DDRB.rank1UpdateMultR_Col
(int blockLength, DSubmatrixD1 A, int col, double gamma) Applies a householder reflector stored in column 'col' to the remainder of the columns in the block after it.static void
BlockHouseHolder_MT_DDRB.rank1UpdateMultR_Col
(int blockLength, DSubmatrixD1 A, int col, double gamma) Applies a householder reflector stored in column 'col' to the remainder of the columns in the block after it.static void
BlockHouseHolder_DDRB.rank1UpdateMultR_TopRow
(int blockLength, DSubmatrixD1 A, int col, double gamma) Applies a householder reflector stored in column 'col' to the top block row (excluding the first column) of A.static void
BlockHouseHolder_MT_DDRB.rank1UpdateMultR_TopRow
(int blockLength, DSubmatrixD1 A, int col, double gamma) Applies a householder reflector stored in column 'col' to the top block row (excluding the first column) of A.static void
BlockHouseHolder_DDRB.scale_row
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, int row, int zeroOffset, double 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 void
BlockHouseHolder_MT_DDRB.scale_row
(int blockLength, DSubmatrixD1 Y, DSubmatrixD1 W, int row, int zeroOffset, double 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 void
QRDecompositionHouseholder_DDRB.updateA
(DSubmatrixD1 A) A = (I + W YT)TA
A = A + Y (WTA)
where A is a submatrix of the input matrix.protected void
QRDecompositionHouseholder_MT_DDRB.updateA
(DSubmatrixD1 A) A = (I + W YT)TA
A = A + Y (WTA)
where A is a submatrix of the input matrix.